UNPKG

@findify/mjs

Version:
111 lines (79 loc) 4.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = undefined; var _getComponentNodes = require("./helpers/getComponentNodes"); var _getComponentNodes2 = _interopRequireDefault(_getComponentNodes); var _appendFeature = require("./helpers/appendFeature"); var _appendFeature2 = _interopRequireDefault(_appendFeature); var _handleAnalytics = require("./helpers/handleAnalytics"); var _handleAnalytics2 = _interopRequireDefault(_handleAnalytics); var _injectFeature = require("./helpers/injectFeature"); var _injectFeature2 = _interopRequireDefault(_injectFeature); var _isBot = require("./helpers/isBot"); var _isBot2 = _interopRequireDefault(_isBot); var _elementDataset = require("element-dataset"); var _elementDataset2 = _interopRequireDefault(_elementDataset); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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; } if (__DEVELOPMENT__) { require('regenerator-runtime/runtime'); require('@findify/ui-components/dist/wrapped.css'); } if (typeof document !== 'undefined') (0, _elementDataset2.default)(); var prepareConfig = function prepareConfig(config) { var frameDisabled = config.frameDisabled || _isBot2.default; var css = []; if (!__DEVELOPMENT__) { if (frameDisabled) { css.push(require('!!file-loader?name=styles.css!@findify/ui-components/dist/wrapped.css')); } else { css.push('https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css'); css.push(require('!!raw-loader!@findify/ui-components/dist/styles.css')); } } return _objectSpread({}, config, { frameDisabled: frameDisabled, css: css.concat(_toConsumableArray(config.css)) }); }; var init = exports.init = function init(cfg, analytics) { var appendFeature = (0, _appendFeature2.default)(analytics); var config = prepareConfig(cfg); global.findifyCreateFeature = (0, _injectFeature2.default)(config, analytics); var initialize = function initialize() { return setImmediate(function () { (0, _handleAnalytics2.default)(analytics, config); if (['paused', 'disabled'].includes(config.status)) return; return (0, _getComponentNodes2.default)(config).forEach(appendFeature); }); }; if (['complete', 'loaded', 'interactive'].includes(document.readyState) && document.body) { initialize(); } else { document.addEventListener('DOMContentLoaded', initialize, false); } }; if (__DEVELOPMENT__) { var config = require('../dev/config').default; var analytics = require('@findify/analytics').default; var client = analytics({ key: config.api.key, platform: { bigcommerce: true } }); var api = { key: config.api.key, user: client.user }; init(_objectSpread({}, config, { api: api }), client); }