UNPKG

react-live-chat-loader

Version:

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

132 lines 18.3 kB
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(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; } import React from 'react'; import useChat from "../../hooks/useChat"; import { ClassNames } from "../../types"; var styles = { wrapper: { fontFamily: 'intercom-font, "Helvetica Neue", "Apple Color Emoji", Helvetica, Arial, sans-serif', color: 'white', fontSize: '16px', lineHeight: 1.5, WebkitTextSizeAdjust: '100%', WebkitFontSmoothing: 'antialiased' }, launcher: { position: 'fixed', // z-index is 1 more than Intercom's actual launcher as when the real widget loads // it might not initially reflect the fake icon's current state (open/closed) zIndex: 2147483004, padding: '0 !important', margin: '0 !important', border: 'none', bottom: '20px', right: '20px', maxWidth: '48px', width: '48px', maxHeight: '48px', height: '48px', borderRadius: '50%', cursor: 'pointer', boxShadow: '0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16)', transition: 'transform 167ms cubic-bezier(0.33, 0.00, 0.00, 1.00)', boxSizing: 'content-box' }, icon: { display: 'flex', alignItems: 'center', justifyContent: 'center', position: 'absolute', top: '0', left: '0', width: '48px', height: '48px', transition: 'transform 100ms linear, opacity 80ms linear' }, logo: { transform: 'rotate(0deg) scale(1)' }, close: { transform: 'rotate(-60deg) scale(0)' } }; var Intercom = function Intercom(_ref) { var _ref$color = _ref.color, color = _ref$color === void 0 ? '#333333' : _ref$color, Icon = _ref.icon, _ref$containerClass = _ref.containerClass, containerClass = _ref$containerClass === void 0 ? ClassNames.container : _ref$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: _objectSpread({}, styles.wrapper) }, /*#__PURE__*/React.createElement("div", { 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 }); }, style: _objectSpread(_objectSpread({}, styles.launcher), {}, { background: color }) }, /*#__PURE__*/React.createElement("div", { style: _objectSpread(_objectSpread(_objectSpread({}, styles.icon), styles.logo), {}, { opacity: state === 'initial' ? 1 : 0 }) }, Icon || /*#__PURE__*/React.createElement("svg", { height: "24px", width: "24px", focusable: "false", "aria-hidden": "true", viewBox: "0 0 28 32" }, /*#__PURE__*/React.createElement("path", { fill: "white", d: "M28 32s-4.714-1.855-8.527-3.34H3.437C1.54 28.66 0 27.026 0 25.013V3.644C0 1.633 1.54 0 3.437 0h21.125c1.898 0 3.437 1.632 3.437 3.645v18.404H28V32zm-4.139-11.982a.88.88 0 00-1.292-.105c-.03.026-3.015 2.681-8.57 2.681-5.486 0-8.517-2.636-8.571-2.684a.88.88 0 00-1.29.107 1.01 1.01 0 00-.219.708.992.992 0 00.318.664c.142.128 3.537 3.15 9.762 3.15 6.226 0 9.621-3.022 9.763-3.15a.992.992 0 00.317-.664 1.01 1.01 0 00-.218-.707z" }))), /*#__PURE__*/React.createElement("div", { style: _objectSpread(_objectSpread(_objectSpread({}, styles.icon), styles.close), {}, { opacity: state === 'initial' ? 0 : 1, transform: state === 'initial' ? 'rotate(-30deg)' : 'rotate(0deg)' }) }, /*#__PURE__*/React.createElement("svg", { focusable: "false", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M18.601 8.39897C18.269 8.06702 17.7309 8.06702 17.3989 8.39897L12 13.7979L6.60099 8.39897C6.26904 8.06702 5.73086 8.06702 5.39891 8.39897C5.06696 8.73091 5.06696 9.2691 5.39891 9.60105L11.3989 15.601C11.7309 15.933 12.269 15.933 12.601 15.601L18.601 9.60105C18.9329 9.2691 18.9329 8.73091 18.601 8.39897Z", fill: "white" }))))); }; export default Intercom; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNoYXQiLCJDbGFzc05hbWVzIiwic3R5bGVzIiwid3JhcHBlciIsImZvbnRGYW1pbHkiLCJjb2xvciIsImZvbnRTaXplIiwibGluZUhlaWdodCIsIldlYmtpdFRleHRTaXplQWRqdXN0IiwiV2Via2l0Rm9udFNtb290aGluZyIsImxhdW5jaGVyIiwicG9zaXRpb24iLCJ6SW5kZXgiLCJwYWRkaW5nIiwibWFyZ2luIiwiYm9yZGVyIiwiYm90dG9tIiwicmlnaHQiLCJtYXhXaWR0aCIsIndpZHRoIiwibWF4SGVpZ2h0IiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiY3Vyc29yIiwiYm94U2hhZG93IiwidHJhbnNpdGlvbiIsImJveFNpemluZyIsImljb24iLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwidG9wIiwibGVmdCIsImxvZ28iLCJ0cmFuc2Zvcm0iLCJjbG9zZSIsIkludGVyY29tIiwiX3JlZiIsIl9yZWYkY29sb3IiLCJJY29uIiwiX3JlZiRjb250YWluZXJDbGFzcyIsImNvbnRhaW5lckNsYXNzIiwiY29udGFpbmVyIiwiX3VzZUNoYXQiLCJsb2FkV2hlbklkbGUiLCJfdXNlQ2hhdDIiLCJfc2xpY2VkVG9BcnJheSIsInN0YXRlIiwibG9hZENoYXQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJfb2JqZWN0U3ByZWFkIiwicm9sZSIsIm9uQ2xpY2siLCJvcGVuIiwib25Nb3VzZUVudGVyIiwiYmFja2dyb3VuZCIsIm9wYWNpdHkiLCJmb2N1c2FibGUiLCJ2aWV3Qm94IiwiZmlsbCIsImQiLCJ4bWxucyIsImZpbGxSdWxlIiwiY2xpcFJ1bGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9JbnRlcmNvbS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFJlYWN0RWxlbWVudCwgQ1NTUHJvcGVydGllcyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdXNlQ2hhdCBmcm9tICcuLi8uLi9ob29rcy91c2VDaGF0J1xuaW1wb3J0IHsgUHJvdmlkZXJQcm9wcywgQ2xhc3NOYW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5jb25zdCBzdHlsZXM6IHtcbiAgd3JhcHBlcjogQ1NTUHJvcGVydGllc1xuICBsYXVuY2hlcjogQ1NTUHJvcGVydGllc1xuICBpY29uOiBDU1NQcm9wZXJ0aWVzXG4gIGxvZ286IENTU1Byb3BlcnRpZXNcbiAgY2xvc2U6IENTU1Byb3BlcnRpZXNcbn0gPSB7XG4gIHdyYXBwZXI6IHtcbiAgICBmb250RmFtaWx5OlxuICAgICAgJ2ludGVyY29tLWZvbnQsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmJyxcbiAgICBjb2xvcjogJ3doaXRlJyxcbiAgICBmb250U2l6ZTogJzE2cHgnLFxuICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICBXZWJraXRUZXh0U2l6ZUFkanVzdDogJzEwMCUnLFxuICAgIFdlYmtpdEZvbnRTbW9vdGhpbmc6ICdhbnRpYWxpYXNlZCdcbiAgfSxcbiAgbGF1bmNoZXI6IHtcbiAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAvLyB6LWluZGV4IGlzIDEgbW9yZSB0aGFuIEludGVyY29tJ3MgYWN0dWFsIGxhdW5jaGVyIGFzIHdoZW4gdGhlIHJlYWwgd2lkZ2V0IGxvYWRzXG4gICAgLy8gaXQgbWlnaHQgbm90IGluaXRpYWxseSByZWZsZWN0IHRoZSBmYWtlIGljb24ncyBjdXJyZW50IHN0YXRlIChvcGVuL2Nsb3NlZClcbiAgICB6SW5kZXg6IDIxNDc0ODMwMDQsXG4gICAgcGFkZGluZzogJzAgIWltcG9ydGFudCcsXG4gICAgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyxcbiAgICBib3JkZXI6ICdub25lJyxcbiAgICBib3R0b206ICcyMHB4JyxcbiAgICByaWdodDogJzIwcHgnLFxuICAgIG1heFdpZHRoOiAnNDhweCcsXG4gICAgd2lkdGg6ICc0OHB4JyxcbiAgICBtYXhIZWlnaHQ6ICc0OHB4JyxcbiAgICBoZWlnaHQ6ICc0OHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIGJveFNoYWRvdzpcbiAgICAgICcwIDFweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpLCAwIDJweCAzMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KScsXG4gICAgdHJhbnNpdGlvbjogJ3RyYW5zZm9ybSAxNjdtcyBjdWJpYy1iZXppZXIoMC4zMywgMC4wMCwgMC4wMCwgMS4wMCknLFxuICAgIGJveFNpemluZzogJ2NvbnRlbnQtYm94J1xuICB9LFxuICBpY29uOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6ICcwJyxcbiAgICBsZWZ0OiAnMCcsXG4gICAgd2lkdGg6ICc0OHB4JyxcbiAgICBoZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDEwMG1zIGxpbmVhciwgb3BhY2l0eSA4MG1zIGxpbmVhcidcbiAgfSxcbiAgbG9nbzoge1xuICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKSBzY2FsZSgxKSdcbiAgfSxcbiAgY2xvc2U6IHtcbiAgICB0cmFuc2Zvcm06ICdyb3RhdGUoLTYwZGVnKSBzY2FsZSgwKSdcbiAgfVxufVxuXG5pbnRlcmZhY2UgUHJvcHMgZXh0ZW5kcyBQcm92aWRlclByb3BzIHtcbiAgY29sb3I/OiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0RWxlbWVudFxufVxuXG5jb25zdCBJbnRlcmNvbSA9ICh7XG4gIGNvbG9yID0gJyMzMzMzMzMnLFxuICBpY29uOiBJY29uLFxuICBjb250YWluZXJDbGFzcyA9IENsYXNzTmFtZXMuY29udGFpbmVyXG59OiBQcm9wcyk6IEpTWC5FbGVtZW50IHwgbnVsbCA9PiB7XG4gIGNvbnN0IFtzdGF0ZSwgbG9hZENoYXRdID0gdXNlQ2hhdCh7IGxvYWRXaGVuSWRsZTogdHJ1ZSB9KVxuXG4gIGlmIChzdGF0ZSA9PT0gJ2NvbXBsZXRlJykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y29udGFpbmVyQ2xhc3N9XG4gICAgICBzdHlsZT17e1xuICAgICAgICAuLi5zdHlsZXMud3JhcHBlclxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICBhcmlhLWxhYmVsPVwiTG9hZCBDaGF0XCJcbiAgICAgICAgYXJpYS1idXN5PVwidHJ1ZVwiXG4gICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGxvYWRDaGF0KHsgb3BlbjogdHJ1ZSB9KX1cbiAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBsb2FkQ2hhdCh7IG9wZW46IGZhbHNlIH0pfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIC4uLnN0eWxlcy5sYXVuY2hlcixcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvclxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIC4uLnN0eWxlcy5pY29uLFxuICAgICAgICAgICAgLi4uc3R5bGVzLmxvZ28sXG4gICAgICAgICAgICBvcGFjaXR5OiBzdGF0ZSA9PT0gJ2luaXRpYWwnID8gMSA6IDBcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge1xuICAgICAgICAgICAgSWNvbiB8fFxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICBoZWlnaHQ9XCIyNHB4XCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIyNHB4XCJcbiAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI4IDMyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgIGQ9XCJNMjggMzJzLTQuNzE0LTEuODU1LTguNTI3LTMuMzRIMy40MzdDMS41NCAyOC42NiAwIDI3LjAyNiAwIDI1LjAxM1YzLjY0NEMwIDEuNjMzIDEuNTQgMCAzLjQzNyAwaDIxLjEyNWMxLjg5OCAwIDMuNDM3IDEuNjMyIDMuNDM3IDMuNjQ1djE4LjQwNEgyOFYzMnptLTQuMTM5LTExLjk4MmEuODguODggMCAwMC0xLjI5Mi0uMTA1Yy0uMDMuMDI2LTMuMDE1IDIuNjgxLTguNTcgMi42ODEtNS40ODYgMC04LjUxNy0yLjYzNi04LjU3MS0yLjY4NGEuODguODggMCAwMC0xLjI5LjEwNyAxLjAxIDEuMDEgMCAwMC0uMjE5LjcwOC45OTIuOTkyIDAgMDAuMzE4LjY2NGMuMTQyLjEyOCAzLjUzNyAzLjE1IDkuNzYyIDMuMTUgNi4yMjYgMCA5LjYyMS0zLjAyMiA5Ljc2My0zLjE1YS45OTIuOTkyIDAgMDAuMzE3LS42NjQgMS4wMSAxLjAxIDAgMDAtLjIxOC0uNzA3elwiXG4gICAgICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIC4uLnN0eWxlcy5pY29uLFxuICAgICAgICAgICAgLi4uc3R5bGVzLmNsb3NlLFxuICAgICAgICAgICAgb3BhY2l0eTogc3RhdGUgPT09ICdpbml0aWFsJyA/IDAgOiAxLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzdGF0ZSA9PT0gJ2luaXRpYWwnID8gJ3JvdGF0ZSgtMzBkZWcpJyA6ICdyb3RhdGUoMGRlZyknXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBkPVwiTTE4LjYwMSA4LjM5ODk3QzE4LjI2OSA4LjA2NzAyIDE3LjczMDkgOC4wNjcwMiAxNy4zOTg5IDguMzk4OTdMMTIgMTMuNzk3OUw2LjYwMDk5IDguMzk4OTdDNi4yNjkwNCA4LjA2NzAyIDUuNzMwODYgOC4wNjcwMiA1LjM5ODkxIDguMzk4OTdDNS4wNjY5NiA4LjczMDkxIDUuMDY2OTYgOS4yNjkxIDUuMzk4OTEgOS42MDEwNUwxMS4zOTg5IDE1LjYwMUMxMS43MzA5IDE1LjkzMyAxMi4yNjkgMTUuOTMzIDEyLjYwMSAxNS42MDFMMTguNjAxIDkuNjAxMDVDMTguOTMyOSA5LjI2OTEgMTguOTMyOSA4LjczMDkxIDE4LjYwMSA4LjM5ODk3WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEludGVyY29tXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssTUFBdUMsT0FBTztBQUUxRCxPQUFPQyxPQUFPO0FBQ2QsU0FBd0JDLFVBQVU7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