tb-react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
59 lines (48 loc) • 6.75 kB
JavaScript
const domain = 'https://beacon-v2.helpscout.net';
/* eslint-disable */
const loadScript = () => {
if (window.Beacon) return false;
(function (e, t, n) {
function a() {
var _e$parentNode;
const e = t.getElementsByTagName('script')[0],
n = t.createElement('script');
n.async = !0, n.src = domain, (_e$parentNode = e.parentNode) === null || _e$parentNode === void 0 ? void 0 : _e$parentNode.insertBefore(n, e);
}
if (e.Beacon = n = function (t, n, a) {
e.Beacon.readyQueue.push({
method: t,
options: n,
data: a
});
}, n.readyQueue = [], 'complete' === t.readyState) return a();
e.attachEvent ? e.attachEvent('onload', a) : e.addEventListener('load', a, !1);
})(window, document, window.Beacon || function () {});
return true;
};
/* eslint-enable */
const load = ({
providerKey,
setState,
beforeInit = () => undefined,
onReady = () => undefined
}) => {
const loaded = loadScript(); // Continue as long as helpscout hasn’t already been initialised.
if (loaded) {
beforeInit();
window.Beacon('init', providerKey);
window.Beacon('once', 'ready', () => // Allow helpscout to complete loading before removing fake widget
setTimeout(() => {
setState('complete');
onReady();
}, 2000));
}
return loaded;
};
const open = () => window.Beacon('open');
export default {
domain,
load,
open
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvaGVscFNjb3V0LnRzIl0sIm5hbWVzIjpbImRvbWFpbiIsImxvYWRTY3JpcHQiLCJ3aW5kb3ciLCJCZWFjb24iLCJlIiwidCIsIm4iLCJhIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJjcmVhdGVFbGVtZW50IiwiYXN5bmMiLCJzcmMiLCJwYXJlbnROb2RlIiwiaW5zZXJ0QmVmb3JlIiwicmVhZHlRdWV1ZSIsInB1c2giLCJtZXRob2QiLCJvcHRpb25zIiwiZGF0YSIsInJlYWR5U3RhdGUiLCJhdHRhY2hFdmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudCIsImxvYWQiLCJwcm92aWRlcktleSIsInNldFN0YXRlIiwiYmVmb3JlSW5pdCIsInVuZGVmaW5lZCIsIm9uUmVhZHkiLCJsb2FkZWQiLCJzZXRUaW1lb3V0Iiwib3BlbiJdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTUEsTUFBTSxHQUFHLGlDQUFmOztBQVdBO0FBQ0EsTUFBTUMsVUFBVSxHQUFHLE1BQWU7QUFDaEMsTUFBSUMsTUFBTSxDQUFDQyxNQUFYLEVBQW1CLE9BQU8sS0FBUDs7QUFDbEIsR0FBQyxVQUFTQyxDQUFULEVBQVlDLENBQVosRUFBZUMsQ0FBZixFQUFrQjtBQUNsQixhQUFTQyxDQUFULEdBQWE7QUFBQTs7QUFDWCxZQUFNSCxDQUFDLEdBQUdDLENBQUMsQ0FBQ0csb0JBQUYsQ0FBdUIsUUFBdkIsRUFBaUMsQ0FBakMsQ0FBVjtBQUFBLFlBQ0VGLENBQUMsR0FBR0QsQ0FBQyxDQUFDSSxhQUFGLENBQWdCLFFBQWhCLENBRE47QUFFRUgsTUFBQUEsQ0FBQyxDQUFDSSxLQUFGLEdBQVUsQ0FBQyxDQUFaLEVBQWlCSixDQUFDLENBQUNLLEdBQUYsR0FBUVgsTUFBekIsbUJBQWtDSSxDQUFDLENBQUNRLFVBQXBDLGtEQUFrQyxjQUFjQyxZQUFkLENBQTJCUCxDQUEzQixFQUE4QkYsQ0FBOUIsQ0FBbEM7QUFDRjs7QUFDRCxRQUNJQSxDQUFDLENBQUNELE1BQUYsR0FBV0csQ0FBQyxHQUFHLFVBQVNELENBQVQsRUFBaUJDLENBQWpCLEVBQXlCQyxDQUF6QixFQUFpQztBQUNoREgsTUFBQUEsQ0FBQyxDQUFDRCxNQUFGLENBQVNXLFVBQVQsQ0FBb0JDLElBQXBCLENBQXlCO0FBQUVDLFFBQUFBLE1BQU0sRUFBRVgsQ0FBVjtBQUFhWSxRQUFBQSxPQUFPLEVBQUVYLENBQXRCO0FBQXlCWSxRQUFBQSxJQUFJLEVBQUVYO0FBQS9CLE9BQXpCO0FBQ0QsS0FGQSxFQUdBRCxDQUFDLENBQUNRLFVBQUYsR0FBZSxFQUhmLEVBSUQsZUFBZVQsQ0FBQyxDQUFDYyxVQUxuQixFQU9FLE9BQU9aLENBQUMsRUFBUjtBQUNGSCxJQUFBQSxDQUFDLENBQUNnQixXQUFGLEdBQ0loQixDQUFDLENBQUNnQixXQUFGLENBQWMsUUFBZCxFQUF3QmIsQ0FBeEIsQ0FESixHQUVJSCxDQUFDLENBQUNpQixnQkFBRixDQUFtQixNQUFuQixFQUEyQmQsQ0FBM0IsRUFBOEIsQ0FBQyxDQUEvQixDQUZKO0FBR0QsR0FqQkEsRUFpQkVMLE1BakJGLEVBaUJVb0IsUUFqQlYsRUFpQm9CcEIsTUFBTSxDQUFDQyxNQUFQLElBQWlCLFlBQVcsQ0FBRSxDQWpCbEQ7O0FBbUJELFNBQU8sSUFBUDtBQUNELENBdEJEO0FBdUJBOzs7QUFFQSxNQUFNb0IsSUFBSSxHQUFHLENBQUM7QUFDWkMsRUFBQUEsV0FEWTtBQUVaQyxFQUFBQSxRQUZZO0FBR1pDLEVBQUFBLFVBQVUsR0FBRyxNQUFNQyxTQUhQO0FBSVpDLEVBQUFBLE9BQU8sR0FBRyxNQUFNRDtBQUpKLENBQUQsS0FVRTtBQUNiLFFBQU1FLE1BQU0sR0FBRzVCLFVBQVUsRUFBekIsQ0FEYSxDQUdiOztBQUNBLE1BQUk0QixNQUFKLEVBQVk7QUFDVkgsSUFBQUEsVUFBVTtBQUNWeEIsSUFBQUEsTUFBTSxDQUFDQyxNQUFQLENBQWMsTUFBZCxFQUFzQnFCLFdBQXRCO0FBQ0F0QixJQUFBQSxNQUFNLENBQUNDLE1BQVAsQ0FBYyxNQUFkLEVBQXNCLE9BQXRCLEVBQStCLE1BQzdCO0FBQ0EyQixJQUFBQSxVQUFVLENBQUMsTUFBTTtBQUNmTCxNQUFBQSxRQUFRLENBQUMsVUFBRCxDQUFSO0FBQ0FHLE1BQUFBLE9BQU87QUFDUixLQUhTLEVBR1AsSUFITyxDQUZaO0FBT0Q7O0FBRUQsU0FBT0MsTUFBUDtBQUNELENBM0JEOztBQTZCQSxNQUFNRSxJQUFJLEdBQUcsTUFBWTdCLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLE1BQWQsQ0FBekI7O0FBRUEsZUFBZTtBQUNiSCxFQUFBQSxNQURhO0FBRWJ1QixFQUFBQSxJQUZhO0FBR2JRLEVBQUFBO0FBSGEsQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmNvbnN0IGRvbWFpbiA9ICdodHRwczovL2JlYWNvbi12Mi5oZWxwc2NvdXQubmV0J1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBCZWFjb246IGFueVxuICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBhdHRhY2hFdmVudDogYW55XG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmNvbnN0IGxvYWRTY3JpcHQgPSAoKTogYm9vbGVhbiA9PiB7XG4gIGlmICh3aW5kb3cuQmVhY29uKSByZXR1cm4gZmFsc2VcbiAgOyhmdW5jdGlvbihlLCB0LCBuKSB7XG4gICAgZnVuY3Rpb24gYSgpIHtcbiAgICAgIGNvbnN0IGUgPSB0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXSxcbiAgICAgICAgbiA9IHQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JylcbiAgICAgIDsobi5hc3luYyA9ICEwKSwgKG4uc3JjID0gZG9tYWluKSwgZS5wYXJlbnROb2RlPy5pbnNlcnRCZWZvcmUobiwgZSlcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKChlLkJlYWNvbiA9IG4gPSBmdW5jdGlvbih0OiBhbnksIG46IGFueSwgYTogYW55KSB7XG4gICAgICAgIGUuQmVhY29uLnJlYWR5UXVldWUucHVzaCh7IG1ldGhvZDogdCwgb3B0aW9uczogbiwgZGF0YTogYSB9KVxuICAgICAgfSksXG4gICAgICAobi5yZWFkeVF1ZXVlID0gW10pLFxuICAgICAgJ2NvbXBsZXRlJyA9PT0gdC5yZWFkeVN0YXRlKVxuICAgIClcbiAgICAgIHJldHVybiBhKClcbiAgICBlLmF0dGFjaEV2ZW50XG4gICAgICA/IGUuYXR0YWNoRXZlbnQoJ29ubG9hZCcsIGEpXG4gICAgICA6IGUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGEsICExKVxuICB9KSh3aW5kb3csIGRvY3VtZW50LCB3aW5kb3cuQmVhY29uIHx8IGZ1bmN0aW9uKCkge30pXG5cbiAgcmV0dXJuIHRydWVcbn1cbi8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgbG9hZCA9ICh7XG4gIHByb3ZpZGVyS2V5LFxuICBzZXRTdGF0ZSxcbiAgYmVmb3JlSW5pdCA9ICgpID0+IHVuZGVmaW5lZCxcbiAgb25SZWFkeSA9ICgpID0+IHVuZGVmaW5lZFxufToge1xuICBwcm92aWRlcktleTogc3RyaW5nXG4gIHNldFN0YXRlOiAoc3RhdGU6IFN0YXRlKSA9PiB2b2lkXG4gIGJlZm9yZUluaXQ/OiAoKSA9PiB2b2lkXG4gIG9uUmVhZHk/OiAoKSA9PiB2b2lkXG59KTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGxvYWRlZCA9IGxvYWRTY3JpcHQoKVxuXG4gIC8vIENvbnRpbnVlIGFzIGxvbmcgYXMgaGVscHNjb3V0IGhhc27igJl0IGFscmVhZHkgYmVlbiBpbml0aWFsaXNlZC5cbiAgaWYgKGxvYWRlZCkge1xuICAgIGJlZm9yZUluaXQoKVxuICAgIHdpbmRvdy5CZWFjb24oJ2luaXQnLCBwcm92aWRlcktleSlcbiAgICB3aW5kb3cuQmVhY29uKCdvbmNlJywgJ3JlYWR5JywgKCkgPT5cbiAgICAgIC8vIEFsbG93IGhlbHBzY291dCB0byBjb21wbGV0ZSBsb2FkaW5nIGJlZm9yZSByZW1vdmluZyBmYWtlIHdpZGdldFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFN0YXRlKCdjb21wbGV0ZScpXG4gICAgICAgIG9uUmVhZHkoKVxuICAgICAgfSwgMjAwMClcbiAgICApXG4gIH1cblxuICByZXR1cm4gbG9hZGVkXG59XG5cbmNvbnN0IG9wZW4gPSAoKTogdm9pZCA9PiB3aW5kb3cuQmVhY29uKCdvcGVuJylcblxuZXhwb3J0IGRlZmF1bHQge1xuICBkb21haW4sXG4gIGxvYWQsXG4gIG9wZW5cbn1cbiJdfQ==