omi/dist/omi.lite.min.js

6 lines
31 KiB
JavaScript

/*!
* Omi v1.2.1 By dntzhang
* Github: https://github.com/AlloyTeam/omi
* MIT Licensed.
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Omi=t():e.Omi=t()}(this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return e[i].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(1),a=i(r),o=n(2),s=i(o),l=n(7),u=i(l);a.default.template=function(e,t){return e},a.default.Store=u.default,a.default.Component=s.default,window.Omi?e.exports=window.Omi:(window.Omi=a.default,e.exports=a.default)},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==("undefined"==typeof t?"undefined":o(t))&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof t?"undefined":o(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function a(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push({key:n,value:e[n]});return t}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s={};s.instances={},s._instanceId=0,s.getInstanceId=function(){return s._instanceId++},s.customTags=[],s.mapping={},s.STYLEPREFIX="omi_style_",s.STYLESCOPEDPREFIX="omi_scoped_",s.style={},s.componentConstructor={},"function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");e=Object(e);for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}),function(){var e=Array.prototype.slice;try{e.call(document.documentElement)}catch(t){Array.prototype.slice=function(t,n){if(n="undefined"!=typeof n?n:this.length,"[object Array]"===Object.prototype.toString.call(this))return e.call(this,t,n);var i,r,a=[],o=this.length,s=t||0;s=s>=0?s:o+s;var l=n?n:o;if(n<0&&(l=o+n),r=l-s,r>0)if(a=new Array(r),this.charAt)for(i=0;i<r;i++)a[i]=this.charAt(s+i);else for(i=0;i<r;i++)a[i]=this[s+i];return a}}}();var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();s.create=function(e,t,o){var u=t,d=s.Component;return arguments.length>2&&(u=o,d=t),s.componentConstructor[e]=function(t){function o(t,r){return n(this,o),this.___omi_constructor_name=e,i(this,(o.__proto__||Object.getPrototypeOf(o)).call(this,t,r))}return r(o,t),l(o,a(u)),o}(d),s.customTags.push(e),s.componentConstructor[e]},s.createStore=function(e){var t=function(t){function o(t,r){return n(this,o),this.data=t,e.methods.install&&e.methods.install.call(this),i(this,(o.__proto__||Object.getPrototypeOf(o)).call(this,t,r))}return r(o,t),l(o,a(e.methods)),o}(s.Store);return new t(e.data,!0)},s.mixIndex=function(e,t){for(var n=e.length,i=t||"index",r=0;r<n;r++){var a=e[r];"object"===("undefined"==typeof a?"undefined":o(a))?a[i]=r:(e[r]={value:a},e[r][i]=r)}return e},s.$=function(e,t){return t?t.querySelector(e):document.querySelector(e)},s.$$=function(e,t){return t?Array.prototype.slice.call(t.querySelectorAll(e)):Array.prototype.slice.call(document.querySelectorAll(e))},s.getClassFromString=function(e){if(e.indexOf(".")!==-1){for(var t=e.split("."),n=t.length,i=window[t[0]],r=1;r<n;r++)i=i[t[r]];return i}return s.componentConstructor[e]},s.makeHTML=function(e,t){s.componentConstructor[e]=t,s.customTags.push(e)},s.tag=s.makeHTML,s.render=function(e,t,n){return e.renderTo="string"==typeof t?document.querySelector(t):t,"boolean"==typeof n?e._omi_increment=n:n&&(e._omi_increment=n.increment,n.store&&(n.store instanceof s.Store?e.$store=n.store:e.$store=s.createStore(n.store)),e._omi_autoStoreToData=n.autoStoreToData),e.install(),e._render(!0),e._childrenInstalled(e),e.installed(),e},s.get=function(e){return s.mapping[e]},s.plugins={},s.extendPlugin=function(e,t){s.plugins[e]=t},s.getParameters=function(e,t,n){var i={},r=function(){},a={stringType:function(e){return e},numberType:function(e){return Number(e)},booleanType:function(e){return"true"===e||"false"!==e&&Boolean(e)},functionType:function(e){if(!e)return r;var n=t[e.replace(/Omi.instances\[\d\]./,"")];return n?n.bind(t):(console.warn("You do not define [ "+e+" ] method in following component"),void console.warn(t))}};return Object.keys(n).forEach(function(t){n[t].forEach(function(n){var r=e.getAttribute(n);null!==r&&(i[n]=a[t](r))})}),i},s.mixIndexToArray=function(e,t){e.forEach(function(e,n){e[t||"index"]=n})},e.exports=s},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),_omi=__webpack_require__(1),_omi2=_interopRequireDefault(_omi),_style=__webpack_require__(3),_style2=_interopRequireDefault(_style),_event=__webpack_require__(4),_event2=_interopRequireDefault(_event),_morphdom=__webpack_require__(5),_morphdom2=_interopRequireDefault(_morphdom),_html2json=__webpack_require__(6),_html2json2=_interopRequireDefault(_html2json),Component=function(){function Component(e,t){_classCallCheck(this,Component);var n=Object.assign({server:!1,ignoreStoreData:!1,preventSelfUpdate:!1,selfDataFirst:!1,domDiffDisabled:!1,scopedSelfCSS:!1},t);this._omi_scopedSelfCSS=n.scopedSelfCSS,this._omi_preventSelfUpdate=n.preventSelfUpdate,this._omi_domDiffDisabled=n.domDiffDisabled,this._omi_ignoreStoreData=n.ignoreStoreData;var i=Object.prototype.toString.call(e),r="[object Object]"!==i&&"[object Undefined]"!==i;r?(this.renderTo="string"==typeof e?document.querySelector(e):e,this._hidden=this.renderTo.querySelector(".omi_scoped__hidden_data"),this.id=this._hidden.dataset.omiId,this.data=JSON.parse(this._hidden.value)):(this.data=e||{},this._omi_server_rendering=n.server,this.id=this._omi_server_rendering?1e6+_omi2.default.getInstanceId():_omi2.default.getInstanceId()),this.refs={},this.children=[],this.childrenData=[],this.HTML=null,_omi2.default.instances[this.id]=this,this.selfDataFirst=n.selfDataFirst,this._omi_scoped_attr=_omi2.default.STYLESCOPEDPREFIX+this.id,this._preCSS=null,this._omiGroupDataCounter={},(this._omi_server_rendering||r)&&(this.install(),this._render(!0),this._childrenInstalled(this),this.installed())}return _createClass(Component,[{key:"install",value:function(){}},{key:"installed",value:function(){}},{key:"uninstall",value:function(){}},{key:"afterUpdate",value:function(){}},{key:"beforeUpdate",value:function(){}},{key:"render",value:function(){}},{key:"style",value:function(){}},{key:"beforeRender",value:function(){}},{key:"useStore",value:function(e){var t=this;this.$$store=e;var n=!1;e.instances.forEach(function(e){e.id===t.id&&(n=!0)}),n||e.instances.push(this)}},{key:"updateSelf",value:function(){if(this.beforeUpdate(),this.renderTo)this._render(!1,!0);else{if(this._omi_preventSelfUpdate)return;if(this._omi_removed){var e=this._createHiddenNode();this.node.parentNode.replaceChild(e,this.node),this.node=e}else(0,_morphdom2.default)(this.node,(0,_event2.default)(this._childRender(this._omiChildStr,!0),this.id),{ignoreAttr:this._getIgnoreAttr()}),this.node=document.querySelector("["+this._omi_scoped_attr+"]"),this._queryElements(this),this._fixForm()}this.afterUpdate()}},{key:"update",value:function(){if(this.beforeUpdate(),this._childrenBeforeUpdate(this),this.renderTo)this._render();else{if(this._omi_preventSelfUpdate)return;if(this._omi_removed){var e=this._createHiddenNode();this.node.parentNode.replaceChild(e,this.node),this.node=e}else this._omi_domDiffDisabled?this.node.parentNode.replaceChild(_morphdom2.default.toElement((0,_event2.default)(this._childRender(this._omiChildStr),this.id)),this.node):(0,_morphdom2.default)(this.node,(0,_event2.default)(this._childRender(this._omiChildStr),this.id)),this.node=document.querySelector("["+this._omi_scoped_attr+"]"),this._queryElements(this),this._fixForm()}this._childrenAfterUpdate(this),this.afterUpdate()}},{key:"_childrenBeforeUpdate",value:function(e){var t=this;e.children.forEach(function(e){e.beforeUpdate(),t._childrenBeforeUpdate(e)})}},{key:"_childrenAfterUpdate",value:function(e){var t=this;e.children.forEach(function(e){t._childrenAfterUpdate(e),e.afterUpdate()})}},{key:"setData",value:function(e,t){this.data=e,t&&this.update()}},{key:"removeChild",value:function(e){var t=e;"number"==typeof e&&(t=this.children[e]),t.remove()}},{key:"restoreChild",value:function(e){var t=e;"number"==typeof e&&(t=this.children[e]),t.restore()}},{key:"remove",value:function(){this._omi_removed=!0,this.update(),this.uninstall()}},{key:"restore",value:function(){this._omi_removed=!1,this.update(),this.installed()}},{key:"_render",value:function(e,t){var n=this;if(this._omi_removed){var i=this._createHiddenNode();return void(e?this.renderTo&&this.renderTo.appendChild(i):(this.node.parentNode.replaceChild(i,this.node),this.node=i))}this._omi_autoStoreToData&&(this._omi_ignoreStoreData||(this.data=this.$store.data)),this.beforeRender(),this._generateHTMLCSS(),t?this._extractChildrenString(this):this._extractChildren(this),this.children.forEach(function(e){n.HTML=n.HTML.replace(e._omiChildStr,t?e.node.outerHTML:e.HTML)}),this.HTML=(0,_event2.default)(this.HTML,this.id),e?this.renderTo&&(this._omi_increment?this.renderTo.insertAdjacentHTML("beforeend",this.HTML):this.renderTo.innerHTML=this.HTML):""!==this.HTML?this._omi_domDiffDisabled?this.renderTo.innerHTML=this.HTML:(0,_morphdom2.default)(this.node,this.HTML,t?{ignoreAttr:this._getIgnoreAttr()}:null):(0,_morphdom2.default)(this.node,this._createHiddenNode()),this.renderTo&&(this.node=document.querySelector("["+this._omi_scoped_attr+"]"),this._queryElements(this),this._fixForm())}},{key:"_getIgnoreAttr",value:function(){var e=[];return this.children.forEach(function(t){e.push(t._omi_scoped_attr)}),e}},{key:"_childRender",value:function(e,t){var n=this;return this._omi_removed?(this.HTML='<input type="hidden" omi_scoped_'+this.id+" >",this.HTML):(this._mergeData(e),this.parent._omi_autoStoreToData&&(this._omi_autoStoreToData=!0,this._omi_ignoreStoreData||(this.data=this.$store.data)),this.beforeRender(),this._generateHTMLCSS(),t?this._extractChildrenString(this):this._extractChildren(this),this.children.forEach(function(e){n.HTML=n.HTML.replace(e._omiChildStr,t?e.node.outerHTML:e.HTML)}),this.HTML=(0,_event2.default)(this.HTML,this.id),this.HTML)}},{key:"_queryElements",value:function(e){e._mixRefs(),e._execPlugins(),e.children.forEach(function(t){t.node=e.node.querySelector("["+_omi2.default.STYLESCOPEDPREFIX+t.id+"]"),t.node&&e._queryElements(t)})}},{key:"_mixRefs",value:function(){var e=this,t=_omi2.default.$$("*[ref]",this.node);t.forEach(function(t){t.hasAttribute(e._omi_scoped_attr)&&(e.refs[t.getAttribute("ref")]=t)});var n=this.node.getAttribute("ref");n&&(this.refs[n]=this.node)}},{key:"_execPlugins",value:function(){var e=this;Object.keys(_omi2.default.plugins).forEach(function(t){var n=_omi2.default.$$("*["+t+"]",e.node);n.forEach(function(n){n.hasAttribute(e._omi_scoped_attr)&&_omi2.default.plugins[t](n,e)}),e.node.hasAttribute(t)&&_omi2.default.plugins[t](e.node,e)})}},{key:"_childrenInstalled",value:function(e){var t=this;e.children.forEach(function(e){t._childrenInstalled(e),e.installed()})}},{key:"_fixForm",value:function(){_omi2.default.$$("input",this.node).forEach(function(e){var t=e.type.toLowerCase();""===e.getAttribute("value")&&(e.value=""),"checked"!==t&&"radio"!==t||(e.hasAttribute("checked")?e.checked="checked":e.checked=!1)}),_omi2.default.$$("textarea",this.node).forEach(function(e){e.value=e.getAttribute("value")}),_omi2.default.$$("select",this.node).forEach(function(e){var t=e.getAttribute("value");if(t)_omi2.default.$$("option",e).forEach(function(e){t===e.getAttribute("value")&&e.setAttribute("selected","selected")});else{var n=_omi2.default.$$("option",e)[0];n&&n.setAttribute("selected","selected")}})}},{key:"_replaceTags",value:function(e,t){var n=e.join("|"),i=new RegExp("<("+n+"+)((?:\\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\\s*=\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>\\s]+))?)*)\\s*(\\/?)>","g");return t.replace(i,function(e,t){var n=e.length-2;return n>=0&&e.lastIndexOf("/>")===e.length-2?e.replace("<"+t,'<child tag="'+t+'"').substr(0,e.length+10)+"></child>":e.lastIndexOf(">")===e.length-1?e.replace("<"+t,'<child tag="'+t+'"')+"</child>":void 0})}},{key:"_createHiddenNode",value:function(){var e=document.createElement("input");return e.setAttribute("type","hidden"),e.setAttribute(this._omi_scoped_attr,""),e}},{key:"_mergeData",value:function(e){this.selfDataFirst?this.data=Object.assign({},this._getDataset(e),this.data):this.data=Object.assign({},this.data,this._getDataset(e))}},{key:"_generateHTMLCSS",value:function(){this.CSS=(this.style()||"").replace(/<\/?style>/g,"");var e=this.___omi_constructor_name?_omi2.default.STYLESCOPEDPREFIX+this.___omi_constructor_name.toLowerCase():this._omi_scoped_attr;this.CSS&&(!this._omi_scopedSelfCSS&&_omi2.default.style[e]||(this.CSS=_style2.default.scoper(this.CSS,this._omi_scopedSelfCSS?"["+this._omi_scoped_attr+"]":"["+e+"]"),_omi2.default.style[e]=this.CSS,this.CSS===this._preCSS||this._omi_server_rendering||(_style2.default.addStyle(this.CSS,this.id),this._preCSS=this.CSS)));var t=this.render();this.HTML=this._scopedAttr(_omi2.default.template(t?t:"",this.data),this._omi_scoped_attr,e).trim(),this._omi_server_rendering&&(this.HTML='\r\n<style id="'+_omi2.default.STYLEPREFIX+this.id+'">\r\n'+this.CSS+"\r\n</style>\r\n"+this.HTML,this.HTML+='\r\n<input type="hidden" data-omi-id="'+this.id+'" class="'+_omi2.default.STYLESCOPEDPREFIX+"_hidden_data\" value='"+JSON.stringify(this.data)+"' />\r\n")}},{key:"_scopedAttr",value:function(e,t,n){var i=this;return e.replace(/<[^\/]([A-Za-z]*)[^>]*>/g,function(e){var r=e.split(" ")[0].replace(">","");return i._omi_scopedSelfCSS||!i.___omi_constructor_name?e.replace(r,r+" "+t):e.replace(r,r+" "+t+" "+n)})}},{key:"_getDataset",value:function _getDataset(childStr){var _this10=this,json=(0,_html2json2.default)(childStr),attr=json.child[0].attr,baseData={};return Object.keys(attr).forEach(function(key){var value=attr[key];if(0===key.indexOf("on")){var handler=_this10.parent[value];handler&&(baseData[key]=handler.bind(_this10.parent))}else 0===key.indexOf("data-")?_this10._dataset[_this10._capitalize(key.replace("data-",""))]=value:0===key.indexOf(":data-")?_this10._dataset[_this10._capitalize(key.replace(":data-",""))]=eval("("+value+")"):":data"===key?_this10._dataset=eval("("+value+")"):"data"===key?_this10._dataset=_this10._extractPropertyFromString(value,_this10.parent):"group-data"===key&&(_this10._dataset=_this10._extractPropertyFromString(value,_this10.parent)[_this10._omi_groupDataIndex])}),Object.assign(baseData,this._dataset)}},{key:"_capitalize",value:function(e){return e=e.toLowerCase(),e=e.replace(/\b\w+\b/g,function(e){return e.substring(0,1).toUpperCase()+e.substring(1)}).replace(/-/g,""),e.substring(0,1).toLowerCase()+e.substring(1)}},{key:"_extractPropertyFromString",value:function(e,t){var n=e.replace(/['|"|\]]/g,"").replace(/\[/g,".").split("."),i=t;return n.forEach(function(e){i=i[e]}),n=null,i}},{key:"_extractChildrenString",value:function(e){var t=this;if(0!==_omi2.default.customTags.length){e.HTML=this._replaceTags(_omi2.default.customTags,e.HTML);var n=e.HTML.match(/<child[^>][\s\S]*?tag=['|"](\S*)['|"][\s\S]*?><\/child>/g);n&&n.forEach(function(e,n){var i=(0,_html2json2.default)(e),r=i.child[0].attr,a=r.tag;delete r.tag;var o=t.children[n];o&&o.___omi_constructor_name===a&&(o._omiChildStr=e)})}}},{key:"_extractChildren",value:function _extractChildren(child){var _this12=this;if(0!==_omi2.default.customTags.length){child.HTML=this._replaceTags(_omi2.default.customTags,child.HTML);var arr=child.HTML.match(/<child[^>][\s\S]*?tag=['|"](\S*)['|"][\s\S]*?><\/child>/g);child._omiGroupDataCounter={},arr&&arr.forEach(function(childStr,i){var json=(0,_html2json2.default)(childStr),attr=json.child[0].attr,name=attr.tag;delete attr.tag;var cmi=_this12.children[i];cmi&&cmi.___omi_constructor_name===name?(cmi._omiChildStr=childStr,Object.keys(attr).forEach(function(e){var t=attr[e];"group-data"===e&&(child._omiGroupDataCounter.hasOwnProperty(t)?child._omiGroupDataCounter[t]++:child._omiGroupDataCounter[t]=0,cmi._omi_groupDataIndex=child._omiGroupDataCounter[t])}),cmi._childRender(childStr)):!function(){var baseData={},dataset={},groupDataIndex=null,omiID=null,instanceName=null,_omi_option={};Object.keys(attr).forEach(function(key){var value=attr[key];if(0===key.indexOf("on")){var handler=child[value];handler&&(baseData[key]=handler.bind(child))}else"omi-id"===key?omiID=value:"name"===key?instanceName=value:"group-data"===key?(child._omiGroupDataCounter.hasOwnProperty(value)?child._omiGroupDataCounter[value]++:child._omiGroupDataCounter[value]=0,groupDataIndex=child._omiGroupDataCounter[value],dataset=_this12._extractPropertyFromString(value,child)[groupDataIndex]):0===key.indexOf("data-")?dataset[_this12._capitalize(key.replace("data-",""))]=value:0===key.indexOf(":data-")?dataset[_this12._capitalize(key.replace(":data-",""))]=eval("("+value+")"):":data"===key?dataset=eval("("+value+")"):"data"===key?dataset=_this12._extractPropertyFromString(value,child):"preventSelfUpdate"===key||"psu"===key?_omi_option.preventSelfUpdate=!0:"selfDataFirst"===key||"sdf"===key?_omi_option.selfDataFirst=!0:"domDiffDisabled"===key||"ddd"===key?_omi_option.domDiffDisabled=!0:"ignoreStoreData"===key||"isd"===key?_omi_option.ignoreStoreData=!0:"scopedSelfCSS"!==key&&"ssc"!==key||(_omi_option.scopedSelfCSS=!0)});var ChildClass=_omi2.default.getClassFromString(name);if(!ChildClass)throw"Can't find Class called ["+name+"]";var sub_child=new ChildClass(Object.assign(baseData,child.childrenData[i],dataset),_omi_option);sub_child._omi_groupDataIndex=groupDataIndex,sub_child._omiChildStr=childStr,sub_child.parent=child,sub_child.$store=child.$store,sub_child.___omi_constructor_name=name,sub_child._dataset={},sub_child.install(),omiID&&(_omi2.default.mapping[omiID]=sub_child),instanceName&&(child[instanceName]=sub_child),cmi?child.children[i]=sub_child:child.children.push(sub_child),sub_child._childRender(childStr)}()})}}}]),Component}();exports.default=Component},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n=new RegExp("([^\r\n,{}:]+)(:[^\r\n,{}]+)?(,(?=[^{]*{)|s*{)","g");return e=e.replace(n,function(e,n,i,r){if("undefined"==typeof i&&(i=""),e.indexOf(";base64")!==-1||e.indexOf("/")!==-1)return e;if(n.match(/^\s*(@media|@keyframes|to|from|@font-face)/))return n+i+r;var a=n.replace(/(\s*)$/,"")+t+i,o=t+" "+n.trim()+i;return a+","+o+r})}function a(e,t){var n=document.getElementById(s.default.STYLEPREFIX+t),i=document.getElementsByTagName("head")[0];n&&n.parentNode===i&&i.removeChild(n);var r=document.createElement("style");i.appendChild(r),r.setAttribute("type","text/css"),r.setAttribute("id",s.default.STYLEPREFIX+t),window.ActiveXObject?r.styleSheet.cssText=e:r.textContent=e}Object.defineProperty(t,"__esModule",{value:!0});var o=n(1),s=i(o);t.default={scoper:r,addStyle:a}},function(e,t){"use strict";function n(e,t){return e.replace(/<[\s\S]*?>/g,function(e){return e.replace(/on(abort|blur|cancel|canplay|canplaythrough|change|click|close|contextmenu|cuechange|dblclick|drag|dragend|dragenter|dragleave|dragover|dragstart|drop|durationchange|emptied|ended|error|focus|input|invalid|keydown|keypress|keyup|load|loadeddata|loadedmetadata|loadstart|mousedown|mouseenter|mouseleave|mousemove|mouseout|mouseover|mouseup|mousewheel|pause|play|playing|progress|ratechange|reset|resize|scroll|seeked|seeking|select|show|stalled|submit|suspend|timeupdate|toggle|volumechange|waiting|autocomplete|autocompleteerror|beforecopy|beforecut|beforepaste|copy|cut|paste|search|selectstart|wheel|webkitfullscreenchange|webkitfullscreenerror|touchstart|touchmove|touchend|touchcancel|pointerdown|pointerup|pointercancel|pointermove|pointerover|pointerout|pointerenter|pointerleave|Abort|Blur|Cancel|CanPlay|CanPlayThrough|Change|Click|Close|ContextMenu|CueChange|DblClick|Drag|DragEnd|DragEnter|DragLeave|DragOver|DragStart|Drop|DurationChange|Emptied|Ended|Error|Focus|Input|Invalid|KeyDown|KeyPress|KeyUp|Load|LoadedData|LoadedMetadata|LoadStart|MouseDown|MouseEnter|MouseLeave|MouseMove|MouseOut|MouseOver|MouseUp|MouseWheel|Pause|Play|Playing|Progress|RateChange|Reset|Resize|Scroll|Seeked|Seeking|Select|Show|Stalled|Submit|Suspend|TimeUpdate|Toggle|VolumeChange|Waiting|AutoComplete|AutoCompleteError|BeforeCopy|BeforeCut|BeforePaste|Copy|Cut|Paste|Search|SelectStart|Wheel|WebkitFullScreenChange|WebkitFullScreenError|TouchStart|TouchMove|TouchEnd|TouchCancel|PointerDown|PointerUp|PointerCancel|PointerMove|PointerOver|PointerOut|PointerEnter|PointerLeave)=(('([\s\S]*?)')|("([\s\S]*?)"))/g,function(e,n,i){if(1===i.indexOf("Omi.instances["))return e;if(i.lastIndexOf(")")===i.length-2)return e.replace(/=(['|"])/,"=$1Omi.instances["+t+"].");var r=e.replace(/=(['|"])/,"=$1Omi.instances["+t+"].");return r.substr(0,r.length-1)+"(event)"+r.substr(r.length-1,1)})})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,n){var i,r,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(o,s){"object"===a(t)&&"undefined"!=typeof e?e.exports=s():(i=s,r="function"==typeof i?i.call(t,n,t,e):i,!(void 0!==r&&(e.exports=r)))}(void 0,function(){"use strict";function e(e){!u&&h.createRange&&(u=h.createRange(),u.selectNode(h.body));var t;return u&&u.createContextualFragment?t=u.createContextualFragment(e):(t=h.createElement("body"),t.innerHTML=e),t.childNodes[0]}function t(e,t){var n=e.nodeName,i=t.nodeName;return n===i||!!(t.actualize&&n.charCodeAt(0)<91&&i.charCodeAt(0)>90)&&n===i.toUpperCase()}function n(e,t){return t&&t!==c?h.createElementNS(t,e):h.createElement(e)}function i(e,t){for(var n=e.firstChild;n;){var i=n.nextSibling;t.appendChild(n),n=i}return t}function r(e,t){var n,i,r,a,o,s,l=t.attributes;for(n=l.length-1;n>=0;--n)i=l[n],r=i.name,a=i.namespaceURI,o=i.value,a?(r=i.localName||r,s=e.getAttributeNS(a,r),s!==o&&e.setAttributeNS(a,r,o)):(s=e.getAttribute(r),s!==o&&e.setAttribute(r,o));for(l=e.attributes,n=l.length-1;n>=0;--n)i=l[n],i.specified!==!1&&(r=i.name,a=i.namespaceURI,a?(r=i.localName||r,p(t,a,r)||e.removeAttributeNS(a,r)):p(t,null,r)||e.removeAttribute(r))}function a(e,t,n){e[n]!==t[n]&&(e[n]=t[n],e[n]?e.setAttribute(n,""):e.removeAttribute(n,""))}function o(){}function s(e){return e.id}function l(r){return function(a,l,u){function d(e){C?C.push(e):C=[e]}function c(e,t){if(e.nodeType===m)for(var n=e.firstChild;n;){var i=void 0;t&&(i=k(n))?d(i):(O(n),n.firstChild&&c(n,t)),n=n.nextSibling}}function f(e,t,n){A(e)!==!1&&(t&&t.removeChild(e),O(e),c(e,n))}function p(e){if(e.nodeType===m)for(var t=e.firstChild;t;){var n=k(t);n&&(M[n]=t),p(t),t=t.nextSibling}}function g(e){E(e);for(var n=e.firstChild;n;){var i=n.nextSibling,r=k(n);if(r){var a=M[r];a&&t(n,a)&&(n.parentNode.replaceChild(a,n),S(a,n))}g(n),n=i}}function S(e,n,i){if(L){for(var o=!1,s=!1,u=null,c=null,p=0,b=L.length;p<b;p++){var C=L[p];if(o||null===e.getAttribute(C)||(o=!0,u=C),s||null===n.getAttribute(C)||(s=!0,c=C),o&&s)break}if(o&&s&&u===c)return}var E,A=k(n);if(A&&delete M[A],!l.isSameNode||!l.isSameNode(a)){if(!i){if(D(e,n)===!1)return;if(r(e,n),x(e),w(e,n)===!1)return}if("TEXTAREA"!==e.nodeName){var O,I,P,j,N=n.firstChild,H=e.firstChild;e:for(;N;){for(P=N.nextSibling,O=k(N);H;){if(I=H.nextSibling,N.isSameNode&&N.isSameNode(H)){N=P,H=I;continue e}E=k(H);var R=H.nodeType,U=void 0;if(R===N.nodeType&&(R===m?(O?O!==E&&((j=M[O])?H.nextSibling===j?U=!1:(e.insertBefore(j,H),I=H.nextSibling,E?d(E):f(H,e,!0),H=j):U=!1):E&&(U=!1),U=U!==!1&&t(H,N),U&&S(H,N)):R!==v&&R!=y||(U=!0,H.nodeValue=N.nodeValue)),U){N=P,H=I;continue e}E?d(E):f(H,e,!0),H=I}if(O&&(j=M[O])&&t(j,N))e.appendChild(j),S(j,N);else{var F=T(N);F!==!1&&(F&&(N=F),N.actualize&&(N=N.actualize(e.ownerDocument||h)),e.appendChild(N),g(N))}N=P,H=I}for(;H;)I=H.nextSibling,(E=k(H))?d(E):f(H,e,!0),H=I}var $=_[e.nodeName];$&&$(e,n)}}if(u||(u={}),"string"==typeof l)if("#document"===a.nodeName||"HTML"===a.nodeName){var b=l;l=h.createElement("html"),l.innerHTML=b}else l=e(l);var C,k=u.getNodeKey||s,T=u.onBeforeNodeAdded||o,E=u.onNodeAdded||o,D=u.onBeforeElUpdated||o,x=u.onElUpdated||o,A=u.onBeforeNodeDiscarded||o,O=u.onNodeDiscarded||o,w=u.onBeforeElChildrenUpdated||o,I=u.childrenOnly===!0,L=u.ignoreAttr,M={};p(a);var P=a,j=P.nodeType,N=l.nodeType;if(!I)if(j===m)N===m?t(a,l)||(O(a),P=i(a,n(l.nodeName,l.namespaceURI))):P=l;else if(j===v||j===y){if(N===j)return P.nodeValue=l.nodeValue,P;P=l}if(P===l)O(a);else if(S(P,l,I),C)for(var H=0,R=C.length;H<R;H++){var U=M[C[H]];U&&f(U,U.parentNode,!1)}return!I&&P!==a&&a.parentNode&&(P.actualize&&(P=P.actualize(a.ownerDocument||h)),a.parentNode.replaceChild(P,a)),P}}var u,d,c="http://www.w3.org/1999/xhtml",h="undefined"==typeof document?void 0:document,f=h?h.body||h.createElement("div"):{};d=f.hasAttributeNS?function(e,t,n){return e.hasAttributeNS(t,n)}:f.hasAttribute?function(e,t,n){return e.hasAttribute(n)}:function(e,t,n){return null!=e.getAttributeNode(t,n)};var p=d,_={OPTION:function(e,t){a(e,t,"selected")},INPUT:function(e,t){a(e,t,"checked"),a(e,t,"disabled"),e.value!==t.value&&(e.value=t.value),p(t,null,"value")||e.removeAttribute("value")},TEXTAREA:function(e,t){var n=t.value;if(e.value!==n&&(e.value=n),e.firstChild){if(""===n&&e.firstChild.nodeValue===e.placeholder)return;e.firstChild.nodeValue=n}},SELECT:function(e,t){if(!p(t,null,"multiple")){for(var n=-1,i=0,r=t.firstChild;r;){var a=r.nodeName;if(a&&"OPTION"===a.toUpperCase()){if(p(r,null,"selected")){n=i;break}i++}r=r.nextSibling}e.selectedIndex=i}}},m=1,v=3,y=8,g=l(r);return g.toElement=e,g})},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=/^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,i=/^<\/([-A-Za-z0-9_]+)[^>]*>/,r=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,a=function(e,t){function a(e,n,i,a){if(n=n.toLowerCase(),a=!!a,a||d.push(n),t.start){var o=[];i.replace(r,function(e,t){var n=arguments[2]?arguments[2]:arguments[3]?arguments[3]:arguments[4]?arguments[4]:"";o.push({name:t,value:n,escaped:n.replace(/(^|[^\\])"/g,'$1\\"')})}),t.start&&t.start(n,o,a)}}function o(e,n){if(n)for(var i=d.length-1;i>=0&&d[i]!=n;i--);else var i=0;if(i>=0){for(var r=d.length-1;r>=i;r--)t.end&&t.end(d[r]);d.length=i}}var s,l,u,d=[],c=e;for(d.last=function(){return this[this.length-1]};e;){if(l=!0,d.last())e=e.replace(new RegExp("([\\s\\S]*?)</"+d.last()+"[^>]*>"),function(e,n){return t.chars&&t.chars(n),""}),o("",d.last());else if(0==e.indexOf("</")?(u=e.match(i),u&&(e=e.substring(u[0].length),u[0].replace(i,o),l=!1)):0==e.indexOf("<")&&(u=e.match(n),u&&(e=e.substring(u[0].length),u[0].replace(n,a),l=!1)),l){s=e.indexOf("<");var h=s<0?e:e.substring(0,s);e=s<0?"":e.substring(s),t.chars&&t.chars(h)}if(e==c)throw"Parse Error: "+e;c=e}o()},o=!1,s=o?console.log.bind(console):function(){};Array.prototype.reduce||(Array.prototype.reduce=function(e){if(null==this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof e)throw new TypeError(e+" is not a function");var t,n=Object(this),i=n.length>>>0,r=0;if(2==arguments.length)t=arguments[1];else{for(;r<i&&!(r in n);)r++;if(r>=i)throw new TypeError("Reduce of empty array with no initial value");t=n[r++]}for(;r<i;r++)r in n&&(t=e(t,n[r],r,n));return t});var l=function(e){var t=[],n={node:"root",child:[]};return a(e,{start:function(e,i,r){s(e,i,r);var a={node:"element",tag:e};if(0!==i.length&&(a.attr=i.reduce(function(e,t){var n=t.name,i=t.value;return e[n]=i,e},{})),r){var o=t[0]||n;void 0===o.child&&(o.child=[]),o.child.push(a)}else t.unshift(a)},end:function(e){s(e);var i=t.shift();if(i.tag!==e&&console.error("invalid state: mismatch end tag"),0===t.length)n.child.push(i);else{var r=t[0];void 0===r.child&&(r.child=[]),r.child.push(i)}},chars:function(e){s(e);var i={node:"text",text:e};if(0===t.length)n.child.push(i);else{var r=t[0];void 0===r.child&&(r.child=[]),r.child.push(i)}}}),n};t.default=l},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=function(){function e(t){n(this,e),this.readyHandlers=[],this.isReady=t,this.instances=[],this.updateSelfInstances=[]}return i(e,[{key:"ready",value:function(e){return this.isReady?void e():void this.readyHandlers.push(e)}},{key:"addSelfView",value:function(e){for(var t=!1,n=0,i=this.updateSelfInstances.length;n<i;n++)if(this.updateSelfInstances[n].id===e.id){t=!0;break}t||this.updateSelfInstances.push(e)}},{key:"addView",value:function(e){for(var t=!1,n=0,i=this.instances.length;n<i;n++)if(this.instances[n].id===e.id){t=!0;break}t||this.instances.push(e)}},{key:"beReady",value:function(){this.isReady=!0,this.readyHandlers.forEach(function(e){return e()})}},{key:"update",value:function(){this._mergeInstances(),this._mergeSelfInstances(),this.instances.forEach(function(e){return e.update()}),this.updateSelfInstances.forEach(function(e){return e.updateSelf()})}},{key:"_mergeSelfInstances",value:function(){var e=this,t=[];this.updateSelfInstances.forEach(function(n){e._checkSelfUpdateInstance(n)||t.push(n)}),this.updateSelfInstances=t}},{key:"_mergeInstances",value:function(){var e=this,t=[];this.idArr=[],this.instances.forEach(function(t){e.idArr.push(t.id)}),this.instances.forEach(function(n){n.parent?e._isSubInstance(n)||t.push(n):t.push(n)}),this.instances=t}},{key:"_checkSelfUpdateInstance",value:function(e){return this.idArr.indexOf(e.id)!==-1||(e.parent?this._checkSelfUpdateInstance(e.parent):void 0)}},{key:"_isSubInstance",value:function(e){return this.idArr.indexOf(e.parent.id)!==-1||(e.parent.parent?this._isSubInstance(e.parent):void 0)}}]),e}();t.default=r}])});