UNPKG

react-live-chat-loader

Version:

Implement live chat in your react app without taking a performance hit.

121 lines 16.7 kB
var _excluded = ["color", "containerClass"]; function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } import React, { memo } from 'react'; import useProvider from "../../hooks/useProvider"; import useChat from "../../hooks/useChat"; import { ClassNames } from "../../types"; var styles = { appearance: 'none', background: 'none', borderRadius: '50%', bottom: '18pt', display: 'inline', height: '45pt', padding: '0px', position: 'fixed', right: '18pt', top: 'auto', width: '45pt', zIndex: 2147483647, // 1 more than the actual widget overflow: 'hidden', boxShadow: '0 3px 12px rgba(0, 0, 0, .15)', transition: 'box-shadow 150ms linear', cursor: 'pointer', outline: 'none', userSelect: 'none' }; // eslint-disable-next-line react/display-name var CustomerChat = /*#__PURE__*/memo(function (_ref) { var providerKey = _ref.providerKey, color = _ref.color, loggedInGreeting = _ref.loggedInGreeting, loggedOutGreeting = _ref.loggedOutGreeting, greetingDialogDisplay = _ref.greetingDialogDisplay, greetingDialogDelay = _ref.greetingDialogDelay; var fields = { page_id: providerKey, theme_color: color, logged_in_greeting: loggedInGreeting, logged_out_greeting: loggedOutGreeting, greeting_dialog_display: greetingDialogDisplay, greeting_dialog_delay: greetingDialogDelay }; return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", _extends({ className: "fb-customerchat" }, fields))); }); var Widget = function Widget(_ref2) { var color = _ref2.color, containerClass = _ref2.containerClass; var _useChat = useChat({ loadWhenIdle: true }), _useChat2 = _slicedToArray(_useChat, 2), state = _useChat2[0], loadChat = _useChat2[1]; if (state === 'complete') { return null; } return /*#__PURE__*/React.createElement("div", { className: containerClass, style: styles, role: "button", "aria-label": "Load Chat", "aria-busy": "true", "aria-live": "polite", onClick: function onClick() { return loadChat({ open: true }); }, onMouseEnter: function onMouseEnter() { return loadChat({ open: false }); } }, /*#__PURE__*/React.createElement("div", { style: { width: '60px', height: '60px', backgroundColor: color ? color : '#0A7CFF', display: 'flex', justifyContent: 'center', alignItems: 'center', borderRadius: '60px' } }, /*#__PURE__*/React.createElement("svg", { width: "36", height: "36", viewBox: "0 0 36 36" }, /*#__PURE__*/React.createElement("path", { fill: "white", d: "M1 17.99C1 8.51488 8.42339 1.5 18 1.5C27.5766 1.5 35 8.51488 35 17.99C35 27.4651 27.5766 34.48 18 34.48C16.2799 34.48 14.6296 34.2528 13.079 33.8264C12.7776 33.7435 12.4571 33.767 12.171 33.8933L8.79679 35.3828C7.91415 35.7724 6.91779 35.1446 6.88821 34.1803L6.79564 31.156C6.78425 30.7836 6.61663 30.4352 6.33893 30.1868C3.03116 27.2287 1 22.9461 1 17.99ZM12.7854 14.8897L7.79161 22.8124C7.31238 23.5727 8.24695 24.4295 8.96291 23.8862L14.327 19.8152C14.6899 19.5398 15.1913 19.5384 15.5557 19.8116L19.5276 22.7905C20.7193 23.6845 22.4204 23.3706 23.2148 22.1103L28.2085 14.1875C28.6877 13.4272 27.7531 12.5704 27.0371 13.1137L21.673 17.1847C21.3102 17.4601 20.8088 17.4616 20.4444 17.1882L16.4726 14.2094C15.2807 13.3155 13.5797 13.6293 12.7854 14.8897Z" })))); }; var Messenger = function Messenger(_ref3) { var _ref3$color = _ref3.color, color = _ref3$color === void 0 ? '' : _ref3$color, _ref3$containerClass = _ref3.containerClass, containerClass = _ref3$containerClass === void 0 ? ClassNames.container : _ref3$containerClass, props = _objectWithoutProperties(_ref3, _excluded); var _useProvider = useProvider(), providerKey = _useProvider.providerKey; return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomerChat, _extends({ color: color, providerKey: providerKey }, props)), /*#__PURE__*/React.createElement(Widget, { color: color, containerClass: containerClass })); }; export default Messenger; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIm1lbW8iLCJ1c2VQcm92aWRlciIsInVzZUNoYXQiLCJDbGFzc05hbWVzIiwic3R5bGVzIiwiYXBwZWFyYW5jZSIsImJhY2tncm91bmQiLCJib3JkZXJSYWRpdXMiLCJib3R0b20iLCJkaXNwbGF5IiwiaGVpZ2h0IiwicGFkZGluZyIsInBvc2l0aW9uIiwicmlnaHQiLCJ0b3AiLCJ3aWR0aCIsInpJbmRleCIsIm92ZXJmbG93IiwiYm94U2hhZG93IiwidHJhbnNpdGlvbiIsImN1cnNvciIsIm91dGxpbmUiLCJ1c2VyU2VsZWN0IiwiQ3VzdG9tZXJDaGF0IiwiX3JlZiIsInByb3ZpZGVyS2V5IiwiY29sb3IiLCJsb2dnZWRJbkdyZWV0aW5nIiwibG9nZ2VkT3V0R3JlZXRpbmciLCJncmVldGluZ0RpYWxvZ0Rpc3BsYXkiLCJncmVldGluZ0RpYWxvZ0RlbGF5IiwiZmllbGRzIiwicGFnZV9pZCIsInRoZW1lX2NvbG9yIiwibG9nZ2VkX2luX2dyZWV0aW5nIiwibG9nZ2VkX291dF9ncmVldGluZyIsImdyZWV0aW5nX2RpYWxvZ19kaXNwbGF5IiwiZ3JlZXRpbmdfZGlhbG9nX2RlbGF5IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiY2xhc3NOYW1lIiwiV2lkZ2V0IiwiX3JlZjIiLCJjb250YWluZXJDbGFzcyIsIl91c2VDaGF0IiwibG9hZFdoZW5JZGxlIiwiX3VzZUNoYXQyIiwiX3NsaWNlZFRvQXJyYXkiLCJzdGF0ZSIsImxvYWRDaGF0Iiwic3R5bGUiLCJyb2xlIiwib25DbGljayIsIm9wZW4iLCJvbk1vdXNlRW50ZXIiLCJiYWNrZ3JvdW5kQ29sb3IiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJ2aWV3Qm94IiwiZmlsbCIsImQiLCJNZXNzZW5nZXIiLCJfcmVmMyIsIl9yZWYzJGNvbG9yIiwiX3JlZjMkY29udGFpbmVyQ2xhc3MiLCJjb250YWluZXIiLCJwcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIl91c2VQcm92aWRlciIsIkZyYWdtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTWVzc2VuZ2VyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgbWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdXNlUHJvdmlkZXIgZnJvbSAnLi4vLi4vaG9va3MvdXNlUHJvdmlkZXInXG5pbXBvcnQgdXNlQ2hhdCBmcm9tICcuLi8uLi9ob29rcy91c2VDaGF0J1xuaW1wb3J0IHsgUHJvdmlkZXJQcm9wcywgQ2xhc3NOYW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5jb25zdCBzdHlsZXM6IENTU1Byb3BlcnRpZXMgPSB7XG4gIGFwcGVhcmFuY2U6ICdub25lJyxcbiAgYmFja2dyb3VuZDogJ25vbmUnLFxuICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICBib3R0b206ICcxOHB0JyxcbiAgZGlzcGxheTogJ2lubGluZScsXG4gIGhlaWdodDogJzQ1cHQnLFxuICBwYWRkaW5nOiAnMHB4JyxcbiAgcG9zaXRpb246ICdmaXhlZCcsXG4gIHJpZ2h0OiAnMThwdCcsXG4gIHRvcDogJ2F1dG8nLFxuICB3aWR0aDogJzQ1cHQnLFxuICB6SW5kZXg6IDIxNDc0ODM2NDcsIC8vIDEgbW9yZSB0aGFuIHRoZSBhY3R1YWwgd2lkZ2V0XG4gIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgYm94U2hhZG93OiAnMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIC4xNSknLFxuICB0cmFuc2l0aW9uOiAnYm94LXNoYWRvdyAxNTBtcyBsaW5lYXInLFxuICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgb3V0bGluZTogJ25vbmUnLFxuICB1c2VyU2VsZWN0OiAnbm9uZSdcbn1cblxuaW50ZXJmYWNlIFByb3BzIGV4dGVuZHMgUHJvdmlkZXJQcm9wcyB7XG4gIHRoZW1lQ29sb3I/OiBzdHJpbmdcbiAgbG9nZ2VkSW5HcmVldGluZz86IHN0cmluZ1xuICBsb2dnZWRPdXRHcmVldGluZz86IHN0cmluZ1xuICBzaG93Pzogc3RyaW5nXG4gIGhpZGU/OiBzdHJpbmdcbiAgZmFkZT86IHN0cmluZ1xuICBncmVldGluZ0RpYWxvZ0RlbGF5Pzogc3RyaW5nXG4gIGdyZWV0aW5nRGlhbG9nRGlzcGxheT86IHN0cmluZ1xuICBjb2xvcj86IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByb3BzIGV4dGVuZHMgUHJvcHMge1xuICBwcm92aWRlcktleTogc3RyaW5nXG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9kaXNwbGF5LW5hbWVcbmNvbnN0IEN1c3RvbWVyQ2hhdCA9IG1lbW8oXG4gICh7XG4gICAgcHJvdmlkZXJLZXksXG4gICAgY29sb3IsXG4gICAgbG9nZ2VkSW5HcmVldGluZyxcbiAgICBsb2dnZWRPdXRHcmVldGluZyxcbiAgICBncmVldGluZ0RpYWxvZ0Rpc3BsYXksXG4gICAgZ3JlZXRpbmdEaWFsb2dEZWxheVxuICB9OiBDaGF0UHJvcHMpID0+IHtcbiAgICBjb25zdCBmaWVsZHMgPSB7XG4gICAgICBwYWdlX2lkOiBwcm92aWRlcktleSxcbiAgICAgIHRoZW1lX2NvbG9yOiBjb2xvcixcbiAgICAgIGxvZ2dlZF9pbl9ncmVldGluZzogbG9nZ2VkSW5HcmVldGluZyxcbiAgICAgIGxvZ2dlZF9vdXRfZ3JlZXRpbmc6IGxvZ2dlZE91dEdyZWV0aW5nLFxuICAgICAgZ3JlZXRpbmdfZGlhbG9nX2Rpc3BsYXk6IGdyZWV0aW5nRGlhbG9nRGlzcGxheSxcbiAgICAgIGdyZWV0aW5nX2RpYWxvZ19kZWxheTogZ3JlZXRpbmdEaWFsb2dEZWxheVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZiLWN1c3RvbWVyY2hhdFwiIHsuLi5maWVsZHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cbilcblxuY29uc3QgV2lkZ2V0ID0gKHtcbiAgY29sb3IsXG4gIGNvbnRhaW5lckNsYXNzXG59OiB7XG4gIGNvbG9yOiBzdHJpbmdcbiAgY29udGFpbmVyQ2xhc3M6IHN0cmluZ1xufSk6IEpTWC5FbGVtZW50IHwgbnVsbCA9PiB7XG4gIGNvbnN0IFtzdGF0ZSwgbG9hZENoYXRdID0gdXNlQ2hhdCh7IGxvYWRXaGVuSWRsZTogdHJ1ZSB9KVxuXG4gIGlmIChzdGF0ZSA9PT0gJ2NvbXBsZXRlJykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y29udGFpbmVyQ2xhc3N9XG4gICAgICBzdHlsZT17c3R5bGVzfVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICBhcmlhLWxhYmVsPVwiTG9hZCBDaGF0XCJcbiAgICAgIGFyaWEtYnVzeT1cInRydWVcIlxuICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgIG9uQ2xpY2s9eygpID0+IGxvYWRDaGF0KHsgb3BlbjogdHJ1ZSB9KX1cbiAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gbG9hZENoYXQoeyBvcGVuOiBmYWxzZSB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgd2lkdGg6ICc2MHB4JyxcbiAgICAgICAgICBoZWlnaHQ6ICc2MHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yID8gY29sb3IgOiAnIzBBN0NGRicsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICc2MHB4J1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgICAgIGQ9XCJNMSAxNy45OUMxIDguNTE0ODggOC40MjMzOSAxLjUgMTggMS41QzI3LjU3NjYgMS41IDM1IDguNTE0ODggMzUgMTcuOTlDMzUgMjcuNDY1MSAyNy41NzY2IDM0LjQ4IDE4IDM0LjQ4QzE2LjI3OTkgMzQuNDggMTQuNjI5NiAzNC4yNTI4IDEzLjA3OSAzMy44MjY0QzEyLjc3NzYgMzMuNzQzNSAxMi40NTcxIDMzLjc2NyAxMi4xNzEgMzMuODkzM0w4Ljc5Njc5IDM1LjM4MjhDNy45MTQxNSAzNS43NzI0IDYuOTE3NzkgMzUuMTQ0NiA2Ljg4ODIxIDM0LjE4MDNMNi43OTU2NCAzMS4xNTZDNi43ODQyNSAzMC43ODM2IDYuNjE2NjMgMzAuNDM1MiA2LjMzODkzIDMwLjE4NjhDMy4wMzExNiAyNy4yMjg3IDEgMjIuOTQ2MSAxIDE3Ljk5Wk0xMi43ODU0IDE0Ljg4OTdMNy43OTE2MSAyMi44MTI0QzcuMzEyMzggMjMuNTcyNyA4LjI0Njk1IDI0LjQyOTUgOC45NjI5MSAyMy44ODYyTDE0LjMyNyAxOS44MTUyQzE0LjY4OTkgMTkuNTM5OCAxNS4xOTEzIDE5LjUzODQgMTUuNTU1NyAxOS44MTE2TDE5LjUyNzYgMjIuNzkwNUMyMC43MTkzIDIzLjY4NDUgMjIuNDIwNCAyMy4zNzA2IDIzLjIxNDggMjIuMTEwM0wyOC4yMDg1IDE0LjE4NzVDMjguNjg3NyAxMy40MjcyIDI3Ljc1MzEgMTIuNTcwNCAyNy4wMzcxIDEzLjExMzdMMjEuNjczIDE3LjE4NDdDMjEuMzEwMiAxNy40NjAxIDIwLjgwODggMTcuNDYxNiAyMC40NDQ0IDE3LjE4ODJMMTYuNDcyNiAxNC4yMDk0QzE1LjI4MDcgMTMuMzE1NSAxMy41Nzk3IDEzLjYyOTMgMTIuNzg1NCAxNC44ODk3WlwiXG4gICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5jb25zdCBNZXNzZW5nZXIgPSAoe1xuICBjb2xvciA9ICcnLFxuICBjb250YWluZXJDbGFzcyA9IENsYXNzTmFtZXMuY29udGFpbmVyLFxuICAuLi5wcm9wc1xufTogUHJvcHMpOiBKU1guRWxlbWVudCA9PiB7XG4gIGNvbnN0IHsgcHJvdmlkZXJLZXkgfSA9IHVzZVByb3ZpZGVyKClcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Q3VzdG9tZXJDaGF0IGNvbG9yPXtjb2xvcn0gcHJvdmlkZXJLZXk9e3Byb3ZpZGVyS2V5fSB7Li4ucHJvcHN9IC8+XG4gICAgICA8V2lkZ2V0IGNvbG9yPXtjb2xvcn0gY29udGFpbmVyQ2xhc3M9e2NvbnRhaW5lckNsYXNzfSAvPlxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IE1lc3NlbmdlclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFtQkMsSUFBSSxRQUFRLE9BQU87QUFFbEQsT0FBT0MsV0FBVztBQUNsQixPQUFPQyxPQUFPO0FBQ2QsU0FBd0JDLFVBQVU7QUFFbEMsSUFBTUMsTUFBcUIsR0FBRztFQUM1QkMsVUFBVSxFQUFFLE1BQU07RUFDbEJDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCQyxZQUFZLEVBQUUsS0FBSztFQUNuQkMsTUFBTSxFQUFFLE1BQU07RUFDZEMsT0FBTyxFQUFFLFFBQVE7RUFDakJDLE1BQU0sRUFBRSxNQUFNO0VBQ2RDLE9BQU8sRUFBRSxLQUFLO0VBQ2RDLFFBQVEsRUFBRSxPQUFPO0VBQ2pCQyxLQUFLLEVBQUUsTUFBTTtFQUNiQyxHQUFHLEVBQUUsTUFBTTtFQUNYQyxLQUFLLEVBQUUsTUFBTTtFQUNiQyxNQUFNLEVBQUUsVUFBVTtFQUFFO0VBQ3BCQyxRQUFRLEVBQUUsUUFBUTtFQUNsQkMsU0FBUyxFQUFFLCtCQUErQjtFQUMxQ0MsVUFBVSxFQUFFLHlCQUF5QjtFQUNyQ0MsTUFBTSxFQUFFLFNBQVM7RUFDakJDLE9BQU8sRUFBRSxNQUFNO0VBQ2ZDLFVBQVUsRUFBRTtBQUNkLENBQUM7QUFrQkQ7QUFDQSxJQUFNQyxZQUFZLGdCQUFHdkIsSUFBSSxD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