UNPKG

@taufik-nurrohman/tag-picker

Version:

Better tags input interaction with JavaScript.

26 lines 23.9 kB
/*! * * 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).TagPicker=n()}(this,(function(){"use strict";function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=Array(n);e<n;e++)r[e]=t[e];return r}function n(n,e,r){if(e&&!Array.isArray(e)&&"number"==typeof e.length){var i=e.length;return t(e,void 0!==r&&r<i?r:i)}return n(e,r)}function e(n,e){return function(t){if(Array.isArray(t))return t}(n)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,u,a,o=[],f=!0,c=!1;try{if(u=(e=e.call(t)).next,0===n){if(Object(e)!==e)return;f=!1}else for(;!(f=(r=u.call(e)).done)&&(o.push(r.value),o.length!==n);f=!0);}catch(t){c=!0,i=t}finally{try{if(!f&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw i}}return o}}(n,e)||function(n,e){if(n){if("string"==typeof n)return t(n,e);var r={}.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var r=function(t){return Array.isArray(t)},i=function(t){return"function"==typeof t},u=function(t,n,e){return!(!t||"object"!=typeof t)&&(e?c(n)&&c(t.constructor)&&n===t.constructor:c(n)&&t instanceof n)},a=function(t){return o(t)&&0==t%1},o=function(t){return"number"==typeof t&&!Number.isNaN(t)},f=function(t,n){return void 0===n&&(n=!0),!(!t||"object"!=typeof t)&&(!n||u(t,Object,1))},c=function(t){return function(t){return void 0!==t}(t)&&!function(t){return null===t}(t)},s=function(t){return"string"==typeof t},l=function(t,n){return-1!==n.indexOf(t)},v=function(){for(var t=arguments.length,n=Array(t),e=0;e<t;e++)n[e]=arguments[e];for(var i=n.shift(),u=0,a=m(n);u<a;++u)for(var o in n[u])if(c(i[o]))if(r(i[o])&&r(n[u][o])){i[o]=[].concat(i[o]);for(var s=0,h=m(n[u][o]);s<h;++s)l(n[u][o][s],i[o])||i[o].push(n[u][o][s])}else f(i[o])&&f(n[u][o])?i[o]=v({},i[o],n[u][o]):i[o]=n[u][o];else i[o]=n[u][o];return i},h=function(t){if(r(t))return t.map((function(n){return h(t)}));if(f(t)){for(var n in t)t[n]=h(t[n]);return t}return!1===t?"false":null===t?"null":!0===t?"true":""+t},d=function(t){return t.replace(/[-_.](\w)/g,(function(t,n){return p(n)}))},p=function(t){return t.toUpperCase()},m=function(t){return t.length},g=function(t){if(r(t))return t.map((function(t){return g(t)}));if(f(t)){for(var n in t)t[n]=g(t[n]);return t}return s(t)&&function(t){return/^[+-]?(?:\d*\.)?\d+$/.test(t+"")}(t)?"0"===t[0]&&-1===t.indexOf(".")?t:function(t,n){return void 0===n&&(n=10),n?parseInt(t,n):parseFloat(t)}(t):"false"!==t&&("null"===t?null:"true"===t||t)};var _=function(t,n){for(var e,r=0,i=m(t);r<i;++r)if(-1!==(e=n.call(t,t[r],r))){if(0===e)break}else t.splice(r,1);return t},y=function(t,r){for(var i=function(t){return t[Symbol.iterator]()}(t),u=i.next();!u.done;){var a=n(e,u.value,2),o=a[0],f=a[1];if(-1===(f=r.call(t,f,o)))S(o,t);else if(0===f)break;u=i.next()}return t},b=function(t,n){var e;for(var r in t)if(-1!==(e=n.call(t,t[r],r))){if(0===e)break}else delete t[r];return t},x=function(t){return t.prototype},k=function(t){return w(t,O)||null},w=function(t,n){return n.get(t)},j=function(t,n){return n.has(t)},S=function(t,n){return n.delete(t)},A=function(t,n,e){return e||(t=x(t)),b(n,(function(n,e){Object.defineProperty(t,e,n)})),t},T=function(t,n,e){return t=x(t),b(n,(function(n,e){t[e]=n})),t},E=function(t,n){return C(t,n,O)},C=function(t,n,e){return e.set(t,n)},N=function(t){return D(t).shift()},R=function(t){return D(t).pop()},D=function(t){var n=[];return y(t,(function(t){n.push(t)})),n},O=new WeakMap;var q=document,K=window,L=function(t,n,e){return void 0===e&&(e=!0),M(t,"aria-"+n,e)},M=function(t,n,e){if(void 0===e&&(e=!0),!Y(t,n))return null;var r=t.getAttribute(n);return e?g(r):r},I=function(t,n){return t["first"+(n?"":"Element")+"Child"]||null},B=function(t,n,e){var r,i=(r=t.childNodes,Array.from(r));return o(n)?i[n]||null:i},H=function(t,n){return(n||q).querySelector(t)},P=function(t,n){if(!t||!U(t))return-1;for(var e=0;t=J(t,n);)++e;return e},z=function(t,n){return void 0===n&&(n="e:"),Z(t)?M(t,"id"):(c(kt[n])||(kt[n]=0),n+(e=Date.now()+(kt[n]+=1),r=16,o(e)?e.toString(r):""+e));var e,r},F=function(t,n){return t["next"+(n?"":"Element")+"Sibling"]||null},U=function(t,n){return n?t.closest(n)||null:t.parentNode||null},$=function(t){var n="form";return tt(t,n)&&n===function(t){return(t&&t.nodeName||"").toLowerCase()||null}(t[n])?t[n]:U(t,n)},J=function(t,n){return t["previous"+(n?"":"Element")+"Sibling"]||null},W=function(t){return M(t,"role")},G=function(t,n){return tt(t,n)&&t[n]||null},Q=function(t,n){void 0===n&&(n=!0);var e="textContent";if(!tt(t,e))return!1;var r=t[e];return""!==(r=n?r.trim():r)?r:null},V=function(t){return t&&t.nodeType||null},X=function(t,n){var e=(t.value||"").replace(/\r?\n|\r/g,"\n");return""!==(e=n?g(e):e)?e:null},Y=function(t,n){return t.hasAttribute(n)},Z=function(t){return Y(t,"id")},tt=function(t,n){return n in t},nt=function(t,n){return et(t,"aria-"+n)},et=function(t,n){return t.removeAttribute(n),t},rt=function(t,n){return t.classList.remove(n),t},it=function(t){var n=U(t);return t.remove(),n},ut=function(t,n){return t.style[d(n)]=null,t},at=function(t,n,e){return ot(t,"aria-"+n,!0===e?"true":e)},ot=function(t,n,e){return!0===e&&(e=n),t.setAttribute(n,h(e)),t},ft=function(t,n){return b(n,(function(n,e){return"aria"===e&&f(n)?(function(t,n){b(n,(function(n,e){n||""===n||0===n?at(t,e,n):nt(t,e)}))}(t,n),1):"class"===e?(lt(t,n),1):"data"===e&&f(n)?(vt(t,n),1):"style"===e&&f(n)?(bt(t,n),1):void(n||""===n||0===n?ot(t,e,n):et(t,e))})),t},ct=function(t,n){return t.append(n),n},st=function(t,n){return t.classList.add(n),t},lt=function(t,n){return r(n)?(_(n,(function(n){return st(t,n)})),t):f(n)?(b(n,(function(n,e){return n?st(t,e):rt(t,e)})),t):(t.className=n,t)},vt=function(t,n){return b(n,(function(n,e){n||""===n||0===n?ht(t,e,n):function(t,n){et(t,"data-"+n)}(t,e)})),t},ht=function(t,n,e){return(r(e)||f(e))&&(e=JSON.stringify(e)),ot(t,"data-"+n,!0===e?"true":e)},dt=function(t,n,e,i){return t=s(t)?q.createElement(t,s(i)?{is:i}:i):t,r(n)&&m(n)?(!function(t){var n="innerHTML";tt(t,n)&&(t[n]="")}(t),_(n,(function(t){return ct(s(t)?pt(t):t)}))):f(n)&&(e=n,n=!1),s(n)&&mt(t,n),f(e)?(ft(t,e),t):t},pt=function(t){return s(t)&&(t=q.createTextNode(t)),t},mt=function(t,n,e){if(void 0===e&&(e=!0),null===n)return t;var r="innerHTML";return tt(t,r)&&(t[r]=e?n.trim():n),t},gt=function(t,n,e){return void 0===e&&(e="e:"),ot(t,"id",c(n)?n:z(t,e))},_t=function(t,n){return t.after(n),n},yt=function(t,n,e){return o(e)&&(e+="px"),t.style[d(n)]=h(e),t},bt=function(t,n){return b(n,(function(n,e){n||""===n||0===n?yt(t,e,n):ut(t,e)})),t},xt=function(t,n){return null===n?et(t,"value"):(t.value=h(n),t)},kt={},wt=function(){return q.getSelection()},jt=function(){return q.createRange()},St=function(t,n){return(n=n||wt()).empty(),n},At=function(t,n,e){var r=0,i=jt();i.setStart(t,0),i.collapse(!0);for(var u,a,o,f=[t];!u&&(o=f.pop());)if(3===V(o)){var c=r+m(o);!a&&n[0]>=r&&n[0]<=c&&(i.setStart(o,n[0]-r),a=!0),a&&n[1]>=r&&n[1]<=c&&(u=!0,i.setEnd(o,n[1]-r)),r=c}else _(B(o,null),(function(t){return f.push(t)}));return Ct(t,i,St(0,e))},Tt=function(t,n,e){e=e||wt(),St(0,e);var r=jt();r.selectNodeContents(t),e=Ct(t,r,e),1===n?e.collapseToEnd():-1===n&&e.collapseToStart()},Et=function(t){return(t=t||wt()).rangeCount&&t.removeRange(t.getRangeAt(0)),t},Ct=function(t,n,e){return e=e||wt(),r(n)?At(t,n,e):(e.addRange(n),e)};var Nt=K.clearTimeout,Rt=K.setTimeout,Dt=function(t,n){var e,r=a(n)&&n>=0;return[function(){var i=this,u=Array.from(arguments);r||(n=u.shift()),e=Rt((function(){return t.apply(i,u)}),n)},function(){e&&Nt(e)}]};var Ot,qt,Kt,Lt=function(t,n,e){n.removeEventListener(t,e)},Mt=function(t){return t&&t.preventDefault()},It=function(t,n,e,r){void 0===r&&(r=!1),n.addEventListener(t,e,r)},Bt=function(t,n){return function(t){return u(t,RegExp)}(t)?t:RegExp(t,c(n)?n:"g")},Ht="down",Pt="blur",zt="copy",Ft="cut",Ut="focus",$t="input",Jt="before"+$t,Wt="invalid",Gt="key"+Ht,Qt="keyup",Vt="mouse"+Ht,Xt="paste",Yt="reset",Zt="submit",tn="touchstart",nn="Arrow",en=nn+"Left",rn=nn+"Right",un="Home",an="Backspace",on="Enter",fn="Tab",cn="contenteditable",sn="disabled",ln="false",vn=Wt,hn="pressed",dn="readonly",pn="required",mn="tabindex",gn="tabIndex",_n="true",yn="value",bn=yn+"s",xn="visibility",kn=n(e,Dt((function(t){nt(t.mask,vn)})),2),wn=kn[0],jn=kn[1],Sn=function(t){var n=t.mask,e=t.state.time.error;a(e)&&e>0&&at(n,vn,!0)},An=n(e,Dt((function(t){var n=t._mask.input;Tn(t,Q(n,0))})),1)[0],Tn=function(t,n){var e=t._mask.hint;n?yt(e,xn,"hidden"):ut(e,xn)},En="TagPicker";function Cn(t,n){var e=u(n,Map)?n:new Map;r(n)?_(n,(function(t){var n,i,u;r(t)?(t[0]=null!=(n=t[0])?n:"",t[1]=null!=(i=t[1])?i:{},C(g(null!=(u=t[1][yn])?u:t[0]),t,e)):C(g(t),[t,{}],e)})):f(n,0)&&b(n,(function(t,i){var u,a,o;r(t)?(n[i][0]=null!=(u=t[0])?u:"",n[i][1]=null!=(a=t[1])?a:{},C(g(null!=(o=t[1][yn])?o:i),t,e)):C(g(i),[t,{}],e)}));var i=t._tags,a=[];return i.let(null,0),y(e,(function(t,n){var e,u;r(t)&&t[1]&&a.push(null!=(u=t[1][yn])?u:n);i.set(g(r(t)&&t[1]&&null!=(e=t[1][yn])?e:n),t,0)})),a}function Nn(t){return t.focus(),t}function Rn(t,n){return X(t,n)}function Dn(t){Mt(t)}function On(t){var n=this,e=t.data,r=t.inputType,i=k(n),u=i._active,a=i._fix;if(!u||a)return Mt(t);var o,f,c,v,h=i._tags,d=i.state.escape;f=s(e)&&1===m(e)?e:0,on===f&&(l("\n",d)||l(13,d))||fn===f&&(l("\t",d)||l(9,d))||0!==f&&l(f,d)?(o=!0,C(g(v=Q(n)),v,h),Nn(i).text=""):"deleteContentBackward"!==r||Q(n,0)||(c=R(h))&&(o=!0,S(Rn(c[2]),h)),o&&Mt(t)}function qn(){var t=k(this)._tags;Ot||qt||y(t,(function(t){return nt(t[2],hn)}))}function Kn(){var t=k(this),n=t.mask,e=t.state.time.error;wn(a(e)&&e>0?e:0,t),It(Vt,n,Vn),It(tn,n,Vn)}function Ln(t){Mt(t);var n=this,e=k(n),r=e._tags,i=e.state.join,u=[];at(n,hn,!0),y(r,(function(t){L(t[2],hn)&&u.push(Rn(t[2]))})),t.clipboardData.setData("text/plain",u.join(i)),Ft!==t.type&&m(u)<2&&nt(n,hn)}function Mn(t){Mt(t);var n=k(this),e=n._tags;Ln.call(this,t),y(e,(function(t){L(t[2],hn)&&S(Rn(t[2]),e)})),Nn(n.fire("change",[n[yn]]))}function In(){An(1,k(this))}function Bn(){Nn(k(this))}function Hn(){Tt(this)}function Pn(){var t=this,n=k(t),e=n.mask,r=n.state.pattern,i=Q(t);i&&s(r)&&!Bt(r).test(i)&&(jn(),Sn(n)),Tt(t),Lt(Vt,e,Vn),Lt(tn,e,Vn)}function zn(t){var n=k(this),e=n._active,r=n._fix;if(!e||r)return Mt(t);var i=n.state.pattern,u=t.inputType,a=Q(this,0);"deleteContent"!==u.slice(0,13)||a?"insertText"===u&&Tn(n,1):Tn(n,0),s(i)&&!Bt(i).test(a)?(jn(),Sn(n)):wn(0,n)}function Fn(t){t&&Mt(t);Kn.call(this),Sn(k(this))}function Un(t){var n=Kt=this,e=t.key,r=Ot=t.ctrlKey,i=qt=t.shiftKey,u=k(n),a=u._active,o=u._fix;if(!a||o)return Mt(t);var f,c,s,l,v,h=u._mask,d=u._tags,p=h.text;i?(f=!0,at(n,hn,!0),en===e?(v=J(n))&&(L(v,hn)?nt(n,hn):at(v,hn,!0),Nn(v)):rn===e?(l=F(n))&&l!==p&&(L(l,hn)?nt(n,hn):at(l,hn,!0),Nn(l)):fn===e&&Et()):r?"a"===e?(f=!0,y(d,(function(t){return at(t[2],hn,!0),Nn(t[2]),Tt(t[2])}))):en===e?(f=!0,(v=J(n))&&Nn(v)):rn===e?(f=!0,(l=F(n))&&l!==p&&Nn(l)):un===e?(f=!0,(c=N(d))&&Nn(c[2])):"End"===e?(f=!0,(s=R(d))&&Nn(s[2])):on===e||" "===e?(f=!0,L(n,hn)?nt(n,hn):at(n,hn,!0)):at(n,hn,!0):en===e?(f=!0,(v=J(n))&&Nn(v)):rn===e?(f=!0,Nn((l=F(n))&&l!==p?l:u)):un===e?(f=!0,(c=N(d))&&Nn(c[2])):"End"===e?(f=!0,(s=R(d))&&Nn(s[2])):an===e?(f=!0,v=J(n),S(Rn(n),d),y(d,(function(t){L(t[2],hn)&&(v=J(t[2]),S(Rn(t[2]),d))})),Nn(v||u),u.fire("change",[u[yn]])):"Delete"===e?(f=!0,l=F(n),S(Rn(n),d),y(d,(function(t){L(t[2],hn)&&(l=F(t[2]),S(Rn(t[2]),d))})),Nn(l&&l!==p?l:u),u.fire("change",[u[yn]])):on===e||" "===e?(f=!0,L(n,hn)?nt(n,hn):at(n,hn,!0)):"Escape"===e||fn===e?(f=!0,Et(),Nn(u)):1===m(e)&&(y(d,(function(t){L(t[2],hn)&&S(Rn(t[2]),d)})),Et(),Nn(u).fire("change",[u[yn]])),f&&Mt(t)}function $n(t){var n=this,e=t.key,r=t.keyCode,u=Ot=t.ctrlKey,a=qt=t.shiftKey,o=k(n),f=o._active,c=o._fix;if(f&&!c){var s,v,h,d,p=o._tags,m=o.self,_=o.state.escape;if(on===e&&(l("\n",_)||l(13,_))||fn===e&&(l("\t",_)||l(9,_))||l(e,_)||l(r,_))return C(g(d=Q(n)),d,p),Nn(o).text="",Mt(t);An(1,o);var b,x,w=""===function(t,n){if(!(n=n||wt()).rangeCount)return null;var e=n.getRangeAt(0).cloneRange();return e.collapse(!0),e.setStart(t,0),(e+"").slice(-1)}(n),j=!Q(n,0);a?on===e?s=!0:fn===e?Et():en===e&&(w||j)&&(s=!0,Et(),(x=R(p))&&Nn(x[2])&&at(x[2],hn,!0)):u?"a"===e&&j&&p.count()?(s=!0,y(p,(function(t){return at(t[2],hn,!0),Nn(t[2]),Tt(t[2])}))):en===e?(s=!0,(x=R(p))&&Nn(x[2])):un===e?(s=!0,(b=N(p))&&Nn(b[2])):on===e&&(s=!0):un===e?(s=!0,(b=N(p))&&Nn(b[2])):on===e?(s=!0,(v=$(m))&&i(v.requestSubmit)&&((h=H("button:not([type]),button[type=submit],input[type=image],input[type=submit]",v))?v.requestSubmit(h):v.requestSubmit())):fn===e?Et():(w||j)&&(en===e?(s=!0,Et(),(x=R(p))&&Nn(x[2])):an===e&&j&&(s=!0,(x=R(p))&&S(Rn(x[2]),p))),s&&Mt(t)}}function Jn(t){Kt=0;var n=t.key,e=k(this)._tags,r=0;y(e,(function(t){L(t[2],hn)&&++r})),Ot=t.ctrlKey,qt=t.shiftKey,r<2&&!Ot&&!qt&&on!==n&&" "!==n&&nt(this,hn)}function Wn(t){Ot=t.ctrlKey,qt=t.shiftKey}function Gn(t){Mt(t);var n=k(this),e=n._tags,r=n.state.join;_(t.clipboardData.getData("text/plain").split(r),(function(t){j(t=g(t.trim()),e)||C(t,t,e)})),y(e,(function(t){return nt(t[2],hn)})),Nn(n.fire("change",[n[yn]]))}function Qn(t){Mt(t);var n,e=this,i=k(e),u=i._tags,a=i.self,o=i.state.join;An(1,i),function(t,n,e,i){var u,a,o;if((i=i||wt()).rangeCount){var f,c,l;if((a=i.getRangeAt(0)).deleteContents(),o=q.createDocumentFragment(),s(n))for(u=dt("div"),mt(u,n);f=I(u,1);)l=ct(o,f);else r(n)?_(n,(function(t){return l=ct(o,t)})):l=ct(o,n);c=I(o,1),a.insertNode(o),l&&((a=a.cloneRange()).setStartAfter(l),a.setStartBefore(c),Ct(t,a,Et(i)))}}(e,n=t.clipboardData.getData("text/plain")),n!==Q(e)||(_((Q(e)+"").split(o),(function(t){j(t=g(t.trim()),u)?(Fn.call(a),i.fire("has.tag",[g(t)])):C(t,t,u)})),y(u,(function(t){return nt(t[2],hn)})),i.fire("change",[i[yn]]).text="")}function Vn(t){Mt(t);var n=k(this),e=t.target;if(!e||"option"!==W(e)){for(;e&&this!==e;)if((e=U(e))&&"option"===W(e))return;Nn(n)}}function Xn(t){Mt(t);var n=this,e=k(n)._tags;if(Nn(n),Tt(n),Ot||y(e,(function(t){return nt(t[2],hn)})),Ot)at(n,hn,!0);else if(qt&&Kt){var r,i,u=P(n),a=P(Kt),o=Kt;if(at(n,hn,!0),at(Kt,hn,!0),u>a)for(;(r=F(o))&&n!==r;)at(o=r,hn,!0);else if(u<a)for(;(i=J(o))&&n!==i;)at(o=i,hn,!0)}}function Yn(t){Mt(t);var n=U(this),e=k(n),r=e._active,i=e._fix;if(!r||i)return Nn(e);var u=e._tags;S(Rn(n),u),Nn(e)}function Zn(){k(this).reset()}function te(t){var n,e=k(this),r=e._tags,i=e.max,u=e.min,a=e.self,o=r.count();o>i?(n=!0,Nn(e.fire("max.tags",[o,i]))):o<u&&(n=!0,Nn(e.fire("min.tags",[o,u]))),n&&(Fn.call(a),Mt(t))}function ne(t,n){var e=this;if(!t)return e;if(!u(e,ne))return new ne(t,n);E(t,function(t,n){return(n=n||t).fire=function(t,n,e){var r=this,i=r.hooks;return c(i[t])?(_(i[t],(function(t){t.apply(e||r,n)})),r):r},n.off=function(t,n){var e=this,r=e.hooks;if(!c(t))return r={},e;if(c(r[t]))if(c(n)){var i=m(r[t]);if(0===i)delete r[t];else for(var u=0;u<i;++u)if(n===r[t][u]){r[t].splice(u,1);break}}else delete r[t];return e},n.on=function(t,n){var e=this.hooks;return c(e[t])||(e[t]=[]),c(n)&&e[t].push(n),this},t.hooks={},t}(e,ne._));var r=v({},ne.state,s(n)?{join:n}:n||{});return f(n)&&n.escape&&(r.escape=n.escape),e.attach(t,r)}function ee(t,n){var e=this;return u(e,ee)?(e.of=t,e[bn]=new Map,n&&Cn(t,n),e):new ee(t,n)}return ne.from=function(t,n){return new ne(t,n)},ne.of=k,ne.state={escape:[","],join:", ",max:1/0,min:0,n:"tag-picker",pattern:null,time:{error:1e3},with:[]},ne.version="4.2.6",A(ne,{name:{value:En}},1),A(ne,{active:{get:function(){return this._active},set:function(t){Et();var n=this,e=n._mask,r=n._tags,i=n.mask,u=n.self,a=e.input,o=!!t;return u[sn]=!(n._active=o),o?(nt(a,sn),nt(i,sn),ot(a,cn,""),y(r,(function(t){ot(t[2],cn,""),ot(t[2],mn,-1)}))):(et(a,cn),at(a,sn,!0),at(i,sn,!0),y(r,(function(t){et(t[2],cn),et(t[2],mn)}))),n}},fix:{get:function(){return this._fix},set:function(t){Et();var n=this,e=n._mask,r=n._tags,i=n.mask,u=n.self,a=e.input,o=!!t;return u.readOnly=n._fix=o,o?(et(a,cn),at(a,dn,!0),at(i,dn,!0),ot(a,mn,0),y(r,(function(t){et(t[2],cn),et(t[2],mn)}))):(nt(a,dn),nt(i,dn),et(a,mn),ot(a,cn,""),y(r,(function(t){ot(t[2],cn,""),ot(t[2],mn,-1)}))),n}},max:{get:function(){var t=this.state.max;return 1/0===t||a(t)&&t>=0?t:1/0},set:function(t){return this.state.max=a(t)&&t>=0?t:1/0,this}},min:{get:function(){var t=this.state.min;return a(t)&&t>=0?t:0},set:function(t){return this.state.min=a(t)&&t>=0?t:0,this}},tags:{get:function(){return this._tags},set:function(t){Et();var n=this,e=[];return Cn(n,t),y(n._tags,(function(t){return e.push(Rn(t[2],1))})),n.fire("set.tags",[e])}},text:{get:function(){return Q(this._mask.input)},set:function(t){var n,e=this,r=e._active,i=e._fix;return!r||i||(function(t,n,e){if(void 0===e&&(e=!0),null===n)return t;var r="textContent";tt(t,r)&&(t[r]=e?n.trim():n)}(e._mask.input,n=h(t)),Tn(e,n)),e}},value:{get:function(){var t=X(this.self);return""!==t?t:null},set:function(t){var n=this;if(!n._active)return n;var e=n._tags,r=n.state.join;return n[yn]&&_(n[yn].split(r),(function(t){return S(t,e)})),t&&_(t.split(r),(function(t){return C(t,t,e)})),n.fire("change",[n[yn]])}},vital:{get:function(){return this._vital},set:function(t){Et();var n=this,e=n._mask,r=n.mask,i=n.min,u=n.self,a=e.input,o=!!t;return u[pn]=n._vital=o,o?(0===i&&(n.min=1),at(a,pn,!0),at(r,pn,!0)):(n.min=0,nt(a,pn),nt(r,pn)),n}}}),ne._=T(ne,{attach:function(t,n){var e=this;t=t||e.self,n&&s(n)&&(n={join:n}),n=v({},e.state,n||{}),e._tags=new ee(e),e.self=t,e.state=n;var u=n,o=u.max,l=u.min,h=u.n,d=t.disabled,p=function(t){return t.readOnly}(t),m=function(t){return t.required}(t),g=t.id,y=t.name,b=t.placeholder,x=X(t);e._active=!d,e._fix=p,e._vital=m,m&&l<1&&(n.min=l=1);var k=$(t),w=dt("div",{aria:{disabled:!!d&&_n,multiselectable:_n,readonly:!!p&&_n,required:!!m&&_n},class:h,role:"listbox"});e.mask=w;var j=dt("span",{class:h+"__flex",role:"none"}),S=dt("span",{class:h+"__text",role:"none"}),A=dt("span",{aria:{disabled:!!d&&_n,multiline:ln,placeholder:b,readonly:!!p&&_n,required:!!m&&_n},autocapitalize:"off",contenteditable:!d&&!p&&"",role:"textbox",spellcheck:ln,tabindex:!!p&&0}),T=dt("span",b+"",{aria:{hidden:_n}});ct(w,j),ct(j,S),ct(S,A),ct(S,T),at(t,"hidden",!0),st(t,h+"__self"),E(A,e),_t(t,w),ct(w,t),k&&(It(Yt,k,Zn),It(Zt,k,te),gt(k),E(k,e)),It(Pt,A,Kn),It(Ft,A,In),It(Ut,t,Bn),It(Ut,A,Pn),It($t,A,zn),It(Jt,A,On),It(Wt,t,Fn),It(Gt,A,$n),It(Qt,A,Wn),It(Vt,w,Vn),It(Xt,A,Qn),It(tn,w,Vn),t[gn]=-1,E(w,e),e._mask={flex:j,hint:T,input:A,of:t,self:w,text:S},e.max=o=1/0===o||a(o)&&o>=0?o:1/0,e.min=l=a(l)&&l>=0?l:0;var C,N=e._active,R=n.join;return e._active=!0,C=Cn(e,x?x.split(R):[]),e["_"+yn]=C.join(R),e._active=N,at(A,"controls",z(gt(j))),gt(w),gt(t),gt(A),gt(T),g&&ht(w,"id",g),y&&ht(w,"name",y),c(n)&&r(n.with)&&_(n.with,(function(r,u){s(r)&&(r=ne[r]),i(r)?r.call(e,t,n):f(r)&&i(r.attach)&&r.attach.call(e,t,n)})),e},blur:function(){Et();var t=this,n=t._mask,e=t._tags,r=n.input;return y(e,(function(t){return t[2].blur()})),r.blur(),t},detach:function(){var t=this,n=t._mask,e=t.mask,u=t.self,a=t.state,o=n.input,c=$(u);return t._active=!1,t._tags=new ee(t),t["_"+yn]=null,c&&(Lt(Yt,c,Zn),Lt(Zt,c,te)),Lt(Pt,o,Kn),Lt(Ft,o,In),Lt(Ut,o,Pn),Lt(Ut,u,Bn),Lt($t,o,zn),Lt(Jt,o,On),Lt(Wt,u,Fn),Lt(Gt,o,$n),Lt(Qt,o,Wn),Lt(Vt,e,Vn),Lt(Xt,o,Qn),Lt(tn,e,Vn),r(a.with)&&_(a.with,(function(n,e){s(n)&&(n=ne[n]),f(n)&&i(n.detach)&&n.detach.call(t,u,a)})),u[gn]=null,nt(u,"hidden"),rt(u,a.n+"__self"),_t(e,u),it(e),t._mask={of:u},t.mask=null,t},focus:function(t){var n=this;if(!n._active)return n;var e=n._mask.input;return Nn(e),Tt(e,t),n},reset:function(t,n){var e=this;return e._active?(e[yn]=e["_"+yn],t?e.focus(n):e):e}}),A(ee,{name:{value:En+"Tags"}},1),ee._=T(ee,{at:function(t){return w(g(t),this[bn])},count:function(){return this[bn].size},delete:function(t,n){void 0===n&&(n=1);var e=this,r=e.of,i=e.values;if(!r._active)return!1;var u,a,o=r.min,f=r.self,s=r.state,l=s.join,v=s.n,d=[];if((u=e.count())<=o)return n&&Fn.call(f),n&&r.fire("min.tags",[u,o]),!1;if(!c(t))return y(i,(function(t,n){return e.let(n,0)})),n&&r.fire("let.tags",[[]]).fire("change",[null]),0===e.count();if(!(a=w(t=g(t),i)))return Fn.call(f),n&&r.fire("not.tag",[t]),!1;var p=a[2],m=H("."+v+"__x",p);return Lt(Pt,p,qn),Lt(zt,p,Ln),Lt(Ft,p,Mn),Lt(Ut,p,Hn),Lt(Jt,p,Dn),Lt(Gt,p,Un),Lt(Qt,p,Jn),Lt(Vt,p,Xn),Lt(Vt,m,Yn),Lt(Xt,p,Gn),Lt(tn,p,Xn),Lt(tn,m,Yn),it(m),it(p),a=S(t,i),y(i,(function(t,n){return d.push(h(n))})),xt(f,d=d.join(l)),n&&r.fire("let.tag",[t]).fire("change",[""!==d?d:null]),a},get:function(t){var n=this.values,e=w(g(t),n);return e?P(e[2]):-1},has:function(t){return j(g(t),this[bn])},let:function(t,n){return void 0===n&&(n=1),this.delete(t,n)},set:function(t,n,e){var u,f,l;void 0===e&&(e=1);var v=this,d=v.of,p=v.values;if(!d._active)return!1;var m,_,b,x,k,w,j=d._fix,S=d._mask,A=d.max,T=d.self,N=d.state,R=S.text,D=N.join,O=N.n,q=N.pattern,K=[];if((m=v.count())>=A)return e&&Fn.call(T),e&&d.fire("max.tags",[m,A]),!1;c(n)?(o(w=n)&&0!=w%1||a(n)||s(n))&&(n=[n,{active:!0,mark:!1}]):n=[t,{active:!0,mark:!1}],n[1].active=null==(u=n[1].active)||u,n[1].mark=null!=(f=n[1].mark)&&f;var L,M,I=n[1],B=I.mark,P=I.value;if(null===t||""===(P=h(P||t).trim())||s(q)&&!Bt(q).test(P))return Fn.call(T),e&&d.fire("not.tag",[t]),!1;i(q)&&(r(_=q.call(d,P))?(t=P=_[1]&&null!=(L=_[1][yn])?L:_[0],n=_):s(_)&&(t=P=_,n[0]=_));return v.has(t=g(t))?(Fn.call(T),e&&d.fire("has.tag",[t]),!1):(b=n[2]||dt("data",{aria:{pressed:!!B&&_n,selected:_n},class:O+"__tag",contenteditable:_n,inputmode:"none",role:"option",spellcheck:ln,tabindex:-1,title:null!=(l=G(n[1],"title"))&&l,value:P,virtualkeyboardpolicy:"manual"}),j&&(et(b,cn),et(b,mn)),x=n[2]?H("."+O+"__v",n[2]):dt("span",h(n[0]),{class:O+"__v",role:"none"}),O+="__x",k=n[2]?H("."+O,n[2]):dt("span",{aria:{hidden:_n},class:O,tabindex:-1}),gt(x),gt(k),at(k,"controls",z(gt(b))),n[2]||(It(Pt,b,qn),It(zt,b,Ln),It(Ft,b,Mn),It(Ut,b,Hn),It(Jt,b,Dn),It(Gt,b,Un),It(Qt,b,Jn),It(Vt,b,Xn),It(Vt,k,Yn),It(Xt,b,Gn),It(tn,b,Xn),It(tn,k,Yn)),ct(b,x),ct(b,k),M=b,R.before(M),E(b,d),n[2]=b,e&&d.fire("is.tag",[t]),C(t,n,p),y(p,(function(t,n){return K.push(h(n))})),xt(T,K=K.join(D)),e&&d.fire("set.tag",[t]).fire("change",[""!==K?K:null]),!0)}}),x(ee)[Symbol.iterator]=function(){return this[bn][Symbol.iterator]()},ne.Tags=ee,ne}));