-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.min.js
26 lines (26 loc) · 20.1 KB
/
index.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*!
*
* The MIT License (MIT)
*
* Copyright © 2025 Taufik Nurrohman <https://github.com/taufik-nurrohman>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the “Software”), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*/
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).OptionPicker=n()}(this,(function(){"use strict";var t=function(t,n){return-1!==n.indexOf(t)},n=function(t){return Array.isArray(t)},e=function(t){return u(t)&&0!=t%1},r=function(t){return"function"==typeof t},i=function(t,n,e){return!(!t||"object"!=typeof t)&&(e?a(n)&&a(t.constructor)&&n===t.constructor:a(n)&&t instanceof n)},o=function(t){return u(t)&&0==t%1},u=function(t){return"number"==typeof t},s=function(t,n){return void 0===n&&(n=!0),!(!t||"object"!=typeof t)&&(!n||i(t,Object,1))},a=function(t){return function(t){return void 0!==t}(t)&&!function(t){return null===t}(t)},f=function(t){return"string"==typeof t},l=function(t){return t.replace(/[-_.](\w)/g,(function(t,n){return v(n)}))},c=function(t){return t.toLowerCase()},v=function(t){return t.toUpperCase()},d=function(t){return t.length},p=function(t){if(n(t))return t.map((function(t){return p(t)}));if(function(t){return/^-?(?:\d*.)?\d+$/.test(t+"")}(t))return function(t,n){return void 0===n&&(n=10),n?parseInt(t,n):parseFloat(t)}(t);if(s(t)){for(var e in t)t[e]=p(t[e]);return t}return"false"!==t&&("null"===t?null:"true"===t||t)},h=function(){for(var e=arguments.length,r=Array(e),i=0;i<e;i++)r[i]=arguments[i];for(var o=r.shift(),u=0,f=d(r);u<f;++u)for(var l in r[u])if(a(o[l]))if(n(o[l])&&n(r[u][l])){o[l]=[].concat(o[l]);for(var c=0,v=d(r[u][l]);c<v;++c)t(r[u][l][c],o[l])||o[l].push(r[u][l][c])}else s(o[l])&&s(r[u][l])?o[l]=h({},o[l],r[u][l]):o[l]=r[u][l];else o[l]=r[u][l];return o},_=function(t){if(n(t))return t.map((function(n){return _(t)}));if(s(t)){for(var e in t)t[e]=_(t[e]);return t}return!1===t?"false":null===t?"null":!0===t?"true":""+t},m=document,g=window,b=m.body,k=m.documentElement,x=function(t){return t.firstElementChild||null},y=function(t){return t.lastElementChild||null},w=function(t,n){var e=[].slice.call(t.children);return u(n)?e[n]||null:e},z=function(t,n,e){void 0===e&&(e=!0);var r=function(t,n,e){if(void 0===e&&(e=!0),!S(t,n))return null;var r=t.getAttribute(n);return e?p(r):r}(t,"data-"+n,e),i=(r+"").trim();return e&&i&&("["===i[0]&&"]"===i.slice(-1)||"{"===i[0]&&"}"===i.slice(-1))&&null!==(i=function(t){var n=null;try{n=JSON.parse(t)}catch(t){}return n}(r))?i:r},E=function(t,n){void 0===n&&(n=!0);var e="innerHTML";if(!N(t,e))return!1;var r=t[e];return""!==(r=n?r.trim():r)?r:null},L=function(t){return c(t&&t.nodeName||"")||null},T=function(t,n){return t["next"+(n?"":"Element")+"Sibling"]||null},O=function(t,n){return n?t.closest(n)||null:t.parentNode||null},A=function(t){var n="form";return N(t,n)&&n===L(t[n])?t[n]:O(t,n)},C=function(t,n){return t["previous"+(n?"":"Element")+"Sibling"]||null},P=function(t,n,e){var r=g.getComputedStyle(t).getPropertyValue(n);return r||""===r||0===r?r:null},M=function(t,n){void 0===n&&(n=!0);var e="textContent";if(!N(t,e))return!1;var r=t[e];return""!==(r=n?r.trim():r)?r:null},S=function(t,n){return t.hasAttribute(n)},j=function(t,n){return t.classList.contains(n)},N=function(t,n){return n in t},R=function(t,n){return t.removeAttribute(n),t},D=function(t,n){return t.classList.remove(n),t},H=function(t){var n=O(t);return t.remove(),n},I=function(t,n){return t.style[l(n)]=null,t},K=function(t,n,e){return!0===e&&(e=n),t.setAttribute(n,_(e)),t},B=function(t,n){return t.append(n),n},U=function(t,n){return t.classList.add(n),t},Y=function(t,e,r){return(n(r)||s(r))&&(r=JSON.stringify(r)),K(t,"data-"+e,r)},J=function(t,n,e){return t=f(t)?m.createElement(t):t,s(n)&&(e=n,n=!1),f(n)&&V(t,n),s(e)&&function(t,n){var e;for(var r in n)(e=n[r])||""===e||0===e?K(t,r,e):R(t,r)}(t,e),t},V=function(t,n,e){if(void 0===e&&(e=!0),null===n)return t;var r="innerHTML";return N(t,r)&&(t[r]=e?n.trim():n),t},W=function(t,n,e){return u(e)&&(e+="px"),t.style[l(n)]=_(e),t},F=function(t,n){var e;for(var r in n)(e=n[r])||""===e||0===e?W(t,r,e):I(t,r);return t},X=function(t,n,e){if(void 0===e&&(e=!0),null===n)return t;var r="textContent";return N(t,r)&&(t[r]=e?n.trim():n),t},$=function(t,n){var e;return function(){var r=arguments,i=this;e&&clearTimeout(e),e=setTimeout((function(){return t.apply(i,r)}),n)}},q=function(t,n){return function(){var e=arguments,r=this;setTimeout((function(){return t.apply(r,e)}),n)}},G=function(t){var n,e,r,i,o,u,s;return!function(t){return t===g}(t)?(i=(e=t.getBoundingClientRect()).left,o=e.top,r=e.width,n=e.height,u=e.right,s=e.bottom):(i=t.pageXOffset||k.scrollLeft||b.scrollLeft,o=t.pageYOffset||k.scrollTop||b.scrollTop,r=t.innerWidth,n=t.innerHeight),[i,o,r,n,u,s]},Q=function(t){return[t.scrollLeft,t.scrollTop]};var Z=function(t,n,e){n.removeEventListener(t,e)},tt=function(t){return t&&t.preventDefault()},nt=function(t){return t&&t.stopPropagation()},et=function(t,n,e,r){void 0===r&&(r=!1),n.addEventListener(t,e,r)},rt="ArrowDown",it="ArrowUp",ot="Backspace",ut="Delete",st="Enter",at="Escape",ft="PageDown",lt="PageUp",ct="Tab",vt=$((function(t){return t.fit()}),10),dt=new WeakMap;function pt(t,n){var r,i,u,s,a,l,c=this,v=c.self,p=c.state.n;p+="__option",r="input"===L(v)?(i=v.list)?w(i):[]:w(i=v);for(var h=0,m=d(r);h<m;++h){if("optgroup"===L(r[h]))for(var g=w(r[h]),b=0,k=d(g);b<k;++b)g[b]&&H(g[b]);r[h]&&H(r[h])}c._options=new Map,V(t,""),bt(n,(function(n,r){(e(n)||o(n)||f(n))&&(n=[n,{}]),"&"in n[1]?a&&kt(a)===n[1]["&"]||(B(t,a=J("span",{class:p+"-group","data-value":n[1]["&"]})),B(i,l=J("optgroup",{label:n[1]["&"]}))):a=l=!1;var d=n[1],h=d.disabled,m=d.selected,g=d.value;Et(v)&&(h=!0),u=J("span",_(n[0]),{class:p+(h?" "+p+"--disabled":"")+(m?" "+p+"--selected":""),"data-group":"&"in n[1]&&n[1]["&"],"data-value":_(g||r),tabindex:!h&&-1}),s=n[2]||J("option",_(n[0]),{disabled:!!h&&"",selected:!!m&&"",value:_(g||r)}),u._={},u._[0]=s,h||(et("blur",u,Nt),et("focus",u,It),et("keydown",u,Wt),et("mousedown",u,qt),et("touchend",u,tn),et("touchstart",u,qt)),B(a||t,u),B(l||i,s),Ot(u,c),At(_(r),u,c._options)})),c.state.options=n}function ht(t,e,r){var o=i(e,Map)?e:new Map;if(n(e))gt(e,(function(t){var e,r,i;n(t)?(t[0]=null!=(e=t[0])?e:"",t[1]=null!=(r=t[1])?r:{},At(_(null!=(i=t[1].value)?i:t[0]),t,o)):At(_(t),[t,{}],o)}));else if(s(e,0))for(var u in e){var a,f,l;if(n(e[u]))e[u][0]=null!=(a=e[u][0])?a:"",e[u][1]=null!=(f=e[u][1])?f:{},At(_(null!=(l=e[u][1].value)?l:u),e[u],o);else At(_(u),[e[u],{}],o)}pt.call(t,r,o)}function _t(t,n,e){Object.defineProperty(t,n,e)}function mt(t){t.focus()}function gt(t,n){t.forEach(n)}function bt(t,n){gt(t,n)}function kt(t){return z(t,"value",!1)}function xt(t){var n,e,r,i=new Map,o=[],u=wt(t);e="input"===L(t)?(r=t.list)?w(r):[]:w(r=t);for(var s=function(t){var n=e[t],r=function(t,n){void 0===n&&(n=!0);for(var e,r=t.attributes,i={},o=0,u=r.length;o<u;++o)e=r[o].value,i[r[o].name]=n?p(e):e;return i}(n);if(gt(["disabled","selected"],(function(n){n in r?(r[n]=""===r[n]||r[n],"selected"===n&&o.push(t)):r[n]=null})),"optgroup"===L(n))return bt(xt(n),(function(t,e){t[1]["&"]=n.label,At(_(e),t,i)})),1;At(_(n.value),[M(n)||n.value,r,n],i)},a=0,f=d(e);a<f;++a)s(a);return 0===d(o)&&(n=zt(u=_(u),i))&&(n[1].selected=!0,At(u,n,i)),i}function yt(t){return zt(t,dt)||null}function wt(t){return(t.value||"").replace(/\r/g,"")}function zt(t,n){return n.get(t)}function Et(t){return t.disabled}function Lt(t){return t.readOnly}function Tt(t){return function(t,n){return n.delete(t)}(t,dt)}function Ot(t,n){return At(t,n,dt)}function At(t,n,e){return e.set(t,n)}function Ct(t){var n=[];return bt(t,(function(t){return n.push(t)})),n}function Pt(t,n){var e=this;return t?i(e,Pt)?(Ot(t,function(t,n){return(n=n||t).fire=function(t,n,e){var r=this,i=r.hooks;return a(i[t])?(i[t].forEach((function(t){return t.apply(e||r,n)})),r):r},n.off=function(t,n){var e=this,r=e.hooks;if(!a(t))return r={},e;if(a(r[t]))if(a(n)){var i=r[t].length;if(0===i)delete r[t];else for(var o=0;o<i;++o)if(n===r[t][o]){r[t].splice(o,1);break}}else delete r[t];return e},n.on=function(t,n){var e=this.hooks;return a(e[t])||(e[t]=[]),a(n)&&e[t].push(n),this},t.hooks={},t}(e,Pt._)),e.attach(t,h({},Pt.state,n||{}))):new Pt(t,n):e}Pt.from=function(t,n){return new Pt(t,n)},Pt.of=yt,Pt.state={n:"option-picker",options:null,size:null,strict:!1,with:[]},Pt.version="2.0.0",_t(Pt,"name",{value:"OptionPicker"});var Mt=Pt._=Pt.prototype;_t(Mt,"options",{get:function(){return this._options},set:function(t){var n=this,r=n._mask,i=n.state.n;i+="__option",(e(t)||o(t)||f(t))&&(t=[t]),ht(n,t,r.options);var u=Ct(n._options).find((function(t){return!t.hidden&&!j(t,i+"--disabled")}));u&&(n.value=kt(u))}}),_t(Mt,"size",{get:function(){var t=this.state.size||1;return o(t)?t<1?1:t:1},set:function(t){var n=this,e=n._mask,r=n._options,i=n.mask,u=n.state,s=e.options;u.n;var a=o(t)?t<1?1:t:1;if(n.state.size=a,1===a)R(i,"data-"+"size"),I(s,"max-height"),Tt(k);else{var f=Ct(r).find((function(t){return!t.hidden}));if(f){var l,c,v=P(s,"gap"),d=P(s,"padding-bottom"),p=null!=(l=null!=(c=P(f,"height"))?c:P(f,"min-height"))?l:P(f,"line-height");Y(i,"size",a),W(s,"max-height","calc(("+p+" + max("+v+","+d+"))*"+a+")"),Ot(k,n)}}}}),_t(Mt,"text",{get:function(){var t=this._mask,n=t.input;return t.text?M(n):null},set:function(t){var n=this._mask,e=this.self,r=n.hint,i=n.input;n.text&&(X(i,_(t)),M(i,!1)?X(r,""):X(r,e.placeholder+""))}}),_t(Mt,"value",{get:function(){var t=wt(this.self);return""===t?null:t},set:function(t){var n,e=this._options;(n=zt(_(t),e))&&fn(n,this)}}),_t(Mt,"values",{get:function(){},set:function(t){}});var St=$((function(n,e,o,u){var s=f(e)?e:M(e)||"",a=c(s),l=n._event,v=n._mask,p=n.mask,h=n.self,_=n.state,m=v.options,g=v.value,b=_.n,k=_.strict,x=z(p,"size");if(b+="__option",u){var y,w=wt(h);bt(o,(function(t){R(t._[0],"selected"),D(t,b+"--selected")}));try{bt(o,(function(t){var e=c(M(t)+"\t"+(y=kt(t)));if(""!==a&&a===e.slice(0,d(a))&&!j(t,b+"--disabled"))throw h.value=y,K(t._[0],"selected",""),U(t,b+"--selected"),Y(g,"value",y),V(g,E(t)),y!==w&&n.fire("change",[l,y]),x&&t.scrollIntoView({block:"nearest"}),""}))}catch(t){}}else{var L=o.size;bt(o,(function(n){var e=c(M(n)+"\t"+kt(n));""!==a&&!t(a,e)||j(n,b+"--disabled")?(n.hidden=!0,--L):n.hidden=!1})),m.hidden=!L,k||(h.value=s)}n.fire("search",[l,s]);var T=_.options;r(T)&&(T=T.call(n,s),i(T,Promise)?T.then((function(t){ht(n,t,m),n.fire("load",[l,t,s])})):ht(n,T,m))}),50);function jt(t){var n=this,e=yt(n),r=e.state.n;e._event=t,D(n,r+="--focus"),D(n,r+="-self")}function Nt(t){var n=this,e=yt(n);e.mask;var r=e.state.n;e._event=t,D(n,r+="--focus"),D(n,r+="-option")}function Rt(t){var n=this,e=yt(n),r=e._mask,i=e._options,o=e.mask,u=e.self,s=e.state,a=r.options,f=r.text,l=s.n,c=s.strict;if(e._event=t,D(o,l+"--focus-text"),D(f,l+"__text--focus"),c){var v=Ct(i).find((function(t){return M(t,!1)===M(n,!1)}))||Ct(i).find((function(t){return!t.hidden&&!j(t,l+"__option--disabled")}));v&&!a.hidden?fn(v,e):(bt(i,(function(t){R(t._[0],"selected"),D(t,l+"__option--selected"),t.hidden=!1})),a.hidden=!1,e.text=u.value="")}}function Dt(t){var n=this,e=yt(n),r=e._mask,i=e.self,o=r.hint;e._event=t,q((function(){return X(o,M(n,!1)?"":i.placeholder)}),1)()}function Ht(t){var n=this,e=yt(n),r=e.state.n;e._event=t,U(n,r+="--focus"),U(n,r+="-self")}function It(t){var n=yt(this),e=n.mask,r=n.state.n;sn(),n._event=t,U(e,r+="--focus"),U(e,r+="-option")}function Kt(t){var n=yt(this);n._event=t,n.focus()}function Bt(t){var n=yt(this),e=n._mask,r=n.mask;n.self;var i=n.state,o=e.input,u=e.text,s=i.n;n._event=t,U(u,s+"__text--focus"),U(r,s+="--focus"),U(r,s+="-text"),M(o,!1)?an(this):n.enter().fit()}function Ut(t){var n,e=this,r=t.key,i=yt(e),o=i._mask,u=i._options,s=i.mask,a=i.self,f=i.state,l=o.hint,c=f.n;if(i._event=t,q((function(){return X(l,M(e,!1)?"":a.placeholder)}),1)(),ot!==r&&ut!==r&&1!==d(r)||q((function(){return i.enter().fit()}),51)(),rt===r||it===r||st===r){var v=zt(wt(a),u);if(!v||v.hidden)for(v=Ct(u).shift();v&&(j(v,c+"__option--disabled")||v.hidden);)v=T(v);st!==r||j(s,c+"--open")||(console.log({currentOption:v}),bt(u,(function(t){return t.hidden=!1}))),v&&!j(s,c+"--open")&&i.enter(),v&&mt(v),n=!0}else ct===r?i.exit():St(i,e,u);n&&(tt(t),nt(t))}var Yt="",Jt=$((function(){return Yt=""}),500);function Vt(t){var n,e=t.key,r=t.altKey,i=t.ctrlKey,o=yt(this),u=o._options,s=o.self;if(Jt(),Et(s)||Lt(s))return tt(t);o._event=t,ot===e||ut===e?Yt="":at===e?(Yt="",o.exit(n=!0)):ct===e?(Yt="",o.exit(!(n=!1))):rt===e||it===e||st===e||ft===e||lt===e||""===Yt&&" "===e?o.enter(n=!0).fit():1!==d(e)||r||i||(Yt+=e),""!==Yt&&St(o,Yt,u,n=!0),n&&tt(t)}function Wt(t){var n,e=this,r=t.key,i=t.altKey,o=t.ctrlKey,u=yt(e),s=u._mask,a=u._options;u.mask;var f=u.self,l=u.state,c=s.hint,v=s.input,p=s.value,h=l.n;h+="__option";var _,m,g,b,k,w="input"===L(f);if(u._event=t,ot===r)u.exit(n=!0);else if(st===r||at===r||ct===r||" "===r){if(at!==r){var z,A=wt(f);(k=zt(A,a))&&(R(k._[0],"selected"),D(k,h+"--selected")),K(e._[0],"selected",""),U(e,h+"--selected"),f.value=z=kt(e),w?(X(c,""),X(v,M(e))):(Y(p,"value",z),V(p,E(e))),z!==A&&u.fire("change",[t,z])}u.exit(n=ct!==r)}else if(rt===r||ft===r){for(n=!0,g=ft===r&&j(b=O(e),h+"-group")?T(b):T(e);g&&(j(g,h+"--disabled")||g.hidden);)g=T(g);for(g?j(g,h+"-group")&&(g=x(g)):((b=O(e))&&j(b,h+"-group")&&(g=T(b)),g&&j(g,h+"-group")&&(g=x(g)));g&&(j(g,h+"--disabled")||g.hidden);)g=T(g);g?mt(g):(_=Ct(a).find((function(t){return!t.hidden&&!j(t,h+"--disabled")})))&&mt(_)}else if(it===r||lt===r){for(n=!0,k=lt===r&&j(b=O(e),h+"-group")?C(b):C(e);k&&(j(k,h+"--disabled")||k.hidden);)k=C(k);for(k?j(k,h+"-group")&&(k=y(k)):((b=O(e))&&j(b,h+"-group")&&(k=C(b)),k&&j(k,h+"-group")&&(k=y(k)));k&&(j(k,h+"--disabled")||k.hidden);)k=C(k);k?mt(k):(m=Ct(a).findLast((function(t){return!t.hidden&&!j(t,h+"--disabled")})))&&mt(m)}else"Home"===r?(n=!0,(_=Ct(a).find((function(t){return!t.hidden&&!j(t,h+"--disabled")})))&&mt(_)):"End"===r?(n=!0,(m=Ct(a).findLast((function(t){return!t.hidden&&!j(t,h+"--disabled")})))&&mt(m)):(w&&1===d(r)&&!i&&!o&&X(c,""),u.exit(!(n=!1)));n&&(tt(t),nt(t))}function Ft(t){var n=this,e=yt(n),r=e._mask,i=e.self,o=r.hint;e._event=t,q((function(){return X(n,M(n))}))(),q((function(){return X(o,M(n,!1)?"":i.placeholder)}),1)()}function Xt(t){var n=this,e=yt(n),r=e.self,i=e.state.n,o=t.target;tt(t),Et(r)||Lt(r)||z(n,"size")||(e._event=t,j(o,i+"__options")||O(o,"."+i+"__options")||e[j(n,i+"--open")?"exit":"enter"](!0).fit())}var $t=0;function qt(t){var n=this,e=yt(n),r=e._mask,i=e.mask,o=r.options;e._event=t,"mousedown"===t.type?(fn(n,e),z(i,"size")||e.exit(!0)):(mt(n),$t=Q(o)[1]),tt(t)}var Gt=!1;function Qt(t){"touchstart"===t.type&&(Gt=t.touches[0].clientY);var n=yt(this);if(n){var e=n.mask,r=n.state.n,i=t.target;n._event=t,e!==i&&e!==O(i,"."+r)&&(z(e,"size")?n.blur():(Tt(this),n.exit()))}}function Zt(t){if(!1!==Gt){var n,e,r=yt(this);if(r._event=t,"touchmove"===t.type&&r){var i=r._mask.options,o=t.touches[0].clientY;if(i){var u=Q(i);u[1]-=o-Gt,e=u,(n=i).scrollLeft=e[0],n.scrollTop=e[1],Gt=o}}}}function tn(t){var n=yt(this),e=n._mask.options;n._event=t,Q(e)[1]===$t&&(fn(this,n),n.exit(!0))}function nn(){Gt=!1}function en(t){var n=yt(this);n._event=t,n.let().fire("reset",[t])}function rn(t){var n=yt(this);n&&(vt(n),n._event=t)}function on(t){rn.call(this,t)}function un(t){var n=yt(this);return n._event=t,n.fire("submit",[t])}function sn(t){var n=m.getSelection();n.rangeCount&&n.removeRange(n.getRangeAt(0))}function an(t,n){var e=m.getSelection();sn();var r=m.createRange();r.selectNodeContents(t),e.addRange(r),1===n?e.collapseToEnd():-1===n&&e.collapseToStart()}function fn(t,n){var e=n._event,r=n._mask,i=n._options,o=n.self,u=n.state,s=r.hint,a=r.input;r.options;var f=r.value,l=u.n;l+="__option--selected";var c,v=wt(o);bt(i,(function(n){t!==n&&(R(n._[0],"selected"),D(n,l))})),K(t._[0],"selected",""),U(t,l),o.value=c=kt(t),"input"===L(o)?(X(s,""),X(a,M(t))):(Y(f,"value",c),V(f,E(t))),c!==v&&n.fire("change",[e,c])}return Mt.attach=function(t,e){var o,u=this;t=t||u.self,e=e||u.state,u._active=!Et(t)&&!Lt(t),u._event=null,u._options=new Map,u._value=wt(t)||null,u.self=t,u.state=e;var l="input"===L(t),c=e.n,v=J("span",{class:c+"__arrow"}),p=A(t),h=J("div",{class:c,tabindex:!Et(t)&&!l&&0});u.mask=h;var _=J("div",{class:c+"__options"}),m=e.options;r(m)?(m=m.call(u,null),i(m,Promise)?m.then((function(t){ht(u,t,_),u.fire("load",[u._event,t,null])})):ht(u,m,_)):ht(u,m||xt(t),_);var b,x,y=J("div",{class:c+"__values"}),w=J("span",{class:c+"__"+(l?"text":"value")}),z=J("span",{autocapitalize:"off",contenteditable:!(Et(t)||Lt(t)||!l)&&"",spellcheck:!!l&&"false"}),E=J("span",l?t.placeholder+"":"");B(h,y),B(h,_),B(y,w),B(y,v),l?(et("blur",z,Rt),et("cut",z,Dt),et("focus",z,Bt),et("keydown",z,Ut),et("paste",z,Ft),B(w,z),B(w,E),Ot(z,u)):(et("blur",h,jt),et("focus",h,Ht),et("keydown",h,Vt)),U(t,c+"__self"),x=h,O(b=t).insertBefore(x,T(b,!0)),p&&(et("reset",p,en),et("submit",p,un),Ot(p,u)),et("focus",t,Kt),et("mousedown",k,Qt),et("mousedown",h,Xt),et("mousemove",k,Zt),et("mouseup",k,nn),et("resize",g,rn),et("scroll",g,on),et("touchend",k,nn),et("touchmove",k,Zt,{passive:!1}),et("touchstart",k,Qt),et("touchstart",h,Xt),t.tabIndex=-1,Ot(h,u);var C,P={};if(P.arrow=v,P.hint=l?E:null,P.input=l?z:null,P.of=t,P.options=_,P.self=h,P[l?"text":"value"]=w,u._mask=P,u.size=null!=(o=e.size)?o:l?1:t.size,(C=zt(u._value,u._options)||(l?0:Ct(u._options).find((function(t){return!Et(t._[0])}))))&&(u.value=kt(C)),a(e)&&n(e.with))for(var M=0,S=d(e.with);M<S;++M){var j=e.with[M];f(j)&&(j=Pt[j]),r(j)?j.call(u,t,e):s(j)&&r(j.attach)&&j.attach.call(u,t,e)}return u},Mt.blur=function(){sn();var t=this,n=t._mask,e=t.mask;return(n.input||e).blur(),t.exit()},Mt.detach=function(){var t=this,e=t._mask,i=t.mask,o=t.self,u=t.state,a=e.input,l=A(o);if(t._active=!1,t._value=wt(o)||null,l&&(Z("reset",l,en),Z("submit",l,un)),a&&(Z("blur",a,Rt),Z("blur",i,jt),Z("cut",a,Dt),Z("focus",a,Bt),Z("focus",i,Ht),Z("keydown",a,Ut),Z("keydown",i,Vt),Z("paste",a,Ft)),Z("focus",o,Kt),Z("mousedown",k,Qt),Z("mousedown",i,Xt),Z("mousemove",k,Zt),Z("mouseup",k,nn),Z("resize",g,rn),Z("scroll",g,on),Z("touchend",k,nn),Z("touchmove",k,Zt),Z("touchstart",k,Qt),Z("touchstart",i,Xt),n(u.with))for(var c=0,v=d(u.with);c<v;++c){var p=u.with[c];f(p)&&(p=Pt[p]),s(p)&&r(p.detach)&&p.detach.call(t,o,u)}return o.tabIndex=null,D(o,u.n+"__self"),H(i),t._mask={of:o},t.mask=null,t},Mt.enter=function(t){var n,e=this,r=e._event,i=e._mask,o=e._options,u=e.mask,s=e.self,a=e.state,f=i.input,l=a.n;U(u,l+"--focus"),U(u,l+"--focus-option"),U(u,l+="--open");var c=yt(k);return c&&e!==c&&c.exit(),Ot(k,e),Ot(g,e),e.fire("enter",[r]),t&&(e.fire("focus",[r]),"input"===L(s)?(mt(f),an(f)):(n=zt(wt(s),o))&&mt(n),e.fire("focus.option",[r])),e},Mt.exit=function(t){var n=this,e=n._event,r=n._mask,i=n.mask,o=n.self,u=n.state,s=r.input,a=u.n;return D(i,a+"--focus"),D(i,a+"--focus-option"),D(i,a+="--open"),n.fire("exit",[e]),t&&("input"===L(o)?(mt(s),an(s)):mt(i),n.fire("focus",[e]).fire("focus.self",[e])),n},Mt.fit=function(){var t=this,n=t._mask,e=t.mask,r=n.options;if(z(e,"size"))return t;var i=P(e,"border-bottom-width"),o=P(e,"border-top-width"),u=G(e),s=G(g);return u[1]+u[3]/2>s[3]/2?F(r,{bottom:"100%","max-height":"calc("+u[1]+"px + "+i+")",top:"auto"}):F(r,{bottom:"auto","max-height":"calc("+(s[3]-u[1]-u[3])+"px + "+o+")",top:"100%"}),t},Mt.focus=function(t){var n=this,e=n._mask,r=n.mask,i=e.input;return i?(mt(i),an(i,t),n):(mt(r),n)},Pt}));