UNPKG

tb-react-live-chat-loader

Version:

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

67 lines (57 loc) 7.59 kB
import waitForLoad from "../utils/waitForLoad"; const domain = 'https://app.chatwoot.com'; /* eslint-disable */ const loadScript = (onload, baseUrl) => { if (window.$chatwoot) return false; (function (d, t) { var _fisrtScript$parentNo; var script = d.createElement('script'); var fisrtScript = d.getElementsByTagName('script')[0]; script.src = baseUrl + '/packs/js/sdk.js'; (_fisrtScript$parentNo = fisrtScript.parentNode) === null || _fisrtScript$parentNo === void 0 ? void 0 : _fisrtScript$parentNo.insertBefore(script, fisrtScript); script.onload = onload; })(document); return true; }; /* eslint-enable */ const load = ({ providerKey, locale = 'en', setState, baseUrl = domain, beforeInit = () => undefined, onReady = () => undefined }) => { const loaded = loadScript(function () { beforeInit(); setTimeout(() => { setState('complete'); onReady(); }, 1000); window.chatwootSDK.run({ websiteToken: providerKey, baseUrl, locale }); }, baseUrl); // Continue as long as userlike hasn’t already been initialised. if (loaded) { waitForLoad(() => { var _window$$chatwoot; return !!((_window$$chatwoot = window.$chatwoot) !== null && _window$$chatwoot !== void 0 && _window$$chatwoot.hasLoaded); }, // Allow chatwoot to complete loading before removing fake widget () => setTimeout(() => setState('complete'), 2000)); } }; const open = () => { window.chatwootSettings = window.chatwootSettings || {}; window.chatwootSettings.showPopoutButton = true; window.addEventListener('chatwoot:ready', function () { window.$chatwoot.toggle(); }); }; export default { domain, load, open }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvY2hhdHdvb3QudHMiXSwibmFtZXMiOlsid2FpdEZvckxvYWQiLCJkb21haW4iLCJsb2FkU2NyaXB0Iiwib25sb2FkIiwiYmFzZVVybCIsIndpbmRvdyIsIiRjaGF0d29vdCIsImQiLCJ0Iiwic2NyaXB0IiwiY3JlYXRlRWxlbWVudCIsImZpc3J0U2NyaXB0IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzcmMiLCJwYXJlbnROb2RlIiwiaW5zZXJ0QmVmb3JlIiwiZG9jdW1lbnQiLCJsb2FkIiwicHJvdmlkZXJLZXkiLCJsb2NhbGUiLCJzZXRTdGF0ZSIsImJlZm9yZUluaXQiLCJ1bmRlZmluZWQiLCJvblJlYWR5IiwibG9hZGVkIiwic2V0VGltZW91dCIsImNoYXR3b290U0RLIiwicnVuIiwid2Vic2l0ZVRva2VuIiwiaGFzTG9hZGVkIiwib3BlbiIsImNoYXR3b290U2V0dGluZ3MiLCJzaG93UG9wb3V0QnV0dG9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsInRvZ2dsZSJdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBT0EsV0FBUDtBQUVBLE1BQU1DLE1BQU0sR0FBRywwQkFBZjs7QUFvQkE7QUFDQSxNQUFNQyxVQUFVLEdBQUcsQ0FBQ0MsTUFBRCxFQUFxQkMsT0FBckIsS0FBa0Q7QUFDbkUsTUFBSUMsTUFBTSxDQUFDQyxTQUFYLEVBQXNCLE9BQU8sS0FBUDs7QUFDckIsR0FBQyxVQUFTQyxDQUFULEVBQVlDLENBQVosRUFBZTtBQUFBOztBQUNmLFFBQUlDLE1BQXlCLEdBQUdGLENBQUMsQ0FBQ0csYUFBRixDQUFnQixRQUFoQixDQUFoQztBQUNBLFFBQUlDLFdBQVcsR0FBR0osQ0FBQyxDQUFDSyxvQkFBRixDQUF1QixRQUF2QixFQUFpQyxDQUFqQyxDQUFsQjtBQUNBSCxJQUFBQSxNQUFNLENBQUNJLEdBQVAsR0FBYVQsT0FBTyxHQUFHLGtCQUF2QjtBQUNBLDZCQUFBTyxXQUFXLENBQUNHLFVBQVosZ0ZBQXdCQyxZQUF4QixDQUFxQ04sTUFBckMsRUFBNkNFLFdBQTdDO0FBQ0FGLElBQUFBLE1BQU0sQ0FBQ04sTUFBUCxHQUFnQkEsTUFBaEI7QUFDRCxHQU5BLEVBTUVhLFFBTkY7O0FBT0QsU0FBTyxJQUFQO0FBQ0QsQ0FWRDtBQVdBOzs7QUFFQSxNQUFNQyxJQUFJLEdBQUcsQ0FBQztBQUNaQyxFQUFBQSxXQURZO0FBRVpDLEVBQUFBLE1BQU0sR0FBRyxJQUZHO0FBR1pDLEVBQUFBLFFBSFk7QUFJWmhCLEVBQUFBLE9BQU8sR0FBR0gsTUFKRTtBQUtab0IsRUFBQUEsVUFBVSxHQUFHLE1BQU1DLFNBTFA7QUFNWkMsRUFBQUEsT0FBTyxHQUFHLE1BQU1EO0FBTkosQ0FBRCxLQWNEO0FBQ1YsUUFBTUUsTUFBTSxHQUFHdEIsVUFBVSxDQUFDLFlBQVc7QUFDbkNtQixJQUFBQSxVQUFVO0FBRVZJLElBQUFBLFVBQVUsQ0FBQyxNQUFNO0FBQ2ZMLE1BQUFBLFFBQVEsQ0FBQyxVQUFELENBQVI7QUFDQUcsTUFBQUEsT0FBTztBQUNSLEtBSFMsRUFHUCxJQUhPLENBQVY7QUFLQWxCLElBQUFBLE1BQU0sQ0FBQ3FCLFdBQVAsQ0FBbUJDLEdBQW5CLENBQXVCO0FBQ3JCQyxNQUFBQSxZQUFZLEVBQUVWLFdBRE87QUFFckJkLE1BQUFBLE9BRnFCO0FBR3JCZSxNQUFBQTtBQUhxQixLQUF2QjtBQUtELEdBYndCLEVBYXRCZixPQWJzQixDQUF6QixDQURVLENBZ0JWOztBQUNBLE1BQUlvQixNQUFKLEVBQVk7QUFDVnhCLElBQUFBLFdBQVcsQ0FDVDtBQUFBOztBQUFBLGFBQU0sQ0FBQyx1QkFBQ0ssTUFBTSxDQUFDQyxTQUFSLDhDQUFDLGtCQUFrQnVCLFNBQW5CLENBQVA7QUFBQSxLQURTLEVBRVQ7QUFDQSxVQUFNSixVQUFVLENBQUMsTUFBTUwsUUFBUSxDQUFDLFVBQUQsQ0FBZixFQUE2QixJQUE3QixDQUhQLENBQVg7QUFLRDtBQUNGLENBdENEOztBQXdDQSxNQUFNVSxJQUFJLEdBQUcsTUFBWTtBQUN2QnpCLEVBQUFBLE1BQU0sQ0FBQzBCLGdCQUFQLEdBQTBCMUIsTUFBTSxDQUFDMEIsZ0JBQVAsSUFBMkIsRUFBckQ7QUFDQTFCLEVBQUFBLE1BQU0sQ0FBQzBCLGdCQUFQLENBQXdCQyxnQkFBeEIsR0FBMkMsSUFBM0M7QUFDQTNCLEVBQUFBLE1BQU0sQ0FBQzRCLGdCQUFQLENBQXdCLGdCQUF4QixFQUEwQyxZQUFXO0FBQ25ENUIsSUFBQUEsTUFBTSxDQUFDQyxTQUFQLENBQWlCNEIsTUFBakI7QUFDRCxHQUZEO0FBR0QsQ0FORDs7QUFRQSxlQUFlO0FBQ2JqQyxFQUFBQSxNQURhO0FBRWJnQixFQUFBQSxJQUZhO0FBR2JhLEVBQUFBO0FBSGEsQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgd2FpdEZvckxvYWQgZnJvbSAnLi4vdXRpbHMvd2FpdEZvckxvYWQnXG5cbmNvbnN0IGRvbWFpbiA9ICdodHRwczovL2FwcC5jaGF0d29vdC5jb20nXG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGNoYXR3b290U2V0dGluZ3M6IGFueVxuICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAkY2hhdHdvb3Q6IGFueVxuICAgIGNoYXR3b290U0RLOiB7XG4gICAgICBydW46IChvcHRpb25zOiB7XG4gICAgICAgIHdlYnNpdGVUb2tlbjogc3RyaW5nXG4gICAgICAgIGJhc2VVcmw6IHN0cmluZ1xuICAgICAgICBsb2NhbGU/OiBzdHJpbmdcbiAgICAgICAgdHlwZT86ICdzdGFuZGFyZCcgfCAnZXhwYW5kZWRfYnViYmxlJ1xuICAgICAgICBwb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCdcbiAgICAgIH0pID0+IHZvaWRcbiAgICB9XG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmNvbnN0IGxvYWRTY3JpcHQgPSAob25sb2FkOiAoKSA9PiB2b2lkLCBiYXNlVXJsOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKHdpbmRvdy4kY2hhdHdvb3QpIHJldHVybiBmYWxzZVxuICA7KGZ1bmN0aW9uKGQsIHQpIHtcbiAgICB2YXIgc2NyaXB0OiBIVE1MU2NyaXB0RWxlbWVudCA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JylcbiAgICB2YXIgZmlzcnRTY3JpcHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXVxuICAgIHNjcmlwdC5zcmMgPSBiYXNlVXJsICsgJy9wYWNrcy9qcy9zZGsuanMnXG4gICAgZmlzcnRTY3JpcHQucGFyZW50Tm9kZT8uaW5zZXJ0QmVmb3JlKHNjcmlwdCwgZmlzcnRTY3JpcHQpXG4gICAgc2NyaXB0Lm9ubG9hZCA9IG9ubG9hZFxuICB9KShkb2N1bWVudClcbiAgcmV0dXJuIHRydWVcbn1cbi8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgbG9hZCA9ICh7XG4gIHByb3ZpZGVyS2V5LFxuICBsb2NhbGUgPSAnZW4nLFxuICBzZXRTdGF0ZSxcbiAgYmFzZVVybCA9IGRvbWFpbixcbiAgYmVmb3JlSW5pdCA9ICgpID0+IHVuZGVmaW5lZCxcbiAgb25SZWFkeSA9ICgpID0+IHVuZGVmaW5lZFxufToge1xuICBwcm92aWRlcktleTogc3RyaW5nXG4gIGxvY2FsZT86IHN0cmluZ1xuICBzZXRTdGF0ZTogKHN0YXRlOiBTdGF0ZSkgPT4gdm9pZFxuICBiYXNlVXJsPzogc3RyaW5nXG4gIGJlZm9yZUluaXQ/OiAoKSA9PiB2b2lkXG4gIG9uUmVhZHk/OiAoKSA9PiB2b2lkXG59KTogdm9pZCA9PiB7XG4gIGNvbnN0IGxvYWRlZCA9IGxvYWRTY3JpcHQoZnVuY3Rpb24oKSB7XG4gICAgYmVmb3JlSW5pdCgpXG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldFN0YXRlKCdjb21wbGV0ZScpXG4gICAgICBvblJlYWR5KClcbiAgICB9LCAxMDAwKVxuXG4gICAgd2luZG93LmNoYXR3b290U0RLLnJ1bih7XG4gICAgICB3ZWJzaXRlVG9rZW46IHByb3ZpZGVyS2V5LFxuICAgICAgYmFzZVVybCxcbiAgICAgIGxvY2FsZVxuICAgIH0pXG4gIH0sIGJhc2VVcmwpXG5cbiAgLy8gQ29udGludWUgYXMgbG9uZyBhcyB1c2VybGlrZSBoYXNu4oCZdCBhbHJlYWR5IGJlZW4gaW5pdGlhbGlzZWQuXG4gIGlmIChsb2FkZWQpIHtcbiAgICB3YWl0Rm9yTG9hZChcbiAgICAgICgpID0+ICEhd2luZG93LiRjaGF0d29vdD8uaGFzTG9hZGVkLFxuICAgICAgLy8gQWxsb3cgY2hhdHdvb3QgdG8gY29tcGxldGUgbG9hZGluZyBiZWZvcmUgcmVtb3ZpbmcgZmFrZSB3aWRnZXRcbiAgICAgICgpID0+IHNldFRpbWVvdXQoKCkgPT4gc2V0U3RhdGUoJ2NvbXBsZXRlJyksIDIwMDApXG4gICAgKVxuICB9XG59XG5cbmNvbnN0IG9wZW4gPSAoKTogdm9pZCA9PiB7XG4gIHdpbmRvdy5jaGF0d29vdFNldHRpbmdzID0gd2luZG93LmNoYXR3b290U2V0dGluZ3MgfHwge31cbiAgd2luZG93LmNoYXR3b290U2V0dGluZ3Muc2hvd1BvcG91dEJ1dHRvbiA9IHRydWVcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXR3b290OnJlYWR5JywgZnVuY3Rpb24oKSB7XG4gICAgd2luZG93LiRjaGF0d29vdC50b2dnbGUoKVxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGRvbWFpbixcbiAgbG9hZCxcbiAgb3BlblxufVxuIl19