UNPKG

react-live-chat-loader

Version:

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

82 lines (81 loc) 10.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.domain = exports.default = void 0; var _waitForLoad = _interopRequireDefault(require("../utils/waitForLoad")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2FpdEZvckxvYWQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImRvbWFpbiIsImV4cG9ydHMiLCJpc0h1YnNwb3RXaWRnZXREZWZpbmVkIiwid2luZG93IiwiSHViU3BvdENvbnZlcnNhdGlvbnMiLCJ3aWRnZXQiLCJsb2FkU2NyaXB0IiwiaHNJZCIsImxvYWRIdWJTcG90U0RLIiwiZCIsInMiLCJpZCIsImZqcyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiZ2V0RWxlbWVudEJ5SWQiLCJqcyIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJjb25jYXQiLCJ0eXBlIiwiYXN5bmMiLCJkZWZlciIsIl9manMkcGFyZW50Tm9kZSIsInBhcmVudE5vZGUiLCJpbnNlcnRCZWZvcmUiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJkb2N1bWVudCIsImxvYWQiLCJfcmVmIiwicHJvdmlkZXJLZXkiLCJzZXRTdGF0ZSIsIl9yZWYkYmVmb3JlSW5pdCIsImJlZm9yZUluaXQiLCJ1bmRlZmluZWQiLCJfcmVmJG9uUmVhZHkiLCJvblJlYWR5IiwiaHNDb252ZXJzYXRpb25zT25SZWFkeSIsImxvYWRlZCIsIndhaXRGb3JMb2FkIiwiQm9vbGVhbiIsInN0YXR1cyIsIm9wZW4iLCJjbG9zZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9odWJTcG90LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgd2FpdEZvckxvYWQgZnJvbSAnLi4vdXRpbHMvd2FpdEZvckxvYWQnXG5cbmV4cG9ydCBjb25zdCBkb21haW4gPSAnanMuaHMtc2NyaXB0cy5jb20nXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBIdWJTcG90Q29udmVyc2F0aW9uczogYW55XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGhzQ29udmVyc2F0aW9uc1NldHRpbmdzOiBhbnlcbiAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaHNDb252ZXJzYXRpb25zT25SZWFkeTogYW55XG4gIH1cbn1cblxuY29uc3QgaXNIdWJzcG90V2lkZ2V0RGVmaW5lZCA9ICgpID0+IHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucyAmJiB3aW5kb3cuSHViU3BvdENvbnZlcnNhdGlvbnMud2lkZ2V0O1xuXG5jb25zdCBsb2FkU2NyaXB0ID0gKGhzSWQ6IHN0cmluZykgPT4ge1xuICAvLyBEZXRlY3QgdGhlIHByb3ZpZGVyIGlzIGFscmVhZHkgbG9hZGVkIGFuZCByZXR1cm4gZWFybHlcbiAgaWYgKHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIChmdW5jdGlvbiBsb2FkSHViU3BvdFNESyhkLCBzLCBpZCkge1xuICAgIC8vIGZldGNoIGN1c3RvbWVyY2hhdC5qc1xuICAgIGNvbnN0IGZqcyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF1cbiAgICBpZiAoZC5nZXRFbGVtZW50QnlJZChpZCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29uc3QganMgPSBkLmNyZWF0ZUVsZW1lbnQocykgYXMgYW55XG4gICAganMuaWQgPSBpZFxuICAgIGpzLnNyYyA9IGBodHRwczovLyR7ZG9tYWlufS8ke2hzSWR9LmpzYFxuICAgIGpzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0J1xuICAgIGpzLmFzeW5jID0gMVxuICAgIGpzLmRlZmVyID0gMVxuICAgIGlmIChmanMpIHtcbiAgICAgIGZqcy5wYXJlbnROb2RlPy5pbnNlcnRCZWZvcmUoanMsIGZqcylcbiAgICB9IGVsc2Uge1xuICAgICAgZC5ib2R5LmFwcGVuZENoaWxkKGpzKVxuICAgIH1cbiAgfSkod2luZG93LmRvY3VtZW50LCAnc2NyaXB0JywgJ2hzLXNjcmlwdC1sb2FkZXInKVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmNvbnN0IGxvYWQgPSAoe1xuICBwcm92aWRlcktleSxcbiAgc2V0U3RhdGUsXG4gIGJlZm9yZUluaXQgPSAoKSA9PiB1bmRlZmluZWQsXG4gIG9uUmVhZHkgPSAoKSA9PiB1bmRlZmluZWQsXG59OiB7XG4gIHByb3ZpZGVyS2V5OiBzdHJpbmdcbiAgc2V0U3RhdGU6IChzdGF0ZTogU3RhdGUpID0+IHZvaWRcbiAgYmVmb3JlSW5pdD86ICgpID0+IHZvaWRcbiAgb25SZWFkeT86ICgpID0+IHZvaWRcbn0pOiBib29sZWFuID0+IHtcbiAgd2luZG93LmhzQ29udmVyc2F0aW9uc09uUmVhZHkgPSBbXG4gICAgKCkgPT4ge1xuICAgICAgaXNIdWJzcG90V2lkZ2V0RGVmaW5lZCgpICYmIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQubG9hZCgpXG4gICAgfVxuICBdXG4gIGNvbnN0IGxvYWRlZCA9IGxvYWRTY3JpcHQocHJvdmlkZXJLZXkpXG4gIGlmIChsb2FkZWQpIHtcbiAgICBiZWZvcmVJbml0KClcblxuICAgIHdhaXRGb3JMb2FkKFxuICAgICAgKCkgPT4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihcbiAgICAgICAgICBpc0h1YnNwb3RXaWRnZXREZWZpbmVkKCkgJiZcbiAgICAgICAgICAgIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQuc3RhdHVzKCkubG9hZGVkXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICAvLyBBbGxvdyBodWJzcG90IHRvIGNvbXBsZXRlIGxvYWRpbmcgYmVmb3JlIHJlbW92aW5nIGZha2Ugd2lkZ2V0XG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlzSHVic3BvdFdpZGdldERlZmluZWQoKSAmJiB3aW5kb3cuSHViU3BvdENvbnZlcnNhdGlvbnMud2lkZ2V0Lm9wZW4oKVxuICAgICAgICBzZXRTdGF0ZSgnY29tcGxldGUnKVxuICAgICAgICBvblJlYWR5KClcbiAgICAgIH1cbiAgICApXG4gIH1cbiAgcmV0dXJuIGxvYWRlZFxufVxuXG5jb25zdCBvcGVuID0gKCk6IHVua25vd24gPT4ge1xuICBpc0h1YnNwb3RXaWRnZXREZWZpbmVkKCkgJiYgXG4gICAgIXdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQuc3RhdHVzKCkubG9hZGVkICYmXG4gICAgd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zLndpZGdldC5sb2FkKClcblxuICByZXR1cm4gKFxuICAgIGlzSHVic3BvdFdpZGdldERlZmluZWQoKSAmJiBcbiAgICB3aW5kb3cuSHViU3BvdENvbnZlcnNhdGlvbnMud2lkZ2V0Lm9wZW4oKVxuICApXG59IC8vIE9wZW4gcHJvdmlkZXJcbmNvbnN0IGNsb3NlID0gKCk6IHVua25vd24gPT4gaXNIdWJzcG90V2lkZ2V0RGVmaW5lZCgpICYmIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQuY2xvc2UoKSAvLyBDbG9zZSBwcm92aWRlclxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGxvYWQsXG4gIG9wZW4sXG4gIGNsb3NlLFxuICBkb21haW5cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsWUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQThDLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRXZDLElBQU1HLE1BQU0sR0FBQUMsT0FBQSxDQUFBRCxNQUFBLEdBQUcsbUJBQW1CO0FBWXpD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