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
-