@nedomas/react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
82 lines (81 loc) • 11 kB
JavaScript
;
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+IHtcbiAgICAgICAgaXNIdWJzcG90V2lkZ2V0RGVmaW5lZCgpICYmIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQub3BlbigpXG4gICAgICAgIHNldFN0YXRlKCdjb21wbGV0ZScpXG4gICAgICAgIG9uUmVhZHkoKVxuICAgICAgfVxuICAgIClcbiAgfVxuICByZXR1cm4gbG9hZGVkXG59XG5cbmNvbnN0IG9wZW4gPSAoKTogdW5rbm93biA9PiB7XG4gIGlzSHVic3BvdFdpZGdldERlZmluZWQoKSAmJiBcbiAgICAhd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zLndpZGdldC5zdGF0dXMoKS5sb2FkZWQgJiZcbiAgICB3aW5kb3cuSHViU3BvdENvbnZlcnNhdGlvbnMud2lkZ2V0LmxvYWQoKVxuXG4gIHJldHVybiAoXG4gICAgaXNIdWJzcG90V2lkZ2V0RGVmaW5lZCgpICYmIFxuICAgIHdpbmRvdy5IdWJTcG90Q29udmVyc2F0aW9ucy53aWRnZXQub3BlbigpXG4gIClcbn0gLy8gT3BlbiBwcm92aWRlclxuY29uc3QgY2xvc2UgPSAoKTogdW5rbm93biA9PiBpc0h1YnNwb3RXaWRnZXREZWZpbmVkKCkgJiYgd2luZG93Lkh1YlNwb3RDb252ZXJzYXRpb25zLndpZGdldC5jbG9zZSgpIC8vIENsb3NlIHByb3ZpZGVyXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbG9hZCxcbiAgb3BlbixcbiAgY2xvc2UsXG4gIGRvbWFpblxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxZQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBOEMsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFdkMsSUFBTUcsTUFBTSxHQUFBQyxPQUFBLENBQUFELE1BQUEsR0FBRyxtQkFBbUI7QUFZekMsSUFBTUUsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBQTtFQUFBLE9BQVNDLE1BQU0sQ0FBQ0Msb0JBQW9CLElBQUlELE1BQU0sQ0FBQ0Msb0JBQW9CLENBQUNDLE1BQU07QUFBQTtBQUV0RyxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUMsSUFBWSxFQUFLO0VBQ25DO0VBQ0EsSUFBSUosTUFBTSxDQUFDQyxvQkFBb0IsRUFBRTtJQUMvQixPQUFPLEtBQUs7RUFDZDtFQUNBLENBQUMsU0FBU0ksY0FBY0EsQ0FBQ0MsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLEVBQUUsRUFBRTtJQUNqQztJQUNBLElBQU1DLEdBQUcsR0FBR0gsQ0FBQyxDQUFDSSxvQkFBb0IsQ0FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLElBQUlELENBQUMsQ0FBQ0ssY0FBYyxDQUFDSCxFQUFFLENBQUMsRUFBRTtNQUN4QjtJQUNGO0lBQ0E7SUFDQSxJQUFNSSxFQUFFLEdBQUdOLENBQUMsQ0FBQ08sYUFBYSxDQUFDTixDQUFDLENBQVE7SUFDcENLLEVBQUUsQ0FBQ0osRUFBRSxHQUFHQSxFQUFFO0lBQ1ZJLEVBQUUsQ0FBQ0UsR0FBRyxjQUFBQyxNQUFBLENBQWNsQixNQUFNLE9BQUFrQixNQUFBLENBQUlYLElBQUksUUFBSztJQUN2Q1EsRUFBRSxDQUFDSSxJQUFJLEdBQUcsaUJBQWlCO0lBQzNCSixFQUFFLENBQUNLLEtBQUssR0FBRyxDQUFDO0lBQ1pMLEVBQUUsQ0FBQ00sS0FBSyxHQUFHLENBQUM7SUFDWixJQUFJVCxHQUFHLEVBQUU7TUFBQSxJQUFBVSxlQUFBO01BQ1AsQ0FBQUEsZUFBQSxHQUFBVixHQUFHLENBQUNXLFVBQVUsY0FBQUQsZUFBQSxlQUFkQSxlQUFBLENBQWdCRSxZQUFZLENBQUNULEVBQUUsRUFBRUgsR0FBRyxDQUFDO0lBQ3ZDLENBQUMsTUFBTTtNQUNMSCxDQUFDLENBQUNnQixJQUFJLENBQUNDLFdBQVcsQ0FBQ1gsRUFBRSxDQUFDO0lBQ3hCO0VBQ0YsQ0FBQyxFQUFFWixNQUFNLENBQUN3QixRQUFRLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixDQUFDO0VBRWpELE9BQU8sSUFBSTtBQUNiLENBQUM7QUFFRCxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBQUMsSUFBQSxFQVVLO0VBQUEsSUFUYkMsV0FBVyxHQUFBRCxJQUFBLENBQVhDLFdBQVc7SUFDWEMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFBQUMsZUFBQSxHQUFBSCxJQUFBLENBQ1JJLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxlQUFBLGNBQUc7TUFBQSxPQUFNRSxTQUFTO0lBQUEsSUFBQUYsZUFBQTtJQUFBRyxZQUFBLEdBQUFOLElBQUEsQ0FDNUJPLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxZQUFBLGNBQUc7TUFBQSxPQUFNRCxTQUFTO0lBQUEsSUFBQUMsWUFBQTtFQU96QmhDLE1BQU0sQ0FBQ2tDLHNCQUFzQixHQUFHLENBQzlCLFlBQU07SUFDSm5DLHNCQUFzQixDQUFDLENBQUMsSUFBSUMsTUFBTSxDQUFDQyxvQkFBb0IsQ0FBQ0MsTUFBTSxDQUFDdUIsSUFBSSxDQUFDLENBQUM7RUFDdkUsQ0FBQyxDQUNGO0VBQ0QsSUFBTVUsTUFBTSxHQUFHaEMsVUFBVSxDQUFDd0IsV0FBVyxDQUFDO0VBQ3RDLElBQUlRLE1BQU0sRUFBRTtJQUNWTCxVQUFVLENBQUMsQ0FBQztJQUVaLElBQUFNLG9CQUFXLEVBQ1QsWUFBTTtNQUNKLE9BQU9DLE9BQU8sQ0FDWnRDLHNCQUFzQixDQUFDLENBQUMsSUFDdEJDLE1BQU0sQ0FBQ0Msb0JBQW9CLENBQUNDLE1BQU0sQ0FBQ29DLE1BQU0sQ0FBQyxDQUFDLENBQUNILE1BQ2hELENBQUM7SUFDSCxDQUFDO0lBQ0Q7SUFDQSxZQUFNO01BQ0pwQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUlDLE1BQU0sQ0FBQ0Msb0JBQW9CLENBQUNDLE1BQU0sQ0FBQ3FDLElBQUksQ0FBQyxDQUFDO01BQ3JFWCxRQUFRLENBQUMsVUFBVSxDQUFDO01BQ3BCSyxPQUFPLENBQUMsQ0FBQztJQUNYLENBQ0YsQ0FBQztFQUNIO0VBQ0EsT0FBT0UsTUFBTTtBQUNmLENBQUM7QUFFRCxJQUFNSSxJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBQSxFQUFrQjtFQUMxQnhDLHNCQUFzQixDQUFDLENBQUMsSUFDdEIsQ0FBQ0MsTUFBTSxDQUFDQyxvQkFBb0IsQ0FBQ0MsTUFBTSxDQUFDb0MsTUFBTSxDQUFDLENBQUMsQ0FBQ0gsTUFBTSxJQUNuRG5DLE1BQU0sQ0FBQ0Msb0JBQW9CLENBQUNDLE1BQU0sQ0FBQ3VCLElBQUksQ0FBQyxDQUFDO0VBRTNDLE9BQ0UxQixzQkFBc0IsQ0FBQyxDQUFDLElBQ3hCQyxNQUFNLENBQUNDLG9CQUFvQixDQUFDQyxNQUFNLENBQUNxQyxJQUFJLENBQUMsQ0FBQztBQUU3QyxDQUFDLEVBQUM7QUFDRixJQUFNQyxLQUFLLEdBQUcsU0FBUkEsS0FBS0EsQ0FBQTtFQUFBLE9BQWtCekMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJQyxNQUFNLENBQUNDLG9CQUFvQixDQUFDQyxNQUFNLENBQUNzQyxLQUFLLENBQUMsQ0FBQztBQUFBLEdBQUM7QUFBQSxJQUFBQyxRQUFBLEdBQUEzQyxPQUFBLENBQUFGLE9BQUEsR0FFckY7RUFDYjZCLElBQUksRUFBSkEsSUFBSTtFQUNKYyxJQUFJLEVBQUpBLElBQUk7RUFDSkMsS0FBSyxFQUFMQSxLQUFLO0VBQ0wzQyxNQUFNLEVBQU5BO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==