UNPKG

spiritjs

Version:

The animation toolkit for the web

1,354 lines (1,235 loc) 139 kB
/*! * Spirit.js v3.1.17 * * (c) 2024 Patrick Brouwer * Released under the MIT License. */ var spirit; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./src/config/config.js": /*!******************************!*\ !*** ./src/config/config.js ***! \******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/context */ "./src/utils/context.js"); var Config = function Config() { this.debug = true && (0,_utils_context__WEBPACK_IMPORTED_MODULE_0__.isBrowser)(); this.overwriteAnimations = true; this.gsap = { instance: null, autoInject: true, autoInjectUrl: 'https://unpkg.com/gsap@3.1.1/dist/gsap.min.js' }; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new Config()); /***/ }), /***/ "./src/config/setup.js": /*!*****************************!*\ !*** ./src/config/setup.js ***! \*****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ setup) /* harmony export */ }); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config */ "./src/config/config.js"); /* harmony import */ var _utils_gsap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/gsap */ "./src/utils/gsap.js"); /** * Setup Spirit GSAP * * @param {object} gsapInstance */ function setup(gsapInstance) { if (gsapInstance === void 0) { gsapInstance = null; } return new Promise(function (resolve, reject) { if ((0,_utils_gsap__WEBPACK_IMPORTED_MODULE_2__.isGSAPInstance)(gsapInstance)) { _config__WEBPACK_IMPORTED_MODULE_1__["default"].gsap.instance = gsapInstance; } _utils__WEBPACK_IMPORTED_MODULE_0__.gsap.ensure().then(resolve)["catch"](reject); }); } /***/ }), /***/ "./src/data/parser.js": /*!****************************!*\ !*** ./src/data/parser.js ***! \****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ load: () => (/* binding */ load) /* harmony export */ }); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); /* harmony import */ var _group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../group */ "./src/group/index.js"); /** * Create groups factory * * @return {{add: {function} add, groups: {array|Groups} groups}} */ function groupsFactory() { var list = []; var getGroupsByRoot = function getGroupsByRoot(root) { for (var i = 0; i < list.length; i++) { var groups = list[i]; if (groups.rootEl === root) { return groups; } } return null; }; return { add: function add(root, group) { var groups = getGroupsByRoot(root); if (!groups) { groups = new _group__WEBPACK_IMPORTED_MODULE_1__.Groups(root, []); list.push(groups); } if (group) { group._list = groups; group.resolve(); groups.add(group); } }, groups: function groups() { return list.length === 1 ? list[0] : list; } }; } /** * Parse groups * * @param {object|Array} data animation data * @param {Element} root the root element for animation groups * @returns Groups */ function create(data, root) { if (root === void 0) { root = undefined; } if (!_utils__WEBPACK_IMPORTED_MODULE_0__.context.isBrowser()) { throw new Error('Invalid context. spirit.create() can only be executed in the browser.'); } var resolveRoot = false; // ensure root element if (!(root instanceof window.Element)) { resolveRoot = true; root = document.body || document.documentElement; } if (_utils__WEBPACK_IMPORTED_MODULE_0__.is.isObject(data) && data['groups'] && Array.isArray(data['groups'])) { data = data['groups']; } if (!Array.isArray(data)) { data = [data]; } var factory = groupsFactory(); if (data.length === 0) { factory.add(root, null); } data.forEach(function (g) { var groupRoot = root; if (resolveRoot && g.root) { groupRoot = _utils__WEBPACK_IMPORTED_MODULE_0__.resolver.resolveElement(root, g.root); if (!groupRoot) { groupRoot = root; } } var d = { name: g.name, timeScale: g.timeScale || 1, timelines: [] }; var timelines = g.timelines || []; timelines.forEach(function (timeline) { d.timelines.push({ type: timeline.type, props: timeline.props, label: timeline.label || timeline.id || timeline.path, path: timeline.path || null, id: timeline.id || null }); }); factory.add(groupRoot, new _group__WEBPACK_IMPORTED_MODULE_1__.Group(d)); }); return factory.groups(); } /** * Load data and apply it to element * * @param {string} url * @param {Element} root * @returns {Promise} */ function load(url, root) { if (root === void 0) { root = undefined; } if (!_utils__WEBPACK_IMPORTED_MODULE_0__.context.isBrowser()) { return Promise.reject(new Error('Invalid context: spirit.load() can only be executed in the browser.')); } return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.jsonloader)(url).then(function (data) { return create(data, root); }); } /***/ }), /***/ "./src/group/evalmap.js": /*!******************************!*\ !*** ./src/group/evalmap.js ***! \******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); var EvalMap = /** * Create an evaluable map * * @param {RegExp} regex * @param {*} map */ function EvalMap(regex, map) { if (!regex || regex && !(regex instanceof RegExp)) { throw new Error('Invalid expression.'); } if (map === null || map === undefined) { throw new Error('Invalid mapping.'); } Object.assign(this, { regex: regex, map: map }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EvalMap); /***/ }), /***/ "./src/group/group.js": /*!****************************!*\ !*** ./src/group/group.js ***! \****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _config_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config/config */ "./src/config/config.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); /* harmony import */ var _timelines__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./timelines */ "./src/group/timelines.js"); /* harmony import */ var _utils_emitter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/emitter */ "./src/utils/emitter.js"); /* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/errors */ "./src/utils/errors.js"); /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/events */ "./src/utils/events.js"); /* harmony import */ var _utils_gsap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/gsap */ "./src/utils/gsap.js"); var _dec, _dec2, _dec3, _dec4, _class; 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(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } 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 _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(i, e, a), a = null), a; } /** * Group. */ var Group = (_dec = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_3__.emitChange)(), _dec2 = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_3__.emitChange)(), _dec3 = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_3__.emitChange)(), _dec4 = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_3__.emitChange)(), (_class = /*#__PURE__*/function (_Emitter) { /** * Create a group instance. * * @param {object} props */ function Group(props) { var _this; if (props === void 0) { props = {}; } _this = _Emitter.call(this) || this; _this._name = 'untitled'; _this._timeScale = 1; _this._timelines = new _timelines__WEBPACK_IMPORTED_MODULE_2__["default"](); _this.timeline = null; if (!props.name || typeof props.name !== 'string' || props.name.trim() === '') { throw new Error('Cannot create group without a name.'); } var defaults = { name: 'untitled', timeScale: 1, timelines: new _timelines__WEBPACK_IMPORTED_MODULE_2__["default"]() }; Object.assign(_this, _objectSpread(_objectSpread({}, defaults), props)); return _this; } /** * Get timelines * * @returns {Timelines} */ _inheritsLoose(Group, _Emitter); var _proto = Group.prototype; /** * Convert group to object * * @returns {object} */ _proto.toObject = function toObject() { var name = this.name; var timeScale = this.timeScale; var timelines = this.timelines.toArray(); return { name: name, timeScale: timeScale, timelines: timelines }; }; _proto.reset = function reset() { var killed = false; if (this.timeline) { killed = true; _utils__WEBPACK_IMPORTED_MODULE_1__.gsap.killTimeline(this.timeline); // reset styles this.timelines.each(function (tl) { if (tl.type === 'dom' && tl.transformObject instanceof window.Element) { if (tl._style) tl.transformObject.setAttribute('style', tl._style); if (tl._transform) tl.transformObject.setAttribute('transform', ''); } }); } return killed; } /** * Resolve transformObject for timelines * * @returns {Group} */; _proto.resolve = function resolve() { this.reset(); var root = this._list && this._list.rootEl ? this._list.rootEl : null; if (!root) { return this; } var hasUnresolved = false; this.timelines.each(function (timeline) { if (timeline.type === 'dom') { timeline.transformObject = !root ? null : _utils__WEBPACK_IMPORTED_MODULE_1__.resolver.resolveElement(root, timeline); if (timeline.transformObject) { timeline.path = _utils__WEBPACK_IMPORTED_MODULE_1__.xpath.getExpression(timeline.transformObject, root); } if (!hasUnresolved && !timeline.transformObject) { hasUnresolved = true; } } }); this.emit('resolve', { resolved: this.resolved, unresolved: this.unresolved }); if (hasUnresolved) { if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.debug)()) { console.warn("Could not resolve all elements for group " + this.name, this.unresolved); } this.emit('unresolve', this.unresolved); } return this; } /** * Construct GSAP timeline * * @param {boolean} resolve elements * @returns {gsap.timeline} */; _proto.construct = function construct(resolve) { var _this2 = this; if (resolve === void 0) { resolve = false; } try { if (!_utils__WEBPACK_IMPORTED_MODULE_1__.gsap.has()) { if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.debug)()) { console.warn("Cannot construct group " + this.name + ". GSAP not found."); } throw new Error('GSAP cannot be found'); } if (resolve) { this.resolve(); } if (!this.reset()) { this.timeline = _config_config__WEBPACK_IMPORTED_MODULE_0__["default"].gsap.instance.timeline({ paused: true }); // eslint-disable-line new-cap } this.resolved.each(function (timeline) { if (timeline.type === 'dom' && timeline.transformObject instanceof window.Element) { try { _this2.timeline.add(_utils__WEBPACK_IMPORTED_MODULE_1__.gsap.generateTimeline(timeline).play(), 0, 'start'); } catch (err) { throw new _utils_errors__WEBPACK_IMPORTED_MODULE_4__.TimelineError(err.message, timeline.transformObject, err.stack); } } }); this.timeline.timeScale(this.timeScale); this._duration = this.timeline.duration(); } catch (err) { err.message = "Could not construct timeline: " + err.message; throw err; } this.emit('construct', this.timeline); return this.timeline; }; return _createClass(Group, [{ key: "timelines", get: function get() { return this._timelines; } /** * Get unresolved timelines * * @returns {Timelines} */, set: /** * Set timelines * * @param {Timelines} timelines */ function set(timelines) { if (!(timelines instanceof _timelines__WEBPACK_IMPORTED_MODULE_2__["default"])) { timelines = new _timelines__WEBPACK_IMPORTED_MODULE_2__["default"](Array.from(timelines)); } this._timelines = timelines; } /** * Get current timeScale * * @returns {number} */ }, { key: "unresolved", get: function get() { var timelines = new _timelines__WEBPACK_IMPORTED_MODULE_2__["default"](); this.timelines.each(function (tl) { return !tl.transformObject && timelines.add(tl); }); return timelines; } /** * Get resolved timelines * * @returns {Timelines} */ }, { key: "resolved", get: function get() { var timelines = new _timelines__WEBPACK_IMPORTED_MODULE_2__["default"](); this.timelines.each(function (tl) { return !!tl.transformObject && timelines.add(tl); }); return timelines; } }, { key: "timeScale", get: function get() { return this._timeScale; } /** * Set timeScale * * @param {number} scale */, set: function set(scale) { if (!(typeof scale === 'number' && Number.isFinite(scale))) { throw new Error('timeScale needs to be a number'); } if ((0,_utils_gsap__WEBPACK_IMPORTED_MODULE_6__.isGSAPTimeline)(this.timeline)) { this.timeline.timeScale(scale); } this._timeScale = scale; } /** * Get the timeline duration. * Equal to this.timeline.duration() * * @returns {number} */ }, { key: "duration", get: function get() { return this.timeline ? this.timeline.duration() : 0; } /** * Set the timeline duration. * Updates the group timeScale * * @param {number} val */, set: function set(val) { if ((0,_utils_gsap__WEBPACK_IMPORTED_MODULE_6__.isGSAPTimeline)(this.timeline)) { this.timeline.duration(val); this.timeScale = this.timeline.timeScale(); this._duration = this.timeline.duration(); } } /** * Get name * * @returns {string} */ }, { key: "name", get: function get() { return this._name; } /** * Set name * * @param {string} name */, set: function set(name) { if (typeof name !== 'string') { throw new Error('Name needs to be a string'); } this._name = name; } }]); }(_utils_events__WEBPACK_IMPORTED_MODULE_5__.Emitter), (_applyDecoratedDescriptor(_class.prototype, "timelines", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "timelines"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "timeScale", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "timeScale"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "duration", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "duration"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "name", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "name"), _class.prototype)), _class)); Group.fromObject = function (obj) { return new Group(obj); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Group); /***/ }), /***/ "./src/group/groups.js": /*!*****************************!*\ !*** ./src/group/groups.js ***! \*****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _list_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../list/list */ "./src/list/list.js"); /* harmony import */ var _group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./group */ "./src/group/group.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); /* harmony import */ var _registry_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../registry/registry */ "./src/registry/registry.js"); function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } var Groups = /*#__PURE__*/function (_List) { /** * Create a groups instance. * * @param {HTMLElement} rootEl define the animation root * @param {Array} data */ function Groups(rootEl, data) { var _this; if (rootEl === void 0) { rootEl = document.body; } if (data === void 0) { data = []; } _this = _List.call(this, data, _group__WEBPACK_IMPORTED_MODULE_1__["default"], [{ name: 'untitled' }]) || this; _this.rootEl = null; if (!(rootEl instanceof window.Element)) { throw new Error('No root element provided.'); } _this.rootEl = rootEl; // add groups to registry _this.each(function (g) { return _registry_registry__WEBPACK_IMPORTED_MODULE_3__["default"].add(g); }); return _this; } /** * Add group to list and global registry * * @param {Array|*} group * @returns {Array|*} */ _inheritsLoose(Groups, _List); var _proto = Groups.prototype; _proto.add = function add(group) { var affected = _List.prototype.add.call(this, group); Array.isArray(affected) ? affected.forEach(function (g) { return _registry_registry__WEBPACK_IMPORTED_MODULE_3__["default"].add(g); }) : _registry_registry__WEBPACK_IMPORTED_MODULE_3__["default"].add(affected); return affected; } /** * Remove group from list and global registry * * @param {Array|*} group * @returns {Array|*} */; _proto.remove = function remove(group) { var affected = _List.prototype.remove.call(this, group); Array.isArray(affected) ? affected.forEach(function (g) { return _registry_registry__WEBPACK_IMPORTED_MODULE_3__["default"].remove(g); }) : _registry_registry__WEBPACK_IMPORTED_MODULE_3__["default"].remove(affected); return affected; } /** * Construct all groups * * @returns {Array.<TimelineLite|TimelineMax>} */; _proto.construct = function construct(resolve) { if (resolve === void 0) { resolve = false; } if (!_utils__WEBPACK_IMPORTED_MODULE_2__.gsap.has()) { (0,_utils__WEBPACK_IMPORTED_MODULE_2__.debug)() && console.warn('Trying to construct groups, but GSAP cannot be found.'); throw new Error('GSAP cannot be found'); } return this.list.map(function (group) { return group.construct(resolve); }); } /** * Get group by name * * @param {string} name * @returns {Group|undefined} */; _proto.get = function get(name) { return this.list.find(function (group) { return group.name === name; }); }; return Groups; }(_list_list__WEBPACK_IMPORTED_MODULE_0__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Groups); /***/ }), /***/ "./src/group/index.js": /*!****************************!*\ !*** ./src/group/index.js ***! \****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EvalMap: () => (/* reexport safe */ _evalmap__WEBPACK_IMPORTED_MODULE_0__["default"]), /* harmony export */ Group: () => (/* reexport safe */ _group__WEBPACK_IMPORTED_MODULE_1__["default"]), /* harmony export */ Groups: () => (/* reexport safe */ _groups__WEBPACK_IMPORTED_MODULE_2__["default"]), /* harmony export */ Keyframe: () => (/* reexport safe */ _keyframe__WEBPACK_IMPORTED_MODULE_3__["default"]), /* harmony export */ Keyframes: () => (/* reexport safe */ _keyframes__WEBPACK_IMPORTED_MODULE_4__["default"]), /* harmony export */ Prop: () => (/* reexport safe */ _prop__WEBPACK_IMPORTED_MODULE_5__["default"]), /* harmony export */ Props: () => (/* reexport safe */ _props__WEBPACK_IMPORTED_MODULE_6__["default"]), /* harmony export */ Timeline: () => (/* reexport safe */ _timeline__WEBPACK_IMPORTED_MODULE_7__["default"]), /* harmony export */ Timelines: () => (/* reexport safe */ _timelines__WEBPACK_IMPORTED_MODULE_8__["default"]) /* harmony export */ }); /* harmony import */ var _evalmap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./evalmap */ "./src/group/evalmap.js"); /* harmony import */ var _group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./group */ "./src/group/group.js"); /* harmony import */ var _groups__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./groups */ "./src/group/groups.js"); /* harmony import */ var _keyframe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./keyframe */ "./src/group/keyframe.js"); /* harmony import */ var _keyframes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./keyframes */ "./src/group/keyframes.js"); /* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./prop */ "./src/group/prop.js"); /* harmony import */ var _props__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./props */ "./src/group/props.js"); /* harmony import */ var _timeline__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./timeline */ "./src/group/timeline.js"); /* harmony import */ var _timelines__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./timelines */ "./src/group/timelines.js"); /***/ }), /***/ "./src/group/keyframe.js": /*!*******************************!*\ !*** ./src/group/keyframe.js ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); /* harmony import */ var _utils_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/emitter */ "./src/utils/emitter.js"); /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/events */ "./src/utils/events.js"); var _dec, _dec2, _dec3, _class, _class2; function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } 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 _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(i, e, a), a = null), a; } /** * ------------------------------------------- * Single keyframe. * * @example * * { * "0.1s": { value: 10, ease: "Linear.easeNone" } * } * * @fires Keyframe#change * @fires Keyframe#change:time * @fires Keyframe#change:value * @fires Keyframe#change:ease * * @fires List#change * @fires List#change:time * @fires List#change:value * @fires List#change:ease * * ------------------------------------------- */ var Keyframe = (_dec = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_1__.emitChange)('time', null, [{ validator: function validator(val) { return typeof val === 'number'; }, message: 'Time must be a number' }]), _dec2 = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_1__.emitChange)('ease', null), _dec3 = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_1__.emitChange)(), _dec(_class = _dec2(_class = (_class2 = /*#__PURE__*/function (_Emitter) { /** * Keyframe. * * @param {number} time position (in seconds) on timeline * @param {*} value value assigned * @param {string} ease easing value (optional) */ function Keyframe(time, value, ease) { var _this; if (ease === void 0) { ease = null; } _this = _Emitter.call(this) || this; _this._list = null; _this._value = null; _this.mappings = []; ease = ease || null; Object.assign(_this, { time: time, value: value, ease: ease }); return _this; } /** * Get next keyframe (linked list) * * @returns {Keyframe|null} */ _inheritsLoose(Keyframe, _Emitter); var _proto = Keyframe.prototype; _proto.next = function next() { return this._next; } /** * Get previous keyframe (linked list) * * @returns {Keyframe|null} */; _proto.prev = function prev() { return this._prev; } /** * Get the value * * @returns {*} */; /** * Check if current keyframe has an evaluable value * * @returns {boolean} */ _proto.isEval = function isEval() { return /{(.*?)}/.test(this._value); } /** * Convert to readable object * * @param {boolean} ignoreEval * @returns {object} { "0.2s": { value: 10, ease: "Linear.easeNone" }} */; _proto.toObject = function toObject(ignoreEval) { var _ref; if (ignoreEval === void 0) { ignoreEval = false; } var value; try { value = ignoreEval ? this._value : this.value; } catch (err) { value = this._value; } return _ref = {}, _ref[this.time + "s"] = { value: value, ease: this.ease }, _ref; } /** * Destroy events */; _proto.destroy = function destroy() { this.removeAllListeners(); }; return _createClass(Keyframe, [{ key: "value", get: function get() { var _this2 = this; if (this.isEval()) { // create available mappings for current value var mappings = this.mappings.reduce(function (result, mapping) { if (mapping.regex.global) { mapping.regex.lastIndex = 0; } if (mapping.regex.test(_this2._value)) { result[mapping.regex] = mapping; } return result; }, {}); // apply mappings var val = this._value; for (var mapping in mappings) { val = val.replace(mappings[mapping].regex, "mappings[" + mapping + "].map"); } var res; try { res = eval(val); // eslint-disable-line no-eval } catch (err) { if (this.mappings.length > 0) { throw err; } } return res; } return this._value; } /** * Set value * * @param {*} val */, set: function set(val) { this._value = val; } /** * Get the list where this keyframe is added to * * @returns {Keyframes|null} */ }, { key: "list", get: function get() { return this._list; } }]); }(_utils_events__WEBPACK_IMPORTED_MODULE_2__.Emitter), (_applyDecoratedDescriptor(_class2.prototype, "value", [_dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "value"), _class2.prototype)), _class2)) || _class) || _class); /** * Create keyframe instance from object * * @example { "0.2s": { value: 10, ease: "Linear.easeNone" }} * @param {object} obj * @returns {Keyframe} */ Keyframe.fromObject = function (obj) { if (!_utils__WEBPACK_IMPORTED_MODULE_0__.is.isObject(obj)) { throw new Error('Object is invalid'); } var keys = Object.keys(obj); if (keys.length === 0 || keys.length > 1) { throw new Error('Object is invalid'); } var time = keys[0]; var _obj$time = obj[time], value = _obj$time.value, ease = _obj$time.ease; if (!_utils__WEBPACK_IMPORTED_MODULE_0__.is.isObject(obj[time]) && (typeof obj[time] === 'string' || typeof obj[time] === 'number')) { value = obj[time]; ease = null; } time = parseFloat(time); if (isNaN(time)) { throw new Error('Object is invalid. Invalid time object { `1s`: ... }'); } if (value === undefined || value === null) { throw new Error('Object is invalid. No value found: {value}'); } return new Keyframe(time, value, ease); }; Keyframe.Events = ['change', 'change:time', 'change:value', 'change:ease']; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Keyframe); /***/ }), /***/ "./src/group/keyframes.js": /*!********************************!*\ !*** ./src/group/keyframes.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _list_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../list/list */ "./src/list/list.js"); /* harmony import */ var _keyframe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keyframe */ "./src/group/keyframe.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); 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(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } 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 _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } var Keyframes = /*#__PURE__*/function (_List) { /** * Create keyframes * * @constructor * @param {Array|object} keyframes */ function Keyframes(keyframes) { var _this; if (keyframes === void 0) { keyframes = []; } if (_utils__WEBPACK_IMPORTED_MODULE_2__.is.isObject(keyframes)) { keyframes = _utils__WEBPACK_IMPORTED_MODULE_2__.convert.objectToArray(keyframes); } _this = _List.call(this, keyframes, _keyframe__WEBPACK_IMPORTED_MODULE_1__["default"], [0, 0]) || this; _this.duplicates = { prop: 'time' }; _this.sortOn = 'time'; _this.linkedList = true; _this._mappings = []; return _this; } /** * Add keyframe * * @param {*|Array} keyframe * @returns {*} */ _inheritsLoose(Keyframes, _List); var _proto = Keyframes.prototype; _proto.add = function add(keyframe) { var _this2 = this; if (_utils__WEBPACK_IMPORTED_MODULE_2__.is.isObject(keyframe) && !(keyframe instanceof _keyframe__WEBPACK_IMPORTED_MODULE_1__["default"]) && Object.keys(keyframe).length > 1) { keyframe = _utils__WEBPACK_IMPORTED_MODULE_2__.convert.objectToArray(keyframe); } var affected = _List.prototype.add.call(this, keyframe); var exec = function exec(keyframe) { keyframe.mappings = [].concat(_this2.mappings); }; Array.isArray(affected) ? affected.forEach(exec) : exec(affected); return affected; } /** * Remove keyframe * * @param {Keyframe} * @returns {Keyframe} */; _proto.remove = function remove(keyframe) { var affected = _List.prototype.remove.call(this, keyframe); var exec = function exec(keyframe) { keyframe.mappings = []; }; Array.isArray(affected) ? affected.forEach(exec) : exec(affected); return affected; } /** * Get mappings for these keyframes * * @returns {Array} */; /** * Get keyframe at time * * @param {string} time * @returns {Keyframe} */ _proto.get = function get(time) { var t = parseFloat(time); // get keyframe at time return this._list.find(function (p) { return p.time === t; }); } /** * Convert keyframes to object * * @param {boolean} ignoreEval * @returns {object} */; _proto.toObject = function toObject(ignoreEval) { if (ignoreEval === void 0) { ignoreEval = false; } return this.list.reduce(function (obj, keyframe) { return _objectSpread(_objectSpread({}, obj), keyframe.toObject(ignoreEval)); }, {}); } /** * Destroy events */; _proto.destroy = function destroy() { this.removeAllListeners(); this.each(function (keyframe) { return keyframe.destroy(); }); }; return _createClass(Keyframes, [{ key: "mappings", get: function get() { return this._mappings; } /** * Set mappings for these keyframes * * @param {Array} mappings */, set: function set(mappings) { this._mappings = mappings; this.each(function (keyframe) { keyframe.mappings = [].concat(mappings); }); } }]); }(_list_list__WEBPACK_IMPORTED_MODULE_0__["default"]); Keyframes.Events = ['change:list', 'add', 'remove', 'change', 'change:time', 'change:value', 'change:ease']; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Keyframes); /***/ }), /***/ "./src/group/prop.js": /*!***************************!*\ !*** ./src/group/prop.js ***! \***************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _keyframes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./keyframes */ "./src/group/keyframes.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); /* harmony import */ var _utils_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/emitter */ "./src/utils/emitter.js"); /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/events */ "./src/utils/events.js"); /* harmony import */ var _utils_polyfill__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/polyfill */ "./src/utils/polyfill.js"); var _dec, _dec2, _class, _class2; function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } 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 _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(i, e, a), a = null), a; } /** * ------------------------------------------- * Single Property. * * @example * * { * x: { * "0.1s": { value: 10, ease: null }, * "0.2s": { value: 0, ease: null }, * "0.3s": { value: 100, ease: "Power3.easeOut" }, * } * } * * @fires Prop#change * @fires Prop#change:name * @fires Prop#change:keyframes * @fires Prop#change:keyframes:list * @fires Prop#change:keyframe * @fires Prop#change:keyframe:time * @fires Prop#change:keyframe:value * @fires Prop#change:keyframe:ease * @fires Prop#add:keyframe * @fires Prop#remove:keyframe * * ------------------------------------------- */ var Prop = (_dec = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_2__.emitChange)('name', null, [{ validator: function validator(val) { return typeof val === 'string'; }, message: 'Name must be a string' }, { validator: function validator(val) { return !/^\d+\.?\d*?$/.test(val); }, message: 'Name must be a string' }]), _dec2 = (0,_utils_emitter__WEBPACK_IMPORTED_MODULE_2__.emitChange)(), _dec(_class = (_class2 = /*#__PURE__*/function (_Emitter) { /** * Property. * * @param {string} name * @param {object|Keyframes|Array} keyframes */ function Prop(name, keyframes) { var _this; if (keyframes === void 0) { keyframes = new _keyframes__WEBPACK_IMPORTED_MODULE_0__["default"](); } _this = _Emitter.call(this) || this; _this._keyframes = null; _this._list = null; if (!(keyframes instanceof _keyframes__WEBPACK_IMPORTED_MODULE_0__["default"])) { keyframes = new _keyframes__WEBPACK_IMPORTED_MODULE_0__["default"](keyframes); } name = name || null; Object.assign(_this, { name: name, keyframes: keyframes }); return _this; } /** * Get next property (linked list) * * @returns {Prop|null} */ _inheritsLoose(Prop, _Emitter); var _proto = Prop.prototype; _proto.next = function next() { return this._next; } /** * Get previous property (linked list) * * @returns {Prop|null} */; _proto.prev = function prev() { return this._prev; } /** * Get the list where this prop is added to * * @returns {Props|null} */; /** * Bubble events from keyframes */ _proto.setupBubbleEvents = function setupBubbleEvents() { var _this2 = this; if (this._keyframes instanceof _keyframes__WEBPACK_IMPORTED_MODULE_0__["default"]) { this._keyframes.removeAllListeners(); var evt = function evt(from, to) { _this2._keyframes.on(from, _utils__WEBPACK_IMPORTED_MODULE_1__.events.bubbleEvent(to, _this2)); }; evt('change:list', 'change:keyframes:list'); evt('change', 'change:keyframe'); evt('change:time', 'change:keyframe:time'); evt('change:value', 'change:keyframe:value'); evt('change:ease', 'change:keyframe:ease'); evt('add', 'add:keyframe'); evt('remove', 'remove:keyframe'); } } /** * Convert Prop to readable object * * @param {boolean} ignoreEval * @example { x: { "10.5s": { value: 100, ease: "Power2.easeOut" } } } * @returns {object} */; _proto.toObject = function toObject(ignoreEval) { var _ref; if (ignoreEval === void 0) { ignoreEval = false; } var keyframes = this.keyframes ? this.keyframes.toObject(ignoreEval) : {}; return _ref = {}, _ref[this.name] = keyframes, _ref; } /** * Determine if this property is a CSS transform * * @returns {boolean} */; _proto.isCSSTransform = function isCSSTransform() { return (0,_utils_polyfill__WEBPACK_IMPORTED_MODULE_4__.includes)(['x', 'y', 'z', 'rotation', 'rotationZ', 'rotationX', 'rotationY', 'skewX', 'skewY', 'scale', 'scaleX', 'scaleY'], this.name); } /** * Destroy. * Clear events */; _proto.destroy = function destroy() { if (this._keyframes) { this._keyframes.destroy(); } this.removeAllListeners(); }; return _createClass(Prop, [{ key: "list", get: function get() { return this._list; } /** * Get keyframes * * @returns {Keyframes|object|Array} */ }, { key: "keyframes", get: function get() { return this._keyframes; } /** * Set keyframes * * @param {Keyframes|object|Array} kf */, set: function set(kf) { if (!(kf instanceof _keyframes__WEBPACK_IMPORTED_MODULE_0__["default"])) { kf = new _keyframes__WEBPACK_IMPORTED_MODULE_0__["default"](kf); } var mappings = []; if (this._keyframes) { mappings = this._keyframes.mappings; this._keyframes.removeAllListeners(); this._keyframes.clear(); } this._keyframes = kf; this._keyframes.mappings = mappings; this.setupBubbleEvents(); } }]); }(_utils_events__WEBPACK_IMPORTED_MODULE_3__.Emitter), (_applyDecoratedDescriptor(_class2.prototype, "keyframes", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "keyframes"), _class2.prototype)), _class2)) || _class); /** * Create a valid Prop from object * * @param {object} obj * @returns {Prop} */ Prop.fromObject = function (obj) { if (!_utils__WEBPACK_IMPORTED_MODULE_1__.is.isObject(obj)) { throw new Error('Object is invalid'); } var keys = Object.keys(obj); if (keys.length === 0) { throw new Error('Object is invalid'); } for (var i in obj) { if (!_utils__WEBPACK_IMPORTED_MODULE_1__.is.isObject(obj[i])) { throw new Error('Object is invalid'); } } var p = keys[0]; return new Prop(p, obj[p]); }; /** * Prop Events * * @type {Array} */ Prop.Events = ['change', 'change:name', 'change:keyframes', 'change:keyframes:list', 'change:keyframe', 'change:keyframe:time', 'change:keyframe:value', 'change:keyframe:ease', 'add:keyframe', 'remove:keyframe']; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Prop); /***/ }), /***/ "./src/group/props.js": /*!****************************!*\ !*** ./src/group/props.js ***! \****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _list_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../list/list */ "./src/list/list.js"); /* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./prop */ "./src/group/prop.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js"); 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.getOwnPropert