UNPKG

@findify/mjs

Version:
130 lines (96 loc) 5.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _defaultProps2 = require("recompose/defaultProps"); var _defaultProps3 = _interopRequireDefault(_defaultProps2); var _compose2 = require("recompose/compose"); var _compose3 = _interopRequireDefault(_compose2); var _react = require("react"); var _withNodeState = require("../decorators/withNodeState"); var _withNodeState2 = _interopRequireDefault(_withNodeState); var _withLocationManager = require("../decorators/withLocationManager"); var _withLocationManager2 = _interopRequireDefault(_withLocationManager); var _watchIsMobile = require("../decorators/watchIsMobile"); var _watchIsMobile2 = _interopRequireDefault(_watchIsMobile); var _connectProvider = require("../decorators/connectProvider"); var _connectProvider2 = _interopRequireDefault(_connectProvider); var _withFakeHandlers = require("../decorators/withFakeHandlers"); var _withFakeHandlers2 = _interopRequireDefault(_withFakeHandlers); var _withFakeLocation = require("../decorators/withFakeLocation"); var _withFakeLocation2 = _interopRequireDefault(_withFakeLocation); var _postProcess = require("../decorators/postProcess"); var _postProcess2 = _interopRequireDefault(_postProcess); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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; } function _objectWithoutProperties(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]; } 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 _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; } } /** * Global components are self generated and could be used * on external web-sited */ var createGlobalComponent = function createGlobalComponent(_ref) { var type = _ref.type, node = _ref.node, config = _ref.config, hooks = _ref.hooks, analytics = _ref.analytics, initialHTML = _ref.initialHTML, decorators = _ref.decorators, provider = _ref.provider; return _compose3.default.apply(void 0, [(0, _defaultProps3.default)({ config: config, hooks: hooks, analytics: analytics }), (0, _withLocationManager2.default)(config, hooks), (0, _withNodeState2.default)({ node: node, initialHTML: initialHTML }), (0, _watchIsMobile2.default)(config), (0, _connectProvider2.default)(provider)].concat(_toConsumableArray(decorators), [_postProcess2.default])); }; /** * Inline components are buddy components which you can use * in tests or in react app */ var createInlineComponent = function createInlineComponent(_ref2) { var type = _ref2.type, node = _ref2.node, config = _ref2.config, hooks = _ref2.hooks, analytics = _ref2.analytics, decorators = _ref2.decorators, provider = _ref2.provider; return _compose3.default.apply(void 0, [(0, _defaultProps3.default)({ inline: true }), (0, _withFakeHandlers2.default)({ config: config }), _withFakeLocation2.default, (0, _withNodeState2.default)(), (0, _connectProvider2.default)(provider)].concat(_toConsumableArray(decorators))); }; exports.default = function (_ref3) { var appendTo = _ref3.appendTo, component = _ref3.component, provider = _ref3.provider; return function () { for (var _len = arguments.length, decorators = new Array(_len), _key = 0; _key < _len; _key++) { decorators[_key] = arguments[_key]; } return function (_ref4) { var _ref4$inline = _ref4.inline, inline = _ref4$inline === void 0 ? false : _ref4$inline, props = _objectWithoutProperties(_ref4, ["inline"]); return inline ? createInlineComponent(_objectSpread({}, props, { provider: provider, decorators: decorators }))(component) : { appendTo: appendTo, Component: (0, _react.createElement)(createGlobalComponent(_objectSpread({}, props, { provider: provider, decorators: decorators }))(component)) }; }; }; };