tb-react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
69 lines (50 loc) • 7.42 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.LiveChatLoaderProvider = void 0;
var _react = _interopRequireWildcard(require("react"));
var Providers = _interopRequireWildcard(require("../providers"));
var _context = require("../context");
const _excluded = ["provider", "children", "idlePeriod", "baseUrl"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
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 = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
const LiveChatLoaderProvider = _ref => {
let {
provider,
children,
idlePeriod = 5000,
baseUrl
} = _ref,
props = _objectWithoutProperties(_ref, _excluded);
const [state, setState] = (0, _react.useState)('initial');
const value = _objectSpread({
provider,
idlePeriod,
state,
setState,
baseUrl
}, props);
const chatProvider = Providers[provider];
if (!chatProvider) {
//eslint-disable-next-line no-console
console.error(`Unknown provider given to react-live-chat-loader: ${provider}`);
return null;
}
return /*#__PURE__*/_react.default.createElement(_context.LiveChatLoaderContext.Provider, {
value: value
}, /*#__PURE__*/_react.default.createElement("link", {
href: baseUrl || chatProvider.domain,
rel: "preconnect",
crossOrigin: ""
}), children);
};
exports.LiveChatLoaderProvider = LiveChatLoaderProvider;
var _default = LiveChatLoaderProvider;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0xpdmVDaGF0TG9hZGVyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbIkxpdmVDaGF0TG9hZGVyUHJvdmlkZXIiLCJwcm92aWRlciIsImNoaWxkcmVuIiwiaWRsZVBlcmlvZCIsImJhc2VVcmwiLCJwcm9wcyIsInN0YXRlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsImNoYXRQcm92aWRlciIsIlByb3ZpZGVycyIsImNvbnNvbGUiLCJlcnJvciIsImRvbWFpbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhTyxNQUFNQSxzQkFBc0IsR0FBRyxRQU1TO0FBQUEsTUFOUjtBQUNyQ0MsSUFBQUEsUUFEcUM7QUFFckNDLElBQUFBLFFBRnFDO0FBR3JDQyxJQUFBQSxVQUFVLEdBQUcsSUFId0I7QUFJckNDLElBQUFBO0FBSnFDLEdBTVE7QUFBQSxNQUQxQ0MsS0FDMEM7O0FBQzdDLFFBQU0sQ0FBQ0MsS0FBRCxFQUFRQyxRQUFSLElBQW9CLHFCQUFnQixTQUFoQixDQUExQjs7QUFDQSxRQUFNQyxLQUFLO0FBQ1RQLElBQUFBLFFBRFM7QUFFVEUsSUFBQUEsVUFGUztBQUdURyxJQUFBQSxLQUhTO0FBSVRDLElBQUFBLFFBSlM7QUFLVEgsSUFBQUE7QUFMUyxLQU1OQyxLQU5NLENBQVg7O0FBU0EsUUFBTUksWUFBWSxHQUFHQyxTQUFTLENBQUNULFFBQUQsQ0FBOUI7O0FBRUEsTUFBSSxDQUFDUSxZQUFMLEVBQW1CO0FBQ2pCO0FBQ0FFLElBQUFBLE9BQU8sQ0FBQ0MsS0FBUixDQUNHLHFEQUFvRFgsUUFBUyxFQURoRTtBQUdBLFdBQU8sSUFBUDtBQUNEOztBQUVELHNCQUNFLDZCQUFDLDhCQUFELENBQXVCLFFBQXZCO0FBQWdDLElBQUEsS0FBSyxFQUFFTztBQUF2QyxrQkFDRTtBQUNFLElBQUEsSUFBSSxFQUFFSixPQUFPLElBQUlLLFlBQVksQ0FBQ0ksTUFEaEM7QUFFRSxJQUFBLEdBQUcsRUFBQyxZQUZOO0FBR0UsSUFBQSxXQUFXLEVBQUM7QUFIZCxJQURGLEVBTUdYLFFBTkgsQ0FERjtBQVVELENBckNNOzs7ZUF1Q1FGLHNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgKiBhcyBQcm92aWRlcnMgZnJvbSAnLi4vcHJvdmlkZXJzJ1xuaW1wb3J0IHsgU3RhdGUsIFByb3ZpZGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBMaXZlQ2hhdExvYWRlckNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0J1xuXG5pbnRlcmZhY2UgTGl2ZUNoYXRMb2FkZXJQcm9wcyB7XG4gIHByb3ZpZGVyOiBQcm92aWRlclxuICBjaGlsZHJlbjogSlNYLkVsZW1lbnRcbiAgaWRsZVBlcmlvZD86IG51bWJlclxuICBwcm92aWRlcktleTogc3RyaW5nXG4gIGFwcElEPzogc3RyaW5nXG4gIGJhc2VVcmw/OiBzdHJpbmdcbiAgYmVmb3JlSW5pdD86ICgpID0+IHZvaWRcbiAgb25SZWFkeT86ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IExpdmVDaGF0TG9hZGVyUHJvdmlkZXIgPSAoe1xuICBwcm92aWRlcixcbiAgY2hpbGRyZW4sXG4gIGlkbGVQZXJpb2QgPSA1MDAwLFxuICBiYXNlVXJsLFxuICAuLi5wcm9wc1xufTogTGl2ZUNoYXRMb2FkZXJQcm9wcyk6IEpTWC5FbGVtZW50IHwgbnVsbCA9PiB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gdXNlU3RhdGU8U3RhdGU+KCdpbml0aWFsJylcbiAgY29uc3QgdmFsdWUgPSB7XG4gICAgcHJvdmlkZXIsXG4gICAgaWRsZVBlcmlvZCxcbiAgICBzdGF0ZSxcbiAgICBzZXRTdGF0ZSxcbiAgICBiYXNlVXJsLFxuICAgIC4uLnByb3BzXG4gIH1cblxuICBjb25zdCBjaGF0UHJvdmlkZXIgPSBQcm92aWRlcnNbcHJvdmlkZXJdXG5cbiAgaWYgKCFjaGF0UHJvdmlkZXIpIHtcbiAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBVbmtub3duIHByb3ZpZGVyIGdpdmVuIHRvIHJlYWN0LWxpdmUtY2hhdC1sb2FkZXI6ICR7cHJvdmlkZXJ9YFxuICAgIClcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TGl2ZUNoYXRMb2FkZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8bGlua1xuICAgICAgICBocmVmPXtiYXNlVXJsIHx8IGNoYXRQcm92aWRlci5kb21haW59XG4gICAgICAgIHJlbD1cInByZWNvbm5lY3RcIlxuICAgICAgICBjcm9zc09yaWdpbj1cIlwiXG4gICAgICAvPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvTGl2ZUNoYXRMb2FkZXJDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IExpdmVDaGF0TG9hZGVyUHJvdmlkZXJcbiJdfQ==
;