luda 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f7c78629dde4c8baf8e2786f200d5f01657c95413eb7b130653c51ff089a423
4
- data.tar.gz: 4bb9d353a9b8d588eb717f6e74912436cf443173e880c88d587a629801b74517
3
+ metadata.gz: 276146177275d6f447b2ab0fe67c6170b79e28afe51a293072d1cca05bda10d0
4
+ data.tar.gz: bf0665237dca0621ea977294079ff6c0d9c56ce798a2df03305a0bbbbb9a3bdc
5
5
  SHA512:
6
- metadata.gz: be87d163b042369346fd8c74d6d06741b03698a1656d36da20b85c3ddc75cead7808a3a3d08925aeea6c1bf06c1611fea3be92e30591d276f04fd5f383ee801b
7
- data.tar.gz: aa5ae4a50161eae53beea0d3f1b01f0933e7a9f828d786f985366384922d3d50a0ba20fcc2af25f47235dfa8a42f69fc3e09704e4d10f7cd99ec9f0f7164d382
6
+ metadata.gz: 0b29e0cfe1cca36f564c10475064528d6d2bd877b0f10687f4e4dcf1076b0923cd321ec4c60d01872a0a4ab8e85d49ed93612144d831d04d1c79c98a597b57ab
7
+ data.tar.gz: 613de8b34d74d15da51b3818e305e9705f1654272db74953439cf42751d32b9e0bf960ab9e785e67f5e6684f8da30e72b6f590ae4c911745402b9ccead15529d
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda degradation script 0.3.1 | https://oatw.github.io/luda
2
+ * Luda degradation script 0.3.2 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -27,7 +27,8 @@
27
27
  es6Class: 'class X {}',
28
28
  es6ArrowFunction: '((x) => x)()',
29
29
  mutationObserver: 'new MutationObserver(function(){})',
30
- proxy: 'new Proxy({},{})'
30
+ proxy: 'new Proxy({},{})',
31
+ performance: 'performance.clearMarks()'
31
32
  },
32
33
  _NOTIFY_MILLSECONDS: 500,
33
34
  check: function() {
@@ -1 +1 @@
1
- {"version":3,"file":"luda-degradation.js","sources":["../../coffee/degradation.coffee"],"sourcesContent":["Degradation =\n\n _URL_ATTRIBUTE: 'data-degradation-url'\n\n _HTML: [\n '<div id=\"luda-degradation-html\" '\n 'style=\"padding:100px 30px;text-align:center\">'\n '<h1>Your Browser is Too Old!</h1>'\n '<p>'\n 'Please visit this site with a modern browser '\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\n '(Chrome is recommended)'\n '</a>'\n '.</p>'\n '</div>'\n ].join('')\n\n _CSS_PROPERTIES: [\n display: 'flex'\n position: ['sticky||-webkit-sticky', 'fixed']\n 'transition'\n 'animation'\n ]\n\n _JS_PROPERTIES:\n es6Class: 'class X {}'\n es6ArrowFunction: '((x) => x)()'\n mutationObserver: 'new MutationObserver(function(){})'\n proxy: 'new Proxy({},{})'\n\n _NOTIFY_MILLSECONDS: 500\n\n check: ->\n @_checkEnv()\n @_checkJS @_JS_PROPERTIES\n @_checkCSS @_CSS_PROPERTIES\n\n _eval: (script) ->\n geval = eval\n script = '(function(){' + script + '})()'\n geval script\n\n _checkEnv: ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported runtime environment.'\n\n _checkJS: (properties) ->\n for property, value of properties\n try\n @_eval value\n catch err\n @_notify()\n throw new Error property + ' ' + err\n\n _checkCSS: (properties) ->\n ele = document.createElement 'div'\n for property in properties\n if typeof property is 'string'\n @_CSSPropertySupported ele, property\n else\n for name, value of property\n @_CSSPropertySupported ele, name\n if value instanceof Array\n @_CSSValueSupported ele, name, valueEle for valueEle in value\n else\n @_CSSValueSupported ele, name, value\n\n _CSSPropertySupported: (ele, property) ->\n unless typeof ele.style[property] is 'string'\n @_notify()\n throw new Error 'Unsupported CSS property: ' + property\n\n _CSSValueSupported: (ele, property, valueStr) ->\n values = valueStr.split '||'\n for value in values\n ele.style[property] = value\n return if ele.style[property] is value\n @_notify()\n throw new Error 'Unsupported CSS property value: ' \\\n + property + ' ' + valueStr\n\n _notify: ->\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n for script in document.scripts\n redirectUrl = script.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n _self = this\n setInterval(->\n unless document.getElementById 'luda-degradation-html'\n document.body.innerHTML = _self._HTML if document.body\n , @_NOTIFY_MILLSECONDS)\n\n\n\n\nDegradation.check()"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"luda-degradation.js","sources":["../../coffee/degradation.coffee"],"sourcesContent":["Degradation =\n\n _URL_ATTRIBUTE: 'data-degradation-url'\n\n _HTML: [\n '<div id=\"luda-degradation-html\" '\n 'style=\"padding:100px 30px;text-align:center\">'\n '<h1>Your Browser is Too Old!</h1>'\n '<p>'\n 'Please visit this site with a modern browser '\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\n '(Chrome is recommended)'\n '</a>'\n '.</p>'\n '</div>'\n ].join('')\n\n _CSS_PROPERTIES: [\n display: 'flex'\n position: ['sticky||-webkit-sticky', 'fixed']\n 'transition'\n 'animation'\n ]\n\n _JS_PROPERTIES:\n es6Class: 'class X {}'\n es6ArrowFunction: '((x) => x)()'\n mutationObserver: 'new MutationObserver(function(){})'\n proxy: 'new Proxy({},{})'\n performance: 'performance.clearMarks()'\n\n _NOTIFY_MILLSECONDS: 500\n\n check: ->\n @_checkEnv()\n @_checkJS @_JS_PROPERTIES\n @_checkCSS @_CSS_PROPERTIES\n\n _eval: (script) ->\n geval = eval\n script = '(function(){' + script + '})()'\n geval script\n\n _checkEnv: ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported runtime environment.'\n\n _checkJS: (properties) ->\n for property, value of properties\n try\n @_eval value\n catch err\n @_notify()\n throw new Error property + ' ' + err\n\n _checkCSS: (properties) ->\n ele = document.createElement 'div'\n for property in properties\n if typeof property is 'string'\n @_CSSPropertySupported ele, property\n else\n for name, value of property\n @_CSSPropertySupported ele, name\n if value instanceof Array\n @_CSSValueSupported ele, name, valueEle for valueEle in value\n else\n @_CSSValueSupported ele, name, value\n\n _CSSPropertySupported: (ele, property) ->\n unless typeof ele.style[property] is 'string'\n @_notify()\n throw new Error 'Unsupported CSS property: ' + property\n\n _CSSValueSupported: (ele, property, valueStr) ->\n values = valueStr.split '||'\n for value in values\n ele.style[property] = value\n return if ele.style[property] is value\n @_notify()\n throw new Error 'Unsupported CSS property value: ' \\\n + property + ' ' + valueStr\n\n _notify: ->\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n for script in document.scripts\n redirectUrl = script.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n _self = this\n setInterval(->\n unless document.getElementById 'luda-degradation-html'\n document.body.innerHTML = _self._HTML if document.body\n , @_NOTIFY_MILLSECONDS)\n\n\n\n\nDegradation.check()"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Luda degradation script 0.3.1 | https://oatw.github.io/luda
2
+ * Luda degradation script 0.3.2 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
6
- (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var Degradation;Degradation={_URL_ATTRIBUTE:"data-degradation-url",_HTML:['<div id="luda-degradation-html" ','style="padding:100px 30px;text-align:center">',"<h1>Your Browser is Too Old!</h1>","<p>","Please visit this site with a modern browser ",'<a target="_blank" href="https://www.google.com/chrome/">',"(Chrome is recommended)","</a>",".</p>","</div>"].join(""),_CSS_PROPERTIES:[{display:"flex",position:["sticky||-webkit-sticky","fixed"]},"transition","animation"],_JS_PROPERTIES:{es6Class:"class X {}",es6ArrowFunction:"((x) => x)()",mutationObserver:"new MutationObserver(function(){})",proxy:"new Proxy({},{})"},_NOTIFY_MILLSECONDS:500,check:function(){this._checkEnv();this._checkJS(this._JS_PROPERTIES);return this._checkCSS(this._CSS_PROPERTIES)},_eval:function(script){var geval;geval=eval;script="(function(){"+script+"})()";return geval(script)},_checkEnv:function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported runtime environment.")},_checkJS:function(properties){var err,property,results,value;results=[];for(property in properties){value=properties[property];try{results.push(this._eval(value))}catch(error){err=error;this._notify();throw new Error(property+" "+err)}}return results},_checkCSS:function(properties){var ele,i,len,name,property,results,value,valueEle;ele=document.createElement("div");results=[];for(i=0,len=properties.length;i<len;i++){property=properties[i];if(typeof property==="string"){results.push(this._CSSPropertySupported(ele,property))}else{results.push(function(){var results1;results1=[];for(name in property){value=property[name];this._CSSPropertySupported(ele,name);if(value instanceof Array){results1.push(function(){var j,len1,results2;results2=[];for(j=0,len1=value.length;j<len1;j++){valueEle=value[j];results2.push(this._CSSValueSupported(ele,name,valueEle))}return results2}.call(this))}else{results1.push(this._CSSValueSupported(ele,name,value))}}return results1}.call(this))}}return results},_CSSPropertySupported:function(ele,property){if(typeof ele.style[property]!=="string"){this._notify();throw new Error("Unsupported CSS property: "+property)}},_CSSValueSupported:function(ele,property,valueStr){var i,len,value,values;values=valueStr.split("||");for(i=0,len=values.length;i<len;i++){value=values[i];ele.style[property]=value;if(ele.style[property]===value){return}}this._notify();throw new Error("Unsupported CSS property value: "+property+" "+valueStr)},_notify:function(){var _self,i,len,redirectUrl,ref,script;redirectUrl=document.documentElement.getAttribute(this._URL_ATTRIBUTE);if(redirectUrl){return location.href=redirectUrl}ref=document.scripts;for(i=0,len=ref.length;i<len;i++){script=ref[i];redirectUrl=script.getAttribute(this._URL_ATTRIBUTE);if(redirectUrl){return location.href=redirectUrl}}_self=this;return setInterval(function(){if(!document.getElementById("luda-degradation-html")){if(document.body){return document.body.innerHTML=_self._HTML}}},this._NOTIFY_MILLSECONDS)}};Degradation.check()});
6
+ (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var Degradation;Degradation={_URL_ATTRIBUTE:"data-degradation-url",_HTML:['<div id="luda-degradation-html" ','style="padding:100px 30px;text-align:center">',"<h1>Your Browser is Too Old!</h1>","<p>","Please visit this site with a modern browser ",'<a target="_blank" href="https://www.google.com/chrome/">',"(Chrome is recommended)","</a>",".</p>","</div>"].join(""),_CSS_PROPERTIES:[{display:"flex",position:["sticky||-webkit-sticky","fixed"]},"transition","animation"],_JS_PROPERTIES:{es6Class:"class X {}",es6ArrowFunction:"((x) => x)()",mutationObserver:"new MutationObserver(function(){})",proxy:"new Proxy({},{})",performance:"performance.clearMarks()"},_NOTIFY_MILLSECONDS:500,check:function(){this._checkEnv();this._checkJS(this._JS_PROPERTIES);return this._checkCSS(this._CSS_PROPERTIES)},_eval:function(script){var geval;geval=eval;script="(function(){"+script+"})()";return geval(script)},_checkEnv:function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported runtime environment.")},_checkJS:function(properties){var err,property,results,value;results=[];for(property in properties){value=properties[property];try{results.push(this._eval(value))}catch(error){err=error;this._notify();throw new Error(property+" "+err)}}return results},_checkCSS:function(properties){var ele,i,len,name,property,results,value,valueEle;ele=document.createElement("div");results=[];for(i=0,len=properties.length;i<len;i++){property=properties[i];if(typeof property==="string"){results.push(this._CSSPropertySupported(ele,property))}else{results.push(function(){var results1;results1=[];for(name in property){value=property[name];this._CSSPropertySupported(ele,name);if(value instanceof Array){results1.push(function(){var j,len1,results2;results2=[];for(j=0,len1=value.length;j<len1;j++){valueEle=value[j];results2.push(this._CSSValueSupported(ele,name,valueEle))}return results2}.call(this))}else{results1.push(this._CSSValueSupported(ele,name,value))}}return results1}.call(this))}}return results},_CSSPropertySupported:function(ele,property){if(typeof ele.style[property]!=="string"){this._notify();throw new Error("Unsupported CSS property: "+property)}},_CSSValueSupported:function(ele,property,valueStr){var i,len,value,values;values=valueStr.split("||");for(i=0,len=values.length;i<len;i++){value=values[i];ele.style[property]=value;if(ele.style[property]===value){return}}this._notify();throw new Error("Unsupported CSS property value: "+property+" "+valueStr)},_notify:function(){var _self,i,len,redirectUrl,ref,script;redirectUrl=document.documentElement.getAttribute(this._URL_ATTRIBUTE);if(redirectUrl){return location.href=redirectUrl}ref=document.scripts;for(i=0,len=ref.length;i<len;i++){script=ref[i];redirectUrl=script.getAttribute(this._URL_ATTRIBUTE);if(redirectUrl){return location.href=redirectUrl}}_self=this;return setInterval(function(){if(!document.getElementById("luda-degradation-html")){if(document.body){return document.body.innerHTML=_self._HTML}}},this._NOTIFY_MILLSECONDS)}};Degradation.check()});
7
7
  //# sourceMappingURL=luda-degradation.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../coffee/degradation.coffee"],"names":["Degradation","_URL_ATTRIBUTE","_HTML","join","_CSS_PROPERTIES","display","position","_JS_PROPERTIES","es6Class","es6ArrowFunction","mutationObserver","proxy","_NOTIFY_MILLSECONDS","check","this","_checkEnv","_checkJS","_checkCSS","_eval","script","geval","eval","document","window","global","Error","properties","err","property","results","value","error","_notify","ele","i","len","name","valueEle","createElement","length","_CSSPropertySupported","results1","Array","results2","j","len1","_CSSValueSupported","style","valueStr","values","split","_self","redirectUrl","ref","documentElement","getAttribute","location","href","scripts","setInterval","getElementById","body","innerHTML"],"mappings":";;;;;2LAAA,IAAAA,YAAAA,YAEE,CAAAC,eAAgB,uBAEhBC,MAAO,CACL,mCACA,gDACA,oCACA,MACA,gDACA,4DACA,0BACA,OACA,QACA,UACEC,KAAK,IAETC,gBAAiB,CACf,CAAAC,QAAS,OACTC,SAAU,CAAC,yBAA0B,UACrC,aACA,aAGFC,eACE,CAAAC,SAAU,aACVC,iBAAkB,eAClBC,iBAAkB,qCAClBC,MAAO,oBAETC,oBAAqB,IAErBC,MAAO,WACLC,KAACC,YACDD,KAACE,SAASF,KAACP,uBACXO,KAACG,UAAUH,KAACV,kBAEdc,MAAO,SAACC,QACN,IAAAC,MAAAA,MAAQC,KACRF,OAAS,eAAiBA,OAAS,cACnCC,MAAMD,SAERJ,UAAW,WACT,UAAUO,WAAc,YAAxB,CACE,UAAwBC,SAAY,YAApC,CAAA,OAAOA,OACP,UAAwBC,SAAY,YAApC,CAAA,OAAOA,QACT,MAAM,IAAIC,MAAM,qCAElBT,SAAU,SAACU,YACT,IAAAC,IAAAC,SAAAC,QAAAC,MAAAD,QAAA,GAAA,IAAAD,YAAAF,WAAA,4BACE,iBACEZ,KAACI,MAAMY,QADT,MAAAC,OAEMJ,IAAAI,MACJjB,KAACkB,UACD,MAAM,IAAIP,MAAMG,SAAW,IAAMD,sBAEvCV,UAAW,SAACS,YACV,IAAAO,IAAAC,EAAAC,IAAAC,KAAAR,SAAAC,QAAAC,MAAAO,SAAAJ,IAAMX,SAASgB,cAAc,OAC7BT,QAAA,GAAA,IAAAK,EAAA,EAAAC,IAAAT,WAAAa,OAAAL,EAAAC,IAAAD,IAAA,wBACE,UAAUN,WAAY,SAAtB,cACEd,KAAC0B,sBAAsBP,IAAKL,eAD9B,sCAGEa,SAAA,GAAA,IAAAL,QAAAR,SAAA,sBACEd,KAAC0B,sBAAsBP,IAAKG,MAC5B,GAAGN,iBAAiBY,MAApB,8CAC0CC,SAAA,GAAA,IAAAC,EAAA,EAAAC,KAAAf,MAAAS,OAAAK,EAAAC,KAAAD,IAAA,iCAAxC9B,KAACgC,mBAAmBb,IAAKG,KAAMC,4CADjC,eAGEvB,KAACgC,mBAAmBb,IAAKG,KAAMN,uDAEzCU,sBAAuB,SAACP,IAAKL,UAC3B,UAAcK,IAAIc,MAAMnB,YAAa,SAArC,CACEd,KAACkB,UACD,MAAM,IAAIP,MAAM,6BAA+BG,YAEnDkB,mBAAoB,SAACb,IAAKL,SAAUoB,UAClC,IAAAd,EAAAC,IAAAL,MAAAmB,OAAAA,OAASD,SAASE,MAAM,MACxB,IAAAhB,EAAA,EAAAC,IAAAc,OAAAV,OAAAL,EAAAC,IAAAD,IAAA,iBACED,IAAIc,MAAMnB,UAAYE,MACtB,GAAUG,IAAIc,MAAMnB,YAAaE,MAAjC,CAAA,QACFhB,KAACkB,UACD,MAAM,IAAIP,MAAM,mCACdG,SAAW,IAAMoB,WAErBhB,QAAS,WACP,IAAAmB,MAAAjB,EAAAC,IAAAiB,YAAAC,IAAAlC,OAAAiC,YAAc9B,SAASgC,gBAAgBC,aAAazC,KAACb,gBACrD,GAAsCmD,YAAtC,CAAA,OAAOI,SAASC,KAAOL,YACvBC,IAAA/B,SAAAoC,QAAA,IAAAxB,EAAA,EAAAC,IAAAkB,IAAAd,OAAAL,EAAAC,IAAAD,IAAA,eACEkB,YAAcjC,OAAOoC,aAAazC,KAACb,gBACnC,GAAsCmD,YAAtC,CAAA,OAAOI,SAASC,KAAOL,aACzBD,MAAQrC,YACR6C,YAAY,WACV,IAAOrC,SAASsC,eAAe,yBAA/B,CACE,GAAyCtC,SAASuC,KAAlD,QAAAvC,SAASuC,KAAKC,UAAYX,MAAMjD,SAClCY,KAACF,uBAKPZ,YAAYa","sourcesContent":["Degradation =\n\n _URL_ATTRIBUTE: 'data-degradation-url'\n\n _HTML: [\n '<div id=\"luda-degradation-html\" '\n 'style=\"padding:100px 30px;text-align:center\">'\n '<h1>Your Browser is Too Old!</h1>'\n '<p>'\n 'Please visit this site with a modern browser '\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\n '(Chrome is recommended)'\n '</a>'\n '.</p>'\n '</div>'\n ].join('')\n\n _CSS_PROPERTIES: [\n display: 'flex'\n position: ['sticky||-webkit-sticky', 'fixed']\n 'transition'\n 'animation'\n ]\n\n _JS_PROPERTIES:\n es6Class: 'class X {}'\n es6ArrowFunction: '((x) => x)()'\n mutationObserver: 'new MutationObserver(function(){})'\n proxy: 'new Proxy({},{})'\n\n _NOTIFY_MILLSECONDS: 500\n\n check: ->\n @_checkEnv()\n @_checkJS @_JS_PROPERTIES\n @_checkCSS @_CSS_PROPERTIES\n\n _eval: (script) ->\n geval = eval\n script = '(function(){' + script + '})()'\n geval script\n\n _checkEnv: ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported runtime environment.'\n\n _checkJS: (properties) ->\n for property, value of properties\n try\n @_eval value\n catch err\n @_notify()\n throw new Error property + ' ' + err\n\n _checkCSS: (properties) ->\n ele = document.createElement 'div'\n for property in properties\n if typeof property is 'string'\n @_CSSPropertySupported ele, property\n else\n for name, value of property\n @_CSSPropertySupported ele, name\n if value instanceof Array\n @_CSSValueSupported ele, name, valueEle for valueEle in value\n else\n @_CSSValueSupported ele, name, value\n\n _CSSPropertySupported: (ele, property) ->\n unless typeof ele.style[property] is 'string'\n @_notify()\n throw new Error 'Unsupported CSS property: ' + property\n\n _CSSValueSupported: (ele, property, valueStr) ->\n values = valueStr.split '||'\n for value in values\n ele.style[property] = value\n return if ele.style[property] is value\n @_notify()\n throw new Error 'Unsupported CSS property value: ' \\\n + property + ' ' + valueStr\n\n _notify: ->\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n for script in document.scripts\n redirectUrl = script.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n _self = this\n setInterval(->\n unless document.getElementById 'luda-degradation-html'\n document.body.innerHTML = _self._HTML if document.body\n , @_NOTIFY_MILLSECONDS)\n\n\n\n\nDegradation.check()"]}
1
+ {"version":3,"sources":["../../coffee/degradation.coffee"],"names":["Degradation","_URL_ATTRIBUTE","_HTML","join","_CSS_PROPERTIES","display","position","_JS_PROPERTIES","es6Class","es6ArrowFunction","mutationObserver","proxy","performance","_NOTIFY_MILLSECONDS","check","this","_checkEnv","_checkJS","_checkCSS","_eval","script","geval","eval","document","window","global","Error","properties","err","property","results","value","error","_notify","ele","i","len","name","valueEle","createElement","length","_CSSPropertySupported","results1","Array","results2","j","len1","_CSSValueSupported","style","valueStr","values","split","_self","redirectUrl","ref","documentElement","getAttribute","location","href","scripts","setInterval","getElementById","body","innerHTML"],"mappings":";;;;;2LAAA,IAAAA,YAAAA,YAEE,CAAAC,eAAgB,uBAEhBC,MAAO,CACL,mCACA,gDACA,oCACA,MACA,gDACA,4DACA,0BACA,OACA,QACA,UACEC,KAAK,IAETC,gBAAiB,CACf,CAAAC,QAAS,OACTC,SAAU,CAAC,yBAA0B,UACrC,aACA,aAGFC,eACE,CAAAC,SAAU,aACVC,iBAAkB,eAClBC,iBAAkB,qCAClBC,MAAO,mBACPC,YAAa,4BAEfC,oBAAqB,IAErBC,MAAO,WACLC,KAACC,YACDD,KAACE,SAASF,KAACR,uBACXQ,KAACG,UAAUH,KAACX,kBAEde,MAAO,SAACC,QACN,IAAAC,MAAAA,MAAQC,KACRF,OAAS,eAAiBA,OAAS,cACnCC,MAAMD,SAERJ,UAAW,WACT,UAAUO,WAAc,YAAxB,CACE,UAAwBC,SAAY,YAApC,CAAA,OAAOA,OACP,UAAwBC,SAAY,YAApC,CAAA,OAAOA,QACT,MAAM,IAAIC,MAAM,qCAElBT,SAAU,SAACU,YACT,IAAAC,IAAAC,SAAAC,QAAAC,MAAAD,QAAA,GAAA,IAAAD,YAAAF,WAAA,4BACE,iBACEZ,KAACI,MAAMY,QADT,MAAAC,OAEMJ,IAAAI,MACJjB,KAACkB,UACD,MAAM,IAAIP,MAAMG,SAAW,IAAMD,sBAEvCV,UAAW,SAACS,YACV,IAAAO,IAAAC,EAAAC,IAAAC,KAAAR,SAAAC,QAAAC,MAAAO,SAAAJ,IAAMX,SAASgB,cAAc,OAC7BT,QAAA,GAAA,IAAAK,EAAA,EAAAC,IAAAT,WAAAa,OAAAL,EAAAC,IAAAD,IAAA,wBACE,UAAUN,WAAY,SAAtB,cACEd,KAAC0B,sBAAsBP,IAAKL,eAD9B,sCAGEa,SAAA,GAAA,IAAAL,QAAAR,SAAA,sBACEd,KAAC0B,sBAAsBP,IAAKG,MAC5B,GAAGN,iBAAiBY,MAApB,8CAC0CC,SAAA,GAAA,IAAAC,EAAA,EAAAC,KAAAf,MAAAS,OAAAK,EAAAC,KAAAD,IAAA,iCAAxC9B,KAACgC,mBAAmBb,IAAKG,KAAMC,4CADjC,eAGEvB,KAACgC,mBAAmBb,IAAKG,KAAMN,uDAEzCU,sBAAuB,SAACP,IAAKL,UAC3B,UAAcK,IAAIc,MAAMnB,YAAa,SAArC,CACEd,KAACkB,UACD,MAAM,IAAIP,MAAM,6BAA+BG,YAEnDkB,mBAAoB,SAACb,IAAKL,SAAUoB,UAClC,IAAAd,EAAAC,IAAAL,MAAAmB,OAAAA,OAASD,SAASE,MAAM,MACxB,IAAAhB,EAAA,EAAAC,IAAAc,OAAAV,OAAAL,EAAAC,IAAAD,IAAA,iBACED,IAAIc,MAAMnB,UAAYE,MACtB,GAAUG,IAAIc,MAAMnB,YAAaE,MAAjC,CAAA,QACFhB,KAACkB,UACD,MAAM,IAAIP,MAAM,mCACdG,SAAW,IAAMoB,WAErBhB,QAAS,WACP,IAAAmB,MAAAjB,EAAAC,IAAAiB,YAAAC,IAAAlC,OAAAiC,YAAc9B,SAASgC,gBAAgBC,aAAazC,KAACd,gBACrD,GAAsCoD,YAAtC,CAAA,OAAOI,SAASC,KAAOL,YACvBC,IAAA/B,SAAAoC,QAAA,IAAAxB,EAAA,EAAAC,IAAAkB,IAAAd,OAAAL,EAAAC,IAAAD,IAAA,eACEkB,YAAcjC,OAAOoC,aAAazC,KAACd,gBACnC,GAAsCoD,YAAtC,CAAA,OAAOI,SAASC,KAAOL,aACzBD,MAAQrC,YACR6C,YAAY,WACV,IAAOrC,SAASsC,eAAe,yBAA/B,CACE,GAAyCtC,SAASuC,KAAlD,QAAAvC,SAASuC,KAAKC,UAAYX,MAAMlD,SAClCa,KAACF,uBAKPb,YAAYc","sourcesContent":["Degradation =\n\n _URL_ATTRIBUTE: 'data-degradation-url'\n\n _HTML: [\n '<div id=\"luda-degradation-html\" '\n 'style=\"padding:100px 30px;text-align:center\">'\n '<h1>Your Browser is Too Old!</h1>'\n '<p>'\n 'Please visit this site with a modern browser '\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\n '(Chrome is recommended)'\n '</a>'\n '.</p>'\n '</div>'\n ].join('')\n\n _CSS_PROPERTIES: [\n display: 'flex'\n position: ['sticky||-webkit-sticky', 'fixed']\n 'transition'\n 'animation'\n ]\n\n _JS_PROPERTIES:\n es6Class: 'class X {}'\n es6ArrowFunction: '((x) => x)()'\n mutationObserver: 'new MutationObserver(function(){})'\n proxy: 'new Proxy({},{})'\n performance: 'performance.clearMarks()'\n\n _NOTIFY_MILLSECONDS: 500\n\n check: ->\n @_checkEnv()\n @_checkJS @_JS_PROPERTIES\n @_checkCSS @_CSS_PROPERTIES\n\n _eval: (script) ->\n geval = eval\n script = '(function(){' + script + '})()'\n geval script\n\n _checkEnv: ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported runtime environment.'\n\n _checkJS: (properties) ->\n for property, value of properties\n try\n @_eval value\n catch err\n @_notify()\n throw new Error property + ' ' + err\n\n _checkCSS: (properties) ->\n ele = document.createElement 'div'\n for property in properties\n if typeof property is 'string'\n @_CSSPropertySupported ele, property\n else\n for name, value of property\n @_CSSPropertySupported ele, name\n if value instanceof Array\n @_CSSValueSupported ele, name, valueEle for valueEle in value\n else\n @_CSSValueSupported ele, name, value\n\n _CSSPropertySupported: (ele, property) ->\n unless typeof ele.style[property] is 'string'\n @_notify()\n throw new Error 'Unsupported CSS property: ' + property\n\n _CSSValueSupported: (ele, property, valueStr) ->\n values = valueStr.split '||'\n for value in values\n ele.style[property] = value\n return if ele.style[property] is value\n @_notify()\n throw new Error 'Unsupported CSS property value: ' \\\n + property + ' ' + valueStr\n\n _notify: ->\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n for script in document.scripts\n redirectUrl = script.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n _self = this\n setInterval(->\n unless document.getElementById 'luda-degradation-html'\n document.body.innerHTML = _self._HTML if document.body\n , @_NOTIFY_MILLSECONDS)\n\n\n\n\nDegradation.check()"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.3.1 | https://oatw.github.io/luda
2
+ * Luda 0.3.2 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -2191,7 +2191,7 @@
2191
2191
  });
2192
2192
  this.els.forEach(function(el) {
2193
2193
  return names.forEach(function(n) {
2194
- return delete el.dataset[n];
2194
+ return n in el.dataset && delete el.dataset[n];
2195
2195
  });
2196
2196
  });
2197
2197
  } else {
@@ -2201,7 +2201,7 @@
2201
2201
  results = [];
2202
2202
  for (n in ref) {
2203
2203
  val = ref[n];
2204
- results.push(delete el.dataset[n]);
2204
+ results.push(n in el.dataset && delete el.dataset[n]);
2205
2205
  }
2206
2206
  return results;
2207
2207
  });
@@ -1 +1 @@
1
- {"version":3,"file":"luda.js","sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/array-equal.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/base/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","export default (a, b, compareOrder) ->\n return false unless a and b\n return true if a is b\n return false unless a.length is b.length\n return true if a.length is 0\n if compareOrder\n a.every (it, index) -> it is b[index]\n else\n not a.some (it) -> not b.includes(it)","guid = 0\n\n\n\nexport default -> guid += 1","import Type from './type.coffee'\n\n\n\nexport default (arr, prop, deep, filter) ->\n plucked = []\n arr = [arr] unless Type.isArray arr\n arr.forEach (item) ->\n val = item[prop]\n while val?\n if filter\n if filter val\n plucked.push val\n break unless deep\n else\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport arrayEqual from './array-equal.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n arrayEqual: arrayEqual\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from './matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n if comparator\n plucked = pluck @els, 'parentElement', false, (p) ->\n collect([p], comparator).length\n else\n plucked = pluck @els, 'parentNode'\n luda unique(plucked)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from './matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) -> els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return unless Type.isElement el\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n path = [event.target]\n path = path.concat(pluck path, 'parentNode', true)\n path.push window if document.contains event.target\n path","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import arrayEqual from '../../base/array-equal.coffee'\nimport expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunNodeCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.node.forEach (node) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll node.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and node.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n return unless name and Type.isElement target\n return if not nestable and not unnested(ins, [target]).length\n watches.attr.forEach (attr) ->\n return unless attr.name.includes name\n return unless matches target, attr.selector\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runNodeCallbacks 'added', mutation, C.watches, nestable\n runNodeCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n arrayEqual Array.from(nodesOne), Array.from(nodesTwo), true\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n node: (conf.node or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: splitValues a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.node ||= []\n watches.node.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {node: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n occupied = name and name of luda\n luda.extend name, createProxy Component if name\n not occupied and luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n hasSelected = false\n options = Array.from el.options\n options.forEach (o) ->\n selected = val.includes readValue(o.value)\n o.selected = selected\n hasSelected ||= selected\n el.selectedIndex = -1 unless hasSelected\n options.forEach (o) ->\n luda(o).attr 'selected', if o.selected then '' else null\n else\n val = if value is null then '' else parseValue value\n el.value = val\n luda(el).attr 'value', val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) ->\n plucked = pluck(@els, 'nextElementSibling', true)\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator) ->\n if comparator\n filter = (n) -> collect([n], comparator).length\n luda unique(pluck @els, 'nextElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) ->\n plucked = pluck @els, 'previousElementSibling', true\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator) ->\n if comparator\n filter = (p) -> collect([p], comparator).length\n luda unique(pluck @els, 'previousElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableTargetProp: -> @attr?.disable or 'disabled'\n\n disableCreate: ->\n tabIndex = @root.prop 'tabIndex'\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n @root.prop('tabIndex', -1).prop @disableTargetProp(), true\n\n disableDestroy: ->\n tabIndex = @root.data @data.disable.tabIndex\n @root.prop('tabIndex', tabIndex).prop @disableTargetProp(), false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n.protect\n\n disabled: -> @html.data('enter') is false\n\n.protect\n\n trigger: (e) ->\n return if @disabled()\n return unless luda(e.target).is @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n.protect\n\n disabled: -> @html.data('focus') is false\n\n.protect\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).is @selector.always.join(',')\n target = node\n else if luda(node).is @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).is(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n.protect\n\n disabled: -> @html.data('tabulate') is false\n\n.protect\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @disabled()\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n evt:\n changed: 'luda:fmFile:changed'\n\n splitor: ' '\n\n.protect\n\n placeholder: -> @file.attr 'placeholder'\n\n value: -> @file.attr 'value'\n\n multiple: -> @file.prop 'multiple'\n\n.protect\n\n files: -> Array.from @file.prop('files')\n\n insertSimulator: ->\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@file)\n\n updateSimulatorValue: ->\n values = @files().map (f) -> f.name\n value = values.join(@splitor) or @value() or ''\n @simulator.val value\n\n updateValue: ->\n @updateSimulatorValue()\n oldFile = @selectedFile\n @selectedFile = @files()\n return if not oldFile or luda.arrayEqual(@selectedFile, oldFile)\n val = if @multiple() then @selectedFile else @selectedFile[0]\n @file.trigger @evt.changed, val\n\n tryReset: (target, oldVal) ->\n return unless @value() is ''\n return if oldVal is ''\n @file.prop('value', '').attr('value', oldVal or '')\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n evt:\n changed: 'luda:fmSelect:changed'\n\n.protect\n\n placeholder: -> @select.attr 'placeholder'\n\n multiple: -> @select.prop 'multiple'\n\n options: -> Array.from @select.prop('options')\n\n.protect\n\n tryEmpty: ->\n selected = @options().some (o) -> luda(o).hasAttr 'selected'\n not selected and @select.prop('selectedIndex', -1)\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n @options().forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n toggleSimulator: ->\n return @simulator.remove() if @multiple()\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@select)\n\n updateSimulatorValue: ->\n return if @multiple()\n selected = @options()[@select.prop('selectedIndex')]\n val = if selected then luda(selected).text() else ''\n @simulator.val val\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n val = @select.val()\n @selectedVal = if luda.isArray(val) then val else [val]\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n if @multiple()\n selected = @options().filter (o) -> o.selected\n else\n selected = @options()[@select.prop('selectedIndex')]\n @select.trigger @evt.changed, {value: val, selected: selected}\n\n reset: ->\n @select.prop 'selectedIndex', -1\n @options().forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @toggleSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @tryEmpty, @updateValue]\n ['multiple', @selector.select, @toggleSimulator, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n node: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n togglePath: (path, action) ->\n targets = path.filter (el) => @con.contains el\n @con.create(targets).forEach (ins) -> ins[action]()\n\n pauseOnEvt: (e) -> @togglePath e.eventPath(), 'pause'\n\n playOnEvt: (e) -> @togglePath e.eventPath(), 'play'\n\n playOnTouchend: (e) ->\n path = e.eventPath()\n setTimeout => @togglePath path, 'play'\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pauseOnEvt]\n ['mouseout', @playOnEvt]\n ['touchend', @playOnTouchend]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n create: -> @toggleableCreate()\n\n destroy: -> @toggleableDestroy()\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n evt:\n changed: 'luda:fmDropdown:changed'\n\n splitor: ' '\n\n.protect\n\n initSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateSimulatorValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = @labels.eq index\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.val values.join(@splitor)\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n checked = @options.els.filter (input) -> input.checked\n @selectedVal = checked.map (input) -> luda(input).val()\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n @root.trigger @evt.changed, {value: @selectedVal, selected: checked}\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @initSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ['type', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"],"names":["luda","type","pattern","replacer","guid","print","removeEvent","addEvent","config","factory","Base","parseValue","parse","V","EV","Variables","clean","Mixin"],"mappings":"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"}
1
+ {"version":3,"file":"luda.js","sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/array-equal.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/base/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","export default (a, b, compareOrder) ->\n return false unless a and b\n return true if a is b\n return false unless a.length is b.length\n return true if a.length is 0\n if compareOrder\n a.every (it, index) -> it is b[index]\n else\n not a.some (it) -> not b.includes(it)","guid = 0\n\n\n\nexport default -> guid += 1","import Type from './type.coffee'\n\n\n\nexport default (arr, prop, deep, filter) ->\n plucked = []\n arr = [arr] unless Type.isArray arr\n arr.forEach (item) ->\n val = item[prop]\n while val?\n if filter\n if filter val\n plucked.push val\n break unless deep\n else\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport arrayEqual from './array-equal.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n arrayEqual: arrayEqual\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from './matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n if comparator\n plucked = pluck @els, 'parentElement', false, (p) ->\n collect([p], comparator).length\n else\n plucked = pluck @els, 'parentNode'\n luda unique(plucked)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from './matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) -> els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return unless Type.isElement el\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n path = [event.target]\n path = path.concat(pluck path, 'parentNode', true)\n path.push window if document.contains event.target\n path","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import arrayEqual from '../../base/array-equal.coffee'\nimport expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunNodeCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.node.forEach (node) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll node.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and node.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n return unless name and Type.isElement target\n return if not nestable and not unnested(ins, [target]).length\n watches.attr.forEach (attr) ->\n return unless attr.name.includes name\n return unless matches target, attr.selector\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runNodeCallbacks 'added', mutation, C.watches, nestable\n runNodeCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n arrayEqual Array.from(nodesOne), Array.from(nodesTwo), true\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n node: (conf.node or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: splitValues a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.node ||= []\n watches.node.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {node: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n occupied = name and name of luda\n luda.extend name, createProxy Component if name\n not occupied and luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) ->\n n of el.dataset and delete el.dataset[n]\n else\n @els.forEach (el) ->\n for n, val of el.dataset\n n of el.dataset and delete el.dataset[n]\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n hasSelected = false\n options = Array.from el.options\n options.forEach (o) ->\n selected = val.includes readValue(o.value)\n o.selected = selected\n hasSelected ||= selected\n el.selectedIndex = -1 unless hasSelected\n options.forEach (o) ->\n luda(o).attr 'selected', if o.selected then '' else null\n else\n val = if value is null then '' else parseValue value\n el.value = val\n luda(el).attr 'value', val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) ->\n plucked = pluck(@els, 'nextElementSibling', true)\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator) ->\n if comparator\n filter = (n) -> collect([n], comparator).length\n luda unique(pluck @els, 'nextElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) ->\n plucked = pluck @els, 'previousElementSibling', true\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator) ->\n if comparator\n filter = (p) -> collect([p], comparator).length\n luda unique(pluck @els, 'previousElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableTargetProp: -> @attr?.disable or 'disabled'\n\n disableCreate: ->\n tabIndex = @root.prop 'tabIndex'\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n @root.prop('tabIndex', -1).prop @disableTargetProp(), true\n\n disableDestroy: ->\n tabIndex = @root.data @data.disable.tabIndex\n @root.prop('tabIndex', tabIndex).prop @disableTargetProp(), false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n.protect\n\n disabled: -> @html.data('enter') is false\n\n.protect\n\n trigger: (e) ->\n return if @disabled()\n return unless luda(e.target).is @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n.protect\n\n disabled: -> @html.data('focus') is false\n\n.protect\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).is @selector.always.join(',')\n target = node\n else if luda(node).is @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).is(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n.protect\n\n disabled: -> @html.data('tabulate') is false\n\n.protect\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @disabled()\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n evt:\n changed: 'luda:fmFile:changed'\n\n splitor: ' '\n\n.protect\n\n placeholder: -> @file.attr 'placeholder'\n\n value: -> @file.attr 'value'\n\n multiple: -> @file.prop 'multiple'\n\n.protect\n\n files: -> Array.from @file.prop('files')\n\n insertSimulator: ->\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@file)\n\n updateSimulatorValue: ->\n values = @files().map (f) -> f.name\n value = values.join(@splitor) or @value() or ''\n @simulator.val value\n\n updateValue: ->\n @updateSimulatorValue()\n oldFile = @selectedFile\n @selectedFile = @files()\n return if not oldFile or luda.arrayEqual(@selectedFile, oldFile)\n val = if @multiple() then @selectedFile else @selectedFile[0]\n @file.trigger @evt.changed, val\n\n tryReset: (target, oldVal) ->\n return unless @value() is ''\n return if oldVal is ''\n @file.prop('value', '').attr('value', oldVal or '')\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n evt:\n changed: 'luda:fmSelect:changed'\n\n.protect\n\n placeholder: -> @select.attr 'placeholder'\n\n multiple: -> @select.prop 'multiple'\n\n options: -> Array.from @select.prop('options')\n\n.protect\n\n tryEmpty: ->\n selected = @options().some (o) -> luda(o).hasAttr 'selected'\n not selected and @select.prop('selectedIndex', -1)\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n @options().forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n toggleSimulator: ->\n return @simulator.remove() if @multiple()\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@select)\n\n updateSimulatorValue: ->\n return if @multiple()\n selected = @options()[@select.prop('selectedIndex')]\n val = if selected then luda(selected).text() else ''\n @simulator.val val\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n val = @select.val()\n @selectedVal = if luda.isArray(val) then val else [val]\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n if @multiple()\n selected = @options().filter (o) -> o.selected\n else\n selected = @options()[@select.prop('selectedIndex')]\n @select.trigger @evt.changed, {value: val, selected: selected}\n\n reset: ->\n @select.prop 'selectedIndex', -1\n @options().forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @toggleSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @tryEmpty, @updateValue]\n ['multiple', @selector.select, @toggleSimulator, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n node: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n togglePath: (path, action) ->\n targets = path.filter (el) => @con.contains el\n @con.create(targets).forEach (ins) -> ins[action]()\n\n pauseOnEvt: (e) -> @togglePath e.eventPath(), 'pause'\n\n playOnEvt: (e) -> @togglePath e.eventPath(), 'play'\n\n playOnTouchend: (e) ->\n path = e.eventPath()\n setTimeout => @togglePath path, 'play'\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pauseOnEvt]\n ['mouseout', @playOnEvt]\n ['touchend', @playOnTouchend]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n create: -> @toggleableCreate()\n\n destroy: -> @toggleableDestroy()\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n evt:\n changed: 'luda:fmDropdown:changed'\n\n splitor: ' '\n\n.protect\n\n initSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateSimulatorValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = @labels.eq index\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.val values.join(@splitor)\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n checked = @options.els.filter (input) -> input.checked\n @selectedVal = checked.map (input) -> luda(input).val()\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n @root.trigger @evt.changed, {value: @selectedVal, selected: checked}\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @initSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ['type', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"],"names":["luda","type","pattern","replacer","guid","print","removeEvent","addEvent","config","factory","Base","parseValue","parse","V","EV","Variables","clean","Mixin"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Luda 0.3.1 | https://oatw.github.io/luda
2
+ * Luda 0.3.2 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
6
- (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var Type={isArray:Array.isArray,isString:function(x){return typeof x==="string"},isFunction:function(x){return typeof x==="function"},isObject:function(x){return typeof x==="object"},isBool:function(x){return typeof x==="boolean"},isNumeric:function(x){return!isNaN(parseFloat(x))&&isFinite(x)},isDecimalism:function(x){return/^\d*\.?\d+$/.test(x&&!/^0+\d+\.?/.test(x))},isId:function(x){return/^#[\w-]*$/.test(x)},isClass:function(x){return/^\.[\w-]*$/.test(x)},isTag:function(x){return/^\w+$/.test(x)},isSingleTag:function(x){return/^\s*<(\w+)\s*\/?>(?:<\/\1>)?\s*$/.test(x)},isHtml:function(x){return/<.+>/.test(x)},isScript:function(x){return x.tagName==="SCRIPT"&&/^$|^module$|\/(?:java|ecma)script/i.test(x.type)},isFragment:function(x){return/^\s*<(\w+)[^>]*>/.test(x)},isWindow:function(x){return x&&x===window},isDocument:function(x){return x&&x.nodeType===9},isElement:function(x){return x&&x.nodeType===1}};function createMounter(target,messagePrefix,handler){var mount;return mount=function(name,val){var msg,n,v;if(Type.isString(name)){if(name in target){msg=`Namespace '${name}' is occupied, `;msg+=`skip ${messagePrefix||"mounting"}.`;console.warn(msg)}else{target[name]=handler?handler(name,val):val}}else{for(n in name){v=name[n];mount(n,v)}}return this}}var getEnv;getEnv=function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported environment!")};var environment=getEnv();function find(selector,ctx=document){if(!(Type.isDocument(ctx)||Type.isElement(ctx))){return[]}return Array.from(function(){switch(false){case!Type.isClass(selector):return ctx.getElementsByClassName(selector.slice(1));case!Type.isTag(selector):return ctx.getElementsByTagName(selector);default:return ctx.querySelectorAll(selector)}}())}var containers,containersMap;containersMap=null;containers=function(type){var div,table,tr;if(containersMap){return containersMap[type]||containersMap["*"]}div=document.createElement("div");table=document.createElement("table");tr=document.createElement("tr");containersMap={"*":div,thead:table,tbody:table,tfoot:table,tr:document.createElement("tbody"),th:tr,td:tr};return containers(type)};function parseHTML(html){var container;if(!Type.isString(html)){return[]}if(Type.isSingleTag(html)){return[document.createElement(RegExp.$1)]}container=containers(Type.isFragment(html&&RegExp.$1));container.innerHTML=html;return Array.from(container.childNodes).map(function(node){if(node.parentNode){return node.parentNode.removeChild(node)}})}var Luda,luda$1;Luda=class Luda{constructor(selector,ctx=document){this.els=[];this.length=0;if(!selector){return}if(selector instanceof Luda){return selector}this.els=function(){switch(false){case!Type.isString(selector):if(Type.isHtml(selector)){return parseHTML(selector)}else{if(ctx instanceof Luda){ctx=ctx.els[0]}return find(selector,ctx)}break;case!(selector.nodeType||Type.isWindow(selector)):return[selector];case!Type.isArray(selector):return selector;default:return Array.from(selector)}}();this.length=this.els.length}};if(!(luda$1=environment.luda)){environment.luda=luda$1=function(selector,ctx){return new Luda(selector,ctx)};luda$1.include=createMounter(Luda.prototype,"including");luda$1.extend=createMounter(luda$1,"extending")}var ValuesMap={false:false,true:true,Infinity:Infinity,NaN:0/0,null:void 0,undefined:void 0};function readValue(value){if(value===null||value==="null"){return}if(!Type.isString(value)){return value}try{return JSON.parse(value)}catch(error){if(Type.isDecimalism(value)){return Number(value)}else if(value in ValuesMap){return ValuesMap[value]}else{return value}}}function parseValue(value){if(!Type.isObject(value)){return value}try{return JSON.stringify(value)}catch(error){return value}}function splitValues(str){if(Type.isString(str)){return str.match(/\S+/g)||[]}else{return[]}}luda$1.include({each:function(callback){this.els.some(function(el,index){return callback.call(el,el,index)===false});return this}});luda$1.include({removeAttr:function(attr){var attrs;attrs=splitValues(attr);if(!attrs.length){return this}this.els.forEach(function(el){return attrs.forEach(function(att){return el.removeAttribute(att)})});return this}});luda$1.include({attr:function(attr,value){var key,val;if(!attr){return}if(Type.isString(attr)){if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeAttr(attr)}this.els.forEach(function(el){return el.setAttribute(attr,parseValue(value))});return this}if(!this.els[0]){return}return readValue(this.els[0].getAttribute(attr))}for(key in attr){val=attr[key];this.attr(key,val)}return this}});luda$1.include({hasAttr:function(attr){if(!attr){return false}return this.els.some(function(el){return el.hasAttribute(attr)})}});var pattern,replacer;pattern=/-([a-z])/g;replacer=function(match,letter){return letter.toUpperCase()};function camelCase(str){return str.replace(pattern,replacer)}var pattern$1,replacer$1;pattern$1=/([A-Z])/g;replacer$1=function(match,letter){return`-${letter.toLowerCase()}`};function dashCase(str){return`${str[0].toLowerCase()}${str.slice(1).replace(pattern$1,replacer$1)}`}function arrayEqual(a,b,compareOrder){if(!(a&&b)){return false}if(a===b){return true}if(a.length!==b.length){return false}if(a.length===0){return true}if(compareOrder){return a.every(function(it,index){return it===b[index]})}else{return!a.some(function(it){return!b.includes(it)})}}var guid;guid=0;function guid$1(){return guid+=1}function pluck(arr,prop,deep,filter){var plucked;plucked=[];if(!Type.isArray(arr)){arr=[arr]}arr.forEach(function(item){var results,val;val=item[prop];results=[];while(val!=null){if(filter){if(filter(val)){plucked.push(val);if(!deep){break}}}else{plucked.push(val);if(!deep){break}}results.push(val=val[prop])}return results});return plucked}function unique(arr){if(!(arr.length>1)){return arr}return arr.filter(function(item,index){return arr.indexOf(item)===index})}["isString","isFunction","isArray","isObject","isBool","isNumeric","isElement"].forEach(function(key){return luda$1.extend(key,Type[key])});luda$1.extend({arrayEqual:arrayEqual,camelCase:camelCase,dashCase:dashCase,guid:guid$1,pluck:pluck,unique:unique});var _cache,cache,cacheFactory,privateCache,publicCache;publicCache={};privateCache={};cacheFactory=function(cache){return function(guid,key,value){if(!guid){return cache}if(key===null){return delete cache[guid]}else if(value===null){if(!(guid in cache)){return}delete cache[guid][key];if(!Object.keys(cache[guid]).length){return delete cache[guid]}}else if(value===void 0){if(key===void 0){return cache[guid]}if(Type.isObject(key)){return cache[guid]=key}if(!(guid in cache)){return}return cache[guid][key]}else{if(key===void 0){return}cache[guid]||(cache[guid]={});return cache[guid][key]=value}}};cache=cacheFactory(publicCache);_cache=cacheFactory(privateCache);var expando="__luda_guid";var _access,access,accessFactory,clean;accessFactory=function(c){return function(owner,key,value){var uid;if(!arguments.length){return c()}uid=owner[expando]||(owner[expando]=guid$1());return c(uid,key,value)}};access=accessFactory(cache);_access=accessFactory(_cache);clean=function(owner){if(owner[expando]){_access(owner,null);return access(owner,null)}};luda$1.include({removeCache:function(key){var keys;if(arguments.length){keys=splitValues(key).map(function(k){return camelCase(k)});if(!keys.length){return this}this.els.forEach(function(el){return keys.forEach(function(k){return access(el,k,null)})})}else{this.els.forEach(function(el){return access(el,null)})}return this}});luda$1.extend({cache:function(isPrivate){if(isPrivate){return _access()}else{return access()}}});luda$1.include({cache:function(key,value){var k,v;if(!key){if(!this.els[0]){return}return access(this.els[0])||access(this.els[0],{})}if(Type.isString(key)){key=camelCase(key);if(arguments.length<2){if(!this.els[0]){return}if(!access(this.els[0])){access(this.els[0],{})}return access(this.els[0],key)}if(value===void 0){return this}if(value===null){return this.removeCache(key)}this.els.forEach(function(el){if(!access(el)){access(el,{})}return access(el,key,value)});return this}for(k in key){v=key[k];this.cache(k,v)}return this}});var parse,pattern$2;pattern$2=/^\./;parse=function(cls){if(Type.isString(cls)){return cls.replace(pattern$2,"")}else{return cls}};var parseClass=parse;luda$1.include({toggleClass:function(cls,force){var classes,isForce;classes=splitValues(cls);isForce=force!==void 0;if(!classes.length){return this}classes=classes.map(function(c){return parseClass(c)});this.els.forEach(function(el){return classes.forEach(function(c){if(isForce){if(force){return el.classList.add(c)}else{return el.classList.remove(c)}}else{return el.classList.toggle(c)}})});return this}});luda$1.include({addClass:function(cls){return this.toggleClass(cls,true)}});luda$1.include({hasClass:function(cls){if(!cls){return false}cls=parseClass(cls);return this.els.some(function(el){return el.classList.contains(cls)})}});luda$1.include({removeClass:function(cls){if(arguments.length){return this.toggleClass(cls,false)}else{return this.attr("class","")}}});luda$1.include({add:function(selector,context){return luda$1(unique(this.els.concat(luda$1(selector,context).els)))}});luda$1.include({get:function(index){if(index===void 0){return this.els}return this.els[index<0?index+this.els.length:index]}});luda$1.include({eq:function(index){return luda$1(this.get(index))}});function matches(el,selector){return el&&el.matches&&el.matches(selector)}function collect(els,comparator,oppsite){if(!comparator||!(els!=null?els.length:void 0)){return els}return els.filter(function(el,index){var match;match=function(){switch(false){case!Type.isString(comparator):return matches(el,comparator);case!Type.isFunction(comparator):return comparator.call(el,el,index);case!(comparator instanceof Luda):return comparator.els.includes(el);default:return el===comparator}}();if(oppsite){return!match}else{return match}})}luda$1.include({filter:function(comparator){if(!comparator){return luda$1()}return luda$1(collect(this.els,comparator))}});luda$1.include({first:function(){return this.eq(0)}});luda$1.include({has:function(selector){var comparator;if(Type.isString(selector)){comparator=function(el){return find(selector,el).length>0}}else{comparator=function(el){return el.contains(selector)}}return this.filter(comparator)}});luda$1.include({children:function(comparator){var all;all=[];this.els.forEach(function(el){return[].push.apply(all,el.children)});return luda$1(collect(unique(all),comparator))}});luda$1.include({parent:function(comparator){var plucked;if(comparator){plucked=pluck(this.els,"parentElement",false,function(p){return collect([p],comparator).length})}else{plucked=pluck(this.els,"parentNode")}return luda$1(unique(plucked))}});luda$1.include({index:function(selector){var child,collection;child=selector?luda$1(selector).els[0]:this.els[0];collection=selector?this.els:luda$1(child).parent().children().els;return collection.indexOf(child)}});luda$1.include({is:function(comparator){if(!comparator||!this.els.length){return false}return collect(this.els,comparator).length>0}});luda$1.include({last:function(){return this.eq(-1)}});luda$1.include({map:function(callback){var collection;collection=this.els.map(function(el,index){return callback.call(el,el,index)});return luda$1(collection)}});luda$1.include({not:function(comparator){if(!comparator||!this.els.length){return this}return luda$1(collect(this.els,comparator,true))}});luda$1.include({slice:function(){return luda$1([].slice.apply(this.els,arguments))}});luda$1.extend({ready:function(callback){var handler;if(document.readyState==="loading"){handler=function(){callback(luda$1);return document.removeEventListener("DOMContentLoaded",handler)};document.addEventListener("DOMContentLoaded",handler)}else{handler=function(){return callback(luda$1)};setTimeout(handler)}return this}});function findAll(selector,ctx){var all;all=find(selector,ctx);if(matches(ctx,selector)){all.push(ctx)}return all}var Components,autoCreateAndDestroy,autoable,config,disAutoSelector,observer;disAutoSelector="[data-auto=false]";Components=[];observer=null;config={childList:true,subtree:true,attributes:true};autoCreateAndDestroy=function(Component){if(Components.includes(Component)){return}Components.push(Component);if(observer){return}observer=new MutationObserver(function(mus){var attrNodes,nodes;nodes=[];attrNodes=[];mus.forEach(function(mu){nodes=nodes.concat(Array.from(mu.addedNodes)).concat(Array.from(mu.removedNodes));if(mu.type==="attributes"){return attrNodes.push(mu.target)}});nodes=unique(nodes);attrNodes=unique(attrNodes);return Components.forEach(function(C){var els;els=[];nodes.forEach(function(node){return els=els.concat(findAll(C.root,node))});unique(els).forEach(function(el){if(matches(el,disAutoSelector)){return}if(document.contains(el)){return C.create(el)}else{return C.destroy(el)}});return attrNodes.forEach(function(el){if(!Type.isElement(el)){return}if(matches(el,disAutoSelector)){return}if(matches(el,C.root)){return C.create(el)}else if(C.instances[el[expando]]){return C.destroy(el)}})})});observer.observe(document,config);return _access(document,"ComponentsAutomation",{Components:Components,watcher:observer})};autoable=function(selector){return`${selector}:not(${disAutoSelector})`};var print;print=function(msg,style){if(Type.isString(msg)){return console.log(`%c${msg}`,style)}return console.log(msg)};var print$1=print;var active,factory,infoStyle,prvLabelStyle,pubLabelStyle;active=false;pubLabelStyle="color:#0085ff;font-weight:bold";prvLabelStyle="color:#f8427f;font-weight:bold";infoStyle="color:#383838;font-weight:bold";factory=function(style,label){var log;return log=function(){var msg,time;if(!arguments.length){return active}if(arguments.length===1&&Type.isBool(arguments[0])){active=arguments[0];msg=`Luda log ${active?"opened":"closed"}.`;return log(msg)}if(!active){return}time=Date.now();print$1(`\n\n\n${label}LOG ${guid$1()} ${time}`,style.label);return Array.from(arguments).forEach(function(arg){return print$1(arg,style.info)})}};luda$1.extend("log",factory({info:infoStyle,label:pubLabelStyle},""));var log=factory({info:infoStyle,label:prvLabelStyle},"LUDA ");function eventPath(event){var path;if(event.composedPath){return event.composedPath()}else if(event.path){return event.path}else{path=[event.target];path=path.concat(pluck(path,"parentNode",true));if(document.contains(event.target)){path.push(window)}return path}}var LudaEvent;LudaEvent=class LudaEvent{constructor(event){this.originalEvent=event}isDefaultPrevented(){return this.originalEvent.defaultPrevented}isPropagationStopped(){return!this.originalEvent.bubbles||this._propagationStopped}isImmediatePropagationStopped(){return this._immediatePropagationStopped}preventDefault(){return this.originalEvent.preventDefault()}stopPropagation(){this.originalEvent.stopPropagation();return this._propagationStopped=true}stopImmediatePropagation(){this.originalEvent.stopImmediatePropagation();return this._immediatePropagationStopped=true}eventPath(){return eventPath(this.originalEvent)}};function ludaEvent(event){var ludaEvent;ludaEvent=new LudaEvent(event);return new Proxy(ludaEvent,{get:function(target,key){if(key in target){return target[key]}else{return target.originalEvent[key]}}})}function nMatches(definedNamespace,namespace){return namespace.every(function(n){return definedNamespace.includes(n)})}var Variables={expando:"event",focusEvents:{focus:"focusin",blur:"focusout"},hoverEvents:{mouseenter:"mouseover",mouseleave:"mouseout"},swipeEvents:{left:"swipeleft",right:"swiperight",up:"swipeup",down:"swipedown"},swipeDistance:10,keyCodes:{enter:13,tab:9,ctrl:17,alt:18,shift:16,esc:27,back:8,space:32,cap:20,up:38,down:40,left:37,right:39,del:46,end:35,home:36,ins:45,pgUp:33,pgDown:34}};function parseEventName(name){var keysRe,preventRe,stopRe;stopRe=/(&stop)+/gi;preventRe=/(&prevent)+/gi;keysRe=new RegExp(`@(${Object.keys(Variables.keyCodes).join("|")})`,"g");return splitValues(name).map(function(n){var evtName,keyCodes,matchedKeys,preventDefault,splited,stopPropagation,type;stopPropagation=stopRe.test(n);preventDefault=preventRe.test(n);splited=n.replace(stopRe,"").replace(preventRe,"").replace(keysRe,"").split(".");evtName=splited[0];type=Variables.focusEvents[evtName]||Variables.hoverEvents[evtName]||evtName;keyCodes=[];matchedKeys=n.match(keysRe);matchedKeys&&matchedKeys.forEach(function(key){var k,keyCode;k=key.replace(/@/g,"");if(keyCode=Variables.keyCodes[k]){return keyCodes.push(keyCode)}});return{type:type,stop:stopPropagation,prevent:preventDefault,namespace:splited.slice(1),key:keyCodes}})}luda$1.include({trigger:function(name,detail,afterTrigger){var handledEvts;if(afterTrigger&&!Type.isFunction(afterTrigger)){handledEvts=[]}this.els.forEach(function(el){var events;if(Type.isString(name)){events=parseEventName(name).map(function(evt){var event;event=new CustomEvent(evt.type,{bubbles:true,cancelable:true,composed:true,detail:detail});event.namespace=evt.namespace;return event})}else{events=Type.isArray(name)?name:[name]}return events.forEach(function(e){var isFocusEvent;e.ludaEvent=ludaEvent(e);isFocusEvent=Object.values(Variables.focusEvents).includes(e.type);if(isFocusEvent&&Type.isFunction(el[e.type])){el[e.type]()}else{el.dispatchEvent(e)}if(Type.isFunction(afterTrigger)){return afterTrigger(e.ludaEvent,e.ludaEvent.detail,el)}else if(afterTrigger){return handledEvts.push(e.ludaEvent)}})});return handledEvts||this}});var createEvent,startX,startY,touchMoveHandler,touchStartHandler,triggered;startX=startY=0/0;triggered=false;touchStartHandler=function(e){if(e.defaultPrevented){return}if(e.touches.length!==1){return}startX=e.touches[0].screenX;startY=e.touches[0].screenY;return triggered=false};touchMoveHandler=function(e){var direction,endX,endY,xMoved,yMoved;if(e.defaultPrevented){return}if(e.touches.length!==1){return}if(triggered){return}endX=e.touches[0].screenX;xMoved=endX-startX;if(Math.abs(xMoved)>=Variables.swipeDistance){triggered=true;direction=xMoved>0?"right":"left";return luda$1(e.target).trigger(createEvent(direction,startX,endX,xMoved))}endY=e.touches[0].screenY;yMoved=endY-startY;if(Math.abs(yMoved)>=Variables.swipeDistance){triggered=true;direction=yMoved>0?"down":"up";return luda$1(e.target).trigger(createEvent(direction,startY,endY,yMoved))}};createEvent=function(direction,start,end,moved){var event;event=new CustomEvent(Variables.swipeEvents[direction],{bubbles:true,cancelable:true,composed:true});event.start=start;event.end=end;event.distance=Math.abs(moved);return event};var swipeEvent={add:function(el){el.addEventListener("touchstart",touchStartHandler);return el.addEventListener("touchmove",touchMoveHandler)},remove:function(el){el.removeEventListener("touchstart",touchStartHandler);return el.removeEventListener("touchmove",touchMoveHandler)}};var removeEvent;var removeEvent$1=removeEvent=function(el,type,selector,callback,namespace){var evtCache,length,swipeTypes,typeCache;evtCache=_access(el,Variables.expando);if(!evtCache){return}if(!type){for(type in evtCache){typeCache=evtCache[type];removeEvent(el,type,selector,callback,namespace)}}else if(type!=="handler"&&(typeCache=evtCache[type])){typeCache.quene||(typeCache.quene=[]);typeCache.quene=typeCache.quene.filter(function(item){if(callback&&callback!==item.callback){return true}if(selector&&selector!==item.selector){return true}if(namespace&&!nMatches(item.namespace,namespace)){return true}});if(!typeCache.quene.length&&typeCache.binded&&evtCache.handler){el.removeEventListener(type,evtCache.handler);delete evtCache[type]}swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)&&swipeTypes.every(function(t){return!evtCache[t]})){swipeEvent.remove(el)}}length=Object.keys(evtCache).length;if(!length||length===1&&"handler"in evtCache){return _access(el,Variables.expando,null)}};var addEvent;addEvent=function(el,type,selector,callback,namespace,kc,stop,prevent,_one){var evtCache,expando,handler,quene,swipeBinded,swipeTypes,typeCache;if(type==="handler"){throw new Error("handler cannot be used as event type")}expando=Variables.expando;evtCache=_access(el,expando)||_access(el,expando,{});typeCache=evtCache[type]||(evtCache[type]={});quene=typeCache.quene||(typeCache.quene=[]);quene.push({selector:selector,callback:callback,namespace:namespace,key:kc,stop:stop,prevent:prevent,one:_one});handler=evtCache.handler||(evtCache.handler=function(event){var cached,collection,eType,self;self=this;cached=_access(self,Variables.expando);eType=event.type;if(!(cached&&cached[eType])){return}collection=eventPath(event);collection=collection.slice(0,collection.indexOf(self)+1);event=event.ludaEvent||ludaEvent(event);return collection.every(function(node){cached[eType].quene.every(function(it){var returnValue;if((selector=it.selector)&&matches(node,selector)||!it.selector&&node===self){if(event.namespace&&!nMatches(it.namespace,event.namespace)){return true}if(event.keyCode&&it.key.length&&!it.key.includes(event.keyCode)){return true}event.currentTarget=node;returnValue=it.callback.call(node,event,event.detail);if(it.one){removeEvent$1(self,eType,it.selector,it.callback,it.namespace)}if(it.stop||returnValue===false){event.stopPropagation()}if(it.prevent||returnValue===false){event.preventDefault()}}return!event.isImmediatePropagationStopped()});return!event.isPropagationStopped()})});swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)){swipeBinded=swipeTypes.some(function(type){var ref;return(ref=evtCache[type])!=null?ref.binded:void 0});if(!swipeBinded){swipeEvent.add(el)}}if(!typeCache.binded){typeCache.binded=true;return el.addEventListener(type,handler)}};var addEvent$1=addEvent;luda$1.include({on:function(name,selector,callback,_one){var key,keyCallback,self;self=this;if(!Type.isString(name)){for(key in name){keyCallback=name[key];this.on(key,selector,keyCallback)}return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return addEvent$1(el,option.type,selector,callback,option.namespace,option.key,option.stop,option.prevent,_one)})});return this}});luda$1.include({off:function(name,selector,callback){var self;self=this;if(name===void 0){this.els.forEach(function(el){return removeEvent$1(el)});return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return removeEvent$1(el,option.type,selector,callback,option.namespace)})});return this}});var addEvents,findRoot,isntPropagation,namespace,removeEvents;namespace=function(C){return`.${C.id}`};findRoot=function(C,event){var rootEl;if(Type.isDocument(C.root)){return C.root}rootEl=null;event.eventPath().some(function(el){if(!matches(el,C.root)){return}return rootEl=el});return rootEl};isntPropagation=function(C,event,rootEl){if(Type.isDocument(C.root)){return true}if(event.currentTarget===rootEl){return true}return luda$1(event.currentTarget).parent(C.root).els[0]===rootEl};addEvents=function(C){var events;events=C.helpers.listen.call(C.prototype);return events.forEach(function(evt){var callbacks,evtSelector,name,selector;if(!evt[0]){return}name=`${evt[0]}${namespace(C)}`;selector=Type.isFunction(evt[1])?"":evt[1];callbacks=Type.isFunction(evt[1])?evt.slice(1):evt.slice(2);evtSelector=selector;return callbacks.forEach(function(callback){var handler;if(!Type.isFunction(callback)){return}if(Object.values(C.prototype).includes(callback)){if(Type.isString(C.root)&&selector.replace(C.root,"")===selector){evtSelector=selector?`${C.root} ${selector}`:C.root}handler=function(event,data){var rootEl;if(!(rootEl=findRoot(C,event))){return}if(!isntPropagation(C,event,rootEl)){return}return callback.call(C.create(rootEl)[0],event,data)}}else{handler=function(event,data){return callback.call(this,event,data)}}return luda$1(document).on(name,evtSelector,handler)})})};removeEvents=function(C){return luda$1(document).off(namespace(C))};luda$1.include({parents:function(comparator){return luda$1(collect(unique(pluck(this.els,"parentElement",true)),comparator))}});function unnested(instance,els){var rootEl,rootSelector;rootEl=instance.root.els[0];rootSelector=instance.constructor.root;return els.filter(function(el){var rootParent;if(el===rootEl){return true}if(matches(el,rootSelector)){return false}rootParent=luda$1(el).parent(rootSelector).els[0];if(document.contains(el)){return rootParent===rootEl}else{return!rootParent}})}var addTraversal,cleanTraversal,createGetter;createGetter=function(C,name,selector,nestable,cacheable){return Object.defineProperty(C.prototype,name,{get:function(){var cache,collection,matched,rootEl;if(!selector){return luda$1()}if(selector instanceof Luda){return selector}if(Type.isFunction(selector)){return selector.call(this)}if(!Type.isString(selector)){return luda$1(selector)}if(!(rootEl=this.root.els[0])){return luda$1()}cacheable&&(cache=C.instances[this.id].traversal);if(cache&&name in cache){return cache[name]}matched=luda$1(selector,rootEl).els;!nestable&&(matched=unnested(this,matched));collection=luda$1(unique(matched));if(!cache){return collection}if(collection.length){return cache[name]=collection}else{return collection}}})};addTraversal=function(C){var cacheable,msg,name,nestable,selector,traversals;traversals=C.helpers.find.call(C.prototype);nestable=Type.isDocument(C.root);cacheable=Type.isString(C.root);for(name in traversals){selector=traversals[name];if(name in C.prototype){msg=`'${name}' was defined on prototype`;msg=`${msg}, skip adding traversal getter.`;console.warn(msg)}else{createGetter(C,name,selector,nestable,cacheable)}}return cacheable&&(C.prototype.cleanTraversal=function(name){var cached,traversal;if(!(cached=this.constructor.instances[this.id])){return}if(!(traversal=cached.traversal)){return}return cleanTraversal(traversal,name)})};cleanTraversal=function(cache,name){var names;if(!cache){return}if(!Type.isString(name)){name=""}names=name?splitValues(name):Object.keys(cache);return names.forEach(function(n){return delete cache[n]})};var config$1,createObserver,cur,executeMutations,findSameMutation,nodesEqual,runAttrCallbacks,runNodeCallbacks,stopWatch,watch;config$1={childList:true,subtree:true,attributes:true,attributeOldValue:true};cur=function(ins,callback,target){var isInProto,proto;proto=ins.constructor.prototype;isInProto=Object.values(proto).includes(callback);if(isInProto){return ins}else{return target}};runNodeCallbacks=function(type,mutation,watches,nestable){var C,ins,mu,nodes;ins=mutation.ins;C=ins.constructor;mu=mutation.mu;nodes=Array.from(mu[`${type}Nodes`]);return watches.node.forEach(function(node){var els;els=[];nodes.forEach(function(n){return els=els.concat(findAll(node.selector,n))});if(!els.length){return}!nestable&&(els=unnested(ins,unique(els)));return els.length&&node.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,els);if(callback!==C.prototype.cleanTraversal){log(`${C.id} ID: ${ins.id} executes nodes ${type} callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],`Nodes ${type}`,els,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[els,type])}return callback.call(ctx,els,type)})})};runAttrCallbacks=function(mutation,watches,nestable){var C,ins,mu,name,oldVal,target;ins=mutation.ins;mu=mutation.mu;C=ins.constructor;name=mu.attributeName;target=mu.target;oldVal=mu.oldValue;if(!(name&&Type.isElement(target))){return}if(!nestable&&!unnested(ins,[target]).length){return}return watches.attr.forEach(function(attr){if(!attr.name.includes(name)){return}if(!matches(target,attr.selector)){return}return attr.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,target);log(`${C.id} ID: ${ins.id} executes ${name} changed callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],"Changed target",target,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[target,oldVal]);return callback.call(ctx,target,oldVal)})})};executeMutations=function(C,mutations,nestable){return mutations.forEach(function(mutation){runNodeCallbacks("added",mutation,C.watches,nestable);runNodeCallbacks("removed",mutation,C.watches,nestable);return runAttrCallbacks(mutation,C.watches,nestable)})};nodesEqual=function(nodesOne,nodesTwo){return arrayEqual(Array.from(nodesOne),Array.from(nodesTwo),true)};findSameMutation=function(mutations,mu){var theSameMutation;theSameMutation=null;mutations.some(function(mutation){if(mu===mutation.mu){return theSameMutation=mutation}if(mu.type!==mutation.mu.type){return}if(mu.target!==mutation.mu.target){return}if(mu.attributeName!==mutation.mu.attributeName){return}if(mu.oldValue!==mutation.mu.oldValue){return}if(!nodesEqual(mu.addedNodes,mutation.mu.addedNodes)){return}if(!nodesEqual(mu.removedNodes,mutation.mu.removedNodes)){return}return theSameMutation=mutation});return theSameMutation};createObserver=function(C,instance){var inses,nestable,observer,rootEl;inses=C.instances;rootEl=instance.root.els[0];nestable=Type.isDocument(C.root);observer=new MutationObserver(function(mus){var mutations;mutations=mus.map(function(mu){return{ins:instance,mu:mu}});!nestable&&find(C.root,rootEl).forEach(function(el){var cached,ins,watcher;if(!(cached=inses[el[expando]])){return}if(!(ins=cached.instance)){return}if(!(watcher=cached.watcher)){return}return watcher.takeRecords().forEach(function(mu){var nestedMutation;nestedMutation=findSameMutation(mutations,mu);if(nestedMutation){return nestedMutation.ins=ins}})});return executeMutations(C,mutations,nestable)});observer.observe(rootEl,config$1);return observer};watch=function(C,ins){var conf;if(!C.watches){conf=C.helpers.watch.call(C.prototype);C.watches={node:(conf.node||[]).map(function(d){return{selector:Type.isFunction(d[0])?"*":d[0],callbacks:Type.isFunction(d[0])?d:d.slice(1)}}),attr:(conf.attr||[]).map(function(a){return{name:splitValues(a[0]),selector:Type.isFunction(a[1])?"*":a[1],callbacks:Type.isFunction(a[1])?a.slice(1):a.slice(2)}})}}return createObserver(C,ins)};stopWatch=function(ins,watcher){return watcher.disconnect()};var Base;Base=function(){class Base{constructor(root){var C,create,definedWatch,find,inses,listen,proto,rootEl,traversal,watcher;C=this.constructor;proto=C.prototype;inses=C.instances;if(!(Type.isString(C.root)||Type.isDocument(C.root))){throw new Error("Component root can only be selectors or document")}if(root instanceof C){return root}if(Type.isDocument(C.root)){root=C.root}this.root=luda$1(root);if(!(rootEl=this.root.els[0])){return}if(this.root.length>1){this.root=luda$1(rootEl)}this.id=rootEl[expando]||(rootEl[expando]=guid$1());if(this.id in inses){return inses[this.id].instance}if((listen=C.helpers.listen)&&!C.eventsBinded){addEvents(C);C.eventsBinded=true}if((find=C.helpers.find)&&!C.traversalAdded){addTraversal(C);C.traversalAdded=true}if(proto.cleanTraversal){traversal={}}if(traversal&&!C.watches){if(definedWatch=C.helpers.watch){C.helpers.watch=function(){var watches;watches=definedWatch.call(this);watches.node||(watches.node=[]);watches.node.unshift([proto.cleanTraversal]);return watches}}else{C.helpers.watch=function(){return{node:[[proto.cleanTraversal]]}}}}if(C.helpers.watch){watcher=watch(C,this)}inses[this.id]={instance:this,traversal:traversal,watcher:watcher};_access(rootEl,C.id,inses[this.id]);if(create=C.helpers.create){create.call(this)}log(`${C.id} ID: ${this.id} created.`,"Root element",rootEl,"Cache",inses[this.id])}static create(selector,ctx){var C;C=this;if(Type.isDocument(this.root)||!selector){selector=this.root}return luda$1(selector,ctx).els.map(function(el){return new C(el)})}static destroy(selector,ctx){var C,hasInstances,inses;C=this;inses=this.instances;if(Type.isDocument(this.root)||!selector){selector=this.root}luda$1(selector,ctx).els.forEach(function(rootEl){var destroy,id,instance,watcher;if(!(id=rootEl[expando])){return}if(!(id in inses)){return}instance=inses[id].instance;watcher=inses[id].watcher;if(destroy=C.helpers.destroy){destroy.call(instance)}if(watcher){stopWatch(instance,watcher)}delete inses[id];_access(rootEl,C.id,null);return log(`${C.id} ID: ${id} destroied.`,"Root element",rootEl,"Cache",inses[id])});hasInstances=Object.keys(inses).length;if(!hasInstances&&C.eventsBinded){removeEvents(C);C.eventsBinded=false}return this}static help(key,val){this.help=createMounter(this.helpers,"helping");return this.help(key,val)}static include(key,val){var C,fn;C=this;fn=function(name,value){C.included.push(name);return value};this.include=createMounter(this.prototype,"including",fn);return this.include(key,val)}static protect(key,val){this.protect=createMounter(this.prototype,"protecting");return this.protect(key,val)}static contains(selector,ctx){var inses;inses=this.instances;return luda$1(selector,ctx).els.some(function(el){var id;return(id=el[expando])&&inses[id]})}static each(callback){Object.values(this.instances).some(function(cache,index){var instance,rootEl;instance=cache.instance;rootEl=instance.root.els[0];return callback(instance,rootEl,index,cache)===false});return this}}Base.prototype.win=luda$1(window);Base.prototype.doc=luda$1(document);Object.defineProperty(Base.prototype,"html",{get:function(){return luda$1(document.documentElement)}});Object.defineProperty(Base.prototype,"body",{get:function(){return luda$1(document.body)}});Object.defineProperty(Base.prototype,"con",{get:function(){return this.constructor}});return Base}.call(this);var Base$1=Base;var constructorAccessWarn,createComponentProxy,createInstancesCallProxy,createInstancesProxy,instanceAccessWarn;constructorAccessWarn=function(action,C,key){var msg;if(!(key in C&&!C.extended.includes(key))){return}msg=`${action} private property '${key}' of ${C.id}`;return console.warn(msg)};createComponentProxy=function(C){var proxy;return proxy=new Proxy(C,{get:function(target,key){constructorAccessWarn("Getting",C,key);return C[key]},set:function(target,key,val){constructorAccessWarn("Setting",C,key);return C[key]=val},apply:function(target,ctx,args){var inses;inses=C.create.apply(C,args);return createInstancesProxy(inses)}})};instanceAccessWarn=function(action,ins,key){var msg;if(!(key in ins&&!ins.con.included.includes(key))){return}msg=`${action} private property '${key}' of ${ins.con.id} ${ins.id}`;return console.warn(msg)};createInstancesProxy=function(inses){var proxy;return proxy=new Proxy(inses,{set:function(target,key,val){return inses.map(function(ins){instanceAccessWarn("Setting",ins,key);return ins[key]=val})},get:function(target,key){var vals;vals=inses.map(function(ins){instanceAccessWarn("Getting",ins,key);return ins[key]});return createInstancesCallProxy(inses,vals,key,proxy)}})};createInstancesCallProxy=function(inses,vals,key,instancesProxy){var proxy;return proxy=new Proxy(new Function,{get:function(target,k){if(!Type.isFunction(vals[k])){return vals[k]}return vals[k].bind(vals)},apply:function(target,ctx,args){var option,returns;returns=inses.map(function(ins){return ins[key].apply(ins,args)});option=args[args.length-1];if(Type.isObject(option)&&option.chain===false){return returns}else{return instancesProxy}}})};function createProxy(Component){return createComponentProxy(Component)}var factory$1;luda$1.extend("component",factory$1=function(name,root){var Component,occupied;Component=function(){class Component extends Base$1{}Component.id=camelCase(`Component${name?"-"+name:"_"+guid$1()}`);Component.root=root?root:name?`.${dashCase(name)}`:document;Component.instances={};Component.helpers={};Component.included=["toString"];Component.extended=["toString"];Component.eventsBinded=false;Component.autoEnabled=false;Component.traversalAdded=false;Component.watches=null;return Component}.call(this);occupied=name&&name in luda$1;if(name){luda$1.extend(name,createProxy(Component))}!occupied&&luda$1.ready(function(){if(Type.isDocument(Component.root)){Component.create(Component.root)}if(!Type.isString(Component.root)){return}Component.create(autoable(Component.root));autoCreateAndDestroy(Component);return Component.autoEnabled=true});return Component});function computeStyle(el,prop,isVar){var style;if(!Type.isElement(el)||!prop){return}style=window.getComputedStyle(el,null);if(prop){if(isVar){return style.getPropertyValue(prop)||void 0}else{return style[prop]}}else{return style}}function isVariable(prop){return/^--/.test(prop)}function readProp(prop,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar){return prop}else{return camelCase(prop)}}var numericProps;numericProps=["animationIterationCount","columnCount","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex"];function parseValue$1(prop,value,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar||numericProps.includes(prop)){return value}if(Type.isNumeric(value)){return`${value}px`}else{return value}}luda$1.include({css:function(prop,value){var isVar,key,val;if(Type.isString(prop)){isVar=isVariable(prop);prop=readProp(prop,isVar);if(arguments.length<2){return this.els[0]&&computeStyle(this.els[0],prop,isVar)}if(!prop){return this}value=parseValue$1(prop,value,isVar);this.els.forEach(function(el){if(!Type.isElement(el)){return}if(isVar){return el.style.setProperty(prop,value)}else{return el.style[prop]=value}});return this}for(key in prop){val=prop[key];this.css(key,val)}return this}});luda$1.include({removeCss:function(prop){return this.css(prop,"")}});var parse$1,pattern$3;pattern$3=/^data-/i;parse$1=function(name){return camelCase(name.replace(pattern$3,""))};var parseName=parse$1;luda$1.include({removeData:function(name){var names;if(arguments.length){names=splitValues(name);if(!names.length){return this}names=names.map(function(n){return parseName(n)});this.els.forEach(function(el){return names.forEach(function(n){return delete el.dataset[n]})})}else{this.els.forEach(function(el){var n,ref,results,val;ref=el.dataset;results=[];for(n in ref){val=ref[n];results.push(delete el.dataset[n])}return results})}return this}});luda$1.include({data:function(name,value){var datas,key,ref,val;if(!name){if(!this.els[0]){return}datas={};ref=this.els[0].dataset;for(key in ref){val=ref[key];datas[key]=readValue(val)}return datas}if(Type.isString(name)){name=parseName(name);if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeData(name)}val=parseValue(value);this.els.forEach(function(el){return el.dataset[name]=val});return this}if(!this.els[0]){return}return readValue(this.els[0].dataset[name])}for(key in name){val=name[key];this.data(key,val)}return this}});luda$1.include({hasData:function(key){if(!key){return false}key=parseName(key);return this.els.some(function(el){return el.dataset&&key in el.dataset})}});var factory$3;factory$3=function(prop){return function(){var el;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`inner${prop}`]}return el[`client${prop}`]}};luda$1.include({innerWidth:factory$3("Width"),innerHeight:factory$3("Height")});function computeStyleInt(el,prop){return parseInt(computeStyle(el,prop),10)||0}function getExtraSpace(el,xAxis){return computeStyleInt(el,`border${xAxis?"Left":"Top"}Width`)+computeStyleInt(el,`padding${xAxis?"Left":"Top"}`)+computeStyleInt(el,`padding${xAxis?"Right":"Bottom"}`)+computeStyleInt(el,`border${xAxis?"Right":"Bottom"}Width`)}var factory$4;factory$4=function(prop){return function(value){var e,valNumber;if(!(e=this.els[0])){if(value===void 0){return void 0}else{return this}}if(!arguments.length){if(Type.isWindow(e)){return e[camelCase(`outer-${prop}`)]}return e.getBoundingClientRect()[prop]-getExtraSpace(e,prop==="width")}valNumber=parseInt(value,10);this.els.forEach(function(el){var boxSizing,extra;if(!Type.isElement(el)){return}boxSizing=computeStyle(el,"boxSizing");extra=0;if(boxSizing==="border-box"){extra=getExtraSpace(el,prop==="width")}return el.style[prop]=parseValue$1(prop,valNumber+extra)});return this}};luda$1.include({width:factory$4("width"),height:factory$4("height")});var factory$5;factory$5=function(prop){return function(includeMargins){var el,marginOne,marginTwo,offsetSize;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`outer${prop}`]}offsetSize=el[`offset${prop}`];if(!includeMargins){return offsetSize}marginOne=computeStyleInt(el,`margin${prop==="Width"?"Left":"Top"}`);marginTwo=computeStyleInt(el,`margin${prop==="Width"?"Right":"Bottom"}`);return offsetSize+marginOne+marginTwo}};luda$1.include({outerWidth:factory$5("Width"),outerHeight:factory$5("Height")});luda$1.include({one:function(name,selector,callback){return this.on(name,selector,callback,true)}});function getValue(el){var val;if(el.multiple&&el.options){val=[];[].forEach.call(el.options,function(option){var optionValue;if(option.selected&&!option.disabled&&!option.parentNode.disabled){optionValue=readValue(option.value);if(optionValue===void 0||optionValue===null){optionValue=""}return val.push(optionValue)}});return val}val=readValue(el.value);if(val===void 0||val===null){return""}else{return val}}luda$1.include({val:function(value){if(value===void 0){return this.els[0]&&getValue(this.els[0])}this.els.forEach(function(el){var hasSelected,options,val;if(el.tagName==="SELECT"){if(Type.isArray(value)){val=value}else if(value===null){val=[]}else{val=[value]}hasSelected=false;options=Array.from(el.options);options.forEach(function(o){var selected;selected=val.includes(readValue(o.value));o.selected=selected;return hasSelected||(hasSelected=selected)});if(!hasSelected){el.selectedIndex=-1}return options.forEach(function(o){return luda$1(o).attr("selected",o.selected?"":null)})}else{val=value===null?"":parseValue(value);el.value=val;return luda$1(el).attr("value",val)}});return this}});var Variables$1={scriptExpando:"script"};function clone(el,cacheAndEvts,deep){var cloned,clonedScripts,clones,nodes,scripts;cloned=el.cloneNode(true);scripts=findAll("script",el);clonedScripts=findAll("script",cloned);scripts.forEach(function(script,i){var cache;if(!Type.isScript(script)){return}if(script.src){return}cache=_access(script,Variables$1.scriptExpando);cache||(cache={executed:false});_access(script,Variables$1.scriptExpando,cache);return _access(clonedScripts[i],Variables$1.scriptExpando,cache)});if(!cacheAndEvts){return cloned}if(deep){nodes=findAll("*",el);clones=findAll("*",cloned)}else{nodes=[el];clones=[cloned]}nodes.forEach(function(node,i){var _evt,cache,config,type;if(_evt=_access(node,Variables.expando)){for(type in _evt){config=_evt[type];config.quene&&config.quene.forEach(function(it){return addEvent$1(clones[i],type,it.selector,it.callback,it.namespace,it.key,it.stop,it.prevent,it._one)})}}if(cache=access(node)){return access(clones[i],Object.assign({},cache))}});return cloned}luda$1.include({find:function(selector){var all;all=[];this.els.forEach(function(el){var found;found=find(selector,el);if(found.length){return[].push.apply(all,found)}});return luda$1(unique(all))}});var CDATARe,geval;CDATARe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;geval=eval;function evalScripts(node){var collection,scripts;collection=luda$1(node);scripts=collection.filter("script").add(collection.find("script")).els;return scripts.forEach(function(el){var scriptCache;if(!(!el.src&&Type.isScript(el))){return}if(!el.ownerDocument.documentElement.contains(el)){return}scriptCache=_access(el,Variables$1.scriptExpando);if(scriptCache&&scriptCache.executed){return}geval(el.textContent.replace(CDATARe,""));if(scriptCache){return scriptCache.executed=true}else{return _access(el,Variables$1.scriptExpando,{executed:true})}})}function insertElement(anchor,child,prepend,prependTarget){if(prepend){anchor.insertBefore(child,prependTarget)}else{anchor.appendChild(child)}return evalScripts(child)}luda$1.include({insertAfter:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target.nextSibling)})});return this}});luda$1.include({after:function(){var argReverse,handler,self;self=this;argReverse=[].reverse.apply(arguments);handler=function(selector){var els;els=luda$1(selector).els.reverse();return luda$1(els).insertAfter(self)};[].forEach.call(argReverse,handler);return this}});function insertContent(parent,child,prepend){return parent.forEach(function(p,parentIndex){return child.forEach(function(c){var childToBeInserted;childToBeInserted=parentIndex?clone(c,true,true):c;return insertElement(p,childToBeInserted,prepend,prepend&&p.firstChild)})})}luda$1.include({appendTo:function(selector){insertContent(luda$1(selector).els,this.els);return this}});luda$1.include({append:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els)};[].forEach.call(arguments,handler);return this}});luda$1.include({insertBefore:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target)})});return this}});luda$1.include({before:function(){var handler,self;self=this;handler=function(selector){return luda$1(selector).insertBefore(self)};[].forEach.call(arguments,handler);return this}});luda$1.include({clone:function(cacheAndEvents,deep){var collection;if(deep===void 0){deep=cacheAndEvents}collection=this.els.map(function(el){return clone(el,cacheAndEvents,deep)});return luda$1(collection)}});luda$1.include({detach:function(){this.els.forEach(function(el){var parent;if(parent=el.parentNode){return parent.removeChild(el)}});return this}});function clean$1(ctx){return findAll("*",ctx).forEach(function(el){removeEvent$1(el);return clean(el)})}luda$1.include({empty:function(){this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=""});return this}});luda$1.include({html:function(html){if(html===void 0&&this.els.length){return this.els[0].innerHTML}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.innerHTML=html});return this}});luda$1.include({prependTo:function(selector){insertContent(luda$1(selector).els,this.els.reverse(),true);return this}});luda$1.include({prepend:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els,true)};[].forEach.call(arguments,handler);return this}});luda$1.include({remove:function(){this.els.forEach(function(el){var parent;clean$1(el);if(parent=el.parentNode){return parent.removeChild(el)}});return this}});luda$1.include({replaceWith:function(selector){return this.before(selector).remove()}});luda$1.include({replaceAll:function(selector){luda$1(selector).replaceWith(this);return this}});luda$1.include({text:function(text){if(text===void 0){if(this.els[0]){return this.els[0].textContent}else{return""}}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=text});return this}});luda$1.include({unwrap:function(){this.parent().els.forEach(function(el){var collection;collection=luda$1(el);return collection.replaceWith(collection.children())});return this}});luda$1.include({wrapAll:function(selector){var structure,wrapper;if(!this.els.length){return this}structure=luda$1(selector);this.first().before(structure);wrapper=structure.els[0];while(wrapper.children.length){wrapper=wrapper.firstElementChild}return this.appendTo(wrapper)}});luda$1.include({contents:function(){var all;all=[];this.els.forEach(function(el){var content;if(el.tagName==="IFRAME"){content=[el.contentDocument]}else{content=el.childNodes}return[].push.apply(all,content)});return luda$1(unique(all))}});luda$1.include({wrapInner:function(selector){this.els.forEach(function(el){var contents,target;target=luda$1(el);contents=target.contents();if(contents.els.length){return contents.wrapAll(selector)}else{return target.append(selector)}});return this}});luda$1.include({wrap:function(selector){this.els.forEach(function(el,index){var wrapper;wrapper=luda$1(selector).els[0];return luda$1(el).wrapAll(index?clone(wrapper,true,true):wrapper)});return this}});var Mixin;var Mixin$1=Mixin=class Mixin{constructor(conf){this.conf=conf}get(key){return this.conf[key]}all(){return Object.assign({},this.conf)}only(keys){var picked;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}keys.forEach(k=>{if(k in this.conf){return picked[k]=this.conf[k]}});return picked}except(keys){var k,picked,ref,v;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}ref=this.conf;for(k in ref){v=ref[k];if(!keys.includes(k)){picked[k]=v}}return picked}alias(newName,name){var k,picked,v;picked={};if(arguments.length===1&&Type.isObject(newName)){for(k in newName){v=newName[k];if(v in this.conf){picked[k]=this.conf[v]}}}else{if(name in this.conf){picked[newName]=this.conf[name]}}return picked}};var get,mount,named,unmount;named={};mount=createMounter(named,"mixing");unmount=function(name){return delete named[name]};get=function(name){return named[name]||{}};luda$1.extend({mixin:function(name,conf){var mixin;if(arguments.length===1){if(Type.isString(name)){return get(name)}else{return new Mixin$1(conf)}}else{if(conf===null){unmount(name);return this}else{mixin=new Mixin$1(conf);mount(name,mixin);return this}}}});luda$1.mixin.named=named;luda$1.include({offsetParent:function(){return luda$1(this.els[0]&&this.els[0].offsetParent)}});luda$1.include({offset:function(){var docEl,el,rect;el=this.els[0];if(!el){return}docEl=document.documentElement;rect=el.getBoundingClientRect();return{top:rect.top+window.pageYOffset-docEl.clientTop,left:rect.left+window.pageXOffset-docEl.clientLeft}}});luda$1.include({position:function(){var el;el=this.els[0];if(!el){return}return{left:el.offsetLeft,top:el.offsetTop}}});luda$1.include({prop:function(prop,value){var key,val;if(!prop){return}if(Type.isString(prop)){if(arguments.length<2){return this.els[0]&&this.els[0][prop]}this.els.forEach(function(el){return el[prop]=value});return this}for(key in prop){val=prop[key];this.prop(key,val)}return this}});luda$1.include({removeProp:function(prop){var props;props=splitValues(prop);if(!props.length){return this}this.els.forEach(function(el){return props.forEach(function(p){return delete el[p]})});return this}});luda$1.include({reflow:function(){this.els.forEach(function(el){return el.offsetHeight});return this}});function getDurations(style,propertyLength){var durationArray;durationArray=style.split(",");while(durationArray.length<propertyLength){durationArray=durationArray.concat(durationArray)}if(durationArray.length>propertyLength){durationArray=durationArray.slice(0,propertyLength)}return durationArray.map(function(durationStr){var duration;duration=parseFloat(durationStr);if(!duration){return 0}if(durationStr.match("ms")){return duration}else{return duration*1e3}})}luda$1.include({transitionDuration:function(){var delays,durations,el,finalDurations,length,styles;if(!(el=this.els[0])){return}styles=window.getComputedStyle(el);length=styles.transitionProperty.split(",").length;if(!length){return 0}delays=getDurations(styles.transitionDelay,length);durations=getDurations(styles.transitionDuration,length);finalDurations=durations.map(function(duration,index){return duration+delays[index]});return Math.max.apply(null,finalDurations)}});luda$1.include({closest:function(comparator){var filtered;if(!comparator||!this.els.length){return luda$1()}filtered=this.filter(comparator);if(filtered.els.length){return filtered}return this.parent().closest(comparator)}});luda$1.include({nextAll:function(comparator){var plucked;plucked=pluck(this.els,"nextElementSibling",true);return luda$1(collect(unique(plucked),comparator))}});luda$1.include({next:function(comparator){var filter;if(comparator){filter=function(n){return collect([n],comparator).length}}return luda$1(unique(pluck(this.els,"nextElementSibling",false,filter)))}});luda$1.include({prevAll:function(comparator){var plucked;plucked=pluck(this.els,"previousElementSibling",true);return luda$1(collect(unique(plucked),comparator))}});luda$1.include({prev:function(comparator){var filter;if(comparator){filter=function(p){return collect([p],comparator).length}}return luda$1(unique(pluck(this.els,"previousElementSibling",false,filter)))}});luda$1.include({siblings:function(comparator){var all;all=[];this.els.forEach(function(el){var sibs;sibs=luda$1(el).parent().children(function(child){return child!==el}).els;return[].push.apply(all,sibs)});return luda$1(collect(unique(all),comparator))}});luda.mixin("disable",{disableTargetProp:function(){var ref;return((ref=this.attr)!=null?ref.disable:void 0)||"disabled"},disableCreate:function(){var dataAttr,tabIndex;tabIndex=this.root.prop("tabIndex");dataAttr=this.data.disable.tabIndex;if(!this.root.hasData(dataAttr)){this.root.data(dataAttr,tabIndex)}return this.root.prop("tabIndex",-1).prop(this.disableTargetProp(),true)},disableDestroy:function(){var tabIndex;tabIndex=this.root.data(this.data.disable.tabIndex);return this.root.prop("tabIndex",tabIndex).prop(this.disableTargetProp(),false)}});luda.component("disabled","[disabled]").protect({data:{disable:{tabIndex:"data-disabled_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("enter",document).protect({selectors:["input[type=checkbox]","input[type=radio]","[tabindex]"]}).protect({disabled:function(){return this.html.data("enter")===false}}).protect({trigger:function(e){if(this.disabled()){return}if(!luda(e.target).is(this.selectors.join(","))){return}e.preventDefault();return setTimeout(function(){return e.target.click()})}}).help({listen:function(){return[["keydown@enter",this.trigger]]}});var Focus;Focus=luda.component("focus",document).protect({cls:{focus:"focus"},selector:{focused:".focus",always:["select","textarea",":not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])","[contenteditable]","[contenteditable=true]"],nested:["select","[contenteditable]","[contenteditable=true]"],touch:"input[type=range]"}}).protect({disabled:function(){return this.html.data("focus")===false}}).protect({addClass:function(node){if(this.disabled()){return}return this.focused.els.concat(node).forEach(el=>{var addable;addable=el===node&&el!==this.html.els[0]&&el!==this.body.els[0];return luda(el).toggleClass(this.cls.focus,addable)})},cacheEvt:function(e){if(this.disabled()||e.target.disabled){return}return this.evtTriggeredFocus=e.type},focus:function(e){var evt,node,parent,target;if(this.disabled()||(node=e.target).disabled){return}(evt=this.evtTriggeredFocus)&&delete this.evtTriggeredFocus;if(evt&&/key/.test(evt)){target=node}else if(luda(node).is(this.selector.always.join(","))){target=node}else if(luda(node).is(this.selector.nested.join(" *,"))){parent=this.selector.nested.join(",");e.eventPath().some(function(el){return luda(el).is(parent)&&(target=el)})}return this.addClass(target)},blur:function(e){if(this.disabled()){return}return luda(e.target).toggleClass(this.cls.focus,false)}}).help({find:function(){return{focused:this.selector.focused}},listen:function(){return[["keydown keyup touchstart mousedown",this.cacheEvt],["mousedown focusin",this.focus],["touchstart",this.selector.touch,this.focus],["focusout",this.blur]]}});luda.include({focus:function(addClass,preventScroll){var el,ins;if(!(el=this.els[0])){return}ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}if(!luda.isBool(addClass)){addClass=true}if(!luda.isBool(preventScroll)){preventScroll=false}addClass&&ins.addClass(el);el.focus({preventScroll:preventScroll});return this},blur:function(){var ins;ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}this.els.forEach(function(el){return el.blur()});return this}});luda.component("readonly","[readonly]").protect({attr:{disable:"readonly"},data:{disable:{tabIndex:"data-readonly_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("tabulate",document).protect({selector:"input[type=radio]:not([disabled])"}).protect({disabled:function(){return this.html.data("tabulate")===false}}).protect({findSiblings:function(radio){var index,name,radios,selector;selector=this.selector;if(name=radio.name){selector=`${selector}[name=${name}]`}radios=luda(selector).els.filter(function(el){return el.tabIndex>=0});index=radios.indexOf(radio);return{prev:radios[index-1],next:radios[index+1]}},trigger:function(e){var next,prev;if(this.disabled()){return}if(e.shiftKey){if(prev=this.findSiblings(e.target).prev){e.preventDefault();return prev.focus()}}else{if(next=this.findSiblings(e.target).next){e.preventDefault();return next.focus()}}}}).help({listen:function(){return[["keydown@tab",this.selector,this.trigger]]}});luda.mixin("toggleable",{toggleableActive:function(){return this.root.hasClass(this.cls.toggleable.active)},toggleableTriggerable:function(e){var evtPath,index,ref,ref1,toggleAttr,trigger;if(this.toggleableTransitioning()){return}if(/key/.test(e.type)){return true}if(!this.root.els[0].contains(e.target)){return true}trigger=(ref=this.default)!=null?(ref1=ref.toggleable)!=null?ref1.trigger:void 0:void 0;toggleAttr=this.data.toggleable.trigger;if(!toggleAttr){return trigger}evtPath=e.eventPath();index=evtPath.indexOf(this.root.els[0])+1;evtPath.slice(0,index).some(function(el){var ins;ins=luda(el);if(!ins.hasData(toggleAttr)){return}trigger=ins.data(toggleAttr)!==false;return true});return trigger},toggleableActivate:function(){var evt;if(this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.activate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableDeactivating);delete this.toggleableDeactivating;this.root.addClass(this.cls.toggleable.active);this.toggleableActivating=setTimeout(()=>{delete this.toggleableActivating;return this.toggleableTarget.trigger(this.evt.toggleable.activated)},this.toggleableTarget.transitionDuration());return true},toggleableDeactivate:function(){var evt;if(!this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.deactivate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableActivating);delete this.toggleableActivating;this.root.removeClass(this.cls.toggleable.active);this.toggleableDeactivating=setTimeout(()=>{delete this.toggleableDeactivating;return this.toggleableTarget.trigger(this.evt.toggleable.deactivated)},this.toggleableTarget.transitionDuration());return true},toggleableToggle:function(force){if(force===true){return this.toggleableActivate()}if(force===false){return this.toggleableDeactivate()}if(this.toggleableActive()){return this.toggleableDeactivate()}else{return this.toggleableActivate()}},toggleableTransitioning:function(){return"toggleableActivating"in this||"toggleableDeactivating"in this},toggleableFocusOpener:function(e){var ins;if(this.toggleableActive()){return this.toggleableFocused=document.activeElement}if(!this.toggleableFocused){return}if("focus"in(ins=luda(this.toggleableFocused))){return ins.focus(!e.detail,e.detail)}else{return this.toggleableFocused.focus({preventScroll:e.detail})}},toggleableActivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableActivate())){return}this.toggleableFocusOpener(e);return true},toggleableDeactivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableDeactivate())){return}this.toggleableFocusOpener(e);return true},toggleableToggleOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableToggle())){return}this.toggleableFocusOpener(e);return true},toggleableCreate:function(){var dataAttr,evt,interruption;dataAttr=this.data.toggleable.interruption;if(!(interruption=this.root.data(dataAttr))){return}evt=this.evt.toggleable[interruption];this.root.removeData(dataAttr);return this.toggleableTarget.trigger(evt)},toggleableDestroy:function(){var interruption;if("toggleableActivating"in this){interruption="activated";clearTimeout(this.toggleableActivating)}else if("toggleableDeactivating"in this){interruption="deactivated";clearTimeout(this.toggleableDeactivating)}return interruption&&this.root.data(this.data.toggleable.interruption,interruption)},toggleableFind:function(){var ref,ref1,target;target=(ref=this.selector)!=null?(ref1=ref.toggleable)!=null?ref1.target:void 0:void 0;return{toggleableTarget:target||function(){return this.root}}}});luda.component("toggle","[data-toggle-target]").protect({cls:{toggleable:{active:"toggle-active"}},data:{target:"data-toggle-target",for:"data-toggle-for",auto:"data-toggle-auto-deactivate",toggleable:{interruption:"data-toggle_interruption",trigger:"data-toggleable"}},default:{autoDuration:3e3},evt:{toggleable:{activate:"luda:toggle:activate",activated:"luda:toggle:activated",deactivate:"luda:toggle:deactivate",deactivated:"luda:toggle:deactivated"}}}).include({activate:function(){if(!this.toggleableActivate()){return}return this.toggleAutoState()},deactivate:function(){if(!this.toggleableDeactivate()){return}return this.toggleAutoState()},toggle:function(force){if(!this.toggleableToggle(force)){return}return this.toggleAutoState()}}).protect(luda.mixin("toggleable").all()).protect({toggleAutoState:function(){if(!this.root.hasData(this.data.auto)){return}if(this.toggleableActive()){return this.auto=setTimeout(()=>{delete this.auto;return this.deactivate()},this.root.data(this.data.auto)||this.default.autoDuration)}else{clearTimeout(this.auto);return delete this.auto}},toggleOnEvent:function(e){if(!this.toggleableToggleOnEvent(e)){return}return this.toggleAutoState()}}).help({find:function(){return this.toggleableFind()},create:function(){this.toggleableCreate();return this.toggleAutoState()},destroy:function(){this.toggleableDestroy();return"auto"in this&&clearTimeout(this.auto)},listen:function(){var self;self=this;return[["click",this.toggleOnEvent],["click",`[${this.data.for}]`,function(e){var name;name=luda(this).data(self.data.for);return self.con.each(function(ins){if(ins.root.data(self.data.target)!==name){return}ins.toggleOnEvent(e);return true})}]]}});var listened,quene;listened=false;quene=[];luda.mixin("resetable",{listen:function(fn){var pushed;pushed=quene.some(it=>{return it.Component===this.con});if(!pushed){quene.push({Component:this.con,reset:fn})}if(listened){return}listened=true;return luda(document).on("reset.MixinResetable",function(e){if(e.isDefaultPrevented()){return}return setTimeout(function(){return quene.forEach(function(it){return it.Component.each(function(ins,rootEl){e.target.contains(rootEl)&&it.reset.call(ins);return true})})})})}});luda.component("fmFile").protect({selector:{root:".fm-file",file:"input[type=file]",simulator:"input:not([type=file])"},evt:{changed:"luda:fmFile:changed"},splitor:" "}).protect({placeholder:function(){return this.file.attr("placeholder")},value:function(){return this.file.attr("value")},multiple:function(){return this.file.prop("multiple")}}).protect({files:function(){return Array.from(this.file.prop("files"))},insertSimulator:function(){if(this.simulator.length){return}return luda("<input>").prop("tabIndex",-1).attr("placeholder",this.placeholder()).insertAfter(this.file)},updateSimulatorValue:function(){var value,values;values=this.files().map(function(f){return f.name});value=values.join(this.splitor)||this.value()||"";return this.simulator.val(value)},updateValue:function(){var oldFile,val;this.updateSimulatorValue();oldFile=this.selectedFile;this.selectedFile=this.files();if(!oldFile||luda.arrayEqual(this.selectedFile,oldFile)){return}val=this.multiple()?this.selectedFile:this.selectedFile[0];return this.file.trigger(this.evt.changed,val)},tryReset:function(target,oldVal){if(this.value()!==""){return}if(oldVal===""){return}return this.file.prop("value","").attr("value",oldVal||"")}}).help({find:function(){return{file:this.selector.file,simulator:this.selector.simulator}},watch:function(){return{attr:[["value",this.selector.file,this.tryReset,this.updateValue]]}},create:function(){this.insertSimulator();return this.updateValue()},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.file,this.updateValue]]}});luda.component("fmSelect").protect({selector:{select:"select",options:"option",simulator:"input"},data:{default:"data-fm-select_default-selected",defaultMarked:"data-fm-select_default-marked"},evt:{changed:"luda:fmSelect:changed"}}).protect({placeholder:function(){return this.select.attr("placeholder")},multiple:function(){return this.select.prop("multiple")},options:function(){return Array.from(this.select.prop("options"))}}).protect({tryEmpty:function(){var selected;selected=this.options().some(function(o){return luda(o).hasAttr("selected")});return!selected&&this.select.prop("selectedIndex",-1)},markSelected:function(markDefault){markDefault=markDefault===true;if(markDefault&&this.root.hasData(this.data.defaultMarked)){return}if(markDefault){this.root.data(this.data.defaultMarked,"")}return this.options().forEach(o=>{var option,val;option=luda(o);if(markDefault){val=option.hasAttr("selected")?"":null;return option.data(this.data.default,val)}else{val=o.selected?"":null;return option.attr("selected",val)}})},toggleSimulator:function(){if(this.multiple()){return this.simulator.remove()}if(this.simulator.length){return}return luda("<input>").prop("tabIndex",-1).attr("placeholder",this.placeholder()).insertAfter(this.select)},updateSimulatorValue:function(){var selected,val;if(this.multiple()){return}selected=this.options()[this.select.prop("selectedIndex")];val=selected?luda(selected).text():"";return this.simulator.val(val)},updateValue:function(){var oldVal,selected,val;this.updateSimulatorValue();oldVal=this.selectedVal;val=this.select.val();this.selectedVal=luda.isArray(val)?val:[val];if(!oldVal||luda.arrayEqual(this.selectedVal,oldVal)){return}if(this.multiple()){selected=this.options().filter(function(o){return o.selected})}else{selected=this.options()[this.select.prop("selectedIndex")]}return this.select.trigger(this.evt.changed,{value:val,selected:selected})},reset:function(){this.select.prop("selectedIndex",-1);this.options().forEach(o=>{return o.selected=luda(o).hasData(this.data.default)});return this.markSelected()}}).help({find:function(){return{select:this.selector.select,simulator:this.selector.simulator}},create:function(){this.tryEmpty();this.markSelected(true);this.toggleSimulator();return this.updateValue()},watch:function(){return{node:[[this.selector.options,this.tryEmpty,this.updateValue]],attr:[["selected",this.selector.options,this.tryEmpty,this.updateValue],["multiple",this.selector.select,this.toggleSimulator,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.reset);return[["change",this.selector.select,this.markSelected]]}});luda.mixin("tabable",{tabableActiveIndex:function(){var index,ref,ref1;index=((ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0)||0;this.tabableTargets.els.some((it,i)=>{if(!luda(it).hasClass(this.cls.tabable.active)){return false}index=i;return true});return index},tabableWrapable:function(){var ref,ref1,wrapAttr,wrapable;wrapAttr=this.data.tabable.wrap;if(!wrapAttr){return false}wrapable=this.root.data(wrapAttr);if(wrapable===false){return false}return(ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.wrap:void 0:void 0},tabableActivate:function(index){var direction;if(!luda.isNumeric(index)){return}direction=index<this.tabableActiveIndex()?"prev":"next";return this.tabableSlide(index,direction)},tabableNext:function(){var index;index=this.tabableActiveIndex()+1;if(index>=this.tabableTargets.length){if(!this.tabableWrapable()){return}index=0}return this.tabableSlide(index,"next")},tabablePrev:function(){var index;index=this.tabableActiveIndex()-1;if(index<0){if(!this.tabableWrapable()){return}index=this.tabableTargets.length-1}return this.tabableSlide(index,"prev")},tabableLayout:function(){this.tabableTargets.els.forEach((it,index)=>{var activeCls,isActive,item,nextCls,prevCls;item=luda(it);if((activeCls=this.cls.tabable.active)&&item.hasClass(activeCls)){return}if((nextCls=this.cls.tabable.next)&&item.hasClass(nextCls)){return}if((prevCls=this.cls.tabable.prev)&&item.hasClass(prevCls)){return}isActive=index===this.tabableActiveIndex();item.css("transition","none").toggleClass(activeCls,isActive).toggleClass(prevCls,index<this.tabableActiveIndex()).toggleClass(nextCls,index>this.tabableActiveIndex()).reflow().css("transition","");return isActive&&item.trigger(this.evt.tabable.activated)});this.tabableSetIndicatorsState();return this.tabableSetDirectionCtrlsState()},tabableSlide:function(index,direction){var activateEvt,activated,activatedIndex,activeCls,deactivateEvt,directionCls,item,oppsite,oppsiteCls;if(!luda.isNumeric(index)){return}if(index===(activatedIndex=this.tabableActiveIndex())){return}if(index<0||index>=this.tabableTargets.length){return}item=this.tabableTargets.eq(index);activated=this.tabableTargets.eq(activatedIndex);activateEvt=item.trigger(this.evt.tabable.activate,null,true)[0];if(activateEvt.isDefaultPrevented()){return}deactivateEvt=activated.trigger(this.evt.tabable.deactivate,null,true)[0];if(deactivateEvt.isDefaultPrevented()){return}oppsite=direction==="next"?"prev":"next";directionCls=this.cls.tabable[direction];oppsiteCls=this.cls.tabable[oppsite];activeCls=this.cls.tabable.active;item.css("transition","none").addClass(directionCls).removeClass(oppsiteCls).reflow().css("transition","").addClass(activeCls).removeClass(directionCls);activated.addClass(oppsiteCls).removeClass(activeCls);this.tabableActivating=setTimeout(()=>{delete this.tabableActivating;return item.trigger(this.evt.tabable.activated)},item.transitionDuration());this.tabableDeactivateIndex=activatedIndex;this.tabableDeactivating=setTimeout(()=>{delete this.tabableDeactivating;delete this.tabableDeactivateIndex;return activated.trigger(this.evt.tabable.deactivated)},activated.transitionDuration());this.tabableSetIndicatorsState();this.tabableSetDirectionCtrlsState();return true},tabableTransitioning:function(){return"tabableActivating"in this||"tabableDeactivating"in this},tabableSetIndicatorsState:function(){return this.tabableIndicators.els.forEach((it,index)=>{var activeCls,val;activeCls=this.cls.tabable.indicatorActive;val=index===this.tabableActiveIndex();return luda(it).toggleClass(activeCls,val)})},tabableSetDirectionCtrlsState:function(){var index,maxIndex,minIndex,nextCtrl,nextDis,prevCtrl,prevDis;prevCtrl=this.tabablePrevCtrl;nextCtrl=this.tabableNextCtrl;if(!(prevCtrl||nextCtrl)){return}if(this.tabableTargets.length<=1){prevDis=nextDis=""}else if(this.tabableWrapable()){prevDis=nextDis=null}else{index=this.tabableActiveIndex();minIndex=0;maxIndex=this.tabableTargets.length-1;prevDis=index===minIndex?"":null;nextDis=index===maxIndex?"":null}prevCtrl&&prevCtrl.attr("disabled",prevDis);return nextCtrl&&nextCtrl.attr("disabled",nextDis)},tabableActivateOnEvent:function(e){var index,ref,ref1;if(this.tabableTransitioning()){return}index=(ref=e.detail)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0;if(index==null){index=this.tabableIndicators.els.indexOf(e.currentTarget)}return this.tabableActivate(index)},tabablePrevOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabablePrev()}},tabableNextOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabableNext()}},tabableDestroy:function(){var interruption;if("tabableActivating"in this){clearTimeout(this.tabableActivating);interruption={activate:this.tabableActiveIndex()}}if("tabableDeactivating"in this){clearTimeout(this.tabableDeactivating);interruption||(interruption={});interruption.deactivateIndex=this.tabableDeactivateIndex}return this.root.data(this.data.tabable.interruption,interruption)},tabableCreate:function(){var activate,dataAttr,deactive,interruption;this.tabableLayout();dataAttr=this.data.tabable.interruption;if(!(interruption=this.root.data(dataAttr))){return}if((activate=interruption.activated)!=null){this.tabableTargets.eq(activated).trigger(this.evt.tabable.activated)}if((deactive=interruption.deactivated)!=null){this.tabableTargets.eq(deactivated).trigger(this.evt.tabable.deactivated)}return this.root.removeData(dataAttr)},tabableFind:function(){var conf,nextCtrl,prevCtrl;conf={tabableTargets:this.selector.tabable.targets,tabableIndicators:this.selector.tabable.indicators};if(prevCtrl=this.selector.tabable.prevCtrl){conf.tabablePrevCtrl=prevCtrl}if(nextCtrl=this.selector.tabable.nextCtrl){conf.tabableNextCtrl=nextCtrl}return conf},tabableWatch:function(){var attr,wrapAttr;attr=[];wrapAttr=this.data.tabable.wrap;wrapAttr&&attr.push([wrapAttr,this.tabableSetDirectionControlState]);return{attr:attr,node:[[this.selector.tabable.targets,this.tabableLayout],[this.selector.tabable.indicators,this.tabableSetIndicatorsState]]}},tabableListen:function(){var listeners,nextCtrl,prevCtrl;listeners=[["click",this.selector.tabable.indicators,this.tabableActivateOnEvent]];if(prevCtrl=this.selector.tabable.prevCtrl){listeners.push(["click",prevCtrl,this.tabablePrevOnEvent])}if(nextCtrl=this.selector.tabable.nextCtrl){listeners.push(["click",nextCtrl,this.tabableNextOnEvent])}return listeners}});luda.component("carousel").protect({cls:{tabable:{active:"carousel-item-active",indicatorActive:"btn-active",prev:"carousel-item-prev",next:"carousel-item-next"}},data:{interval:"carousel-interval",tabable:{interruption:"data-carousel_interruption",wrap:"data-carousel-wrap"}},default:{interval:5e3,tabable:{activeIndex:0,wrap:true}},evt:{tabable:{activate:"luda:carousel:activate",activated:"luda:carousel:activated",deactivate:"luda:carousel:deactivate",deactivated:"luda:carousel:deactivated"}},selector:{tabable:{targets:".carousel-item",indicators:".carousel-indicators .btn",prevCtrl:".carousel-prev",nextCtrl:".carousel-next"}}}).protect({interval:function(){var duration;duration=this.root.data(this.data.interval);if(duration===false){return false}return Math.abs(parseInt(duration,10))||this.default.interval}}).include(luda.mixin("tabable").alias({activate:"tabableActivate",next:"tabableNext",prev:"tabablePrev"})).include({pause:function(){if(!("intervaling"in this)){return}clearTimeout(this.intervaling);delete this.intervaling;this.nextInterval-=Date.now()-this.playAt;if(this.nextInterval<=10){this.nextInterval=void 0}return this.pauseIndex=this.tabableActiveIndex()},play:function(){var handler;if("intervaling"in this){return}if(!this.interval()){return}this.playAt=Date.now();if(this.pauseIndex!==this.tabableActiveIndex()){this.nextInterval=this.interval()}handler=(()=>{this.tabableNext();this.playAt=Date.now();this.nextInterval=this.interval();return this.intervaling=setTimeout(handler,this.interval())});return this.intervaling=setTimeout(handler,this.nextInterval)}}).protect(luda.mixin("tabable").all()).protect({togglePath:function(path,action){var targets;targets=path.filter(el=>{return this.con.contains(el)});return this.con.create(targets).forEach(function(ins){return ins[action]()})},pauseOnEvt:function(e){return this.togglePath(e.eventPath(),"pause")},playOnEvt:function(e){return this.togglePath(e.eventPath(),"play")},playOnTouchend:function(e){var path;path=e.eventPath();return setTimeout(()=>{return this.togglePath(path,"play")})}}).help({find:function(){return this.tabableFind()},create:function(){this.tabableCreate();return this.play()},destroy:function(){this.pause();return this.tabableDestroy()},watch:function(){var watches;watches=this.tabableWatch();watches.attr.push([this.data.interval,this.pause,this.play]);return watches},listen:function(){return this.tabableListen().concat([["swipeleft",this.tabableNextOnEvent],["swiperight",this.tabablePrevOnEvent],["touchstart mouseover",this.pauseOnEvt],["mouseout",this.playOnEvt],["touchend",this.playOnTouchend]])}});luda.component("dropdown",".dropdown-absolute, .dropdown-static, .dropdown-fixed, .dropdown-static-m").protect({cls:{toggleable:{active:"dropdown-active"}},data:{standalone:"data-dropdown-standalone",toggleable:{interruption:"data-dropdown_interruption",trigger:"data-dropdownable"}},default:{toggleable:{trigger:true}},evt:{toggleable:{activate:"luda:dropdown:activate",activated:"luda:dropdown:activated",deactivate:"luda:dropdown:deactivate",deactivated:"luda:dropdown:deactivated"}},selector:{items:"a[href]:not([disabled]),button:not([disabled]), input:not([disabled]),[tabindex]:not([disabled]), area[href]:not([disabled]),iframe:not([disabled])",toggleable:{target:".dropdown-menu"}}}).include(luda.mixin("toggleable").alias({activate:"toggleableActivate",deactivate:"toggleableDeactivate",toggle:"toggleableToggle"})).protect(luda.mixin("toggleable").all()).protect({parent:function(){var rootEl;rootEl=this.parentRoot.els[0];if(rootEl){return this.con.create(rootEl)[0]}else{return null}},escDeactivate:function(e){var parent;if(this.toggleableActive()){return this.toggleableDeactivateOnEvent(e)}else if(parent=this.parent()){return parent.escDeactivate(e)}},prevItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)-1;if(index<0){index=0}return items[index].focus()}else if(parent=this.parent()){return parent.prevItem(e)}},nextItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)+1;if(index>=items.length){index=items.length-1}return items[index].focus()}else if(parent=this.parent()){return parent.nextItem(e)}}}).help({find:function(){return Object.assign(this.toggleableFind(),{parentRoot:function(){return this.root.parent(this.con.root)},items:function(){var menu,self;self=this;menu=this.toggleableTarget;return menu.find(this.selector.items).filter(function(el){var parentMenu;parentMenu=luda(el).parent(self.selector.toggleable.target);return parentMenu.els[0]===menu.els[0]})}})},create:function(){return this.toggleableCreate()},destroy:function(){return this.toggleableDestroy()},listen:function(){var self;self=this;return[["click",this.toggleableToggleOnEvent],["keyup@tab",this.toggleableActivateOnEvent],["keydown@esc&prevent",this.escDeactivate],["keydown@left@up&prevent",this.prevItem],["keydown@right@down&prevent",this.nextItem],["click keyup@tab",function(e){var exceptions;exceptions=[];e.eventPath().forEach(function(el){return self.con.contains(el)&&exceptions.push(el)});return self.con.each(function(ins,rootEl){var isExcepted,isStandalone;isExcepted=exceptions.includes(rootEl);isStandalone=ins.root.hasData(self.data.standalone);!isExcepted&&!isStandalone&&ins.deactivate();return true})}]]}});luda.component("fmDropdown").protect({selector:{options:".dropdown-items .btn-radio input, .dropdown-items .btn-check input",labels:".dropdown-items .btn-radio label, .dropdown-items .btn-check label",simulator:".fm input"},data:{label:"fm-dropdown-label"},evt:{changed:"luda:fmDropdown:changed"},splitor:" "}).protect({initSimulator:function(){return this.simulator.data("auto",false).attr("readonly","")},updateSimulatorValue:function(){var values;values=[];this.options.els.forEach((input,index)=>{var label,value;if(!input.checked){return}label=this.labels.eq(index);value=label.data(this.data.label)||label.text();if(value&&!values.includes(value)){return values.push(value)}});return this.simulator.val(values.join(this.splitor))},updateValue:function(){var checked,oldVal;this.updateSimulatorValue();oldVal=this.selectedVal;checked=this.options.els.filter(function(input){return input.checked});this.selectedVal=checked.map(function(input){return luda(input).val()});if(!oldVal||luda.arrayEqual(this.selectedVal,oldVal)){return}return this.root.trigger(this.evt.changed,{value:this.selectedVal,selected:checked})},triggerClick:function(){return this.simulator.trigger("click")}}).help({find:function(){return{options:this.selector.options,labels:this.selector.labels,simulator:this.selector.simulator}},create:function(){this.initSimulator();return this.updateValue()},watch:function(){return{node:[[this.selector.options,this.updateValue]],attr:[["checked",this.selector.options,this.updateValue],["type",this.selector.options,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.options,this.updateValue],["keydown@enter",this.selector.simulator,this.triggerClick]]}});luda.component("tab").protect({cls:{tabable:{active:"tab-pane-active",indicatorActive:"btn-active"}},data:{tabable:{interruption:"data-tab_interruption"}},evt:{tabable:{activate:"luda:tab:activate",activated:"luda:tab:activated",deactivate:"luda:tab:deactivate",deactivated:"luda:tab:deactivated"}},selector:{tabable:{targets:".tab-pane",indicators:".tab-indicators .btn"}}}).include(luda.mixin("tabable").alias({activate:"tabableActivate"})).protect(luda.mixin("tabable").all()).help({find:function(){return this.tabableFind()},create:function(){return this.tabableCreate()},destroy:function(){return this.tabableDestroy()},watch:function(){return this.tabableWatch()},listen:function(){return this.tabableListen()}})});
6
+ (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var Type={isArray:Array.isArray,isString:function(x){return typeof x==="string"},isFunction:function(x){return typeof x==="function"},isObject:function(x){return typeof x==="object"},isBool:function(x){return typeof x==="boolean"},isNumeric:function(x){return!isNaN(parseFloat(x))&&isFinite(x)},isDecimalism:function(x){return/^\d*\.?\d+$/.test(x&&!/^0+\d+\.?/.test(x))},isId:function(x){return/^#[\w-]*$/.test(x)},isClass:function(x){return/^\.[\w-]*$/.test(x)},isTag:function(x){return/^\w+$/.test(x)},isSingleTag:function(x){return/^\s*<(\w+)\s*\/?>(?:<\/\1>)?\s*$/.test(x)},isHtml:function(x){return/<.+>/.test(x)},isScript:function(x){return x.tagName==="SCRIPT"&&/^$|^module$|\/(?:java|ecma)script/i.test(x.type)},isFragment:function(x){return/^\s*<(\w+)[^>]*>/.test(x)},isWindow:function(x){return x&&x===window},isDocument:function(x){return x&&x.nodeType===9},isElement:function(x){return x&&x.nodeType===1}};function createMounter(target,messagePrefix,handler){var mount;return mount=function(name,val){var msg,n,v;if(Type.isString(name)){if(name in target){msg=`Namespace '${name}' is occupied, `;msg+=`skip ${messagePrefix||"mounting"}.`;console.warn(msg)}else{target[name]=handler?handler(name,val):val}}else{for(n in name){v=name[n];mount(n,v)}}return this}}var getEnv;getEnv=function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported environment!")};var environment=getEnv();function find(selector,ctx=document){if(!(Type.isDocument(ctx)||Type.isElement(ctx))){return[]}return Array.from(function(){switch(false){case!Type.isClass(selector):return ctx.getElementsByClassName(selector.slice(1));case!Type.isTag(selector):return ctx.getElementsByTagName(selector);default:return ctx.querySelectorAll(selector)}}())}var containers,containersMap;containersMap=null;containers=function(type){var div,table,tr;if(containersMap){return containersMap[type]||containersMap["*"]}div=document.createElement("div");table=document.createElement("table");tr=document.createElement("tr");containersMap={"*":div,thead:table,tbody:table,tfoot:table,tr:document.createElement("tbody"),th:tr,td:tr};return containers(type)};function parseHTML(html){var container;if(!Type.isString(html)){return[]}if(Type.isSingleTag(html)){return[document.createElement(RegExp.$1)]}container=containers(Type.isFragment(html&&RegExp.$1));container.innerHTML=html;return Array.from(container.childNodes).map(function(node){if(node.parentNode){return node.parentNode.removeChild(node)}})}var Luda,luda$1;Luda=class Luda{constructor(selector,ctx=document){this.els=[];this.length=0;if(!selector){return}if(selector instanceof Luda){return selector}this.els=function(){switch(false){case!Type.isString(selector):if(Type.isHtml(selector)){return parseHTML(selector)}else{if(ctx instanceof Luda){ctx=ctx.els[0]}return find(selector,ctx)}break;case!(selector.nodeType||Type.isWindow(selector)):return[selector];case!Type.isArray(selector):return selector;default:return Array.from(selector)}}();this.length=this.els.length}};if(!(luda$1=environment.luda)){environment.luda=luda$1=function(selector,ctx){return new Luda(selector,ctx)};luda$1.include=createMounter(Luda.prototype,"including");luda$1.extend=createMounter(luda$1,"extending")}var ValuesMap={false:false,true:true,Infinity:Infinity,NaN:0/0,null:void 0,undefined:void 0};function readValue(value){if(value===null||value==="null"){return}if(!Type.isString(value)){return value}try{return JSON.parse(value)}catch(error){if(Type.isDecimalism(value)){return Number(value)}else if(value in ValuesMap){return ValuesMap[value]}else{return value}}}function parseValue(value){if(!Type.isObject(value)){return value}try{return JSON.stringify(value)}catch(error){return value}}function splitValues(str){if(Type.isString(str)){return str.match(/\S+/g)||[]}else{return[]}}luda$1.include({each:function(callback){this.els.some(function(el,index){return callback.call(el,el,index)===false});return this}});luda$1.include({removeAttr:function(attr){var attrs;attrs=splitValues(attr);if(!attrs.length){return this}this.els.forEach(function(el){return attrs.forEach(function(att){return el.removeAttribute(att)})});return this}});luda$1.include({attr:function(attr,value){var key,val;if(!attr){return}if(Type.isString(attr)){if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeAttr(attr)}this.els.forEach(function(el){return el.setAttribute(attr,parseValue(value))});return this}if(!this.els[0]){return}return readValue(this.els[0].getAttribute(attr))}for(key in attr){val=attr[key];this.attr(key,val)}return this}});luda$1.include({hasAttr:function(attr){if(!attr){return false}return this.els.some(function(el){return el.hasAttribute(attr)})}});var pattern,replacer;pattern=/-([a-z])/g;replacer=function(match,letter){return letter.toUpperCase()};function camelCase(str){return str.replace(pattern,replacer)}var pattern$1,replacer$1;pattern$1=/([A-Z])/g;replacer$1=function(match,letter){return`-${letter.toLowerCase()}`};function dashCase(str){return`${str[0].toLowerCase()}${str.slice(1).replace(pattern$1,replacer$1)}`}function arrayEqual(a,b,compareOrder){if(!(a&&b)){return false}if(a===b){return true}if(a.length!==b.length){return false}if(a.length===0){return true}if(compareOrder){return a.every(function(it,index){return it===b[index]})}else{return!a.some(function(it){return!b.includes(it)})}}var guid;guid=0;function guid$1(){return guid+=1}function pluck(arr,prop,deep,filter){var plucked;plucked=[];if(!Type.isArray(arr)){arr=[arr]}arr.forEach(function(item){var results,val;val=item[prop];results=[];while(val!=null){if(filter){if(filter(val)){plucked.push(val);if(!deep){break}}}else{plucked.push(val);if(!deep){break}}results.push(val=val[prop])}return results});return plucked}function unique(arr){if(!(arr.length>1)){return arr}return arr.filter(function(item,index){return arr.indexOf(item)===index})}["isString","isFunction","isArray","isObject","isBool","isNumeric","isElement"].forEach(function(key){return luda$1.extend(key,Type[key])});luda$1.extend({arrayEqual:arrayEqual,camelCase:camelCase,dashCase:dashCase,guid:guid$1,pluck:pluck,unique:unique});var _cache,cache,cacheFactory,privateCache,publicCache;publicCache={};privateCache={};cacheFactory=function(cache){return function(guid,key,value){if(!guid){return cache}if(key===null){return delete cache[guid]}else if(value===null){if(!(guid in cache)){return}delete cache[guid][key];if(!Object.keys(cache[guid]).length){return delete cache[guid]}}else if(value===void 0){if(key===void 0){return cache[guid]}if(Type.isObject(key)){return cache[guid]=key}if(!(guid in cache)){return}return cache[guid][key]}else{if(key===void 0){return}cache[guid]||(cache[guid]={});return cache[guid][key]=value}}};cache=cacheFactory(publicCache);_cache=cacheFactory(privateCache);var expando="__luda_guid";var _access,access,accessFactory,clean;accessFactory=function(c){return function(owner,key,value){var uid;if(!arguments.length){return c()}uid=owner[expando]||(owner[expando]=guid$1());return c(uid,key,value)}};access=accessFactory(cache);_access=accessFactory(_cache);clean=function(owner){if(owner[expando]){_access(owner,null);return access(owner,null)}};luda$1.include({removeCache:function(key){var keys;if(arguments.length){keys=splitValues(key).map(function(k){return camelCase(k)});if(!keys.length){return this}this.els.forEach(function(el){return keys.forEach(function(k){return access(el,k,null)})})}else{this.els.forEach(function(el){return access(el,null)})}return this}});luda$1.extend({cache:function(isPrivate){if(isPrivate){return _access()}else{return access()}}});luda$1.include({cache:function(key,value){var k,v;if(!key){if(!this.els[0]){return}return access(this.els[0])||access(this.els[0],{})}if(Type.isString(key)){key=camelCase(key);if(arguments.length<2){if(!this.els[0]){return}if(!access(this.els[0])){access(this.els[0],{})}return access(this.els[0],key)}if(value===void 0){return this}if(value===null){return this.removeCache(key)}this.els.forEach(function(el){if(!access(el)){access(el,{})}return access(el,key,value)});return this}for(k in key){v=key[k];this.cache(k,v)}return this}});var parse,pattern$2;pattern$2=/^\./;parse=function(cls){if(Type.isString(cls)){return cls.replace(pattern$2,"")}else{return cls}};var parseClass=parse;luda$1.include({toggleClass:function(cls,force){var classes,isForce;classes=splitValues(cls);isForce=force!==void 0;if(!classes.length){return this}classes=classes.map(function(c){return parseClass(c)});this.els.forEach(function(el){return classes.forEach(function(c){if(isForce){if(force){return el.classList.add(c)}else{return el.classList.remove(c)}}else{return el.classList.toggle(c)}})});return this}});luda$1.include({addClass:function(cls){return this.toggleClass(cls,true)}});luda$1.include({hasClass:function(cls){if(!cls){return false}cls=parseClass(cls);return this.els.some(function(el){return el.classList.contains(cls)})}});luda$1.include({removeClass:function(cls){if(arguments.length){return this.toggleClass(cls,false)}else{return this.attr("class","")}}});luda$1.include({add:function(selector,context){return luda$1(unique(this.els.concat(luda$1(selector,context).els)))}});luda$1.include({get:function(index){if(index===void 0){return this.els}return this.els[index<0?index+this.els.length:index]}});luda$1.include({eq:function(index){return luda$1(this.get(index))}});function matches(el,selector){return el&&el.matches&&el.matches(selector)}function collect(els,comparator,oppsite){if(!comparator||!(els!=null?els.length:void 0)){return els}return els.filter(function(el,index){var match;match=function(){switch(false){case!Type.isString(comparator):return matches(el,comparator);case!Type.isFunction(comparator):return comparator.call(el,el,index);case!(comparator instanceof Luda):return comparator.els.includes(el);default:return el===comparator}}();if(oppsite){return!match}else{return match}})}luda$1.include({filter:function(comparator){if(!comparator){return luda$1()}return luda$1(collect(this.els,comparator))}});luda$1.include({first:function(){return this.eq(0)}});luda$1.include({has:function(selector){var comparator;if(Type.isString(selector)){comparator=function(el){return find(selector,el).length>0}}else{comparator=function(el){return el.contains(selector)}}return this.filter(comparator)}});luda$1.include({children:function(comparator){var all;all=[];this.els.forEach(function(el){return[].push.apply(all,el.children)});return luda$1(collect(unique(all),comparator))}});luda$1.include({parent:function(comparator){var plucked;if(comparator){plucked=pluck(this.els,"parentElement",false,function(p){return collect([p],comparator).length})}else{plucked=pluck(this.els,"parentNode")}return luda$1(unique(plucked))}});luda$1.include({index:function(selector){var child,collection;child=selector?luda$1(selector).els[0]:this.els[0];collection=selector?this.els:luda$1(child).parent().children().els;return collection.indexOf(child)}});luda$1.include({is:function(comparator){if(!comparator||!this.els.length){return false}return collect(this.els,comparator).length>0}});luda$1.include({last:function(){return this.eq(-1)}});luda$1.include({map:function(callback){var collection;collection=this.els.map(function(el,index){return callback.call(el,el,index)});return luda$1(collection)}});luda$1.include({not:function(comparator){if(!comparator||!this.els.length){return this}return luda$1(collect(this.els,comparator,true))}});luda$1.include({slice:function(){return luda$1([].slice.apply(this.els,arguments))}});luda$1.extend({ready:function(callback){var handler;if(document.readyState==="loading"){handler=function(){callback(luda$1);return document.removeEventListener("DOMContentLoaded",handler)};document.addEventListener("DOMContentLoaded",handler)}else{handler=function(){return callback(luda$1)};setTimeout(handler)}return this}});function findAll(selector,ctx){var all;all=find(selector,ctx);if(matches(ctx,selector)){all.push(ctx)}return all}var Components,autoCreateAndDestroy,autoable,config,disAutoSelector,observer;disAutoSelector="[data-auto=false]";Components=[];observer=null;config={childList:true,subtree:true,attributes:true};autoCreateAndDestroy=function(Component){if(Components.includes(Component)){return}Components.push(Component);if(observer){return}observer=new MutationObserver(function(mus){var attrNodes,nodes;nodes=[];attrNodes=[];mus.forEach(function(mu){nodes=nodes.concat(Array.from(mu.addedNodes)).concat(Array.from(mu.removedNodes));if(mu.type==="attributes"){return attrNodes.push(mu.target)}});nodes=unique(nodes);attrNodes=unique(attrNodes);return Components.forEach(function(C){var els;els=[];nodes.forEach(function(node){return els=els.concat(findAll(C.root,node))});unique(els).forEach(function(el){if(matches(el,disAutoSelector)){return}if(document.contains(el)){return C.create(el)}else{return C.destroy(el)}});return attrNodes.forEach(function(el){if(!Type.isElement(el)){return}if(matches(el,disAutoSelector)){return}if(matches(el,C.root)){return C.create(el)}else if(C.instances[el[expando]]){return C.destroy(el)}})})});observer.observe(document,config);return _access(document,"ComponentsAutomation",{Components:Components,watcher:observer})};autoable=function(selector){return`${selector}:not(${disAutoSelector})`};var print;print=function(msg,style){if(Type.isString(msg)){return console.log(`%c${msg}`,style)}return console.log(msg)};var print$1=print;var active,factory,infoStyle,prvLabelStyle,pubLabelStyle;active=false;pubLabelStyle="color:#0085ff;font-weight:bold";prvLabelStyle="color:#f8427f;font-weight:bold";infoStyle="color:#383838;font-weight:bold";factory=function(style,label){var log;return log=function(){var msg,time;if(!arguments.length){return active}if(arguments.length===1&&Type.isBool(arguments[0])){active=arguments[0];msg=`Luda log ${active?"opened":"closed"}.`;return log(msg)}if(!active){return}time=Date.now();print$1(`\n\n\n${label}LOG ${guid$1()} ${time}`,style.label);return Array.from(arguments).forEach(function(arg){return print$1(arg,style.info)})}};luda$1.extend("log",factory({info:infoStyle,label:pubLabelStyle},""));var log=factory({info:infoStyle,label:prvLabelStyle},"LUDA ");function eventPath(event){var path;if(event.composedPath){return event.composedPath()}else if(event.path){return event.path}else{path=[event.target];path=path.concat(pluck(path,"parentNode",true));if(document.contains(event.target)){path.push(window)}return path}}var LudaEvent;LudaEvent=class LudaEvent{constructor(event){this.originalEvent=event}isDefaultPrevented(){return this.originalEvent.defaultPrevented}isPropagationStopped(){return!this.originalEvent.bubbles||this._propagationStopped}isImmediatePropagationStopped(){return this._immediatePropagationStopped}preventDefault(){return this.originalEvent.preventDefault()}stopPropagation(){this.originalEvent.stopPropagation();return this._propagationStopped=true}stopImmediatePropagation(){this.originalEvent.stopImmediatePropagation();return this._immediatePropagationStopped=true}eventPath(){return eventPath(this.originalEvent)}};function ludaEvent(event){var ludaEvent;ludaEvent=new LudaEvent(event);return new Proxy(ludaEvent,{get:function(target,key){if(key in target){return target[key]}else{return target.originalEvent[key]}}})}function nMatches(definedNamespace,namespace){return namespace.every(function(n){return definedNamespace.includes(n)})}var Variables={expando:"event",focusEvents:{focus:"focusin",blur:"focusout"},hoverEvents:{mouseenter:"mouseover",mouseleave:"mouseout"},swipeEvents:{left:"swipeleft",right:"swiperight",up:"swipeup",down:"swipedown"},swipeDistance:10,keyCodes:{enter:13,tab:9,ctrl:17,alt:18,shift:16,esc:27,back:8,space:32,cap:20,up:38,down:40,left:37,right:39,del:46,end:35,home:36,ins:45,pgUp:33,pgDown:34}};function parseEventName(name){var keysRe,preventRe,stopRe;stopRe=/(&stop)+/gi;preventRe=/(&prevent)+/gi;keysRe=new RegExp(`@(${Object.keys(Variables.keyCodes).join("|")})`,"g");return splitValues(name).map(function(n){var evtName,keyCodes,matchedKeys,preventDefault,splited,stopPropagation,type;stopPropagation=stopRe.test(n);preventDefault=preventRe.test(n);splited=n.replace(stopRe,"").replace(preventRe,"").replace(keysRe,"").split(".");evtName=splited[0];type=Variables.focusEvents[evtName]||Variables.hoverEvents[evtName]||evtName;keyCodes=[];matchedKeys=n.match(keysRe);matchedKeys&&matchedKeys.forEach(function(key){var k,keyCode;k=key.replace(/@/g,"");if(keyCode=Variables.keyCodes[k]){return keyCodes.push(keyCode)}});return{type:type,stop:stopPropagation,prevent:preventDefault,namespace:splited.slice(1),key:keyCodes}})}luda$1.include({trigger:function(name,detail,afterTrigger){var handledEvts;if(afterTrigger&&!Type.isFunction(afterTrigger)){handledEvts=[]}this.els.forEach(function(el){var events;if(Type.isString(name)){events=parseEventName(name).map(function(evt){var event;event=new CustomEvent(evt.type,{bubbles:true,cancelable:true,composed:true,detail:detail});event.namespace=evt.namespace;return event})}else{events=Type.isArray(name)?name:[name]}return events.forEach(function(e){var isFocusEvent;e.ludaEvent=ludaEvent(e);isFocusEvent=Object.values(Variables.focusEvents).includes(e.type);if(isFocusEvent&&Type.isFunction(el[e.type])){el[e.type]()}else{el.dispatchEvent(e)}if(Type.isFunction(afterTrigger)){return afterTrigger(e.ludaEvent,e.ludaEvent.detail,el)}else if(afterTrigger){return handledEvts.push(e.ludaEvent)}})});return handledEvts||this}});var createEvent,startX,startY,touchMoveHandler,touchStartHandler,triggered;startX=startY=0/0;triggered=false;touchStartHandler=function(e){if(e.defaultPrevented){return}if(e.touches.length!==1){return}startX=e.touches[0].screenX;startY=e.touches[0].screenY;return triggered=false};touchMoveHandler=function(e){var direction,endX,endY,xMoved,yMoved;if(e.defaultPrevented){return}if(e.touches.length!==1){return}if(triggered){return}endX=e.touches[0].screenX;xMoved=endX-startX;if(Math.abs(xMoved)>=Variables.swipeDistance){triggered=true;direction=xMoved>0?"right":"left";return luda$1(e.target).trigger(createEvent(direction,startX,endX,xMoved))}endY=e.touches[0].screenY;yMoved=endY-startY;if(Math.abs(yMoved)>=Variables.swipeDistance){triggered=true;direction=yMoved>0?"down":"up";return luda$1(e.target).trigger(createEvent(direction,startY,endY,yMoved))}};createEvent=function(direction,start,end,moved){var event;event=new CustomEvent(Variables.swipeEvents[direction],{bubbles:true,cancelable:true,composed:true});event.start=start;event.end=end;event.distance=Math.abs(moved);return event};var swipeEvent={add:function(el){el.addEventListener("touchstart",touchStartHandler);return el.addEventListener("touchmove",touchMoveHandler)},remove:function(el){el.removeEventListener("touchstart",touchStartHandler);return el.removeEventListener("touchmove",touchMoveHandler)}};var removeEvent;var removeEvent$1=removeEvent=function(el,type,selector,callback,namespace){var evtCache,length,swipeTypes,typeCache;evtCache=_access(el,Variables.expando);if(!evtCache){return}if(!type){for(type in evtCache){typeCache=evtCache[type];removeEvent(el,type,selector,callback,namespace)}}else if(type!=="handler"&&(typeCache=evtCache[type])){typeCache.quene||(typeCache.quene=[]);typeCache.quene=typeCache.quene.filter(function(item){if(callback&&callback!==item.callback){return true}if(selector&&selector!==item.selector){return true}if(namespace&&!nMatches(item.namespace,namespace)){return true}});if(!typeCache.quene.length&&typeCache.binded&&evtCache.handler){el.removeEventListener(type,evtCache.handler);delete evtCache[type]}swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)&&swipeTypes.every(function(t){return!evtCache[t]})){swipeEvent.remove(el)}}length=Object.keys(evtCache).length;if(!length||length===1&&"handler"in evtCache){return _access(el,Variables.expando,null)}};var addEvent;addEvent=function(el,type,selector,callback,namespace,kc,stop,prevent,_one){var evtCache,expando,handler,quene,swipeBinded,swipeTypes,typeCache;if(type==="handler"){throw new Error("handler cannot be used as event type")}expando=Variables.expando;evtCache=_access(el,expando)||_access(el,expando,{});typeCache=evtCache[type]||(evtCache[type]={});quene=typeCache.quene||(typeCache.quene=[]);quene.push({selector:selector,callback:callback,namespace:namespace,key:kc,stop:stop,prevent:prevent,one:_one});handler=evtCache.handler||(evtCache.handler=function(event){var cached,collection,eType,self;self=this;cached=_access(self,Variables.expando);eType=event.type;if(!(cached&&cached[eType])){return}collection=eventPath(event);collection=collection.slice(0,collection.indexOf(self)+1);event=event.ludaEvent||ludaEvent(event);return collection.every(function(node){cached[eType].quene.every(function(it){var returnValue;if((selector=it.selector)&&matches(node,selector)||!it.selector&&node===self){if(event.namespace&&!nMatches(it.namespace,event.namespace)){return true}if(event.keyCode&&it.key.length&&!it.key.includes(event.keyCode)){return true}event.currentTarget=node;returnValue=it.callback.call(node,event,event.detail);if(it.one){removeEvent$1(self,eType,it.selector,it.callback,it.namespace)}if(it.stop||returnValue===false){event.stopPropagation()}if(it.prevent||returnValue===false){event.preventDefault()}}return!event.isImmediatePropagationStopped()});return!event.isPropagationStopped()})});swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)){swipeBinded=swipeTypes.some(function(type){var ref;return(ref=evtCache[type])!=null?ref.binded:void 0});if(!swipeBinded){swipeEvent.add(el)}}if(!typeCache.binded){typeCache.binded=true;return el.addEventListener(type,handler)}};var addEvent$1=addEvent;luda$1.include({on:function(name,selector,callback,_one){var key,keyCallback,self;self=this;if(!Type.isString(name)){for(key in name){keyCallback=name[key];this.on(key,selector,keyCallback)}return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return addEvent$1(el,option.type,selector,callback,option.namespace,option.key,option.stop,option.prevent,_one)})});return this}});luda$1.include({off:function(name,selector,callback){var self;self=this;if(name===void 0){this.els.forEach(function(el){return removeEvent$1(el)});return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return removeEvent$1(el,option.type,selector,callback,option.namespace)})});return this}});var addEvents,findRoot,isntPropagation,namespace,removeEvents;namespace=function(C){return`.${C.id}`};findRoot=function(C,event){var rootEl;if(Type.isDocument(C.root)){return C.root}rootEl=null;event.eventPath().some(function(el){if(!matches(el,C.root)){return}return rootEl=el});return rootEl};isntPropagation=function(C,event,rootEl){if(Type.isDocument(C.root)){return true}if(event.currentTarget===rootEl){return true}return luda$1(event.currentTarget).parent(C.root).els[0]===rootEl};addEvents=function(C){var events;events=C.helpers.listen.call(C.prototype);return events.forEach(function(evt){var callbacks,evtSelector,name,selector;if(!evt[0]){return}name=`${evt[0]}${namespace(C)}`;selector=Type.isFunction(evt[1])?"":evt[1];callbacks=Type.isFunction(evt[1])?evt.slice(1):evt.slice(2);evtSelector=selector;return callbacks.forEach(function(callback){var handler;if(!Type.isFunction(callback)){return}if(Object.values(C.prototype).includes(callback)){if(Type.isString(C.root)&&selector.replace(C.root,"")===selector){evtSelector=selector?`${C.root} ${selector}`:C.root}handler=function(event,data){var rootEl;if(!(rootEl=findRoot(C,event))){return}if(!isntPropagation(C,event,rootEl)){return}return callback.call(C.create(rootEl)[0],event,data)}}else{handler=function(event,data){return callback.call(this,event,data)}}return luda$1(document).on(name,evtSelector,handler)})})};removeEvents=function(C){return luda$1(document).off(namespace(C))};luda$1.include({parents:function(comparator){return luda$1(collect(unique(pluck(this.els,"parentElement",true)),comparator))}});function unnested(instance,els){var rootEl,rootSelector;rootEl=instance.root.els[0];rootSelector=instance.constructor.root;return els.filter(function(el){var rootParent;if(el===rootEl){return true}if(matches(el,rootSelector)){return false}rootParent=luda$1(el).parent(rootSelector).els[0];if(document.contains(el)){return rootParent===rootEl}else{return!rootParent}})}var addTraversal,cleanTraversal,createGetter;createGetter=function(C,name,selector,nestable,cacheable){return Object.defineProperty(C.prototype,name,{get:function(){var cache,collection,matched,rootEl;if(!selector){return luda$1()}if(selector instanceof Luda){return selector}if(Type.isFunction(selector)){return selector.call(this)}if(!Type.isString(selector)){return luda$1(selector)}if(!(rootEl=this.root.els[0])){return luda$1()}cacheable&&(cache=C.instances[this.id].traversal);if(cache&&name in cache){return cache[name]}matched=luda$1(selector,rootEl).els;!nestable&&(matched=unnested(this,matched));collection=luda$1(unique(matched));if(!cache){return collection}if(collection.length){return cache[name]=collection}else{return collection}}})};addTraversal=function(C){var cacheable,msg,name,nestable,selector,traversals;traversals=C.helpers.find.call(C.prototype);nestable=Type.isDocument(C.root);cacheable=Type.isString(C.root);for(name in traversals){selector=traversals[name];if(name in C.prototype){msg=`'${name}' was defined on prototype`;msg=`${msg}, skip adding traversal getter.`;console.warn(msg)}else{createGetter(C,name,selector,nestable,cacheable)}}return cacheable&&(C.prototype.cleanTraversal=function(name){var cached,traversal;if(!(cached=this.constructor.instances[this.id])){return}if(!(traversal=cached.traversal)){return}return cleanTraversal(traversal,name)})};cleanTraversal=function(cache,name){var names;if(!cache){return}if(!Type.isString(name)){name=""}names=name?splitValues(name):Object.keys(cache);return names.forEach(function(n){return delete cache[n]})};var config$1,createObserver,cur,executeMutations,findSameMutation,nodesEqual,runAttrCallbacks,runNodeCallbacks,stopWatch,watch;config$1={childList:true,subtree:true,attributes:true,attributeOldValue:true};cur=function(ins,callback,target){var isInProto,proto;proto=ins.constructor.prototype;isInProto=Object.values(proto).includes(callback);if(isInProto){return ins}else{return target}};runNodeCallbacks=function(type,mutation,watches,nestable){var C,ins,mu,nodes;ins=mutation.ins;C=ins.constructor;mu=mutation.mu;nodes=Array.from(mu[`${type}Nodes`]);return watches.node.forEach(function(node){var els;els=[];nodes.forEach(function(n){return els=els.concat(findAll(node.selector,n))});if(!els.length){return}!nestable&&(els=unnested(ins,unique(els)));return els.length&&node.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,els);if(callback!==C.prototype.cleanTraversal){log(`${C.id} ID: ${ins.id} executes nodes ${type} callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],`Nodes ${type}`,els,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[els,type])}return callback.call(ctx,els,type)})})};runAttrCallbacks=function(mutation,watches,nestable){var C,ins,mu,name,oldVal,target;ins=mutation.ins;mu=mutation.mu;C=ins.constructor;name=mu.attributeName;target=mu.target;oldVal=mu.oldValue;if(!(name&&Type.isElement(target))){return}if(!nestable&&!unnested(ins,[target]).length){return}return watches.attr.forEach(function(attr){if(!attr.name.includes(name)){return}if(!matches(target,attr.selector)){return}return attr.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,target);log(`${C.id} ID: ${ins.id} executes ${name} changed callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],"Changed target",target,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[target,oldVal]);return callback.call(ctx,target,oldVal)})})};executeMutations=function(C,mutations,nestable){return mutations.forEach(function(mutation){runNodeCallbacks("added",mutation,C.watches,nestable);runNodeCallbacks("removed",mutation,C.watches,nestable);return runAttrCallbacks(mutation,C.watches,nestable)})};nodesEqual=function(nodesOne,nodesTwo){return arrayEqual(Array.from(nodesOne),Array.from(nodesTwo),true)};findSameMutation=function(mutations,mu){var theSameMutation;theSameMutation=null;mutations.some(function(mutation){if(mu===mutation.mu){return theSameMutation=mutation}if(mu.type!==mutation.mu.type){return}if(mu.target!==mutation.mu.target){return}if(mu.attributeName!==mutation.mu.attributeName){return}if(mu.oldValue!==mutation.mu.oldValue){return}if(!nodesEqual(mu.addedNodes,mutation.mu.addedNodes)){return}if(!nodesEqual(mu.removedNodes,mutation.mu.removedNodes)){return}return theSameMutation=mutation});return theSameMutation};createObserver=function(C,instance){var inses,nestable,observer,rootEl;inses=C.instances;rootEl=instance.root.els[0];nestable=Type.isDocument(C.root);observer=new MutationObserver(function(mus){var mutations;mutations=mus.map(function(mu){return{ins:instance,mu:mu}});!nestable&&find(C.root,rootEl).forEach(function(el){var cached,ins,watcher;if(!(cached=inses[el[expando]])){return}if(!(ins=cached.instance)){return}if(!(watcher=cached.watcher)){return}return watcher.takeRecords().forEach(function(mu){var nestedMutation;nestedMutation=findSameMutation(mutations,mu);if(nestedMutation){return nestedMutation.ins=ins}})});return executeMutations(C,mutations,nestable)});observer.observe(rootEl,config$1);return observer};watch=function(C,ins){var conf;if(!C.watches){conf=C.helpers.watch.call(C.prototype);C.watches={node:(conf.node||[]).map(function(d){return{selector:Type.isFunction(d[0])?"*":d[0],callbacks:Type.isFunction(d[0])?d:d.slice(1)}}),attr:(conf.attr||[]).map(function(a){return{name:splitValues(a[0]),selector:Type.isFunction(a[1])?"*":a[1],callbacks:Type.isFunction(a[1])?a.slice(1):a.slice(2)}})}}return createObserver(C,ins)};stopWatch=function(ins,watcher){return watcher.disconnect()};var Base;Base=function(){class Base{constructor(root){var C,create,definedWatch,find,inses,listen,proto,rootEl,traversal,watcher;C=this.constructor;proto=C.prototype;inses=C.instances;if(!(Type.isString(C.root)||Type.isDocument(C.root))){throw new Error("Component root can only be selectors or document")}if(root instanceof C){return root}if(Type.isDocument(C.root)){root=C.root}this.root=luda$1(root);if(!(rootEl=this.root.els[0])){return}if(this.root.length>1){this.root=luda$1(rootEl)}this.id=rootEl[expando]||(rootEl[expando]=guid$1());if(this.id in inses){return inses[this.id].instance}if((listen=C.helpers.listen)&&!C.eventsBinded){addEvents(C);C.eventsBinded=true}if((find=C.helpers.find)&&!C.traversalAdded){addTraversal(C);C.traversalAdded=true}if(proto.cleanTraversal){traversal={}}if(traversal&&!C.watches){if(definedWatch=C.helpers.watch){C.helpers.watch=function(){var watches;watches=definedWatch.call(this);watches.node||(watches.node=[]);watches.node.unshift([proto.cleanTraversal]);return watches}}else{C.helpers.watch=function(){return{node:[[proto.cleanTraversal]]}}}}if(C.helpers.watch){watcher=watch(C,this)}inses[this.id]={instance:this,traversal:traversal,watcher:watcher};_access(rootEl,C.id,inses[this.id]);if(create=C.helpers.create){create.call(this)}log(`${C.id} ID: ${this.id} created.`,"Root element",rootEl,"Cache",inses[this.id])}static create(selector,ctx){var C;C=this;if(Type.isDocument(this.root)||!selector){selector=this.root}return luda$1(selector,ctx).els.map(function(el){return new C(el)})}static destroy(selector,ctx){var C,hasInstances,inses;C=this;inses=this.instances;if(Type.isDocument(this.root)||!selector){selector=this.root}luda$1(selector,ctx).els.forEach(function(rootEl){var destroy,id,instance,watcher;if(!(id=rootEl[expando])){return}if(!(id in inses)){return}instance=inses[id].instance;watcher=inses[id].watcher;if(destroy=C.helpers.destroy){destroy.call(instance)}if(watcher){stopWatch(instance,watcher)}delete inses[id];_access(rootEl,C.id,null);return log(`${C.id} ID: ${id} destroied.`,"Root element",rootEl,"Cache",inses[id])});hasInstances=Object.keys(inses).length;if(!hasInstances&&C.eventsBinded){removeEvents(C);C.eventsBinded=false}return this}static help(key,val){this.help=createMounter(this.helpers,"helping");return this.help(key,val)}static include(key,val){var C,fn;C=this;fn=function(name,value){C.included.push(name);return value};this.include=createMounter(this.prototype,"including",fn);return this.include(key,val)}static protect(key,val){this.protect=createMounter(this.prototype,"protecting");return this.protect(key,val)}static contains(selector,ctx){var inses;inses=this.instances;return luda$1(selector,ctx).els.some(function(el){var id;return(id=el[expando])&&inses[id]})}static each(callback){Object.values(this.instances).some(function(cache,index){var instance,rootEl;instance=cache.instance;rootEl=instance.root.els[0];return callback(instance,rootEl,index,cache)===false});return this}}Base.prototype.win=luda$1(window);Base.prototype.doc=luda$1(document);Object.defineProperty(Base.prototype,"html",{get:function(){return luda$1(document.documentElement)}});Object.defineProperty(Base.prototype,"body",{get:function(){return luda$1(document.body)}});Object.defineProperty(Base.prototype,"con",{get:function(){return this.constructor}});return Base}.call(this);var Base$1=Base;var constructorAccessWarn,createComponentProxy,createInstancesCallProxy,createInstancesProxy,instanceAccessWarn;constructorAccessWarn=function(action,C,key){var msg;if(!(key in C&&!C.extended.includes(key))){return}msg=`${action} private property '${key}' of ${C.id}`;return console.warn(msg)};createComponentProxy=function(C){var proxy;return proxy=new Proxy(C,{get:function(target,key){constructorAccessWarn("Getting",C,key);return C[key]},set:function(target,key,val){constructorAccessWarn("Setting",C,key);return C[key]=val},apply:function(target,ctx,args){var inses;inses=C.create.apply(C,args);return createInstancesProxy(inses)}})};instanceAccessWarn=function(action,ins,key){var msg;if(!(key in ins&&!ins.con.included.includes(key))){return}msg=`${action} private property '${key}' of ${ins.con.id} ${ins.id}`;return console.warn(msg)};createInstancesProxy=function(inses){var proxy;return proxy=new Proxy(inses,{set:function(target,key,val){return inses.map(function(ins){instanceAccessWarn("Setting",ins,key);return ins[key]=val})},get:function(target,key){var vals;vals=inses.map(function(ins){instanceAccessWarn("Getting",ins,key);return ins[key]});return createInstancesCallProxy(inses,vals,key,proxy)}})};createInstancesCallProxy=function(inses,vals,key,instancesProxy){var proxy;return proxy=new Proxy(new Function,{get:function(target,k){if(!Type.isFunction(vals[k])){return vals[k]}return vals[k].bind(vals)},apply:function(target,ctx,args){var option,returns;returns=inses.map(function(ins){return ins[key].apply(ins,args)});option=args[args.length-1];if(Type.isObject(option)&&option.chain===false){return returns}else{return instancesProxy}}})};function createProxy(Component){return createComponentProxy(Component)}var factory$1;luda$1.extend("component",factory$1=function(name,root){var Component,occupied;Component=function(){class Component extends Base$1{}Component.id=camelCase(`Component${name?"-"+name:"_"+guid$1()}`);Component.root=root?root:name?`.${dashCase(name)}`:document;Component.instances={};Component.helpers={};Component.included=["toString"];Component.extended=["toString"];Component.eventsBinded=false;Component.autoEnabled=false;Component.traversalAdded=false;Component.watches=null;return Component}.call(this);occupied=name&&name in luda$1;if(name){luda$1.extend(name,createProxy(Component))}!occupied&&luda$1.ready(function(){if(Type.isDocument(Component.root)){Component.create(Component.root)}if(!Type.isString(Component.root)){return}Component.create(autoable(Component.root));autoCreateAndDestroy(Component);return Component.autoEnabled=true});return Component});function computeStyle(el,prop,isVar){var style;if(!Type.isElement(el)||!prop){return}style=window.getComputedStyle(el,null);if(prop){if(isVar){return style.getPropertyValue(prop)||void 0}else{return style[prop]}}else{return style}}function isVariable(prop){return/^--/.test(prop)}function readProp(prop,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar){return prop}else{return camelCase(prop)}}var numericProps;numericProps=["animationIterationCount","columnCount","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex"];function parseValue$1(prop,value,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar||numericProps.includes(prop)){return value}if(Type.isNumeric(value)){return`${value}px`}else{return value}}luda$1.include({css:function(prop,value){var isVar,key,val;if(Type.isString(prop)){isVar=isVariable(prop);prop=readProp(prop,isVar);if(arguments.length<2){return this.els[0]&&computeStyle(this.els[0],prop,isVar)}if(!prop){return this}value=parseValue$1(prop,value,isVar);this.els.forEach(function(el){if(!Type.isElement(el)){return}if(isVar){return el.style.setProperty(prop,value)}else{return el.style[prop]=value}});return this}for(key in prop){val=prop[key];this.css(key,val)}return this}});luda$1.include({removeCss:function(prop){return this.css(prop,"")}});var parse$1,pattern$3;pattern$3=/^data-/i;parse$1=function(name){return camelCase(name.replace(pattern$3,""))};var parseName=parse$1;luda$1.include({removeData:function(name){var names;if(arguments.length){names=splitValues(name);if(!names.length){return this}names=names.map(function(n){return parseName(n)});this.els.forEach(function(el){return names.forEach(function(n){return n in el.dataset&&delete el.dataset[n]})})}else{this.els.forEach(function(el){var n,ref,results,val;ref=el.dataset;results=[];for(n in ref){val=ref[n];results.push(n in el.dataset&&delete el.dataset[n])}return results})}return this}});luda$1.include({data:function(name,value){var datas,key,ref,val;if(!name){if(!this.els[0]){return}datas={};ref=this.els[0].dataset;for(key in ref){val=ref[key];datas[key]=readValue(val)}return datas}if(Type.isString(name)){name=parseName(name);if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeData(name)}val=parseValue(value);this.els.forEach(function(el){return el.dataset[name]=val});return this}if(!this.els[0]){return}return readValue(this.els[0].dataset[name])}for(key in name){val=name[key];this.data(key,val)}return this}});luda$1.include({hasData:function(key){if(!key){return false}key=parseName(key);return this.els.some(function(el){return el.dataset&&key in el.dataset})}});var factory$3;factory$3=function(prop){return function(){var el;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`inner${prop}`]}return el[`client${prop}`]}};luda$1.include({innerWidth:factory$3("Width"),innerHeight:factory$3("Height")});function computeStyleInt(el,prop){return parseInt(computeStyle(el,prop),10)||0}function getExtraSpace(el,xAxis){return computeStyleInt(el,`border${xAxis?"Left":"Top"}Width`)+computeStyleInt(el,`padding${xAxis?"Left":"Top"}`)+computeStyleInt(el,`padding${xAxis?"Right":"Bottom"}`)+computeStyleInt(el,`border${xAxis?"Right":"Bottom"}Width`)}var factory$4;factory$4=function(prop){return function(value){var e,valNumber;if(!(e=this.els[0])){if(value===void 0){return void 0}else{return this}}if(!arguments.length){if(Type.isWindow(e)){return e[camelCase(`outer-${prop}`)]}return e.getBoundingClientRect()[prop]-getExtraSpace(e,prop==="width")}valNumber=parseInt(value,10);this.els.forEach(function(el){var boxSizing,extra;if(!Type.isElement(el)){return}boxSizing=computeStyle(el,"boxSizing");extra=0;if(boxSizing==="border-box"){extra=getExtraSpace(el,prop==="width")}return el.style[prop]=parseValue$1(prop,valNumber+extra)});return this}};luda$1.include({width:factory$4("width"),height:factory$4("height")});var factory$5;factory$5=function(prop){return function(includeMargins){var el,marginOne,marginTwo,offsetSize;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`outer${prop}`]}offsetSize=el[`offset${prop}`];if(!includeMargins){return offsetSize}marginOne=computeStyleInt(el,`margin${prop==="Width"?"Left":"Top"}`);marginTwo=computeStyleInt(el,`margin${prop==="Width"?"Right":"Bottom"}`);return offsetSize+marginOne+marginTwo}};luda$1.include({outerWidth:factory$5("Width"),outerHeight:factory$5("Height")});luda$1.include({one:function(name,selector,callback){return this.on(name,selector,callback,true)}});function getValue(el){var val;if(el.multiple&&el.options){val=[];[].forEach.call(el.options,function(option){var optionValue;if(option.selected&&!option.disabled&&!option.parentNode.disabled){optionValue=readValue(option.value);if(optionValue===void 0||optionValue===null){optionValue=""}return val.push(optionValue)}});return val}val=readValue(el.value);if(val===void 0||val===null){return""}else{return val}}luda$1.include({val:function(value){if(value===void 0){return this.els[0]&&getValue(this.els[0])}this.els.forEach(function(el){var hasSelected,options,val;if(el.tagName==="SELECT"){if(Type.isArray(value)){val=value}else if(value===null){val=[]}else{val=[value]}hasSelected=false;options=Array.from(el.options);options.forEach(function(o){var selected;selected=val.includes(readValue(o.value));o.selected=selected;return hasSelected||(hasSelected=selected)});if(!hasSelected){el.selectedIndex=-1}return options.forEach(function(o){return luda$1(o).attr("selected",o.selected?"":null)})}else{val=value===null?"":parseValue(value);el.value=val;return luda$1(el).attr("value",val)}});return this}});var Variables$1={scriptExpando:"script"};function clone(el,cacheAndEvts,deep){var cloned,clonedScripts,clones,nodes,scripts;cloned=el.cloneNode(true);scripts=findAll("script",el);clonedScripts=findAll("script",cloned);scripts.forEach(function(script,i){var cache;if(!Type.isScript(script)){return}if(script.src){return}cache=_access(script,Variables$1.scriptExpando);cache||(cache={executed:false});_access(script,Variables$1.scriptExpando,cache);return _access(clonedScripts[i],Variables$1.scriptExpando,cache)});if(!cacheAndEvts){return cloned}if(deep){nodes=findAll("*",el);clones=findAll("*",cloned)}else{nodes=[el];clones=[cloned]}nodes.forEach(function(node,i){var _evt,cache,config,type;if(_evt=_access(node,Variables.expando)){for(type in _evt){config=_evt[type];config.quene&&config.quene.forEach(function(it){return addEvent$1(clones[i],type,it.selector,it.callback,it.namespace,it.key,it.stop,it.prevent,it._one)})}}if(cache=access(node)){return access(clones[i],Object.assign({},cache))}});return cloned}luda$1.include({find:function(selector){var all;all=[];this.els.forEach(function(el){var found;found=find(selector,el);if(found.length){return[].push.apply(all,found)}});return luda$1(unique(all))}});var CDATARe,geval;CDATARe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;geval=eval;function evalScripts(node){var collection,scripts;collection=luda$1(node);scripts=collection.filter("script").add(collection.find("script")).els;return scripts.forEach(function(el){var scriptCache;if(!(!el.src&&Type.isScript(el))){return}if(!el.ownerDocument.documentElement.contains(el)){return}scriptCache=_access(el,Variables$1.scriptExpando);if(scriptCache&&scriptCache.executed){return}geval(el.textContent.replace(CDATARe,""));if(scriptCache){return scriptCache.executed=true}else{return _access(el,Variables$1.scriptExpando,{executed:true})}})}function insertElement(anchor,child,prepend,prependTarget){if(prepend){anchor.insertBefore(child,prependTarget)}else{anchor.appendChild(child)}return evalScripts(child)}luda$1.include({insertAfter:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target.nextSibling)})});return this}});luda$1.include({after:function(){var argReverse,handler,self;self=this;argReverse=[].reverse.apply(arguments);handler=function(selector){var els;els=luda$1(selector).els.reverse();return luda$1(els).insertAfter(self)};[].forEach.call(argReverse,handler);return this}});function insertContent(parent,child,prepend){return parent.forEach(function(p,parentIndex){return child.forEach(function(c){var childToBeInserted;childToBeInserted=parentIndex?clone(c,true,true):c;return insertElement(p,childToBeInserted,prepend,prepend&&p.firstChild)})})}luda$1.include({appendTo:function(selector){insertContent(luda$1(selector).els,this.els);return this}});luda$1.include({append:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els)};[].forEach.call(arguments,handler);return this}});luda$1.include({insertBefore:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target)})});return this}});luda$1.include({before:function(){var handler,self;self=this;handler=function(selector){return luda$1(selector).insertBefore(self)};[].forEach.call(arguments,handler);return this}});luda$1.include({clone:function(cacheAndEvents,deep){var collection;if(deep===void 0){deep=cacheAndEvents}collection=this.els.map(function(el){return clone(el,cacheAndEvents,deep)});return luda$1(collection)}});luda$1.include({detach:function(){this.els.forEach(function(el){var parent;if(parent=el.parentNode){return parent.removeChild(el)}});return this}});function clean$1(ctx){return findAll("*",ctx).forEach(function(el){removeEvent$1(el);return clean(el)})}luda$1.include({empty:function(){this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=""});return this}});luda$1.include({html:function(html){if(html===void 0&&this.els.length){return this.els[0].innerHTML}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.innerHTML=html});return this}});luda$1.include({prependTo:function(selector){insertContent(luda$1(selector).els,this.els.reverse(),true);return this}});luda$1.include({prepend:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els,true)};[].forEach.call(arguments,handler);return this}});luda$1.include({remove:function(){this.els.forEach(function(el){var parent;clean$1(el);if(parent=el.parentNode){return parent.removeChild(el)}});return this}});luda$1.include({replaceWith:function(selector){return this.before(selector).remove()}});luda$1.include({replaceAll:function(selector){luda$1(selector).replaceWith(this);return this}});luda$1.include({text:function(text){if(text===void 0){if(this.els[0]){return this.els[0].textContent}else{return""}}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=text});return this}});luda$1.include({unwrap:function(){this.parent().els.forEach(function(el){var collection;collection=luda$1(el);return collection.replaceWith(collection.children())});return this}});luda$1.include({wrapAll:function(selector){var structure,wrapper;if(!this.els.length){return this}structure=luda$1(selector);this.first().before(structure);wrapper=structure.els[0];while(wrapper.children.length){wrapper=wrapper.firstElementChild}return this.appendTo(wrapper)}});luda$1.include({contents:function(){var all;all=[];this.els.forEach(function(el){var content;if(el.tagName==="IFRAME"){content=[el.contentDocument]}else{content=el.childNodes}return[].push.apply(all,content)});return luda$1(unique(all))}});luda$1.include({wrapInner:function(selector){this.els.forEach(function(el){var contents,target;target=luda$1(el);contents=target.contents();if(contents.els.length){return contents.wrapAll(selector)}else{return target.append(selector)}});return this}});luda$1.include({wrap:function(selector){this.els.forEach(function(el,index){var wrapper;wrapper=luda$1(selector).els[0];return luda$1(el).wrapAll(index?clone(wrapper,true,true):wrapper)});return this}});var Mixin;var Mixin$1=Mixin=class Mixin{constructor(conf){this.conf=conf}get(key){return this.conf[key]}all(){return Object.assign({},this.conf)}only(keys){var picked;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}keys.forEach(k=>{if(k in this.conf){return picked[k]=this.conf[k]}});return picked}except(keys){var k,picked,ref,v;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}ref=this.conf;for(k in ref){v=ref[k];if(!keys.includes(k)){picked[k]=v}}return picked}alias(newName,name){var k,picked,v;picked={};if(arguments.length===1&&Type.isObject(newName)){for(k in newName){v=newName[k];if(v in this.conf){picked[k]=this.conf[v]}}}else{if(name in this.conf){picked[newName]=this.conf[name]}}return picked}};var get,mount,named,unmount;named={};mount=createMounter(named,"mixing");unmount=function(name){return delete named[name]};get=function(name){return named[name]||{}};luda$1.extend({mixin:function(name,conf){var mixin;if(arguments.length===1){if(Type.isString(name)){return get(name)}else{return new Mixin$1(conf)}}else{if(conf===null){unmount(name);return this}else{mixin=new Mixin$1(conf);mount(name,mixin);return this}}}});luda$1.mixin.named=named;luda$1.include({offsetParent:function(){return luda$1(this.els[0]&&this.els[0].offsetParent)}});luda$1.include({offset:function(){var docEl,el,rect;el=this.els[0];if(!el){return}docEl=document.documentElement;rect=el.getBoundingClientRect();return{top:rect.top+window.pageYOffset-docEl.clientTop,left:rect.left+window.pageXOffset-docEl.clientLeft}}});luda$1.include({position:function(){var el;el=this.els[0];if(!el){return}return{left:el.offsetLeft,top:el.offsetTop}}});luda$1.include({prop:function(prop,value){var key,val;if(!prop){return}if(Type.isString(prop)){if(arguments.length<2){return this.els[0]&&this.els[0][prop]}this.els.forEach(function(el){return el[prop]=value});return this}for(key in prop){val=prop[key];this.prop(key,val)}return this}});luda$1.include({removeProp:function(prop){var props;props=splitValues(prop);if(!props.length){return this}this.els.forEach(function(el){return props.forEach(function(p){return delete el[p]})});return this}});luda$1.include({reflow:function(){this.els.forEach(function(el){return el.offsetHeight});return this}});function getDurations(style,propertyLength){var durationArray;durationArray=style.split(",");while(durationArray.length<propertyLength){durationArray=durationArray.concat(durationArray)}if(durationArray.length>propertyLength){durationArray=durationArray.slice(0,propertyLength)}return durationArray.map(function(durationStr){var duration;duration=parseFloat(durationStr);if(!duration){return 0}if(durationStr.match("ms")){return duration}else{return duration*1e3}})}luda$1.include({transitionDuration:function(){var delays,durations,el,finalDurations,length,styles;if(!(el=this.els[0])){return}styles=window.getComputedStyle(el);length=styles.transitionProperty.split(",").length;if(!length){return 0}delays=getDurations(styles.transitionDelay,length);durations=getDurations(styles.transitionDuration,length);finalDurations=durations.map(function(duration,index){return duration+delays[index]});return Math.max.apply(null,finalDurations)}});luda$1.include({closest:function(comparator){var filtered;if(!comparator||!this.els.length){return luda$1()}filtered=this.filter(comparator);if(filtered.els.length){return filtered}return this.parent().closest(comparator)}});luda$1.include({nextAll:function(comparator){var plucked;plucked=pluck(this.els,"nextElementSibling",true);return luda$1(collect(unique(plucked),comparator))}});luda$1.include({next:function(comparator){var filter;if(comparator){filter=function(n){return collect([n],comparator).length}}return luda$1(unique(pluck(this.els,"nextElementSibling",false,filter)))}});luda$1.include({prevAll:function(comparator){var plucked;plucked=pluck(this.els,"previousElementSibling",true);return luda$1(collect(unique(plucked),comparator))}});luda$1.include({prev:function(comparator){var filter;if(comparator){filter=function(p){return collect([p],comparator).length}}return luda$1(unique(pluck(this.els,"previousElementSibling",false,filter)))}});luda$1.include({siblings:function(comparator){var all;all=[];this.els.forEach(function(el){var sibs;sibs=luda$1(el).parent().children(function(child){return child!==el}).els;return[].push.apply(all,sibs)});return luda$1(collect(unique(all),comparator))}});luda.mixin("disable",{disableTargetProp:function(){var ref;return((ref=this.attr)!=null?ref.disable:void 0)||"disabled"},disableCreate:function(){var dataAttr,tabIndex;tabIndex=this.root.prop("tabIndex");dataAttr=this.data.disable.tabIndex;if(!this.root.hasData(dataAttr)){this.root.data(dataAttr,tabIndex)}return this.root.prop("tabIndex",-1).prop(this.disableTargetProp(),true)},disableDestroy:function(){var tabIndex;tabIndex=this.root.data(this.data.disable.tabIndex);return this.root.prop("tabIndex",tabIndex).prop(this.disableTargetProp(),false)}});luda.component("disabled","[disabled]").protect({data:{disable:{tabIndex:"data-disabled_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("enter",document).protect({selectors:["input[type=checkbox]","input[type=radio]","[tabindex]"]}).protect({disabled:function(){return this.html.data("enter")===false}}).protect({trigger:function(e){if(this.disabled()){return}if(!luda(e.target).is(this.selectors.join(","))){return}e.preventDefault();return setTimeout(function(){return e.target.click()})}}).help({listen:function(){return[["keydown@enter",this.trigger]]}});var Focus;Focus=luda.component("focus",document).protect({cls:{focus:"focus"},selector:{focused:".focus",always:["select","textarea",":not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])","[contenteditable]","[contenteditable=true]"],nested:["select","[contenteditable]","[contenteditable=true]"],touch:"input[type=range]"}}).protect({disabled:function(){return this.html.data("focus")===false}}).protect({addClass:function(node){if(this.disabled()){return}return this.focused.els.concat(node).forEach(el=>{var addable;addable=el===node&&el!==this.html.els[0]&&el!==this.body.els[0];return luda(el).toggleClass(this.cls.focus,addable)})},cacheEvt:function(e){if(this.disabled()||e.target.disabled){return}return this.evtTriggeredFocus=e.type},focus:function(e){var evt,node,parent,target;if(this.disabled()||(node=e.target).disabled){return}(evt=this.evtTriggeredFocus)&&delete this.evtTriggeredFocus;if(evt&&/key/.test(evt)){target=node}else if(luda(node).is(this.selector.always.join(","))){target=node}else if(luda(node).is(this.selector.nested.join(" *,"))){parent=this.selector.nested.join(",");e.eventPath().some(function(el){return luda(el).is(parent)&&(target=el)})}return this.addClass(target)},blur:function(e){if(this.disabled()){return}return luda(e.target).toggleClass(this.cls.focus,false)}}).help({find:function(){return{focused:this.selector.focused}},listen:function(){return[["keydown keyup touchstart mousedown",this.cacheEvt],["mousedown focusin",this.focus],["touchstart",this.selector.touch,this.focus],["focusout",this.blur]]}});luda.include({focus:function(addClass,preventScroll){var el,ins;if(!(el=this.els[0])){return}ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}if(!luda.isBool(addClass)){addClass=true}if(!luda.isBool(preventScroll)){preventScroll=false}addClass&&ins.addClass(el);el.focus({preventScroll:preventScroll});return this},blur:function(){var ins;ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}this.els.forEach(function(el){return el.blur()});return this}});luda.component("readonly","[readonly]").protect({attr:{disable:"readonly"},data:{disable:{tabIndex:"data-readonly_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("tabulate",document).protect({selector:"input[type=radio]:not([disabled])"}).protect({disabled:function(){return this.html.data("tabulate")===false}}).protect({findSiblings:function(radio){var index,name,radios,selector;selector=this.selector;if(name=radio.name){selector=`${selector}[name=${name}]`}radios=luda(selector).els.filter(function(el){return el.tabIndex>=0});index=radios.indexOf(radio);return{prev:radios[index-1],next:radios[index+1]}},trigger:function(e){var next,prev;if(this.disabled()){return}if(e.shiftKey){if(prev=this.findSiblings(e.target).prev){e.preventDefault();return prev.focus()}}else{if(next=this.findSiblings(e.target).next){e.preventDefault();return next.focus()}}}}).help({listen:function(){return[["keydown@tab",this.selector,this.trigger]]}});luda.mixin("toggleable",{toggleableActive:function(){return this.root.hasClass(this.cls.toggleable.active)},toggleableTriggerable:function(e){var evtPath,index,ref,ref1,toggleAttr,trigger;if(this.toggleableTransitioning()){return}if(/key/.test(e.type)){return true}if(!this.root.els[0].contains(e.target)){return true}trigger=(ref=this.default)!=null?(ref1=ref.toggleable)!=null?ref1.trigger:void 0:void 0;toggleAttr=this.data.toggleable.trigger;if(!toggleAttr){return trigger}evtPath=e.eventPath();index=evtPath.indexOf(this.root.els[0])+1;evtPath.slice(0,index).some(function(el){var ins;ins=luda(el);if(!ins.hasData(toggleAttr)){return}trigger=ins.data(toggleAttr)!==false;return true});return trigger},toggleableActivate:function(){var evt;if(this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.activate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableDeactivating);delete this.toggleableDeactivating;this.root.addClass(this.cls.toggleable.active);this.toggleableActivating=setTimeout(()=>{delete this.toggleableActivating;return this.toggleableTarget.trigger(this.evt.toggleable.activated)},this.toggleableTarget.transitionDuration());return true},toggleableDeactivate:function(){var evt;if(!this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.deactivate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableActivating);delete this.toggleableActivating;this.root.removeClass(this.cls.toggleable.active);this.toggleableDeactivating=setTimeout(()=>{delete this.toggleableDeactivating;return this.toggleableTarget.trigger(this.evt.toggleable.deactivated)},this.toggleableTarget.transitionDuration());return true},toggleableToggle:function(force){if(force===true){return this.toggleableActivate()}if(force===false){return this.toggleableDeactivate()}if(this.toggleableActive()){return this.toggleableDeactivate()}else{return this.toggleableActivate()}},toggleableTransitioning:function(){return"toggleableActivating"in this||"toggleableDeactivating"in this},toggleableFocusOpener:function(e){var ins;if(this.toggleableActive()){return this.toggleableFocused=document.activeElement}if(!this.toggleableFocused){return}if("focus"in(ins=luda(this.toggleableFocused))){return ins.focus(!e.detail,e.detail)}else{return this.toggleableFocused.focus({preventScroll:e.detail})}},toggleableActivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableActivate())){return}this.toggleableFocusOpener(e);return true},toggleableDeactivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableDeactivate())){return}this.toggleableFocusOpener(e);return true},toggleableToggleOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableToggle())){return}this.toggleableFocusOpener(e);return true},toggleableCreate:function(){var dataAttr,evt,interruption;dataAttr=this.data.toggleable.interruption;if(!(interruption=this.root.data(dataAttr))){return}evt=this.evt.toggleable[interruption];this.root.removeData(dataAttr);return this.toggleableTarget.trigger(evt)},toggleableDestroy:function(){var interruption;if("toggleableActivating"in this){interruption="activated";clearTimeout(this.toggleableActivating)}else if("toggleableDeactivating"in this){interruption="deactivated";clearTimeout(this.toggleableDeactivating)}return interruption&&this.root.data(this.data.toggleable.interruption,interruption)},toggleableFind:function(){var ref,ref1,target;target=(ref=this.selector)!=null?(ref1=ref.toggleable)!=null?ref1.target:void 0:void 0;return{toggleableTarget:target||function(){return this.root}}}});luda.component("toggle","[data-toggle-target]").protect({cls:{toggleable:{active:"toggle-active"}},data:{target:"data-toggle-target",for:"data-toggle-for",auto:"data-toggle-auto-deactivate",toggleable:{interruption:"data-toggle_interruption",trigger:"data-toggleable"}},default:{autoDuration:3e3},evt:{toggleable:{activate:"luda:toggle:activate",activated:"luda:toggle:activated",deactivate:"luda:toggle:deactivate",deactivated:"luda:toggle:deactivated"}}}).include({activate:function(){if(!this.toggleableActivate()){return}return this.toggleAutoState()},deactivate:function(){if(!this.toggleableDeactivate()){return}return this.toggleAutoState()},toggle:function(force){if(!this.toggleableToggle(force)){return}return this.toggleAutoState()}}).protect(luda.mixin("toggleable").all()).protect({toggleAutoState:function(){if(!this.root.hasData(this.data.auto)){return}if(this.toggleableActive()){return this.auto=setTimeout(()=>{delete this.auto;return this.deactivate()},this.root.data(this.data.auto)||this.default.autoDuration)}else{clearTimeout(this.auto);return delete this.auto}},toggleOnEvent:function(e){if(!this.toggleableToggleOnEvent(e)){return}return this.toggleAutoState()}}).help({find:function(){return this.toggleableFind()},create:function(){this.toggleableCreate();return this.toggleAutoState()},destroy:function(){this.toggleableDestroy();return"auto"in this&&clearTimeout(this.auto)},listen:function(){var self;self=this;return[["click",this.toggleOnEvent],["click",`[${this.data.for}]`,function(e){var name;name=luda(this).data(self.data.for);return self.con.each(function(ins){if(ins.root.data(self.data.target)!==name){return}ins.toggleOnEvent(e);return true})}]]}});var listened,quene;listened=false;quene=[];luda.mixin("resetable",{listen:function(fn){var pushed;pushed=quene.some(it=>{return it.Component===this.con});if(!pushed){quene.push({Component:this.con,reset:fn})}if(listened){return}listened=true;return luda(document).on("reset.MixinResetable",function(e){if(e.isDefaultPrevented()){return}return setTimeout(function(){return quene.forEach(function(it){return it.Component.each(function(ins,rootEl){e.target.contains(rootEl)&&it.reset.call(ins);return true})})})})}});luda.component("fmFile").protect({selector:{root:".fm-file",file:"input[type=file]",simulator:"input:not([type=file])"},evt:{changed:"luda:fmFile:changed"},splitor:" "}).protect({placeholder:function(){return this.file.attr("placeholder")},value:function(){return this.file.attr("value")},multiple:function(){return this.file.prop("multiple")}}).protect({files:function(){return Array.from(this.file.prop("files"))},insertSimulator:function(){if(this.simulator.length){return}return luda("<input>").prop("tabIndex",-1).attr("placeholder",this.placeholder()).insertAfter(this.file)},updateSimulatorValue:function(){var value,values;values=this.files().map(function(f){return f.name});value=values.join(this.splitor)||this.value()||"";return this.simulator.val(value)},updateValue:function(){var oldFile,val;this.updateSimulatorValue();oldFile=this.selectedFile;this.selectedFile=this.files();if(!oldFile||luda.arrayEqual(this.selectedFile,oldFile)){return}val=this.multiple()?this.selectedFile:this.selectedFile[0];return this.file.trigger(this.evt.changed,val)},tryReset:function(target,oldVal){if(this.value()!==""){return}if(oldVal===""){return}return this.file.prop("value","").attr("value",oldVal||"")}}).help({find:function(){return{file:this.selector.file,simulator:this.selector.simulator}},watch:function(){return{attr:[["value",this.selector.file,this.tryReset,this.updateValue]]}},create:function(){this.insertSimulator();return this.updateValue()},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.file,this.updateValue]]}});luda.component("fmSelect").protect({selector:{select:"select",options:"option",simulator:"input"},data:{default:"data-fm-select_default-selected",defaultMarked:"data-fm-select_default-marked"},evt:{changed:"luda:fmSelect:changed"}}).protect({placeholder:function(){return this.select.attr("placeholder")},multiple:function(){return this.select.prop("multiple")},options:function(){return Array.from(this.select.prop("options"))}}).protect({tryEmpty:function(){var selected;selected=this.options().some(function(o){return luda(o).hasAttr("selected")});return!selected&&this.select.prop("selectedIndex",-1)},markSelected:function(markDefault){markDefault=markDefault===true;if(markDefault&&this.root.hasData(this.data.defaultMarked)){return}if(markDefault){this.root.data(this.data.defaultMarked,"")}return this.options().forEach(o=>{var option,val;option=luda(o);if(markDefault){val=option.hasAttr("selected")?"":null;return option.data(this.data.default,val)}else{val=o.selected?"":null;return option.attr("selected",val)}})},toggleSimulator:function(){if(this.multiple()){return this.simulator.remove()}if(this.simulator.length){return}return luda("<input>").prop("tabIndex",-1).attr("placeholder",this.placeholder()).insertAfter(this.select)},updateSimulatorValue:function(){var selected,val;if(this.multiple()){return}selected=this.options()[this.select.prop("selectedIndex")];val=selected?luda(selected).text():"";return this.simulator.val(val)},updateValue:function(){var oldVal,selected,val;this.updateSimulatorValue();oldVal=this.selectedVal;val=this.select.val();this.selectedVal=luda.isArray(val)?val:[val];if(!oldVal||luda.arrayEqual(this.selectedVal,oldVal)){return}if(this.multiple()){selected=this.options().filter(function(o){return o.selected})}else{selected=this.options()[this.select.prop("selectedIndex")]}return this.select.trigger(this.evt.changed,{value:val,selected:selected})},reset:function(){this.select.prop("selectedIndex",-1);this.options().forEach(o=>{return o.selected=luda(o).hasData(this.data.default)});return this.markSelected()}}).help({find:function(){return{select:this.selector.select,simulator:this.selector.simulator}},create:function(){this.tryEmpty();this.markSelected(true);this.toggleSimulator();return this.updateValue()},watch:function(){return{node:[[this.selector.options,this.tryEmpty,this.updateValue]],attr:[["selected",this.selector.options,this.tryEmpty,this.updateValue],["multiple",this.selector.select,this.toggleSimulator,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.reset);return[["change",this.selector.select,this.markSelected]]}});luda.mixin("tabable",{tabableActiveIndex:function(){var index,ref,ref1;index=((ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0)||0;this.tabableTargets.els.some((it,i)=>{if(!luda(it).hasClass(this.cls.tabable.active)){return false}index=i;return true});return index},tabableWrapable:function(){var ref,ref1,wrapAttr,wrapable;wrapAttr=this.data.tabable.wrap;if(!wrapAttr){return false}wrapable=this.root.data(wrapAttr);if(wrapable===false){return false}return(ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.wrap:void 0:void 0},tabableActivate:function(index){var direction;if(!luda.isNumeric(index)){return}direction=index<this.tabableActiveIndex()?"prev":"next";return this.tabableSlide(index,direction)},tabableNext:function(){var index;index=this.tabableActiveIndex()+1;if(index>=this.tabableTargets.length){if(!this.tabableWrapable()){return}index=0}return this.tabableSlide(index,"next")},tabablePrev:function(){var index;index=this.tabableActiveIndex()-1;if(index<0){if(!this.tabableWrapable()){return}index=this.tabableTargets.length-1}return this.tabableSlide(index,"prev")},tabableLayout:function(){this.tabableTargets.els.forEach((it,index)=>{var activeCls,isActive,item,nextCls,prevCls;item=luda(it);if((activeCls=this.cls.tabable.active)&&item.hasClass(activeCls)){return}if((nextCls=this.cls.tabable.next)&&item.hasClass(nextCls)){return}if((prevCls=this.cls.tabable.prev)&&item.hasClass(prevCls)){return}isActive=index===this.tabableActiveIndex();item.css("transition","none").toggleClass(activeCls,isActive).toggleClass(prevCls,index<this.tabableActiveIndex()).toggleClass(nextCls,index>this.tabableActiveIndex()).reflow().css("transition","");return isActive&&item.trigger(this.evt.tabable.activated)});this.tabableSetIndicatorsState();return this.tabableSetDirectionCtrlsState()},tabableSlide:function(index,direction){var activateEvt,activated,activatedIndex,activeCls,deactivateEvt,directionCls,item,oppsite,oppsiteCls;if(!luda.isNumeric(index)){return}if(index===(activatedIndex=this.tabableActiveIndex())){return}if(index<0||index>=this.tabableTargets.length){return}item=this.tabableTargets.eq(index);activated=this.tabableTargets.eq(activatedIndex);activateEvt=item.trigger(this.evt.tabable.activate,null,true)[0];if(activateEvt.isDefaultPrevented()){return}deactivateEvt=activated.trigger(this.evt.tabable.deactivate,null,true)[0];if(deactivateEvt.isDefaultPrevented()){return}oppsite=direction==="next"?"prev":"next";directionCls=this.cls.tabable[direction];oppsiteCls=this.cls.tabable[oppsite];activeCls=this.cls.tabable.active;item.css("transition","none").addClass(directionCls).removeClass(oppsiteCls).reflow().css("transition","").addClass(activeCls).removeClass(directionCls);activated.addClass(oppsiteCls).removeClass(activeCls);this.tabableActivating=setTimeout(()=>{delete this.tabableActivating;return item.trigger(this.evt.tabable.activated)},item.transitionDuration());this.tabableDeactivateIndex=activatedIndex;this.tabableDeactivating=setTimeout(()=>{delete this.tabableDeactivating;delete this.tabableDeactivateIndex;return activated.trigger(this.evt.tabable.deactivated)},activated.transitionDuration());this.tabableSetIndicatorsState();this.tabableSetDirectionCtrlsState();return true},tabableTransitioning:function(){return"tabableActivating"in this||"tabableDeactivating"in this},tabableSetIndicatorsState:function(){return this.tabableIndicators.els.forEach((it,index)=>{var activeCls,val;activeCls=this.cls.tabable.indicatorActive;val=index===this.tabableActiveIndex();return luda(it).toggleClass(activeCls,val)})},tabableSetDirectionCtrlsState:function(){var index,maxIndex,minIndex,nextCtrl,nextDis,prevCtrl,prevDis;prevCtrl=this.tabablePrevCtrl;nextCtrl=this.tabableNextCtrl;if(!(prevCtrl||nextCtrl)){return}if(this.tabableTargets.length<=1){prevDis=nextDis=""}else if(this.tabableWrapable()){prevDis=nextDis=null}else{index=this.tabableActiveIndex();minIndex=0;maxIndex=this.tabableTargets.length-1;prevDis=index===minIndex?"":null;nextDis=index===maxIndex?"":null}prevCtrl&&prevCtrl.attr("disabled",prevDis);return nextCtrl&&nextCtrl.attr("disabled",nextDis)},tabableActivateOnEvent:function(e){var index,ref,ref1;if(this.tabableTransitioning()){return}index=(ref=e.detail)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0;if(index==null){index=this.tabableIndicators.els.indexOf(e.currentTarget)}return this.tabableActivate(index)},tabablePrevOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabablePrev()}},tabableNextOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabableNext()}},tabableDestroy:function(){var interruption;if("tabableActivating"in this){clearTimeout(this.tabableActivating);interruption={activate:this.tabableActiveIndex()}}if("tabableDeactivating"in this){clearTimeout(this.tabableDeactivating);interruption||(interruption={});interruption.deactivateIndex=this.tabableDeactivateIndex}return this.root.data(this.data.tabable.interruption,interruption)},tabableCreate:function(){var activate,dataAttr,deactive,interruption;this.tabableLayout();dataAttr=this.data.tabable.interruption;if(!(interruption=this.root.data(dataAttr))){return}if((activate=interruption.activated)!=null){this.tabableTargets.eq(activated).trigger(this.evt.tabable.activated)}if((deactive=interruption.deactivated)!=null){this.tabableTargets.eq(deactivated).trigger(this.evt.tabable.deactivated)}return this.root.removeData(dataAttr)},tabableFind:function(){var conf,nextCtrl,prevCtrl;conf={tabableTargets:this.selector.tabable.targets,tabableIndicators:this.selector.tabable.indicators};if(prevCtrl=this.selector.tabable.prevCtrl){conf.tabablePrevCtrl=prevCtrl}if(nextCtrl=this.selector.tabable.nextCtrl){conf.tabableNextCtrl=nextCtrl}return conf},tabableWatch:function(){var attr,wrapAttr;attr=[];wrapAttr=this.data.tabable.wrap;wrapAttr&&attr.push([wrapAttr,this.tabableSetDirectionControlState]);return{attr:attr,node:[[this.selector.tabable.targets,this.tabableLayout],[this.selector.tabable.indicators,this.tabableSetIndicatorsState]]}},tabableListen:function(){var listeners,nextCtrl,prevCtrl;listeners=[["click",this.selector.tabable.indicators,this.tabableActivateOnEvent]];if(prevCtrl=this.selector.tabable.prevCtrl){listeners.push(["click",prevCtrl,this.tabablePrevOnEvent])}if(nextCtrl=this.selector.tabable.nextCtrl){listeners.push(["click",nextCtrl,this.tabableNextOnEvent])}return listeners}});luda.component("carousel").protect({cls:{tabable:{active:"carousel-item-active",indicatorActive:"btn-active",prev:"carousel-item-prev",next:"carousel-item-next"}},data:{interval:"carousel-interval",tabable:{interruption:"data-carousel_interruption",wrap:"data-carousel-wrap"}},default:{interval:5e3,tabable:{activeIndex:0,wrap:true}},evt:{tabable:{activate:"luda:carousel:activate",activated:"luda:carousel:activated",deactivate:"luda:carousel:deactivate",deactivated:"luda:carousel:deactivated"}},selector:{tabable:{targets:".carousel-item",indicators:".carousel-indicators .btn",prevCtrl:".carousel-prev",nextCtrl:".carousel-next"}}}).protect({interval:function(){var duration;duration=this.root.data(this.data.interval);if(duration===false){return false}return Math.abs(parseInt(duration,10))||this.default.interval}}).include(luda.mixin("tabable").alias({activate:"tabableActivate",next:"tabableNext",prev:"tabablePrev"})).include({pause:function(){if(!("intervaling"in this)){return}clearTimeout(this.intervaling);delete this.intervaling;this.nextInterval-=Date.now()-this.playAt;if(this.nextInterval<=10){this.nextInterval=void 0}return this.pauseIndex=this.tabableActiveIndex()},play:function(){var handler;if("intervaling"in this){return}if(!this.interval()){return}this.playAt=Date.now();if(this.pauseIndex!==this.tabableActiveIndex()){this.nextInterval=this.interval()}handler=(()=>{this.tabableNext();this.playAt=Date.now();this.nextInterval=this.interval();return this.intervaling=setTimeout(handler,this.interval())});return this.intervaling=setTimeout(handler,this.nextInterval)}}).protect(luda.mixin("tabable").all()).protect({togglePath:function(path,action){var targets;targets=path.filter(el=>{return this.con.contains(el)});return this.con.create(targets).forEach(function(ins){return ins[action]()})},pauseOnEvt:function(e){return this.togglePath(e.eventPath(),"pause")},playOnEvt:function(e){return this.togglePath(e.eventPath(),"play")},playOnTouchend:function(e){var path;path=e.eventPath();return setTimeout(()=>{return this.togglePath(path,"play")})}}).help({find:function(){return this.tabableFind()},create:function(){this.tabableCreate();return this.play()},destroy:function(){this.pause();return this.tabableDestroy()},watch:function(){var watches;watches=this.tabableWatch();watches.attr.push([this.data.interval,this.pause,this.play]);return watches},listen:function(){return this.tabableListen().concat([["swipeleft",this.tabableNextOnEvent],["swiperight",this.tabablePrevOnEvent],["touchstart mouseover",this.pauseOnEvt],["mouseout",this.playOnEvt],["touchend",this.playOnTouchend]])}});luda.component("dropdown",".dropdown-absolute, .dropdown-static, .dropdown-fixed, .dropdown-static-m").protect({cls:{toggleable:{active:"dropdown-active"}},data:{standalone:"data-dropdown-standalone",toggleable:{interruption:"data-dropdown_interruption",trigger:"data-dropdownable"}},default:{toggleable:{trigger:true}},evt:{toggleable:{activate:"luda:dropdown:activate",activated:"luda:dropdown:activated",deactivate:"luda:dropdown:deactivate",deactivated:"luda:dropdown:deactivated"}},selector:{items:"a[href]:not([disabled]),button:not([disabled]), input:not([disabled]),[tabindex]:not([disabled]), area[href]:not([disabled]),iframe:not([disabled])",toggleable:{target:".dropdown-menu"}}}).include(luda.mixin("toggleable").alias({activate:"toggleableActivate",deactivate:"toggleableDeactivate",toggle:"toggleableToggle"})).protect(luda.mixin("toggleable").all()).protect({parent:function(){var rootEl;rootEl=this.parentRoot.els[0];if(rootEl){return this.con.create(rootEl)[0]}else{return null}},escDeactivate:function(e){var parent;if(this.toggleableActive()){return this.toggleableDeactivateOnEvent(e)}else if(parent=this.parent()){return parent.escDeactivate(e)}},prevItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)-1;if(index<0){index=0}return items[index].focus()}else if(parent=this.parent()){return parent.prevItem(e)}},nextItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)+1;if(index>=items.length){index=items.length-1}return items[index].focus()}else if(parent=this.parent()){return parent.nextItem(e)}}}).help({find:function(){return Object.assign(this.toggleableFind(),{parentRoot:function(){return this.root.parent(this.con.root)},items:function(){var menu,self;self=this;menu=this.toggleableTarget;return menu.find(this.selector.items).filter(function(el){var parentMenu;parentMenu=luda(el).parent(self.selector.toggleable.target);return parentMenu.els[0]===menu.els[0]})}})},create:function(){return this.toggleableCreate()},destroy:function(){return this.toggleableDestroy()},listen:function(){var self;self=this;return[["click",this.toggleableToggleOnEvent],["keyup@tab",this.toggleableActivateOnEvent],["keydown@esc&prevent",this.escDeactivate],["keydown@left@up&prevent",this.prevItem],["keydown@right@down&prevent",this.nextItem],["click keyup@tab",function(e){var exceptions;exceptions=[];e.eventPath().forEach(function(el){return self.con.contains(el)&&exceptions.push(el)});return self.con.each(function(ins,rootEl){var isExcepted,isStandalone;isExcepted=exceptions.includes(rootEl);isStandalone=ins.root.hasData(self.data.standalone);!isExcepted&&!isStandalone&&ins.deactivate();return true})}]]}});luda.component("fmDropdown").protect({selector:{options:".dropdown-items .btn-radio input, .dropdown-items .btn-check input",labels:".dropdown-items .btn-radio label, .dropdown-items .btn-check label",simulator:".fm input"},data:{label:"fm-dropdown-label"},evt:{changed:"luda:fmDropdown:changed"},splitor:" "}).protect({initSimulator:function(){return this.simulator.data("auto",false).attr("readonly","")},updateSimulatorValue:function(){var values;values=[];this.options.els.forEach((input,index)=>{var label,value;if(!input.checked){return}label=this.labels.eq(index);value=label.data(this.data.label)||label.text();if(value&&!values.includes(value)){return values.push(value)}});return this.simulator.val(values.join(this.splitor))},updateValue:function(){var checked,oldVal;this.updateSimulatorValue();oldVal=this.selectedVal;checked=this.options.els.filter(function(input){return input.checked});this.selectedVal=checked.map(function(input){return luda(input).val()});if(!oldVal||luda.arrayEqual(this.selectedVal,oldVal)){return}return this.root.trigger(this.evt.changed,{value:this.selectedVal,selected:checked})},triggerClick:function(){return this.simulator.trigger("click")}}).help({find:function(){return{options:this.selector.options,labels:this.selector.labels,simulator:this.selector.simulator}},create:function(){this.initSimulator();return this.updateValue()},watch:function(){return{node:[[this.selector.options,this.updateValue]],attr:[["checked",this.selector.options,this.updateValue],["type",this.selector.options,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.options,this.updateValue],["keydown@enter",this.selector.simulator,this.triggerClick]]}});luda.component("tab").protect({cls:{tabable:{active:"tab-pane-active",indicatorActive:"btn-active"}},data:{tabable:{interruption:"data-tab_interruption"}},evt:{tabable:{activate:"luda:tab:activate",activated:"luda:tab:activated",deactivate:"luda:tab:deactivate",deactivated:"luda:tab:deactivated"}},selector:{tabable:{targets:".tab-pane",indicators:".tab-indicators .btn"}}}).include(luda.mixin("tabable").alias({activate:"tabableActivate"})).protect(luda.mixin("tabable").all()).help({find:function(){return this.tabableFind()},create:function(){return this.tabableCreate()},destroy:function(){return this.tabableDestroy()},watch:function(){return this.tabableWatch()},listen:function(){return this.tabableListen()}})});
7
7
  //# sourceMappingURL=luda.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/array-equal.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/base/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"names":["Type","isArray","Array","isString","x","isFunction","isObject","isBool","isNumeric","isNaN","parseFloat","isFinite","isDecimalism","test","isId","isClass","isTag","isSingleTag","isHtml","isScript","tagName","type","isFragment","isWindow","window","isDocument","nodeType","isElement","createMounter","target","messagePrefix","handler","mount","name","val","msg","n","v","console","warn","this","getEnv","document","global","Error","environment","find","selector","ctx","from","getElementsByClassName","slice","getElementsByTagName","querySelectorAll","containers","containersMap","div","table","tr","createElement","*","thead","tbody","tfoot","th","td","parseHTML","html","container","RegExp","$1","innerHTML","childNodes","map","node","parentNode","removeChild","Luda","luda","[object Object]","els","length","include","prototype","extend","ValuesMap","false","true","Infinity","NaN","null","undefined","readValue","value","JSON","parse","error","Number","parseValue","stringify","splitValues","str","match","each","callback","some","el","index","call","removeAttr","attr","attrs","forEach","att","removeAttribute","key","arguments","setAttribute","getAttribute","hasAttr","hasAttribute","pattern","replacer","letter","toUpperCase","camelCase","replace","toLowerCase","dashCase","arrayEqual","a","b","compareOrder","every","it","includes","guid","guid$1","pluck","arr","prop","deep","filter","plucked","item","results","push","unique","indexOf","_cache","cache","cacheFactory","privateCache","publicCache","Object","keys","expando","_access","access","accessFactory","clean","c","owner","uid","removeCache","k","isPrivate","cls","parseClass","toggleClass","force","classes","isForce","classList","add","remove","toggle","addClass","hasClass","contains","removeClass","context","concat","get","eq","matches","collect","comparator","oppsite","first","has","children","all","apply","parent","p","child","collection","is","last","not","ready","readyState","removeEventListener","addEventListener","setTimeout","findAll","Components","autoCreateAndDestroy","autoable","config","disAutoSelector","observer","childList","subtree","attributes","Component","MutationObserver","mus","attrNodes","nodes","mu","addedNodes","removedNodes","C","root","create","destroy","instances","observe","watcher","print","style","log","print$1","active","factory","infoStyle","prvLabelStyle","pubLabelStyle","label","time","Date","now","arg","info","eventPath","event","path","composedPath","LudaEvent","originalEvent","defaultPrevented","bubbles","_propagationStopped","_immediatePropagationStopped","preventDefault","stopPropagation","stopImmediatePropagation","ludaEvent","Proxy","nMatches","definedNamespace","namespace","Variables","focusEvents","focus","blur","hoverEvents","mouseenter","mouseleave","swipeEvents","left","right","up","down","swipeDistance","keyCodes","enter","tab","ctrl","alt","shift","esc","back","space","cap","del","end","home","ins","pgUp","pgDown","parseEventName","keysRe","preventRe","stopRe","join","evtName","matchedKeys","splited","split","keyCode","stop","prevent","trigger","detail","afterTrigger","handledEvts","events","evt","CustomEvent","cancelable","composed","e","isFocusEvent","values","dispatchEvent","createEvent","startX","startY","touchMoveHandler","touchStartHandler","triggered","touches","screenX","screenY","direction","endX","endY","xMoved","yMoved","Math","abs","start","moved","distance","swipeEvent","removeEvent","removeEvent$1","evtCache","swipeTypes","typeCache","quene","binded","t","addEvent","kc","_one","swipeBinded","one","cached","eType","self","returnValue","currentTarget","isImmediatePropagationStopped","isPropagationStopped","ref","addEvent$1","on","keyCallback","option","off","addEvents","findRoot","isntPropagation","removeEvents","id","rootEl","helpers","listen","callbacks","evtSelector","data","parents","unnested","instance","rootSelector","constructor","rootParent","addTraversal","cleanTraversal","createGetter","nestable","cacheable","defineProperty","matched","traversal","traversals","names","createObserver","cur","executeMutations","findSameMutation","nodesEqual","runAttrCallbacks","runNodeCallbacks","stopWatch","watch","attributeOldValue","isInProto","proto","mutation","watches","oldVal","attributeName","oldValue","mutations","nodesOne","nodesTwo","theSameMutation","inses","takeRecords","nestedMutation","conf","d","disconnect","Base","definedWatch","eventsBinded","traversalAdded","unshift","hasInstances","help","fn","included","protect","win","doc","documentElement","body","Base$1","constructorAccessWarn","createComponentProxy","createInstancesCallProxy","createInstancesProxy","instanceAccessWarn","action","extended","proxy","set","args","con","vals","instancesProxy","Function","bind","returns","chain","createProxy","occupied","autoEnabled","computeStyle","isVar","getComputedStyle","getPropertyValue","isVariable","readProp","numericProps","parseValue$1","css","setProperty","removeCss","parseName","removeData","dataset","datas","hasData","innerWidth","innerHeight","computeStyleInt","parseInt","getExtraSpace","xAxis","valNumber","getBoundingClientRect","boxSizing","extra","width","height","includeMargins","marginOne","marginTwo","offsetSize","outerWidth","outerHeight","getValue","multiple","options","optionValue","selected","disabled","hasSelected","o","selectedIndex","Variables$1","scriptExpando","clone","cacheAndEvts","cloned","clonedScripts","clones","scripts","cloneNode","script","i","src","V","executed","_evt","EV","assign","found","CDATARe","geval","eval","evalScripts","scriptCache","ownerDocument","textContent","insertElement","anchor","prepend","prependTarget","insertBefore","appendChild","insertAfter","childToBeInserted","nextSibling","after","argReverse","reverse","insertContent","parentIndex","firstChild","appendTo","append","before","cacheAndEvents","detach","clean$1","empty","len","prependTo","replaceWith","replaceAll","text","unwrap","wrapAll","structure","wrapper","firstElementChild","contents","content","contentDocument","wrapInner","wrap","Mixin","Mixin$1","picked","newName","named","unmount","mixin","offsetParent","offset","docEl","rect","top","pageYOffset","clientTop","pageXOffset","clientLeft","position","offsetLeft","offsetTop","removeProp","props","reflow","offsetHeight","getDurations","propertyLength","durationArray","durationStr","duration","transitionDuration","delays","durations","finalDurations","styles","transitionProperty","transitionDelay","max","closest","filtered","nextAll","next","prevAll","prev","siblings","sibs","disableTargetProp","disable","disableCreate","dataAttr","tabIndex","disableDestroy","component","selectors","click","Focus","focused","always","nested","touch","addable","cacheEvt","evtTriggeredFocus","preventScroll","findSiblings","radio","radios","shiftKey","toggleableActive","toggleable","toggleableTriggerable","evtPath","ref1","toggleAttr","toggleableTransitioning","default","toggleableActivate","toggleableTarget","activate","isDefaultPrevented","clearTimeout","toggleableDeactivating","toggleableActivating","activated","toggleableDeactivate","deactivate","deactivated","toggleableToggle","toggleableFocusOpener","toggleableFocused","activeElement","toggleableActivateOnEvent","toggleableDeactivateOnEvent","toggleableToggleOnEvent","toggleableCreate","interruption","toggleableDestroy","toggleableFind","for","auto","autoDuration","toggleAutoState","toggleOnEvent","listened","pushed","reset","file","simulator","changed","splitor","placeholder","files","insertSimulator","updateSimulatorValue","f","updateValue","oldFile","selectedFile","tryReset","select","defaultMarked","tryEmpty","markSelected","markDefault","toggleSimulator","selectedVal","tabableActiveIndex","tabable","activeIndex","tabableTargets","tabableWrapable","wrapAttr","wrapable","tabableActivate","tabableSlide","tabableNext","tabablePrev","tabableLayout","activeCls","isActive","nextCls","prevCls","tabableSetIndicatorsState","tabableSetDirectionCtrlsState","activateEvt","activatedIndex","deactivateEvt","directionCls","oppsiteCls","tabableActivating","tabableDeactivateIndex","tabableDeactivating","tabableTransitioning","tabableIndicators","indicatorActive","maxIndex","minIndex","nextCtrl","nextDis","prevCtrl","prevDis","tabablePrevCtrl","tabableNextCtrl","tabableActivateOnEvent","tabablePrevOnEvent","tabableNextOnEvent","tabableDestroy","deactivateIndex","tabableCreate","deactive","tabableFind","targets","indicators","tabableWatch","tabableSetDirectionControlState","tabableListen","listeners","interval","alias","pause","intervaling","nextInterval","playAt","pauseIndex","play","togglePath","pauseOnEvt","playOnEvt","playOnTouchend","standalone","items","parentRoot","escDeactivate","prevItem","nextItem","menu","parentMenu","exceptions","isExcepted","isStandalone","labels","initSimulator","input","checked","triggerClick"],"mappings":";;;;;2LAAA,IAAAA,KAEE,CAAAC,QAASC,MAAMD,QAEfE,SAAU,SAACC,iBAAaA,IAAK,UAE7BC,WAAY,SAACD,iBAAaA,IAAK,YAE/BE,SAAU,SAACF,iBAAaA,IAAK,UAE7BG,OAAQ,SAACH,iBAAaA,IAAK,WAE3BI,UAAW,SAACJ,UAAUK,MAAMC,WAAWN,KAAOO,SAASP,IAEvDQ,aAAc,SAACR,SAAM,cAAcS,KAAKT,IAAU,YAAYS,KAAKT,KAEnEU,KAAM,SAACV,SAAM,YAAYS,KAAKT,IAE9BW,QAAS,SAACX,SAAM,aAAaS,KAAKT,IAElCY,MAAO,SAACZ,SAAM,QAAQS,KAAKT,IAE3Ba,YAAa,SAACb,SAAM,mCAAmCS,KAAKT,IAE5Dc,OAAQ,SAACd,SAAM,OAAOS,KAAKT,IAE3Be,SAAU,SAACf,UACTA,EAAEgB,UAAW,UAAa,qCAAqCP,KAAKT,EAAEiB,OAExEC,WAAY,SAAClB,SAAM,mBAAmBS,KAAKT,IAE3CmB,SAAU,SAACnB,UAAMA,GAAMA,IAAKoB,QAE5BC,WAAY,SAACrB,UAAMA,GAAMA,EAAEsB,WAAY,GAEvCC,UAAW,SAACvB,UAAMA,GAAMA,EAAEsB,WAAY,IC/BzB,SAAAE,cAACC,OAAQC,cAAeC,SACrC,IAAAC,aAAAA,MAAQ,SAACC,KAAMC,KACb,IAAAC,IAAAC,EAAAC,EAAA,GAAGrC,KAAKG,SAAS8B,MAAjB,CACE,GAAGA,QAAQJ,OAAX,CACEM,kBAAoBF,sBACpBE,aAAeL,eAAiB,cAChCQ,QAAQC,KAAKJ,SAHf,CAKEN,OAAOI,MAAWF,QAAaA,QAAQE,KAAMC,KAASA,SAN1D,CAQa,IAAAE,KAAAH,KAAA,WAAXD,MAAMI,EAAGC,WACXG,MCfJ,IAAAC,OAAAA,OAAS,WACP,UAAUC,WAAc,YAAxB,CACE,UAAwBlB,SAAY,YAApC,CAAA,OAAOA,OACP,UAAwBmB,SAAY,YAApC,CAAA,OAAOA,QACT,MAAM,IAAIC,MAAM,6BAIlB,IAAAC,YAAeJ,SCJA,SAAAK,KAACC,SAAUC,IAAMN,UAC9B,KAAiB1C,KAAKyB,WAAWuB,MAAQhD,KAAK2B,UAAUqB,MAAxD,CAAA,MAAO,UACP9C,MAAM+C,KAAN,WAAW,OAAA,OAAA,KACJjD,KAAKe,QAAQgC,iBAChBC,IAAIE,uBAAuBH,SAASI,MAAM,IAFnC,KAGJnD,KAAKgB,MAAM+B,iBACdC,IAAII,qBAAqBL,UAJlB,eAQPC,IAAIK,iBAAiBN,WARzB,ICNF,IAAAO,WAAAC,cAIAA,cAAgB,KAEhBD,WAAa,SAACjC,MACZ,IAAAmC,IAAAC,MAAAC,GAAA,GAAoDH,cAApD,CAAA,OAAOA,cAAclC,OAASkC,cAAc,KAC5CC,IAAMd,SAASiB,cAAc,OAC7BF,MAAQf,SAASiB,cAAc,SAC/BD,GAAKhB,SAASiB,cAAc,MAC5BJ,cACE,CAAAK,IAAKJ,IACLK,MAAOJ,MACPK,MAAOL,MACPM,MAAON,MACPC,GAAIhB,SAASiB,cAAc,SAC3BK,GAAIN,GACJO,GAAIP,WACNJ,WAAWjC,OAIE,SAAA6C,UAACC,MACd,IAAAC,UAAA,IAAiBpE,KAAKG,SAASgE,MAA/B,CAAA,MAAO,GACP,GAA6CnE,KAAKiB,YAAYkD,MAA9D,CAAA,MAAO,CAACzB,SAASiB,cAAcU,OAAOC,KACtCF,UAAYd,WAAWtD,KAAKsB,WAAW6C,MAASE,OAAOC,KACvDF,UAAUG,UAAYJ,YACtBjE,MAAM+C,KAAKmB,UAAUI,YAAYC,IAAI,SAACC,MACpC,GAAoCA,KAAKC,WAAzC,QAAAD,KAAKC,WAAWC,YAAYF,SC7BhC,IAAAG,KAAAC,OAQMD,KAAN,MAAAA,KAEEE,YAAchC,SAAUC,IAAMN,UAC5BF,KAACwC,IAAM,GACPxC,KAACyC,OAAS,EACV,IAAclC,SAAd,CAAA,OACA,GAAmBA,oBAAoB8B,KAAvC,CAAA,OAAO9B,SACPP,KAACwC,IAAD,WAAO,OAAA,OAAA,KACAhF,KAAKG,SAAS4C,UACjB,GAAG/C,KAAKkB,OAAO6B,UAAf,QACEmB,UAAUnB,cADZ,CAGE,GAAoBC,eAAe6B,KAAnC,CAAA7B,IAAMA,IAAIgC,IAAI,UACdlC,KAAKC,SAAUC,WANd,MAOAD,SAASrB,UAAY1B,KAAKuB,SAASwB,iBAAc,CAACA,UAPlD,KAQA/C,KAAKC,QAAQ8C,iBAAcA,SAR3B,eASA7C,MAAM+C,KAAKF,WATlB,GAUAP,KAACyC,OAASzC,KAACwC,IAAIC,SAInB,KAAOH,OAAOjC,YAAYiC,MAA1B,CACEjC,YAAYiC,KAAOA,OAAO,SAAC/B,SAAUC,YAAQ,IAAI6B,KAAK9B,SAAUC,MAChE8B,OAAKI,QAAUtD,cAAciD,KAAKM,UAAW,aAC7CL,OAAKM,OAASxD,cAAckD,OAAM,aChCpC,IAAAO,UACE,CAAAC,MAAS,MACTC,KAAQ,KACRC,SAAY,SACZC,IAAO,EAAA,EACPC,UAAQ,EACRC,eAAa,GCDA,SAAAC,UAACC,OACd,GAAUA,QAAS,MAAQA,QAAS,OAApC,CAAA,OACA,IAAoB7F,KAAKG,SAAS0F,OAAlC,CAAA,OAAOA,MACP,WACEC,KAAKC,MAAMF,OADb,MAAAG,OAGE,GAAGhG,KAAKY,aAAaiF,OAArB,QACEI,OAAOJ,YACJ,GAAGA,SAASR,UAAZ,QACHA,UAAUQ,WADP,QAGHA,QCZS,SAAAK,WAACL,OACd,IAAoB7F,KAAKM,SAASuF,OAAlC,CAAA,OAAOA,MACP,WACEC,KAAKK,UAAUN,OADjB,MAAAG,cAGEH,OCLW,SAAAO,YAACC,KACd,GAAGhF,KAAKlB,SAASkG,KAAjB,QAA0BA,IAAIC,MAAM,SAAW,OAA/C,OAAuD,ICDzDxB,OAAKI,QAEH,CAAAqB,KAAM,SAACC,UACLhE,KAACwC,IAAIyB,KAAK,SAACC,GAAIC,cAAUH,SAASI,KAAKF,GAAIA,GAAIC,SAAU,eACzDnE,QCHJsC,OAAKI,QAEH,CAAA2B,WAAY,SAACC,MACX,IAAAC,MAAAA,MAAQX,YAAYU,MACpB,IAAmBC,MAAM9B,OAAzB,CAAA,OAAOzC,KACPA,KAACwC,IAAIgC,QAAQ,SAACN,WAAOK,MAAMC,QAAQ,SAACC,YAAQP,GAAGQ,gBAAgBD,gBAC/DzE,QCDJsC,OAAKI,QAEH,CAAA4B,KAAM,SAACA,KAAMjB,OACX,IAAAsB,IAAAjF,IAAA,IAAc4E,KAAd,CAAA,OACA,GAAG9G,KAAKG,SAAS2G,MAAjB,CACE,GAAGM,UAAUnC,QAAU,EAAvB,CACE,GAAeY,aAAS,EAAxB,CAAA,OAAOrD,KACP,GAA2BqD,QAAS,KAApC,CAAA,OAAOrD,KAACqE,WAAWC,MACnBtE,KAACwC,IAAIgC,QAAQ,SAACN,WAAOA,GAAGW,aAAaP,KAAMZ,WAAWL,UACtD,OAAOrD,KACT,IAAcA,KAACwC,IAAI,GAAnB,CAAA,OACA,OAAOY,UAAUpD,KAACwC,IAAI,GAAGsC,aAAaR,OACzB,IAAAK,OAAAL,KAAA,eAAftE,KAACsE,KAAKK,IAAKjF,YACXM,QCnBJsC,OAAKI,QAEH,CAAAqC,QAAS,SAACT,MACR,IAAoBA,KAApB,CAAA,OAAO,aACPtE,KAACwC,IAAIyB,KAAK,SAACC,WAAOA,GAAGc,aAAaV,WCRtC,IAAAW,QAAAC,SAAAD,QAAU,YAEVC,SAAW,SAACpB,MAAOqB,eAAWA,OAAOC,eAItB,SAAAC,UAACxB,YAAQA,IAAIyB,QAAQL,QAASC,UCN7C,IAAAD,UAAAC,WAAAD,UAAU,WAEVC,WAAW,SAACpB,MAAOqB,kBAAeA,OAAOI,iBAI1B,SAAAC,SAAC3B,cACXA,IAAI,GAAG0B,gBAAgB1B,IAAIlD,MAAM,GAAG2E,QAAQL,UAASC,cCP3C,SAAAO,WAACC,EAAGC,EAAGC,cACpB,KAAoBF,GAAMC,GAA1B,CAAA,OAAO,MACP,GAAeD,IAAKC,EAApB,CAAA,OAAO,KACP,GAAoBD,EAAEjD,SAAUkD,EAAElD,OAAlC,CAAA,OAAO,MACP,GAAeiD,EAAEjD,SAAU,EAA3B,CAAA,OAAO,KACP,GAAGmD,aAAH,QACEF,EAAEG,MAAM,SAACC,GAAI3B,cAAU2B,KAAMH,EAAExB,aADjC,QAGMuB,EAAEzB,KAAK,SAAC6B,WAAWH,EAAEI,SAASD,OCRtC,IAAAE,KAAAA,KAAO,EAIQ,SAAAC,gBAAGD,MAAQ,ECAX,SAAAE,MAACC,IAAKC,KAAMC,KAAMC,QAC/B,IAAAC,QAAAA,QAAU,GACV,IAAmB/I,KAAKC,QAAQ0I,KAAhC,CAAAA,IAAM,CAACA,KACPA,IAAI3B,QAAQ,SAACgC,MACX,IAAAC,QAAA/G,IAAAA,IAAM8G,KAAKJ,MACXK,QAAA,SAAM/G,KAAA,KAAN,CACE,GAAG4G,OAAH,CACE,GAAGA,OAAO5G,KAAV,CACE6G,QAAQG,KAAKhH,KACb,IAAa2G,KAAb,CAAA,YAHJ,CAKEE,QAAQG,KAAKhH,KACb,IAAa2G,KAAb,CAAA,oBACF3G,IAAMA,IAAI0G,+BACdG,QClBa,SAAAI,OAACR,KACd,KAAkBA,IAAI1D,OAAS,GAA/B,CAAA,OAAO0D,WACPA,IAAIG,OAAO,SAACE,KAAMrC,cAAUgC,IAAIS,QAAQJ,QAASrC,QCSnD,CACE,WACA,aACA,UACA,WACA,SACA,YACA,aACAK,QAAQ,SAACG,YAAQrC,OAAKM,OAAO+B,IAAKnH,KAAKmH,QAEzCrC,OAAKM,OAEH,CAAA6C,WAAYA,WACZJ,UAAWA,UACXG,SAAUA,SACVQ,KAAMA,OACNE,MAAOA,MACPS,OAAQA,SC5BV,IAAAE,OAAAC,MAAAC,aAAAC,aAAAC,YAIAA,YAAc,GACdD,aAAe,GAEfD,aAAe,SAACD,cACd,SAACd,KAAMrB,IAAKtB,OACV,IAAoB2C,KAApB,CAAA,OAAOc,MACP,GAAGnC,MAAO,KAAV,eACSmC,MAAMd,WACV,GAAG3C,QAAS,KAAZ,CACH,KAAc2C,QAAQc,OAAtB,CAAA,cACOA,MAAMd,MAAMrB,KACnB,IAA0BuC,OAAOC,KAAKL,MAAMd,OAAOvD,OAAnD,eAAOqE,MAAMd,YACV,GAAG3C,aAAS,EAAZ,CACH,GAAsBsB,WAAO,EAA7B,CAAA,OAAOmC,MAAMd,MACb,GAA4BxI,KAAKM,SAAS6G,KAA1C,CAAA,OAAOmC,MAAMd,MAAQrB,IACrB,KAAcqB,QAAQc,OAAtB,CAAA,cACAA,MAAMd,MAAMrB,SAJT,CAMH,GAAUA,WAAO,EAAjB,CAAA,OACAmC,MAAMd,QAANc,MAAMd,MAAU,WAChBc,MAAMd,MAAMrB,KAAOtB,SAEzByD,MAAQC,aAAaE,aACrBJ,OAASE,aAAaC,cC3BtB,IAAAI,QAAe,cCAf,IAAAC,QAAAC,OAAAC,cAAAC,MAMAD,cAAgB,SAACE,UACf,SAACC,MAAO/C,IAAKtB,OACX,IAAAsE,IAAA,IAAkB/C,UAAUnC,OAA5B,CAAA,OAAOgF,IACPE,IAAMD,MAAMN,WAANM,MAAMN,SAAapB,iBACzByB,EAAEE,IAAKhD,IAAKtB,SAEhBiE,OAASC,cAAcT,OACvBO,QAAUE,cAAcV,QAExBW,MAAQ,SAACE,OACP,GAAGA,MAAMN,SAAT,CACEC,QAAQK,MAAO,aACfJ,OAAOI,MAAO,QCXlBpF,OAAKI,QAEH,CAAAkF,YAAa,SAACjD,KACZ,IAAAwC,KAAA,GAAGvC,UAAUnC,OAAb,CACE0E,KAAOvD,YAAYe,KAAK1C,IAAI,SAAC4F,UAAMxC,UAAUwC,KAC7C,IAAmBV,KAAK1E,OAAxB,CAAA,OAAOzC,KACPA,KAACwC,IAAIgC,QAAQ,SAACN,WAAOiD,KAAK3C,QAAQ,SAACqD,UAAMP,OAAOpD,GAAI2D,EAAG,cAHzD,CAKE7H,KAACwC,IAAIgC,QAAQ,SAACN,WAAOoD,OAAOpD,GAAI,eAClClE,QCRJsC,OAAKM,OAEH,CAAAkE,MAAO,SAACgB,WAAc,GAAGA,UAAH,QAAkBT,cAAlB,QAAiCC,aAEzDhF,OAAKI,QAEH,CAAAoE,MAAO,SAACnC,IAAKtB,OACX,IAAAwE,EAAAhI,EAAA,IAAO8E,IAAP,CACE,IAAc3E,KAACwC,IAAI,GAAnB,CAAA,OACA,OAAO8E,OAAOtH,KAACwC,IAAI,KAAO8E,OAAOtH,KAACwC,IAAI,GAAI,IAC5C,GAAGhF,KAAKG,SAASgH,KAAjB,CACEA,IAAMU,UAAUV,KAChB,GAAGC,UAAUnC,OAAS,EAAtB,CACE,IAAczC,KAACwC,IAAI,GAAnB,CAAA,OACA,IAA2B8E,OAAOtH,KAACwC,IAAI,IAAvC,CAAA8E,OAAOtH,KAACwC,IAAI,GAAI,IAChB,OAAO8E,OAAOtH,KAACwC,IAAI,GAAImC,KACzB,GAAetB,aAAS,EAAxB,CAAA,OAAOrD,KACP,GAA2BqD,QAAS,KAApC,CAAA,OAAOrD,KAAC4H,YAAYjD,KACpB3E,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAsBoD,OAAOpD,IAA7B,CAAAoD,OAAOpD,GAAI,WACXoD,OAAOpD,GAAIS,IAAKtB,SAClB,OAAOrD,KACG,IAAA6H,KAAAlD,IAAA,UAAZ3E,KAAC8G,MAAMe,EAAGhI,UACVG,QC/BJ,IAAAuD,MAAA0B,UAIAA,UAAU,MAEV1B,MAAQ,SAACwE,KACP,GAAGvK,KAAKG,SAASoK,KAAjB,QAA0BA,IAAIzC,QAAQL,UAAS,QAA/C,QAAuD8C,MAIzD,IAAAC,WAAezE,MCLfjB,OAAKI,QAEH,CAAAuF,YAAa,SAACF,IAAKG,OACjB,IAAAC,QAAAC,QAAAD,QAAUvE,YAAYmE,KACtBK,QAAUF,aAAW,EACrB,IAAmBC,QAAQ1F,OAA3B,CAAA,OAAOzC,KACPmI,QAAUA,QAAQlG,IAAI,SAACwF,UAAMO,WAAWP,KACxCzH,KAACwC,IAAIgC,QAAQ,SAACN,WAAOiE,QAAQ3D,QAAQ,SAACiD,GACpC,GAAGW,QAAH,CACE,GAAGF,MAAH,QAAchE,GAAGmE,UAAUC,IAAIb,OAA/B,QAAsCvD,GAAGmE,UAAUE,OAAOd,QAD5D,QAGEvD,GAAGmE,UAAUG,OAAOf,eACxBzH,QCbJsC,OAAKI,QAEH,CAAA+F,SAAU,SAACV,YAAQ/H,KAACiI,YAAYF,IAAK,SCFvCzF,OAAKI,QAEH,CAAAgG,SAAU,SAACX,KACT,IAAoBA,IAApB,CAAA,OAAO,MACPA,IAAMC,WAAWD,YACjB/H,KAACwC,IAAIyB,KAAK,SAACC,WAAOA,GAAGmE,UAAUM,SAASZ,UCJ5CzF,OAAKI,QAEH,CAAAkG,YAAa,SAACb,KACZ,GAAGnD,UAAUnC,OAAb,QAAyBzC,KAACiI,YAAYF,IAAK,WAA3C,QAAsD/H,KAACsE,KAAK,QAAS,QCJzEhC,OAAKI,QAEH,CAAA4F,IAAK,SAAC/H,SAAUsI,gBACdvG,OAAKqE,OAAO3G,KAACwC,IAAIsG,OAAOxG,OAAK/B,SAAUsI,SAASrG,UCJpDF,OAAKI,QAEH,CAAAqG,IAAK,SAAC5E,OACJ,GAAeA,aAAS,EAAxB,CAAA,OAAOnE,KAACwC,WACRxC,KAACwC,IAAO2B,MAAQ,EAAOA,MAAQnE,KAACwC,IAAIC,OAAY0B,UCHpD7B,OAAKI,QAEH,CAAAsG,GAAI,SAAC7E,cAAU7B,OAAKtC,KAAC+I,IAAI5E,WCPZ,SAAA8E,QAAC/E,GAAI3D,iBAClB2D,IAAOA,GAAG+E,SAAY/E,GAAG+E,QAAQ1I,UCKpB,SAAA2I,QAAC1G,IAAK2G,WAAYC,SAC/B,IAAkBD,cAAc3G,KAAA,KAAIA,IAAKC,YAAA,GAAzC,CAAA,OAAOD,WACPA,IAAI8D,OAAO,SAACpC,GAAIC,OACd,IAAAL,MAAAA,MAAA,WAAQ,OAAA,OAAA,KACDtG,KAAKG,SAASwL,mBACjBF,QAAQ/E,GAAIiF,YAFR,KAGD3L,KAAKK,WAAWsL,mBACnBA,WAAW/E,KAAKF,GAAIA,GAAIC,OAJpB,MAKDgF,sBAAsB9G,aACzB8G,WAAW3G,IAAIuD,SAAS7B,IANpB,eAQJA,KAAMiF,YARV,GASA,GAAGC,QAAH,QAAoBtF,UAApB,QAA+BA,SCdnCxB,OAAKI,QAEH,CAAA4D,OAAQ,SAAC6C,YACP,IAAqBA,WAArB,CAAA,OAAO7G,gBACPA,OAAK4G,QAAQlJ,KAACwC,IAAK2G,gBCJvB7G,OAAKI,QAEH,CAAA2G,MAAO,kBAAGrJ,KAACgJ,GAAG,MCChB1G,OAAKI,QAEH,CAAA4G,IAAK,SAAC/I,UACJ,IAAA4I,WAAA,GAAG3L,KAAKG,SAAS4C,UAAjB,CACE4I,WAAa,SAACjF,WAAO5D,KAAKC,SAAU2D,IAAIzB,OAAS,OADnD,CAGE0G,WAAa,SAACjF,WAAOA,GAAGyE,SAASpI,kBACnCP,KAACsG,OAAO6C,eCRZ7G,OAAKI,QAEH,CAAA6G,SAAU,SAACJ,YACT,IAAAK,IAAAA,IAAM,GACNxJ,KAACwC,IAAIgC,QAAQ,SAACN,UAAO,GAAGwC,KAAK+C,MAAMD,IAAKtF,GAAGqF,mBAC3CjH,OAAK4G,QAAQvC,OAAO6C,KAAML,gBCJ9B7G,OAAKI,QAEH,CAAAgH,OAAQ,SAACP,YACP,IAAA5C,QAAA,GAAG4C,WAAH,CACE5C,QAAUL,MAAMlG,KAACwC,IAAK,gBAAiB,MAAO,SAACmH,UAC7CT,QAAQ,CAACS,GAAIR,YAAY1G,aAF7B,CAIE8D,QAAUL,MAAMlG,KAACwC,IAAK,qBACxBF,OAAKqE,OAAOJ,aCThBjE,OAAKI,QAEH,CAAAyB,MAAO,SAAC5D,UACN,IAAAqJ,MAAAC,WAAAD,MAAWrJ,SAAc+B,OAAK/B,UAAUiC,IAAI,GAAQxC,KAACwC,IAAI,GACzDqH,WAAgBtJ,SAAcP,KAACwC,IAASF,OAAKsH,OAAOF,SAASH,WAAW/G,WACxEqH,WAAWjD,QAAQgD,UCNvBtH,OAAKI,QAEH,CAAAoH,GAAI,SAACX,YACH,IAAoBA,aAAkBnJ,KAACwC,IAAIC,OAA3C,CAAA,OAAO,aACPyG,QAAQlJ,KAACwC,IAAK2G,YAAY1G,OAAS,KCLvCH,OAAKI,QAEH,CAAAqH,KAAM,kBAAG/J,KAACgJ,IAAI,MCFhB1G,OAAKI,QAEH,CAAAT,IAAK,SAAC+B,UACJ,IAAA6F,WAAAA,WAAa7J,KAACwC,IAAIP,IAAI,SAACiC,GAAIC,cAAUH,SAASI,KAAKF,GAAIA,GAAIC,gBAC3D7B,OAAKuH,eCHTvH,OAAKI,QAEH,CAAAsH,IAAK,SAACb,YACJ,IAAmBA,aAAkBnJ,KAACwC,IAAIC,OAA1C,CAAA,OAAOzC,YACPsC,OAAK4G,QAAQlJ,KAACwC,IAAK2G,WAAY,UCLnC7G,OAAKI,QAEH,CAAA/B,MAAO,kBAAG2B,OAAK,GAAG3B,MAAM8I,MAAMzJ,KAACwC,IAAKoC,eCFtCtC,OAAKM,OAEH,CAAAqH,MAAO,SAACjG,UACN,IAAAzE,QAAA,GAAGW,SAASgK,aAAc,UAA1B,CACE3K,QAAU,WACRyE,SAAS1B,eACTpC,SAASiK,oBAAoB,mBAAoB5K,UACnDW,SAASkK,iBAAiB,mBAAoB7K,aAJhD,CAMEA,QAAU,kBAAGyE,SAAS1B,SACtB+H,WAAW9K,gBACbS,QCVW,SAAAsK,QAAC/J,SAAUC,KACxB,IAAAgJ,IAAAA,IAAMlJ,KAAKC,SAAUC,KACrB,GAAgByI,QAAQzI,IAAKD,UAA7B,CAAAiJ,IAAI9C,KAAKlG,YACTgJ,ICRF,IAAAe,WAAAC,qBAAAC,SAAAC,OAAAC,gBAAAC,SASAD,gBAAkB,oBAElBJ,WAAa,GAEbK,SAAW,KAEXF,OACE,CAAAG,UAAW,KACXC,QAAS,KACTC,WAAY,MAEdP,qBAAuB,SAACQ,WACtB,GAAUT,WAAWxE,SAASiF,WAA9B,CAAA,OACAT,WAAW7D,KAAKsE,WAChB,GAAUJ,SAAV,CAAA,OACAA,SAAW,IAAIK,iBAAiB,SAACC,KAC/B,IAAAC,UAAAC,MAAAA,MAAQ,GACRD,UAAY,GACZD,IAAI1G,QAAQ,SAAC6G,IACXD,MAAQA,MACPtC,OAAOpL,MAAM+C,KAAK4K,GAAGC,aACrBxC,OAAOpL,MAAM+C,KAAK4K,GAAGE,eACtB,GAA4BF,GAAGxM,OAAQ,aAAvC,QAAAsM,UAAUzE,KAAK2E,GAAGhM,WACpB+L,MAAQzE,OAAOyE,OACfD,UAAYxE,OAAOwE,kBACnBZ,WAAW/F,QAAQ,SAACgH,GAClB,IAAAhJ,IAAAA,IAAM,GACN4I,MAAM5G,QAAQ,SAACtC,aAASM,IAAMA,IAAIsG,OAAOwB,QAAQkB,EAAEC,KAAMvJ,SACzDyE,OAAOnE,KAAKgC,QAAQ,SAACN,IACnB,GAAU+E,QAAQ/E,GAAIyG,iBAAtB,CAAA,OACA,GAAGzK,SAASyI,SAASzE,IAArB,QAA6BsH,EAAEE,OAAOxH,QAAtC,QAA8CsH,EAAEG,QAAQzH,cAC1DiH,UAAU3G,QAAQ,SAACN,IACjB,IAAc1G,KAAK2B,UAAU+E,IAA7B,CAAA,OACA,GAAU+E,QAAQ/E,GAAIyG,iBAAtB,CAAA,OACA,GAAG1B,QAAQ/E,GAAIsH,EAAEC,MAAjB,QACED,EAAEE,OAAOxH,SACN,GAAGsH,EAAEI,UAAU1H,GAAGkD,UAAlB,QACHoE,EAAEG,QAAQzH,WAElB0G,SAASiB,QAAQ3L,SAAUwK,eAC3BrD,QAAQnH,SAAU,uBAChB,CAAAqK,WAAYA,WACZuB,QAASlB,YAEbH,SAAW,SAAClK,mBAAgBA,gBAAgBoK,oBCrD5C,IAAAoB,MAIAA,MAAQ,SAACpM,IAAKqM,OACZ,GAAGxO,KAAKG,SAASgC,KAAjB,CACE,OAAOG,QAAQmM,SAAStM,MAAOqM,cACjClM,QAAQmM,IAAItM,MAId,IAAAuM,QAAeH,MCXf,IAAAI,OAAAC,QAAAC,UAAAC,cAAAC,cAOAJ,OAAS,MAETI,cAAgB,iCAChBD,cAAgB,iCAChBD,UAAY,iCAEZD,QAAU,SAACJ,MAAOQ,OAChB,IAAAP,WAAAA,IAAM,WACJ,IAAAtM,IAAA8M,KAAA,IAAqB7H,UAAUnC,OAA/B,CAAA,OAAO0J,OACP,GAAGvH,UAAUnC,SAAU,GAAMjF,KAAKO,OAAO6G,UAAU,IAAnD,CACEuH,OAASvH,UAAU,GACnBjF,gBAAqBwM,OAAY,SAAc,YAC/C,OAAOF,IAAItM,KACb,IAAcwM,OAAd,CAAA,OACAM,KAAOC,KAAKC,MACZZ,iBAAeS,YAAYxG,YAAUyG,OAAQT,MAAMQ,cACnD9O,MAAM+C,KAAKmE,WAAWJ,QAAQ,SAACoI,YAAQb,QAAMa,IAAKZ,MAAMa,UAE5DvK,OAAKM,OAAO,MAAOwJ,QAAQ,CAACS,KAAMR,UAAWG,MAAOD,eAAgB,KAIpE,IAAAN,IAAeG,QAAQ,CAACS,KAAMR,UAAWG,MAAOF,eAAgB,SCzBjD,SAAAQ,UAACC,OACd,IAAAC,KAAA,GAAGD,MAAME,aAAT,QACEF,MAAME,oBACH,GAAGF,MAAMC,KAAT,QACHD,MAAMC,SADH,CAGHA,KAAO,CAACD,MAAM1N,QACd2N,KAAOA,KAAKlE,OAAO5C,MAAM8G,KAAM,aAAc,OAC7C,GAAoB9M,SAASyI,SAASoE,MAAM1N,QAA5C,CAAA2N,KAAKtG,KAAK1H,eACVgO,MCbJ,IAAAE,UAIMA,UAAN,MAAAA,UAEE3K,YAAcwK,OAAU/M,KAACmN,cAAgBJ,MAEzCxK,4BAAuBvC,KAACmN,cAAcC,iBAEtC7K,8BAA6BvC,KAACmN,cAAcE,SAAWrN,KAACsN,oBAExD/K,uCAAkCvC,KAACuN,6BAEnChL,wBAAmBvC,KAACmN,cAAcK,iBAElCjL,kBACEvC,KAACmN,cAAcM,yBACfzN,KAACsN,oBAAsB,KAEzB/K,2BACEvC,KAACmN,cAAcO,kCACf1N,KAACuN,6BAA+B,KAElChL,mBAAcuK,UAAU9M,KAACmN,iBAGZ,SAAAQ,UAACZ,OACd,IAAAY,UAAAA,UAAY,IAAIT,UAAUH,cAC1B,IAAIa,MAAMD,UACR,CAAA5E,IAAK,SAAC1J,OAAQsF,KACZ,GAAGA,OAAOtF,OAAV,QAAsBA,OAAOsF,SAA7B,QAAuCtF,OAAO8N,cAAcxI,SC/BnD,SAAAkJ,SAACC,iBAAkBC,kBAChCA,UAAUlI,MAAM,SAACjG,UAAMkO,iBAAiB/H,SAASnG,KCDnD,IAAAoO,UACE,CAAA5G,QAAS,QACT6G,YACE,CAAAC,MAAO,UACPC,KAAM,YACRC,YACE,CAAAC,WAAY,YACZC,WAAY,YACdC,YACE,CAAAC,KAAM,YACNC,MAAO,aACPC,GAAI,UACJC,KAAM,aACRC,cAAe,GACfC,SACE,CAAAC,MAAO,GACPC,IAAK,EACLC,KAAM,GACNC,IAAK,GACLC,MAAO,GACPC,IAAK,GACLC,KAAM,EACNC,MAAO,GACPC,IAAK,GACLZ,GAAI,GACJC,KAAM,GACNH,KAAM,GACNC,MAAO,GACPc,IAAK,GACLC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,KAAM,GACNC,OAAQ,KC5BG,SAAAC,eAACpQ,MACd,IAAAqQ,OAAAC,UAAAC,OAAAA,OAAS,aACTD,UAAY,gBACZD,OAAS,IAAIjO,YAAYqF,OAAOC,KAAK6G,UAAUa,UAAUoB,KAAK,QAAS,YACvErM,YAAYnE,MAAMwC,IAAI,SAACrC,GACrB,IAAAsQ,QAAArB,SAAAsB,YAAA3C,eAAA4C,QAAA3C,gBAAA5O,KAAA4O,gBAAkBuC,OAAO3R,KAAKuB,GAC9B4N,eAAiBuC,UAAU1R,KAAKuB,GAChCwQ,QAAUxQ,EAAE0F,QAAQ0K,OAAQ,IAC3B1K,QAAQyK,UAAW,IACnBzK,QAAQwK,OAAQ,IAAIO,MAAM,KAC3BH,QAAUE,QAAQ,GAClBvR,KAAOmP,UAAUC,YAAYiC,UAC7BlC,UAAUI,YAAY8B,UAAYA,QAClCrB,SAAW,GACXsB,YAAcvQ,EAAEkE,MAAMgM,QACtBK,aAAgBA,YAAY3L,QAAQ,SAACG,KACnC,IAAAkD,EAAAyI,QAAAzI,EAAIlD,IAAIW,QAAQ,KAAM,IACtB,GAAyBgL,QAAUtC,UAAUa,SAAShH,GAAtD,QAAAgH,SAASnI,KAAK4J,kBAChB,CAAAzR,KAAMA,KACN0R,KAAM9C,gBACN+C,QAAShD,eACTO,UAAWqC,QAAQzP,MAAM,GACzBgE,IAAKkK,YCnBTvM,OAAKI,QAEH,CAAA+N,QAAS,SAAChR,KAAMiR,OAAQC,cACtB,IAAAC,YAAA,GAAoBD,eAAqBnT,KAAKK,WAAW8S,cAAzD,CAAAC,YAAc,GACd5Q,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAA2M,OAAA,GAAGrT,KAAKG,SAAS8B,MAAjB,CACEoR,OAAShB,eAAepQ,MAAMwC,IAAI,SAAC6O,KACjC,IAAA/D,MAAAA,MAAQ,IAAIgE,YAAYD,IAAIjS,KAC1B,CAAAwO,QAAS,KACT2D,WAAY,KACZC,SAAU,KACVP,OAAQA,SACV3D,MAAMgB,UAAY+C,IAAI/C,iBACtBhB,YARJ,CAUE8D,OAAYrT,KAAKC,QAAQgC,MAAUA,KAAU,CAACA,aAChDoR,OAAOrM,QAAQ,SAAC0M,GACd,IAAAC,aAAAD,EAAEvD,UAAYA,UAAUuD,GACxBC,aAAejK,OAAOkK,OAAOpD,UAAUC,aAAalI,SAASmL,EAAErS,MAC/D,GAAGsS,cAAiB3T,KAAKK,WAAWqG,GAAGgN,EAAErS,OAAzC,CACEqF,GAAGgN,EAAErS,YADP,CAGEqF,GAAGmN,cAAcH,GACnB,GAAG1T,KAAKK,WAAW8S,cAAnB,QACEA,aAAaO,EAAEvD,UAAWuD,EAAEvD,UAAU+C,OAAQxM,SAC3C,GAAGyM,aAAH,QACHC,YAAYlK,KAAKwK,EAAEvD,uBACzBiD,aAAe5Q,QCnCnB,IAAAsR,YAAAC,OAAAC,OAAAC,iBAAAC,kBAAAC,UAMAJ,OAASC,OAAS,EAAA,EAClBG,UAAY,MAEZD,kBAAoB,SAACR,GACnB,GAAUA,EAAE9D,iBAAZ,CAAA,OACA,GAAc8D,EAAEU,QAAQnP,SAAU,EAAlC,CAAA,OACA8O,OAASL,EAAEU,QAAQ,GAAGC,QACtBL,OAASN,EAAEU,QAAQ,GAAGE,eACtBH,UAAY,OAEdF,iBAAmB,SAACP,GAClB,IAAAa,UAAAC,KAAAC,KAAAC,OAAAC,OAAA,GAAUjB,EAAE9D,iBAAZ,CAAA,OACA,GAAc8D,EAAEU,QAAQnP,SAAU,EAAlC,CAAA,OACA,GAAUkP,UAAV,CAAA,OACAK,KAAOd,EAAEU,QAAQ,GAAGC,QACpBK,OAASF,KAAOT,OAChB,GAAGa,KAAKC,IAAIH,SAAWlE,UAAUY,cAAjC,CACE+C,UAAY,KACZI,UAAeG,OAAS,EAAO,QAAa,OAC5C,OAAO5P,OAAK4O,EAAE7R,QAAQoR,QAAQa,YAAYS,UAAWR,OAAQS,KAAME,SACrED,KAAOf,EAAEU,QAAQ,GAAGE,QACpBK,OAASF,KAAOT,OAChB,GAAGY,KAAKC,IAAIF,SAAWnE,UAAUY,cAAjC,CACE+C,UAAY,KACZI,UAAeI,OAAS,EAAO,OAAY,YAC3C7P,OAAK4O,EAAE7R,QAAQoR,QAAQa,YAAYS,UAAWP,OAAQS,KAAME,WAEhEb,YAAc,SAACS,UAAWO,MAAO9C,IAAK+C,OACpC,IAAAxF,MAAAA,MAAQ,IAAIgE,YAAY/C,UAAUO,YAAYwD,WAC5C,CAAA1E,QAAS,KACT2D,WAAY,KACZC,SAAU,OACZlE,MAAMuF,MAAQA,MACdvF,MAAMyC,IAAMA,IACZzC,MAAMyF,SAAWJ,KAAKC,IAAIE,cAC1BxF,OAIF,IAAA0F,WACE,CAAAnK,IAAK,SAACpE,IACJA,GAAGkG,iBAAiB,aAAcsH,0BAClCxN,GAAGkG,iBAAiB,YAAaqH,mBAEnClJ,OAAQ,SAACrE,IACPA,GAAGiG,oBAAoB,aAAcuH,0BACrCxN,GAAGiG,oBAAoB,YAAasH,oBCpDxC,IAAAiB,YAQA,IAAAC,cAAeD,YAAc,SAACxO,GAAIrF,KAAM0B,SAAUyD,SAAU+J,WAC1D,IAAA6E,SAAAnQ,OAAAoQ,WAAAC,UAAAF,SAAWvL,QAAQnD,GAAI8J,UAAU5G,SACjC,IAAcwL,SAAd,CAAA,OACA,IAAO/T,KAAP,CACE,IAAAA,QAAA+T,SAAA,0BACEF,YAAYxO,GAAIrF,KAAM0B,SAAUyD,SAAU+J,iBACzC,GAAGlP,OAAU,YAAciU,UAAYF,SAAS/T,OAAhD,CACHiU,UAAUC,QAAVD,UAAUC,MAAU,IACpBD,UAAUC,MAAQD,UAAUC,MAAMzM,OAAO,SAACE,MACxC,GAAexC,UAAaA,WAAcwC,KAAKxC,SAA/C,CAAA,OAAO,KACP,GAAezD,UAAaA,WAAciG,KAAKjG,SAA/C,CAAA,OAAO,KACP,GAAewN,YAAkBF,SAASrH,KAAKuH,UAAWA,WAA1D,CAAA,OAAO,QACT,IAAO+E,UAAUC,MAAMtQ,QAAWqQ,UAAUE,QAAWJ,SAASrT,QAAhE,CACE2E,GAAGiG,oBAAoBtL,KAAM+T,SAASrT,gBAC/BqT,SAAS/T,MAClBgU,WAAa3L,OAAOkK,OAAOpD,UAAUO,aACrC,GAAGsE,WAAW9M,SAASlH,OAAUgU,WAAWhN,MAAM,SAACoN,UAAUL,SAASK,KAAtE,CACER,WAAWlK,OAAOrE,KACtBzB,OAASyE,OAAOC,KAAKyL,UAAUnQ,OAC/B,IAAOA,QAAWA,SAAU,GAAM,YAAamQ,SAA/C,QACEvL,QAAQnD,GAAI8J,UAAU5G,QAAS,QC5BnC,IAAA8L,SAYAA,SAAW,SAAChP,GAAIrF,KAAM0B,SAAUyD,SAAU+J,UAAWoF,GAAI5C,KAAMC,QAAS4C,MACtE,IAAAR,SAAAxL,QAAA7H,QAAAwT,MAAAM,YAAAR,WAAAC,UAAA,GAA0DjU,OAAQ,UAAlE,CAAA,MAAM,IAAIuB,MAAM,wCAChBgH,QAAU4G,UAAU5G,QACpBwL,SAAWvL,QAAQnD,GAAIkD,UAAYC,QAAQnD,GAAIkD,QAAS,IACxD0L,UAAYF,SAAS/T,QAAT+T,SAAS/T,MAAU,IAC/BkU,MAAQD,UAAUC,QAAVD,UAAUC,MAAU,IAC5BA,MAAMrM,KACJ,CAAAnG,SAAUA,SACVyD,SAAUA,SACV+J,UAAWA,UACXpJ,IAAKwO,GACL5C,KAAMA,KACNC,QAASA,QACT8C,IAAKF,OACP7T,QAAUqT,SAASrT,UAATqT,SAASrT,QAAY,SAACwN,OAC9B,IAAAwG,OAAA1J,WAAA2J,MAAAC,KAAAA,KAAOzT,KACPuT,OAASlM,QAAQoM,KAAMzF,UAAU5G,SACjCoM,MAAQzG,MAAMlO,KACd,KAAc0U,QAAWA,OAAOC,QAAhC,CAAA,OACA3J,WAAaiD,UAAUC,OACvBlD,WAAaA,WAAWlJ,MAAM,EAAGkJ,WAAWjD,QAAQ6M,MAAQ,GAC5D1G,MAAQA,MAAMY,WAAaA,UAAUZ,cAGrClD,WAAWhE,MAAM,SAAC3D,MAChBqR,OAAOC,OAAOT,MAAMlN,MAAM,SAACC,IACzB,IAAA4N,YAAA,IAAKnT,SAAWuF,GAAGvF,WAAc0I,QAAQ/G,KAAM3B,YAC1CuF,GAAGvF,UAAa2B,OAAQuR,KAD7B,CAEE,GAAG1G,MAAMgB,YAAkBF,SAAS/H,GAAGiI,UAAWhB,MAAMgB,WAAxD,CACE,OAAO,KACT,GAAGhB,MAAMuD,SAAYxK,GAAGnB,IAAIlC,SACpBqD,GAAGnB,IAAIoB,SAASgH,MAAMuD,SAD9B,CAEE,OAAO,KACTvD,MAAM4G,cAAgBzR,KACtBwR,YAAc5N,GAAG9B,SAASI,KAAKlC,KAAM6K,MAAOA,MAAM2D,QAClD,GAAG5K,GAAGwN,IAAN,CACEZ,cAAYe,KAAMD,MAAO1N,GAAGvF,SAAUuF,GAAG9B,SAAU8B,GAAGiI,WACxD,GAA2BjI,GAAGyK,MAAQmD,cAAe,MAArD,CAAA3G,MAAMU,kBACN,GAA0B3H,GAAG0K,SAAWkD,cAAe,MAAvD,CAAA3G,MAAMS,yBAGJT,MAAM6G,yCAGR7G,MAAM8G,2BACdhB,WAAa3L,OAAOkK,OAAOpD,UAAUO,aACrC,GAAGsE,WAAW9M,SAASlH,MAAvB,CACEwU,YAAcR,WAAW5O,KAAK,SAACpF,MAAS,IAAAiV,yCAAgBd,YAAA,IACxD,IAAyBK,YAAzB,CAAAZ,WAAWnK,IAAIpE,KACjB,IAAO4O,UAAUE,OAAjB,CACEF,UAAUE,OAAS,YACnB9O,GAAGkG,iBAAiBvL,KAAMU,WAI9B,IAAAwU,WAAeb,SC5Df5Q,OAAKI,QAEH,CAAAsR,GAAI,SAACvU,KAAMc,SAAUyD,SAAUoP,MAC7B,IAAAzO,IAAAsP,YAAAR,KAAAA,KAAOzT,KACP,IAAOxC,KAAKG,SAAS8B,MAArB,CACiC,IAAAkF,OAAAlF,KAAA,uBAA/BO,KAACgU,GAAGrP,IAAKpE,SAAU0T,aACnB,OAAOjU,KACT,GAAGxC,KAAKK,WAAW0C,UAAnB,CACEyD,SAAWzD,SACXA,SAAW,GACbsP,eAAepQ,MAAM+E,QAAQ,SAAC0P,eAC5BT,KAAKjR,IAAIgC,QAAQ,SAACN,WAChBgP,WAAShP,GAAIgQ,OAAOrV,KAAM0B,SAAUyD,SAAUkQ,OAAOnG,UACrDmG,OAAOvP,IAAKuP,OAAO3D,KAAM2D,OAAO1D,QAAS4C,iBAC7CpT,QCdJsC,OAAKI,QAEH,CAAAyR,IAAK,SAAC1U,KAAMc,SAAUyD,UACpB,IAAAyP,KAAAA,KAAOzT,KACP,GAAGP,YAAQ,EAAX,CACEO,KAACwC,IAAIgC,QAAQ,SAACN,WAAOwO,cAAYxO,MACjC,OAAOlE,KACT,GAAGxC,KAAKK,WAAW0C,UAAnB,CACEyD,SAAWzD,SACXA,SAAW,GACbsP,eAAepQ,MAAM+E,QAAQ,SAAC0P,eAC5BT,KAAKjR,IAAIgC,QAAQ,SAACN,WAChBwO,cAAYxO,GAAIgQ,OAAOrV,KAAM0B,SAAUyD,SAAUkQ,OAAOnG,sBAC5D/N,QCpBJ,IAAAoU,UAAAC,SAAAC,gBAAAvG,UAAAwG,aASAxG,UAAY,SAACvC,aAAUA,EAAEgJ,MAEzBH,SAAW,SAAC7I,EAAGuB,OACb,IAAA0H,OAAA,GAAiBjX,KAAKyB,WAAWuM,EAAEC,MAAnC,CAAA,OAAOD,EAAEC,KACTgJ,OAAS,KACT1H,MAAMD,YAAY7I,KAAK,SAACC,IACtB,IAAc+E,QAAQ/E,GAAIsH,EAAEC,MAA5B,CAAA,cACAgJ,OAASvQ,YACXuQ,QAEFH,gBAAkB,SAAC9I,EAAGuB,MAAO0H,QAC3B,GAAejX,KAAKyB,WAAWuM,EAAEC,MAAjC,CAAA,OAAO,KACP,GAAesB,MAAM4G,gBAAiBc,OAAtC,CAAA,OAAO,YACPnS,OAAKyK,MAAM4G,eAAejK,OAAO8B,EAAEC,MAAMjJ,IAAI,KAAMiS,QAErDL,UAAY,SAAC5I,GACX,IAAAqF,OAAAA,OAASrF,EAAEkJ,QAAQC,OAAOvQ,KAAKoH,EAAE7I,kBACjCkO,OAAOrM,QAAQ,SAACsM,KACd,IAAA8D,UAAAC,YAAApV,KAAAc,SAAA,IAAcuQ,IAAI,GAAlB,CAAA,OACArR,QAAUqR,IAAI,KAAK/C,UAAUvC,KAC7BjL,SAAc/C,KAAKK,WAAWiT,IAAI,IAAQ,GAAQA,IAAI,GACtD8D,UAAepX,KAAKK,WAAWiT,IAAI,IAAQA,IAAInQ,MAAM,GAAOmQ,IAAInQ,MAAM,GACtEkU,YAActU,gBACdqU,UAAUpQ,QAAQ,SAACR,UACjB,IAAAzE,QAAA,IAAc/B,KAAKK,WAAWmG,UAA9B,CAAA,OACA,GAAGkD,OAAOkK,OAAO5F,EAAE7I,WAAWoD,SAAS/B,UAAvC,CACE,GAAGxG,KAAKG,SAAS6N,EAAEC,OAAUlL,SAAS+E,QAAQkG,EAAEC,KAAM,MAAOlL,SAA7D,CACEsU,YAAiBtU,YAAiBiL,EAAEC,QAAQlL,WAAgBiL,EAAEC,KAChElM,QAAU,SAACwN,MAAO+H,MAChB,IAAAL,OAAA,KAAcA,OAASJ,SAAS7I,EAAGuB,QAAnC,CAAA,OACA,IAAcuH,gBAAgB9I,EAAGuB,MAAO0H,QAAxC,CAAA,cACAzQ,SAASI,KAAKoH,EAAEE,OAAO+I,QAAQ,GAAI1H,MAAO+H,WAN9C,CAQEvV,QAAU,SAACwN,MAAO+H,aAAS9Q,SAASI,KAAKpE,KAAM+M,MAAO+H,cACxDxS,OAAKpC,UAAU8T,GAAGvU,KAAMoV,YAAatV,cAE3CgV,aAAe,SAAC/I,UAAMlJ,OAAKpC,UAAUiU,IAAIpG,UAAUvC,KCtCnDlJ,OAAKI,QAEH,CAAAqS,QAAS,SAAC5L,mBACR7G,OAAK4G,QAAQvC,OAAOT,MAAMlG,KAACwC,IAAK,gBAAiB,OAAQ2G,gBCJ9C,SAAA6L,SAACC,SAAUzS,KACxB,IAAAiS,OAAAS,aAAAT,OAASQ,SAASxJ,KAAKjJ,IAAI,GAC3B0S,aAAeD,SAASE,YAAY1J,YACpCjJ,IAAI8D,OAAO,SAACpC,IACV,IAAAkR,WAAA,GAAelR,KAAMuQ,OAArB,CAAA,OAAO,KACP,GAAgBxL,QAAQ/E,GAAIgR,cAA5B,CAAA,OAAO,MACPE,WAAa9S,OAAK4B,IAAIwF,OAAOwL,cAAc1S,IAAI,GAC/C,GAAGtC,SAASyI,SAASzE,IAArB,QAA6BkR,aAAcX,WAA3C,QAA2DW,cCb/D,IAAAC,aAAAC,eAAAC,aASAA,aAAe,SAAC/J,EAAG/L,KAAMc,SAAUiV,SAAUC,kBAC3CvO,OAAOwO,eAAelK,EAAE7I,UAAWlD,KACjC,CAAAsJ,IAAK,WACH,IAAAjC,MAAA+C,WAAA8L,QAAAlB,OAAA,IAAqBlU,SAArB,CAAA,OAAO+B,SACP,GAAmB/B,oBAAoB8B,KAAvC,CAAA,OAAO9B,SACP,GAA6B/C,KAAKK,WAAW0C,UAA7C,CAAA,OAAOA,SAAS6D,KAAKpE,MACrB,IAA4BxC,KAAKG,SAAS4C,UAA1C,CAAA,OAAO+B,OAAK/B,UACZ,KAAqBkU,OAASzU,KAACyL,KAAKjJ,IAAI,IAAxC,CAAA,OAAOF,SACPmT,YAAc3O,MAAQ0E,EAAEI,UAAU5L,KAACwU,IAAIoB,WACvC,GAAsB9O,OAAUrH,QAAQqH,MAAxC,CAAA,OAAOA,MAAMrH,MACbkW,QAAUrT,OAAK/B,SAAUkU,QAAQjS,KAC7BgT,WAAaG,QAAUX,SAAShV,KAAM2V,UAC1C9L,WAAavH,OAAKqE,OAAOgP,UACzB,IAAyB7O,MAAzB,CAAA,OAAO+C,WACP,GAAGA,WAAWpH,OAAd,QAA0BqE,MAAMrH,MAAQoK,eAAxC,QAAwDA,gBAE9DwL,aAAe,SAAC7J,GACd,IAAAiK,UAAA9V,IAAAF,KAAA+V,SAAAjV,SAAAsV,WAAAA,WAAarK,EAAEkJ,QAAQpU,KAAK8D,KAAKoH,EAAE7I,WACnC6S,SAAWhY,KAAKyB,WAAWuM,EAAEC,MAC7BgK,UAAYjY,KAAKG,SAAS6N,EAAEC,MAC5B,IAAAhM,QAAAoW,WAAA,2BACE,GAAGpW,QAAQ+L,EAAE7I,UAAb,CACEhD,QAAUF,iCACVE,OAASA,qCACTG,QAAQC,KAAKJ,SAHf,CAKE4V,aAAa/J,EAAG/L,KAAMc,SAAUiV,SAAUC,mBAC9CA,YAAcjK,EAAE7I,UAAU2S,eAAiB,SAAC7V,MAC1C,IAAA8T,OAAAqC,UAAA,KAAcrC,OAASvT,KAACmV,YAAYvJ,UAAU5L,KAACwU,KAA/C,CAAA,OACA,KAAcoB,UAAYrC,OAAOqC,WAAjC,CAAA,cACAN,eAAeM,UAAWnW,SAE9B6V,eAAiB,SAACxO,MAAOrH,MACvB,IAAAqW,MAAA,IAAchP,MAAd,CAAA,OACA,IAAiBtJ,KAAKG,SAAS8B,MAA/B,CAAAA,KAAO,GACPqW,MAAWrW,KAAUmE,YAAYnE,MAAUyH,OAAOC,KAAKL,cACvDgP,MAAMtR,QAAQ,SAAC5E,iBAAakH,MAAMlH,MC7CpC,IAAA8K,SAAAqL,eAAAC,IAAAC,iBAAAC,iBAAAC,WAAAC,iBAAAC,iBAAAC,UAAAC,MAaA7L,SACE,CAAAG,UAAW,KACXC,QAAS,KACTC,WAAY,KACZyL,kBAAmB,MAErBR,IAAM,SAACtG,IAAK1L,SAAU3E,QACpB,IAAAoX,UAAAC,MAAAA,MAAQhH,IAAIyF,YAAYxS,UACxB8T,UAAYvP,OAAOkK,OAAOsF,OAAO3Q,SAAS/B,UAC1C,GAAGyS,UAAH,QAAkB/G,QAAlB,QAA2BrQ,SAE7BgX,iBAAmB,SAACxX,KAAM8X,SAAUC,QAASpB,UAC3C,IAAAhK,EAAAkE,IAAArE,GAAAD,MAAAsE,IAAMiH,SAASjH,IACflE,EAAIkE,IAAIyF,YACR9J,GAAKsL,SAAStL,GACdD,MAAQ1N,MAAM+C,KAAK4K,MAAMxM,qBACzB+X,QAAQ1U,KAAKsC,QAAQ,SAACtC,MACpB,IAAAM,IAAAA,IAAM,GACN4I,MAAM5G,QAAQ,SAAC5E,UAAM4C,IAAMA,IAAIsG,OAAOwB,QAAQpI,KAAK3B,SAAUX,MAC7D,IAAc4C,IAAIC,OAAlB,CAAA,QACI+S,WAAahT,IAAMwS,SAAStF,IAAK/I,OAAOnE,cAC5CA,IAAIC,QAAWP,KAAK0S,UAAUpQ,QAAQ,SAACR,UACrC,IAAAxD,IAAAA,IAAMwV,IAAItG,IAAK1L,SAAUxB,KACzB,GAAOwB,WAAYwH,EAAE7I,UAAU2S,eAA/B,CACErJ,OAAOT,EAAEgJ,UAAU9E,IAAI8E,qBAAqB3V,iBAC5C,eAAgB6Q,IAAIjE,KAAKjJ,IAAI,GAAI,QAASgJ,EAAEI,UAAU8D,IAAI8E,aACjD3V,OAAQ2D,gBAAiBwB,SAASvE,MAAQ,KAAMuE,SACzD,UAAWxD,IAAK,YAAa,CAACgC,IAAK3D,cACrCmF,SAASI,KAAK5D,IAAKgC,IAAK3D,WAE9BuX,iBAAmB,SAACO,SAAUC,QAASpB,UACrC,IAAAhK,EAAAkE,IAAArE,GAAA5L,KAAAoX,OAAAxX,OAAAqQ,IAAMiH,SAASjH,IACfrE,GAAKsL,SAAStL,GACdG,EAAIkE,IAAIyF,YACR1V,KAAO4L,GAAGyL,cACVzX,OAASgM,GAAGhM,OACZwX,OAASxL,GAAG0L,SACZ,KAActX,MAASjC,KAAK2B,UAAUE,SAAtC,CAAA,OACA,IAAcmW,WAAiBR,SAAStF,IAAK,CAACrQ,SAASoD,OAAvD,CAAA,cACAmU,QAAQtS,KAAKE,QAAQ,SAACF,MACpB,IAAcA,KAAK7E,KAAKsG,SAAStG,MAAjC,CAAA,OACA,IAAcwJ,QAAQ5J,OAAQiF,KAAK/D,UAAnC,CAAA,cACA+D,KAAKsQ,UAAUpQ,QAAQ,SAACR,UACtB,IAAAxD,IAAAA,IAAMwV,IAAItG,IAAK1L,SAAU3E,QACzB4M,OAAOT,EAAEgJ,UAAU9E,IAAI8E,eAAe/U,yBACtC,eAAgBiQ,IAAIjE,KAAKjJ,IAAI,GAAI,QAASgJ,EAAEI,UAAU8D,IAAI8E,IAC1D,iBAAkBnV,mBAAoB2E,SAASvE,MAAQ,KAAMuE,SAC7D,UAAWxD,IAAK,YAAa,CAACnB,OAAQwX,gBACtC7S,SAASI,KAAK5D,IAAKnB,OAAQwX,aAEjCZ,iBAAmB,SAACzK,EAAGwL,UAAWxB,iBAChCwB,UAAUxS,QAAQ,SAACmS,UACjBN,iBAAiB,QAASM,SAAUnL,EAAEoL,QAASpB,UAC/Ca,iBAAiB,UAAWM,SAAUnL,EAAEoL,QAASpB,iBACjDY,iBAAiBO,SAAUnL,EAAEoL,QAASpB,aAE1CW,WAAa,SAACc,SAAUC,iBACtBzR,WAAW/H,MAAM+C,KAAKwW,UAAWvZ,MAAM+C,KAAKyW,UAAW,OAEzDhB,iBAAmB,SAACc,UAAW3L,IAC7B,IAAA8L,gBAAAA,gBAAkB,KAClBH,UAAU/S,KAAK,SAAC0S,UACd,GAAqCtL,KAAMsL,SAAStL,GAApD,CAAA,OAAO8L,gBAAkBR,SACzB,GAActL,GAAGxM,OAAQ8X,SAAStL,GAAGxM,KAArC,CAAA,OACA,GAAcwM,GAAGhM,SAAUsX,SAAStL,GAAGhM,OAAvC,CAAA,OACA,GAAcgM,GAAGyL,gBAAiBH,SAAStL,GAAGyL,cAA9C,CAAA,OACA,GAAczL,GAAG0L,WAAYJ,SAAStL,GAAG0L,SAAzC,CAAA,OACA,IAAcZ,WAAW9K,GAAGC,WAAYqL,SAAStL,GAAGC,YAApD,CAAA,OACA,IAAc6K,WAAW9K,GAAGE,aAAcoL,SAAStL,GAAGE,cAAtD,CAAA,cACA4L,gBAAkBR,kBACpBQ,iBAEFpB,eAAiB,SAACvK,EAAGyJ,UACnB,IAAAmC,MAAA5B,SAAA5K,SAAA6J,OAAA2C,MAAQ5L,EAAEI,UACV6I,OAASQ,SAASxJ,KAAKjJ,IAAI,GAC3BgT,SAAWhY,KAAKyB,WAAWuM,EAAEC,MAC7Bb,SAAW,IAAIK,iBAAiB,SAACC,KAC/B,IAAA8L,UAAAA,UAAY9L,IAAIjJ,IAAI,SAACoJ,UAAO,CAACqE,IAAKuF,SAAU5J,GAAIA,OAC5CmK,UAAalV,KAAKkL,EAAEC,KAAMgJ,QAAQjQ,QAAQ,SAACN,IAC7C,IAAAqP,OAAA7D,IAAA5D,QAAA,KAAcyH,OAAS6D,MAAMlT,GAAGkD,WAAhC,CAAA,OACA,KAAcsI,IAAM6D,OAAO0B,UAA3B,CAAA,OACA,KAAcnJ,QAAUyH,OAAOzH,SAA/B,CAAA,cACAA,QAAQuL,cAAc7S,QAAQ,SAAC6G,IAC7B,IAAAiM,eAAAA,eAAiBpB,iBAAiBc,UAAW3L,IAC7C,GAA4BiM,eAA5B,QAAAA,eAAe5H,IAAMA,gBACzBuG,iBAAiBzK,EAAGwL,UAAWxB,YACjC5K,SAASiB,QAAQ4I,OAAQ/J,iBACzBE,UAEF2L,MAAQ,SAAC/K,EAAGkE,KACV,IAAA6H,KAAA,IAAO/L,EAAEoL,QAAT,CACEW,KAAO/L,EAAEkJ,QAAQ6B,MAAMnS,KAAKoH,EAAE7I,WAC9B6I,EAAEoL,QACA,CAAA1U,MAAOqV,KAAKrV,MAAQ,IAAID,IAAI,SAACuV,SAC3B,CAAAjX,SAAa/C,KAAKK,WAAW2Z,EAAE,IAAQ,IAASA,EAAE,GAClD5C,UAAcpX,KAAKK,WAAW2Z,EAAE,IAAQA,EAAOA,EAAE7W,MAAM,MACzD2D,MAAOiT,KAAKjT,MAAQ,IAAIrC,IAAI,SAACyD,SAC3B,CAAAjG,KAAMmE,YAAY8B,EAAE,IACpBnF,SAAa/C,KAAKK,WAAW6H,EAAE,IAAQ,IAASA,EAAE,GAClDkP,UAAcpX,KAAKK,WAAW6H,EAAE,IAAQA,EAAE/E,MAAM,GAAO+E,EAAE/E,MAAM,cACrEoV,eAAevK,EAAGkE,MAEpB4G,UAAY,SAAC5G,IAAK5D,gBAAYA,QAAQ2L,cCnHtC,IAAAC,KAaMA,KAAA,WAAN,MAAAA,KAKEnV,YAAckJ,MACZ,IAAAD,EAAAE,OAAAiM,aAAArX,KAAA8W,MAAAzC,OAAA+B,MAAAjC,OAAAmB,UAAA9J,QAAAN,EAAIxL,KAACmV,YACLuB,MAAQlL,EAAE7I,UACVyU,MAAQ5L,EAAEI,UACV,KAAOpO,KAAKG,SAAS6N,EAAEC,OAASjO,KAAKyB,WAAWuM,EAAEC,OAAlD,CACE,MAAM,IAAIrL,MAAM,oDAClB,GAAeqL,gBAAgBD,EAA/B,CAAA,OAAOC,KACP,GAAiBjO,KAAKyB,WAAWuM,EAAEC,MAAnC,CAAAA,KAAOD,EAAEC,KACTzL,KAACyL,KAAOnJ,OAAKmJ,MACb,KAAcgJ,OAASzU,KAACyL,KAAKjJ,IAAI,IAAjC,CAAA,OACA,GAAuBxC,KAACyL,KAAKhJ,OAAS,EAAtC,CAAAzC,KAACyL,KAAOnJ,OAAKmS,QACbzU,KAACwU,GAAKC,OAAOrN,WAAPqN,OAAOrN,SAAapB,UAC1B,GAA8BhG,KAACwU,MAAM4C,MAArC,CAAA,OAAOA,MAAMpX,KAACwU,IAAIS,SAClB,IAAIN,OAASnJ,EAAEkJ,QAAQC,UAAgBnJ,EAAEoM,aAAzC,CACExD,UAAU5I,GACVA,EAAEoM,aAAe,KACnB,IAAItX,KAAOkL,EAAEkJ,QAAQpU,QAAckL,EAAEqM,eAArC,CACExC,aAAa7J,GACbA,EAAEqM,eAAiB,KACrB,GAAkBnB,MAAMpB,eAAxB,CAAAM,UAAY,GACZ,GAAGA,YAAkBpK,EAAEoL,QAAvB,CACE,GAAGe,aAAenM,EAAEkJ,QAAQ6B,MAA5B,CACE/K,EAAEkJ,QAAQ6B,MAAQ,WAChB,IAAAK,QAAAA,QAAUe,aAAavT,KAAKpE,MAC5B4W,QAAQ1U,OAAR0U,QAAQ1U,KAAS,IACjB0U,QAAQ1U,KAAK4V,QAAQ,CAACpB,MAAMpB,wBAC5BsB,aALJ,CAOEpL,EAAEkJ,QAAQ6B,MAAQ,iBAAG,CAACrU,KAAM,CAAC,CAACwU,MAAMpB,oBACxC,GAA2B9J,EAAEkJ,QAAQ6B,MAArC,CAAAzK,QAAUyK,MAAM/K,EAAGxL,MACnBoX,MAAMpX,KAACwU,IAAM,CAACS,SAAUjV,KAAM4V,UAAWA,UAAW9J,QAASA,SAC7DzE,QAAQoN,OAAQjJ,EAAEgJ,GAAI4C,MAAMpX,KAACwU,KAC7B,GAAoB9I,OAASF,EAAEkJ,QAAQhJ,OAAvC,CAAAA,OAAOtH,KAAKpE,MACZiM,OAAOT,EAAEgJ,UAAUxU,KAACwU,cACpB,eAAgBC,OAAQ,QAAS2C,MAAMpX,KAACwU,KAEjCjS,cAAChC,SAAUC,KAClB,IAAAgL,EAAAA,EAAIxL,KACJ,GAAoBxC,KAAKyB,WAAWe,KAACyL,QAAalL,SAAlD,CAAAA,SAAWP,KAACyL,YACZnJ,OAAK/B,SAAUC,KAAKgC,IAAIP,IAAI,SAACiC,WAAO,IAAIsH,EAAEtH,MAElC3B,eAAChC,SAAUC,KACnB,IAAAgL,EAAAuM,aAAAX,MAAA5L,EAAIxL,KACJoX,MAAQpX,KAAC4L,UACT,GAAoBpO,KAAKyB,WAAWe,KAACyL,QAAalL,SAAlD,CAAAA,SAAWP,KAACyL,KACZnJ,OAAK/B,SAAUC,KAAKgC,IAAIgC,QAAQ,SAACiQ,QAC/B,IAAA9I,QAAA6I,GAAAS,SAAAnJ,QAAA,KAAc0I,GAAKC,OAAOrN,UAA1B,CAAA,OACA,KAAcoN,MAAM4C,OAApB,CAAA,OACAnC,SAAWmC,MAAM5C,IAAIS,SACrBnJ,QAAUsL,MAAM5C,IAAI1I,QACpB,GAAyBH,QAAUH,EAAEkJ,QAAQ/I,QAA7C,CAAAA,QAAQvH,KAAK6Q,UACb,GAA+BnJ,QAA/B,CAAAwK,UAAUrB,SAAUnJ,gBACbsL,MAAM5C,IACbnN,QAAQoN,OAAQjJ,EAAEgJ,GAAI,aACtBvI,OAAOT,EAAEgJ,UAAUA,gBACnB,eAAgBC,OAAQ,QAAS2C,MAAM5C,OACzCuD,aAAe7Q,OAAOC,KAAKiQ,OAAO3U,OAClC,IAAOsV,cAAiBvM,EAAEoM,aAA1B,CACErD,aAAa/I,GACbA,EAAEoM,aAAe,aACnB5X,KAEKuC,YAACoC,IAAKjF,KACXM,KAACgY,KAAO5Y,cAAcY,KAAC0U,QAAS,kBAChC1U,KAACgY,KAAKrT,IAAKjF,KAEH6C,eAACoC,IAAKjF,KACd,IAAA8L,EAAAyM,GAAAzM,EAAIxL,KACJiY,GAAK,SAACxY,KAAM4D,OACVmI,EAAE0M,SAASxR,KAAKjH,aAChB4D,OACFrD,KAAC0C,QAAUtD,cAAcY,KAAC2C,UAAW,YAAasV,WAClDjY,KAAC0C,QAAQiC,IAAKjF,KAEN6C,eAACoC,IAAKjF,KACdM,KAACmY,QAAU/Y,cAAcY,KAAC2C,UAAW,qBACrC3C,KAACmY,QAAQxT,IAAKjF,KAEL6C,gBAAChC,SAAUC,KACpB,IAAA4W,MAAAA,MAAQpX,KAAC4L,iBACTtJ,OAAK/B,SAAUC,KAAKgC,IAAIyB,KAAK,SAACC,IAC5B,IAAAsQ,UAACA,GAAKtQ,GAAGkD,WAAcgQ,MAAM5C,MAE1BjS,YAACyB,UACNkD,OAAOkK,OAAOpR,KAAC4L,WAAW3H,KAAK,SAAC6C,MAAO3C,OACrC,IAAA8Q,SAAAR,OAAAQ,SAAWnO,MAAMmO,SACjBR,OAASQ,SAASxJ,KAAKjJ,IAAI,UAC3BwB,SAASiR,SAAUR,OAAQtQ,MAAO2C,SAAU,eAC9C9G,qBA3FFoY,IAAK9V,OAAKtD,uBACVqZ,IAAK/V,OAAKpC,UA8FVgH,OAAOwO,eAAegC,KAAK/U,UAAW,OACpC,CAAAoG,IAAK,kBAAGzG,OAAKpC,SAASoY,oBAExBpR,OAAOwO,eAAegC,KAAK/U,UAAW,OACpC,CAAAoG,IAAK,kBAAGzG,OAAKpC,SAASqY,SAExBrR,OAAOwO,eAAegC,KAAK/U,UAAW,MACpC,CAAAoG,IAAK,kBAAG/I,KAACmV,uCAIb,IAAAqD,OAAed,KCzHf,IAAAe,sBAAAC,qBAAAC,yBAAAC,qBAAAC,mBAIAJ,sBAAwB,SAACK,OAAQtN,EAAG7G,KAClC,IAAAhF,IAAA,KAAcgF,OAAO6G,IAAUA,EAAEuN,SAAShT,SAASpB,MAAnD,CAAA,OACAhF,OAASmZ,4BAA4BnU,WAAW6G,EAAEgJ,YAClD1U,QAAQC,KAAKJ,MAEf+Y,qBAAuB,SAAClN,GACtB,IAAAwN,aAAAA,MAAQ,IAAIpL,MAAMpC,EAChB,CAAAzC,IAAK,SAAC1J,OAAQsF,KACZ8T,sBAAsB,UAAWjN,EAAG7G,YACpC6G,EAAE7G,MACJsU,IAAK,SAAC5Z,OAAQsF,IAAKjF,KACjB+Y,sBAAsB,UAAWjN,EAAG7G,YACpC6G,EAAE7G,KAAOjF,KACX+J,MAAO,SAACpK,OAAQmB,IAAK0Y,MACnB,IAAA9B,MAAAA,MAAQ5L,EAAEE,OAAOjC,MAAM+B,EAAG0N,aAC1BN,qBAAqBxB,WAE3ByB,mBAAqB,SAACC,OAAQpJ,IAAK/K,KACjC,IAAAhF,IAAA,KAAcgF,OAAO+K,MAAYA,IAAIyJ,IAAIjB,SAASnS,SAASpB,MAA3D,CAAA,OACAhF,OAASmZ,4BAA4BnU,WAAW+K,IAAIyJ,IAAI3E,MAAM9E,IAAI8E,YAClE1U,QAAQC,KAAKJ,MAEfiZ,qBAAuB,SAACxB,OACtB,IAAA4B,aAAAA,MAAQ,IAAIpL,MAAMwJ,MAChB,CAAA6B,IAAK,SAAC5Z,OAAQsF,IAAKjF,YACjB0X,MAAMnV,IAAI,SAACyN,KACTmJ,mBAAmB,UAAWnJ,IAAK/K,YACnC+K,IAAI/K,KAAOjF,OACfqJ,IAAK,SAAC1J,OAAQsF,KACZ,IAAAyU,KAAAA,KAAOhC,MAAMnV,IAAI,SAACyN,KAChBmJ,mBAAmB,UAAWnJ,IAAK/K,YACnC+K,IAAI/K,cACNgU,yBAAyBvB,MAAOgC,KAAMzU,IAAKqU,WAEjDL,yBAA2B,SAACvB,MAAOgC,KAAMzU,IAAK0U,gBAC5C,IAAAL,aAAAA,MAAQ,IAAIpL,MAAM,IAAI0L,SACpB,CAAAvQ,IAAK,SAAC1J,OAAQwI,GACZ,IAAsBrK,KAAKK,WAAWub,KAAKvR,IAA3C,CAAA,OAAOuR,KAAKvR,UACZuR,KAAKvR,GAAG0R,KAAKH,OACf3P,MAAO,SAACpK,OAAQmB,IAAK0Y,MACnB,IAAAhF,OAAAsF,QAAAA,QAAUpC,MAAMnV,IAAI,SAACyN,YAAQA,IAAI/K,KAAK8E,MAAMiG,IAAKwJ,QACjDhF,OAASgF,KAAKA,KAAKzW,OAAS,GAC5B,GAAGjF,KAAKM,SAASoW,SAAYA,OAAOuF,QAAS,MAA7C,QACED,YADF,QAGEH,oBAIO,SAAAK,YAAC1O,kBAAc0N,qBAAqB1N,WCrDnD,IAAAoB,UAYA9J,OAAKM,OAAO,YAAawJ,UAAU,SAAC3M,KAAMgM,MAExC,IAAAT,UAAA2O,SAAM3O,UAAA,WAAN,MAAAA,kBAAwB0M,QAEtB1M,UAACwJ,GAAInP,sBAAyB5F,KAAU,IAAMA,KAAU,IAAMuG,YAC9DgF,UAACS,KAASA,KAAUA,KAAahM,SAAc+F,SAAS/F,QAAYS,SACpE8K,UAACY,UAAW,GACZZ,UAAC0J,QAAS,GACV1J,UAACkN,SAAU,CAAC,YACZlN,UAAC+N,SAAU,CAAC,YACZ/N,UAAC4M,aAAc,MACf5M,UAAC4O,YAAa,MACd5O,UAAC6M,eAAgB,MACjB7M,UAAC4L,QAAS,kCAIZ+C,SAAWla,MAASA,QAAQ6C,OAC5B,GAA2C7C,KAA3C,CAAA6C,OAAKM,OAAOnD,KAAMia,YAAY1O,aAC1B2O,UAAarX,OAAK2H,MAAM,WAC1B,GAAmCzM,KAAKyB,WAAW+L,UAAUS,MAA7D,CAAAT,UAAUU,OAAOV,UAAUS,MAC3B,IAAcjO,KAAKG,SAASqN,UAAUS,MAAtC,CAAA,OACAT,UAAUU,OAAOjB,SAASO,UAAUS,OACpCjB,qBAAqBQ,kBACrBA,UAAU4O,YAAc,cAC1B5O,YCjCa,SAAA6O,aAAC3V,GAAIkC,KAAM0T,OACxB,IAAA9N,MAAA,IAAcxO,KAAK2B,UAAU+E,MAAWkC,KAAxC,CAAA,OACA4F,MAAQhN,OAAO+a,iBAAiB7V,GAAI,MACpC,GAAGkC,KAAH,CACE,GAAG0T,MAAH,QACE9N,MAAMgO,iBAAiB5T,YAAS,MADlC,QAGE4F,MAAM5F,WAJV,QAME4F,OCbW,SAAAiO,WAAC7T,YAAS,MAAM/H,KAAK+H,MCKrB,SAAA8T,SAAC9T,KAAM0T,OACpB,GAA2BA,aAAS,EAApC,CAAAA,MAAQG,WAAW7T,MACnB,GAAG0T,MAAH,QAAc1T,SAAd,QAAwBf,UAAUe,OCPpC,IAAA+T,aAKAA,aAAe,CACb,0BACA,cACA,WACA,aACA,aACA,aACA,UACA,QACA,UACA,SACA,UAKa,SAAAC,aAAChU,KAAM/C,MAAOyW,OAC3B,GAA2BA,aAAS,EAApC,CAAAA,MAAQG,WAAW7T,MACnB,GAAgB0T,OAASK,aAAapU,SAASK,MAA/C,CAAA,OAAO/C,MACP,GAAG7F,KAAKQ,UAAUqF,OAAlB,UAAgCA,cAAhC,QAA+CA,OCfjDf,OAAKI,QAEH,CAAA2X,IAAK,SAACjU,KAAM/C,OACV,IAAAyW,MAAAnV,IAAAjF,IAAA,GAAGlC,KAAKG,SAASyI,MAAjB,CACE0T,MAAQG,WAAW7T,MACnBA,KAAO8T,SAAS9T,KAAM0T,OACtB,GAAGlV,UAAUnC,OAAS,EAAtB,CACE,OAAOzC,KAACwC,IAAI,IAAOqX,aAAa7Z,KAACwC,IAAI,GAAI4D,KAAM0T,OACjD,IAAmB1T,KAAnB,CAAA,OAAOpG,KACPqD,MAAQK,aAAW0C,KAAM/C,MAAOyW,OAChC9Z,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAc1G,KAAK2B,UAAU+E,IAA7B,CAAA,OACA,GAAG4V,MAAH,QACE5V,GAAG8H,MAAMsO,YAAYlU,KAAM/C,WAD7B,QAGEa,GAAG8H,MAAM5F,MAAQ/C,SACrB,OAAOrD,KACK,IAAA2E,OAAAyB,KAAA,eAAdpG,KAACqa,IAAI1V,IAAKjF,YACVM,QCtBJsC,OAAKI,QAEH,CAAA6X,UAAW,SAACnU,aAASpG,KAACqa,IAAIjU,KAAM,OCPlC,IAAA7C,QAAA0B,UAIAA,UAAU,UAEV1B,QAAQ,SAAC9D,aAAS4F,UAAU5F,KAAK6F,QAAQL,UAAS,MAIlD,IAAAuV,UAAejX,QCJfjB,OAAKI,QAEH,CAAA+X,WAAY,SAAChb,MACX,IAAAqW,MAAA,GAAGlR,UAAUnC,OAAb,CACEqT,MAAQlS,YAAYnE,MACpB,IAAmBqW,MAAMrT,OAAzB,CAAA,OAAOzC,KACP8V,MAAQA,MAAM7T,IAAI,SAACrC,UAAM4a,UAAU5a,KACnCI,KAACwC,IAAIgC,QAAQ,SAACN,WAAO4R,MAAMtR,QAAQ,SAAC5E,iBAAasE,GAAGwW,QAAQ9a,WAJ9D,CAMEI,KAACwC,IAAIgC,QAAQ,SAACN,IAAO,IAAAtE,EAAAkU,IAAArN,QAAA/G,IAAqBoU,IAAA5P,GAAAwW,QAAAjU,QAAA,GAAA,IAAA7G,KAAAkU,IAAA,gCAAd5P,GAAGwW,QAAQ9a,4BACzCI,QCPJsC,OAAKI,QAEH,CAAAoS,KAAM,SAACrV,KAAM4D,OACX,IAAAsX,MAAAhW,IAAAmP,IAAApU,IAAA,IAAOD,KAAP,CACE,IAAcO,KAACwC,IAAI,GAAnB,CAAA,OACAmY,MAAQ,GACmB7G,IAAA9T,KAAAwC,IAAA,GAAAkY,QAAA,IAAA/V,OAAAmP,IAAA,cAA3B6G,MAAMhW,KAAOvB,UAAU1D,KACvB,OAAOib,MACT,GAAGnd,KAAKG,SAAS8B,MAAjB,CACEA,KAAO+a,UAAU/a,MACjB,GAAGmF,UAAUnC,QAAU,EAAvB,CACE,GAAeY,aAAS,EAAxB,CAAA,OAAOrD,KACP,GAA2BqD,QAAS,KAApC,CAAA,OAAOrD,KAACya,WAAWhb,MACnBC,IAAMgE,WAAWL,OACjBrD,KAACwC,IAAIgC,QAAQ,SAACN,WAAOA,GAAGwW,QAAQjb,MAAQC,MACxC,OAAOM,KACT,IAAcA,KAACwC,IAAI,GAAnB,CAAA,OACA,OAAOY,UAAUpD,KAACwC,IAAI,GAAGkY,QAAQjb,OACpB,IAAAkF,OAAAlF,KAAA,eAAfO,KAAC8U,KAAKnQ,IAAKjF,YACXM,QCvBJsC,OAAKI,QAEH,CAAAkY,QAAS,SAACjW,KACR,IAAoBA,IAApB,CAAA,OAAO,MACPA,IAAM6V,UAAU7V,YAChB3E,KAACwC,IAAIyB,KAAK,SAACC,WAAOA,GAAGwW,SAAY/V,OAAOT,GAAGwW,aCV/C,IAAAtO,UAKAA,UAAU,SAAChG,aACT,WACE,IAAAlC,GAAA,KAAcA,GAAKlE,KAACwC,IAAI,IAAxB,CAAA,OACA,GAAiChF,KAAKuB,SAASmF,IAA/C,CAAA,OAAOlF,eAAeoH,eACtBlC,YAAYkC,UAIhB9D,OAAKI,QAEH,CAAAmY,WAAYzO,UAAQ,SAEpB0O,YAAa1O,UAAQ,YCbR,SAAA2O,gBAAC7W,GAAIkC,aAAS4U,SAASnB,aAAa3V,GAAIkC,MAAO,KAAO,ECAtD,SAAA6U,cAAC/W,GAAIgX,cAClBH,gBAAgB7W,YAAgBgX,MAAW,OAAY,cACrDH,gBAAgB7W,aAAiBgX,MAAW,OAAY,SACxDH,gBAAgB7W,aAAiBgX,MAAW,QAAa,YACzDH,gBAAgB7W,YAAgBgX,MAAW,QAAa,iBCR5D,IAAA9O,UASAA,UAAU,SAAChG,aACT,SAAC/C,OACC,IAAA6N,EAAAiK,UAAA,KAAOjK,EAAIlR,KAACwC,IAAI,IAAhB,CACS,GAAGa,aAAS,EAAZ,aAA2B,MAA3B,QAA0CrD,MACnD,IAAO4E,UAAUnC,OAAjB,CACE,GAAuCjF,KAAKuB,SAASmS,GAArD,CAAA,OAAOA,EAAE7L,mBAAmBe,SAC5B,OAAO8K,EAAEkK,wBAAwBhV,MAAQ6U,cAAc/J,EAAG9K,OAAQ,SACpE+U,UAAYH,SAAS3X,MAAO,IAC5BrD,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAAmX,UAAAC,MAAA,IAAc9d,KAAK2B,UAAU+E,IAA7B,CAAA,OACAmX,UAAYxB,aAAa3V,GAAI,aAC7BoX,MAAQ,EACR,GAA8CD,YAAa,aAA3D,CAAAC,MAAQL,cAAc/W,GAAIkC,OAAQ,gBAClClC,GAAG8H,MAAM5F,MAAQ1C,aAAW0C,KAAM+U,UAAYG,gBAChDtb,OAIJsC,OAAKI,QAEH,CAAA6Y,MAAOnP,UAAQ,SAEfoP,OAAQpP,UAAQ,YC/BlB,IAAAA,UAMAA,UAAU,SAAChG,aACT,SAACqV,gBACC,IAAAvX,GAAAwX,UAAAC,UAAAC,WAAA,KAAc1X,GAAKlE,KAACwC,IAAI,IAAxB,CAAA,OACA,GAAiChF,KAAKuB,SAASmF,IAA/C,CAAA,OAAOlF,eAAeoH,QACtBwV,WAAa1X,YAAYkC,QACzB,IAAyBqV,eAAzB,CAAA,OAAOG,WACPF,UAAYX,gBAAgB7W,YAChBkC,OAAQ,QAAa,OAAY,SAC7CuV,UAAYZ,gBAAgB7W,YAChBkC,OAAQ,QAAa,QAAa,mBAC9CwV,WAAaF,UAAYC,YAI7BrZ,OAAKI,QAEH,CAAAmZ,WAAYzP,UAAQ,SAEpB0P,YAAa1P,UAAQ,YCnBvB9J,OAAKI,QAEH,CAAA4Q,IAAK,SAAC7T,KAAMc,SAAUyD,iBAAahE,KAACgU,GAAGvU,KAAMc,SAAUyD,SAAU,SCHpD,SAAA+X,SAAC7X,IACd,IAAAxE,IAAA,GAAGwE,GAAG8X,UAAa9X,GAAG+X,QAAtB,CACEvc,IAAM,GACN,GAAG8E,QAAQJ,KAAKF,GAAG+X,QAAS,SAAC/H,QAC3B,IAAAgI,YAAA,GAAGhI,OAAOiI,WACNjI,OAAOkI,WACPlI,OAAO/R,WAAWia,SAFtB,CAGEF,YAAc9Y,UAAU8Q,OAAO7Q,OAC/B,GAAoB6Y,mBAAe,GAAaA,cAAe,KAA/D,CAAAA,YAAc,UACdxc,IAAIgH,KAAKwV,gBACb,OAAOxc,IACTA,IAAM0D,UAAUc,GAAGb,OACnB,GAAG3D,WAAO,GAAaA,MAAO,KAA9B,OAAwC,OAAxC,QAAgDA,KCPlD4C,OAAKI,QAEH,CAAAhD,IAAK,SAAC2D,OACJ,GAAwCA,aAAS,EAAjD,CAAA,OAAOrD,KAACwC,IAAI,IAAOuZ,SAAS/b,KAACwC,IAAI,IACjCxC,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAAmY,YAAAJ,QAAAvc,IAAA,GAAGwE,GAAGtF,UAAW,SAAjB,CACE,GAAGpB,KAAKC,QAAQ4F,OAAhB,CACE3D,IAAM2D,WACH,GAAGA,QAAS,KAAZ,CACH3D,IAAM,OADH,CAGHA,IAAM,CAAC2D,OACTgZ,YAAc,MACdJ,QAAUve,MAAM+C,KAAKyD,GAAG+X,SACxBA,QAAQzX,QAAQ,SAAC8X,GACf,IAAAH,SAAAA,SAAWzc,IAAIqG,SAAS3C,UAAUkZ,EAAEjZ,QACpCiZ,EAAEH,SAAWA,gBACbE,cAAAA,YAAgBF,YAClB,IAA6BE,YAA7B,CAAAnY,GAAGqY,eAAiB,SACpBN,QAAQzX,QAAQ,SAAC8X,UACfha,OAAKga,GAAGhY,KAAK,WAAegY,EAAEH,SAAc,GAAQ,YAfxD,CAiBEzc,IAAS2D,QAAS,KAAU,GAAQK,WAAWL,OAC/Ca,GAAGb,MAAQ3D,WACX4C,OAAK4B,IAAII,KAAK,QAAS5E,eAC3BM,QClCJ,IAAAwc,YACE,CAAAC,cAAe,UCSF,SAAAC,MAACxY,GAAIyY,aAActW,MAChC,IAAAuW,OAAAC,cAAAC,OAAA1R,MAAA2R,QAAAH,OAAS1Y,GAAG8Y,UAAU,MAItBD,QAAUzS,QAAQ,SAAUpG,IAC5B2Y,cAAgBvS,QAAQ,SAAUsS,QAClCG,QAAQvY,QAAQ,SAACyY,OAAQC,GACvB,IAAApW,MAAA,IAActJ,KAAKmB,SAASse,QAA5B,CAAA,OACA,GAAUA,OAAOE,IAAjB,CAAA,OACArW,MAAQO,QAAQ4V,OAAQG,YAAEX,eAC1B3V,QAAAA,MAAU,CAACuW,SAAU,QACrBhW,QAAQ4V,OAAQG,YAAEX,cAAe3V,cACjCO,QAAQwV,cAAcK,GAAIE,YAAEX,cAAe3V,SAC7C,IAAqB6V,aAArB,CAAA,OAAOC,OACP,GAAGvW,KAAH,CACE+E,MAAQd,QAAQ,IAAKpG,IACrB4Y,OAASxS,QAAQ,IAAKsS,YAFxB,CAIExR,MAAQ,CAAClH,IACT4Y,OAAS,CAACF,QACZxR,MAAM5G,QAAQ,SAACtC,KAAMgb,GAGnB,IAAAI,KAAAxW,MAAA4D,OAAA7L,KAAA,GAAGye,KAAOjW,QAAQnF,KAAMqb,UAAGnW,SAA3B,CACE,IAAAvI,QAAAye,KAAA,mBACE5S,OAAOqI,OAAUrI,OAAOqI,MAAMvO,QAAQ,SAACsB,WACrCoN,WAAS4J,OAAOI,GAAIre,KAAMiH,GAAGvF,SAAUuF,GAAG9B,SAC1C8B,GAAGiI,UAAWjI,GAAGnB,IAAKmB,GAAGyK,KAAMzK,GAAG0K,QAAS1K,GAAGsN,SAEpD,GAA8CtM,MAAQQ,OAAOpF,MAA7D,QAAAoF,OAAOwV,OAAOI,GAAIhW,OAAOsW,OAAO,GAAI1W,kBACtC8V,OCnCFta,OAAKI,QAEH,CAAApC,KAAM,SAACC,UACL,IAAAiJ,IAAAA,IAAM,GACNxJ,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAAuZ,MAAAA,MAAQnd,KAAKC,SAAU2D,IACvB,GAA6BuZ,MAAMhb,OAAnC,OAAA,GAAGiE,KAAK+C,MAAMD,IAAKiU,iBACrBnb,OAAKqE,OAAO6C,SCbhB,IAAAkU,QAAAC,MAUAD,QAAU,2CAEVC,MAAQC,KAIO,SAAAC,YAAC3b,MACd,IAAA2H,WAAAkT,QAAAlT,WAAavH,OAAKJ,MAClB6a,QAAUlT,WAAWvD,OAAO,UAAUgC,IAAIuB,WAAWvJ,KAAK,WAAWkC,WACrEua,QAAQvY,QAAQ,SAACN,IACf,IAAA4Z,YAAA,MAAmB5Z,GAAGiZ,KAAQ3f,KAAKmB,SAASuF,KAA5C,CAAA,OACA,IAAcA,GAAG6Z,cAAczF,gBAAgB3P,SAASzE,IAAxD,CAAA,OACA4Z,YAAczW,QAAQnD,GAAI8J,YAAUyO,eACpC,GAAUqB,aAAgBA,YAAYT,SAAtC,CAAA,OACAM,MAAMzZ,GAAG8Z,YAAY1Y,QAAQoY,QAAS,KACtC,GAAGI,YAAH,QACEA,YAAYT,SAAW,SADzB,QAGEhW,QAAQnD,GAAI8J,YAAUyO,cAAe,CAACY,SAAU,UCxBvC,SAAAY,cAACC,OAAQtU,MAAOuU,QAASC,eACtC,GAAGD,QAAH,CACED,OAAOG,aAAazU,MAAOwU,mBAD7B,CAGEF,OAAOI,YAAY1U,cACrBiU,YAAYjU,OCHdtH,OAAKI,QAEH,CAAA6b,YAAa,SAAChe,UACZ,IAAAiC,IAAAA,IAAMxC,KAACwC,IACPF,OAAK/B,UAAUiC,IAAIgC,QAAQ,SAACnF,OAAQ8E,OAClC,IAAAuF,OAAAA,OAASrK,OAAO8C,kBAChBuH,QAAWlH,IAAIgC,QAAQ,SAACoF,OACtB,IAAA4U,kBAAAA,kBAAuBra,MAAWuY,MAAM9S,MAAO,KAAM,MAAWA,aAChEqU,cAAcvU,OAAQ8U,kBAAmB,KAAMnf,OAAOof,wBAC1Dze,QCVJsC,OAAKI,QAEH,CAAAgc,MAAO,WACL,IAAAC,WAAApf,QAAAkU,KAAAA,KAAOzT,KACP2e,WAAa,GAAGC,QAAQnV,MAAM7E,WAC9BrF,QAAU,SAACgB,UACT,IAAAiC,IAAAA,IAAMF,OAAK/B,UAAUiC,IAAIoc,iBACzBtc,OAAKE,KAAK+b,YAAY9K,OACxB,GAAGjP,QAAQJ,KAAKua,WAAYpf,gBAC5BS,QCTW,SAAA6e,cAACnV,OAAQE,MAAOuU,gBAC7BzU,OAAOlF,QAAQ,SAACmF,EAAGmV,oBACjBlV,MAAMpF,QAAQ,SAACiD,GACb,IAAA+W,kBAAAA,kBAAuBM,YAAiBpC,MAAMjV,EAAG,KAAM,MAAWA,SAClEwW,cAActU,EAAG6U,kBAAmBL,QAASA,SAAYxU,EAAEoV,gBCJjEzc,OAAKI,QAEH,CAAAsc,SAAU,SAACze,UACTse,cAAcvc,OAAK/B,UAAUiC,IAAKxC,KAACwC,YACnCxC,QCJJsC,OAAKI,QAEH,CAAAuc,OAAQ,WACN,IAAAzc,IAAAjD,QAAAiD,IAAMxC,KAACwC,IACPjD,QAAU,SAACgB,iBAAase,cAAcrc,IAAKF,OAAK/B,UAAUiC,MAC1D,GAAGgC,QAAQJ,KAAKQ,UAAWrF,gBAC3BS,QCLJsC,OAAKI,QAEH,CAAA2b,aAAc,SAAC9d,UACb,IAAAiC,IAAAA,IAAMxC,KAACwC,IACPF,OAAK/B,UAAUiC,IAAIgC,QAAQ,SAACnF,OAAQ8E,OAClC,IAAAuF,OAAAA,OAASrK,OAAO8C,kBAChBuH,QAAWlH,IAAIgC,QAAQ,SAACoF,OACtB,IAAA4U,kBAAAA,kBAAuBra,MAAWuY,MAAM9S,MAAO,KAAM,MAAWA,aAChEqU,cAAcvU,OAAQ8U,kBAAmB,KAAMnf,mBACnDW,QCVJsC,OAAKI,QAEH,CAAAwc,OAAQ,WACN,IAAA3f,QAAAkU,KAAAA,KAAOzT,KACPT,QAAU,SAACgB,iBAAa+B,OAAK/B,UAAU8d,aAAa5K,OACpD,GAAGjP,QAAQJ,KAAKQ,UAAWrF,gBAC3BS,QCNJsC,OAAKI,QAEH,CAAAga,MAAO,SAACyC,eAAgB9Y,MACtB,IAAAwD,WAAA,GAAyBxD,YAAQ,EAAjC,CAAAA,KAAO8Y,eACPtV,WAAa7J,KAACwC,IAAIP,IAAI,SAACiC,WAAOwY,MAAMxY,GAAIib,eAAgB9Y,eACxD/D,OAAKuH,eCNTvH,OAAKI,QAEH,CAAA0c,OAAQ,WACNpf,KAACwC,IAAIgC,QAAQ,SAACN,IAAO,IAAAwF,OAAA,GAAyBA,OAASxF,GAAG/B,WAArC,QAAAuH,OAAOtH,YAAY8B,cACxClE,QCFW,SAAAqf,QAAC7e,YACd8J,QAAQ,IAAK9J,KAAKgE,QAAQ,SAACN,IACzBwO,cAAYxO,WACZsD,MAAMtD,MCJV5B,OAAKI,QAEH,CAAA4c,MAAO,WACLtf,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAA0F,MAAAsT,EAAAqC,IAAAzL,IAAYA,IAAA5P,GAAAqF,SAAA,IAAA2T,EAAA,EAAAqC,IAAAzL,IAAArR,OAAAya,EAAAqC,IAAArC,IAAA,cAAZ1V,QAAMoC,cACN1F,GAAG8Z,YAAc,YACnBhe,QCNJsC,OAAKI,QAEH,CAAAf,KAAM,SAACA,MACL,GAA4BA,YAAQ,GAAc3B,KAACwC,IAAIC,OAAvD,CAAA,OAAOzC,KAACwC,IAAI,GAAGT,UACf/B,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAA0F,MAAAsT,EAAAqC,IAAAzL,IAAYA,IAAA5P,GAAAqF,SAAA,IAAA2T,EAAA,EAAAqC,IAAAzL,IAAArR,OAAAya,EAAAqC,IAAArC,IAAA,cAAZ1V,QAAMoC,cACN1F,GAAGnC,UAAYJ,cACjB3B,QCPJsC,OAAKI,QAEH,CAAA8c,UAAW,SAACjf,UACVse,cAAcvc,OAAK/B,UAAUiC,IAAKxC,KAACwC,IAAIoc,UAAW,aAClD5e,QCJJsC,OAAKI,QAEH,CAAAyb,QAAS,WACP,IAAA3b,IAAAjD,QAAAiD,IAAMxC,KAACwC,IACPjD,QAAU,SAACgB,iBAAase,cAAcrc,IAAKF,OAAK/B,UAAUiC,IAAK,OAC/D,GAAGgC,QAAQJ,KAAKQ,UAAWrF,gBAC3BS,QCNJsC,OAAKI,QAEH,CAAA6F,OAAQ,WACNvI,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAAwF,OAAAlC,QAAMtD,IACN,GAAyBwF,OAASxF,GAAG/B,WAArC,QAAAuH,OAAOtH,YAAY8B,cACrBlE,QCLJsC,OAAKI,QAEH,CAAA+c,YAAa,SAAClf,iBAAaP,KAACkf,OAAO3e,UAAUgI,YCH/CjG,OAAKI,QAEH,CAAAgd,WAAY,SAACnf,UACX+B,OAAK/B,UAAUkf,YAAYzf,aAC3BA,QCJJsC,OAAKI,QAEH,CAAAid,KAAM,SAACA,MACL,GAAGA,YAAQ,EAAX,CACS,GAAG3f,KAACwC,IAAI,GAAR,QAAgBxC,KAACwC,IAAI,GAAGwb,gBAAxB,OAAyC,IAClDhe,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAA0F,MAAAsT,EAAAqC,IAAAzL,IAAYA,IAAA5P,GAAAqF,SAAA,IAAA2T,EAAA,EAAAqC,IAAAzL,IAAArR,OAAAya,EAAAqC,IAAArC,IAAA,cAAZ1V,QAAMoC,cACN1F,GAAG8Z,YAAc2B,cACnB3f,QCNJsC,OAAKI,QAEH,CAAAkd,OAAQ,WACN5f,KAAC0J,SAASlH,IAAIgC,QAAQ,SAACN,IACrB,IAAA2F,WAAAA,WAAavH,OAAK4B,WAClB2F,WAAW4V,YAAY5V,WAAWN,qBACpCvJ,QCNJsC,OAAKI,QAEH,CAAAmd,QAAS,SAACtf,UACR,IAAAuf,UAAAC,QAAA,IAAmB/f,KAACwC,IAAIC,OAAxB,CAAA,OAAOzC,KACP8f,UAAYxd,OAAK/B,UACjBP,KAACqJ,QAAQ6V,OAAOY,WAChBC,QAAUD,UAAUtd,IAAI,GACY,MAAMud,QAAQxW,SAAS9G,OAAvB,CAApCsd,QAAUA,QAAQC,yBAClBhgB,KAACgf,SAASe,YCVdzd,OAAKI,QAEH,CAAAud,SAAU,WACR,IAAAzW,IAAAA,IAAM,GACNxJ,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAAgc,QAAA,GAAGhc,GAAGtF,UAAW,SAAjB,CACEshB,QAAU,CAAChc,GAAGic,qBADhB,CAGED,QAAUhc,GAAGlC,iBACf,GAAG0E,KAAK+C,MAAMD,IAAK0W,kBACrB5d,OAAKqE,OAAO6C,SCRhBlH,OAAKI,QAEH,CAAA0d,UAAW,SAAC7f,UACVP,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAA+b,SAAA5gB,OAAAA,OAASiD,OAAK4B,IACd+b,SAAW5gB,OAAO4gB,WAClB,GAAGA,SAASzd,IAAIC,OAAhB,QACEwd,SAASJ,QAAQtf,cADnB,QAGElB,OAAO4f,OAAO1e,oBAClBP,QCXJsC,OAAKI,QAEH,CAAA2d,KAAM,SAAC9f,UACLP,KAACwC,IAAIgC,QAAQ,SAACN,GAAIC,OAChB,IAAA4b,QAAAA,QAAUzd,OAAK/B,UAAUiC,IAAI,UAC7BF,OAAK4B,IAAI2b,QAAW1b,MAAWuY,MAAMqD,QAAS,KAAM,MAAWA,kBACjE/f,QCZJ,IAAAsgB,MAIA,IAAAC,QAAqBD,MAAN,MAAAA,MAEb/d,YAAcgV,MAASvX,KAACuX,KAAOA,KAE/BhV,IAAMoC,YAAQ3E,KAACuX,KAAK5S,KAEpBpC,aAAQ2E,OAAOsW,OAAO,GAAIxd,KAACuX,MAE3BhV,KAAO4E,MACL,IAAAqZ,OAAAA,OAAS,GACT,KAAO5b,UAAUnC,SAAU,GAAMjF,KAAKC,QAAQ0J,OAA9C,CACEA,KAAOzJ,MAAM+C,KAAKmE,WACpBuC,KAAK3C,QAASqD,IAAM,GAAwBA,KAAK7H,KAACuX,KAA9B,QAAAiJ,OAAO3Y,GAAK7H,KAACuX,KAAK1P,aACtC2Y,OAEFje,OAAS4E,MACP,IAAAU,EAAA2Y,OAAA1M,IAAAjU,EAAA2gB,OAAS,GACT,KAAO5b,UAAUnC,SAAU,GAAMjF,KAAKC,QAAQ0J,OAA9C,CACEA,KAAOzJ,MAAM+C,KAAKmE,WACpBkP,IAAA9T,KAAAuX,KAAA,IAAA1P,KAAAiM,IAAA,UACE,IAAqB3M,KAAKpB,SAAS8B,GAAnC,CAAA2Y,OAAO3Y,GAAKhI,UACd2gB,OAEFje,MAAQke,QAAShhB,MACf,IAAAoI,EAAA2Y,OAAA3gB,EAAA2gB,OAAS,GACT,GAAG5b,UAAUnC,SAAU,GAAMjF,KAAKM,SAAS2iB,SAA3C,CACE,IAAA5Y,KAAA4Y,QAAA,cACE,GAAwB5gB,KAAKG,KAACuX,KAA9B,CAAAiJ,OAAO3Y,GAAK7H,KAACuX,KAAK1X,SAFtB,CAIE,GAAiCJ,QAAQO,KAACuX,KAA1C,CAAAiJ,OAAOC,SAAWzgB,KAACuX,KAAK9X,cAC1B+gB,SClCJ,IAAAzX,IAAAvJ,MAAAkhB,MAAAC,QAIAD,MAAQ,GAERlhB,MAAQJ,cAAcshB,MAAO,UAE7BC,QAAU,SAAClhB,oBAAgBihB,MAAMjhB,OAEjCsJ,IAAM,SAACtJ,aAASihB,MAAMjhB,OAAS,ICH/B6C,OAAKM,OAEH,CAAAge,MAAO,SAACnhB,KAAM8X,MACZ,IAAAqJ,MAAA,GAAGhc,UAAUnC,SAAU,EAAvB,CACE,GAAGjF,KAAKG,SAAS8B,MAAjB,QACEsJ,IAAItJ,UADN,QAGE,IAAI6gB,QAAM/I,WAJd,CAME,GAAGA,OAAQ,KAAX,CACEoJ,QAAQlhB,aACRO,SAFF,CAIE4gB,MAAQ,IAAIN,QAAM/I,MAClB/X,MAAMC,KAAMmhB,cACZ5gB,UAERsC,OAAKse,MAAMF,MAAQA,MCpBnBpe,OAAKI,QAEH,CAAAme,aAAc,kBAAGve,OAAKtC,KAACwC,IAAI,IAAOxC,KAACwC,IAAI,GAAGqe,iBCF5Cve,OAAKI,QAEH,CAAAoe,OAAQ,WACN,IAAAC,MAAA7c,GAAA8c,KAAA9c,GAAKlE,KAACwC,IAAI,GACV,IAAc0B,GAAd,CAAA,OACA6c,MAAQ7gB,SAASoY,gBACjB0I,KAAO9c,GAAGkX,8BACV,CAAA6F,IAAKD,KAAKC,IAAMjiB,OAAOkiB,YAAcH,MAAMI,UAC3C3S,KAAMwS,KAAKxS,KAAOxP,OAAOoiB,YAAcL,MAAMM,eCRjD/e,OAAKI,QAEH,CAAA4e,SAAU,WACR,IAAApd,GAAAA,GAAKlE,KAACwC,IAAI,GACV,IAAc0B,GAAd,CAAA,aACA,CAAAsK,KAAMtK,GAAGqd,WACTN,IAAK/c,GAAGsd,cCLZlf,OAAKI,QAEH,CAAA0D,KAAM,SAACA,KAAM/C,OACX,IAAAsB,IAAAjF,IAAA,IAAc0G,KAAd,CAAA,OACA,GAAG5I,KAAKG,SAASyI,MAAjB,CACE,GAAoCxB,UAAUnC,OAAS,EAAvD,CAAA,OAAOzC,KAACwC,IAAI,IAAOxC,KAACwC,IAAI,GAAG4D,MAC3BpG,KAACwC,IAAIgC,QAAQ,SAACN,WAAOA,GAAGkC,MAAQ/C,QAChC,OAAOrD,KACM,IAAA2E,OAAAyB,KAAA,eAAfpG,KAACoG,KAAKzB,IAAKjF,YACXM,QCTJsC,OAAKI,QAEH,CAAA+e,WAAY,SAACrb,MACX,IAAAsb,MAAAA,MAAQ9d,YAAYwC,MACpB,IAAmBsb,MAAMjf,OAAzB,CAAA,OAAOzC,KACPA,KAACwC,IAAIgC,QAAQ,SAACN,WAAOwd,MAAMld,QAAQ,SAACmF,iBAAazF,GAAGyF,cACpD3J,QCRJsC,OAAKI,QAEH,CAAAif,OAAQ,WACN3hB,KAACwC,IAAIgC,QAAQ,SAACN,WAAOA,GAAG0d,sBACxB5hB,QCPW,SAAA6hB,aAAC7V,MAAO8V,gBACrB,IAAAC,cAAAA,cAAgB/V,MAAMqE,MAAM,KAC5B,MAAM0R,cAActf,OAASqf,eAA7B,CACEC,cAAgBA,cAAcjZ,OAAOiZ,eACvC,GAAGA,cAActf,OAASqf,eAA1B,CACEC,cAAgBA,cAAcphB,MAAM,EAAGmhB,uBACzCC,cAAc9f,IAAI,SAAC+f,aACjB,IAAAC,SAAAA,SAAW/jB,WAAW8jB,aACtB,IAAgBC,SAAhB,CAAA,OAAO,EACP,GAAGD,YAAYle,MAAM,MAArB,QAA+Bme,aAA/B,QAA6CA,SAAW,OCJ5D3f,OAAKI,QAEH,CAAAwf,mBAAoB,WAClB,IAAAC,OAAAC,UAAAle,GAAAme,eAAA5f,OAAA6f,OAAA,KAAcpe,GAAKlE,KAACwC,IAAI,IAAxB,CAAA,OACA8f,OAAStjB,OAAO+a,iBAAiB7V,IACjCzB,OAAS6f,OAAOC,mBAAmBlS,MAAM,KAAK5N,OAC9C,IAAgBA,OAAhB,CAAA,OAAO,EACP0f,OAASN,aAAaS,OAAOE,gBAAiB/f,QAC9C2f,UAAYP,aAAaS,OAAOJ,mBAAoBzf,QACpD4f,eAAiBD,UAAUngB,IAAI,SAACggB,SAAU9d,cAAU8d,SAAWE,OAAOhe,gBACtEiO,KAAKqQ,IAAIhZ,MAAM,KAAM4Y,mBCTzB/f,OAAKI,QAEH,CAAAggB,QAAS,SAACvZ,YACR,IAAAwZ,SAAA,IAAqBxZ,aAAkBnJ,KAACwC,IAAIC,OAA5C,CAAA,OAAOH,SACPqgB,SAAW3iB,KAACsG,OAAO6C,YACnB,GAAmBwZ,SAASngB,IAAIC,OAAhC,CAAA,OAAOkgB,gBACP3iB,KAAC0J,SAASgZ,QAAQvZ,eCLtB7G,OAAKI,QAEH,CAAAkgB,QAAS,SAACzZ,YACR,IAAA5C,QAAAA,QAAUL,MAAMlG,KAACwC,IAAK,qBAAsB,aAC5CF,OAAK4G,QAAQvC,OAAOJ,SAAU4C,gBCJlC7G,OAAKI,QAEH,CAAAmgB,KAAM,SAAC1Z,YACL,IAAA7C,OAAA,GAAG6C,WAAH,CACE7C,OAAS,SAAC1G,UAAMsJ,QAAQ,CAACtJ,GAAIuJ,YAAY1G,eAC3CH,OAAKqE,OAAOT,MAAMlG,KAACwC,IAAK,qBAAsB,MAAO8D,aCLzDhE,OAAKI,QAEH,CAAAogB,QAAS,SAAC3Z,YACR,IAAA5C,QAAAA,QAAUL,MAAMlG,KAACwC,IAAK,yBAA0B,aAChDF,OAAK4G,QAAQvC,OAAOJ,SAAU4C,gBCJlC7G,OAAKI,QAEH,CAAAqgB,KAAM,SAAC5Z,YACL,IAAA7C,OAAA,GAAG6C,WAAH,CACE7C,OAAS,SAACqD,UAAMT,QAAQ,CAACS,GAAIR,YAAY1G,eAC3CH,OAAKqE,OAAOT,MAAMlG,KAACwC,IAAK,yBAA0B,MAAO8D,aCJ7DhE,OAAKI,QAEH,CAAAsgB,SAAU,SAAC7Z,YACT,IAAAK,IAAAA,IAAM,GACNxJ,KAACwC,IAAIgC,QAAQ,SAACN,IACZ,IAAA+e,KAAAA,KAAO3gB,OAAK4B,IAAIwF,SAASH,SAAS,SAACK,cAAUA,QAAW1F,KAAI1B,UAC5D,GAAGkE,KAAK+C,MAAMD,IAAKyZ,eACrB3gB,OAAK4G,QAAQvC,OAAO6C,KAAML,gBCX9B7G,KAAKse,MAAM,UAST,CAAAsC,kBAAmB,WAAG,IAAApP,qCAAOqP,aAAA,IAAW,YAExCC,cAAe,WACb,IAAAC,SAAAC,SAAAA,SAAWtjB,KAACyL,KAAKrF,KAAK,YACtBid,SAAWrjB,KAAC8U,KAAKqO,QAAQG,SACzB,IAAqCtjB,KAACyL,KAAKmP,QAAQyI,UAAnD,CAAArjB,KAACyL,KAAKqJ,KAAKuO,SAAUC,iBACrBtjB,KAACyL,KAAKrF,KAAK,YAAa,GAAGA,KAAKpG,KAACkjB,oBAAqB,OAExDK,eAAgB,WACd,IAAAD,SAAAA,SAAWtjB,KAACyL,KAAKqJ,KAAK9U,KAAC8U,KAAKqO,QAAQG,iBACpCtjB,KAACyL,KAAKrF,KAAK,WAAYkd,UAAUld,KAAKpG,KAACkjB,oBAAqB,UClBhE5gB,KAAKkhB,UAAU,WAAY,cAE1BrL,QAEC,CAAArD,KACE,CAAAqO,QACE,CAAAG,SAAU,6BAEfnL,QAAQ7V,KAAKse,MAAM,WAAWpX,OAE9BwO,KAEC,CAAAtM,OAAQ,kBAAG1L,KAACojB,iBAEZzX,QAAS,kBAAG3L,KAACujB,oBCffjhB,KAAKkhB,UAAU,QAAStjB,UAEvBiY,QAEC,CAAAsL,UAAW,CACT,uBACA,oBACA,gBAGHtL,QAEC,CAAAiE,SAAU,kBAAGpc,KAAC2B,KAAKmT,KAAK,WAAY,SAErCqD,QAEC,CAAA1H,QAAS,SAACS,GACR,GAAUlR,KAACoc,WAAX,CAAA,OACA,IAAc9Z,KAAK4O,EAAE7R,QAAQyK,GAAG9J,KAACyjB,UAAUxT,KAAK,MAAhD,CAAA,OACAiB,EAAE1D,wBACFnD,WAAW,kBAAG6G,EAAE7R,OAAOqkB,aAE1B1L,KAEC,CAAArD,OAAQ,iBAAG,CAAC,CAAC,gBAAiB3U,KAACyQ,aC5BjC,IAAAkT,MAIAA,MAAQrhB,KAAKkhB,UAAU,QAAStjB,UAE/BiY,QAEC,CAAApQ,IACE,CAAAmG,MAAO,SAET3N,SACE,CAAAqjB,QAAS,SACTC,OAAQ,CACN,SACA,WACA,kHAEA,oBACA,0BAEFC,OAAQ,CACN,SACA,oBACA,0BAEFC,MAAO,uBAEV5L,QAEC,CAAAiE,SAAU,kBAAGpc,KAAC2B,KAAKmT,KAAK,WAAY,SAErCqD,QAEC,CAAA1P,SAAU,SAACvG,MACT,GAAUlC,KAACoc,WAAX,CAAA,cACApc,KAAC4jB,QAAQphB,IAAIsG,OAAO5G,MAAMsC,QAASN,KACjC,IAAA8f,QAAAA,QAAU9f,KAAMhC,MACZgC,KAAQlE,KAAC2B,KAAKa,IAAI,IAClB0B,KAAQlE,KAACuY,KAAK/V,IAAI,UACtBF,KAAK4B,IAAI+D,YAAYjI,KAAC+H,IAAImG,MAAO8V,YAErCC,SAAU,SAAC/S,GACT,GAAUlR,KAACoc,YAAclL,EAAE7R,OAAO+c,SAAlC,CAAA,cACApc,KAACkkB,kBAAoBhT,EAAErS,MAEzBqP,MAAO,SAACgD,GACN,IAAAJ,IAAA5O,KAAAwH,OAAArK,OAAA,GAAUW,KAACoc,aAAela,KAAOgP,EAAE7R,QAAQ+c,SAA3C,CAAA,QACCtL,IAAM9Q,KAACkkB,2BAA8BlkB,KAACkkB,kBACvC,GAAGpT,KAAQ,MAAMzS,KAAKyS,KAAtB,CACEzR,OAAS6C,UACN,GAAGI,KAAKJ,MAAM4H,GAAG9J,KAACO,SAASsjB,OAAO5T,KAAK,MAAvC,CACH5Q,OAAS6C,UACN,GAAGI,KAAKJ,MAAM4H,GAAG9J,KAACO,SAASujB,OAAO7T,KAAK,QAAvC,CACHvG,OAAS1J,KAACO,SAASujB,OAAO7T,KAAK,KAC/BiB,EAAEpE,YAAY7I,KAAK,SAACC,WAAO5B,KAAK4B,IAAI4F,GAAGJ,UAAYrK,OAAS6E,aAC9DlE,KAACyI,SAASpJ,SAEZ8O,KAAM,SAAC+C,GACL,GAAUlR,KAACoc,WAAX,CAAA,cACA9Z,KAAK4O,EAAE7R,QAAQ4I,YAAYjI,KAAC+H,IAAImG,MAAO,UAE1C8J,KAEC,CAAA1X,KAAM,iBAAG,CAAAsjB,QAAS5jB,KAACO,SAASqjB,UAE5BjP,OAAQ,iBACN,CACE,CAAC,qCAAsC3U,KAACikB,UACxC,CAAC,oBAAqBjkB,KAACkO,OACvB,CAAC,aAAclO,KAACO,SAASwjB,MAAO/jB,KAACkO,OACjC,CAAC,WAAYlO,KAACmO,UAKpB7L,KAAKI,QAEH,CAAAwL,MAAO,SAACzF,SAAU0b,eAChB,IAAAjgB,GAAAwL,IAAA,KAAcxL,GAAKlE,KAACwC,IAAI,IAAxB,CAAA,OACAkN,IAAMxI,OAAOkK,OAAOuS,MAAM/X,WAAW,GAAGqJ,SACxC,GAAevF,IAAI0M,WAAnB,CAAA,OAAOpc,KACP,IAAuBsC,KAAKvE,OAAO0K,UAAnC,CAAAA,SAAW,KACX,IAA6BnG,KAAKvE,OAAOomB,eAAzC,CAAAA,cAAgB,MAChB1b,UAAaiH,IAAIjH,SAASvE,IAC1BA,GAAGgK,MAAM,CAACiW,cAAeA,uBACzBnkB,MAEFmO,KAAM,WACJ,IAAAuB,IAAAA,IAAMxI,OAAOkK,OAAOuS,MAAM/X,WAAW,GAAGqJ,SACxC,GAAevF,IAAI0M,WAAnB,CAAA,OAAOpc,KACPA,KAACwC,IAAIgC,QAAQ,SAACN,WAAOA,GAAGiK,gBACxBnO,QCvFJsC,KAAKkhB,UAAU,WAAY,cAE1BrL,QAEC,CAAA7T,KACE,CAAA6e,QAAS,YAEXrO,KACE,CAAAqO,QACE,CAAAG,SAAU,6BAEfnL,QAAQ7V,KAAKse,MAAM,WAAWpX,OAE9BwO,KAEC,CAAAtM,OAAQ,kBAAG1L,KAACojB,iBAEZzX,QAAS,kBAAG3L,KAACujB,oBClBfjhB,KAAKkhB,UAAU,WAAYtjB,UAE1BiY,QAEC,CAAA5X,SAAU,sCAEX4X,QAEC,CAAAiE,SAAU,kBAAGpc,KAAC2B,KAAKmT,KAAK,cAAe,SAExCqD,QAEC,CAAAiM,aAAc,SAACC,OACb,IAAAlgB,MAAA1E,KAAA6kB,OAAA/jB,SAAAA,SAAWP,KAACO,SACZ,GAA0Cd,KAAO4kB,MAAM5kB,KAAvD,CAAAc,YAAcA,iBAAiBd,QAC/B6kB,OAAShiB,KAAK/B,UAAUiC,IAAI8D,OAAO,SAACpC,WAAOA,GAAGof,UAAY,IAC1Dnf,MAAQmgB,OAAO1d,QAAQyd,aACvB,CAAAtB,KAAMuB,OAAOngB,MAAQ,GACrB0e,KAAMyB,OAAOngB,MAAQ,KAEvBsM,QAAS,SAACS,GACR,IAAA2R,KAAAE,KAAA,GAAU/iB,KAACoc,WAAX,CAAA,OACA,GAAGlL,EAAEqT,SAAL,CACE,GAAGxB,KAAO/iB,KAACokB,aAAalT,EAAE7R,QAAQ0jB,KAAlC,CACE7R,EAAE1D,wBACFuV,KAAK7U,aAHT,CAKE,GAAG2U,KAAO7iB,KAACokB,aAAalT,EAAE7R,QAAQwjB,KAAlC,CACE3R,EAAE1D,wBACFqV,KAAK3U,aAEZ8J,KAEC,CAAArD,OAAQ,iBACN,CACE,CAAC,cAAe3U,KAACO,SAAUP,KAACyQ,aCnClCnO,KAAKse,MAAM,aA0BT,CAAA4D,iBAAkB,kBAAGxkB,KAACyL,KAAK/C,SAAS1I,KAAC+H,IAAI0c,WAAWtY,SAEpDuY,sBAAuB,SAACxT,GACtB,IAAAyT,QAAAxgB,MAAA2P,IAAA8Q,KAAAC,WAAApU,QAAA,GAAUzQ,KAAC8kB,0BAAX,CAAA,OACA,GAAe,MAAMzmB,KAAK6S,EAAErS,MAA5B,CAAA,OAAO,KACP,IAAmBmB,KAACyL,KAAKjJ,IAAI,GAAGmG,SAASuI,EAAE7R,QAA3C,CAAA,OAAO,KACPoR,SAAAqD,IAAA9T,KAAA+kB,UAAA,MAAAH,KAAA9Q,IAAA2Q,aAAA,KAAAG,KAAgCnU,aAAA,OAAA,EAChCoU,WAAa7kB,KAAC8U,KAAK2P,WAAWhU,QAC9B,IAAsBoU,WAAtB,CAAA,OAAOpU,QACPkU,QAAUzT,EAAEpE,YACZ3I,MAAQwgB,QAAQ/d,QAAQ5G,KAACyL,KAAKjJ,IAAI,IAAM,EACxCmiB,QAAQhkB,MAAM,EAAGwD,OAAOF,KAAK,SAACC,IAC5B,IAAAwL,IAAAA,IAAMpN,KAAK4B,IACX,IAAcwL,IAAIkL,QAAQiK,YAA1B,CAAA,OACApU,QAAUf,IAAIoF,KAAK+P,cAAiB,aACpC,cACFpU,SAEFuU,mBAAoB,WAClB,IAAAlU,IAAA,GAAU9Q,KAACwkB,mBAAX,CAAA,OACA1T,IAAM9Q,KAACilB,iBAAiBxU,QAAQzQ,KAAC8Q,IAAI2T,WAAWS,SAAU,KAAM,MAAM,GACtE,GAAUpU,IAAIqU,qBAAd,CAAA,OACAC,aAAaplB,KAACqlB,+BACPrlB,KAACqlB,uBACRrlB,KAACyL,KAAKhD,SAASzI,KAAC+H,IAAI0c,WAAWtY,QAC/BnM,KAACslB,qBAAuBjb,WAAW,YAC1BrK,KAACslB,4BACRtlB,KAACilB,iBAAiBxU,QAAQzQ,KAAC8Q,IAAI2T,WAAWc,YAC1CvlB,KAACilB,iBAAiB/C,6BACpB,MAEFsD,qBAAsB,WACpB,IAAA1U,IAAA,IAAc9Q,KAACwkB,mBAAf,CAAA,OACA1T,IAAM9Q,KAACilB,iBAAiBxU,QAAQzQ,KAAC8Q,IAAI2T,WAAWgB,WAAY,KAAM,MAAM,GACxE,GAAU3U,IAAIqU,qBAAd,CAAA,OACAC,aAAaplB,KAACslB,6BACPtlB,KAACslB,qBACRtlB,KAACyL,KAAK7C,YAAY5I,KAAC+H,IAAI0c,WAAWtY,QAClCnM,KAACqlB,uBAAyBhb,WAAW,YAC5BrK,KAACqlB,8BACRrlB,KAACilB,iBAAiBxU,QAAQzQ,KAAC8Q,IAAI2T,WAAWiB,cAC1C1lB,KAACilB,iBAAiB/C,6BACpB,MAEFyD,iBAAkB,SAACzd,OACjB,GAAgCA,QAAS,KAAzC,CAAA,OAAOlI,KAACglB,qBACR,GAAkC9c,QAAS,MAA3C,CAAA,OAAOlI,KAACwlB,uBACR,GAAGxlB,KAACwkB,mBAAJ,QACExkB,KAACwlB,2BADH,QAGExlB,KAACglB,uBAELF,wBAAyB,iBACvB,yBAA0B9kB,MAAQ,2BAA4BA,MAEhE4lB,sBAAuB,SAAC1U,GACtB,IAAAxB,IAAA,GAAG1P,KAACwkB,mBAAJ,CACE,OAAOxkB,KAAC6lB,kBAAoB3lB,SAAS4lB,cACvC,IAAc9lB,KAAC6lB,kBAAf,CAAA,OACA,GAAG,UAAWnW,IAAMpN,KAAKtC,KAAC6lB,oBAA1B,QACEnW,IAAIxB,OAAUgD,EAAER,OAAQQ,EAAER,YAD5B,QAGE1Q,KAAC6lB,kBAAkB3X,MAAM,CAACiW,cAAejT,EAAER,WAE/CqV,0BAA2B,SAAC7U,GAC1B,KAAclR,KAAC0kB,sBAAsBxT,IAAOlR,KAACglB,sBAA7C,CAAA,OACAhlB,KAAC4lB,sBAAsB1U,UACvB,MAEF8U,4BAA6B,SAAC9U,GAC5B,KAAclR,KAAC0kB,sBAAsBxT,IAAOlR,KAACwlB,wBAA7C,CAAA,OACAxlB,KAAC4lB,sBAAsB1U,UACvB,MAEF+U,wBAAyB,SAAC/U,GACxB,KAAclR,KAAC0kB,sBAAsBxT,IAAOlR,KAAC2lB,oBAA7C,CAAA,OACA3lB,KAAC4lB,sBAAsB1U,UACvB,MAEFgV,iBAAkB,WAChB,IAAA7C,SAAAvS,IAAAqV,aAAA9C,SAAWrjB,KAAC8U,KAAK2P,WAAW0B,aAC5B,KAAcA,aAAenmB,KAACyL,KAAKqJ,KAAKuO,WAAxC,CAAA,OACAvS,IAAM9Q,KAAC8Q,IAAI2T,WAAW0B,cACtBnmB,KAACyL,KAAKgP,WAAW4I,iBACjBrjB,KAACilB,iBAAiBxU,QAAQK,MAE5BsV,kBAAmB,WACjB,IAAAD,aAAA,GAAG,yBAA0BnmB,KAA7B,CACEmmB,aAAe,YACff,aAAaplB,KAACslB,2BACX,GAAG,2BAA4BtlB,KAA/B,CACHmmB,aAAe,cACff,aAAaplB,KAACqlB,+BAChBc,cAAiBnmB,KAACyL,KAAKqJ,KAAK9U,KAAC8U,KAAK2P,WAAW0B,aAAcA,eAE7DE,eAAgB,WACd,IAAAvS,IAAA8Q,KAAAvlB,OAAAA,QAAAyU,IAAA9T,KAAAO,WAAA,MAAAqkB,KAAA9Q,IAAA2Q,aAAA,KAAAG,KAAgCvlB,YAAA,OAAA,QAChC,CAAA4lB,iBAAkB5lB,QAAU,kBAAGW,KAACyL,UC1HpCnJ,KAAKkhB,UAAU,SAAU,wBAExBrL,QAEC,CAAApQ,IACE,CAAA0c,WACE,CAAAtY,OAAQ,kBAEZ2I,KACE,CAAAzV,OAAQ,qBACRinB,IAAK,kBACLC,KAAM,8BACN9B,WACE,CAAA0B,aAAc,2BACd1V,QAAS,oBAEbsU,QACE,CAAAyB,aAAc,KAEhB1V,IACE,CAAA2T,WACE,CAAAS,SAAU,uBACVK,UAAW,wBACXE,WAAY,yBACZC,YAAa,8BAElBhjB,QAEC,CAAAwiB,SAAU,WACR,IAAcllB,KAACglB,qBAAf,CAAA,cACAhlB,KAACymB,mBAEHhB,WAAY,WACV,IAAczlB,KAACwlB,uBAAf,CAAA,cACAxlB,KAACymB,mBAEHje,OAAQ,SAACN,OACP,IAAclI,KAAC2lB,iBAAiBzd,OAAhC,CAAA,cACAlI,KAACymB,qBAEJtO,QAAQ7V,KAAKse,MAAM,cAAcpX,OAEjC2O,QAEC,CAAAsO,gBAAiB,WACf,IAAczmB,KAACyL,KAAKmP,QAAQ5a,KAAC8U,KAAKyR,MAAlC,CAAA,OACA,GAAGvmB,KAACwkB,mBAAJ,QACExkB,KAACumB,KAAOlc,WAAW,YACVrK,KAACumB,YACRvmB,KAACylB,cACDzlB,KAACyL,KAAKqJ,KAAK9U,KAAC8U,KAAKyR,OAASvmB,KAAC+kB,QAAQyB,kBAJvC,CAMEpB,aAAaplB,KAACumB,oBACPvmB,KAACumB,OAEZG,cAAe,SAACxV,GACd,IAAclR,KAACimB,wBAAwB/U,GAAvC,CAAA,cACAlR,KAACymB,qBAEJzO,KAEC,CAAA1X,KAAM,kBAAGN,KAACqmB,kBAEV3a,OAAQ,WACN1L,KAACkmB,0BACDlmB,KAACymB,mBAEH9a,QAAS,WACP3L,KAAComB,0BACD,SAAUpmB,MAASolB,aAAaplB,KAACumB,OAEnC5R,OAAQ,WACN,IAAAlB,KAAAA,KAAOzT,WACP,CACE,CAAC,QAASA,KAAC0mB,eACX,CAAC,YAAa1mB,KAAC8U,KAAKwR,OAAQ,SAACpV,GAC3B,IAAAzR,KAAAA,KAAO6C,KAAKtC,MAAM8U,KAAKrB,KAAKqB,KAAKwR,YACjC7S,KAAK0F,IAAIpV,KAAK,SAAC2L,KACb,GAAcA,IAAIjE,KAAKqJ,KAAKrB,KAAKqB,KAAKzV,UAAWI,KAAjD,CAAA,OACAiQ,IAAIgX,cAAcxV,UAClB,aCrFV,IAAAyV,SAAA5T,MAIA4T,SAAW,MACX5T,MAAQ,GAERzQ,KAAKse,MAAM,YAET,CAAAjM,OAAQ,SAACsD,IACP,IAAA2O,OAAAA,OAAS7T,MAAM9O,KAAM6B,YAAOA,GAAGkF,YAAahL,KAACmZ,MAC7C,IAA+CyN,OAA/C,CAAA7T,MAAMrM,KAAK,CAACsE,UAAWhL,KAACmZ,IAAK0N,MAAO5O,KACpC,GAAU0O,SAAV,CAAA,OACAA,SAAW,YACXrkB,KAAKpC,UAAU8T,GAAG,uBAAwB,SAAC9C,GACzC,GAAUA,EAAEiU,qBAAZ,CAAA,cACA9a,WAAW,kBACT0I,MAAMvO,QAAQ,SAACsB,WACbA,GAAGkF,UAAUjH,KAAK,SAAC2L,IAAK+E,QACtBvD,EAAE7R,OAAOsJ,SAAS8L,SAAY3O,GAAG+gB,MAAMziB,KAAKsL,YAC5C,gBCfZpN,KAAKkhB,UAAU,UAEdrL,QAEC,CAAA5X,SACE,CAAAkL,KAAM,WACNqb,KAAM,mBACNC,UAAW,0BAEbjW,IACE,CAAAkW,QAAS,uBAEXC,QAAS,OAEV9O,QAEC,CAAA+O,YAAa,kBAAGlnB,KAAC8mB,KAAKxiB,KAAK,gBAE3BjB,MAAO,kBAAGrD,KAAC8mB,KAAKxiB,KAAK,UAErB0X,SAAU,kBAAGhc,KAAC8mB,KAAK1gB,KAAK,eAEzB+R,QAEC,CAAAgP,MAAO,kBAAGzpB,MAAM+C,KAAKT,KAAC8mB,KAAK1gB,KAAK,WAEhCghB,gBAAiB,WACf,GAAUpnB,KAAC+mB,UAAUtkB,OAArB,CAAA,cACAH,KAAK,WAAW8D,KAAK,YAAa,GACjC9B,KAAK,cAAetE,KAACknB,eACrB3I,YAAYve,KAAC8mB,OAEhBO,qBAAsB,WACpB,IAAAhkB,MAAA+N,OAAAA,OAASpR,KAACmnB,QAAQllB,IAAI,SAACqlB,UAAMA,EAAE7nB,OAC/B4D,MAAQ+N,OAAOnB,KAAKjQ,KAACinB,UAAYjnB,KAACqD,SAAW,UAC7CrD,KAAC+mB,UAAUrnB,IAAI2D,QAEjBkkB,YAAa,WACX,IAAAC,QAAA9nB,IAAAM,KAACqnB,uBACDG,QAAUxnB,KAACynB,aACXznB,KAACynB,aAAeznB,KAACmnB,QACjB,IAAcK,SAAWllB,KAAKmD,WAAWzF,KAACynB,aAAcD,SAAxD,CAAA,OACA9nB,IAASM,KAACgc,WAAgBhc,KAACynB,aAAkBznB,KAACynB,aAAa,UAC3DznB,KAAC8mB,KAAKrW,QAAQzQ,KAAC8Q,IAAIkW,QAAStnB,MAE9BgoB,SAAU,SAACroB,OAAQwX,QACjB,GAAc7W,KAACqD,UAAW,GAA1B,CAAA,OACA,GAAUwT,SAAU,GAApB,CAAA,cACA7W,KAAC8mB,KAAK1gB,KAAK,QAAS,IAAI9B,KAAK,QAASuS,QAAU,OAEnDmB,KAEC,CAAA1X,KAAM,iBACJ,CAAAwmB,KAAM9mB,KAACO,SAASumB,KAChBC,UAAW/mB,KAACO,SAASwmB,YAEvBxQ,MAAO,iBACL,CAAAjS,KAAM,CAAC,CAAC,QAAStE,KAACO,SAASumB,KAAM9mB,KAAC0nB,SAAU1nB,KAACunB,gBAE/C7b,OAAQ,WACN1L,KAAConB,yBACDpnB,KAACunB,eAEH5S,OAAQ,WACNrS,KAAKse,MAAM,aAAa7X,IAAI,UAAU3E,KAAKpE,KAAMA,KAACunB,mBAClD,CAAC,CAAC,SAAUvnB,KAACO,SAASumB,KAAM9mB,KAACunB,iBCjEjCjlB,KAAKkhB,UAAU,YAEdrL,QAEC,CAAA5X,SACE,CAAAonB,OAAQ,SACR1L,QAAS,SACT8K,UAAW,SAEbjS,KACE,CAAAiQ,QAAS,kCACT6C,cAAe,iCAEjB9W,IACE,CAAAkW,QAAS,2BAEZ7O,QAEC,CAAA+O,YAAa,kBAAGlnB,KAAC2nB,OAAOrjB,KAAK,gBAE7B0X,SAAU,kBAAGhc,KAAC2nB,OAAOvhB,KAAK,aAE1B6V,QAAS,kBAAGve,MAAM+C,KAAKT,KAAC2nB,OAAOvhB,KAAK,eAErC+R,QAEC,CAAA0P,SAAU,WACR,IAAA1L,SAAAA,SAAWnc,KAACic,UAAUhY,KAAK,SAACqY,UAAMha,KAAKga,GAAGvX,QAAQ,qBAC9CoX,UAAanc,KAAC2nB,OAAOvhB,KAAK,iBAAkB,IAElD0hB,aAAc,SAACC,aACbA,YAAcA,cAAe,KAC7B,GAAUA,aAAgB/nB,KAACyL,KAAKmP,QAAQ5a,KAAC8U,KAAK8S,eAA9C,CAAA,OACA,GAAsCG,YAAtC,CAAA/nB,KAACyL,KAAKqJ,KAAK9U,KAAC8U,KAAK8S,cAAe,WAChC5nB,KAACic,UAAUzX,QAAS8X,IAClB,IAAApI,OAAAxU,IAAAwU,OAAS5R,KAAKga,GACd,GAAGyL,YAAH,CACEroB,IAASwU,OAAOnP,QAAQ,YAAgB,GAAQ,YAChDmP,OAAOY,KAAK9U,KAAC8U,KAAKiQ,QAASrlB,SAF7B,CAIEA,IAAS4c,EAAEH,SAAc,GAAQ,YACjCjI,OAAO5P,KAAK,WAAY5E,SAE9BsoB,gBAAiB,WACf,GAA8BhoB,KAACgc,WAA/B,CAAA,OAAOhc,KAAC+mB,UAAUxe,SAClB,GAAUvI,KAAC+mB,UAAUtkB,OAArB,CAAA,cACAH,KAAK,WAAW8D,KAAK,YAAa,GACjC9B,KAAK,cAAetE,KAACknB,eACrB3I,YAAYve,KAAC2nB,SAEhBN,qBAAsB,WACpB,IAAAlL,SAAAzc,IAAA,GAAUM,KAACgc,WAAX,CAAA,OACAG,SAAWnc,KAACic,UAAUjc,KAAC2nB,OAAOvhB,KAAK,kBACnC1G,IAASyc,SAAc7Z,KAAK6Z,UAAUwD,OAAY,UAClD3f,KAAC+mB,UAAUrnB,IAAIA,MAEjB6nB,YAAa,WACX,IAAA1Q,OAAAsF,SAAAzc,IAAAM,KAACqnB,uBACDxQ,OAAS7W,KAACioB,YACVvoB,IAAMM,KAAC2nB,OAAOjoB,MACdM,KAACioB,YAAiB3lB,KAAK7E,QAAQiC,KAAUA,IAAS,CAACA,KACnD,IAAcmX,QAAUvU,KAAKmD,WAAWzF,KAACioB,YAAapR,QAAtD,CAAA,OACA,GAAG7W,KAACgc,WAAJ,CACEG,SAAWnc,KAACic,UAAU3V,OAAO,SAACgW,UAAMA,EAAEH,eADxC,CAGEA,SAAWnc,KAACic,UAAUjc,KAAC2nB,OAAOvhB,KAAK,yBACrCpG,KAAC2nB,OAAOlX,QAAQzQ,KAAC8Q,IAAIkW,QAAS,CAAC3jB,MAAO3D,IAAKyc,SAAUA,YAEvD0K,MAAO,WACL7mB,KAAC2nB,OAAOvhB,KAAK,iBAAkB,GAC/BpG,KAACic,UAAUzX,QAAS8X,WAClBA,EAAEH,SAAW7Z,KAAKga,GAAG1B,QAAQ5a,KAAC8U,KAAKiQ,kBACrC/kB,KAAC8nB,kBAEJ9P,KAEC,CAAA1X,KAAM,iBACJ,CAAAqnB,OAAQ3nB,KAACO,SAASonB,OAClBZ,UAAW/mB,KAACO,SAASwmB,YAEvBrb,OAAQ,WACN1L,KAAC6nB,WACD7nB,KAAC8nB,aAAa,MACd9nB,KAACgoB,yBACDhoB,KAACunB,eAEHhR,MAAO,iBACL,CAAArU,KAAM,CACJ,CAAClC,KAACO,SAAS0b,QAASjc,KAAC6nB,SAAU7nB,KAACunB,cAElCjjB,KAAM,CACJ,CAAC,WAAYtE,KAACO,SAAS0b,QAASjc,KAAC6nB,SAAU7nB,KAACunB,aAC5C,CAAC,WAAYvnB,KAACO,SAASonB,OAAQ3nB,KAACgoB,gBAAiBhoB,KAACunB,gBAGtD5S,OAAQ,WACNrS,KAAKse,MAAM,aAAa7X,IAAI,UAAU3E,KAAKpE,KAAMA,KAAC6mB,aAClD,CAAC,CAAC,SAAU7mB,KAACO,SAASonB,OAAQ3nB,KAAC8nB,kBClGnCxlB,KAAKse,MAAM,UAiCT,CAAAsH,mBAAoB,WAClB,IAAA/jB,MAAA2P,IAAA8Q,KAAAzgB,QAAA2P,IAAA9T,KAAA+kB,UAAA,MAAAH,KAAA9Q,IAAAqU,UAAA,KAAAvD,KAA2BwD,iBAAA,OAAA,IAAe,EAC1CpoB,KAACqoB,eAAe7lB,IAAIyB,KAAK,CAAC6B,GAAIoX,KAC5B,IAAoB5a,KAAKwD,IAAI4C,SAAS1I,KAAC+H,IAAIogB,QAAQhc,QAAnD,CAAA,OAAO,MACPhI,MAAQ+Y,SACR,cACF/Y,OAEFmkB,gBAAiB,WACf,IAAAxU,IAAA8Q,KAAA2D,SAAAC,SAAAD,SAAWvoB,KAAC8U,KAAKqT,QAAQ9H,KACzB,IAAoBkI,SAApB,CAAA,OAAO,MACPC,SAAWxoB,KAACyL,KAAKqJ,KAAKyT,UACtB,GAAgBC,WAAY,MAA5B,CAAA,OAAO,mEACYnI,UAAA,OAAA,GAErBoI,gBAAiB,SAACtkB,OAChB,IAAA4N,UAAA,IAAczP,KAAKtE,UAAUmG,OAA7B,CAAA,OACA4N,UAAe5N,MAAQnE,KAACkoB,qBAA0B,OAAY,cAC9DloB,KAAC0oB,aAAavkB,MAAO4N,YAEvB4W,YAAa,WACX,IAAAxkB,MAAAA,MAAQnE,KAACkoB,qBAAuB,EAChC,GAAG/jB,OAASnE,KAACqoB,eAAe5lB,OAA5B,CACE,IAAczC,KAACsoB,kBAAf,CAAA,OACAnkB,MAAQ,SACVnE,KAAC0oB,aAAavkB,MAAO,SAEvBykB,YAAa,WACX,IAAAzkB,MAAAA,MAAQnE,KAACkoB,qBAAuB,EAChC,GAAG/jB,MAAQ,EAAX,CACE,IAAcnE,KAACsoB,kBAAf,CAAA,OACAnkB,MAAQnE,KAACqoB,eAAe5lB,OAAS,SACnCzC,KAAC0oB,aAAavkB,MAAO,SAEvB0kB,cAAe,WACb7oB,KAACqoB,eAAe7lB,IAAIgC,QAAQ,CAACsB,GAAI3B,SAC/B,IAAA2kB,UAAAC,SAAAviB,KAAAwiB,QAAAC,QAAAziB,KAAOlE,KAAKwD,IACZ,IAAWgjB,UAAY9oB,KAAC+H,IAAIogB,QAAQhc,SAAY3F,KAAKkC,SAASogB,WAA9D,CAAA,OACA,IAAWE,QAAUhpB,KAAC+H,IAAIogB,QAAQtF,OAAUrc,KAAKkC,SAASsgB,SAA1D,CAAA,OACA,IAAWC,QAAUjpB,KAAC+H,IAAIogB,QAAQpF,OAAUvc,KAAKkC,SAASugB,SAA1D,CAAA,OACAF,SAAW5kB,QAASnE,KAACkoB,qBACrB1hB,KAAK6T,IAAI,aAAc,QACtBpS,YAAY6gB,UAAWC,UACvB9gB,YAAYghB,QAAS9kB,MAAQnE,KAACkoB,sBAC9BjgB,YAAY+gB,QAAS7kB,MAAQnE,KAACkoB,sBAC9BvG,SAAStH,IAAI,aAAc,WAC5B0O,UAAaviB,KAAKiK,QAAQzQ,KAAC8Q,IAAIqX,QAAQ5C,aACzCvlB,KAACkpB,mCACDlpB,KAACmpB,iCAEHT,aAAc,SAACvkB,MAAO4N,WACpB,IAAAqX,YAAA7D,UAAA8D,eAAAP,UAAAQ,cAAAC,aAAA/iB,KAAA4C,QAAAogB,WAAA,IAAclnB,KAAKtE,UAAUmG,OAA7B,CAAA,OACA,GAAUA,SAAUklB,eAAiBrpB,KAACkoB,sBAAtC,CAAA,OACA,GAAU/jB,MAAQ,GAAKA,OAASnE,KAACqoB,eAAe5lB,OAAhD,CAAA,OACA+D,KAAOxG,KAACqoB,eAAerf,GAAG7E,OAC1BohB,UAAYvlB,KAACqoB,eAAerf,GAAGqgB,gBAC/BD,YAAc5iB,KAAKiK,QAAQzQ,KAAC8Q,IAAIqX,QAAQjD,SAAU,KAAM,MAAM,GAC9D,GAAUkE,YAAYjE,qBAAtB,CAAA,OACAmE,cAAgB/D,UAAU9U,QAAQzQ,KAAC8Q,IAAIqX,QAAQ1C,WAAY,KAAM,MAAM,GACvE,GAAU6D,cAAcnE,qBAAxB,CAAA,OACA/b,QAAa2I,YAAa,OAAY,OAAY,OAClDwX,aAAevpB,KAAC+H,IAAIogB,QAAQpW,WAC5ByX,WAAaxpB,KAAC+H,IAAIogB,QAAQ/e,SAC1B0f,UAAY9oB,KAAC+H,IAAIogB,QAAQhc,OACzB3F,KAAK6T,IAAI,aAAc,QACtB5R,SAAS8gB,cAAc3gB,YAAY4gB,YACnC7H,SAAStH,IAAI,aAAc,IAC3B5R,SAASqgB,WAAWlgB,YAAY2gB,cACjChE,UAAU9c,SAAS+gB,YAAY5gB,YAAYkgB,WAC3C9oB,KAACypB,kBAAoBpf,WAAW,YACvBrK,KAACypB,yBACRjjB,KAAKiK,QAAQzQ,KAAC8Q,IAAIqX,QAAQ5C,YAC1B/e,KAAK0b,sBACPliB,KAAC0pB,uBAAyBL,eAC1BrpB,KAAC2pB,oBAAsBtf,WAAW,YACzBrK,KAAC2pB,2BACD3pB,KAAC0pB,8BACRnE,UAAU9U,QAAQzQ,KAAC8Q,IAAIqX,QAAQzC,cAC/BH,UAAUrD,sBACZliB,KAACkpB,4BACDlpB,KAACmpB,uCACD,MAEFS,qBAAsB,iBACpB,sBAAuB5pB,MAAQ,wBAAyBA,MAE1DkpB,0BAA2B,kBACzBlpB,KAAC6pB,kBAAkBrnB,IAAIgC,QAAQ,CAACsB,GAAI3B,SAClC,IAAA2kB,UAAAppB,IAAAopB,UAAY9oB,KAAC+H,IAAIogB,QAAQ2B,gBACzBpqB,IAAMyE,QAASnE,KAACkoB,4BAChB5lB,KAAKwD,IAAImC,YAAY6gB,UAAWppB,QAEpCypB,8BAA+B,WAC7B,IAAAhlB,MAAA4lB,SAAAC,SAAAC,SAAAC,QAAAC,SAAAC,QAAAD,SAAWnqB,KAACqqB,gBACZJ,SAAWjqB,KAACsqB,gBACZ,KAAcH,UAAYF,UAA1B,CAAA,OACA,GAAGjqB,KAACqoB,eAAe5lB,QAAU,EAA7B,CACE2nB,QAAUF,QAAU,QACjB,GAAGlqB,KAACsoB,kBAAJ,CACH8B,QAAUF,QAAU,SADjB,CAGH/lB,MAAQnE,KAACkoB,qBACT8B,SAAW,EACXD,SAAW/pB,KAACqoB,eAAe5lB,OAAS,EACpC2nB,QAAajmB,QAAS6lB,SAAc,GAAQ,KAC5CE,QAAa/lB,QAAS4lB,SAAc,GAAQ,KAC9CI,UAAaA,SAAS7lB,KAAK,WAAY8lB,gBACvCH,UAAaA,SAAS3lB,KAAK,WAAY4lB,UAEzCK,uBAAwB,SAACrZ,GACvB,IAAA/M,MAAA2P,IAAA8Q,KAAA,GAAU5kB,KAAC4pB,uBAAX,CAAA,OACAzlB,OAAA2P,IAAA5C,EAAAR,SAAA,MAAAkU,KAAA9Q,IAAAqU,UAAA,KAAAvD,KAA2BwD,iBAAA,OAAA,EAC3B,GAAOjkB,OAAA,KAAP,CACEA,MAAQnE,KAAC6pB,kBAAkBrnB,IAAIoE,QAAQsK,EAAEyC,sBAC3C3T,KAACyoB,gBAAgBtkB,QAEnBqmB,mBAAoB,SAACtZ,GAAM,IAAsBlR,KAAC4pB,uBAAvB,QAAA5pB,KAAC4oB,gBAE5B6B,mBAAoB,SAACvZ,GAAM,IAAsBlR,KAAC4pB,uBAAvB,QAAA5pB,KAAC2oB,gBAE5B+B,eAAgB,WACd,IAAAvE,aAAA,GAAG,sBAAuBnmB,KAA1B,CACEolB,aAAaplB,KAACypB,mBACdtD,aAAe,CAACjB,SAAUllB,KAACkoB,sBAC7B,GAAG,wBAAyBloB,KAA5B,CACEolB,aAAaplB,KAAC2pB,qBACdxD,eAAAA,aAAiB,IACjBA,aAAawE,gBAAkB3qB,KAAC0pB,8BAClC1pB,KAACyL,KAAKqJ,KAAK9U,KAAC8U,KAAKqT,QAAQhC,aAAcA,eAEzCyE,cAAe,WACb,IAAA1F,SAAA7B,SAAAwH,SAAA1E,aAAAnmB,KAAC6oB,gBACDxF,SAAWrjB,KAAC8U,KAAKqT,QAAQhC,aACzB,KAAcA,aAAenmB,KAACyL,KAAKqJ,KAAKuO,WAAxC,CAAA,OACA,IAAG6B,SAAAiB,aAAAZ,YAAA,KAAH,CACEvlB,KAACqoB,eAAerf,GAAGuc,WAAW9U,QAAQzQ,KAAC8Q,IAAIqX,QAAQ5C,WACrD,IAAGsF,SAAA1E,aAAAT,cAAA,KAAH,CACE1lB,KAACqoB,eAAerf,GAAG0c,aAAajV,QAAQzQ,KAAC8Q,IAAIqX,QAAQzC,oBACvD1lB,KAACyL,KAAKgP,WAAW4I,WAEnByH,YAAa,WACX,IAAAvT,KAAA0S,SAAAE,SAAA5S,KACE,CAAA8Q,eAAgBroB,KAACO,SAAS4nB,QAAQ4C,QAClClB,kBAAmB7pB,KAACO,SAAS4nB,QAAQ6C,YACvC,GAAmCb,SAAWnqB,KAACO,SAAS4nB,QAAQgC,SAAhE,CAAA5S,KAAK8S,gBAAkBF,SACvB,GAAmCF,SAAWjqB,KAACO,SAAS4nB,QAAQ8B,SAAhE,CAAA1S,KAAK+S,gBAAkBL,gBACvB1S,MAEF0T,aAAc,WACZ,IAAA3mB,KAAAikB,SAAAjkB,KAAO,GACPikB,SAAWvoB,KAAC8U,KAAKqT,QAAQ9H,KACzBkI,UAAajkB,KAAKoC,KAAK,CAAC6hB,SAAUvoB,KAACkrB,wCACnC,CAAA5mB,KAAMA,KACNpC,KAAM,CACJ,CAAClC,KAACO,SAAS4nB,QAAQ4C,QAAS/qB,KAAC6oB,eAC7B,CAAC7oB,KAACO,SAAS4nB,QAAQ6C,WAAYhrB,KAACkpB,8BAGpCiC,cAAe,WACb,IAAAC,UAAAnB,SAAAE,SAAAiB,UAAY,CACV,CAAC,QAASprB,KAACO,SAAS4nB,QAAQ6C,WAAYhrB,KAACuqB,yBAE3C,GAAGJ,SAAWnqB,KAACO,SAAS4nB,QAAQgC,SAAhC,CACEiB,UAAU1kB,KAAK,CAAC,QAASyjB,SAAUnqB,KAACwqB,qBACtC,GAAGP,SAAWjqB,KAACO,SAAS4nB,QAAQ8B,SAAhC,CACEmB,UAAU1kB,KAAK,CAAC,QAASujB,SAAUjqB,KAACyqB,4BACtCW,aCtMJ9oB,KAAKkhB,UAAU,YAEdrL,QAEC,CAAApQ,IACE,CAAAogB,QACE,CAAAhc,OAAQ,uBACR2d,gBAAiB,aACjB/G,KAAM,qBACNF,KAAM,uBAEV/N,KACE,CAAAuW,SAAU,oBACVlD,QACE,CAAAhC,aAAc,6BACd9F,KAAM,uBAEV0E,QACE,CAAAsG,SAAU,IACVlD,QACE,CAAAC,YAAa,EACb/H,KAAM,OAEVvP,IACE,CAAAqX,QACE,CAAAjD,SAAU,yBACVK,UAAW,0BACXE,WAAY,2BACZC,YAAa,8BAEjBnlB,SACE,CAAA4nB,QACE,CAAA4C,QAAS,iBACTC,WAAY,4BACZb,SAAU,iBACVF,SAAU,qBAEf9R,QAEC,CAAAkT,SAAU,WACR,IAAApJ,SAAAA,SAAWjiB,KAACyL,KAAKqJ,KAAK9U,KAAC8U,KAAKuW,UAC5B,GAAgBpJ,WAAY,MAA5B,CAAA,OAAO,aACP7P,KAAKC,IAAI2I,SAASiH,SAAU,MAAOjiB,KAAC+kB,QAAQsG,YAE/C3oB,QAAQJ,KAAKse,MAAM,WAAW0K,MAC7B,CAAApG,SAAU,kBACVrC,KAAM,cACNE,KAAM,iBAGPrgB,QAEC,CAAA6oB,MAAO,WACL,KAAc,gBAAiBvrB,MAA/B,CAAA,OACAolB,aAAaplB,KAACwrB,oBACPxrB,KAACwrB,YACRxrB,KAACyrB,cAAgB/e,KAAKC,MAAQ3M,KAAC0rB,OAC/B,GAA6B1rB,KAACyrB,cAAgB,GAA9C,CAAAzrB,KAACyrB,kBAAe,SAChBzrB,KAAC2rB,WAAa3rB,KAACkoB,sBAEjB0D,KAAM,WACJ,IAAArsB,QAAA,GAAU,gBAAiBS,KAA3B,CAAA,OACA,IAAcA,KAACqrB,WAAf,CAAA,OACArrB,KAAC0rB,OAAShf,KAAKC,MACf,GAAmC3M,KAAC2rB,aAAc3rB,KAACkoB,qBAAnD,CAAAloB,KAACyrB,aAAezrB,KAACqrB,WACjB9rB,QAAU,MACRS,KAAC2oB,cACD3oB,KAAC0rB,OAAShf,KAAKC,MACf3M,KAACyrB,aAAezrB,KAACqrB,kBACjBrrB,KAACwrB,YAAcnhB,WAAW9K,QAASS,KAACqrB,qBACtCrrB,KAACwrB,YAAcnhB,WAAW9K,QAASS,KAACyrB,iBAEvCtT,QAAQ7V,KAAKse,MAAM,WAAWpX,OAE9B2O,QAEC,CAAA0T,WAAY,SAAC7e,KAAM8L,QACjB,IAAAiS,QAAAA,QAAU/d,KAAK1G,OAAQpC,YAAOlE,KAACmZ,IAAIxQ,SAASzE,aAC5ClE,KAACmZ,IAAIzN,OAAOqf,SAASvmB,QAAQ,SAACkL,YAAQA,IAAIoJ,aAE5CgT,WAAY,SAAC5a,UAAMlR,KAAC6rB,WAAW3a,EAAEpE,YAAa,UAE9Cif,UAAW,SAAC7a,UAAMlR,KAAC6rB,WAAW3a,EAAEpE,YAAa,SAE7Ckf,eAAgB,SAAC9a,GACf,IAAAlE,KAAAA,KAAOkE,EAAEpE,mBACTzC,WAAW,YAAGrK,KAAC6rB,WAAW7e,KAAM,aAEnCgL,KAEC,CAAA1X,KAAM,kBAAGN,KAAC8qB,eAEVpf,OAAQ,WACN1L,KAAC4qB,uBACD5qB,KAAC4rB,QAEHjgB,QAAS,WACP3L,KAACurB,eACDvrB,KAAC0qB,kBAEHnU,MAAO,WACL,IAAAK,QAAAA,QAAU5W,KAACirB,eACXrU,QAAQtS,KAAKoC,KAAK,CAAC1G,KAAC8U,KAAKuW,SAAUrrB,KAACurB,MAAOvrB,KAAC4rB,cAC5ChV,SAEFjC,OAAQ,kBACN3U,KAACmrB,gBAAgBriB,OAAO,CACtB,CAAC,YAAa9I,KAACyqB,oBACf,CAAC,aAAczqB,KAACwqB,oBAChB,CAAC,uBAAwBxqB,KAAC8rB,YAC1B,CAAC,WAAY9rB,KAAC+rB,WACd,CAAC,WAAY/rB,KAACgsB,qBC/GpB1pB,KAAKkhB,UAAU,WAAY,6EAK1BrL,QAEC,CAAApQ,IACE,CAAA0c,WACE,CAAAtY,OAAQ,oBAEZ2I,KACE,CAAAmX,WAAY,2BACZxH,WACE,CAAA0B,aAAc,6BACd1V,QAAS,sBAEbsU,QACE,CAAAN,WACE,CAAAhU,QAAS,OAEbK,IACE,CAAA2T,WACE,CAAAS,SAAU,yBACVK,UAAW,0BACXE,WAAY,2BACZC,YAAa,8BAEjBnlB,SACE,CAAA2rB,MAAO,sJAGPzH,WACE,CAAAplB,OAAQ,qBAEbqD,QAAQJ,KAAKse,MAAM,cAAc0K,MAChC,CAAApG,SAAU,qBACVO,WAAY,uBACZjd,OAAQ,sBAGT2P,QAAQ7V,KAAKse,MAAM,cAAcpX,OAEjC2O,QAEC,CAAAzO,OAAQ,WACN,IAAA+K,OAAAA,OAASzU,KAACmsB,WAAW3pB,IAAI,GACzB,GAAGiS,OAAH,QAAezU,KAACmZ,IAAIzN,OAAO+I,QAAQ,OAAnC,QAA2C,OAE7C2X,cAAe,SAAClb,GACd,IAAAxH,OAAA,GAAG1J,KAACwkB,mBAAJ,QACExkB,KAACgmB,4BAA4B9U,QAC1B,GAAGxH,OAAS1J,KAAC0J,SAAb,QACHA,OAAO0iB,cAAclb,KAEzBmb,SAAU,SAACnb,GACT,IAAA/M,MAAA+nB,MAAAxiB,OAAA,GAAG1J,KAACwkB,mBAAJ,CACE,KAAe0H,MAAQlsB,KAACksB,MAAM1pB,KAAKC,OAAnC,CAAA,OACA0B,MAAQ+nB,MAAMtlB,QAAQ1G,SAAS4lB,eAAiB,EAChD,GAAa3hB,MAAQ,EAArB,CAAAA,MAAQ,SACR+nB,MAAM/nB,OAAO+J,aACV,GAAGxE,OAAS1J,KAAC0J,SAAb,QACHA,OAAO2iB,SAASnb,KAEpBob,SAAU,SAACpb,GACT,IAAA/M,MAAA+nB,MAAAxiB,OAAA,GAAG1J,KAACwkB,mBAAJ,CACE,KAAe0H,MAAQlsB,KAACksB,MAAM1pB,KAAKC,OAAnC,CAAA,OACA0B,MAAQ+nB,MAAMtlB,QAAQ1G,SAAS4lB,eAAiB,EAChD,GAA4B3hB,OAAS+nB,MAAMzpB,OAA3C,CAAA0B,MAAQ+nB,MAAMzpB,OAAS,SACvBypB,MAAM/nB,OAAO+J,aACV,GAAGxE,OAAS1J,KAAC0J,SAAb,QACHA,OAAO4iB,SAASpb,OAErB8G,KAEC,CAAA1X,KAAM,kBACJ4G,OAAOsW,OAAOxd,KAACqmB,iBACb,CAAA8F,WAAY,kBAAGnsB,KAACyL,KAAK/B,OAAO1J,KAACmZ,IAAI1N,OACjCygB,MAAO,WACL,IAAAK,KAAA9Y,KAAAA,KAAOzT,KACPusB,KAAOvsB,KAACilB,wBACRsH,KAAKjsB,KAAKN,KAACO,SAAS2rB,OAAO5lB,OAAO,SAACpC,IACjC,IAAAsoB,WAAAA,WAAalqB,KAAK4B,IAAIwF,OAAO+J,KAAKlT,SAASkkB,WAAWplB,eACtDmtB,WAAWhqB,IAAI,KAAM+pB,KAAK/pB,IAAI,SAGtCkJ,OAAQ,kBAAG1L,KAACkmB,oBAEZva,QAAS,kBAAG3L,KAAComB,qBAEbzR,OAAQ,WACN,IAAAlB,KAAAA,KAAOzT,WACP,CACE,CAAC,QAASA,KAACimB,yBACX,CAAC,YAAajmB,KAAC+lB,2BACf,CAAC,sBAAuB/lB,KAACosB,eACzB,CAAC,0BAA2BpsB,KAACqsB,UAC7B,CAAC,6BAA8BrsB,KAACssB,UAChC,CAAC,kBAAmB,SAACpb,GACnB,IAAAub,WAAAA,WAAa,GACbvb,EAAEpE,YAAYtI,QAAQ,SAACN,WACrBuP,KAAK0F,IAAIxQ,SAASzE,KAAQuoB,WAAW/lB,KAAKxC,aAC5CuP,KAAK0F,IAAIpV,KAAK,SAAC2L,IAAK+E,QAClB,IAAAiY,WAAAC,aAAAD,WAAaD,WAAW1mB,SAAS0O,QACjCkY,aAAejd,IAAIjE,KAAKmP,QAAQnH,KAAKqB,KAAKmX,aACtCS,aAAmBC,cAAiBjd,IAAI+V,oBAC5C,aCzGVnjB,KAAKkhB,UAAU,cAEdrL,QAEC,CAAA5X,SACE,CAAA0b,QAAS,qEAET2Q,OAAQ,qEAER7F,UAAW,aAEbjS,KACE,CAAAtI,MAAO,qBAETsE,IACE,CAAAkW,QAAS,2BAEXC,QAAS,QAEV9O,QAEC,CAAA0U,cAAe,kBACb7sB,KAAC+mB,UAAUjS,KAAK,OAAQ,OAAOxQ,KAAK,WAAY,KAElD+iB,qBAAsB,WACpB,IAAAjW,OAAAA,OAAS,GACTpR,KAACic,QAAQzZ,IAAIgC,QAAQ,CAACsoB,MAAO3oB,SAC3B,IAAAqI,MAAAnJ,MAAA,IAAcypB,MAAMC,QAApB,CAAA,OACAvgB,MAAQxM,KAAC4sB,OAAO5jB,GAAG7E,OACnBd,MAAQmJ,MAAMsI,KAAK9U,KAAC8U,KAAKtI,QAAUA,MAAMmT,OACzC,GAAqBtc,QAAc+N,OAAOrL,SAAS1C,OAAnD,QAAA+N,OAAO1K,KAAKrD,iBACdrD,KAAC+mB,UAAUrnB,IAAI0R,OAAOnB,KAAKjQ,KAACinB,WAE9BM,YAAa,WACX,IAAAwF,QAAAlW,OAAA7W,KAACqnB,uBACDxQ,OAAS7W,KAACioB,YACV8E,QAAU/sB,KAACic,QAAQzZ,IAAI8D,OAAO,SAACwmB,cAAUA,MAAMC,UAC/C/sB,KAACioB,YAAc8E,QAAQ9qB,IAAI,SAAC6qB,cAAUxqB,KAAKwqB,OAAOptB,QAClD,IAAcmX,QAAUvU,KAAKmD,WAAWzF,KAACioB,YAAapR,QAAtD,CAAA,cACA7W,KAACyL,KAAKgF,QAAQzQ,KAAC8Q,IAAIkW,QAAS,CAAC3jB,MAAOrD,KAACioB,YAAa9L,SAAU4Q,WAE9DC,aAAc,kBAAGhtB,KAAC+mB,UAAUtW,QAAQ,YAErCuH,KAEC,CAAA1X,KAAM,iBACJ,CAAA2b,QAASjc,KAACO,SAAS0b,QACnB2Q,OAAQ5sB,KAACO,SAASqsB,OAClB7F,UAAW/mB,KAACO,SAASwmB,YAEvBrb,OAAQ,WACN1L,KAAC6sB,uBACD7sB,KAACunB,eAEHhR,MAAO,iBACL,CAAArU,KAAM,CACJ,CAAClC,KAACO,SAAS0b,QAASjc,KAACunB,cAEvBjjB,KAAM,CACJ,CAAC,UAAWtE,KAACO,SAAS0b,QAASjc,KAACunB,aAChC,CAAC,OAAQvnB,KAACO,SAAS0b,QAASjc,KAACunB,gBAGjC5S,OAAQ,WACNrS,KAAKse,MAAM,aAAa7X,IAAI,UAAU3E,KAAKpE,KAAMA,KAACunB,mBAClD,CACE,CAAC,SAAUvnB,KAACO,SAAS0b,QAASjc,KAACunB,aAC/B,CAAC,gBAAiBvnB,KAACO,SAASwmB,UAAW/mB,KAACgtB,kBCpE9C1qB,KAAKkhB,UAAU,OAEdrL,QAEC,CAAApQ,IACE,CAAAogB,QACE,CAAAhc,OAAQ,kBACR2d,gBAAiB,eAErBhV,KACE,CAAAqT,QACE,CAAAhC,aAAc,0BAElBrV,IACE,CAAAqX,QACE,CAAAjD,SAAU,oBACVK,UAAW,qBACXE,WAAY,sBACZC,YAAa,yBAEjBnlB,SACE,CAAA4nB,QACE,CAAA4C,QAAS,YACTC,WAAY,2BAEjBtoB,QAAQJ,KAAKse,MAAM,WAAW0K,MAC7B,CAAApG,SAAU,qBAGX/M,QAAQ7V,KAAKse,MAAM,WAAWpX,OAE9BwO,KAEC,CAAA1X,KAAM,kBAAGN,KAAC8qB,eAEVpf,OAAQ,kBAAG1L,KAAC4qB,iBAEZjf,QAAS,kBAAG3L,KAAC0qB,kBAEbnU,MAAO,kBAAGvW,KAACirB,gBAEXtW,OAAQ,kBAAG3U,KAACmrB","sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","export default (a, b, compareOrder) ->\n return false unless a and b\n return true if a is b\n return false unless a.length is b.length\n return true if a.length is 0\n if compareOrder\n a.every (it, index) -> it is b[index]\n else\n not a.some (it) -> not b.includes(it)","guid = 0\n\n\n\nexport default -> guid += 1","import Type from './type.coffee'\n\n\n\nexport default (arr, prop, deep, filter) ->\n plucked = []\n arr = [arr] unless Type.isArray arr\n arr.forEach (item) ->\n val = item[prop]\n while val?\n if filter\n if filter val\n plucked.push val\n break unless deep\n else\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport arrayEqual from './array-equal.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n arrayEqual: arrayEqual\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from './matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n if comparator\n plucked = pluck @els, 'parentElement', false, (p) ->\n collect([p], comparator).length\n else\n plucked = pluck @els, 'parentNode'\n luda unique(plucked)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from './matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) -> els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return unless Type.isElement el\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n path = [event.target]\n path = path.concat(pluck path, 'parentNode', true)\n path.push window if document.contains event.target\n path","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import arrayEqual from '../../base/array-equal.coffee'\nimport expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunNodeCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.node.forEach (node) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll node.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and node.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n return unless name and Type.isElement target\n return if not nestable and not unnested(ins, [target]).length\n watches.attr.forEach (attr) ->\n return unless attr.name.includes name\n return unless matches target, attr.selector\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runNodeCallbacks 'added', mutation, C.watches, nestable\n runNodeCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n arrayEqual Array.from(nodesOne), Array.from(nodesTwo), true\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n node: (conf.node or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: splitValues a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.node ||= []\n watches.node.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {node: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n occupied = name and name of luda\n luda.extend name, createProxy Component if name\n not occupied and luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n hasSelected = false\n options = Array.from el.options\n options.forEach (o) ->\n selected = val.includes readValue(o.value)\n o.selected = selected\n hasSelected ||= selected\n el.selectedIndex = -1 unless hasSelected\n options.forEach (o) ->\n luda(o).attr 'selected', if o.selected then '' else null\n else\n val = if value is null then '' else parseValue value\n el.value = val\n luda(el).attr 'value', val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) ->\n plucked = pluck(@els, 'nextElementSibling', true)\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator) ->\n if comparator\n filter = (n) -> collect([n], comparator).length\n luda unique(pluck @els, 'nextElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) ->\n plucked = pluck @els, 'previousElementSibling', true\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator) ->\n if comparator\n filter = (p) -> collect([p], comparator).length\n luda unique(pluck @els, 'previousElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableTargetProp: -> @attr?.disable or 'disabled'\n\n disableCreate: ->\n tabIndex = @root.prop 'tabIndex'\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n @root.prop('tabIndex', -1).prop @disableTargetProp(), true\n\n disableDestroy: ->\n tabIndex = @root.data @data.disable.tabIndex\n @root.prop('tabIndex', tabIndex).prop @disableTargetProp(), false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n.protect\n\n disabled: -> @html.data('enter') is false\n\n.protect\n\n trigger: (e) ->\n return if @disabled()\n return unless luda(e.target).is @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n.protect\n\n disabled: -> @html.data('focus') is false\n\n.protect\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).is @selector.always.join(',')\n target = node\n else if luda(node).is @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).is(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n.protect\n\n disabled: -> @html.data('tabulate') is false\n\n.protect\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @disabled()\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n evt:\n changed: 'luda:fmFile:changed'\n\n splitor: ' '\n\n.protect\n\n placeholder: -> @file.attr 'placeholder'\n\n value: -> @file.attr 'value'\n\n multiple: -> @file.prop 'multiple'\n\n.protect\n\n files: -> Array.from @file.prop('files')\n\n insertSimulator: ->\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@file)\n\n updateSimulatorValue: ->\n values = @files().map (f) -> f.name\n value = values.join(@splitor) or @value() or ''\n @simulator.val value\n\n updateValue: ->\n @updateSimulatorValue()\n oldFile = @selectedFile\n @selectedFile = @files()\n return if not oldFile or luda.arrayEqual(@selectedFile, oldFile)\n val = if @multiple() then @selectedFile else @selectedFile[0]\n @file.trigger @evt.changed, val\n\n tryReset: (target, oldVal) ->\n return unless @value() is ''\n return if oldVal is ''\n @file.prop('value', '').attr('value', oldVal or '')\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n evt:\n changed: 'luda:fmSelect:changed'\n\n.protect\n\n placeholder: -> @select.attr 'placeholder'\n\n multiple: -> @select.prop 'multiple'\n\n options: -> Array.from @select.prop('options')\n\n.protect\n\n tryEmpty: ->\n selected = @options().some (o) -> luda(o).hasAttr 'selected'\n not selected and @select.prop('selectedIndex', -1)\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n @options().forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n toggleSimulator: ->\n return @simulator.remove() if @multiple()\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@select)\n\n updateSimulatorValue: ->\n return if @multiple()\n selected = @options()[@select.prop('selectedIndex')]\n val = if selected then luda(selected).text() else ''\n @simulator.val val\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n val = @select.val()\n @selectedVal = if luda.isArray(val) then val else [val]\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n if @multiple()\n selected = @options().filter (o) -> o.selected\n else\n selected = @options()[@select.prop('selectedIndex')]\n @select.trigger @evt.changed, {value: val, selected: selected}\n\n reset: ->\n @select.prop 'selectedIndex', -1\n @options().forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @toggleSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @tryEmpty, @updateValue]\n ['multiple', @selector.select, @toggleSimulator, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n node: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n togglePath: (path, action) ->\n targets = path.filter (el) => @con.contains el\n @con.create(targets).forEach (ins) -> ins[action]()\n\n pauseOnEvt: (e) -> @togglePath e.eventPath(), 'pause'\n\n playOnEvt: (e) -> @togglePath e.eventPath(), 'play'\n\n playOnTouchend: (e) ->\n path = e.eventPath()\n setTimeout => @togglePath path, 'play'\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pauseOnEvt]\n ['mouseout', @playOnEvt]\n ['touchend', @playOnTouchend]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n create: -> @toggleableCreate()\n\n destroy: -> @toggleableDestroy()\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n evt:\n changed: 'luda:fmDropdown:changed'\n\n splitor: ' '\n\n.protect\n\n initSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateSimulatorValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = @labels.eq index\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.val values.join(@splitor)\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n checked = @options.els.filter (input) -> input.checked\n @selectedVal = checked.map (input) -> luda(input).val()\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n @root.trigger @evt.changed, {value: @selectedVal, selected: checked}\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @initSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ['type', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"]}
1
+ {"version":3,"sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/array-equal.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/base/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"names":["Type","isArray","Array","isString","x","isFunction","isObject","isBool","isNumeric","isNaN","parseFloat","isFinite","isDecimalism","test","isId","isClass","isTag","isSingleTag","isHtml","isScript","tagName","type","isFragment","isWindow","window","isDocument","nodeType","isElement","createMounter","target","messagePrefix","handler","mount","name","val","msg","n","v","console","warn","this","getEnv","document","global","Error","environment","find","selector","ctx","from","getElementsByClassName","slice","getElementsByTagName","querySelectorAll","containers","containersMap","div","table","tr","createElement","*","thead","tbody","tfoot","th","td","parseHTML","html","container","RegExp","$1","innerHTML","childNodes","map","node","parentNode","removeChild","Luda","luda","[object Object]","els","length","include","prototype","extend","ValuesMap","false","true","Infinity","NaN","null","undefined","readValue","value","JSON","parse","error","Number","parseValue","stringify","splitValues","str","match","each","callback","some","el","index","call","removeAttr","attr","attrs","forEach","att","removeAttribute","key","arguments","setAttribute","getAttribute","hasAttr","hasAttribute","pattern","replacer","letter","toUpperCase","camelCase","replace","toLowerCase","dashCase","arrayEqual","a","b","compareOrder","every","it","includes","guid","guid$1","pluck","arr","prop","deep","filter","plucked","item","results","push","unique","indexOf","_cache","cache","cacheFactory","privateCache","publicCache","Object","keys","expando","_access","access","accessFactory","clean","c","owner","uid","removeCache","k","isPrivate","cls","parseClass","toggleClass","force","classes","isForce","classList","add","remove","toggle","addClass","hasClass","contains","removeClass","context","concat","get","eq","matches","collect","comparator","oppsite","first","has","children","all","apply","parent","p","child","collection","is","last","not","ready","readyState","removeEventListener","addEventListener","setTimeout","findAll","Components","autoCreateAndDestroy","autoable","config","disAutoSelector","observer","childList","subtree","attributes","Component","MutationObserver","mus","attrNodes","nodes","mu","addedNodes","removedNodes","C","root","create","destroy","instances","observe","watcher","print","style","log","print$1","active","factory","infoStyle","prvLabelStyle","pubLabelStyle","label","time","Date","now","arg","info","eventPath","event","path","composedPath","LudaEvent","originalEvent","defaultPrevented","bubbles","_propagationStopped","_immediatePropagationStopped","preventDefault","stopPropagation","stopImmediatePropagation","ludaEvent","Proxy","nMatches","definedNamespace","namespace","Variables","focusEvents","focus","blur","hoverEvents","mouseenter","mouseleave","swipeEvents","left","right","up","down","swipeDistance","keyCodes","enter","tab","ctrl","alt","shift","esc","back","space","cap","del","end","home","ins","pgUp","pgDown","parseEventName","keysRe","preventRe","stopRe","join","evtName","matchedKeys","splited","split","keyCode","stop","prevent","trigger","detail","afterTrigger","handledEvts","events","evt","CustomEvent","cancelable","composed","e","isFocusEvent","values","dispatchEvent","createEvent","startX","startY","touchMoveHandler","touchStartHandler","triggered","touches","screenX","screenY","direction","endX","endY","xMoved","yMoved","Math","abs","start","moved","distance","swipeEvent","removeEvent","removeEvent$1","evtCache","swipeTypes","typeCache","quene","binded","t","addEvent","kc","_one","swipeBinded","one","cached","eType","self","returnValue","currentTarget","isImmediatePropagationStopped","isPropagationStopped","ref","addEvent$1","on","keyCallback","option","off","addEvents","findRoot","isntPropagation","removeEvents","id","rootEl","helpers","listen","callbacks","evtSelector","data","parents","unnested","instance","rootSelector","constructor","rootParent","addTraversal","cleanTraversal","createGetter","nestable","cacheable","defineProperty","matched","traversal","traversals","names","createObserver","cur","executeMutations","findSameMutation","nodesEqual","runAttrCallbacks","runNodeCallbacks","stopWatch","watch","attributeOldValue","isInProto","proto","mutation","watches","oldVal","attributeName","oldValue","mutations","nodesOne","nodesTwo","theSameMutation","inses","takeRecords","nestedMutation","conf","d","disconnect","Base","definedWatch","eventsBinded","traversalAdded","unshift","hasInstances","help","fn","included","protect","win","doc","documentElement","body","Base$1","constructorAccessWarn","createComponentProxy","createInstancesCallProxy","createInstancesProxy","instanceAccessWarn","action","extended","proxy","set","args","con","vals","instancesProxy","Function","bind","returns","chain","createProxy","occupied","autoEnabled","computeStyle","isVar","getComputedStyle","getPropertyValue","isVariable","readProp","numericProps","parseValue$1","css","setProperty","removeCss","parseName","removeData","dataset","datas","hasData","innerWidth","innerHeight","computeStyleInt","parseInt","getExtraSpace","xAxis","valNumber","getBoundingClientRect","boxSizing","extra","width","height","includeMargins","marginOne","marginTwo","offsetSize","outerWidth","outerHeight","getValue","multiple","options","optionValue","selected","disabled","hasSelected","o","selectedIndex","Variables$1","scriptExpando","clone","cacheAndEvts","cloned","clonedScripts","clones","scripts","cloneNode","script","i","src","V","executed","_evt","EV","assign","found","CDATARe","geval","eval","evalScripts","scriptCache","ownerDocument","textContent","insertElement","anchor","prepend","prependTarget","insertBefore","appendChild","insertAfter","childToBeInserted","nextSibling","after","argReverse","reverse","insertContent","parentIndex","firstChild","appendTo","append","before","cacheAndEvents","detach","clean$1","empty","len","prependTo","replaceWith","replaceAll","text","unwrap","wrapAll","structure","wrapper","firstElementChild","contents","content","contentDocument","wrapInner","wrap","Mixin","Mixin$1","picked","newName","named","unmount","mixin","offsetParent","offset","docEl","rect","top","pageYOffset","clientTop","pageXOffset","clientLeft","position","offsetLeft","offsetTop","removeProp","props","reflow","offsetHeight","getDurations","propertyLength","durationArray","durationStr","duration","transitionDuration","delays","durations","finalDurations","styles","transitionProperty","transitionDelay","max","closest","filtered","nextAll","next","prevAll","prev","siblings","sibs","disableTargetProp","disable","disableCreate","dataAttr","tabIndex","disableDestroy","component","selectors","click","Focus","focused","always","nested","touch","addable","cacheEvt","evtTriggeredFocus","preventScroll","findSiblings","radio","radios","shiftKey","toggleableActive","toggleable","toggleableTriggerable","evtPath","ref1","toggleAttr","toggleableTransitioning","default","toggleableActivate","toggleableTarget","activate","isDefaultPrevented","clearTimeout","toggleableDeactivating","toggleableActivating","activated","toggleableDeactivate","deactivate","deactivated","toggleableToggle","toggleableFocusOpener","toggleableFocused","activeElement","toggleableActivateOnEvent","toggleableDeactivateOnEvent","toggleableToggleOnEvent","toggleableCreate","interruption","toggleableDestroy","toggleableFind","for","auto","autoDuration","toggleAutoState","toggleOnEvent","listened","pushed","reset","file","simulator","changed","splitor","placeholder","files","insertSimulator","updateSimulatorValue","f","updateValue","oldFile","selectedFile","tryReset","select","defaultMarked","tryEmpty","markSelected","markDefault","toggleSimulator","selectedVal","tabableActiveIndex","tabable","activeIndex","tabableTargets","tabableWrapable","wrapAttr","wrapable","tabableActivate","tabableSlide","tabableNext","tabablePrev","tabableLayout","activeCls","isActive","nextCls","prevCls","tabableSetIndicatorsState","tabableSetDirectionCtrlsState","activateEvt","activatedIndex","deactivateEvt","directionCls","oppsiteCls","tabableActivating","tabableDeactivateIndex","tabableDeactivating","tabableTransitioning","tabableIndicators","indicatorActive","maxIndex","minIndex","nextCtrl","nextDis","prevCtrl","prevDis","tabablePrevCtrl","tabableNextCtrl","tabableActivateOnEvent","tabablePrevOnEvent","tabableNextOnEvent","tabableDestroy","deactivateIndex","tabableCreate","deactive","tabableFind","targets","indicators","tabableWatch","tabableSetDirectionControlState","tabableListen","listeners","interval","alias","pause","intervaling","nextInterval","playAt","pauseIndex","play","togglePath","pauseOnEvt","playOnEvt","playOnTouchend","standalone","items","parentRoot","escDeactivate","prevItem","nextItem","menu","parentMenu","exceptions","isExcepted","isStandalone","labels","initSimulator","input","checked","triggerClick"],"mappings":"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","sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","export default (a, b, compareOrder) ->\n return false unless a and b\n return true if a is b\n return false unless a.length is b.length\n return true if a.length is 0\n if compareOrder\n a.every (it, index) -> it is b[index]\n else\n not a.some (it) -> not b.includes(it)","guid = 0\n\n\n\nexport default -> guid += 1","import Type from './type.coffee'\n\n\n\nexport default (arr, prop, deep, filter) ->\n plucked = []\n arr = [arr] unless Type.isArray arr\n arr.forEach (item) ->\n val = item[prop]\n while val?\n if filter\n if filter val\n plucked.push val\n break unless deep\n else\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport arrayEqual from './array-equal.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n arrayEqual: arrayEqual\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from './matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n if comparator\n plucked = pluck @els, 'parentElement', false, (p) ->\n collect([p], comparator).length\n else\n plucked = pluck @els, 'parentNode'\n luda unique(plucked)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from './matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) -> els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return unless Type.isElement el\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n path = [event.target]\n path = path.concat(pluck path, 'parentNode', true)\n path.push window if document.contains event.target\n path","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import arrayEqual from '../../base/array-equal.coffee'\nimport expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunNodeCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.node.forEach (node) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll node.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and node.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n return unless name and Type.isElement target\n return if not nestable and not unnested(ins, [target]).length\n watches.attr.forEach (attr) ->\n return unless attr.name.includes name\n return unless matches target, attr.selector\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runNodeCallbacks 'added', mutation, C.watches, nestable\n runNodeCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n arrayEqual Array.from(nodesOne), Array.from(nodesTwo), true\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n node: (conf.node or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: splitValues a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.node ||= []\n watches.node.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {node: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n occupied = name and name of luda\n luda.extend name, createProxy Component if name\n not occupied and luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) ->\n n of el.dataset and delete el.dataset[n]\n else\n @els.forEach (el) ->\n for n, val of el.dataset\n n of el.dataset and delete el.dataset[n]\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n hasSelected = false\n options = Array.from el.options\n options.forEach (o) ->\n selected = val.includes readValue(o.value)\n o.selected = selected\n hasSelected ||= selected\n el.selectedIndex = -1 unless hasSelected\n options.forEach (o) ->\n luda(o).attr 'selected', if o.selected then '' else null\n else\n val = if value is null then '' else parseValue value\n el.value = val\n luda(el).attr 'value', val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) ->\n plucked = pluck(@els, 'nextElementSibling', true)\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator) ->\n if comparator\n filter = (n) -> collect([n], comparator).length\n luda unique(pluck @els, 'nextElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) ->\n plucked = pluck @els, 'previousElementSibling', true\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator) ->\n if comparator\n filter = (p) -> collect([p], comparator).length\n luda unique(pluck @els, 'previousElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableTargetProp: -> @attr?.disable or 'disabled'\n\n disableCreate: ->\n tabIndex = @root.prop 'tabIndex'\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n @root.prop('tabIndex', -1).prop @disableTargetProp(), true\n\n disableDestroy: ->\n tabIndex = @root.data @data.disable.tabIndex\n @root.prop('tabIndex', tabIndex).prop @disableTargetProp(), false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n.protect\n\n disabled: -> @html.data('enter') is false\n\n.protect\n\n trigger: (e) ->\n return if @disabled()\n return unless luda(e.target).is @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n.protect\n\n disabled: -> @html.data('focus') is false\n\n.protect\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).is @selector.always.join(',')\n target = node\n else if luda(node).is @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).is(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n.protect\n\n disabled: -> @html.data('tabulate') is false\n\n.protect\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @disabled()\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n evt:\n changed: 'luda:fmFile:changed'\n\n splitor: ' '\n\n.protect\n\n placeholder: -> @file.attr 'placeholder'\n\n value: -> @file.attr 'value'\n\n multiple: -> @file.prop 'multiple'\n\n.protect\n\n files: -> Array.from @file.prop('files')\n\n insertSimulator: ->\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@file)\n\n updateSimulatorValue: ->\n values = @files().map (f) -> f.name\n value = values.join(@splitor) or @value() or ''\n @simulator.val value\n\n updateValue: ->\n @updateSimulatorValue()\n oldFile = @selectedFile\n @selectedFile = @files()\n return if not oldFile or luda.arrayEqual(@selectedFile, oldFile)\n val = if @multiple() then @selectedFile else @selectedFile[0]\n @file.trigger @evt.changed, val\n\n tryReset: (target, oldVal) ->\n return unless @value() is ''\n return if oldVal is ''\n @file.prop('value', '').attr('value', oldVal or '')\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n evt:\n changed: 'luda:fmSelect:changed'\n\n.protect\n\n placeholder: -> @select.attr 'placeholder'\n\n multiple: -> @select.prop 'multiple'\n\n options: -> Array.from @select.prop('options')\n\n.protect\n\n tryEmpty: ->\n selected = @options().some (o) -> luda(o).hasAttr 'selected'\n not selected and @select.prop('selectedIndex', -1)\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n @options().forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n toggleSimulator: ->\n return @simulator.remove() if @multiple()\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@select)\n\n updateSimulatorValue: ->\n return if @multiple()\n selected = @options()[@select.prop('selectedIndex')]\n val = if selected then luda(selected).text() else ''\n @simulator.val val\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n val = @select.val()\n @selectedVal = if luda.isArray(val) then val else [val]\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n if @multiple()\n selected = @options().filter (o) -> o.selected\n else\n selected = @options()[@select.prop('selectedIndex')]\n @select.trigger @evt.changed, {value: val, selected: selected}\n\n reset: ->\n @select.prop 'selectedIndex', -1\n @options().forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @toggleSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @tryEmpty, @updateValue]\n ['multiple', @selector.select, @toggleSimulator, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n node: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n togglePath: (path, action) ->\n targets = path.filter (el) => @con.contains el\n @con.create(targets).forEach (ins) -> ins[action]()\n\n pauseOnEvt: (e) -> @togglePath e.eventPath(), 'pause'\n\n playOnEvt: (e) -> @togglePath e.eventPath(), 'play'\n\n playOnTouchend: (e) ->\n path = e.eventPath()\n setTimeout => @togglePath path, 'play'\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pauseOnEvt]\n ['mouseout', @playOnEvt]\n ['touchend', @playOnTouchend]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n create: -> @toggleableCreate()\n\n destroy: -> @toggleableDestroy()\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n evt:\n changed: 'luda:fmDropdown:changed'\n\n splitor: ' '\n\n.protect\n\n initSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateSimulatorValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = @labels.eq index\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.val values.join(@splitor)\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n checked = @options.els.filter (input) -> input.checked\n @selectedVal = checked.map (input) -> luda(input).val()\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n @root.trigger @evt.changed, {value: @selectedVal, selected: checked}\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @initSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ['type', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"]}
@@ -22,7 +22,8 @@
22
22
  es6Class: 'class X {}',
23
23
  es6ArrowFunction: '((x) => x)()',
24
24
  mutationObserver: 'new MutationObserver(function(){})',
25
- proxy: 'new Proxy({},{})'
25
+ proxy: 'new Proxy({},{})',
26
+ performance: 'performance.clearMarks()'
26
27
  },
27
28
  _NOTIFY_MILLSECONDS: 500,
28
29
  check: function() {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.3.1 | https://oatw.github.io/luda
2
+ * Luda 0.3.2 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -2191,7 +2191,7 @@
2191
2191
  });
2192
2192
  this.els.forEach(function(el) {
2193
2193
  return names.forEach(function(n) {
2194
- return delete el.dataset[n];
2194
+ return n in el.dataset && delete el.dataset[n];
2195
2195
  });
2196
2196
  });
2197
2197
  } else {
@@ -2201,7 +2201,7 @@
2201
2201
  results = [];
2202
2202
  for (n in ref) {
2203
2203
  val = ref[n];
2204
- results.push(delete el.dataset[n]);
2204
+ results.push(n in el.dataset && delete el.dataset[n]);
2205
2205
  }
2206
2206
  return results;
2207
2207
  });
@@ -1,7 +1,7 @@
1
1
  // sass-lint:disable no-empty-rulesets
2
2
  +install(banner)
3
3
  /*!
4
- * Luda 0.3.1 | Theme default | https://oatw.github.io/luda
4
+ * Luda 0.3.2 | Theme default | https://oatw.github.io/luda
5
5
  * Copyright 2019 Oatw | https://oatw.blog
6
6
  * MIT license | http://opensource.org/licenses/MIT
7
7
  */
@@ -41,6 +41,10 @@
41
41
  .fm select::-ms-expand
42
42
  display: none
43
43
 
44
+ // remove ie clear button
45
+ .fm ::-ms-clear
46
+ display: none
47
+
44
48
  //remove search input cancel button
45
49
  .fm ::-webkit-search-cancel-button
46
50
  -webkit-appearance: none
@@ -1,3 +1,3 @@
1
1
  module Luda
2
- VERSION = '0.3.1'
2
+ VERSION = '0.3.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - oatw
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-06 00:00:00.000000000 Z
11
+ date: 2019-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
@@ -236,5 +236,5 @@ requirements: []
236
236
  rubygems_version: 3.0.3
237
237
  signing_key:
238
238
  specification_version: 4
239
- summary: A lightweight and responsive UI framework for modern web development.
239
+ summary: A library helps to build cross-framework UI components.
240
240
  test_files: []