react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
78 lines (76 loc) • 8.15 kB
JavaScript
import waitForLoad from "../utils/waitForLoad";
var domain = 'https://widget.intercom.io';
/* eslint-disable */
var loadScript = function loadScript(appId) {
if (window.Intercom) return false;
(function () {
var w = window;
var ic = w.Intercom;
if (typeof ic === 'function') {
ic('reattach_activator');
ic('update', window.intercomSettings);
} else {
var d = document;
var _i = function i() {
_i.c(arguments);
};
_i.q = [];
_i.c = function (args) {
_i.q.push(args);
};
w.Intercom = _i;
var l = function l() {
var _x$parentNode;
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = "".concat(domain, "/widget/").concat(appId);
var x = d.getElementsByTagName('script')[0];
(_x$parentNode = x.parentNode) === null || _x$parentNode === void 0 || _x$parentNode.insertBefore(s, x);
};
l();
}
})();
return true;
};
/* eslint-enable */
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;
var loaded = loadScript(providerKey);
// Continue as long as userlike hasn’t already been initialised.
if (loaded) {
beforeInit();
window.Intercom('boot', {
app_id: providerKey
});
waitForLoad(function () {
return window.Intercom.booted;
},
// Allow intercom to complete loading before removing fake widget
function () {
return setTimeout(function () {
setState('complete');
onReady();
}, 2000);
});
}
return loaded;
};
var open = function open() {
return window.Intercom('show');
};
export default {
domain: domain,
load: load,
open: open
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3YWl0Rm9yTG9hZCIsImRvbWFpbiIsImxvYWRTY3JpcHQiLCJhcHBJZCIsIndpbmRvdyIsIkludGVyY29tIiwidyIsImljIiwiaW50ZXJjb21TZXR0aW5ncyIsImQiLCJkb2N1bWVudCIsImkiLCJjIiwiYXJndW1lbnRzIiwicSIsImFyZ3MiLCJwdXNoIiwibCIsIl94JHBhcmVudE5vZGUiLCJzIiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJhc3luYyIsInNyYyIsImNvbmNhdCIsIngiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInBhcmVudE5vZGUiLCJpbnNlcnRCZWZvcmUiLCJsb2FkIiwiX3JlZiIsInByb3ZpZGVyS2V5Iiwic2V0U3RhdGUiLCJfcmVmJGJlZm9yZUluaXQiLCJiZWZvcmVJbml0IiwidW5kZWZpbmVkIiwiX3JlZiRvblJlYWR5Iiwib25SZWFkeSIsImxvYWRlZCIsImFwcF9pZCIsImJvb3RlZCIsInNldFRpbWVvdXQiLCJvcGVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9pbnRlcmNvbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHdhaXRGb3JMb2FkIGZyb20gJy4uL3V0aWxzL3dhaXRGb3JMb2FkJ1xuXG5jb25zdCBkb21haW4gPSAnaHR0cHM6Ly93aWRnZXQuaW50ZXJjb20uaW8nXG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEludGVyY29tOiBhbnlcbiAgICBpbnRlcmNvbVNldHRpbmdzOiAoKSA9PiB2b2lkXG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmNvbnN0IGxvYWRTY3JpcHQgPSAoYXBwSWQ6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBpZiAod2luZG93LkludGVyY29tKSByZXR1cm4gZmFsc2VcbiAgOyhmdW5jdGlvbigpIHtcbiAgICB2YXIgdyA9IHdpbmRvd1xuICAgIHZhciBpYyA9IHcuSW50ZXJjb21cbiAgICBpZiAodHlwZW9mIGljID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpYygncmVhdHRhY2hfYWN0aXZhdG9yJylcbiAgICAgIGljKCd1cGRhdGUnLCB3aW5kb3cuaW50ZXJjb21TZXR0aW5ncylcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGQgPSBkb2N1bWVudFxuICAgICAgdmFyIGk6IGFueSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBpLmMoYXJndW1lbnRzKVxuICAgICAgfVxuICAgICAgaS5xID0gW11cbiAgICAgIGkuYyA9IGZ1bmN0aW9uKGFyZ3M6IGFueSkge1xuICAgICAgICBpLnEucHVzaChhcmdzKVxuICAgICAgfVxuICAgICAgdy5JbnRlcmNvbSA9IGlcbiAgICAgIGNvbnN0IGwgPSAoKSA9PiB7XG4gICAgICAgIHZhciBzID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKVxuICAgICAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0J1xuICAgICAgICBzLmFzeW5jID0gdHJ1ZVxuICAgICAgICBzLnNyYyA9IGAke2RvbWFpbn0vd2lkZ2V0LyR7YXBwSWR9YFxuICAgICAgICB2YXIgeCA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdXG4gICAgICAgIHgucGFyZW50Tm9kZT8uaW5zZXJ0QmVmb3JlKHMsIHgpXG4gICAgICB9XG4gICAgICBsKClcbiAgICB9XG4gIH0pKClcbiAgcmV0dXJuIHRydWVcbn1cbi8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgbG9hZCA9ICh7XG4gIHByb3ZpZGVyS2V5LFxuICBzZXRTdGF0ZSxcbiAgYmVmb3JlSW5pdCA9ICgpID0+IHVuZGVmaW5lZCxcbiAgb25SZWFkeSA9ICgpID0+IHVuZGVmaW5lZFxufToge1xuICBwcm92aWRlcktleTogc3RyaW5nXG4gIHNldFN0YXRlOiAoc3RhdGU6IFN0YXRlKSA9PiB2b2lkXG4gIGJlZm9yZUluaXQ/OiAoKSA9PiB2b2lkXG4gIG9uUmVhZHk/OiAoKSA9PiB2b2lkXG59KTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGxvYWRlZCA9IGxvYWRTY3JpcHQocHJvdmlkZXJLZXkpXG5cbiAgLy8gQ29udGludWUgYXMgbG9uZyBhcyB1c2VybGlrZSBoYXNu4oCZdCBhbHJlYWR5IGJlZW4gaW5pdGlhbGlzZWQuXG4gIGlmIChsb2FkZWQpIHtcbiAgICBiZWZvcmVJbml0KClcbiAgICB3aW5kb3cuSW50ZXJjb20oJ2Jvb3QnLCB7IGFwcF9pZDogcHJvdmlkZXJLZXkgfSlcbiAgICB3YWl0Rm9yTG9hZChcbiAgICAgICgpID0+IHdpbmRvdy5JbnRlcmNvbS5ib290ZWQsXG4gICAgICAvLyBBbGxvdyBpbnRlcmNvbSB0byBjb21wbGV0ZSBsb2FkaW5nIGJlZm9yZSByZW1vdmluZyBmYWtlIHdpZGdldFxuICAgICAgKCkgPT5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U3RhdGUoJ2NvbXBsZXRlJylcbiAgICAgICAgICBvblJlYWR5KClcbiAgICAgICAgfSwgMjAwMClcbiAgICApXG4gIH1cblxuICByZXR1cm4gbG9hZGVkXG59XG5cbmNvbnN0IG9wZW4gPSAoKTogdm9pZCA9PiB3aW5kb3cuSW50ZXJjb20oJ3Nob3cnKVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGRvbWFpbixcbiAgbG9hZCxcbiAgb3BlblxufVxuIl0sIm1hcHBpbmdzIjoiQUFDQSxPQUFPQSxXQUFXO0FBRWxCLElBQU1DLE1BQU0sR0FBRyw0QkFBNEI7QUFVM0M7QUFDQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUMsS0FBYSxFQUFjO0VBQzdDLElBQUlDLE1BQU0sQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sS0FBSztFQUNoQyxDQUFDLFlBQVc7SUFDWCxJQUFJQyxDQUFDLEdBQUdGLE1BQU07SUFDZCxJQUFJRyxFQUFFLEdBQUdELENB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