From dcf64544c5614b112facda29e127365ece2b6511 Mon Sep 17 00:00:00 2001 From: Laza Bogdan Date: Tue, 7 Mar 2017 05:30:34 +0200 Subject: [PATCH 01/13] add call to upgradeAll on DOMContentLoaded --- src/handler/handler.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/handler/handler.js b/src/handler/handler.js index 3df3ea3..a68efaa 100644 --- a/src/handler/handler.js +++ b/src/handler/handler.js @@ -195,6 +195,8 @@ export const handler = { this.downgradeElement(node) } } -} +}; -window.addEventListener('load', () => handler.upgradeAll()) \ No newline at end of file +['DOMContentLoaded', 'load'].forEach(function (e) { + window.addEventListener(e, () => handler.upgradeAll()) +}) \ No newline at end of file From a4916af4bb8bc625c11739e21b75c7c751f15eeb Mon Sep 17 00:00:00 2001 From: Laza Bogdan Date: Sun, 12 Mar 2017 14:01:14 +0200 Subject: [PATCH 02/13] Changes - add CustomEvent shim - add ES6 Array.find shim --- dist/dom-factory.js | 3 ++- package.json | 8 ++++---- src/factory/factory.js | 23 +++++++++++++++++++---- src/index.js | 2 ++ 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/dist/dom-factory.js b/dist/dom-factory.js index 0138b12..11f5d3c 100644 --- a/dist/dom-factory.js +++ b/dist/dom-factory.js @@ -1 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.domFactory=e():t.domFactory=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.util=e.handler=e.factory=void 0;var r=n(18);Object.defineProperty(e,"factory",{enumerable:!0,get:function(){return r.factory}});var o=n(42);Object.defineProperty(e,"handler",{enumerable:!0,get:function(){return o.handler}});var i=n(21),u=n(20),c=n(22),a=n(23),f=n(19),s=n(43);e.util={assign:f.assign,isArray:u.isArray,isElement:i.isElement,isFunction:c.isFunction,toKebabCase:a.toKebabCase,transform:s.transform}},function(t,e){var n=Object;t.exports={create:n.create,getProto:n.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:n.getOwnPropertyDescriptor,setDesc:n.defineProperty,setDescs:n.defineProperties,getKeys:n.keys,getNames:n.getOwnPropertyNames,getSymbols:n.getOwnPropertySymbols,each:[].forEach}},function(t,e){var n=t.exports={version:"1.2.6"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(34)("wks"),o=n(36),i=n(8).Symbol;t.exports=function(t){return r[t]||(r[t]=i&&i[t]||(i||o)("Symbol."+t))}},function(t,e){t.exports={}},function(t,e,n){var r=n(8),o=n(2),i=n(27),u="prototype",c=function(t,e,n){var a,f,s,l=t&c.F,d=t&c.G,p=t&c.S,v=t&c.P,h=t&c.B,_=t&c.W,y=d?o:o[e]||(o[e]={}),g=d?r:p?r[e]:(r[e]||{})[u];d&&(n=e);for(a in n)f=!l&&g&&a in g,f&&a in y||(s=f?g[a]:n[a],y[a]=d&&"function"!=typeof g[a]?n[a]:h&&f?i(s,r):_&&g[a]==s?function(t){var e=function(e){return this instanceof t?new t(e):t(e)};return e[u]=t[u],e}(s):v&&"function"==typeof s?i(Function.call,s):s,v&&((y[u]||(y[u]={}))[a]=s))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,t.exports=c},function(t,e,n){var r=n(29),o=n(11);t.exports=function(t){return r(o(t))}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(71);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(1),o=n(14);t.exports=n(28)?function(t,e,n){return r.setDesc(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(1).setDesc,o=n(12),i=n(3)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(11);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";var r=n(78)(!0);n(30)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(40);Object.defineProperty(e,"factory",{enumerable:!0,get:function(){return r.factory}})},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.assign=void 0;var o=n(48),i=r(o),u=n(49),c=r(u),a=n(25),f=r(a),s=n(50),l=r(s);e.assign=function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r0?r:n)(t)}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(26),o=n(3)("iterator"),i=n(4);t.exports=n(2).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){"use strict";var r=n(1),o=n(8),i=n(12),u=n(28),c=n(5),a=n(33),f=n(7),s=n(34),l=n(15),d=n(36),p=n(3),v=n(76),h=n(68),_=n(67),y=n(70),g=n(9),b=n(6),m=n(14),w=r.getDesc,x=r.setDesc,O=r.create,j=h.get,E=o.Symbol,A=o.JSON,S=A&&A.stringify,P=!1,M=p("_hidden"),F=r.isEnum,C=s("symbol-registry"),D=s("symbols"),k="function"==typeof E,N=Object.prototype,T=u&&f(function(){return 7!=O(x({},"a",{get:function(){return x(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=w(N,e);r&&delete N[e],x(t,e,n),r&&t!==N&&x(N,e,r)}:x,I=function(t){var e=D[t]=O(E.prototype);return e._k=t,u&&P&&T(N,t,{configurable:!0,set:function(e){i(this,M)&&i(this[M],t)&&(this[M][t]=!1),T(this,t,m(1,e))}}),e},L=function(t){return"symbol"==typeof t},K=function(t,e,n){return n&&i(D,e)?(n.enumerable?(i(t,M)&&t[M][e]&&(t[M][e]=!1),n=O(n,{enumerable:m(0,!1)})):(i(t,M)||x(t,M,m(1,{})),t[M][e]=!0),T(t,e,n)):x(t,e,n)},W=function(t,e){g(t);for(var n,r=_(e=b(e)),o=0,i=r.length;i>o;)K(t,n=r[o++],e[n]);return t},z=function(t,e){return void 0===e?O(t):W(O(t),e)},B=function(t){var e=F.call(this,t);return!(e||!i(this,t)||!i(D,t)||i(this,M)&&this[M][t])||e},G=function(t,e){var n=w(t=b(t),e);return!n||!i(D,e)||i(t,M)&&t[M][e]||(n.enumerable=!0),n},R=function(t){for(var e,n=j(b(t)),r=[],o=0;n.length>o;)i(D,e=n[o++])||e==M||r.push(e);return r},J=function(t){for(var e,n=j(b(t)),r=[],o=0;n.length>o;)i(D,e=n[o++])&&r.push(D[e]);return r},U=function(t){if(void 0!==t&&!L(t)){for(var e,n,r=[t],o=1,i=arguments;i.length>o;)r.push(i[o++]);return e=r[1],"function"==typeof e&&(n=e),!n&&y(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!L(e))return e}),r[1]=e,S.apply(A,r)}},Z=f(function(){var t=E();return"[null]"!=S([t])||"{}"!=S({a:t})||"{}"!=S(Object(t))});k||(E=function(){if(L(this))throw TypeError("Symbol is not a constructor");return I(d(arguments.length>0?arguments[0]:void 0))},a(E.prototype,"toString",function(){return this._k}),L=function(t){return t instanceof E},r.create=z,r.isEnum=B,r.getDesc=G,r.setDesc=K,r.setDescs=W,r.getNames=h.get=R,r.getSymbols=J,u&&!n(31)&&a(N,"propertyIsEnumerable",B,!0));var q={for:function(t){return i(C,t+="")?C[t]:C[t]=E(t)},keyFor:function(t){return v(C,t)},useSetter:function(){P=!0},useSimple:function(){P=!1}};r.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(t){var e=p(t);q[t]=k?e:I(e)}),P=!0,c(c.G+c.W,{Symbol:E}),c(c.S,"Symbol",q),c(c.S+c.F*!k,"Object",{create:z,defineProperty:K,defineProperties:W,getOwnPropertyDescriptor:G,getOwnPropertyNames:R,getOwnPropertySymbols:J}),A&&c(c.S+c.F*(!k||Z),"JSON",{stringify:U}),l(E,"Symbol"),l(Math,"Math",!0),l(o.JSON,"JSON",!0)},function(t,e,n){n(83);var r=n(4);r.NodeList=r.HTMLCollection=r.Array},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.factory=void 0;var o=n(52),i=r(o),u=n(54),c=r(u),a=n(25),f=r(a),s=n(24),l=r(s),d=n(88),p=n(21),v=n(20),h=n(22),_=n(23),y=n(19),g=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=(0,y.assign)({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},b=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];e=g(e);var r={enumerable:!0,configurable:!0,writable:!e.readOnly,value:(0,h.isFunction)(e.value)?e.value.call(n):e.value};(0,l.default)(n,t,r)},m=function(t,e,n){e&&!n[t]&&((0,h.isFunction)(e)?n[t]=e.call(n):n[t]=e)},w=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];if(e=g(e),e.reflectToAttribute){var r=(0,_.toKebabCase)(t),o=(0,f.default)(n,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return e.type===Boolean?this.element.hasAttribute(r):this.element.getAttribute(r)},set:function(n){this.element[n?"setAttribute":"removeAttribute"](r,e.type===Boolean?t:n)}};(0,l.default)(n,t,i)}},x=function(t){if("object"===(0,c.default)(t.properties))for(var e in t.properties)if(t.properties.hasOwnProperty(e)){var n=t.properties[e];b(e,n,t),w(e,n,t),m(e,n.value,t)}},O=function(t,e){return t.split(".").reduce(function(t,e){return t[e]},e)},j=function(t,e){var n=t.split("."),r=n.pop(),o=O(n.join("."),e);return{parent:o,prop:r}},E=function(t){return(0,v.isArray)(t.observers)?t.observers.map(function(t){var e=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),n=(0,i.default)(e,3),r=n[1],o=n[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(e){var n=e.fn;return(0,h.isFunction)(t[n])}):[]},A=function(t){E(t).forEach(function(e){var n=e.fn,r=e.args;t[n]=t[n].bind(t),r.forEach(function(e){if(e.indexOf(".")!==-1){var r=j(e,t),o=r.prop,i=r.parent;(0,d.watch)(i,o,t[n])}else(0,d.watch)(t,e,t[n])})})},S=function(t){return(0,v.isArray)(t.listeners)?t.listeners.map(function(t){var e=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),n=(0,i.default)(e,4),r=n[1],o=n[2],u=n[3];return u=u.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:u}}).filter(function(e){var n=e.element,r=e.fn;return(0,h.isFunction)(t[r])&&("document"===n||"window"===n||(0,p.isElement)(t[n])||(0,p.isElement)(t[n].element))}):[]},P=function(t){S(t).forEach(function(e){var n=e.element,r=e.fn,o=e.events;t[r]=t[r].bind(t),"document"===n?n=t.element.ownerDocument:"window"===n?n=window:(0,p.isElement)(t[n])?n=t[n]:(0,p.isElement)(t[n].element)&&(n=t[n].element),n&&o.forEach(function(e){return n.addEventListener(e,t[r])})})},M=function(t){return(0,v.isArray)(t.mixins)?t.mixins.filter(function(t){return"object"===("undefined"==typeof t?"undefined":(0,c.default)(t))}):[]},F=function(t){var e=M(t);return e.unshift({}),y.assign.apply(null,e)};e.factory=function(t,e){if(!t||"object"!==("undefined"==typeof t?"undefined":(0,c.default)(t))||!(0,p.isElement)(e))return void console.error("[dom-factory] Invalid factory.",t,e);t.element=e;var n={$set:function(t,e){if(t&&void 0!==e&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var n=g(this.properties[t]),r=(0,f.default)(this,t);if(n.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:e};return void(0,l.default)(this,t,o)}this[t]=e}},init:function(){A(this),P(this),(0,h.isFunction)(t.init)&&t.init.call(this)},destroy:function(){var e=this;E(t).forEach(function(t){var n=t.fn,r=t.args;r.forEach(function(t){if(t.indexOf(".")!==-1){var r=j(t,e),o=r.prop,i=r.parent;(0,d.unwatch)(i,o,e[n])}else(0,d.unwatch)(e,t,e[n])})}),S(t).forEach(function(t){var n=t.element,r=t.fn,o=t.events;"document"===n?n=e.element.ownerDocument:"window"===n?n=window:(0,p.isElement)(e[n])?n=e[n]:(0,p.isElement)(e[n].element)&&(n=e[n].element),n&&o.forEach(function(t){return n.removeEventListener(t,e[r])})}),(0,h.isFunction)(t.destroy)&&t.destroy.call(this)},fire:function(t){var e=void 0;"CustomEvent"in window&&"object"===(0,c.default)(window.CustomEvent)?e=new CustomEvent(t,{bubbles:!0,cancelable:!1}):(e=document.createEvent("Event"),e.initEvent(t,!0,!0)),this.element.dispatchEvent(e)}};return x(t),n=(0,y.assign)({},F(t),t,n),n.init(),n}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.handler=void 0;var o=n(53),i=r(o),u=n(24),c=r(u),a=n(47),f=r(a),s=n(18),l=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},d="__domFactoryConfig",p=e.handler={_registered:[],_created:[],register:function(t,e){var n=[],r=t.split("-");r.splice(1,0,"js");var o=r.join("-");this.findRegistered(t)||this._registered.push({id:t,cssClass:o,callbacks:n,factory:e}),this.upgrade(t)},registerUpgradedCallback:function(t,e){var n=this.findRegistered(t);n&&n.callbacks.push(e)},findRegistered:function(t){return this._registered.find(function(e){return e.id===t})},findCreated:function(t){return this._created.filter(function(e){return e.element===t})},upgradeElement:function(t,e){var n=this;if(void 0===e)return void this._registered.forEach(function(e){t.classList.contains(e.cssClass)&&n.upgradeElement(t,e.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(e);if(!o||null!==r&&r.indexOf(e)!==-1){if(o){var i=t[l(e)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(e);var u=void 0;try{u=(0,s.factory)(o.factory(t),t)}catch(t){console.error(e,t.message,t.stack)}if(u){t.setAttribute("data-domfactory-upgraded",r.join(","));var a=(0,f.default)({},o);delete a.factory,u[d]=a,this._created.push(u),(0,c.default)(t,l(e),{configurable:!0,writable:!1,value:u}),o.callbacks.forEach(function(e){return e(t)}),u.fire("domfactory-component-upgraded")}}},upgrade:function(t){var e=this;if(void 0===t)this.upgradeAll();else{var n=this.findRegistered(t);if(n){var r=[].concat((0,i.default)(document.querySelectorAll("."+n.cssClass)));r.forEach(function(n){return e.upgradeElement(n,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(e){return t.upgrade(e.id)})},downgradeComponent:function(t){var e=this._created.indexOf(t);this._created.splice(e,1);var n=t.element.getAttribute("data-domfactory-upgraded").split(","),r=n.indexOf(t[d].id);n.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",n.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent)},downgradeAll:function(){this._created.forEach(this.downgradeComponent)},downgrade:function(t){var e=this;if(t instanceof Array||t instanceof NodeList){var n=t instanceof NodeList?[].concat((0,i.default)(t)):t;n.forEach(function(t){return e.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}};window.addEventListener("load",function(){return p.upgradeAll()})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(41);Object.defineProperty(e,"handler",{enumerable:!0,get:function(){return r.handler}})},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.transform=function(t,e){var n=["transform","WebkitTransform","msTransform","MozTransform","OTransform"];n.map(function(n){return e.style[n]=t})}},function(t,e,n){t.exports={default:n(55),__esModule:!0}},function(t,e,n){t.exports={default:n(56),__esModule:!0}},function(t,e,n){t.exports={default:n(57),__esModule:!0}},function(t,e,n){t.exports={default:n(58),__esModule:!0}},function(t,e,n){t.exports={default:n(59),__esModule:!0}},function(t,e,n){t.exports={default:n(62),__esModule:!0}},function(t,e,n){t.exports={default:n(63),__esModule:!0}},function(t,e,n){t.exports={default:n(64),__esModule:!0}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(46),i=r(o),u=n(45),c=r(u);e.default=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=(0,c.default)(t);!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if((0,i.default)(Object(e)))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(44),i=r(o);e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);ec;)u.call(t,o=i[c++])&&e.push(o);return e}},function(t,e,n){var r=n(6),o=n(1).getNames,i={}.toString,u="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(t){try{return o(t)}catch(t){return u.slice()}};t.exports.get=function(t){return u&&"[object Window]"==i.call(t)?c(t):o(r(t))}},function(t,e,n){var r=n(4),o=n(3)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){var r=n(10);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(9);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e,n){"use strict";var r=n(1),o=n(14),i=n(15),u={};n(13)(u,n(3)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r.create(u,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(3)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){return{done:n=!0}},i[r]=function(){return u},t(i)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(1),o=n(6);t.exports=function(t,e){for(var n,i=o(t),u=r.getKeys(i),c=u.length,a=0;c>a;)if(i[n=u[a++]]===e)return n}},function(t,e,n){var r=n(1),o=n(16),i=n(29);t.exports=n(7)(function(){var t=Object.assign,e={},n={},r=Symbol(),o="abcdefghijklmnopqrst";return e[r]=7,o.split("").forEach(function(t){n[t]=t}),7!=t({},e)[r]||Object.keys(t({},n)).join("")!=o})?function(t,e){for(var n=o(t),u=arguments,c=u.length,a=1,f=r.getKeys,s=r.getSymbols,l=r.isEnum;c>a;)for(var d,p=i(u[a++]),v=s?f(p).concat(s(p)):f(p),h=v.length,_=0;h>_;)l.call(p,d=v[_++])&&(n[d]=p[d]);return n}:Object.assign},function(t,e,n){var r=n(35),o=n(11);t.exports=function(t){return function(e,n){var i,u,c=String(o(e)),a=r(n),f=c.length;return a<0||a>=f?t?"":void 0:(i=c.charCodeAt(a),i<55296||i>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):(i-55296<<10)+(u-56320)+65536)}}},function(t,e,n){var r=n(35),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(9),o=n(37);t.exports=n(2).getIterator=function(t){var e=o(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))}},function(t,e,n){var r=n(26),o=n(3)("iterator"),i=n(4);t.exports=n(2).isIterable=function(t){var e=Object(t);return void 0!==e[o]||"@@iterator"in e||i.hasOwnProperty(r(e))}},function(t,e,n){"use strict";var r=n(27),o=n(5),i=n(16),u=n(72),c=n(69),a=n(79),f=n(37);o(o.S+o.F*!n(74)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,s,l=i(t),d="function"==typeof this?this:Array,p=arguments,v=p.length,h=v>1?p[1]:void 0,_=void 0!==h,y=0,g=f(l);if(_&&(h=r(h,v>2?p[2]:void 0,2)),void 0==g||d==Array&&c(g))for(e=a(l.length),n=new d(e);e>y;y++)n[y]=_?h(l[y],y):l[y];else for(s=g.call(l),n=new d;!(o=s.next()).done;y++)n[y]=_?u(s,h,[o.value,y],!0):o.value;return n.length=y,n}})},function(t,e,n){"use strict";var r=n(66),o=n(75),i=n(4),u=n(6);t.exports=n(30)(Array,"Array",function(t,e){this._t=u(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):"keys"==e?o(0,n):"values"==e?o(0,t[n]):o(0,[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r=n(5);r(r.S+r.F,"Object",{assign:n(77)})},function(t,e,n){var r=n(6);n(32)("getOwnPropertyDescriptor",function(t){return function(e,n){return t(r(e),n)}})},function(t,e,n){var r=n(16);n(32)("keys",function(t){return function(e){return t(r(e))}})},function(t,e){},function(t,e,n){!function(e,n){t.exports=n()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.unwatch=e.watch=void 0;var o=n(4),i=r(o),u=n(3),c=r(u),a=(e.watch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)?g.apply(void 0,e):a(r)?m.apply(void 0,e):b.apply(void 0,e)},e.unwatch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)||void 0===r?j.apply(void 0,e):a(r)?x.apply(void 0,e):w.apply(void 0,e)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,e,n){(0,c.default)(t,e,{enumerable:!1,configurable:!0,writable:!1,value:n})},d=function(t,e,n,r){(0,c.default)(t,e,{get:n,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},p=function(t,e,n,r,o){var i=void 0,u=t.__watchers__[e];(i=t.__watchers__.__watchall__)&&(u=u?u.concat(i):i);for(var c=u?u.length:0,a=0;c>a;a++)u[a].call(t,n,r,e,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,e,n,r){l(t,n,function(){for(var o=0,i=void 0,u=void 0,c=arguments.length,a=Array(c),f=0;c>f;f++)a[f]=arguments[f];if("splice"===n){var s=a[0],l=s+a[1];i=t.slice(s,l),u=[];for(var d=2;d0?a:void 0:a.length>0?a[0]:void 0;var p=e.apply(t,a);return"pop"===n?(i=p,o=t.length):"push"===n?o=t.length-1:"shift"===n?i=p:"unshift"!==n&&void 0===u&&(u=p),r.call(t,o,n,u,i),p})},_=function(t,e){if(s(e)&&t&&!(t instanceof String)&&a(t))for(var n=v.length;n>0;n--){var r=v[n-1];h(t,t[r],r,e)}},y=function(t,e,n,r){var o=!1,u=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),u&&_(t,function(n,o,i,u){if(p(t,n,i,u,o),0!==r&&i&&(f(i)||a(i))){var c=void 0,s=t.__watchers__[e];(c=t.__watchers__.__watchall__)&&(s=s?s.concat(c):c);for(var l=s?s.length:0,d=0;l>d;d++)if("splice"!==o)g(i,s[d],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return n[e].apply(t,o)})});var i=["writable","value"];i.forEach(function(t){void 0!==n[t]&&(r[t]=n[t])}),(0,c.default)(t.__proxy__,e,r)}():t.__proxy__[e]=t[e];var o=function(){return t.__proxy__[e]},u=function(n){var o=t.__proxy__[e];if(0!==r&&t[e]&&(f(t[e])||a(t[e]))&&!t[e].__watchers__)for(var i=0;i0)for(var o=0;o0)&&g(t[e],n,void 0!==r?r-1:r),y(t,e,n,r)))},m=function(t,e,n,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){t.exports=!n(47)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(111),o=n(112);t.exports=n(20)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(50);Object.defineProperty(e,"factory",{enumerable:!0,get:function(){return r.factory}})},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.assign=void 0;var o=n(58),i=r(o),u=n(59),c=r(u),a=n(29),f=r(a),s=n(60),l=r(s);e.assign=function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;e>r;r++)n[r-1]=arguments[r];return n.forEach(function(e){if(e){var n=(0,l["default"])(e).reduce(function(t,n){return t[n]=(0,f["default"])(e,n),t},{});(0,c["default"])(e).forEach(function(t){var r=(0,f["default"])(e,t);r.enumerable&&(n[t]=r)}),(0,i["default"])(t,n)}}),t}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.isArray=function(t){return"[object Array]"==={}.toString.call(t)}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.isElement=function(t){return t instanceof HTMLElement}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.isFunction=function(t){return"function"==typeof t}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.toKebabCase=function(t){return t.replace(/([A-Z])/g,function(t){return("-"+t).toLowerCase()})}},function(t,e,n){t.exports={"default":n(70),__esModule:!0}},function(t,e,n){t.exports={"default":n(71),__esModule:!0}},function(t,e,n){var r=n(12),o=n(3)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[o])?n:i?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},function(t,e,n){var r=n(75);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(12);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){"use strict";var r=n(35),o=n(5),i=n(37),u=n(15),c=n(14),a=n(4),f=n(83),s=n(17),l=n(1).getProto,p=n(3)("iterator"),d=!([].keys&&"next"in[].keys()),v="@@iterator",h="keys",y="values",_=function(){return this};t.exports=function(t,e,n,g,b,m,w){f(n,e,g);var x,O,j=function(t){if(!d&&t in P)return P[t];switch(t){case h:return function(){return new n(this,t)};case y:return function(){return new n(this,t)}}return function(){return new n(this,t)}},E=e+" Iterator",A=b==y,S=!1,P=t.prototype,M=P[p]||P[v]||b&&P[b],F=M||j(b);if(M){var C=l(F.call(new t));s(C,E,!0),!r&&c(P,v)&&u(C,p,_),A&&M.name!==y&&(S=!0,F=function(){return M.call(this)})}if(r&&!w||!d&&!S&&P[p]||u(P,p,F),a[e]=F,a[E]=_,b)if(x={values:A?F:j(y),keys:m?F:j(h),entries:A?j("entries"):F},w)for(O in x)O in P||i(P,O,x[O]);else o(o.P+o.F*(d||S),e,x);return x}},function(t,e){t.exports=!0},function(t,e,n){var r=n(5),o=n(2),i=n(8);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],u={};u[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",u)}},function(t,e,n){t.exports=n(15)},function(t,e,n){var r=n(9),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(30),o=n(3)("iterator"),i=n(4);t.exports=n(2).getIteratorMethod=function(t){return void 0!=t?t[o]||t["@@iterator"]||i[r(t)]:void 0}},function(t,e,n){"use strict";var r=n(1),o=n(9),i=n(14),u=n(32),c=n(5),a=n(37),f=n(8),s=n(38),l=n(17),p=n(40),d=n(3),v=n(86),h=n(78),y=n(77),_=n(80),g=n(11),b=n(6),m=n(16),w=r.getDesc,x=r.setDesc,O=r.create,j=h.get,E=o.Symbol,A=o.JSON,S=A&&A.stringify,P=!1,M=d("_hidden"),F=r.isEnum,C=s("symbol-registry"),k=s("symbols"),D="function"==typeof E,T=Object.prototype,N=u&&f(function(){return 7!=O(x({},"a",{get:function(){return x(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=w(T,e);r&&delete T[e],x(t,e,n),r&&t!==T&&x(T,e,r)}:x,I=function(t){var e=k[t]=O(E.prototype);return e._k=t,u&&P&&N(T,t,{configurable:!0,set:function(e){i(this,M)&&i(this[M],t)&&(this[M][t]=!1),N(this,t,m(1,e))}}),e},L=function(t){return"symbol"==typeof t},K=function(t,e,n){return n&&i(k,e)?(n.enumerable?(i(t,M)&&t[M][e]&&(t[M][e]=!1),n=O(n,{enumerable:m(0,!1)})):(i(t,M)||x(t,M,m(1,{})),t[M][e]=!0),N(t,e,n)):x(t,e,n)},B=function(t,e){g(t);for(var n,r=y(e=b(e)),o=0,i=r.length;i>o;)K(t,n=r[o++],e[n]);return t},W=function(t,e){return void 0===e?O(t):B(O(t),e)},z=function(t){var e=F.call(this,t);return e||!i(this,t)||!i(k,t)||i(this,M)&&this[M][t]?e:!0},G=function(t,e){var n=w(t=b(t),e);return!n||!i(k,e)||i(t,M)&&t[M][e]||(n.enumerable=!0),n},R=function(t){for(var e,n=j(b(t)),r=[],o=0;n.length>o;)i(k,e=n[o++])||e==M||r.push(e);return r},U=function(t){for(var e,n=j(b(t)),r=[],o=0;n.length>o;)i(k,e=n[o++])&&r.push(k[e]);return r},J=function(t){if(void 0!==t&&!L(t)){for(var e,n,r=[t],o=1,i=arguments;i.length>o;)r.push(i[o++]);return e=r[1],"function"==typeof e&&(n=e),!n&&_(e)||(e=function(t,e){return n&&(e=n.call(this,t,e)),L(e)?void 0:e}),r[1]=e,S.apply(A,r)}},Z=f(function(){var t=E();return"[null]"!=S([t])||"{}"!=S({a:t})||"{}"!=S(Object(t))});D||(E=function(){if(L(this))throw TypeError("Symbol is not a constructor");return I(p(arguments.length>0?arguments[0]:void 0))},a(E.prototype,"toString",function(){return this._k}),L=function(t){return t instanceof E},r.create=W,r.isEnum=z,r.getDesc=G,r.setDesc=K,r.setDescs=B,r.getNames=h.get=R,r.getSymbols=U,u&&!n(35)&&a(T,"propertyIsEnumerable",z,!0));var q={"for":function(t){return i(C,t+="")?C[t]:C[t]=E(t)},keyFor:function(t){return v(C,t)},useSetter:function(){P=!0},useSimple:function(){P=!1}};r.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(t){var e=d(t);q[t]=D?e:I(e)}),P=!0,c(c.G+c.W,{Symbol:E}),c(c.S,"Symbol",q),c(c.S+c.F*!D,"Object",{create:W,defineProperty:K,defineProperties:B,getOwnPropertyDescriptor:G,getOwnPropertyNames:R,getOwnPropertySymbols:U}),A&&c(c.S+c.F*(!D||Z),"JSON",{stringify:J}),l(E,"Symbol"),l(Math,"Math",!0),l(o.JSON,"JSON",!0)},function(t,e,n){n(93);var r=n(4);r.NodeList=r.HTMLCollection=r.Array},12,function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(98);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},8,40,function(t,e,n){var r=n(114)("wks"),o=n(48),i=n(7).Symbol,u="function"==typeof i,c=t.exports=function(t){return r[t]||(r[t]=u&&i[t]||(u?i:o)("Symbol."+t))};c.store=r},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.factory=void 0;var o=n(62),i=r(o),u=n(64),c=r(u),a=n(29),f=r(a),s=n(28),l=r(s),p=n(120),d=n(25),v=n(24),h=n(26),y=n(27),_=n(23),g=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return t=(0,_.assign)({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},b=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=arguments[2];e=g(e);var r={enumerable:!0,configurable:!0,writable:!e.readOnly,value:(0,h.isFunction)(e.value)?e.value.call(n):e.value};(0,l["default"])(n,t,r)},m=function(t,e,n){e&&!n[t]&&((0,h.isFunction)(e)?n[t]=e.call(n):n[t]=e)},w=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=arguments[2];if(e=g(e),e.reflectToAttribute){var r=(0,y.toKebabCase)(t),o=(0,f["default"])(n,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return e.type===Boolean?this.element.hasAttribute(r):this.element.getAttribute(r)},set:function(n){this.element[n?"setAttribute":"removeAttribute"](r,e.type===Boolean?t:n)}};(0,l["default"])(n,t,i)}},x=function(t){if("object"===(0,c["default"])(t.properties))for(var e in t.properties)if(t.properties.hasOwnProperty(e)){var n=t.properties[e];b(e,n,t),w(e,n,t),m(e,n.value,t)}},O=function(t,e){return t.split(".").reduce(function(t,e){return t[e]},e)},j=function(t,e){var n=t.split("."),r=n.pop(),o=O(n.join("."),e);return{parent:o,prop:r}},E=function(t){return(0,v.isArray)(t.observers)?t.observers.map(function(t){var e=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),n=(0,i["default"])(e,3),r=n[1],o=n[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(e){var n=e.fn;return(0,h.isFunction)(t[n])}):[]},A=function(t){E(t).forEach(function(e){var n=e.fn,r=e.args;t[n]=t[n].bind(t),r.forEach(function(e){if(-1!==e.indexOf(".")){var r=j(e,t),o=r.prop,i=r.parent;(0,p.watch)(i,o,t[n])}else(0,p.watch)(t,e,t[n])})})},S=function(t){return(0,v.isArray)(t.listeners)?t.listeners.map(function(t){var e=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),n=(0,i["default"])(e,4),r=n[1],o=n[2],u=n[3];return u=u.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:u}}).filter(function(e){var n=e.element,r=e.fn;return(0,h.isFunction)(t[r])&&("document"===n||"window"===n||(0,d.isElement)(t[n])||(0,d.isElement)(t[n].element))}):[]},P=function(t){S(t).forEach(function(e){var n=e.element,r=e.fn,o=e.events;t[r]=t[r].bind(t),"document"===n?n=t.element.ownerDocument:"window"===n?n=window:(0,d.isElement)(t[n])?n=t[n]:(0,d.isElement)(t[n].element)&&(n=t[n].element),n&&o.forEach(function(e){return n.addEventListener(e,t[r])})})},M=function(t){return(0,v.isArray)(t.mixins)?t.mixins.filter(function(t){return"object"===("undefined"==typeof t?"undefined":(0,c["default"])(t))}):[]},F=function(t){var e=M(t);return e.unshift({}),_.assign.apply(null,e)};e.factory=function(t,e){if(!t||"object"!==("undefined"==typeof t?"undefined":(0,c["default"])(t))||!(0,d.isElement)(e))return void console.error("[dom-factory] Invalid factory.",t,e);t.element=e;var n={$set:function(t,e){if(t&&void 0!==e&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var n=g(this.properties[t]),r=(0,f["default"])(this,t);if(n.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:e};return void(0,l["default"])(this,t,o)}this[t]=e}},init:function(){A(this),P(this),(0,h.isFunction)(t.init)&&t.init.call(this)},destroy:function(){var e=this;E(t).forEach(function(t){var n=t.fn,r=t.args;r.forEach(function(t){if(-1!==t.indexOf(".")){var r=j(t,e),o=r.prop,i=r.parent;(0,p.unwatch)(i,o,e[n])}else(0,p.unwatch)(e,t,e[n])})}),S(t).forEach(function(t){var n=t.element,r=t.fn,o=t.events;"document"===n?n=e.element.ownerDocument:"window"===n?n=window:(0,d.isElement)(e[n])?n=e[n]:(0,d.isElement)(e[n].element)&&(n=e[n].element),n&&o.forEach(function(t){return n.removeEventListener(t,e[r])})}),(0,h.isFunction)(t.destroy)&&t.destroy.call(this)},fire:function(t){var e=void 0;if("CustomEvent"in window&&"object"===(0,c["default"])(window.CustomEvent))try{e=new CustomEvent(t,{bubbles:!0,cancelable:!1})}catch(n){e=new this.CustomEvent_(t,{bubbles:!0,cancelable:!1})}else e=document.createEvent("Event"),e.initEvent(t,!0,!0);this.element.dispatchEvent(e)},CustomEvent_:function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}};return x(t),n=(0,_.assign)({},F(t),t,n),n.init(),n}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.handler=void 0;var o=n(63),i=r(o),u=n(28),c=r(u),a=n(57),f=r(a),s=n(22),l=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},p="__domFactoryConfig",d=e.handler={_registered:[],_created:[],register:function(t,e){var n=[],r=t.split("-");r.splice(1,0,"js");var o=r.join("-");this.findRegistered(t)||this._registered.push({id:t,cssClass:o,callbacks:n,factory:e}),this.upgrade(t)},registerUpgradedCallback:function(t,e){var n=this.findRegistered(t);n&&n.callbacks.push(e)},findRegistered:function(t){return this._registered.find(function(e){return e.id===t})},findCreated:function(t){return this._created.filter(function(e){return e.element===t})},upgradeElement:function(t,e){var n=this;if(void 0===e)return void this._registered.forEach(function(e){t.classList.contains(e.cssClass)&&n.upgradeElement(t,e.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(e);if(!o||null!==r&&-1!==r.indexOf(e)){if(o){var i=t[l(e)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(e);var u=void 0;try{u=(0,s.factory)(o.factory(t),t)}catch(a){console.error(e,a.message,a.stack)}if(u){t.setAttribute("data-domfactory-upgraded",r.join(","));var d=(0,f["default"])({},o);delete d.factory,u[p]=d,this._created.push(u),(0,c["default"])(t,l(e),{configurable:!0,writable:!1,value:u}),o.callbacks.forEach(function(e){return e(t)}),u.fire("domfactory-component-upgraded")}}},upgrade:function(t){var e=this;if(void 0===t)this.upgradeAll();else{var n=this.findRegistered(t);if(n){var r=[].concat((0,i["default"])(document.querySelectorAll("."+n.cssClass)));r.forEach(function(n){return e.upgradeElement(n,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(e){return t.upgrade(e.id)})},downgradeComponent:function(t){var e=this._created.indexOf(t);this._created.splice(e,1);var n=t.element.getAttribute("data-domfactory-upgraded").split(","),r=n.indexOf(t[p].id);n.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",n.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent)},downgradeAll:function(){this._created.forEach(this.downgradeComponent)},downgrade:function(t){var e=this;if(t instanceof Array||t instanceof NodeList){var n=t instanceof NodeList?[].concat((0,i["default"])(t)):t;n.forEach(function(t){return e.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}};["DOMContentLoaded","load"].forEach(function(t){window.addEventListener(t,function(){return d.upgradeAll()})})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(51);Object.defineProperty(e,"handler",{enumerable:!0,get:function(){return r.handler}})},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.transform=function(t,e){var n=["transform","WebkitTransform","msTransform","MozTransform","OTransform"];n.map(function(n){return e.style[n]=t})}},function(t,e,n){t.exports={"default":n(65),__esModule:!0}},function(t,e,n){t.exports={"default":n(66),__esModule:!0}},function(t,e,n){t.exports={"default":n(67),__esModule:!0}},function(t,e,n){t.exports={"default":n(68),__esModule:!0}},function(t,e,n){t.exports={"default":n(69),__esModule:!0}},function(t,e,n){t.exports={"default":n(72),__esModule:!0}},function(t,e,n){t.exports={"default":n(73),__esModule:!0}},function(t,e,n){t.exports={"default":n(74),__esModule:!0}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=n(56),i=r(o),u=n(55),c=r(u);e["default"]=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=(0,c["default"])(t);!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(f){o=!0,i=f}finally{try{!r&&a["return"]&&a["return"]()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if((0,i["default"])(Object(e)))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=n(54),i=r(o);e["default"]=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);ec;)u.call(t,o=i[c++])&&e.push(o);return e}},function(t,e,n){var r=n(6),o=n(1).getNames,i={}.toString,u="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(t){try{return o(t)}catch(e){return u.slice()}};t.exports.get=function(t){return u&&"[object Window]"==i.call(t)?c(t):o(r(t))}},function(t,e,n){var r=n(4),o=n(3)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){var r=n(12);t.exports=Array.isArray||function(t){return"Array"==r(t)}},10,function(t,e,n){var r=n(11);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(i){var u=t["return"];throw void 0!==u&&r(u.call(t)),i}}},function(t,e,n){"use strict";var r=n(1),o=n(16),i=n(17),u={};n(15)(u,n(3)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r.create(u,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(3)("iterator"),o=!1;try{var i=[7][r]();i["return"]=function(){o=!0},Array.from(i,function(){throw 2})}catch(u){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){n=!0},i[r]=function(){return u},t(i)}catch(c){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(1),o=n(6);t.exports=function(t,e){for(var n,i=o(t),u=r.getKeys(i),c=u.length,a=0;c>a;)if(i[n=u[a++]]===e)return n}},function(t,e,n){var r=n(1),o=n(18),i=n(33);t.exports=n(8)(function(){var t=Object.assign,e={},n={},r=Symbol(),o="abcdefghijklmnopqrst";return e[r]=7,o.split("").forEach(function(t){n[t]=t}),7!=t({},e)[r]||Object.keys(t({},n)).join("")!=o})?function(t,e){for(var n=o(t),u=arguments,c=u.length,a=1,f=r.getKeys,s=r.getSymbols,l=r.isEnum;c>a;)for(var p,d=i(u[a++]),v=s?f(d).concat(s(d)):f(d),h=v.length,y=0;h>y;)l.call(d,p=v[y++])&&(n[p]=d[p]);return n}:Object.assign},function(t,e,n){var r=n(39),o=n(13);t.exports=function(t){return function(e,n){var i,u,c=String(o(e)),a=r(n),f=c.length;return 0>a||a>=f?t?"":void 0:(i=c.charCodeAt(a),55296>i||i>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):(i-55296<<10)+(u-56320)+65536)}}},function(t,e,n){var r=n(39),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(11),o=n(41);t.exports=n(2).getIterator=function(t){var e=o(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))}},function(t,e,n){var r=n(30),o=n(3)("iterator"),i=n(4);t.exports=n(2).isIterable=function(t){var e=Object(t);return void 0!==e[o]||"@@iterator"in e||i.hasOwnProperty(r(e))}},function(t,e,n){"use strict";var r=n(31),o=n(5),i=n(18),u=n(82),c=n(79),a=n(89),f=n(41);o(o.S+o.F*!n(84)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,s,l=i(t),p="function"==typeof this?this:Array,d=arguments,v=d.length,h=v>1?d[1]:void 0,y=void 0!==h,_=0,g=f(l);if(y&&(h=r(h,v>2?d[2]:void 0,2)),void 0==g||p==Array&&c(g))for(e=a(l.length),n=new p(e);e>_;_++)n[_]=y?h(l[_],_):l[_];else for(s=g.call(l),n=new p;!(o=s.next()).done;_++)n[_]=y?u(s,h,[o.value,_],!0):o.value;return n.length=_,n}})},function(t,e,n){"use strict";var r=n(76),o=n(85),i=n(4),u=n(6);t.exports=n(34)(Array,"Array",function(t,e){this._t=u(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):"keys"==e?o(0,n):"values"==e?o(0,t[n]):o(0,[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r=n(5);r(r.S+r.F,"Object",{assign:n(87)})},function(t,e,n){var r=n(6);n(36)("getOwnPropertyDescriptor",function(t){return function(e,n){return t(r(e),n)}})},function(t,e,n){var r=n(18);n(36)("keys",function(t){return function(e){return t(r(e))}})},function(t,e){},75,function(t,e,n){var r=n(49)("unscopables"),o=Array.prototype;void 0==o[r]&&n(21)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){var r=n(10);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(46),o=n(109),i=n(117),u=n(116),c=n(103);t.exports=function(t,e){var n=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=e||c;return function(e,c,v){for(var h,y,_=i(e),g=o(_),b=r(c,v,3),m=u(g.length),w=0,x=n?d(e,m):a?d(e,0):void 0;m>w;w++)if((p||w in g)&&(h=g[w],y=b(h,w,_),t))if(n)x[w]=y;else if(y)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,e,n){var r=n(10),o=n(110),i=n(49)("species");t.exports=function(t){var e;return o(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&(e=e[i],null===e&&(e=void 0))),void 0===e?Array:e}},function(t,e,n){var r=n(102);t.exports=function(t,e){return new(r(t))(e)}},13,function(t,e,n){var r=n(10),o=n(7).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(7),o=n(45),i=n(21),u=n(113),c=n(46),a="prototype",f=function(t,e,n){var s,l,p,d,v=t&f.F,h=t&f.G,y=t&f.S,_=t&f.P,g=t&f.B,b=h?r:y?r[e]||(r[e]={}):(r[e]||{})[a],m=h?o:o[e]||(o[e]={}),w=m[a]||(m[a]={});h&&(n=e);for(s in n)l=!v&&b&&void 0!==b[s],p=(l?b:n)[s],d=g&&l?c(p,r):_&&"function"==typeof p?c(Function.call,p):p,b&&u(b,s,p,t&f.U),m[s]!=p&&i(m,s,d),_&&w[s]!=p&&(w[s]=p)};r.core=o,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},14,function(t,e,n){t.exports=!n(20)&&!n(47)(function(){return 7!=Object.defineProperty(n(105)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(44);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(44);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(100),o=n(108),i=n(118),u=Object.defineProperty;e.f=n(20)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return u(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},16,function(t,e,n){var r=n(7),o=n(21),i=n(107),u=n(48)("src"),c="toString",a=Function[c],f=(""+a).split(c);n(45).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,c){var a="function"==typeof n;a&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(a&&(i(n,u)||o(n,u,t[e]?""+t[e]:f.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,c,function(){return"function"==typeof this&&this[u]||a.call(this)})},function(t,e,n){var r=n(7),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},39,function(t,e,n){var r=n(115),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(104);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(10);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){"use strict";var r=n(106),o=n(101)(5),i="find",u=!0;i in[]&&Array(1)[i](function(){u=!1}),r(r.P+r.F*u,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(i)},function(t,e,n){!function(e,n){t.exports=n()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.unwatch=e.watch=void 0;var o=n(4),i=r(o),u=n(3),c=r(u),a=(e.watch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)?g.apply(void 0,e):a(r)?m.apply(void 0,e):b.apply(void 0,e)},e.unwatch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)||void 0===r?j.apply(void 0,e):a(r)?x.apply(void 0,e):w.apply(void 0,e)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,e,n){(0,c["default"])(t,e,{enumerable:!1,configurable:!0,writable:!1,value:n})},p=function(t,e,n,r){(0,c["default"])(t,e,{get:n,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,e,n,r,o){var i=void 0,u=t.__watchers__[e];(i=t.__watchers__.__watchall__)&&(u=u?u.concat(i):i);for(var c=u?u.length:0,a=0;c>a;a++)u[a].call(t,n,r,e,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,e,n,r){l(t,n,function(){for(var o=0,i=void 0,u=void 0,c=arguments.length,a=Array(c),f=0;c>f;f++)a[f]=arguments[f];if("splice"===n){var s=a[0],l=s+a[1];i=t.slice(s,l),u=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=e.apply(t,a);return"pop"===n?(i=d,o=t.length):"push"===n?o=t.length-1:"shift"===n?i=d:"unshift"!==n&&void 0===u&&(u=d),r.call(t,o,n,u,i),d})},y=function(t,e){if(s(e)&&t&&!(t instanceof String)&&a(t))for(var n=v.length;n>0;n--){var r=v[n-1];h(t,t[r],r,e)}},_=function(t,e,n,r){var o=!1,u=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),u&&y(t,function(n,o,i,u){if(d(t,n,i,u,o),0!==r&&i&&(f(i)||a(i))){var c=void 0,s=t.__watchers__[e];(c=t.__watchers__.__watchall__)&&(s=s?s.concat(c):c);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)g(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return n[e].apply(t,o)})});var i=["writable","value"];i.forEach(function(t){void 0!==n[t]&&(r[t]=n[t])}),(0,c["default"])(t.__proxy__,e,r)}():t.__proxy__[e]=t[e];var o=function(){return t.__proxy__[e]},u=function(n){var o=t.__proxy__[e];if(0!==r&&t[e]&&(f(t[e])||a(t[e]))&&!t[e].__watchers__)for(var i=0;i0)for(var r=0;r0)&&g(t[e],n,void 0!==r?r-1:r),_(t,e,n,r)))},m=function(t,e,n,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o { fire (eventName) { let event if ('CustomEvent' in window && typeof window.CustomEvent === 'object') { - event = new CustomEvent(eventName, { - bubbles: true, - cancelable: false - }) + try { + event = new CustomEvent(eventName, { + bubbles: true, + cancelable: false + }) + } + catch (e) { + event = new this.CustomEvent_(eventName, { + bubbles: true, + cancelable: false + }) + } } else { event = document.createEvent('Event') event.initEvent(eventName, true, true) } this.element.dispatchEvent(event) + }, + + CustomEvent_ (event, params) { + params = params || { bubbles: false, cancelable: false, detail: undefined } + var evt = document.createEvent('CustomEvent') + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail) + return evt } } diff --git a/src/index.js b/src/index.js index d2aa47a..9daf58a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,5 @@ +require('core-js/modules/es6.array.find') + export { factory } from './factory' export { handler } from './handler' From a6a844e09fdff225c565317baec35c904ce80787 Mon Sep 17 00:00:00 2001 From: Laza Bogdan Date: Sat, 1 Jul 2017 16:11:36 +0300 Subject: [PATCH 03/13] BREAKING: bump to v1.0.0-alpha.6 - components no longer autoinitialize, instead you need to explicitly call handler.autoInit() - component css initializer classes changed to js-$component-id - upgrade dev tools --- .gitignore | 3 +- README.md | 50 +- build/webpack.config.dev.js | 2 - build/webpack.config.js | 10 - build/webpack.config.production.js | 2 - dist/dom-factory.js | 3 +- package-lock.json | 7404 ++++++++++++++++++++++++++++ package.json | 22 +- src/handler/handler.js | 24 +- webpack.mix.js | 10 + 10 files changed, 7476 insertions(+), 54 deletions(-) delete mode 100644 build/webpack.config.dev.js delete mode 100644 build/webpack.config.js delete mode 100644 build/webpack.config.production.js create mode 100644 package-lock.json create mode 100644 webpack.mix.js diff --git a/.gitignore b/.gitignore index 40b878d..61e546d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -node_modules/ \ No newline at end of file +node_modules/ +/mix-manifest.json \ No newline at end of file diff --git a/README.md b/README.md index 3f18362..6d5eae7 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,9 @@ A component definition is nothing more than a simple object factory (a function ```js /** * A component definition - * @param {HTMLElement} element * @return {Object} */ -const buttonComponent = (element) => ({ - element, +const buttonComponent = () => ({ /** * Properties part of the component's public API. @@ -137,14 +135,43 @@ const buttonComponent = (element) => ({ handler.register('my-button', buttonComponent) ``` -#### Initialize the component +#### Initializing -The component handler attempts to self-initialize all registered components which match the component CSS class. The CSS class is computed automatically from the component ID which was provided at registration. +The component handler attempts to self-initialize all registered components which match the component CSS class. The CSS class is computed automatically from the component ID which was provided at registration, prefixed with `js-`. -In this example, since we registered the `buttonComponent` with a component ID of `my-button`, the handler will try to initialize all the HTML elements which have the `my-js-button` CSS class. +In this example, since we registered the `buttonComponent` with a component ID of `my-button`, the handler will try to initialize all the HTML elements which have the `js-my-button` CSS class. ```html - + +``` + +```js +// Initialize all components on window.DOMContentLoaded and window.load events. +handler.autoInit() +``` + +```js +// Initialize all components immediately. +handler.upgradeAll() + +// Initialize all components on a single element. +var myButtonNode = document.querySelector('.js-my-button') +handler.upgradeElement(myButtonNode) + +// Initialize a single component on a single element. +handler.upgradeElement(myButtonNode, 'my-button') + +// Upgrade all elements matching a registered component ID. +handler.upgrade('my-button') +``` + +#### Downgrade + +Sometimes we need component lifecycle control when integrating with other libraries (Vue.js, Angular, etc). + +```js +var myButtonNode = document.querySelector('.js-my-button') +handler.downgradeElement(myButtonNode) ``` #### Interact with the component API @@ -170,16 +197,21 @@ button.aProperty = 'something else' button.bProperty = true ``` -When using the `reflectToAttribute: true` property option, the property reflects a string representation of it's value to the corresponding attribute on the HTML element, which means you can use the attribute to target styles or to configure the property value. +When using the `reflectToAttribute: true` property option, the property reflects a string representation of it's value to the corresponding attribute on the HTML element, which means you can use the HTML element attribute to configure the component instance property value. When using a `Boolean` property type and assigning a property value of `true`, the attribute will be created with the same value as the attribute name and when assigning a property value of `false`, the attribute will be removed from the DOM. ```html - ``` +```js +console.log(button.aProperty) // => something else +console.log(button.bProperty) // => b-property +``` + #### Destroy Calling the `destroy` method on the component reference, removes observers and event listeners. Useful before removing the HTML element from the DOM, for example when using libraries like Vue.js or Angular2 where you need to hook into the application lifecycle. diff --git a/build/webpack.config.dev.js b/build/webpack.config.dev.js deleted file mode 100644 index 0125e57..0000000 --- a/build/webpack.config.dev.js +++ /dev/null @@ -1,2 +0,0 @@ -var config = require('./webpack.config') -module.exports = config.dev({ devtool: 'eval-source-maps' }).getConfig() \ No newline at end of file diff --git a/build/webpack.config.js b/build/webpack.config.js deleted file mode 100644 index 281cb4a..0000000 --- a/build/webpack.config.js +++ /dev/null @@ -1,10 +0,0 @@ -var path = require('path') -var WebpackConfig = require('webpack-config-api') -var config = new WebpackConfig() - .addFileExtension('js') - .register('babel', require('webpack-config-api/extensions/babel')).use('babel') - .register('eslint', require('webpack-config-api/extensions/eslint')).use('eslint') - .withStandaloneEntry('dom-factory') - .withLibrary('domFactory') - -module.exports = config \ No newline at end of file diff --git a/build/webpack.config.production.js b/build/webpack.config.production.js deleted file mode 100644 index 8e8711d..0000000 --- a/build/webpack.config.production.js +++ /dev/null @@ -1,2 +0,0 @@ -var config = require('./webpack.config') -module.exports = config.production().getConfig() \ No newline at end of file diff --git a/dist/dom-factory.js b/dist/dom-factory.js index 11f5d3c..41fd2dd 100644 --- a/dist/dom-factory.js +++ b/dist/dom-factory.js @@ -1,2 +1 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.domFactory=e():t.domFactory=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}(function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))switch(typeof t[e]){case"function":break;case"object":t[e]=function(e){var n=e.slice(1),r=t[e[0]];return function(t,e,o){r.apply(this,[t,e,o].concat(n))}}(t[e]);break;default:t[e]=t[t[e]]}return t}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.util=e.handler=e.factory=void 0;var r=n(22);Object.defineProperty(e,"factory",{enumerable:!0,get:function(){return r.factory}});var o=n(52);Object.defineProperty(e,"handler",{enumerable:!0,get:function(){return o.handler}});var i=n(25),u=n(24),c=n(26),a=n(27),f=n(23),s=n(53);n(119);e.util={assign:f.assign,isArray:u.isArray,isElement:i.isElement,isFunction:c.isFunction,toKebabCase:a.toKebabCase,transform:s.transform}},function(t,e){var n=Object;t.exports={create:n.create,getProto:n.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:n.getOwnPropertyDescriptor,setDesc:n.defineProperty,setDescs:n.defineProperties,getKeys:n.keys,getNames:n.getOwnPropertyNames,getSymbols:n.getOwnPropertySymbols,each:[].forEach}},function(t,e){var n=t.exports={version:"1.2.6"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(38)("wks"),o=n(40),i=n(9).Symbol;t.exports=function(t){return r[t]||(r[t]=i&&i[t]||(i||o)("Symbol."+t))}},function(t,e){t.exports={}},function(t,e,n){var r=n(9),o=n(2),i=n(31),u="prototype",c=function(t,e,n){var a,f,s,l=t&c.F,p=t&c.G,d=t&c.S,v=t&c.P,h=t&c.B,y=t&c.W,_=p?o:o[e]||(o[e]={}),g=p?r:d?r[e]:(r[e]||{})[u];p&&(n=e);for(a in n)f=!l&&g&&a in g,f&&a in _||(s=f?g[a]:n[a],_[a]=p&&"function"!=typeof g[a]?n[a]:h&&f?i(s,r):y&&g[a]==s?function(t){var e=function(e){return this instanceof t?new t(e):t(e)};return e[u]=t[u],e}(s):v&&"function"==typeof s?i(Function.call,s):s,v&&((_[u]||(_[u]={}))[a]=s))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,t.exports=c},function(t,e,n){var r=n(33),o=n(13);t.exports=function(t){return r(o(t))}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},7,function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(81);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(1),o=n(16);t.exports=n(32)?function(t,e,n){return r.setDesc(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(1).setDesc,o=n(14),i=n(3)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(13);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";var r=n(88)(!0);n(34)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){t.exports=!n(47)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(111),o=n(112);t.exports=n(20)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(50);Object.defineProperty(e,"factory",{enumerable:!0,get:function(){return r.factory}})},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.assign=void 0;var o=n(58),i=r(o),u=n(59),c=r(u),a=n(29),f=r(a),s=n(60),l=r(s);e.assign=function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;e>r;r++)n[r-1]=arguments[r];return n.forEach(function(e){if(e){var n=(0,l["default"])(e).reduce(function(t,n){return t[n]=(0,f["default"])(e,n),t},{});(0,c["default"])(e).forEach(function(t){var r=(0,f["default"])(e,t);r.enumerable&&(n[t]=r)}),(0,i["default"])(t,n)}}),t}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.isArray=function(t){return"[object Array]"==={}.toString.call(t)}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.isElement=function(t){return t instanceof HTMLElement}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.isFunction=function(t){return"function"==typeof t}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.toKebabCase=function(t){return t.replace(/([A-Z])/g,function(t){return("-"+t).toLowerCase()})}},function(t,e,n){t.exports={"default":n(70),__esModule:!0}},function(t,e,n){t.exports={"default":n(71),__esModule:!0}},function(t,e,n){var r=n(12),o=n(3)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[o])?n:i?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},function(t,e,n){var r=n(75);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(12);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){"use strict";var r=n(35),o=n(5),i=n(37),u=n(15),c=n(14),a=n(4),f=n(83),s=n(17),l=n(1).getProto,p=n(3)("iterator"),d=!([].keys&&"next"in[].keys()),v="@@iterator",h="keys",y="values",_=function(){return this};t.exports=function(t,e,n,g,b,m,w){f(n,e,g);var x,O,j=function(t){if(!d&&t in P)return P[t];switch(t){case h:return function(){return new n(this,t)};case y:return function(){return new n(this,t)}}return function(){return new n(this,t)}},E=e+" Iterator",A=b==y,S=!1,P=t.prototype,M=P[p]||P[v]||b&&P[b],F=M||j(b);if(M){var C=l(F.call(new t));s(C,E,!0),!r&&c(P,v)&&u(C,p,_),A&&M.name!==y&&(S=!0,F=function(){return M.call(this)})}if(r&&!w||!d&&!S&&P[p]||u(P,p,F),a[e]=F,a[E]=_,b)if(x={values:A?F:j(y),keys:m?F:j(h),entries:A?j("entries"):F},w)for(O in x)O in P||i(P,O,x[O]);else o(o.P+o.F*(d||S),e,x);return x}},function(t,e){t.exports=!0},function(t,e,n){var r=n(5),o=n(2),i=n(8);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],u={};u[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",u)}},function(t,e,n){t.exports=n(15)},function(t,e,n){var r=n(9),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(30),o=n(3)("iterator"),i=n(4);t.exports=n(2).getIteratorMethod=function(t){return void 0!=t?t[o]||t["@@iterator"]||i[r(t)]:void 0}},function(t,e,n){"use strict";var r=n(1),o=n(9),i=n(14),u=n(32),c=n(5),a=n(37),f=n(8),s=n(38),l=n(17),p=n(40),d=n(3),v=n(86),h=n(78),y=n(77),_=n(80),g=n(11),b=n(6),m=n(16),w=r.getDesc,x=r.setDesc,O=r.create,j=h.get,E=o.Symbol,A=o.JSON,S=A&&A.stringify,P=!1,M=d("_hidden"),F=r.isEnum,C=s("symbol-registry"),k=s("symbols"),D="function"==typeof E,T=Object.prototype,N=u&&f(function(){return 7!=O(x({},"a",{get:function(){return x(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=w(T,e);r&&delete T[e],x(t,e,n),r&&t!==T&&x(T,e,r)}:x,I=function(t){var e=k[t]=O(E.prototype);return e._k=t,u&&P&&N(T,t,{configurable:!0,set:function(e){i(this,M)&&i(this[M],t)&&(this[M][t]=!1),N(this,t,m(1,e))}}),e},L=function(t){return"symbol"==typeof t},K=function(t,e,n){return n&&i(k,e)?(n.enumerable?(i(t,M)&&t[M][e]&&(t[M][e]=!1),n=O(n,{enumerable:m(0,!1)})):(i(t,M)||x(t,M,m(1,{})),t[M][e]=!0),N(t,e,n)):x(t,e,n)},B=function(t,e){g(t);for(var n,r=y(e=b(e)),o=0,i=r.length;i>o;)K(t,n=r[o++],e[n]);return t},W=function(t,e){return void 0===e?O(t):B(O(t),e)},z=function(t){var e=F.call(this,t);return e||!i(this,t)||!i(k,t)||i(this,M)&&this[M][t]?e:!0},G=function(t,e){var n=w(t=b(t),e);return!n||!i(k,e)||i(t,M)&&t[M][e]||(n.enumerable=!0),n},R=function(t){for(var e,n=j(b(t)),r=[],o=0;n.length>o;)i(k,e=n[o++])||e==M||r.push(e);return r},U=function(t){for(var e,n=j(b(t)),r=[],o=0;n.length>o;)i(k,e=n[o++])&&r.push(k[e]);return r},J=function(t){if(void 0!==t&&!L(t)){for(var e,n,r=[t],o=1,i=arguments;i.length>o;)r.push(i[o++]);return e=r[1],"function"==typeof e&&(n=e),!n&&_(e)||(e=function(t,e){return n&&(e=n.call(this,t,e)),L(e)?void 0:e}),r[1]=e,S.apply(A,r)}},Z=f(function(){var t=E();return"[null]"!=S([t])||"{}"!=S({a:t})||"{}"!=S(Object(t))});D||(E=function(){if(L(this))throw TypeError("Symbol is not a constructor");return I(p(arguments.length>0?arguments[0]:void 0))},a(E.prototype,"toString",function(){return this._k}),L=function(t){return t instanceof E},r.create=W,r.isEnum=z,r.getDesc=G,r.setDesc=K,r.setDescs=B,r.getNames=h.get=R,r.getSymbols=U,u&&!n(35)&&a(T,"propertyIsEnumerable",z,!0));var q={"for":function(t){return i(C,t+="")?C[t]:C[t]=E(t)},keyFor:function(t){return v(C,t)},useSetter:function(){P=!0},useSimple:function(){P=!1}};r.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(t){var e=d(t);q[t]=D?e:I(e)}),P=!0,c(c.G+c.W,{Symbol:E}),c(c.S,"Symbol",q),c(c.S+c.F*!D,"Object",{create:W,defineProperty:K,defineProperties:B,getOwnPropertyDescriptor:G,getOwnPropertyNames:R,getOwnPropertySymbols:U}),A&&c(c.S+c.F*(!D||Z),"JSON",{stringify:J}),l(E,"Symbol"),l(Math,"Math",!0),l(o.JSON,"JSON",!0)},function(t,e,n){n(93);var r=n(4);r.NodeList=r.HTMLCollection=r.Array},12,function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(98);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},8,40,function(t,e,n){var r=n(114)("wks"),o=n(48),i=n(7).Symbol,u="function"==typeof i,c=t.exports=function(t){return r[t]||(r[t]=u&&i[t]||(u?i:o)("Symbol."+t))};c.store=r},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.factory=void 0;var o=n(62),i=r(o),u=n(64),c=r(u),a=n(29),f=r(a),s=n(28),l=r(s),p=n(120),d=n(25),v=n(24),h=n(26),y=n(27),_=n(23),g=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return t=(0,_.assign)({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},b=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=arguments[2];e=g(e);var r={enumerable:!0,configurable:!0,writable:!e.readOnly,value:(0,h.isFunction)(e.value)?e.value.call(n):e.value};(0,l["default"])(n,t,r)},m=function(t,e,n){e&&!n[t]&&((0,h.isFunction)(e)?n[t]=e.call(n):n[t]=e)},w=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=arguments[2];if(e=g(e),e.reflectToAttribute){var r=(0,y.toKebabCase)(t),o=(0,f["default"])(n,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return e.type===Boolean?this.element.hasAttribute(r):this.element.getAttribute(r)},set:function(n){this.element[n?"setAttribute":"removeAttribute"](r,e.type===Boolean?t:n)}};(0,l["default"])(n,t,i)}},x=function(t){if("object"===(0,c["default"])(t.properties))for(var e in t.properties)if(t.properties.hasOwnProperty(e)){var n=t.properties[e];b(e,n,t),w(e,n,t),m(e,n.value,t)}},O=function(t,e){return t.split(".").reduce(function(t,e){return t[e]},e)},j=function(t,e){var n=t.split("."),r=n.pop(),o=O(n.join("."),e);return{parent:o,prop:r}},E=function(t){return(0,v.isArray)(t.observers)?t.observers.map(function(t){var e=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),n=(0,i["default"])(e,3),r=n[1],o=n[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(e){var n=e.fn;return(0,h.isFunction)(t[n])}):[]},A=function(t){E(t).forEach(function(e){var n=e.fn,r=e.args;t[n]=t[n].bind(t),r.forEach(function(e){if(-1!==e.indexOf(".")){var r=j(e,t),o=r.prop,i=r.parent;(0,p.watch)(i,o,t[n])}else(0,p.watch)(t,e,t[n])})})},S=function(t){return(0,v.isArray)(t.listeners)?t.listeners.map(function(t){var e=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),n=(0,i["default"])(e,4),r=n[1],o=n[2],u=n[3];return u=u.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:u}}).filter(function(e){var n=e.element,r=e.fn;return(0,h.isFunction)(t[r])&&("document"===n||"window"===n||(0,d.isElement)(t[n])||(0,d.isElement)(t[n].element))}):[]},P=function(t){S(t).forEach(function(e){var n=e.element,r=e.fn,o=e.events;t[r]=t[r].bind(t),"document"===n?n=t.element.ownerDocument:"window"===n?n=window:(0,d.isElement)(t[n])?n=t[n]:(0,d.isElement)(t[n].element)&&(n=t[n].element),n&&o.forEach(function(e){return n.addEventListener(e,t[r])})})},M=function(t){return(0,v.isArray)(t.mixins)?t.mixins.filter(function(t){return"object"===("undefined"==typeof t?"undefined":(0,c["default"])(t))}):[]},F=function(t){var e=M(t);return e.unshift({}),_.assign.apply(null,e)};e.factory=function(t,e){if(!t||"object"!==("undefined"==typeof t?"undefined":(0,c["default"])(t))||!(0,d.isElement)(e))return void console.error("[dom-factory] Invalid factory.",t,e);t.element=e;var n={$set:function(t,e){if(t&&void 0!==e&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var n=g(this.properties[t]),r=(0,f["default"])(this,t);if(n.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:e};return void(0,l["default"])(this,t,o)}this[t]=e}},init:function(){A(this),P(this),(0,h.isFunction)(t.init)&&t.init.call(this)},destroy:function(){var e=this;E(t).forEach(function(t){var n=t.fn,r=t.args;r.forEach(function(t){if(-1!==t.indexOf(".")){var r=j(t,e),o=r.prop,i=r.parent;(0,p.unwatch)(i,o,e[n])}else(0,p.unwatch)(e,t,e[n])})}),S(t).forEach(function(t){var n=t.element,r=t.fn,o=t.events;"document"===n?n=e.element.ownerDocument:"window"===n?n=window:(0,d.isElement)(e[n])?n=e[n]:(0,d.isElement)(e[n].element)&&(n=e[n].element),n&&o.forEach(function(t){return n.removeEventListener(t,e[r])})}),(0,h.isFunction)(t.destroy)&&t.destroy.call(this)},fire:function(t){var e=void 0;if("CustomEvent"in window&&"object"===(0,c["default"])(window.CustomEvent))try{e=new CustomEvent(t,{bubbles:!0,cancelable:!1})}catch(n){e=new this.CustomEvent_(t,{bubbles:!0,cancelable:!1})}else e=document.createEvent("Event"),e.initEvent(t,!0,!0);this.element.dispatchEvent(e)},CustomEvent_:function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}};return x(t),n=(0,_.assign)({},F(t),t,n),n.init(),n}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.handler=void 0;var o=n(63),i=r(o),u=n(28),c=r(u),a=n(57),f=r(a),s=n(22),l=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},p="__domFactoryConfig",d=e.handler={_registered:[],_created:[],register:function(t,e){var n=[],r=t.split("-");r.splice(1,0,"js");var o=r.join("-");this.findRegistered(t)||this._registered.push({id:t,cssClass:o,callbacks:n,factory:e}),this.upgrade(t)},registerUpgradedCallback:function(t,e){var n=this.findRegistered(t);n&&n.callbacks.push(e)},findRegistered:function(t){return this._registered.find(function(e){return e.id===t})},findCreated:function(t){return this._created.filter(function(e){return e.element===t})},upgradeElement:function(t,e){var n=this;if(void 0===e)return void this._registered.forEach(function(e){t.classList.contains(e.cssClass)&&n.upgradeElement(t,e.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(e);if(!o||null!==r&&-1!==r.indexOf(e)){if(o){var i=t[l(e)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(e);var u=void 0;try{u=(0,s.factory)(o.factory(t),t)}catch(a){console.error(e,a.message,a.stack)}if(u){t.setAttribute("data-domfactory-upgraded",r.join(","));var d=(0,f["default"])({},o);delete d.factory,u[p]=d,this._created.push(u),(0,c["default"])(t,l(e),{configurable:!0,writable:!1,value:u}),o.callbacks.forEach(function(e){return e(t)}),u.fire("domfactory-component-upgraded")}}},upgrade:function(t){var e=this;if(void 0===t)this.upgradeAll();else{var n=this.findRegistered(t);if(n){var r=[].concat((0,i["default"])(document.querySelectorAll("."+n.cssClass)));r.forEach(function(n){return e.upgradeElement(n,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(e){return t.upgrade(e.id)})},downgradeComponent:function(t){var e=this._created.indexOf(t);this._created.splice(e,1);var n=t.element.getAttribute("data-domfactory-upgraded").split(","),r=n.indexOf(t[p].id);n.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",n.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent)},downgradeAll:function(){this._created.forEach(this.downgradeComponent)},downgrade:function(t){var e=this;if(t instanceof Array||t instanceof NodeList){var n=t instanceof NodeList?[].concat((0,i["default"])(t)):t;n.forEach(function(t){return e.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}};["DOMContentLoaded","load"].forEach(function(t){window.addEventListener(t,function(){return d.upgradeAll()})})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(51);Object.defineProperty(e,"handler",{enumerable:!0,get:function(){return r.handler}})},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.transform=function(t,e){var n=["transform","WebkitTransform","msTransform","MozTransform","OTransform"];n.map(function(n){return e.style[n]=t})}},function(t,e,n){t.exports={"default":n(65),__esModule:!0}},function(t,e,n){t.exports={"default":n(66),__esModule:!0}},function(t,e,n){t.exports={"default":n(67),__esModule:!0}},function(t,e,n){t.exports={"default":n(68),__esModule:!0}},function(t,e,n){t.exports={"default":n(69),__esModule:!0}},function(t,e,n){t.exports={"default":n(72),__esModule:!0}},function(t,e,n){t.exports={"default":n(73),__esModule:!0}},function(t,e,n){t.exports={"default":n(74),__esModule:!0}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=n(56),i=r(o),u=n(55),c=r(u);e["default"]=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=(0,c["default"])(t);!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(f){o=!0,i=f}finally{try{!r&&a["return"]&&a["return"]()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if((0,i["default"])(Object(e)))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=n(54),i=r(o);e["default"]=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);ec;)u.call(t,o=i[c++])&&e.push(o);return e}},function(t,e,n){var r=n(6),o=n(1).getNames,i={}.toString,u="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(t){try{return o(t)}catch(e){return u.slice()}};t.exports.get=function(t){return u&&"[object Window]"==i.call(t)?c(t):o(r(t))}},function(t,e,n){var r=n(4),o=n(3)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){var r=n(12);t.exports=Array.isArray||function(t){return"Array"==r(t)}},10,function(t,e,n){var r=n(11);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(i){var u=t["return"];throw void 0!==u&&r(u.call(t)),i}}},function(t,e,n){"use strict";var r=n(1),o=n(16),i=n(17),u={};n(15)(u,n(3)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r.create(u,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(3)("iterator"),o=!1;try{var i=[7][r]();i["return"]=function(){o=!0},Array.from(i,function(){throw 2})}catch(u){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){n=!0},i[r]=function(){return u},t(i)}catch(c){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(1),o=n(6);t.exports=function(t,e){for(var n,i=o(t),u=r.getKeys(i),c=u.length,a=0;c>a;)if(i[n=u[a++]]===e)return n}},function(t,e,n){var r=n(1),o=n(18),i=n(33);t.exports=n(8)(function(){var t=Object.assign,e={},n={},r=Symbol(),o="abcdefghijklmnopqrst";return e[r]=7,o.split("").forEach(function(t){n[t]=t}),7!=t({},e)[r]||Object.keys(t({},n)).join("")!=o})?function(t,e){for(var n=o(t),u=arguments,c=u.length,a=1,f=r.getKeys,s=r.getSymbols,l=r.isEnum;c>a;)for(var p,d=i(u[a++]),v=s?f(d).concat(s(d)):f(d),h=v.length,y=0;h>y;)l.call(d,p=v[y++])&&(n[p]=d[p]);return n}:Object.assign},function(t,e,n){var r=n(39),o=n(13);t.exports=function(t){return function(e,n){var i,u,c=String(o(e)),a=r(n),f=c.length;return 0>a||a>=f?t?"":void 0:(i=c.charCodeAt(a),55296>i||i>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):(i-55296<<10)+(u-56320)+65536)}}},function(t,e,n){var r=n(39),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(11),o=n(41);t.exports=n(2).getIterator=function(t){var e=o(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))}},function(t,e,n){var r=n(30),o=n(3)("iterator"),i=n(4);t.exports=n(2).isIterable=function(t){var e=Object(t);return void 0!==e[o]||"@@iterator"in e||i.hasOwnProperty(r(e))}},function(t,e,n){"use strict";var r=n(31),o=n(5),i=n(18),u=n(82),c=n(79),a=n(89),f=n(41);o(o.S+o.F*!n(84)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,s,l=i(t),p="function"==typeof this?this:Array,d=arguments,v=d.length,h=v>1?d[1]:void 0,y=void 0!==h,_=0,g=f(l);if(y&&(h=r(h,v>2?d[2]:void 0,2)),void 0==g||p==Array&&c(g))for(e=a(l.length),n=new p(e);e>_;_++)n[_]=y?h(l[_],_):l[_];else for(s=g.call(l),n=new p;!(o=s.next()).done;_++)n[_]=y?u(s,h,[o.value,_],!0):o.value;return n.length=_,n}})},function(t,e,n){"use strict";var r=n(76),o=n(85),i=n(4),u=n(6);t.exports=n(34)(Array,"Array",function(t,e){this._t=u(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):"keys"==e?o(0,n):"values"==e?o(0,t[n]):o(0,[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r=n(5);r(r.S+r.F,"Object",{assign:n(87)})},function(t,e,n){var r=n(6);n(36)("getOwnPropertyDescriptor",function(t){return function(e,n){return t(r(e),n)}})},function(t,e,n){var r=n(18);n(36)("keys",function(t){return function(e){return t(r(e))}})},function(t,e){},75,function(t,e,n){var r=n(49)("unscopables"),o=Array.prototype;void 0==o[r]&&n(21)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){var r=n(10);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(46),o=n(109),i=n(117),u=n(116),c=n(103);t.exports=function(t,e){var n=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=e||c;return function(e,c,v){for(var h,y,_=i(e),g=o(_),b=r(c,v,3),m=u(g.length),w=0,x=n?d(e,m):a?d(e,0):void 0;m>w;w++)if((p||w in g)&&(h=g[w],y=b(h,w,_),t))if(n)x[w]=y;else if(y)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,e,n){var r=n(10),o=n(110),i=n(49)("species");t.exports=function(t){var e;return o(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&(e=e[i],null===e&&(e=void 0))),void 0===e?Array:e}},function(t,e,n){var r=n(102);t.exports=function(t,e){return new(r(t))(e)}},13,function(t,e,n){var r=n(10),o=n(7).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(7),o=n(45),i=n(21),u=n(113),c=n(46),a="prototype",f=function(t,e,n){var s,l,p,d,v=t&f.F,h=t&f.G,y=t&f.S,_=t&f.P,g=t&f.B,b=h?r:y?r[e]||(r[e]={}):(r[e]||{})[a],m=h?o:o[e]||(o[e]={}),w=m[a]||(m[a]={});h&&(n=e);for(s in n)l=!v&&b&&void 0!==b[s],p=(l?b:n)[s],d=g&&l?c(p,r):_&&"function"==typeof p?c(Function.call,p):p,b&&u(b,s,p,t&f.U),m[s]!=p&&i(m,s,d),_&&w[s]!=p&&(w[s]=p)};r.core=o,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},14,function(t,e,n){t.exports=!n(20)&&!n(47)(function(){return 7!=Object.defineProperty(n(105)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(44);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(44);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(100),o=n(108),i=n(118),u=Object.defineProperty;e.f=n(20)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return u(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},16,function(t,e,n){var r=n(7),o=n(21),i=n(107),u=n(48)("src"),c="toString",a=Function[c],f=(""+a).split(c);n(45).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,c){var a="function"==typeof n;a&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(a&&(i(n,u)||o(n,u,t[e]?""+t[e]:f.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,c,function(){return"function"==typeof this&&this[u]||a.call(this)})},function(t,e,n){var r=n(7),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},39,function(t,e,n){var r=n(115),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(104);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(10);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){"use strict";var r=n(106),o=n(101)(5),i="find",u=!0;i in[]&&Array(1)[i](function(){u=!1}),r(r.P+r.F*u,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(i)},function(t,e,n){!function(e,n){t.exports=n()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.unwatch=e.watch=void 0;var o=n(4),i=r(o),u=n(3),c=r(u),a=(e.watch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)?g.apply(void 0,e):a(r)?m.apply(void 0,e):b.apply(void 0,e)},e.unwatch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)||void 0===r?j.apply(void 0,e):a(r)?x.apply(void 0,e):w.apply(void 0,e)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,e,n){(0,c["default"])(t,e,{enumerable:!1,configurable:!0,writable:!1,value:n})},p=function(t,e,n,r){(0,c["default"])(t,e,{get:n,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,e,n,r,o){var i=void 0,u=t.__watchers__[e];(i=t.__watchers__.__watchall__)&&(u=u?u.concat(i):i);for(var c=u?u.length:0,a=0;c>a;a++)u[a].call(t,n,r,e,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,e,n,r){l(t,n,function(){for(var o=0,i=void 0,u=void 0,c=arguments.length,a=Array(c),f=0;c>f;f++)a[f]=arguments[f];if("splice"===n){var s=a[0],l=s+a[1];i=t.slice(s,l),u=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=e.apply(t,a);return"pop"===n?(i=d,o=t.length):"push"===n?o=t.length-1:"shift"===n?i=d:"unshift"!==n&&void 0===u&&(u=d),r.call(t,o,n,u,i),d})},y=function(t,e){if(s(e)&&t&&!(t instanceof String)&&a(t))for(var n=v.length;n>0;n--){var r=v[n-1];h(t,t[r],r,e)}},_=function(t,e,n,r){var o=!1,u=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),u&&y(t,function(n,o,i,u){if(d(t,n,i,u,o),0!==r&&i&&(f(i)||a(i))){var c=void 0,s=t.__watchers__[e];(c=t.__watchers__.__watchall__)&&(s=s?s.concat(c):c);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)g(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return n[e].apply(t,o)})});var i=["writable","value"];i.forEach(function(t){void 0!==n[t]&&(r[t]=n[t])}),(0,c["default"])(t.__proxy__,e,r)}():t.__proxy__[e]=t[e];var o=function(){return t.__proxy__[e]},u=function(n){var o=t.__proxy__[e];if(0!==r&&t[e]&&(f(t[e])||a(t[e]))&&!t[e].__watchers__)for(var i=0;i0)for(var r=0;r0)&&g(t[e],n,void 0!==r?r-1:r),_(t,e,n,r)))},m=function(t,e,n,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o1?n-1:0),r=1;r1?arguments[1]:void 0)}}),e(39)("find")},function(t,n,e){var r=e(0),o=e(4),i=e(2),u=e(26),c=e(7),a=function(t,n,e){var f,s,l,p,d=t&a.F,v=t&a.G,h=t&a.S,_=t&a.P,y=t&a.B,b=v?r:h?r[n]||(r[n]={}):(r[n]||{}).prototype,g=v?o:o[n]||(o[n]={}),m=g.prototype||(g.prototype={});v&&(e=n);for(f in e)s=!d&&b&&void 0!==b[f],l=(s?b:e)[f],p=y&&s?c(l,r):_&&"function"==typeof l?c(Function.call,l):l,b&&u(b,f,l,t&a.U),g[f]!=l&&i(g,f,p),_&&m[f]!=l&&(m[f]=l)};r.core=o,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,n,e){var r=e(21),o=e(22),i=e(24),u=Object.defineProperty;n.f=e(3)?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(1);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,n,e){t.exports=!e(3)&&!e(5)(function(){return 7!=Object.defineProperty(e(23)("div"),"a",{get:function(){return 7}}).a})},function(t,n,e){var r=e(1),o=e(0).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,n,e){var r=e(1);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(0),o=e(2),i=e(27),u=e(6)("src"),c=Function.toString,a=(""+c).split("toString");e(4).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,e,c){var f="function"==typeof e;f&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(f&&(i(e,u)||o(e,u,t[n]?""+t[n]:a.join(String(n)))),t===r?t[n]=e:c?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[u]||c.call(this)})},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,e){var r=e(7),o=e(30),i=e(31),u=e(33),c=e(35);t.exports=function(t,n){var e=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=n||c;return function(n,c,v){for(var h,_,y=i(n),b=o(y),g=r(c,v,3),m=u(b.length),w=0,x=e?d(n,m):a?d(n,0):void 0;m>w;w++)if((p||w in b)&&(h=b[w],_=g(h,w,y),t))if(e)x[w]=_;else if(_)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,n,e){var r=e(8);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,n,e){var r=e(32);t.exports=function(t){return Object(r(t))}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(34),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(36);t.exports=function(t,n){return new(r(t))(n)}},function(t,n,e){var r=e(1),o=e(37),i=e(9)("species");t.exports=function(t){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)||(n=void 0),r(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},function(t,n,e){var r=e(8);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,n,e){var r=e(9)("unscopables"),o=Array.prototype;void 0==o[r]&&e(2)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,n,e){"use strict";e.d(n,"a",function(){return j});var r=e(41),o=(e.n(r),e(11)),i=e(12),u=e(13),c=e(14),a=e(15),f=function(){function t(t,n){var e=[],r=!0,o=!1,i=void 0;try{for(var u,c=t[Symbol.iterator]();!(r=(u=c.next()).done)&&(e.push(u.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&c.return&&c.return()}finally{if(o)throw i}}return e}return function(n,e){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return t(n,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=a.a({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},p=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];n=l(n);var r={enumerable:!0,configurable:!0,writable:!n.readOnly,value:u.a(n.value)?n.value.call(e):n.value};Object.defineProperty(e,t,r)},d=function(t,n,e){n&&!e[t]&&(u.a(n)?e[t]=n.call(e):e[t]=n)},v=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];if(n=l(n),n.reflectToAttribute){var r=c.a(t),o=Object.getOwnPropertyDescriptor(e,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return n.type===Boolean?this.element.hasAttribute(r):this.element.getAttribute(r)},set:function(e){this.element[e?"setAttribute":"removeAttribute"](r,n.type===Boolean?t:e)}};Object.defineProperty(e,t,i)}},h=function(t){if("object"===s(t.properties))for(var n in t.properties)if(t.properties.hasOwnProperty(n)){var e=t.properties[n];p(n,e,t),v(n,e,t),d(n,e.value,t)}},_=function(t,n){return t.split(".").reduce(function(t,n){return t[n]},n)},y=function(t,n){var e=t.split("."),r=e.pop();return{parent:_(e.join("."),n),prop:r}},b=function(t){return i.a(t.observers)?t.observers.map(function(t){var n=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),e=f(n,3),r=e[1],o=e[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(n){var e=n.fn;return u.a(t[e])}):[]},g=function(t){b(t).forEach(function(n){var e=n.fn,o=n.args;t[e]=t[e].bind(t),o.forEach(function(n){if(-1!==n.indexOf(".")){var o=y(n,t),i=o.prop,u=o.parent;r.watch(u,i,t[e])}else r.watch(t,n,t[e])})})},m=function(t){return i.a(t.listeners)?t.listeners.map(function(t){var n=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),e=f(n,4),r=e[1],o=e[2],i=e[3];return i=i.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:i}}).filter(function(n){var e=n.element,r=n.fn;return u.a(t[r])&&("document"===e||"window"===e||o.a(t[e])||o.a(t[e].element))}):[]},w=function(t){m(t).forEach(function(n){var e=n.element,r=n.fn,i=n.events;t[r]=t[r].bind(t),"document"===e?e=t.element.ownerDocument:"window"===e?e=window:o.a(t[e])?e=t[e]:o.a(t[e].element)&&(e=t[e].element),e&&i.forEach(function(n){return e.addEventListener(n,t[r])})})},x=function(t){return i.a(t.mixins)?t.mixins.filter(function(t){return"object"===(void 0===t?"undefined":s(t))}):[]},O=function(t){var n=x(t);return n.unshift({}),a.a.apply(null,n)},j=function(t,n){if(t&&"object"===(void 0===t?"undefined":s(t))&&o.a(n)){t.element=n;var e={$set:function(t,n){if(t&&void 0!==n&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var e=l(this.properties[t]),r=Object.getOwnPropertyDescriptor(this,t);if(e.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:n};return void Object.defineProperty(this,t,o)}this[t]=n}},init:function(){g(this),w(this),u.a(t.init)&&t.init.call(this)},destroy:function(){var n=this;b(t).forEach(function(t){var e=t.fn;t.args.forEach(function(t){if(-1!==t.indexOf(".")){var o=y(t,n),i=o.prop,u=o.parent;r.unwatch(u,i,n[e])}else r.unwatch(n,t,n[e])})}),m(t).forEach(function(t){var e=t.element,r=t.fn,i=t.events;"document"===e?e=n.element.ownerDocument:"window"===e?e=window:o.a(n[e])?e=n[e]:o.a(n[e].element)&&(e=n[e].element),e&&i.forEach(function(t){return e.removeEventListener(t,n[r])})}),u.a(t.destroy)&&t.destroy.call(this)},fire:function(t){var n=void 0;if("CustomEvent"in window&&"object"===s(window.CustomEvent))try{n=new CustomEvent(t,{bubbles:!0,cancelable:!1})}catch(e){n=new this.CustomEvent_(t,{bubbles:!0,cancelable:!1})}else n=document.createEvent("Event"),n.initEvent(t,!0,!0);this.element.dispatchEvent(n)},CustomEvent_:function(t,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),e}};return h(t),e=a.a({},O(t),t,e),e.init(),e}}},function(t,n,e){!function(n,e){t.exports=e()}(0,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0}),n.unwatch=n.watch=void 0;var o=e(4),i=r(o),u=e(3),c=r(u),a=(n.watch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)?b.apply(void 0,n):a(r)?m.apply(void 0,n):g.apply(void 0,n)},n.unwatch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)||void 0===r?j.apply(void 0,n):a(r)?x.apply(void 0,n):w.apply(void 0,n)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,n,e){(0,c.default)(t,n,{enumerable:!1,configurable:!0,writable:!1,value:e})},p=function(t,n,e,r){(0,c.default)(t,n,{get:e,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,n,e,r,o){var i=void 0,u=t.__watchers__[n];(i=t.__watchers__.__watchall__)&&(u=u?u.concat(i):i);for(var c=u?u.length:0,a=0;c>a;a++)u[a].call(t,e,r,n,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,n,e,r){l(t,e,function(){for(var o=0,i=void 0,u=void 0,c=arguments.length,a=Array(c),f=0;c>f;f++)a[f]=arguments[f];if("splice"===e){var s=a[0],l=s+a[1];i=t.slice(s,l),u=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=n.apply(t,a);return"pop"===e?(i=d,o=t.length):"push"===e?o=t.length-1:"shift"===e?i=d:"unshift"!==e&&void 0===u&&(u=d),r.call(t,o,e,u,i),d})},_=function(t,n){if(s(n)&&t&&!(t instanceof String)&&a(t))for(var e=v.length;e>0;e--){var r=v[e-1];h(t,t[r],r,n)}},y=function(t,n,e,r){var o=!1,u=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),u&&_(t,function(e,o,i,u){if(d(t,e,i,u,o),0!==r&&i&&(f(i)||a(i))){var c=void 0,s=t.__watchers__[n];(c=t.__watchers__.__watchall__)&&(s=s?s.concat(c):c);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)b(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return e[n].apply(t,o)})}),["writable","value"].forEach(function(t){void 0!==e[t]&&(r[t]=e[t])}),(0,c.default)(t.__proxy__,n,r)}():t.__proxy__[n]=t[n],p(t,n,function(){return t.__proxy__[n]},function(e){var o=t.__proxy__[n];if(0!==r&&t[n]&&(f(t[n])||a(t[n]))&&!t[n].__watchers__)for(var i=0;i0)for(var o=0;o0)&&b(t[n],e,void 0!==r?r-1:r),y(t,n,e,r)))},m=function(t,n,e,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o", "license": "ISC", "devDependencies": { - "babel-core": "^6.4.0", - "babel-loader": "^6.2.1", - "babel-plugin-transform-runtime": "^6.4.3", - "babel-preset-es2015": "^6.3.13", - "babel-runtime": "^5.8.34", "core-js": "^2.4.1", - "eslint": "^1.10.3", - "eslint-loader": "^1.2.0", - "watch-object": "^1.1.2", - "webpack": "^1.12.11", - "webpack-config-api": "^0.2.1" + "cross-env": "^5.0.1", + "laravel-mix": "^1.0.7", + "watch-object": "^1.1.2" }, "dependencies": {}, "keywords": [ diff --git a/src/handler/handler.js b/src/handler/handler.js index a68efaa..bfd82b2 100644 --- a/src/handler/handler.js +++ b/src/handler/handler.js @@ -11,6 +11,12 @@ const CONFIG_PROPERTY = '__domFactoryConfig' */ export const handler = { + autoInit () { + ['DOMContentLoaded', 'load'].forEach(function (e) { + window.addEventListener(e, () => handler.upgradeAll()) + }) + }, + // Registered components _registered: [], @@ -24,11 +30,7 @@ export const handler = { */ register (id, factory) { const callbacks = [] - - let idChunks = id.split('-') - idChunks.splice(1, 0, 'js') - - const cssClass = idChunks.join('-') + const cssClass = `js-${ id }` if (!this.findRegistered(id)) { this._registered.push({ @@ -38,7 +40,6 @@ export const handler = { factory }) } - this.upgrade(id) }, /** @@ -157,6 +158,7 @@ export const handler = { * @param {Object} component */ downgradeComponent (component) { + component.destroy() const index = this._created.indexOf(component) this._created.splice(index, 1) @@ -172,14 +174,14 @@ export const handler = { * @param {HTMLElement} element */ downgradeElement (element) { - this.findCreated(element).forEach(this.downgradeComponent) + this.findCreated(element).forEach(this.downgradeComponent, this) }, /** * Downgrade all the created components. */ downgradeAll () { - this._created.forEach(this.downgradeComponent) + this._created.forEach(this.downgradeComponent, this) }, /** @@ -195,8 +197,4 @@ export const handler = { this.downgradeElement(node) } } -}; - -['DOMContentLoaded', 'load'].forEach(function (e) { - window.addEventListener(e, () => handler.upgradeAll()) -}) \ No newline at end of file +} \ No newline at end of file diff --git a/webpack.mix.js b/webpack.mix.js new file mode 100644 index 0000000..b566834 --- /dev/null +++ b/webpack.mix.js @@ -0,0 +1,10 @@ +const { mix } = require('laravel-mix') + +mix.js('src/index.js', 'dist/dom-factory.js') + +mix.webpackConfig({ + output: { + library: 'domFactory', + libraryTarget: 'umd' + } +}) \ No newline at end of file From 348440cdd6607f87971d6e3b6cd278725743fbfe Mon Sep 17 00:00:00 2001 From: Laza Bogdan Date: Sat, 21 Oct 2017 12:13:28 +0300 Subject: [PATCH 04/13] fix event bubbling --- .gitignore | 3 +- .npmrc | 1 + dist/dom-factory.js | 2 +- package-lock.json | 7404 ---------------------------------------- package.json | 2 +- src/factory/factory.js | 7 +- 6 files changed, 9 insertions(+), 7410 deletions(-) create mode 100644 .npmrc delete mode 100644 package-lock.json diff --git a/.gitignore b/.gitignore index 61e546d..d66559d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ -/mix-manifest.json \ No newline at end of file +package-lock.json +mix-manifest.json \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..9cf9495 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +package-lock=false \ No newline at end of file diff --git a/dist/dom-factory.js b/dist/dom-factory.js index 41fd2dd..09add03 100644 --- a/dist/dom-factory.js +++ b/dist/dom-factory.js @@ -1 +1 @@ -!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.domFactory=n():t.domFactory=n()}(this,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=16)}([function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(20),o=e(25);t.exports=e(3)?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){t.exports=!e(5)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n){var e=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=e)},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},function(t,n,e){var r=e(28);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){var r=e(38)("wks"),o=e(6),i=e(0).Symbol,u="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=u&&i[t]||(u?i:o)("Symbol."+t))}).store=r},function(t,n,e){"use strict";var r=e(40);e.d(n,"a",function(){return r.a})},function(t,n,e){"use strict";e.d(n,"a",function(){return r});var r=function(t){return t instanceof HTMLElement}},function(t,n,e){"use strict";e.d(n,"a",function(){return r});var r=function(t){return"[object Array]"==={}.toString.call(t)}},function(t,n,e){"use strict";e.d(n,"a",function(){return r});var r=function(t){return"function"==typeof t}},function(t,n,e){"use strict";e.d(n,"a",function(){return r});var r=function(t){return t.replace(/([A-Z])/g,function(t){return("-"+t).toLowerCase()})}},function(t,n,e){"use strict";e.d(n,"a",function(){return r});var r=function(t){for(var n=arguments.length,e=Array(n>1?n-1:0),r=1;r1?arguments[1]:void 0)}}),e(39)("find")},function(t,n,e){var r=e(0),o=e(4),i=e(2),u=e(26),c=e(7),a=function(t,n,e){var f,s,l,p,d=t&a.F,v=t&a.G,h=t&a.S,_=t&a.P,y=t&a.B,b=v?r:h?r[n]||(r[n]={}):(r[n]||{}).prototype,g=v?o:o[n]||(o[n]={}),m=g.prototype||(g.prototype={});v&&(e=n);for(f in e)s=!d&&b&&void 0!==b[f],l=(s?b:e)[f],p=y&&s?c(l,r):_&&"function"==typeof l?c(Function.call,l):l,b&&u(b,f,l,t&a.U),g[f]!=l&&i(g,f,p),_&&m[f]!=l&&(m[f]=l)};r.core=o,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,n,e){var r=e(21),o=e(22),i=e(24),u=Object.defineProperty;n.f=e(3)?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(1);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,n,e){t.exports=!e(3)&&!e(5)(function(){return 7!=Object.defineProperty(e(23)("div"),"a",{get:function(){return 7}}).a})},function(t,n,e){var r=e(1),o=e(0).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,n,e){var r=e(1);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(0),o=e(2),i=e(27),u=e(6)("src"),c=Function.toString,a=(""+c).split("toString");e(4).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,e,c){var f="function"==typeof e;f&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(f&&(i(e,u)||o(e,u,t[n]?""+t[n]:a.join(String(n)))),t===r?t[n]=e:c?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[u]||c.call(this)})},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,e){var r=e(7),o=e(30),i=e(31),u=e(33),c=e(35);t.exports=function(t,n){var e=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=n||c;return function(n,c,v){for(var h,_,y=i(n),b=o(y),g=r(c,v,3),m=u(b.length),w=0,x=e?d(n,m):a?d(n,0):void 0;m>w;w++)if((p||w in b)&&(h=b[w],_=g(h,w,y),t))if(e)x[w]=_;else if(_)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,n,e){var r=e(8);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,n,e){var r=e(32);t.exports=function(t){return Object(r(t))}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(34),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(36);t.exports=function(t,n){return new(r(t))(n)}},function(t,n,e){var r=e(1),o=e(37),i=e(9)("species");t.exports=function(t){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)||(n=void 0),r(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},function(t,n,e){var r=e(8);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,n,e){var r=e(9)("unscopables"),o=Array.prototype;void 0==o[r]&&e(2)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,n,e){"use strict";e.d(n,"a",function(){return j});var r=e(41),o=(e.n(r),e(11)),i=e(12),u=e(13),c=e(14),a=e(15),f=function(){function t(t,n){var e=[],r=!0,o=!1,i=void 0;try{for(var u,c=t[Symbol.iterator]();!(r=(u=c.next()).done)&&(e.push(u.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&c.return&&c.return()}finally{if(o)throw i}}return e}return function(n,e){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return t(n,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=a.a({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},p=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];n=l(n);var r={enumerable:!0,configurable:!0,writable:!n.readOnly,value:u.a(n.value)?n.value.call(e):n.value};Object.defineProperty(e,t,r)},d=function(t,n,e){n&&!e[t]&&(u.a(n)?e[t]=n.call(e):e[t]=n)},v=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];if(n=l(n),n.reflectToAttribute){var r=c.a(t),o=Object.getOwnPropertyDescriptor(e,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return n.type===Boolean?this.element.hasAttribute(r):this.element.getAttribute(r)},set:function(e){this.element[e?"setAttribute":"removeAttribute"](r,n.type===Boolean?t:e)}};Object.defineProperty(e,t,i)}},h=function(t){if("object"===s(t.properties))for(var n in t.properties)if(t.properties.hasOwnProperty(n)){var e=t.properties[n];p(n,e,t),v(n,e,t),d(n,e.value,t)}},_=function(t,n){return t.split(".").reduce(function(t,n){return t[n]},n)},y=function(t,n){var e=t.split("."),r=e.pop();return{parent:_(e.join("."),n),prop:r}},b=function(t){return i.a(t.observers)?t.observers.map(function(t){var n=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),e=f(n,3),r=e[1],o=e[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(n){var e=n.fn;return u.a(t[e])}):[]},g=function(t){b(t).forEach(function(n){var e=n.fn,o=n.args;t[e]=t[e].bind(t),o.forEach(function(n){if(-1!==n.indexOf(".")){var o=y(n,t),i=o.prop,u=o.parent;r.watch(u,i,t[e])}else r.watch(t,n,t[e])})})},m=function(t){return i.a(t.listeners)?t.listeners.map(function(t){var n=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),e=f(n,4),r=e[1],o=e[2],i=e[3];return i=i.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:i}}).filter(function(n){var e=n.element,r=n.fn;return u.a(t[r])&&("document"===e||"window"===e||o.a(t[e])||o.a(t[e].element))}):[]},w=function(t){m(t).forEach(function(n){var e=n.element,r=n.fn,i=n.events;t[r]=t[r].bind(t),"document"===e?e=t.element.ownerDocument:"window"===e?e=window:o.a(t[e])?e=t[e]:o.a(t[e].element)&&(e=t[e].element),e&&i.forEach(function(n){return e.addEventListener(n,t[r])})})},x=function(t){return i.a(t.mixins)?t.mixins.filter(function(t){return"object"===(void 0===t?"undefined":s(t))}):[]},O=function(t){var n=x(t);return n.unshift({}),a.a.apply(null,n)},j=function(t,n){if(t&&"object"===(void 0===t?"undefined":s(t))&&o.a(n)){t.element=n;var e={$set:function(t,n){if(t&&void 0!==n&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var e=l(this.properties[t]),r=Object.getOwnPropertyDescriptor(this,t);if(e.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:n};return void Object.defineProperty(this,t,o)}this[t]=n}},init:function(){g(this),w(this),u.a(t.init)&&t.init.call(this)},destroy:function(){var n=this;b(t).forEach(function(t){var e=t.fn;t.args.forEach(function(t){if(-1!==t.indexOf(".")){var o=y(t,n),i=o.prop,u=o.parent;r.unwatch(u,i,n[e])}else r.unwatch(n,t,n[e])})}),m(t).forEach(function(t){var e=t.element,r=t.fn,i=t.events;"document"===e?e=n.element.ownerDocument:"window"===e?e=window:o.a(n[e])?e=n[e]:o.a(n[e].element)&&(e=n[e].element),e&&i.forEach(function(t){return e.removeEventListener(t,n[r])})}),u.a(t.destroy)&&t.destroy.call(this)},fire:function(t){var n=void 0;if("CustomEvent"in window&&"object"===s(window.CustomEvent))try{n=new CustomEvent(t,{bubbles:!0,cancelable:!1})}catch(e){n=new this.CustomEvent_(t,{bubbles:!0,cancelable:!1})}else n=document.createEvent("Event"),n.initEvent(t,!0,!0);this.element.dispatchEvent(n)},CustomEvent_:function(t,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),e}};return h(t),e=a.a({},O(t),t,e),e.init(),e}}},function(t,n,e){!function(n,e){t.exports=e()}(0,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0}),n.unwatch=n.watch=void 0;var o=e(4),i=r(o),u=e(3),c=r(u),a=(n.watch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)?b.apply(void 0,n):a(r)?m.apply(void 0,n):g.apply(void 0,n)},n.unwatch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)||void 0===r?j.apply(void 0,n):a(r)?x.apply(void 0,n):w.apply(void 0,n)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,n,e){(0,c.default)(t,n,{enumerable:!1,configurable:!0,writable:!1,value:e})},p=function(t,n,e,r){(0,c.default)(t,n,{get:e,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,n,e,r,o){var i=void 0,u=t.__watchers__[n];(i=t.__watchers__.__watchall__)&&(u=u?u.concat(i):i);for(var c=u?u.length:0,a=0;c>a;a++)u[a].call(t,e,r,n,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,n,e,r){l(t,e,function(){for(var o=0,i=void 0,u=void 0,c=arguments.length,a=Array(c),f=0;c>f;f++)a[f]=arguments[f];if("splice"===e){var s=a[0],l=s+a[1];i=t.slice(s,l),u=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=n.apply(t,a);return"pop"===e?(i=d,o=t.length):"push"===e?o=t.length-1:"shift"===e?i=d:"unshift"!==e&&void 0===u&&(u=d),r.call(t,o,e,u,i),d})},_=function(t,n){if(s(n)&&t&&!(t instanceof String)&&a(t))for(var e=v.length;e>0;e--){var r=v[e-1];h(t,t[r],r,n)}},y=function(t,n,e,r){var o=!1,u=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),u&&_(t,function(e,o,i,u){if(d(t,e,i,u,o),0!==r&&i&&(f(i)||a(i))){var c=void 0,s=t.__watchers__[n];(c=t.__watchers__.__watchall__)&&(s=s?s.concat(c):c);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)b(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return e[n].apply(t,o)})}),["writable","value"].forEach(function(t){void 0!==e[t]&&(r[t]=e[t])}),(0,c.default)(t.__proxy__,n,r)}():t.__proxy__[n]=t[n],p(t,n,function(){return t.__proxy__[n]},function(e){var o=t.__proxy__[n];if(0!==r&&t[n]&&(f(t[n])||a(t[n]))&&!t[n].__watchers__)for(var i=0;i0)for(var o=0;o0)&&b(t[n],e,void 0!==r?r-1:r),y(t,n,e,r)))},m=function(t,n,e,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o1?n-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return t=f({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},d=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];n=p(n);var r={enumerable:!0,configurable:!0,writable:!n.readOnly,value:u(n.value)?n.value.call(e):n.value};Object.defineProperty(e,t,r)},v=function(t,n,e){n&&!e[t]&&(u(n)?e[t]=n.call(e):e[t]=n)},h=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];if(n=p(n),n.reflectToAttribute){var r=a(t),o=Object.getOwnPropertyDescriptor(e,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return n.type===Boolean?this.element.hasAttribute(r):this.element.getAttribute(r)},set:function(e){this.element[e?"setAttribute":"removeAttribute"](r,n.type===Boolean?t:e)}};Object.defineProperty(e,t,i)}},_=function(t){if("object"===l(t.properties))for(var n in t.properties)if(t.properties.hasOwnProperty(n)){var e=t.properties[n];d(n,e,t),h(n,e,t),v(n,e.value,t)}},y=function(t,n){return t.split(".").reduce(function(t,n){return t[n]},n)},b=function(t,n){var e=t.split("."),r=e.pop();return{parent:y(e.join("."),n),prop:r}},g=function(t){return c(t.observers)?t.observers.map(function(t){var n=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,3),r=e[1],o=e[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(n){var e=n.fn;return u(t[e])}):[]},m=function(t){g(t).forEach(function(n){var e=n.fn,r=n.args;t[e]=t[e].bind(t),r.forEach(function(n){if(-1!==n.indexOf(".")){var r=b(n,t),i=r.prop,c=r.parent;Object(o.watch)(c,i,t[e])}else Object(o.watch)(t,n,t[e])})})},w=function(t){return c(t.listeners)?t.listeners.map(function(t){var n=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,4),r=e[1],o=e[2],i=e[3];return i=i.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:i}}).filter(function(n){var e=n.element,r=n.fn;return u(t[r])&&("document"===e||"window"===e||i(t[e])||i(t[e].element))}):[]},x=function(t){w(t).forEach(function(n){var e=n.element,r=n.fn,o=n.events;t[r]=t[r].bind(t),"document"===e?e=t.element.ownerDocument:"window"===e?e=window:i(t[e])?e=t[e]:i(t[e].element)&&(e=t[e].element),e&&o.forEach(function(n){return e.addEventListener(n,t[r])})})},O=function(t){return c(t.mixins)?t.mixins.filter(function(t){return"object"===(void 0===t?"undefined":l(t))}):[]},j=function(t){var n=O(t);return n.unshift({}),f.apply(null,n)},E=function(t,n){if(t&&"object"===(void 0===t?"undefined":l(t))&&i(n)){t.element=n;var e={$set:function(t,n){if(t&&void 0!==n&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var e=p(this.properties[t]),r=Object.getOwnPropertyDescriptor(this,t);if(e.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:n};return void Object.defineProperty(this,t,o)}this[t]=n}},init:function(){m(this),x(this),u(t.init)&&t.init.call(this)},destroy:function(){var n=this;g(t).forEach(function(t){var e=t.fn;t.args.forEach(function(t){if(-1!==t.indexOf(".")){var r=b(t,n),i=r.prop,c=r.parent;Object(o.unwatch)(c,i,n[e])}else Object(o.unwatch)(n,t,n[e])})}),w(t).forEach(function(t){var e=t.element,r=t.fn,o=t.events;"document"===e?e=n.element.ownerDocument:"window"===e?e=window:i(n[e])?e=n[e]:i(n[e].element)&&(e=n[e].element),e&&o.forEach(function(t){return e.removeEventListener(t,n[r])})}),u(t.destroy)&&t.destroy.call(this)},fire:function(t){var n=void 0;if("CustomEvent"in window&&"object"===l(window.CustomEvent))try{n=new CustomEvent(t,{bubbles:!1,cancelable:!1})}catch(e){n=new this.CustomEvent_(t,{bubbles:!1,cancelable:!1})}else n=document.createEvent("Event"),n.initEvent(t,!1,!0);this.element.dispatchEvent(n)},CustomEvent_:function(t,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),e}};return _(t),e=f({},j(t),t,e),e.init(),e}},A=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},P={autoInit:function(){["DOMContentLoaded","load"].forEach(function(t){window.addEventListener(t,function(){return P.upgradeAll()})})},_registered:[],_created:[],register:function(t,n){var e=[],r="js-"+t;this.findRegistered(t)||this._registered.push({id:t,cssClass:r,callbacks:e,factory:n})},registerUpgradedCallback:function(t,n){var e=this.findRegistered(t);e&&e.callbacks.push(n)},findRegistered:function(t){return this._registered.find(function(n){return n.id===t})},findCreated:function(t){return this._created.filter(function(n){return n.element===t})},upgradeElement:function(t,n){var e=this;if(void 0===n)return void this._registered.forEach(function(n){t.classList.contains(n.cssClass)&&e.upgradeElement(t,n.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(n);if(!o||null!==r&&-1!==r.indexOf(n)){if(o){var i=t[A(n)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(n);var c=void 0;try{c=E(o.factory(t),t)}catch(t){}if(c){t.setAttribute("data-domfactory-upgraded",r.join(","));var u=Object.assign({},o);delete u.factory,c.__domFactoryConfig=u,this._created.push(c),Object.defineProperty(t,A(n),{configurable:!0,writable:!1,value:c}),o.callbacks.forEach(function(n){return n(t)}),c.fire("domfactory-component-upgraded")}}},upgrade:function(t){var n=this;if(void 0===t)this.upgradeAll();else{var e=this.findRegistered(t);if(e){[].concat(r(document.querySelectorAll("."+e.cssClass))).forEach(function(e){return n.upgradeElement(e,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(n){return t.upgrade(n.id)})},downgradeComponent:function(t){t.destroy();var n=this._created.indexOf(t);this._created.splice(n,1);var e=t.element.getAttribute("data-domfactory-upgraded").split(","),r=e.indexOf(t.__domFactoryConfig.id);e.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",e.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent,this)},downgradeAll:function(){this._created.forEach(this.downgradeComponent,this)},downgrade:function(t){var n=this;if(t instanceof Array||t instanceof NodeList){(t instanceof NodeList?[].concat(r(t)):t).forEach(function(t){return n.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}},S=function(t,n){["transform","WebkitTransform","msTransform","MozTransform","OTransform"].map(function(e){return n.style[e]=t})};e.d(n,"util",function(){return C}),e.d(n,"factory",function(){return E}),e.d(n,"handler",function(){return P}),e(12);var C={assign:f,isArray:c,isElement:i,isFunction:u,toKebabCase:a,transform:S}},function(t,n,e){"use strict";var r=e(13),o=e(23)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),e(33)("find")},function(t,n,e){var r=e(0),o=e(4),i=e(2),c=e(20),u=e(7),a=function(t,n,e){var f,s,l,p,d=t&a.F,v=t&a.G,h=t&a.S,_=t&a.P,y=t&a.B,b=v?r:h?r[n]||(r[n]={}):(r[n]||{}).prototype,g=v?o:o[n]||(o[n]={}),m=g.prototype||(g.prototype={});v&&(e=n);for(f in e)s=!d&&b&&void 0!==b[f],l=(s?b:e)[f],p=y&&s?u(l,r):_&&"function"==typeof l?u(Function.call,l):l,b&&c(b,f,l,t&a.U),g[f]!=l&&i(g,f,p),_&&m[f]!=l&&(m[f]=l)};r.core=o,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,n,e){var r=e(15),o=e(16),i=e(18),c=Object.defineProperty;n.f=e(3)?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(1);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,n,e){t.exports=!e(3)&&!e(5)(function(){return 7!=Object.defineProperty(e(17)("div"),"a",{get:function(){return 7}}).a})},function(t,n,e){var r=e(1),o=e(0).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,n,e){var r=e(1);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(0),o=e(2),i=e(21),c=e(6)("src"),u=Function.toString,a=(""+u).split("toString");e(4).inspectSource=function(t){return u.call(t)},(t.exports=function(t,n,e,u){var f="function"==typeof e;f&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(f&&(i(e,c)||o(e,c,t[n]?""+t[n]:a.join(String(n)))),t===r?t[n]=e:u?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[c]||u.call(this)})},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,e){var r=e(7),o=e(24),i=e(25),c=e(27),u=e(29);t.exports=function(t,n){var e=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=n||u;return function(n,u,v){for(var h,_,y=i(n),b=o(y),g=r(u,v,3),m=c(b.length),w=0,x=e?d(n,m):a?d(n,0):void 0;m>w;w++)if((p||w in b)&&(h=b[w],_=g(h,w,y),t))if(e)x[w]=_;else if(_)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,n,e){var r=e(8);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,n,e){var r=e(26);t.exports=function(t){return Object(r(t))}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(28),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(30);t.exports=function(t,n){return new(r(t))(n)}},function(t,n,e){var r=e(1),o=e(31),i=e(9)("species");t.exports=function(t){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)||(n=void 0),r(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},function(t,n,e){var r=e(8);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,n,e){var r=e(9)("unscopables"),o=Array.prototype;void 0==o[r]&&e(2)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,n,e){!function(n,e){t.exports=e()}(0,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0}),n.unwatch=n.watch=void 0;var o=e(4),i=r(o),c=e(3),u=r(c),a=(n.watch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)?b.apply(void 0,n):a(r)?m.apply(void 0,n):g.apply(void 0,n)},n.unwatch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)||void 0===r?j.apply(void 0,n):a(r)?x.apply(void 0,n):w.apply(void 0,n)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,n,e){(0,u.default)(t,n,{enumerable:!1,configurable:!0,writable:!1,value:e})},p=function(t,n,e,r){(0,u.default)(t,n,{get:e,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,n,e,r,o){var i=void 0,c=t.__watchers__[n];(i=t.__watchers__.__watchall__)&&(c=c?c.concat(i):i);for(var u=c?c.length:0,a=0;u>a;a++)c[a].call(t,e,r,n,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,n,e,r){l(t,e,function(){for(var o=0,i=void 0,c=void 0,u=arguments.length,a=Array(u),f=0;u>f;f++)a[f]=arguments[f];if("splice"===e){var s=a[0],l=s+a[1];i=t.slice(s,l),c=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=n.apply(t,a);return"pop"===e?(i=d,o=t.length):"push"===e?o=t.length-1:"shift"===e?i=d:"unshift"!==e&&void 0===c&&(c=d),r.call(t,o,e,c,i),d})},_=function(t,n){if(s(n)&&t&&!(t instanceof String)&&a(t))for(var e=v.length;e>0;e--){var r=v[e-1];h(t,t[r],r,n)}},y=function(t,n,e,r){var o=!1,c=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),c&&_(t,function(e,o,i,c){if(d(t,e,i,c,o),0!==r&&i&&(f(i)||a(i))){var u=void 0,s=t.__watchers__[n];(u=t.__watchers__.__watchall__)&&(s=s?s.concat(u):u);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)b(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return e[n].apply(t,o)})}),["writable","value"].forEach(function(t){void 0!==e[t]&&(r[t]=e[t])}),(0,u.default)(t.__proxy__,n,r)}():t.__proxy__[n]=t[n],p(t,n,function(){return t.__proxy__[n]},function(e){var o=t.__proxy__[n];if(0!==r&&t[n]&&(f(t[n])||a(t[n]))&&!t[n].__watchers__)for(var i=0;i0)for(var o=0;o0)&&b(t[n],e,void 0!==r?r-1:r),y(t,n,e,r)))},m=function(t,n,e,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o { */ fire (eventName) { let event + let bubbles = false if ('CustomEvent' in window && typeof window.CustomEvent === 'object') { try { event = new CustomEvent(eventName, { - bubbles: true, + bubbles, cancelable: false }) } catch (e) { event = new this.CustomEvent_(eventName, { - bubbles: true, + bubbles, cancelable: false }) } } else { event = document.createEvent('Event') - event.initEvent(eventName, true, true) + event.initEvent(eventName, bubbles, true) } this.element.dispatchEvent(event) }, From 9e978c2f65e5a888a271a7dcf4d7d7fc9b8b97e1 Mon Sep 17 00:00:00 2001 From: Laza Bogdan Date: Sun, 10 Dec 2017 21:00:33 +0200 Subject: [PATCH 05/13] upgrade component properties to HTML5 dataset API --- README.md | 18 +++++++++++++----- dist/dom-factory.js | 2 +- package.json | 8 ++++---- src/factory/factory.js | 11 +++++++---- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 6d5eae7..053cf24 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,15 @@ The DOM factory provides a convenient API (inspired by Polymer) to enhance HTML ## Compatibility -- Supports ES5-compliant browsers (IE9+) +> Supports the last two versions of every major browser. + +- Chrome +- Safari +- Firefox +- IE 11/Edge +- Opera +- Mobile Safari +- Chrome on Android ## Installation @@ -61,7 +69,7 @@ const buttonComponent = () => ({ properties: { /** - * Maps to [a-property="value"] attribute + * Maps to [data-a-property="value"] attribute * Also sets a default property value * and updates the attribute on the HTMLElement * @type {Object} @@ -72,7 +80,7 @@ const buttonComponent = () => ({ }, /** - * Maps to [b-property] attribute + * Maps to [data-b-property] attribute * It removes the attribute when the property value is `false` * @type {Object} */ @@ -202,14 +210,14 @@ When using the `reflectToAttribute: true` property option, the property reflects When using a `Boolean` property type and assigning a property value of `true`, the attribute will be created with the same value as the attribute name and when assigning a property value of `false`, the attribute will be removed from the DOM. ```html - ``` ```js console.log(button.aProperty) // => something else -console.log(button.bProperty) // => b-property +console.log(button.bProperty) // => true ``` #### Destroy diff --git a/dist/dom-factory.js b/dist/dom-factory.js index 09add03..931adc8 100644 --- a/dist/dom-factory.js +++ b/dist/dom-factory.js @@ -1 +1 @@ -!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.domFactory=n():t.domFactory=n()}(this,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=10)}([function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(14),o=e(19);t.exports=e(3)?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){t.exports=!e(5)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n){var e=t.exports={version:"2.5.1"};"number"==typeof __e&&(__e=e)},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},function(t,n,e){var r=e(22);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){var r=e(32)("wks"),o=e(6),i=e(0).Symbol,c="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=c&&i[t]||(c?i:o)("Symbol."+t))}).store=r},function(t,n,e){t.exports=e(11)},function(t,n,e){"use strict";function r(t){if(Array.isArray(t)){for(var n=0,e=Array(t.length);n1?n-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return t=f({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},d=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];n=p(n);var r={enumerable:!0,configurable:!0,writable:!n.readOnly,value:u(n.value)?n.value.call(e):n.value};Object.defineProperty(e,t,r)},v=function(t,n,e){n&&!e[t]&&(u(n)?e[t]=n.call(e):e[t]=n)},h=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];if(n=p(n),n.reflectToAttribute){var r=a(t),o=Object.getOwnPropertyDescriptor(e,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return n.type===Boolean?this.element.hasAttribute(r):this.element.getAttribute(r)},set:function(e){this.element[e?"setAttribute":"removeAttribute"](r,n.type===Boolean?t:e)}};Object.defineProperty(e,t,i)}},_=function(t){if("object"===l(t.properties))for(var n in t.properties)if(t.properties.hasOwnProperty(n)){var e=t.properties[n];d(n,e,t),h(n,e,t),v(n,e.value,t)}},y=function(t,n){return t.split(".").reduce(function(t,n){return t[n]},n)},b=function(t,n){var e=t.split("."),r=e.pop();return{parent:y(e.join("."),n),prop:r}},g=function(t){return c(t.observers)?t.observers.map(function(t){var n=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,3),r=e[1],o=e[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(n){var e=n.fn;return u(t[e])}):[]},m=function(t){g(t).forEach(function(n){var e=n.fn,r=n.args;t[e]=t[e].bind(t),r.forEach(function(n){if(-1!==n.indexOf(".")){var r=b(n,t),i=r.prop,c=r.parent;Object(o.watch)(c,i,t[e])}else Object(o.watch)(t,n,t[e])})})},w=function(t){return c(t.listeners)?t.listeners.map(function(t){var n=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,4),r=e[1],o=e[2],i=e[3];return i=i.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:i}}).filter(function(n){var e=n.element,r=n.fn;return u(t[r])&&("document"===e||"window"===e||i(t[e])||i(t[e].element))}):[]},x=function(t){w(t).forEach(function(n){var e=n.element,r=n.fn,o=n.events;t[r]=t[r].bind(t),"document"===e?e=t.element.ownerDocument:"window"===e?e=window:i(t[e])?e=t[e]:i(t[e].element)&&(e=t[e].element),e&&o.forEach(function(n){return e.addEventListener(n,t[r])})})},O=function(t){return c(t.mixins)?t.mixins.filter(function(t){return"object"===(void 0===t?"undefined":l(t))}):[]},j=function(t){var n=O(t);return n.unshift({}),f.apply(null,n)},E=function(t,n){if(t&&"object"===(void 0===t?"undefined":l(t))&&i(n)){t.element=n;var e={$set:function(t,n){if(t&&void 0!==n&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var e=p(this.properties[t]),r=Object.getOwnPropertyDescriptor(this,t);if(e.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:n};return void Object.defineProperty(this,t,o)}this[t]=n}},init:function(){m(this),x(this),u(t.init)&&t.init.call(this)},destroy:function(){var n=this;g(t).forEach(function(t){var e=t.fn;t.args.forEach(function(t){if(-1!==t.indexOf(".")){var r=b(t,n),i=r.prop,c=r.parent;Object(o.unwatch)(c,i,n[e])}else Object(o.unwatch)(n,t,n[e])})}),w(t).forEach(function(t){var e=t.element,r=t.fn,o=t.events;"document"===e?e=n.element.ownerDocument:"window"===e?e=window:i(n[e])?e=n[e]:i(n[e].element)&&(e=n[e].element),e&&o.forEach(function(t){return e.removeEventListener(t,n[r])})}),u(t.destroy)&&t.destroy.call(this)},fire:function(t){var n=void 0;if("CustomEvent"in window&&"object"===l(window.CustomEvent))try{n=new CustomEvent(t,{bubbles:!1,cancelable:!1})}catch(e){n=new this.CustomEvent_(t,{bubbles:!1,cancelable:!1})}else n=document.createEvent("Event"),n.initEvent(t,!1,!0);this.element.dispatchEvent(n)},CustomEvent_:function(t,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),e}};return _(t),e=f({},j(t),t,e),e.init(),e}},A=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},P={autoInit:function(){["DOMContentLoaded","load"].forEach(function(t){window.addEventListener(t,function(){return P.upgradeAll()})})},_registered:[],_created:[],register:function(t,n){var e=[],r="js-"+t;this.findRegistered(t)||this._registered.push({id:t,cssClass:r,callbacks:e,factory:n})},registerUpgradedCallback:function(t,n){var e=this.findRegistered(t);e&&e.callbacks.push(n)},findRegistered:function(t){return this._registered.find(function(n){return n.id===t})},findCreated:function(t){return this._created.filter(function(n){return n.element===t})},upgradeElement:function(t,n){var e=this;if(void 0===n)return void this._registered.forEach(function(n){t.classList.contains(n.cssClass)&&e.upgradeElement(t,n.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(n);if(!o||null!==r&&-1!==r.indexOf(n)){if(o){var i=t[A(n)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(n);var c=void 0;try{c=E(o.factory(t),t)}catch(t){}if(c){t.setAttribute("data-domfactory-upgraded",r.join(","));var u=Object.assign({},o);delete u.factory,c.__domFactoryConfig=u,this._created.push(c),Object.defineProperty(t,A(n),{configurable:!0,writable:!1,value:c}),o.callbacks.forEach(function(n){return n(t)}),c.fire("domfactory-component-upgraded")}}},upgrade:function(t){var n=this;if(void 0===t)this.upgradeAll();else{var e=this.findRegistered(t);if(e){[].concat(r(document.querySelectorAll("."+e.cssClass))).forEach(function(e){return n.upgradeElement(e,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(n){return t.upgrade(n.id)})},downgradeComponent:function(t){t.destroy();var n=this._created.indexOf(t);this._created.splice(n,1);var e=t.element.getAttribute("data-domfactory-upgraded").split(","),r=e.indexOf(t.__domFactoryConfig.id);e.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",e.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent,this)},downgradeAll:function(){this._created.forEach(this.downgradeComponent,this)},downgrade:function(t){var n=this;if(t instanceof Array||t instanceof NodeList){(t instanceof NodeList?[].concat(r(t)):t).forEach(function(t){return n.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}},S=function(t,n){["transform","WebkitTransform","msTransform","MozTransform","OTransform"].map(function(e){return n.style[e]=t})};e.d(n,"util",function(){return C}),e.d(n,"factory",function(){return E}),e.d(n,"handler",function(){return P}),e(12);var C={assign:f,isArray:c,isElement:i,isFunction:u,toKebabCase:a,transform:S}},function(t,n,e){"use strict";var r=e(13),o=e(23)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),e(33)("find")},function(t,n,e){var r=e(0),o=e(4),i=e(2),c=e(20),u=e(7),a=function(t,n,e){var f,s,l,p,d=t&a.F,v=t&a.G,h=t&a.S,_=t&a.P,y=t&a.B,b=v?r:h?r[n]||(r[n]={}):(r[n]||{}).prototype,g=v?o:o[n]||(o[n]={}),m=g.prototype||(g.prototype={});v&&(e=n);for(f in e)s=!d&&b&&void 0!==b[f],l=(s?b:e)[f],p=y&&s?u(l,r):_&&"function"==typeof l?u(Function.call,l):l,b&&c(b,f,l,t&a.U),g[f]!=l&&i(g,f,p),_&&m[f]!=l&&(m[f]=l)};r.core=o,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,n,e){var r=e(15),o=e(16),i=e(18),c=Object.defineProperty;n.f=e(3)?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(1);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,n,e){t.exports=!e(3)&&!e(5)(function(){return 7!=Object.defineProperty(e(17)("div"),"a",{get:function(){return 7}}).a})},function(t,n,e){var r=e(1),o=e(0).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,n,e){var r=e(1);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(0),o=e(2),i=e(21),c=e(6)("src"),u=Function.toString,a=(""+u).split("toString");e(4).inspectSource=function(t){return u.call(t)},(t.exports=function(t,n,e,u){var f="function"==typeof e;f&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(f&&(i(e,c)||o(e,c,t[n]?""+t[n]:a.join(String(n)))),t===r?t[n]=e:u?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[c]||u.call(this)})},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,e){var r=e(7),o=e(24),i=e(25),c=e(27),u=e(29);t.exports=function(t,n){var e=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=n||u;return function(n,u,v){for(var h,_,y=i(n),b=o(y),g=r(u,v,3),m=c(b.length),w=0,x=e?d(n,m):a?d(n,0):void 0;m>w;w++)if((p||w in b)&&(h=b[w],_=g(h,w,y),t))if(e)x[w]=_;else if(_)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,n,e){var r=e(8);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,n,e){var r=e(26);t.exports=function(t){return Object(r(t))}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(28),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(30);t.exports=function(t,n){return new(r(t))(n)}},function(t,n,e){var r=e(1),o=e(31),i=e(9)("species");t.exports=function(t){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)||(n=void 0),r(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},function(t,n,e){var r=e(8);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,n,e){var r=e(9)("unscopables"),o=Array.prototype;void 0==o[r]&&e(2)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,n,e){!function(n,e){t.exports=e()}(0,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0}),n.unwatch=n.watch=void 0;var o=e(4),i=r(o),c=e(3),u=r(c),a=(n.watch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)?b.apply(void 0,n):a(r)?m.apply(void 0,n):g.apply(void 0,n)},n.unwatch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)||void 0===r?j.apply(void 0,n):a(r)?x.apply(void 0,n):w.apply(void 0,n)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,n,e){(0,u.default)(t,n,{enumerable:!1,configurable:!0,writable:!1,value:e})},p=function(t,n,e,r){(0,u.default)(t,n,{get:e,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,n,e,r,o){var i=void 0,c=t.__watchers__[n];(i=t.__watchers__.__watchall__)&&(c=c?c.concat(i):i);for(var u=c?c.length:0,a=0;u>a;a++)c[a].call(t,e,r,n,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,n,e,r){l(t,e,function(){for(var o=0,i=void 0,c=void 0,u=arguments.length,a=Array(u),f=0;u>f;f++)a[f]=arguments[f];if("splice"===e){var s=a[0],l=s+a[1];i=t.slice(s,l),c=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=n.apply(t,a);return"pop"===e?(i=d,o=t.length):"push"===e?o=t.length-1:"shift"===e?i=d:"unshift"!==e&&void 0===c&&(c=d),r.call(t,o,e,c,i),d})},_=function(t,n){if(s(n)&&t&&!(t instanceof String)&&a(t))for(var e=v.length;e>0;e--){var r=v[e-1];h(t,t[r],r,n)}},y=function(t,n,e,r){var o=!1,c=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),c&&_(t,function(e,o,i,c){if(d(t,e,i,c,o),0!==r&&i&&(f(i)||a(i))){var u=void 0,s=t.__watchers__[n];(u=t.__watchers__.__watchall__)&&(s=s?s.concat(u):u);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)b(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return e[n].apply(t,o)})}),["writable","value"].forEach(function(t){void 0!==e[t]&&(r[t]=e[t])}),(0,u.default)(t.__proxy__,n,r)}():t.__proxy__[n]=t[n],p(t,n,function(){return t.__proxy__[n]},function(e){var o=t.__proxy__[n];if(0!==r&&t[n]&&(f(t[n])||a(t[n]))&&!t[n].__watchers__)for(var i=0;i0)for(var o=0;o0)&&b(t[n],e,void 0!==r?r-1:r),y(t,n,e,r)))},m=function(t,n,e,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o1?n-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return t=f({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},d=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];n=p(n);var r={enumerable:!0,configurable:!0,writable:!n.readOnly,value:u(n.value)?n.value.call(e):n.value};Object.defineProperty(e,t,r)},v=function(t,n,e){n&&!e[t]&&(u(n)?e[t]=n.call(e):e[t]=n)},h=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];if(n=p(n),n.reflectToAttribute){var r=a("data-"+t),o=Object.getOwnPropertyDescriptor(e,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return n.type===Boolean?""===this.element.dataset[t]:this.element.dataset[t]},set:function(e){if(n.type===Boolean)return this.element[e?"setAttribute":"removeAttribute"](r,n.type===Boolean?"":e);this.element.dataset[t]=e}};Object.defineProperty(e,t,i)}},_=function(t){if("object"===l(t.properties))for(var n in t.properties)if(t.properties.hasOwnProperty(n)){var e=t.properties[n];d(n,e,t),h(n,e,t),v(n,e.value,t)}},y=function(t,n){return t.split(".").reduce(function(t,n){return t[n]},n)},b=function(t,n){var e=t.split("."),r=e.pop();return{parent:y(e.join("."),n),prop:r}},g=function(t){return c(t.observers)?t.observers.map(function(t){var n=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,3),r=e[1],o=e[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(n){var e=n.fn;return u(t[e])}):[]},m=function(t){g(t).forEach(function(n){var e=n.fn,r=n.args;t[e]=t[e].bind(t),r.forEach(function(n){if(-1!==n.indexOf(".")){var r=b(n,t),i=r.prop,c=r.parent;Object(o.watch)(c,i,t[e])}else Object(o.watch)(t,n,t[e])})})},w=function(t){return c(t.listeners)?t.listeners.map(function(t){var n=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,4),r=e[1],o=e[2],i=e[3];return i=i.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:i}}).filter(function(n){var e=n.element,r=n.fn;return u(t[r])&&("document"===e||"window"===e||i(t[e])||i(t[e].element))}):[]},x=function(t){w(t).forEach(function(n){var e=n.element,r=n.fn,o=n.events;t[r]=t[r].bind(t),"document"===e?e=t.element.ownerDocument:"window"===e?e=window:i(t[e])?e=t[e]:i(t[e].element)&&(e=t[e].element),e&&o.forEach(function(n){return e.addEventListener(n,t[r])})})},O=function(t){return c(t.mixins)?t.mixins.filter(function(t){return"object"===(void 0===t?"undefined":l(t))}):[]},j=function(t){var n=O(t);return n.unshift({}),f.apply(null,n)},E=function(t,n){if(t&&"object"===(void 0===t?"undefined":l(t))&&i(n)){t.element=n;var e={$set:function(t,n){if(t&&void 0!==n&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var e=p(this.properties[t]),r=Object.getOwnPropertyDescriptor(this,t);if(e.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:n};return void Object.defineProperty(this,t,o)}this[t]=n}},init:function(){m(this),x(this),u(t.init)&&t.init.call(this)},destroy:function(){var n=this;g(t).forEach(function(t){var e=t.fn;t.args.forEach(function(t){if(-1!==t.indexOf(".")){var r=b(t,n),i=r.prop,c=r.parent;Object(o.unwatch)(c,i,n[e])}else Object(o.unwatch)(n,t,n[e])})}),w(t).forEach(function(t){var e=t.element,r=t.fn,o=t.events;"document"===e?e=n.element.ownerDocument:"window"===e?e=window:i(n[e])?e=n[e]:i(n[e].element)&&(e=n[e].element),e&&o.forEach(function(t){return e.removeEventListener(t,n[r])})}),u(t.destroy)&&t.destroy.call(this)},fire:function(t){var n=void 0;if("CustomEvent"in window&&"object"===l(window.CustomEvent))try{n=new CustomEvent(t,{bubbles:!1,cancelable:!1})}catch(e){n=new this.CustomEvent_(t,{bubbles:!1,cancelable:!1})}else n=document.createEvent("Event"),n.initEvent(t,!1,!0);this.element.dispatchEvent(n)},CustomEvent_:function(t,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),e}};return _(t),e=f({},j(t),t,e),e.init(),e}},A=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},P={autoInit:function(){["DOMContentLoaded","load"].forEach(function(t){window.addEventListener(t,function(){return P.upgradeAll()})})},_registered:[],_created:[],register:function(t,n){var e=[],r="js-"+t;this.findRegistered(t)||this._registered.push({id:t,cssClass:r,callbacks:e,factory:n})},registerUpgradedCallback:function(t,n){var e=this.findRegistered(t);e&&e.callbacks.push(n)},findRegistered:function(t){return this._registered.find(function(n){return n.id===t})},findCreated:function(t){return this._created.filter(function(n){return n.element===t})},upgradeElement:function(t,n){var e=this;if(void 0===n)return void this._registered.forEach(function(n){t.classList.contains(n.cssClass)&&e.upgradeElement(t,n.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(n);if(!o||null!==r&&-1!==r.indexOf(n)){if(o){var i=t[A(n)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(n);var c=void 0;try{c=E(o.factory(t),t)}catch(t){}if(c){t.setAttribute("data-domfactory-upgraded",r.join(","));var u=Object.assign({},o);delete u.factory,c.__domFactoryConfig=u,this._created.push(c),Object.defineProperty(t,A(n),{configurable:!0,writable:!1,value:c}),o.callbacks.forEach(function(n){return n(t)}),c.fire("domfactory-component-upgraded")}}},upgrade:function(t){var n=this;if(void 0===t)this.upgradeAll();else{var e=this.findRegistered(t);if(e){[].concat(r(document.querySelectorAll("."+e.cssClass))).forEach(function(e){return n.upgradeElement(e,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(n){return t.upgrade(n.id)})},downgradeComponent:function(t){t.destroy();var n=this._created.indexOf(t);this._created.splice(n,1);var e=t.element.getAttribute("data-domfactory-upgraded").split(","),r=e.indexOf(t.__domFactoryConfig.id);e.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",e.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent,this)},downgradeAll:function(){this._created.forEach(this.downgradeComponent,this)},downgrade:function(t){var n=this;if(t instanceof Array||t instanceof NodeList){(t instanceof NodeList?[].concat(r(t)):t).forEach(function(t){return n.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}},S=function(t,n){["transform","WebkitTransform","msTransform","MozTransform","OTransform"].map(function(e){return n.style[e]=t})};e.d(n,"util",function(){return C}),e.d(n,"factory",function(){return E}),e.d(n,"handler",function(){return P}),e(12);var C={assign:f,isArray:c,isElement:i,isFunction:u,toKebabCase:a,transform:S}},function(t,n,e){"use strict";var r=e(13),o=e(23)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),e(33)("find")},function(t,n,e){var r=e(0),o=e(4),i=e(2),c=e(20),u=e(7),a=function(t,n,e){var f,s,l,p,d=t&a.F,v=t&a.G,h=t&a.S,_=t&a.P,y=t&a.B,b=v?r:h?r[n]||(r[n]={}):(r[n]||{}).prototype,g=v?o:o[n]||(o[n]={}),m=g.prototype||(g.prototype={});v&&(e=n);for(f in e)s=!d&&b&&void 0!==b[f],l=(s?b:e)[f],p=y&&s?u(l,r):_&&"function"==typeof l?u(Function.call,l):l,b&&c(b,f,l,t&a.U),g[f]!=l&&i(g,f,p),_&&m[f]!=l&&(m[f]=l)};r.core=o,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,n,e){var r=e(15),o=e(16),i=e(18),c=Object.defineProperty;n.f=e(3)?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(1);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,n,e){t.exports=!e(3)&&!e(5)(function(){return 7!=Object.defineProperty(e(17)("div"),"a",{get:function(){return 7}}).a})},function(t,n,e){var r=e(1),o=e(0).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,n,e){var r=e(1);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(0),o=e(2),i=e(21),c=e(6)("src"),u=Function.toString,a=(""+u).split("toString");e(4).inspectSource=function(t){return u.call(t)},(t.exports=function(t,n,e,u){var f="function"==typeof e;f&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(f&&(i(e,c)||o(e,c,t[n]?""+t[n]:a.join(String(n)))),t===r?t[n]=e:u?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[c]||u.call(this)})},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,e){var r=e(7),o=e(24),i=e(25),c=e(27),u=e(29);t.exports=function(t,n){var e=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=n||u;return function(n,u,v){for(var h,_,y=i(n),b=o(y),g=r(u,v,3),m=c(b.length),w=0,x=e?d(n,m):a?d(n,0):void 0;m>w;w++)if((p||w in b)&&(h=b[w],_=g(h,w,y),t))if(e)x[w]=_;else if(_)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,n,e){var r=e(8);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,n,e){var r=e(26);t.exports=function(t){return Object(r(t))}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(28),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(30);t.exports=function(t,n){return new(r(t))(n)}},function(t,n,e){var r=e(1),o=e(31),i=e(9)("species");t.exports=function(t){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)||(n=void 0),r(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},function(t,n,e){var r=e(8);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,n,e){var r=e(9)("unscopables"),o=Array.prototype;void 0==o[r]&&e(2)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,n,e){!function(n,e){t.exports=e()}(0,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0}),n.unwatch=n.watch=void 0;var o=e(4),i=r(o),c=e(3),u=r(c),a=(n.watch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)?b.apply(void 0,n):a(r)?m.apply(void 0,n):g.apply(void 0,n)},n.unwatch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)||void 0===r?j.apply(void 0,n):a(r)?x.apply(void 0,n):w.apply(void 0,n)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,n,e){(0,u.default)(t,n,{enumerable:!1,configurable:!0,writable:!1,value:e})},p=function(t,n,e,r){(0,u.default)(t,n,{get:e,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,n,e,r,o){var i=void 0,c=t.__watchers__[n];(i=t.__watchers__.__watchall__)&&(c=c?c.concat(i):i);for(var u=c?c.length:0,a=0;u>a;a++)c[a].call(t,e,r,n,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,n,e,r){l(t,e,function(){for(var o=0,i=void 0,c=void 0,u=arguments.length,a=Array(u),f=0;u>f;f++)a[f]=arguments[f];if("splice"===e){var s=a[0],l=s+a[1];i=t.slice(s,l),c=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=n.apply(t,a);return"pop"===e?(i=d,o=t.length):"push"===e?o=t.length-1:"shift"===e?i=d:"unshift"!==e&&void 0===c&&(c=d),r.call(t,o,e,c,i),d})},_=function(t,n){if(s(n)&&t&&!(t instanceof String)&&a(t))for(var e=v.length;e>0;e--){var r=v[e-1];h(t,t[r],r,n)}},y=function(t,n,e,r){var o=!1,c=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),c&&_(t,function(e,o,i,c){if(d(t,e,i,c,o),0!==r&&i&&(f(i)||a(i))){var u=void 0,s=t.__watchers__[n];(u=t.__watchers__.__watchall__)&&(s=s?s.concat(u):u);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)b(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return e[n].apply(t,o)})}),["writable","value"].forEach(function(t){void 0!==e[t]&&(r[t]=e[t])}),(0,u.default)(t.__proxy__,n,r)}():t.__proxy__[n]=t[n],p(t,n,function(){return t.__proxy__[n]},function(e){var o=t.__proxy__[n];if(0!==r&&t[n]&&(f(t[n])||a(t[n]))&&!t[n].__watchers__)for(var i=0;i0)for(var o=0;o0)&&b(t[n],e,void 0!==r?r-1:r),y(t,n,e,r)))},m=function(t,n,e,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o { if (!opts.reflectToAttribute) { return } - const propKebab = toKebabCase(prop) + const propKebab = toKebabCase(`data-${prop}`) const descriptor = Object.getOwnPropertyDescriptor(src, prop) const property = { enumerable: descriptor.enumerable, configurable: descriptor.configurable, get: function () { return opts.type === Boolean - ? this.element.hasAttribute(propKebab) - : this.element.getAttribute(propKebab) + ? this.element.dataset[prop] === '' + : this.element.dataset[prop] }, set: function (value) { - this.element[value ? 'setAttribute' : 'removeAttribute'](propKebab, opts.type === Boolean ? prop : value) + if (opts.type === Boolean) { + return this.element[value ? 'setAttribute' : 'removeAttribute'](propKebab, opts.type === Boolean ? '' : value) + } + this.element.dataset[prop] = value } } Object.defineProperty(src, prop, property) From cde844516955d9e8ba8b129c9cf2ed53aba1ff0f Mon Sep 17 00:00:00 2001 From: Laza Bogdan Date: Tue, 9 Jan 2018 16:28:21 +0200 Subject: [PATCH 06/13] add support for casting properties with reflectToAttribute to a Number --- README.md | 31 ++++++++++++++++++++++++++----- dist/dom-factory.js | 2 +- package.json | 2 +- src/factory/factory.js | 17 +++++++++++------ 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 053cf24..c555fd5 100644 --- a/README.md +++ b/README.md @@ -85,8 +85,20 @@ const buttonComponent = () => ({ * @type {Object} */ bProperty: { - type: Boolean, - reflectToAttribute: true + reflectToAttribute: true, + type: Boolean + }, + + /** + * Maps to [data-c-property] attribute + * It casts the value to a Number + * Sets the initial value to 0 + * @type {Object} + */ + bProperty: { + reflectToAttribute: true, + type: Number, + value: 0 } }, @@ -145,7 +157,7 @@ handler.register('my-button', buttonComponent) #### Initializing -The component handler attempts to self-initialize all registered components which match the component CSS class. The CSS class is computed automatically from the component ID which was provided at registration, prefixed with `js-`. +When calling the `autoInit()` method, the component handler attempts to self-initialize all registered components which match the component CSS class. The CSS class is computed automatically from the component ID which was provided at registration, prefixed with `js-`. In this example, since we registered the `buttonComponent` with a component ID of `my-button`, the handler will try to initialize all the HTML elements which have the `js-my-button` CSS class. @@ -158,6 +170,8 @@ In this example, since we registered the `buttonComponent` with a component ID o handler.autoInit() ``` +You can also initialize components manually. + ```js // Initialize all components immediately. handler.upgradeAll() @@ -203,21 +217,28 @@ console.log(button.aProperty) ```js button.aProperty = 'something else' button.bProperty = true +button.cProperty = 5 ``` When using the `reflectToAttribute: true` property option, the property reflects a string representation of it's value to the corresponding attribute on the HTML element, which means you can use the HTML element attribute to configure the component instance property value. When using a `Boolean` property type and assigning a property value of `true`, the attribute will be created with the same value as the attribute name and when assigning a property value of `false`, the attribute will be removed from the DOM. +You can also cast the property value to a `Number` by adding `type: Number` to the property definition. + ```html - ``` ```js -console.log(button.aProperty) // => something else +console.log(button.aProperty) // => 'something else' console.log(button.bProperty) // => true +console.log(button.cProperty) // => 13 ``` #### Destroy diff --git a/dist/dom-factory.js b/dist/dom-factory.js index 931adc8..228e6ba 100644 --- a/dist/dom-factory.js +++ b/dist/dom-factory.js @@ -1 +1 @@ -!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.domFactory=n():t.domFactory=n()}(this,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=10)}([function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(14),o=e(19);t.exports=e(3)?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){t.exports=!e(5)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n){var e=t.exports={version:"2.5.1"};"number"==typeof __e&&(__e=e)},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},function(t,n,e){var r=e(22);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){var r=e(32)("wks"),o=e(6),i=e(0).Symbol,c="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=c&&i[t]||(c?i:o)("Symbol."+t))}).store=r},function(t,n,e){t.exports=e(11)},function(t,n,e){"use strict";function r(t){if(Array.isArray(t)){for(var n=0,e=Array(t.length);n1?n-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return t=f({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},d=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];n=p(n);var r={enumerable:!0,configurable:!0,writable:!n.readOnly,value:u(n.value)?n.value.call(e):n.value};Object.defineProperty(e,t,r)},v=function(t,n,e){n&&!e[t]&&(u(n)?e[t]=n.call(e):e[t]=n)},h=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=arguments[2];if(n=p(n),n.reflectToAttribute){var r=a("data-"+t),o=Object.getOwnPropertyDescriptor(e,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return n.type===Boolean?""===this.element.dataset[t]:this.element.dataset[t]},set:function(e){if(n.type===Boolean)return this.element[e?"setAttribute":"removeAttribute"](r,n.type===Boolean?"":e);this.element.dataset[t]=e}};Object.defineProperty(e,t,i)}},_=function(t){if("object"===l(t.properties))for(var n in t.properties)if(t.properties.hasOwnProperty(n)){var e=t.properties[n];d(n,e,t),h(n,e,t),v(n,e.value,t)}},y=function(t,n){return t.split(".").reduce(function(t,n){return t[n]},n)},b=function(t,n){var e=t.split("."),r=e.pop();return{parent:y(e.join("."),n),prop:r}},g=function(t){return c(t.observers)?t.observers.map(function(t){var n=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,3),r=e[1],o=e[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(n){var e=n.fn;return u(t[e])}):[]},m=function(t){g(t).forEach(function(n){var e=n.fn,r=n.args;t[e]=t[e].bind(t),r.forEach(function(n){if(-1!==n.indexOf(".")){var r=b(n,t),i=r.prop,c=r.parent;Object(o.watch)(c,i,t[e])}else Object(o.watch)(t,n,t[e])})})},w=function(t){return c(t.listeners)?t.listeners.map(function(t){var n=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),e=s(n,4),r=e[1],o=e[2],i=e[3];return i=i.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:i}}).filter(function(n){var e=n.element,r=n.fn;return u(t[r])&&("document"===e||"window"===e||i(t[e])||i(t[e].element))}):[]},x=function(t){w(t).forEach(function(n){var e=n.element,r=n.fn,o=n.events;t[r]=t[r].bind(t),"document"===e?e=t.element.ownerDocument:"window"===e?e=window:i(t[e])?e=t[e]:i(t[e].element)&&(e=t[e].element),e&&o.forEach(function(n){return e.addEventListener(n,t[r])})})},O=function(t){return c(t.mixins)?t.mixins.filter(function(t){return"object"===(void 0===t?"undefined":l(t))}):[]},j=function(t){var n=O(t);return n.unshift({}),f.apply(null,n)},E=function(t,n){if(t&&"object"===(void 0===t?"undefined":l(t))&&i(n)){t.element=n;var e={$set:function(t,n){if(t&&void 0!==n&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var e=p(this.properties[t]),r=Object.getOwnPropertyDescriptor(this,t);if(e.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:n};return void Object.defineProperty(this,t,o)}this[t]=n}},init:function(){m(this),x(this),u(t.init)&&t.init.call(this)},destroy:function(){var n=this;g(t).forEach(function(t){var e=t.fn;t.args.forEach(function(t){if(-1!==t.indexOf(".")){var r=b(t,n),i=r.prop,c=r.parent;Object(o.unwatch)(c,i,n[e])}else Object(o.unwatch)(n,t,n[e])})}),w(t).forEach(function(t){var e=t.element,r=t.fn,o=t.events;"document"===e?e=n.element.ownerDocument:"window"===e?e=window:i(n[e])?e=n[e]:i(n[e].element)&&(e=n[e].element),e&&o.forEach(function(t){return e.removeEventListener(t,n[r])})}),u(t.destroy)&&t.destroy.call(this)},fire:function(t){var n=void 0;if("CustomEvent"in window&&"object"===l(window.CustomEvent))try{n=new CustomEvent(t,{bubbles:!1,cancelable:!1})}catch(e){n=new this.CustomEvent_(t,{bubbles:!1,cancelable:!1})}else n=document.createEvent("Event"),n.initEvent(t,!1,!0);this.element.dispatchEvent(n)},CustomEvent_:function(t,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),e}};return _(t),e=f({},j(t),t,e),e.init(),e}},A=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},P={autoInit:function(){["DOMContentLoaded","load"].forEach(function(t){window.addEventListener(t,function(){return P.upgradeAll()})})},_registered:[],_created:[],register:function(t,n){var e=[],r="js-"+t;this.findRegistered(t)||this._registered.push({id:t,cssClass:r,callbacks:e,factory:n})},registerUpgradedCallback:function(t,n){var e=this.findRegistered(t);e&&e.callbacks.push(n)},findRegistered:function(t){return this._registered.find(function(n){return n.id===t})},findCreated:function(t){return this._created.filter(function(n){return n.element===t})},upgradeElement:function(t,n){var e=this;if(void 0===n)return void this._registered.forEach(function(n){t.classList.contains(n.cssClass)&&e.upgradeElement(t,n.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(n);if(!o||null!==r&&-1!==r.indexOf(n)){if(o){var i=t[A(n)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(n);var c=void 0;try{c=E(o.factory(t),t)}catch(t){}if(c){t.setAttribute("data-domfactory-upgraded",r.join(","));var u=Object.assign({},o);delete u.factory,c.__domFactoryConfig=u,this._created.push(c),Object.defineProperty(t,A(n),{configurable:!0,writable:!1,value:c}),o.callbacks.forEach(function(n){return n(t)}),c.fire("domfactory-component-upgraded")}}},upgrade:function(t){var n=this;if(void 0===t)this.upgradeAll();else{var e=this.findRegistered(t);if(e){[].concat(r(document.querySelectorAll("."+e.cssClass))).forEach(function(e){return n.upgradeElement(e,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(n){return t.upgrade(n.id)})},downgradeComponent:function(t){t.destroy();var n=this._created.indexOf(t);this._created.splice(n,1);var e=t.element.getAttribute("data-domfactory-upgraded").split(","),r=e.indexOf(t.__domFactoryConfig.id);e.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",e.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent,this)},downgradeAll:function(){this._created.forEach(this.downgradeComponent,this)},downgrade:function(t){var n=this;if(t instanceof Array||t instanceof NodeList){(t instanceof NodeList?[].concat(r(t)):t).forEach(function(t){return n.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}},S=function(t,n){["transform","WebkitTransform","msTransform","MozTransform","OTransform"].map(function(e){return n.style[e]=t})};e.d(n,"util",function(){return C}),e.d(n,"factory",function(){return E}),e.d(n,"handler",function(){return P}),e(12);var C={assign:f,isArray:c,isElement:i,isFunction:u,toKebabCase:a,transform:S}},function(t,n,e){"use strict";var r=e(13),o=e(23)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),e(33)("find")},function(t,n,e){var r=e(0),o=e(4),i=e(2),c=e(20),u=e(7),a=function(t,n,e){var f,s,l,p,d=t&a.F,v=t&a.G,h=t&a.S,_=t&a.P,y=t&a.B,b=v?r:h?r[n]||(r[n]={}):(r[n]||{}).prototype,g=v?o:o[n]||(o[n]={}),m=g.prototype||(g.prototype={});v&&(e=n);for(f in e)s=!d&&b&&void 0!==b[f],l=(s?b:e)[f],p=y&&s?u(l,r):_&&"function"==typeof l?u(Function.call,l):l,b&&c(b,f,l,t&a.U),g[f]!=l&&i(g,f,p),_&&m[f]!=l&&(m[f]=l)};r.core=o,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,n,e){var r=e(15),o=e(16),i=e(18),c=Object.defineProperty;n.f=e(3)?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(1);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,n,e){t.exports=!e(3)&&!e(5)(function(){return 7!=Object.defineProperty(e(17)("div"),"a",{get:function(){return 7}}).a})},function(t,n,e){var r=e(1),o=e(0).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,n,e){var r=e(1);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(0),o=e(2),i=e(21),c=e(6)("src"),u=Function.toString,a=(""+u).split("toString");e(4).inspectSource=function(t){return u.call(t)},(t.exports=function(t,n,e,u){var f="function"==typeof e;f&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(f&&(i(e,c)||o(e,c,t[n]?""+t[n]:a.join(String(n)))),t===r?t[n]=e:u?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[c]||u.call(this)})},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,e){var r=e(7),o=e(24),i=e(25),c=e(27),u=e(29);t.exports=function(t,n){var e=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=n||u;return function(n,u,v){for(var h,_,y=i(n),b=o(y),g=r(u,v,3),m=c(b.length),w=0,x=e?d(n,m):a?d(n,0):void 0;m>w;w++)if((p||w in b)&&(h=b[w],_=g(h,w,y),t))if(e)x[w]=_;else if(_)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,n,e){var r=e(8);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,n,e){var r=e(26);t.exports=function(t){return Object(r(t))}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(28),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(30);t.exports=function(t,n){return new(r(t))(n)}},function(t,n,e){var r=e(1),o=e(31),i=e(9)("species");t.exports=function(t){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)||(n=void 0),r(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},function(t,n,e){var r=e(8);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,n,e){var r=e(9)("unscopables"),o=Array.prototype;void 0==o[r]&&e(2)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,n,e){!function(n,e){t.exports=e()}(0,function(){return function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var e={};return n.m=t,n.c=e,n.p="",n(0)}([function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0}),n.unwatch=n.watch=void 0;var o=e(4),i=r(o),c=e(3),u=r(c),a=(n.watch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)?b.apply(void 0,n):a(r)?m.apply(void 0,n):g.apply(void 0,n)},n.unwatch=function(){for(var t=arguments.length,n=Array(t),e=0;t>e;e++)n[e]=arguments[e];var r=n[1];s(r)||void 0===r?j.apply(void 0,n):a(r)?x.apply(void 0,n):w.apply(void 0,n)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,n,e){(0,u.default)(t,n,{enumerable:!1,configurable:!0,writable:!1,value:e})},p=function(t,n,e,r){(0,u.default)(t,n,{get:e,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,n,e,r,o){var i=void 0,c=t.__watchers__[n];(i=t.__watchers__.__watchall__)&&(c=c?c.concat(i):i);for(var u=c?c.length:0,a=0;u>a;a++)c[a].call(t,e,r,n,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,n,e,r){l(t,e,function(){for(var o=0,i=void 0,c=void 0,u=arguments.length,a=Array(u),f=0;u>f;f++)a[f]=arguments[f];if("splice"===e){var s=a[0],l=s+a[1];i=t.slice(s,l),c=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=n.apply(t,a);return"pop"===e?(i=d,o=t.length):"push"===e?o=t.length-1:"shift"===e?i=d:"unshift"!==e&&void 0===c&&(c=d),r.call(t,o,e,c,i),d})},_=function(t,n){if(s(n)&&t&&!(t instanceof String)&&a(t))for(var e=v.length;e>0;e--){var r=v[e-1];h(t,t[r],r,n)}},y=function(t,n,e,r){var o=!1,c=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),c&&_(t,function(e,o,i,c){if(d(t,e,i,c,o),0!==r&&i&&(f(i)||a(i))){var u=void 0,s=t.__watchers__[n];(u=t.__watchers__.__watchall__)&&(s=s?s.concat(u):u);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)b(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return e[n].apply(t,o)})}),["writable","value"].forEach(function(t){void 0!==e[t]&&(r[t]=e[t])}),(0,u.default)(t.__proxy__,n,r)}():t.__proxy__[n]=t[n],p(t,n,function(){return t.__proxy__[n]},function(e){var o=t.__proxy__[n];if(0!==r&&t[n]&&(f(t[n])||a(t[n]))&&!t[n].__watchers__)for(var i=0;i0)for(var o=0;o0)&&b(t[n],e,void 0!==r?r-1:r),y(t,n,e,r)))},m=function(t,n,e,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return t=f({},t),t.readOnly=t.readOnly||!1,t.reflectToAttribute=t.reflectToAttribute||!1,t.value=t.value,t.type=t.type,t},d=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];e=p(e);var r={enumerable:!0,configurable:!0,writable:!e.readOnly,value:u(e.value)?e.value.call(n):e.value};Object.defineProperty(n,t,r)},v=function(t,e,n){(0===e||e&&!n[t])&&(u(e)?n[t]=e.call(n):n[t]=e)},h=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];if(e=p(e),e.reflectToAttribute){var r=a("data-"+t),o=Object.getOwnPropertyDescriptor(n,t),i={enumerable:o.enumerable,configurable:o.configurable,get:function(){return e.type===Boolean?""===this.element.dataset[t]:e.type===Number?Number(this.element.dataset[t]):this.element.dataset[t]},set:function(n){var o=!n&&0!==n;if(e.type===Boolean||o)return this.element[o?"removeAttribute":"setAttribute"](r,e.type===Boolean?"":n);this.element.dataset[t]=n}};Object.defineProperty(n,t,i)}},_=function(t){if("object"===l(t.properties))for(var e in t.properties)if(t.properties.hasOwnProperty(e)){var n=t.properties[e];d(e,n,t),h(e,n,t),v(e,n.value,t)}},y=function(t,e){return t.split(".").reduce(function(t,e){return t[e]},e)},b=function(t,e){var n=t.split("."),r=n.pop();return{parent:y(n.join("."),e),prop:r}},g=function(t){return c(t.observers)?t.observers.map(function(t){var e=t.match(/([a-zA-Z-_]+)\(([^)]*)\)/),n=s(e,3),r=n[1],o=n[2];return o=o.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),{fn:r,args:o}}).filter(function(e){var n=e.fn;return u(t[n])}):[]},m=function(t){g(t).forEach(function(e){var n=e.fn,r=e.args;t[n]=t[n].bind(t),r.forEach(function(e){if(-1!==e.indexOf(".")){var r=b(e,t),i=r.prop,c=r.parent;Object(o.watch)(c,i,t[n])}else Object(o.watch)(t,e,t[n])})})},w=function(t){return c(t.listeners)?t.listeners.map(function(t){var e=t.match(/(.*\.)?([a-zA-Z-_]+)\(([^)]*)\)/),n=s(e,4),r=n[1],o=n[2],i=n[3];return i=i.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length}),r=r?r.substr(0,r.length-1):"element",{element:r,fn:o,events:i}}).filter(function(e){var n=e.element,r=e.fn;return u(t[r])&&("document"===n||"window"===n||i(t[n])||i(t[n].element))}):[]},x=function(t){w(t).forEach(function(e){var n=e.element,r=e.fn,o=e.events;t[r]=t[r].bind(t),"document"===n?n=t.element.ownerDocument:"window"===n?n=window:i(t[n])?n=t[n]:i(t[n].element)&&(n=t[n].element),n&&o.forEach(function(e){return n.addEventListener(e,t[r])})})},O=function(t){return c(t.mixins)?t.mixins.filter(function(t){return"object"===(void 0===t?"undefined":l(t))}):[]},j=function(t){var e=O(t);return e.unshift({}),f.apply(null,e)},E=function(t,e){if(t&&"object"===(void 0===t?"undefined":l(t))&&i(e)){t.element=e;var n={$set:function(t,e){if(t&&void 0!==e&&void 0!==this.properties&&this.properties.hasOwnProperty(t)){var n=p(this.properties[t]),r=Object.getOwnPropertyDescriptor(this,t);if(n.readOnly&&void 0!==r.writable){var o={enumerable:r.enumerable,configurable:r.configurable,writable:!1,value:e};return void Object.defineProperty(this,t,o)}this[t]=e}},init:function(){m(this),x(this),u(t.init)&&t.init.call(this)},destroy:function(){var e=this;g(t).forEach(function(t){var n=t.fn;t.args.forEach(function(t){if(-1!==t.indexOf(".")){var r=b(t,e),i=r.prop,c=r.parent;Object(o.unwatch)(c,i,e[n])}else Object(o.unwatch)(e,t,e[n])})}),w(t).forEach(function(t){var n=t.element,r=t.fn,o=t.events;"document"===n?n=e.element.ownerDocument:"window"===n?n=window:i(e[n])?n=e[n]:i(e[n].element)&&(n=e[n].element),n&&o.forEach(function(t){return n.removeEventListener(t,e[r])})}),u(t.destroy)&&t.destroy.call(this)},fire:function(t){var e=void 0;if("CustomEvent"in window&&"object"===l(window.CustomEvent))try{e=new CustomEvent(t,{bubbles:!1,cancelable:!1})}catch(n){e=new this.CustomEvent_(t,{bubbles:!1,cancelable:!1})}else e=document.createEvent("Event"),e.initEvent(t,!1,!0);this.element.dispatchEvent(e)},CustomEvent_:function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}};return _(t),n=f({},j(t),t,n),n.init(),n}},A=function(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})},P={autoInit:function(){["DOMContentLoaded","load"].forEach(function(t){window.addEventListener(t,function(){return P.upgradeAll()})})},_registered:[],_created:[],register:function(t,e){var n=[],r="js-"+t;this.findRegistered(t)||this._registered.push({id:t,cssClass:r,callbacks:n,factory:e})},registerUpgradedCallback:function(t,e){var n=this.findRegistered(t);n&&n.callbacks.push(e)},findRegistered:function(t){return this._registered.find(function(e){return e.id===t})},findCreated:function(t){return this._created.filter(function(e){return e.element===t})},upgradeElement:function(t,e){var n=this;if(void 0===e)return void this._registered.forEach(function(e){t.classList.contains(e.cssClass)&&n.upgradeElement(t,e.id)});var r=t.getAttribute("data-domfactory-upgraded"),o=this.findRegistered(e);if(!o||null!==r&&-1!==r.indexOf(e)){if(o){var i=t[A(e)];"function"==typeof i._reset&&i._reset()}}else{r=null===r?[]:r.split(","),r.push(e);var c=void 0;try{c=E(o.factory(t),t)}catch(t){}if(c){t.setAttribute("data-domfactory-upgraded",r.join(","));var u=Object.assign({},o);delete u.factory,c.__domFactoryConfig=u,this._created.push(c),Object.defineProperty(t,A(e),{configurable:!0,writable:!1,value:c}),o.callbacks.forEach(function(e){return e(t)}),c.fire("domfactory-component-upgraded")}}},upgrade:function(t){var e=this;if(void 0===t)this.upgradeAll();else{var n=this.findRegistered(t);if(n){[].concat(r(document.querySelectorAll("."+n.cssClass))).forEach(function(n){return e.upgradeElement(n,t)})}}},upgradeAll:function(){var t=this;this._registered.forEach(function(e){return t.upgrade(e.id)})},downgradeComponent:function(t){t.destroy();var e=this._created.indexOf(t);this._created.splice(e,1);var n=t.element.getAttribute("data-domfactory-upgraded").split(","),r=n.indexOf(t.__domFactoryConfig.id);n.splice(r,1),t.element.setAttribute("data-domfactory-upgraded",n.join(",")),t.fire("domfactory-component-downgraded")},downgradeElement:function(t){this.findCreated(t).forEach(this.downgradeComponent,this)},downgradeAll:function(){this._created.forEach(this.downgradeComponent,this)},downgrade:function(t){var e=this;if(t instanceof Array||t instanceof NodeList){(t instanceof NodeList?[].concat(r(t)):t).forEach(function(t){return e.downgradeElement(t)})}else t instanceof Node&&this.downgradeElement(t)}},S=function(t,e){["transform","WebkitTransform","msTransform","MozTransform","OTransform"].map(function(n){return e.style[n]=t})};n.d(e,"util",function(){return C}),n.d(e,"factory",function(){return E}),n.d(e,"handler",function(){return P}),n(12);var C={assign:f,isArray:c,isElement:i,isFunction:u,toKebabCase:a,transform:S}},function(t,e,n){"use strict";var r=n(13),o=n(23)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(33)("find")},function(t,e,n){var r=n(0),o=n(4),i=n(2),c=n(20),u=n(7),a=function(t,e,n){var f,s,l,p,d=t&a.F,v=t&a.G,h=t&a.S,_=t&a.P,y=t&a.B,b=v?r:h?r[e]||(r[e]={}):(r[e]||{}).prototype,g=v?o:o[e]||(o[e]={}),m=g.prototype||(g.prototype={});v&&(n=e);for(f in n)s=!d&&b&&void 0!==b[f],l=(s?b:n)[f],p=y&&s?u(l,r):_&&"function"==typeof l?u(Function.call,l):l,b&&c(b,f,l,t&a.U),g[f]!=l&&i(g,f,p),_&&m[f]!=l&&(m[f]=l)};r.core=o,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var r=n(15),o=n(16),i=n(18),c=Object.defineProperty;e.f=n(3)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return c(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(1);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){t.exports=!n(3)&&!n(5)(function(){return 7!=Object.defineProperty(n(17)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(1),o=n(0).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(1);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(0),o=n(2),i=n(21),c=n(6)("src"),u=Function.toString,a=(""+u).split("toString");n(4).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var f="function"==typeof n;f&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(f&&(i(n,c)||o(n,c,t[e]?""+t[e]:a.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[c]||u.call(this)})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var r=n(7),o=n(24),i=n(25),c=n(27),u=n(29);t.exports=function(t,e){var n=1==t,a=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l,d=e||u;return function(e,u,v){for(var h,_,y=i(e),b=o(y),g=r(u,v,3),m=c(b.length),w=0,x=n?d(e,m):a?d(e,0):void 0;m>w;w++)if((p||w in b)&&(h=b[w],_=g(h,w,y),t))if(n)x[w]=_;else if(_)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(s)return!1;return l?-1:f||s?s:x}}},function(t,e,n){var r=n(8);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(26);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(28),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(30);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(1),o=n(31),i=n(9)("species");t.exports=function(t){var e;return o(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var r=n(8);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(0),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e,n){var r=n(9)("unscopables"),o=Array.prototype;void 0==o[r]&&n(2)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.unwatch=e.watch=void 0;var o=n(4),i=r(o),c=n(3),u=r(c),a=(e.watch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)?b.apply(void 0,e):a(r)?m.apply(void 0,e):g.apply(void 0,e)},e.unwatch=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e[1];s(r)||void 0===r?j.apply(void 0,e):a(r)?x.apply(void 0,e):w.apply(void 0,e)},function(t){return"[object Array]"==={}.toString.call(t)}),f=function(t){return"[object Object]"==={}.toString.call(t)},s=function(t){return"[object Function]"==={}.toString.call(t)},l=function(t,e,n){(0,u.default)(t,e,{enumerable:!1,configurable:!0,writable:!1,value:n})},p=function(t,e,n,r){(0,u.default)(t,e,{get:n,set:function(t){r.call(this,t)},enumerable:!0,configurable:!0})},d=function(t,e,n,r,o){var i=void 0,c=t.__watchers__[e];(i=t.__watchers__.__watchall__)&&(c=c?c.concat(i):i);for(var u=c?c.length:0,a=0;u>a;a++)c[a].call(t,n,r,e,o)},v=["pop","push","reverse","shift","sort","unshift","splice"],h=function(t,e,n,r){l(t,n,function(){for(var o=0,i=void 0,c=void 0,u=arguments.length,a=Array(u),f=0;u>f;f++)a[f]=arguments[f];if("splice"===n){var s=a[0],l=s+a[1];i=t.slice(s,l),c=[];for(var p=2;p0?a:void 0:a.length>0?a[0]:void 0;var d=e.apply(t,a);return"pop"===n?(i=d,o=t.length):"push"===n?o=t.length-1:"shift"===n?i=d:"unshift"!==n&&void 0===c&&(c=d),r.call(t,o,n,c,i),d})},_=function(t,e){if(s(e)&&t&&!(t instanceof String)&&a(t))for(var n=v.length;n>0;n--){var r=v[n-1];h(t,t[r],r,e)}},y=function(t,e,n,r){var o=!1,c=a(t);void 0===t.__watchers__&&(l(t,"__watchers__",{}),c&&_(t,function(n,o,i,c){if(d(t,n,i,c,o),0!==r&&i&&(f(i)||a(i))){var u=void 0,s=t.__watchers__[e];(u=t.__watchers__.__watchall__)&&(s=s?s.concat(u):u);for(var l=s?s.length:0,p=0;l>p;p++)if("splice"!==o)b(i,s[p],void 0===r?r:r-1);else for(var v=0;vi;i++)o[i]=arguments[i];return n[e].apply(t,o)})}),["writable","value"].forEach(function(t){void 0!==n[t]&&(r[t]=n[t])}),(0,u.default)(t.__proxy__,e,r)}():t.__proxy__[e]=t[e],p(t,e,function(){return t.__proxy__[e]},function(n){var o=t.__proxy__[e];if(0!==r&&t[e]&&(f(t[e])||a(t[e]))&&!t[e].__watchers__)for(var i=0;i0)for(var o=0;o0)&&b(t[e],n,void 0!==r?r-1:r),y(t,e,n,r)))},m=function(t,e,n,r){if("string"!=typeof t&&(t instanceof Object||a(t)))for(var o=0;o { * @param {Object} src The source object */ const propValue = (prop, value, src) => { - if (!value || !!src[prop]) { + if (value !== 0 && (!value || !!src[prop])) { return } if (isFunction(value)) { @@ -71,13 +71,18 @@ const reflectToAttribute = (prop, opts = {}, src) => { enumerable: descriptor.enumerable, configurable: descriptor.configurable, get: function () { - return opts.type === Boolean - ? this.element.dataset[prop] === '' - : this.element.dataset[prop] + if (opts.type === Boolean) { + return this.element.dataset[prop] === '' + } + if (opts.type === Number) { + return Number(this.element.dataset[prop]) + } + return this.element.dataset[prop] }, set: function (value) { - if (opts.type === Boolean) { - return this.element[value ? 'setAttribute' : 'removeAttribute'](propKebab, opts.type === Boolean ? '' : value) + const removable = !value && value !== 0 + if (opts.type === Boolean || removable) { + return this.element[!removable ? 'setAttribute' : 'removeAttribute'](propKebab, opts.type === Boolean ? '' : value) } this.element.dataset[prop] = value } From 22677e4a42aa60b699043137ad90dafbf337e794 Mon Sep 17 00:00:00 2001 From: Laza Bogdan Date: Tue, 9 Jan 2018 19:01:33 +0200 Subject: [PATCH 07/13] update README --- README.md | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c555fd5..be689b9 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ const buttonComponent = () => ({ * Sets the initial value to 0 * @type {Object} */ - bProperty: { + cProperty: { reflectToAttribute: true, type: Number, value: 0 @@ -220,11 +220,39 @@ button.bProperty = true button.cProperty = 5 ``` -When using the `reflectToAttribute: true` property option, the property reflects a string representation of it's value to the corresponding attribute on the HTML element, which means you can use the HTML element attribute to configure the component instance property value. +When using the `reflectToAttribute: true` property option, the property reflects a string representation of it's value to the corresponding `data-*` attribute on the HTML element using the `dataset` API, which means you can use the HTML element attribute to configure the property value. + +#### Casting values + +Because component properties using `reflectToAttribute: true` are using the dataset API, all values are strings by default, but you can cast them to `Boolean` or `Number`. + +> Boolean + +When using a `Boolean` property type and assigning a property value of `true`, the attribute will be created on the HTML element with an empty value and when assigning a property value of `false`, the attribute will be removed from the DOM. + +For example, an attribute with an empty value called `[data-my-boolean-attribute]` will map to `button.myBooleanAttribute`. + +```html + +``` + +```js +`console.log(button.myBooleanAttribute) // => true` +``` -When using a `Boolean` property type and assigning a property value of `true`, the attribute will be created with the same value as the attribute name and when assigning a property value of `false`, the attribute will be removed from the DOM. +> Number -You can also cast the property value to a `Number` by adding `type: Number` to the property definition. +Cast the component property value to a `Number` by adding `type: Number` to the property definition. It returns `NaN` when the value is not a valid number. + +```js +button.cProperty = '50' +console.log(button.cProperty) // => 50 + +button.cProperty = 'abc' +console.log(button.cProperty) // => NaN +``` ```html