UNPKG

@nedomas/react-live-chat-loader

Version:

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

55 lines 9.8 kB
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var _excluded = ["provider", "children", "idlePeriod", "maxIdlePeriod", "baseUrl"]; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; } import React, { useState } from 'react'; import * as Providers from "../providers"; import { LiveChatLoaderContext } from "../context"; export var LiveChatLoaderProvider = function LiveChatLoaderProvider(_ref) { var provider = _ref.provider, children = _ref.children, _ref$idlePeriod = _ref.idlePeriod, idlePeriod = _ref$idlePeriod === void 0 ? 5000 : _ref$idlePeriod, _ref$maxIdlePeriod = _ref.maxIdlePeriod, maxIdlePeriod = _ref$maxIdlePeriod === void 0 ? 5000 : _ref$maxIdlePeriod, baseUrl = _ref.baseUrl, props = _objectWithoutProperties(_ref, _excluded); var _useState = useState('initial'), _useState2 = _slicedToArray(_useState, 2), state = _useState2[0], setState = _useState2[1]; var value = _objectSpread({ provider: provider, idlePeriod: idlePeriod, maxIdlePeriod: maxIdlePeriod, state: state, setState: setState, baseUrl: baseUrl }, props); var chatProvider = Providers[provider]; if (!chatProvider) { //eslint-disable-next-line no-console console.error("Unknown provider given to react-live-chat-loader: ".concat(provider)); return null; } return /*#__PURE__*/React.createElement(LiveChatLoaderContext.Provider, { value: value }, /*#__PURE__*/React.createElement("link", { href: baseUrl || chatProvider.domain, rel: "preconnect", crossOrigin: "" }), children); }; export default LiveChatLoaderProvider; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiUHJvdmlkZXJzIiwiTGl2ZUNoYXRMb2FkZXJDb250ZXh0IiwiTGl2ZUNoYXRMb2FkZXJQcm92aWRlciIsIl9yZWYiLCJwcm92aWRlciIsImNoaWxkcmVuIiwiX3JlZiRpZGxlUGVyaW9kIiwiaWRsZVBlcmlvZCIsIl9yZWYkbWF4SWRsZVBlcmlvZCIsIm1heElkbGVQZXJpb2QiLCJiYXNlVXJsIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzdGF0ZSIsInNldFN0YXRlIiwidmFsdWUiLCJfb2JqZWN0U3ByZWFkIiwiY2hhdFByb3ZpZGVyIiwiY29uc29sZSIsImVycm9yIiwiY29uY2F0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwiaHJlZiIsImRvbWFpbiIsInJlbCIsImNyb3NzT3JpZ2luIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvTGl2ZUNoYXRMb2FkZXJQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgKiBhcyBQcm92aWRlcnMgZnJvbSAnLi4vcHJvdmlkZXJzJ1xuaW1wb3J0IHsgU3RhdGUsIFByb3ZpZGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBMaXZlQ2hhdExvYWRlckNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0J1xuXG5pbnRlcmZhY2UgTGl2ZUNoYXRMb2FkZXJQcm9wcyB7XG4gIHByb3ZpZGVyOiBQcm92aWRlclxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIGlkbGVQZXJpb2Q/OiBudW1iZXJcbiAgbWF4SWRsZVBlcmlvZD86IG51bWJlclxuICBwcm92aWRlcktleTogc3RyaW5nXG4gIGFwcElEPzogc3RyaW5nXG4gIGJhc2VVcmw/OiBzdHJpbmdcbiAgLy8gbG9jYWxlIGlzIG9ubHkgcmVsZXZhbnQgdG8gY2VydGFpbiBwcm92aWRlcnMsIGUuZy4gTWVzc2VuZ2VyIGFuZCBDaGF0d29vdFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgYmVmb3JlSW5pdD86ICgpID0+IHZvaWRcbiAgb25SZWFkeT86ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IExpdmVDaGF0TG9hZGVyUHJvdmlkZXIgPSAoe1xuICBwcm92aWRlcixcbiAgY2hpbGRyZW4sXG4gIGlkbGVQZXJpb2QgPSA1MDAwLFxuICBtYXhJZGxlUGVyaW9kID0gNTAwMCxcbiAgYmFzZVVybCxcbiAgLi4ucHJvcHNcbn06IExpdmVDaGF0TG9hZGVyUHJvcHMpOiBKU1guRWxlbWVudCB8IG51bGwgPT4ge1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlPFN0YXRlPignaW5pdGlhbCcpXG4gIGNvbnN0IHZhbHVlID0ge1xuICAgIHByb3ZpZGVyLFxuICAgIGlkbGVQZXJpb2QsXG4gICAgbWF4SWRsZVBlcmlvZCxcbiAgICBzdGF0ZSxcbiAgICBzZXRTdGF0ZSxcbiAgICBiYXNlVXJsLFxuICAgIC4uLnByb3BzXG4gIH1cblxuICBjb25zdCBjaGF0UHJvdmlkZXIgPSBQcm92aWRlcnNbcHJvdmlkZXJdXG5cbiAgaWYgKCFjaGF0UHJvdmlkZXIpIHtcbiAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBVbmtub3duIHByb3ZpZGVyIGdpdmVuIHRvIHJlYWN0LWxpdmUtY2hhdC1sb2FkZXI6ICR7cHJvdmlkZXJ9YFxuICAgIClcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TGl2ZUNoYXRMb2FkZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8bGlua1xuICAgICAgICBocmVmPXtiYXNlVXJsIHx8IGNoYXRQcm92aWRlci5kb21haW59XG4gICAgICAgIHJlbD1cInByZWNvbm5lY3RcIlxuICAgICAgICBjcm9zc09yaWdpbj1cIlwiXG4gICAgICAvPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvTGl2ZUNoYXRMb2FkZXJDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IExpdmVDaGF0TG9hZGVyUHJvdmlkZXJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxRQUFRLFFBQVEsT0FBTztBQUN2QyxPQUFPLEtBQUtDLFNBQVM7QUFFckIsU0FBU0MscUJBQXFCO0FBZ0I5QixPQUFPLElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUFDLElBQUEsRUFPWTtFQUFBLElBTjdDQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtJQUNSQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtJQUFBQyxlQUFBLEdBQUFILElBQUEsQ0FDUkksVUFBVTtJQUFWQSxVQUFVLEdBQUFELGVBQUEsY0FBRyxJQUFJLEdBQUFBLGVBQUE7SUFBQUUsa0JBQUEsR0FBQUwsSUFBQSxDQUNqQk0sYUFBYTtJQUFiQSxhQUFhLEdBQUFELGtCQUFBLGNBQUcsSUFBSSxHQUFBQSxrQkFBQTtJQUNwQkUsT0FBTyxHQUFBUCxJQUFBLENBQVBPLE9BQU87SUFDSkMsS0FBSyxHQUFBQyx3QkFBQSxDQUFBVCxJQUFBLEVBQUFVLFNBQUE7RUFFUixJQUFBQyxTQUFBLEdBQTBCZixRQUFRLENBQVEsU0FBUyxDQUFDO0lBQUFnQixVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUE3Q0csS0FBSyxHQUFBRixVQUFBO0lBQUVHLFFBQVEsR0FBQUgsVUFBQTtFQUN0QixJQUFNSSxLQUFLLEdBQUFDLGFBQUE7SUFDVGhCLFFBQVEsRUFBUkEsUUFBUTtJQUNSRyxVQUFVLEVBQVZBLFVBQVU7SUFDVkUsYUFBYSxFQUFiQSxhQUFhO0lBQ2JRLEtBQUssRUFBTEEsS0FBSztJQUNMQyxRQUFRLEVBQVJBLFFBQVE7SUFDUlIsT0FBTyxFQUFQQTtFQUFPLEdBQ0pDLEtBQUssQ0FDVDtFQUVELElBQU1VLFlBQVksR0FBR3JCLFNBQVMsQ0FBQ0ksUUFBUSxDQUFDO0VBRXhDLElBQUksQ0FBQ2lCLFlBQVksRUFBRTtJQUNqQjtJQUNBQyxPQUFPLENBQUNDLEtBQUssc0RBQUFDLE1BQUEsQ0FDMENwQixRQUFRLENBQy9ELENBQUM7SUFDRCxPQUFPLElBQUk7RUFDYjtFQUVBLG9CQUNFTixLQUFBLENBQUEyQixhQUFBLENBQUN4QixxQkFBcUIsQ0FBQ3lCLFFBQVE7SUFBQ1AsS0FBSyxFQUFFQTtFQUFNLGdCQUMzQ3JCLEtBQUEsQ0FBQTJCLGFBQUE7SUFDRUUsSUFBSSxFQUFFakIsT0FBTyxJQUFJVyxZQUFZLENBQUNPLE1BQU87SUFDckNDLEdBQUcsRUFBQyxZQUFZO0lBQ2hCQyxXQUFXLEVBQUM7RUFBRSxDQUNmLENBQUMsRUFDRHpCLFFBQzZCLENBQUM7QUFFckMsQ0FBQztBQUVELGVBQWVILHNCQUFzQiIsImlnbm9yZUxpc3QiOltdfQ==