react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
65 lines (63 loc) • 8.04 kB
JavaScript
// Website: https://front.com/product/live-chat
// Documentation: https://help.front.com/
import waitForLoad from "../utils/waitForLoad";
var domain = 'https://chat-assets.frontapp.com';
/* eslint-disable */
var loadScript = function loadScript(onload) {
if (window.FrontChat) return false;
var script = function script() {
var _x$parentNode;
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.id = 'front-chat-script';
s.src = "".concat(domain, "/v1/chat.bundle.js");
var x = document.getElementsByTagName('script')[0];
(_x$parentNode = x.parentNode) === null || _x$parentNode === void 0 || _x$parentNode.insertBefore(s, x);
s.onload = onload;
};
script();
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(function () {
var _window$FrontChat, _window;
beforeInit();
(_window$FrontChat = (_window = window).FrontChat) === null || _window$FrontChat === void 0 || _window$FrontChat.call(_window, 'init', {
chatId: providerKey,
onInitCompleted: function onInitCompleted() {
setState('complete');
onReady();
if (window.FrontChat) window.FrontChat.hasInitialized = true;
}
//Read more: https://dev.frontapp.com/docs/chat-sdk-reference
});
});
return loaded;
};
var open = function open() {
waitForLoad(function () {
var _window$FrontChat2;
return !!((_window$FrontChat2 = window.FrontChat) !== null && _window$FrontChat2 !== void 0 && _window$FrontChat2.hasInitialized);
}, function () {
var _window$FrontChat3, _window2;
return (_window$FrontChat3 = (_window2 = window).FrontChat) === null || _window$FrontChat3 === void 0 ? void 0 : _window$FrontChat3.call(_window2, 'show');
});
};
export default {
domain: domain,
load: load,
open: open
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3YWl0Rm9yTG9hZCIsImRvbWFpbiIsImxvYWRTY3JpcHQiLCJvbmxvYWQiLCJ3aW5kb3ciLCJGcm9udENoYXQiLCJzY3JpcHQiLCJfeCRwYXJlbnROb2RlIiwicyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJhc3luYyIsImlkIiwic3JjIiwiY29uY2F0IiwieCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicGFyZW50Tm9kZSIsImluc2VydEJlZm9yZSIsImxvYWQiLCJfcmVmIiwicHJvdmlkZXJLZXkiLCJzZXRTdGF0ZSIsIl9yZWYkYmVmb3JlSW5pdCIsImJlZm9yZUluaXQiLCJ1bmRlZmluZWQiLCJfcmVmJG9uUmVhZHkiLCJvblJlYWR5IiwibG9hZGVkIiwiX3dpbmRvdyRGcm9udENoYXQiLCJfd2luZG93IiwiY2FsbCIsImNoYXRJZCIsIm9uSW5pdENvbXBsZXRlZCIsImhhc0luaXRpYWxpemVkIiwib3BlbiIsIl93aW5kb3ckRnJvbnRDaGF0MiIsIl93aW5kb3ckRnJvbnRDaGF0MyIsIl93aW5kb3cyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9mcm9udC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXZWJzaXRlOiBodHRwczovL2Zyb250LmNvbS9wcm9kdWN0L2xpdmUtY2hhdFxuLy8gRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9oZWxwLmZyb250LmNvbS9cblxuaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB3YWl0Rm9yTG9hZCBmcm9tICcuLi91dGlscy93YWl0Rm9yTG9hZCdcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBGcm9udENoYXQ/OiB7XG4gICAgICAoXG4gICAgICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgICAgICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgYm9vbGVhbiB8IHVua25vd24+XG4gICAgICApOiB2b2lkXG4gICAgICAvLyBUaGlzIGlzbid0IHBhcnQgb2YgdGhlIEZyb250Q2hhdCBBUEk7IHdlIGFkZCBpdCB0byB0cmFjayB3aGVuIEZyb250IGlzIGZ1bGx5IGluaXRpYWxpemVkXG4gICAgICBoYXNJbml0aWFsaXplZDogYm9vbGVhblxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBkb21haW4gPSAnaHR0cHM6Ly9jaGF0LWFzc2V0cy5mcm9udGFwcC5jb20nXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuY29uc3QgbG9hZFNjcmlwdCA9IChvbmxvYWQ6ICgpID0+IHZvaWQpID0+IHtcbiAgaWYgKHdpbmRvdy5Gcm9udENoYXQpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHNjcmlwdCA9ICgpID0+IHtcbiAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpXG4gICAgcy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCdcbiAgICBzLmFzeW5jID0gdHJ1ZVxuICAgIHMuaWQgPSAnZnJvbnQtY2hhdC1zY3JpcHQnXG4gICAgcy5zcmMgPSBgJHtkb21haW59L3YxL2NoYXQuYnVuZGxlLmpzYFxuICAgIHZhciB4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdXG4gICAgeC5wYXJlbnROb2RlPy5pbnNlcnRCZWZvcmUocywgeClcbiAgICBzLm9ubG9hZCA9IG9ubG9hZFxuICB9XG4gIHNjcmlwdCgpXG5cbiAgcmV0dXJuIHRydWVcbn1cbi8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgbG9hZCA9ICh7XG4gIHByb3ZpZGVyS2V5LFxuICBzZXRTdGF0ZSxcbiAgYmVmb3JlSW5pdCA9ICgpID0+IHVuZGVmaW5lZCxcbiAgb25SZWFkeSA9ICgpID0+IHVuZGVmaW5lZFxufToge1xuICBwcm92aWRlcktleTogc3RyaW5nXG4gIHNldFN0YXRlOiAoc3RhdGU6IFN0YXRlKSA9PiB2b2lkXG4gIGJlZm9yZUluaXQ/OiAoKSA9PiB2b2lkXG4gIG9uUmVhZHk/OiAoKSA9PiB2b2lkXG59KTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGxvYWRlZCA9IGxvYWRTY3JpcHQoKCkgPT4ge1xuICAgIGJlZm9yZUluaXQoKVxuXG4gICAgd2luZG93LkZyb250Q2hhdD8uKCdpbml0Jywge1xuICAgICAgY2hhdElkOiBwcm92aWRlcktleSxcbiAgICAgIG9uSW5pdENvbXBsZXRlZDogKCkgPT4ge1xuICAgICAgICBzZXRTdGF0ZSgnY29tcGxldGUnKVxuICAgICAgICBvblJlYWR5KClcbiAgICAgICAgaWYgKHdpbmRvdy5Gcm9udENoYXQpIHdpbmRvdy5Gcm9udENoYXQuaGFzSW5pdGlhbGl6ZWQgPSB0cnVlXG4gICAgICB9XG4gICAgICAvL1JlYWQgbW9yZTogaHR0cHM6Ly9kZXYuZnJvbnRhcHAuY29tL2RvY3MvY2hhdC1zZGstcmVmZXJlbmNlXG4gICAgfSlcbiAgfSlcbiAgcmV0dXJuIGxvYWRlZFxufVxuXG5jb25zdCBvcGVuID0gKCk6IHZvaWQgPT4ge1xuICB3YWl0Rm9yTG9hZChcbiAgICAoKSA9PiAhIXdpbmRvdy5Gcm9udENoYXQ/Lmhhc0luaXRpYWxpemVkLFxuICAgICgpID0+IHdpbmRvdy5Gcm9udENoYXQ/Lignc2hvdycpXG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBkb21haW4sXG4gIGxvYWQsXG4gIG9wZW5cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFHQSxPQUFPQSxXQUFXO0FBZWxCLElBQU1DLE1BQU0sR0FBRyxrQ0FBa0M7QUFDakQ7QUFDQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUMsTUFBa0IsRUFBSztFQUN6QyxJQUFJQyxNQUFNLENBQUNDLFNBQVMsRUFBRSxPQUFPLEtBQUs7RUFFbEMsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQU1BLENBQUEsRUFBUztJQUFBLElBQUFDLGFBQUE7SUFDbkIsSUFBSUMsQ0FBQyxHQUFHQyxRQUFRLENBQUNDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDeENGLENBQUMsQ0FBQ0cs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