UNPKG

@nedomas/react-live-chat-loader

Version:

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

82 lines (81 loc) 11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.domain = exports.default = void 0; var _waitForLoad = _interopRequireDefault(require("../utils/waitForLoad")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var domain = exports.domain = 'js.hs-scripts.com'; var isHubspotWidgetDefined = function isHubspotWidgetDefined() { return window.HubSpotConversations && window.HubSpotConversations.widget; }; var loadScript = function loadScript(hsId) { // Detect the provider is already loaded and return early if (window.HubSpotConversations) { return false; } (function loadHubSpotSDK(d, s, id) { // fetch customerchat.js var fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) { return; } //eslint-disable-next-line @typescript-eslint/no-explicit-any var js = d.createElement(s); js.id = id; js.src = "https://".concat(domain, "/").concat(hsId, ".js"); js.type = 'text/javascript'; js.async = 1; js.defer = 1; if (fjs) { var _fjs$parentNode; (_fjs$parentNode = fjs.parentNode) === null || _fjs$parentNode === void 0 || _fjs$parentNode.insertBefore(js, fjs); } else { d.body.appendChild(js); } })(window.document, 'script', 'hs-script-loader'); return true; }; var load = function load(_ref) { var providerKey = _ref.providerKey, setState = _ref.setState, _ref$beforeInit = _ref.beforeInit, beforeInit = _ref$beforeInit === void 0 ? function () { return undefined; } : _ref$beforeInit, _ref$onReady = _ref.onReady, onReady = _ref$onReady === void 0 ? function () { return undefined; } : _ref$onReady; window.hsConversationsOnReady = [function () { isHubspotWidgetDefined() && window.HubSpotConversations.widget.load(); }]; var loaded = loadScript(providerKey); if (loaded) { beforeInit(); (0, _waitForLoad.default)(function () { return Boolean(isHubspotWidgetDefined() && window.HubSpotConversations.widget.status().loaded); }, // Allow hubspot to complete loading before removing fake widget function () { isHubspotWidgetDefined() && window.HubSpotConversations.widget.open(); setState('complete'); onReady(); }); } return loaded; }; var open = function open() { isHubspotWidgetDefined() && !window.HubSpotConversations.widget.status().loaded && window.HubSpotConversations.widget.load(); return isHubspotWidgetDefined() && window.HubSpotConversations.widget.open(); }; // Open provider var close = function close() { return isHubspotWidgetDefined() && window.HubSpotConversations.widget.close(); }; // Close provider var _default = exports.default = { load: load, open: open, close: close, domain: domain }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2FpdEZvckxvYWQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZG9tYWluIiwiZXhwb3J0cyIsImlzSHVic3BvdFdpZGdldERlZmluZWQiLCJ3aW5kb3ciLCJIdWJTcG90Q29udmVyc2F0aW9ucyIsIndpZGdldCIsImxvYWRTY3JpcHQiLCJoc0lkIiwibG9hZEh1YlNwb3RTREsiLCJkIiwicyIsImlkIiwiZmpzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJnZXRFbGVtZW50QnlJZCIsImpzIiwiY3JlYXRlRWxlbWVudCIsInNyYyIsImNvbmNhdCIsInR5cGUiLCJhc3luYyIsImRlZmVyIiwiX2ZqcyRwYXJlbnROb2RlIiwicGFyZW50Tm9kZSIsImluc2VydEJlZm9yZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImRvY3VtZW50IiwibG9hZCIsIl9yZWYiLCJwcm92aWRlcktleSIsInNldFN0YXRlIiwiX3JlZiRiZWZvcmVJbml0IiwiYmVmb3JlSW5pdCIsInVuZGVmaW5lZCIsIl9yZWYkb25SZWFkeSIsIm9uUmVhZHkiLCJoc0NvbnZlcnNhdGlvbnNPblJlYWR5IiwibG9hZGVkIiwid2FpdEZvckxvYWQiLCJCb29sZWFuIiwic3RhdHVzIiwib3BlbiIsImNsb3NlIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2h1YlNwb3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB3YWl0Rm9yTG9hZCBmcm9tICcuLi91dGlscy93YWl0Rm9yTG9hZCdcblxuZXhwb3J0IGNvbnN0IGRvbWFpbiA9ICdqcy5ocy1zY3JpcHRzLmNvbSdcbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEh1YlNwb3RDb252ZXJzYXRpb25zOiBhbnlcbiAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaHNDb252ZXJzYXRpb25zU2V0dGluZ3M6IGFueVxuICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBoc0NvbnZlcnNhdGlvbnNPblJlYWR5OiBhbnlcbiAgfVxufVxuXG5jb25zdCBpc0h1YnNwb3RXaWRnZXREZWZpbmVkID0gKCkgPT4gd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zICYmIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQ7XG5cbmNvbnN0IGxvYWRTY3JpcHQgPSAoaHNJZDogc3RyaW5nKSA9PiB7XG4gIC8vIERldGVjdCB0aGUgcHJvdmlkZXIgaXMgYWxyZWFkeSBsb2FkZWQgYW5kIHJldHVybiBlYXJseVxuICBpZiAod2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgKGZ1bmN0aW9uIGxvYWRIdWJTcG90U0RLKGQsIHMsIGlkKSB7XG4gICAgLy8gZmV0Y2ggY3VzdG9tZXJjaGF0LmpzXG4gICAgY29uc3QgZmpzID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXVxuICAgIGlmIChkLmdldEVsZW1lbnRCeUlkKGlkKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb25zdCBqcyA9IGQuY3JlYXRlRWxlbWVudChzKSBhcyBhbnlcbiAgICBqcy5pZCA9IGlkXG4gICAganMuc3JjID0gYGh0dHBzOi8vJHtkb21haW59LyR7aHNJZH0uanNgXG4gICAganMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnXG4gICAganMuYXN5bmMgPSAxXG4gICAganMuZGVmZXIgPSAxXG4gICAgaWYgKGZqcykge1xuICAgICAgZmpzLnBhcmVudE5vZGU/Lmluc2VydEJlZm9yZShqcywgZmpzKVxuICAgIH0gZWxzZSB7XG4gICAgICBkLmJvZHkuYXBwZW5kQ2hpbGQoanMpXG4gICAgfVxuICB9KSh3aW5kb3cuZG9jdW1lbnQsICdzY3JpcHQnLCAnaHMtc2NyaXB0LWxvYWRlcicpXG5cbiAgcmV0dXJuIHRydWVcbn1cblxuY29uc3QgbG9hZCA9ICh7XG4gIHByb3ZpZGVyS2V5LFxuICBzZXRTdGF0ZSxcbiAgYmVmb3JlSW5pdCA9ICgpID0+IHVuZGVmaW5lZCxcbiAgb25SZWFkeSA9ICgpID0+IHVuZGVmaW5lZCxcbn06IHtcbiAgcHJvdmlkZXJLZXk6IHN0cmluZ1xuICBzZXRTdGF0ZTogKHN0YXRlOiBTdGF0ZSkgPT4gdm9pZFxuICBiZWZvcmVJbml0PzogKCkgPT4gdm9pZFxuICBvblJlYWR5PzogKCkgPT4gdm9pZFxufSk6IGJvb2xlYW4gPT4ge1xuICB3aW5kb3cuaHNDb252ZXJzYXRpb25zT25SZWFkeSA9IFtcbiAgICAoKSA9PiB7XG4gICAgICBpc0h1YnNwb3RXaWRnZXREZWZpbmVkKCkgJiYgd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zLndpZGdldC5sb2FkKClcbiAgICB9XG4gIF1cbiAgY29uc3QgbG9hZGVkID0gbG9hZFNjcmlwdChwcm92aWRlcktleSlcbiAgaWYgKGxvYWRlZCkge1xuICAgIGJlZm9yZUluaXQoKVxuXG4gICAgd2FpdEZvckxvYWQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICAgIGlzSHVic3BvdFdpZGdldERlZmluZWQoKSAmJlxuICAgICAgICAgICAgd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zLndpZGdldC5zdGF0dXMoKS5sb2FkZWRcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIC8vIEFsbG93IGh1YnNwb3QgdG8gY29tcGxldGUgbG9hZGluZyBiZWZvcmUgcmVtb3ZpbmcgZmFrZSB3aWRnZXRcbiAgICAgICgpID0+IHtcbiAgICAgICAgaXNIdWJzcG90V2lkZ2V0RGVmaW5lZCgpICYmIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQub3BlbigpXG4gICAgICAgIHNldFN0YXRlKCdjb21wbGV0ZScpXG4gICAgICAgIG9uUmVhZHkoKVxuICAgICAgfVxuICAgIClcbiAgfVxuICByZXR1cm4gbG9hZGVkXG59XG5cbmNvbnN0IG9wZW4gPSAoKTogdW5rbm93biA9PiB7XG4gIGlzSHVic3BvdFdpZGdldERlZmluZWQoKSAmJiBcbiAgICAhd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zLndpZGdldC5zdGF0dXMoKS5sb2FkZWQgJiZcbiAgICB3aW5kb3cuSHViU3BvdENvbnZlcnNhdGlvbnMud2lkZ2V0LmxvYWQoKVxuXG4gIHJldHVybiAoXG4gICAgaXNIdWJzcG90V2lkZ2V0RGVmaW5lZCgpICYmIFxuICAgIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQub3BlbigpXG4gIClcbn0gLy8gT3BlbiBwcm92aWRlclxuY29uc3QgY2xvc2UgPSAoKTogdW5rbm93biA9PiBpc0h1YnNwb3RXaWRnZXREZWZpbmVkKCkgJiYgd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zLndpZGdldC5jbG9zZSgpIC8vIENsb3NlIHByb3ZpZGVyXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbG9hZCxcbiAgb3BlbixcbiAgY2xvc2UsXG4gIGRvbWFpblxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxZQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBOEMsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFdkMsSUFBTUcsTUFBTSxHQUFBQyxPQUFBLENBQUFELE1BQUEsR0FBRyxtQkFBbUI7QUFZ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