File "tagify.min.js"

Full Path: /home/trinadezambia/public_html/ecommerce/assets/admin/js/tagify.min.js
File size: 73.1 KB
MIME-type: text/plain
Charset: utf-8

/*
Author : https://github.com/yairEO/tagify
Demo / Documentation : https://yaireo.github.io/tagify/
Version : 4.35.3
*/!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Tagify=e()}(this,function(){"use strict";var i="&#8203;";function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function s(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}()||function(t){if(t){if("string"==typeof t)return n(t,void 0);var e=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(e="Object"===e&&t.constructor?t.constructor.name:e)||"Set"===e?Array.from(e):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?n(t,void 0):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e,i,n){return t=""+t,e=""+e,n&&(t=t.trim(),e=e.trim()),i?t==e:t.toLowerCase()==e.toLowerCase()}function e(t,e){return t&&Array.isArray(t)&&t.map(function(t){return r(t,e)})}var p={isEnabled:function(){var t;return null==(t=window.TAGIFY_DEBUG)||t},log:function(){for(var t,e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];this.isEnabled()&&(t=console).log.apply(t,["[Tagify]:"].concat(s(i)))},warn:function(){for(var t,e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];this.isEnabled()&&(t=console).warn.apply(t,["[Tagify]:"].concat(s(i)))}};function r(t,e){var i,n={};for(i in t)e.indexOf(i)<0&&(n[i]=t[i]);return n}function a(t){return(new DOMParser).parseFromString(t.trim(),"text/html").body.firstElementChild}function v(t,e){for(e=e||"previous";t=t[e+"Sibling"];)if(3==t.nodeType)return t}function o(t){return"string"==typeof t?t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/`|'/g,"&#039;"):t}function w(t){var e=Object.prototype.toString.call(t).split(" ")[1].slice(0,-1);return t===Object(t)&&"Array"!=e&&"Function"!=e&&"RegExp"!=e&&"HTMLUnknownElement"!=e}function g(t,e,i){var n,s;function a(t,e){for(var i in e)if(e.hasOwnProperty(i)){if(w(e[i])){w(t[i])?a(t[i],e[i]):t[i]=Object.assign({},e[i]);continue}if(Array.isArray(e[i])){t[i]=Object.assign([],e[i]);continue}t[i]=e[i]}}return n=t,a(t=(null!=(s=Object)&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](n):n instanceof s)?t:{},e),i&&a(t,i),t}function l(){var t=[],e={},i=!0,n=!1,s=void 0;try{for(var a,o=arguments[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value,l=!0,d=!1,c=void 0;try{for(var u,g=r[Symbol.iterator]();!(l=(u=g.next()).done);l=!0){var h=u.value;w(h)?e[h.value]||(t.push(h),e[h.value]=1):t.includes(h)||t.push(h)}}catch(t){d=!0,c=t}finally{try{l||null==g.return||g.return()}finally{if(d)throw c}}}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return t}function y(t){return String.prototype.normalize?"string"==typeof t?t.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:t}function b(){return/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent)}function d(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)})}function h(t){var e=u.call(this,t),t=null==t||null==(t=t.classList)?void 0:t.contains(this.settings.classNames.tag);return e&&t}function f(t){return u.call(this,t)&&(null==t?void 0:t.closest(this.settings.classNames.tagSelector))}function u(t){var e;return(null==t||null==(e=t.closest)?void 0:e.call(t,this.settings.classNames.namespaceSelector))===this.DOM.scope}function j(t,e){var i=window.getSelection();return e=e||i.getRangeAt(0),"string"==typeof t&&(t=document.createTextNode(t)),e&&(e.deleteContents(),e.insertNode(t)),t}function T(t,e,i){return t?(e&&(t.__tagifyTagData=i?e:g({},t.__tagifyTagData||{},e)),t.__tagifyTagData):(p.warn("tag element doesn't exist",{tagElm:t,data:e}),e)}function O(t){var e,i;t&&t.parentNode&&(t=t,i=(e=window.getSelection()).getRangeAt(0),e.rangeCount&&(i.setStartAfter(t),i.collapse(!0),e.removeAllRanges(),e.addRange(i)))}function V(t,i){t.forEach(function(t){var e;!T(t.previousSibling)&&t.previousSibling||(e=document.createTextNode("​"),t.before(e),i&&O(e))})}var m={delimiters:",",pattern:null,tagTextProp:"value",maxTags:1/0,callbacks:{},addTagOnBlur:!0,addTagOn:["blur","tab","enter"],onChangeAfterBlur:!0,duplicates:!1,whitelist:[],blacklist:[],enforceWhitelist:!1,userInput:!0,focusable:!0,focusInputOnRemove:!0,keepInvalidTags:!1,createInvalidTags:!0,mixTagsAllowedAfter:/,|\.|\:|\s/,mixTagsInterpolator:["[[","]]"],backspace:!0,skipInvalid:!1,pasteAsTags:!0,editTags:{clicks:2,keepInvalid:!0},transformTag:function(){},trim:!0,a11y:{focusableTags:!1},mixMode:{insertAfterTag:" "},autoComplete:{enabled:!0,rightKey:!1,tabKey:!1},classNames:{namespace:"tagify",mixMode:"tagify--mix",selectMode:"tagify--select",input:"tagify__input",focus:"tagify--focus",tagNoAnimation:"tagify--noAnim",tagInvalid:"tagify--invalid",tagNotAllowed:"tagify--notAllowed",scopeLoading:"tagify--loading",hasMaxTags:"tagify--hasMaxTags",hasNoTags:"tagify--noTags",empty:"tagify--empty",inputInvalid:"tagify__input--invalid",dropdown:"tagify__dropdown",dropdownWrapper:"tagify__dropdown__wrapper",dropdownHeader:"tagify__dropdown__header",dropdownFooter:"tagify__dropdown__footer",dropdownItem:"tagify__dropdown__item",dropdownItemActive:"tagify__dropdown__item--active",dropdownItemHidden:"tagify__dropdown__item--hidden",dropdownItemSelected:"tagify__dropdown__item--selected",dropdownInital:"tagify__dropdown--initial",tag:"tagify__tag",tagText:"tagify__tag-text",tagX:"tagify__tag__removeBtn",tagLoading:"tagify__tag--loading",tagEditing:"tagify__tag--editable",tagFlash:"tagify__tag--flash",tagHide:"tagify__tag--hide"},dropdown:{classname:"",enabled:2,maxItems:10,searchKeys:["value","searchBy"],fuzzySearch:!0,caseSensitive:!1,accentedSearch:!0,includeSelectedTags:!1,escapeHTML:!0,highlightFirst:!0,closeOnSelect:!0,clearOnSelect:!0,position:"all",appendTarget:null},hooks:{beforeRemoveTag:function(){return Promise.resolve()},beforePaste:function(){return Promise.resolve()},suggestionClick:function(){return Promise.resolve()},beforeKeyDown:function(){return Promise.resolve()}}};function R(n){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},e=Object.keys(s);(e="function"==typeof Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable})):e).forEach(function(t){var e,i;e=n,i=s[t=t],t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i})}return n}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}D=function(n){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},e=Object.keys(s);(e="function"==typeof Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable})):e).forEach(function(t){var e,i;e=n,i=s[t=t],t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i})}return n}({},{events:{binding:function(){var t=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],e=this.dropdown.events.callbacks,e=this.listeners.dropdown=this.listeners.dropdown||{position:this.dropdown.position.bind(this,null),onKeyDown:e.onKeyDown.bind(this),onMouseOver:e.onMouseOver.bind(this),onMouseLeave:e.onMouseLeave.bind(this),onClick:e.onClick.bind(this),onScroll:e.onScroll.bind(this)},t=t?"addEventListener":"removeEventListener";"manual"!=this.settings.dropdown.position&&(document[t]("scroll",e.position,!0),window[t]("resize",e.position),window[t]("keydown",e.onKeyDown)),this.DOM.dropdown[t]("mouseover",e.onMouseOver),this.DOM.dropdown[t]("mouseleave",e.onMouseLeave),this.DOM.dropdown[t]("mousedown",e.onClick),this.DOM.dropdown.content[t]("scroll",e.onScroll)},callbacks:{onKeyDown:function(o){var r,l,d,c,u,g,h=this;this.state.hasFocus&&!this.state.composing&&(r=this.settings,l=r.dropdown.includeSelectedTags,d=this.DOM.dropdown.querySelector(r.classNames.dropdownItemActiveSelector),c=this.dropdown.getSuggestionDataByNode(d),u="mix"==r.mode,g="select"==r.mode,r.hooks.beforeKeyDown(o,{tagify:this}).then(function(t){switch(o.key){case"ArrowDown":case"ArrowUp":case"Down":case"Up":o.preventDefault();var e=h.dropdown.getAllSuggestionsRefs(),i="ArrowUp"==o.key||"Up"==o.key;(d=d&&h.dropdown.getNextOrPrevOption(d,!i))&&d.matches(r.classNames.dropdownItemSelector)||(d=e[i?e.length-1:0]),h.dropdown.highlightOption(d,!0);break;case"PageUp":case"PageDown":o.preventDefault();var e=h.dropdown.getAllSuggestionsRefs(),n=Math.floor(h.DOM.dropdown.content.clientHeight/(null==(n=e[0])?void 0:n.offsetHeight))||1,s="PageUp"===o.key;d=d?(a=e.indexOf(d),e[s?Math.max(0,a-n):Math.min(e.length-1,a+n)]):e[0],h.dropdown.highlightOption(d,!0);break;case"Home":case"End":o.preventDefault();s=h.dropdown.getAllSuggestionsRefs();d=s["Home"===o.key?0:s.length-1],h.dropdown.highlightOption(d,!0);break;case"Escape":case"Esc":h.dropdown.hide();break;case"ArrowRight":if(h.state.actions.ArrowLeft||r.autoComplete.rightKey)return;case"Tab":var a=!r.autoComplete.rightKey||!r.autoComplete.tabKey;return!u&&!g&&d&&a&&!h.state.editing&&c?(o.preventDefault(),n=h.dropdown.getMappedValue(c),h.state.autoCompleteData=c,h.input.autocomplete.set.call(h,n),!1):!0;case"Enter":o.preventDefault(),h.state.actions.selectOption=!0,setTimeout(function(){return h.state.actions.selectOption=!1},100),r.hooks.suggestionClick(o,{tagify:h,tagData:c,suggestionElm:d}).then(function(){var e;d?(e=l?d:h.dropdown.getNextOrPrevOption(d,!i),h.dropdown.selectOption(d,o,function(){var t;e&&(t=e.getAttribute("value"),e=h.dropdown.getSuggestionNodeByValue(t),h.dropdown.highlightOption(e))})):(h.dropdown.hide(),u||h.addTags(h.state.inputText.trim(),!0))}).catch(function(t){return p.warn(t)});break;case"Backspace":if(u||h.state.editing.scope)return;e=h.input.raw.call(h);""!=e&&8203!=e.charCodeAt(0)||(!0===r.backspace?h.removeTags():"edit"==r.backspace&&setTimeout(h.editTag.bind(h),0))}}))},onMouseOver:function(t){t=t.target.closest(this.settings.classNames.dropdownItemSelector);this.dropdown.highlightOption(t)},onMouseLeave:function(t){this.dropdown.highlightOption()},onClick:function(t){var e,i,n=this;0==t.button&&t.target!=this.DOM.dropdown&&t.target!=this.DOM.dropdown.content&&(e=t.target.closest(this.settings.classNames.dropdownItemSelector),i=this.dropdown.getSuggestionDataByNode(e),this.state.actions.selectOption=!0,setTimeout(function(){return n.state.actions.selectOption=!1},100),this.settings.hooks.suggestionClick(t,{tagify:this,tagData:i,suggestionElm:e}).then(function(){e?n.dropdown.selectOption(e,t):n.dropdown.hide()}).catch(function(t){return p.warn(t)}))},onScroll:function(t){t=t.target,t=t.scrollTop/(t.scrollHeight-t.parentNode.clientHeight)*100;this.trigger("dropdown:scroll",{percentage:Math.round(t)})}}},refilter:function(t){t=t||this.state.dropdown.query||"",this.suggestedListItems=this.dropdown.filterListItems(t),this.dropdown.fill(),this.suggestedListItems.length||this.dropdown.hide(),this.trigger("dropdown:updated",this.DOM.dropdown)},getSuggestionDataByNode:function(t){for(var e,i=t&&t.getAttribute("value"),n=this.suggestedListItems.length;n--;){if(w(e=this.suggestedListItems[n])&&e.value==i)return e;if(e==i)return{value:e}}},getSuggestionNodeByValue:function(e){return this.dropdown.getAllSuggestionsRefs().find(function(t){return t.getAttribute("value")===e})},getNextOrPrevOption:function(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=this.dropdown.getAllSuggestionsRefs(),n=i.findIndex(function(t){return t===e});return t?i[n+1]:i[n-1]},highlightOption:function(t,e){var i,n=this.settings.classNames.dropdownItemActive;if(this.state.ddItemElm&&(this.state.ddItemElm.classList.remove(n),this.state.ddItemElm.removeAttribute("aria-selected")),!t)return this.state.ddItemData=null,this.state.ddItemElm=null,void this.input.autocomplete.suggest.call(this);i=this.dropdown.getSuggestionDataByNode(t),this.state.ddItemData=i,(this.state.ddItemElm=t).classList.add(n),t.setAttribute("aria-selected",!0),e&&(t.parentNode.scrollTop=t.clientHeight+t.offsetTop-t.parentNode.clientHeight),this.settings.autoComplete&&(this.input.autocomplete.suggest.call(this,i),this.dropdown.position())},selectOption:function(t,e,i){var n=this,s=this.settings,a=s.dropdown.includeSelectedTags,o=s.dropdown,r=o.clearOnSelect,o=o.closeOnSelect;if(!t)return this.addTags(this.state.inputText,!0),void(o&&this.dropdown.hide());e=e||{};var l=t.getAttribute("value"),d="noMatch"==l,c="mix"==s.mode,u=this.suggestedListItems.find(function(t){var e;return(null!=(e=t.value)?e:t)==l});this.trigger("dropdown:select",{data:u,elm:t,event:e}),u||d?(this.state.editing?(e=this.normalizeTags([u])[0],u=s.transformTag.call(this,e)||e,this.onEditTagDone(null,g({__isValid:!0},u))):this[c?"addMixTags":"addTags"]([u||this.input.raw.call(this)],r),(c||this.DOM.input.parentNode)&&(setTimeout(function(){n.DOM.input.focus(),n.toggleFocusClass(!0)}),o&&setTimeout(this.dropdown.hide.bind(this)),a?i&&i():(t.addEventListener("transitionend",function(){n.dropdown.fillHeaderFooter(),setTimeout(function(){t.remove(),n.dropdown.refilter(),i&&i()},100)},{once:!0}),t.classList.add(this.settings.classNames.dropdownItemHidden)))):o&&setTimeout(this.dropdown.hide.bind(this))},selectAll:function(t){this.suggestedListItems.length=0,this.dropdown.hide(),this.dropdown.filterListItems("");var e=this.dropdown.filterListItems("");return t||(e=this.state.dropdown.suggestions),this.addTags(e,!0),this},filterListItems:function(t,a){var o,r,l,d,c,e,i=this,n=this.settings,u=n.dropdown,g=(a=a||{},[]),h=[],p=n.whitelist,s=0<=u.maxItems?u.maxItems:1/0,f=u.includeSelectedTags,m="function"==typeof u.sortby,v=u.searchKeys,b=0;if(!(t="select"==n.mode&&this.value.length&&this.value[0][n.tagTextProp]==t?"":t)||!v.length)return g=f?p:p.filter(function(t){return!i.isTagDuplicate(w(t)?t.value:t)}),e=m?u.sortby(g,c):g.slice(0,s),this.state.dropdown.suggestions=e;for(c=u.caseSensitive?""+t:(""+t).toLowerCase();b<p.length;b++)o=this,function(){var t,e=void 0,i=void 0,n=p[b];r=(null!=(t=Object)&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?t[Symbol.hasInstance](n):n instanceof t)?p[b]:{value:p[b]};var s,n=Object.keys(r).some(function(t){return v.includes(t)})?v:["value"];l=u.fuzzySearch&&!a.exact?(l=n.reduce(function(t,e){return t+" "+(r[e]||"")},"").toLowerCase().trim(),u.accentedSearch&&(l=y(l),c=y(c)),e=0==l.indexOf(c),i=l===c,s=l,c.toLowerCase().split(" ").every(function(t){return s.includes(t.toLowerCase())})):(e=!0,n.some(function(t){t=""+(r[t]||"");return u.accentedSearch&&(t=y(t),c=y(c)),u.caseSensitive||(t=t.toLowerCase()),i=t===c,a.exact?t===c:0==t.indexOf(c)})),d=!u.includeSelectedTags&&o.isTagDuplicate(w(r)?r.value:r),l&&!d&&(i&&e?h.push(r):"startsWith"==u.sortby&&e?g.unshift(r):g.push(r))}();return this.state.dropdown.suggestions=h.concat(g),e=m?u.sortby(h.concat(g),c):h.concat(g).slice(0,s),this.state.dropdown.suggestions=e},getMappedValue:function(t){var e=this.settings.dropdown.mapValueTo;return e?"function"==typeof e?e(t):t[e]||t.value:t.value},createListHTML:function(t){var a=this;return g([],t).map(function(t,e){var i,n,s="string"==typeof(s=a.dropdown.getMappedValue(t="string"!=typeof t&&"number"!=typeof t?t:{value:t}))&&a.settings.dropdown.escapeHTML?o(s):s;return a.settings.templates.dropdownItem.apply(a,[(i=R({},t),n=null!=(n={mappedValue:s})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(n)):(t=Object(n),s=Object.keys(t),Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(t),s.push.apply(s,t)),s.forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(n,t))})),i),a])}).join("")}}),S=null!=(S={refs:function(){this.DOM.dropdown=this.parseTemplate("dropdown",[this.settings]),this.DOM.dropdown.content=this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-wrapper']")},getHeaderRef:function(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-header']")},getFooterRef:function(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-footer']")},getAllSuggestionsRefs:function(){return function(t){if(Array.isArray(t))return x(t)}(t=this.DOM.dropdown.content.querySelectorAll(this.settings.classNames.dropdownItemSelector))||function(){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}()||function(t){if(t){if("string"==typeof t)return x(t,void 0);var e=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(e="Object"===e&&t.constructor?t.constructor.name:e)||"Set"===e?Array.from(e):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?x(t,void 0):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var t},show:function(t){var e,i=this,n=this.settings,s="mix"==n.mode&&!n.enforceWhitelist,a=!n.whitelist||!n.whitelist.length,o="manual"==n.dropdown.position;if(t=void 0===t?this.state.inputText:t,!(a&&!s&&!n.templates.dropdownItemNoMatch||!1===n.dropdown.enabled||this.state.isLoading||this.settings.readonly)){if(clearTimeout(this.dropdownHide__bindEventsTimeout),this.suggestedListItems=this.dropdown.filterListItems(t),t&&!this.suggestedListItems.length&&(this.trigger("dropdown:noMatch",t),n.templates.dropdownItemNoMatch&&(e=n.templates.dropdownItemNoMatch.call(this,{value:t}))),!e){if(this.suggestedListItems.length)t&&s&&!this.state.editing.scope&&!c(this.suggestedListItems[0].value,t)&&this.suggestedListItems.unshift({value:t});else{if(!t||!s||this.state.editing.scope)return this.input.autocomplete.suggest.call(this),void this.dropdown.hide();this.suggestedListItems=[{value:t}]}s=""+(w(a=this.suggestedListItems[0])?a.value:a),n.autoComplete&&s&&0==s.indexOf(t)&&this.input.autocomplete.suggest.call(this,a)}this.dropdown.fill(e),n.dropdown.highlightFirst&&this.dropdown.highlightOption(this.DOM.dropdown.content.querySelector(n.classNames.dropdownItemSelector)),this.state.dropdown.visible||setTimeout(this.dropdown.events.binding.bind(this)),this.state.dropdown.visible=t||!0,this.state.dropdown.query=t,this.setStateSelection(),o||setTimeout(function(){i.dropdown.position(),i.dropdown.render()}),setTimeout(function(){i.trigger("dropdown:show",i.DOM.dropdown)})}},hide:function(t){var e=this,i=this.DOM,n=i.scope,i=i.dropdown,t="manual"==this.settings.dropdown.position&&!t;if(i&&document.body.contains(i)&&!t)return window.removeEventListener("resize",this.dropdown.position),this.dropdown.events.binding.call(this,!1),n.setAttribute("aria-expanded",!1),i.parentNode.removeChild(i),setTimeout(function(){e.state.dropdown.visible=!1},100),this.state.dropdown.query=this.state.ddItemData=this.state.ddItemElm=this.state.selection=null,this.state.tag&&this.state.tag.value.length&&(this.state.flaggedTags[this.state.tag.baseOffset]=this.state.tag),this.trigger("dropdown:hide",i),this},toggle:function(t){this.dropdown[this.state.dropdown.visible&&!t?"hide":"show"]()},getAppendTarget:function(){var t=this.settings.dropdown;return"function"==typeof t.appendTarget?t.appendTarget():t.appendTarget},render:function(){var t=this,e=((e=this.DOM.dropdown.cloneNode(!0)).style.cssText="position:fixed; top:-9999px; opacity:0",document.body.appendChild(e),n=e.clientHeight,e.parentNode.removeChild(e),n),i=this.settings,n=this.dropdown.getAppendTarget();return!1!==i.dropdown.enabled&&(this.DOM.scope.setAttribute("aria-expanded",!0),document.body.contains(this.DOM.dropdown)||(this.DOM.dropdown.classList.add(i.classNames.dropdownInital),this.dropdown.position(e),n.appendChild(this.DOM.dropdown),setTimeout(function(){return t.DOM.dropdown.classList.remove(i.classNames.dropdownInital)}))),this},fill:function(t){t="string"==typeof t?t:this.dropdown.createListHTML(t||this.suggestedListItems);t=this.settings.templates.dropdownContent.call(this,t);this.DOM.dropdown.content.innerHTML=t?t.replace(/\>[\r\n ]+\</g,"><").split(/>\s+</).join("><").trim():""},fillHeaderFooter:function(){var t=this.dropdown.filterListItems(this.state.dropdown.query),e=this.parseTemplate("dropdownHeader",[t]),t=this.parseTemplate("dropdownFooter",[t]),i=this.dropdown.getHeaderRef(),n=this.dropdown.getFooterRef();e&&null!=i&&i.parentNode.replaceChild(e,i),t&&null!=n&&n.parentNode.replaceChild(t,n)},position:function(t){var e,i,n,s,a,o,r,l,d,c,u,g,h,p,f=this.settings.dropdown,m=this.dropdown.getAppendTarget();"manual"!=f.position&&m&&(a=this.DOM.dropdown,o=f.RTL,r=m===document.body,h=m===this.DOM.scope,l=r?window.pageYOffset:m.scrollTop,c=(d=document.fullscreenElement||document.webkitFullscreenElement||document.documentElement).clientHeight,g=480<(u=Math.max(d.clientWidth||0,window.innerWidth||0))?f.position:"all",p=this.DOM["input"==g?"input":"scope"],t=t||a.clientHeight,this.state.dropdown.visible&&(p="text"==g?(n=(e=function(){var t=document.getSelection();if(t.rangeCount){var e,t=t.getRangeAt(0),i=t.startContainer,t=t.startOffset;if(0<t)return(e=document.createRange()).setStart(i,t-1),e.setEnd(i,t),{left:(t=e.getBoundingClientRect()).right,top:t.top,bottom:t.bottom};if(i.getBoundingClientRect)return i.getBoundingClientRect()}return{left:-9999,top:-9999}}()).bottom,i=e.top,s=e.left,"auto"):(m=function(t){var e=0,i=0;for(t=t.parentNode;t&&t!=d;)e+=t.offsetTop||0,i+=t.offsetLeft||0,t=t.parentNode;return{top:e,left:i}}(m),e=p.getBoundingClientRect(),i=h?-1:e.top-m.top,n=(h?e.height:e.bottom-m.top)-1,s=h?-1:e.left-m.left,e.width+"px"),r||(i+=h=function(){for(var t=0,e=f.appendTarget.parentNode;e;)t+=e.scrollTop||0,e=e.parentNode;return t}(),n+=h),i=Math.floor(i),n=Math.ceil(n),h=((r=null!=(m=f.placeAbove)?m:c-e.bottom<t)?i:n)+l,m=s+(o&&e.width||0)+window.pageXOffset,m="text"==g&&u-s<120?"right: 0;":"left: ".concat(m,"px;"),a.style.cssText="".concat(m," top: ").concat(h,"px; min-width: ").concat(p,"; max-width: ").concat(p),a.setAttribute("placement",r?"top":"bottom"),a.setAttribute("position",g)))}})?S:{},Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(S)):(t=Object(S),A=Object.keys(t),Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(t),A.push.apply(A,t)),A.forEach(function(t){Object.defineProperty(D,t,Object.getOwnPropertyDescriptor(S,t))}));var D,S,t=D,I="@yaireo/tagify/",F={empty:"empty",exceed:"number of tags exceeded",pattern:"pattern mismatch",duplicate:"already exists",notAllowed:"not allowed"};function H(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function B(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?e[Symbol.hasInstance](t):t instanceof e}function M(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function E(t,e,i){e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i}function W(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?e[Symbol.hasInstance](t):t instanceof e}function N(t){return function(t){if(Array.isArray(t))return M(t)}(t)||function(){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}()||function(t){if(t){if("string"==typeof t)return M(t,void 0);var e=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(e="Object"===e&&t.constructor?t.constructor.name:e)||"Set"===e?Array.from(e):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?M(t,void 0):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var A={customBinding:function(){var e=this;this.customEventsList.forEach(function(t){e.on(t,e.settings.callbacks[t])})},binding:function(){var t,e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],i=this.settings,n=this.events.callbacks,s=e?"addEventListener":"removeEventListener";if(!(this.state.mainEvents&&e||i.disabled||i.readonly)){for(var a in(this.state.mainEvents=e)&&!this.listeners.main&&(this.events.bindGlobal.call(this),this.settings.isJQueryPlugin&&jQuery(this.DOM.originalInput).on("tagify.removeAllTags",this.removeAllTags.bind(this))),t=this.listeners.main=this.listeners.main||{keydown:["input",n.onKeydown.bind(this)],click:["scope",n.onClickScope.bind(this)],dblclick:"select"!=i.mode&&["scope",n.onDoubleClickScope.bind(this)],paste:["input",n.onPaste.bind(this)],drop:["input",n.onDrop.bind(this)],compositionstart:["input",n.onCompositionStart.bind(this)],compositionend:["input",n.onCompositionEnd.bind(this)]})t[a]&&this.DOM[t[a][0]][s](a,t[a][1]);n=this.listeners.main.inputMutationObserver||new MutationObserver(n.onInputDOMChange.bind(this));n.disconnect(),"mix"==i.mode&&n.observe(this.DOM.input,{childList:!0}),this.events.bindOriginaInputListener.call(this),e&&(this.listeners.main=void 0)}},bindOriginaInputListener:function(t){t=(t||0)+500;this.listeners.main&&(clearInterval(this.listeners.main.originalInputValueObserverInterval),this.listeners.main.originalInputValueObserverInterval=setInterval(this.events.callbacks.observeOriginalInputValue.bind(this),t))},bindGlobal:function(t){var e,i=this.events.callbacks,n=t?"removeEventListener":"addEventListener";if(this.listeners&&(t||!this.listeners.global)){this.listeners.global=this.listeners.global||[{type:this.isIE?"keydown":"input",target:this.DOM.input,cb:i[this.isIE?"onInputIE":"onInput"].bind(this)},{type:"keydown",target:window,cb:i.onWindowKeyDown.bind(this)},{type:"focusin",target:this.DOM.scope,cb:i.onFocusBlur.bind(this)},{type:"focusout",target:this.DOM.scope,cb:i.onFocusBlur.bind(this)},{type:"click",target:document,cb:i.onClickAnywhere.bind(this),useCapture:!0}];var s=!0,i=!1,a=void 0;try{for(var o,r=this.listeners.global[Symbol.iterator]();!(s=(o=r.next()).done);s=!0)(e=o.value).target[n](e.type,e.cb,!!e.useCapture)}catch(t){i=!0,a=t}finally{try{s||null==r.return||r.return()}finally{if(i)throw a}}t&&(this.listeners.global=void 0)}},unbindGlobal:function(){this.events.bindGlobal.call(this,!0)},callbacks:{onFocusBlur:function(t){var e=this.settings,i=f.call(this,t.relatedTarget),n=h.call(this,t.target),s=t.target.classList.contains(e.classNames.tagX),a="focusin"==t.type,o="focusout"==t.type,r=(s&&"mix"!=e.mode&&e.focusInputOnRemove&&this.DOM.input.focus(),i&&a&&!n&&!s&&this.toggleFocusClass(this.state.hasFocus=+new Date),t.target?this.trim(this.DOM.input.textContent):""),l=null==(l=this.value)||null==(l=l[0])?void 0:l[e.tagTextProp],d=0<=e.dropdown.enabled,c={relatedTarget:t.relatedTarget},u=this.state.actions.selectOption&&(d||!e.dropdown.closeOnSelect),d=this.state.actions.addNew&&d;if(o){if(t.relatedTarget===this.DOM.scope)return this.dropdown.hide(),void this.DOM.input.focus();this.postUpdate(),e.onChangeAfterBlur&&this.triggerChangeEvent()}if(!(u||d||s))if(this.state.hasFocus=!(!a&&!i)&&+new Date,this.toggleFocusClass(this.state.hasFocus),"mix"!=e.mode){if(a){if(!e.focusable)return;t=0===e.dropdown.enabled&&!this.state.dropdown.visible,u=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector);return this.trigger("focus",c),void(t&&!n&&(this.dropdown.show(this.value.length?"":void 0),"select"===e.mode&&this.setRangeAtStartEnd(!1,u)))}o&&(this.trigger("blur",c),this.loading(!1),"select"==e.mode&&(this.value.length&&(d=this.getTagElms()[0],r=this.trim(d.textContent)),l===r&&(r="")),r&&!this.state.actions.selectOption&&e.addTagOnBlur&&e.addTagOn.includes("blur")&&this.addTags(r,!0)),i||(this.DOM.input.removeAttribute("style"),this.dropdown.hide())}else a?this.trigger("focus",c):o&&(this.trigger("blur",c),this.loading(!1),this.dropdown.hide(),this.state.dropdown.visible=void 0,this.setStateSelection())},onCompositionStart:function(t){this.state.composing=!0},onCompositionEnd:function(t){this.state.composing=!1},onWindowKeyDown:function(t){var e=this.settings,i=document.activeElement,n=f.call(this,i)&&this.DOM.scope.contains(i),s=i===this.DOM.input,a=n&&i.hasAttribute("readonly"),o=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector),r=this.state.dropdown.visible;if(("Tab"===t.key&&r||this.state.hasFocus||n&&!a)&&!s){var l=i.nextElementSibling,d=t.target.classList.contains(e.classNames.tagX);switch(t.key){case"Backspace":e.readonly||this.state.editing||(this.removeTags(i),(l||this.DOM.input).focus());break;case"Enter":if(d)return void this.removeTags(t.target.parentNode);e.a11y.focusableTags&&h.call(this,i)&&setTimeout(this.editTag.bind(this),0,i);break;case"ArrowDown":this.state.dropdown.visible||"mix"==e.mode||this.dropdown.show();break;case"Tab":null!=o&&o.focus()}}},onKeydown:function(h){var p,f=this,m=this.settings;!this.state.composing&&m.userInput&&("select"==m.mode&&m.enforceWhitelist&&this.value.length&&"Tab"!=h.key&&h.preventDefault(),p=this.trim(h.target.textContent),this.trigger("keydown",{event:h}),m.hooks.beforeKeyDown(h,{tagify:this}).then(function(t){if("mix"==m.mode){switch(h.key){case"Left":case"ArrowLeft":f.state.actions.ArrowLeft=!0;break;case"Delete":case"Backspace":if(f.state.editing)return;var e=document.getSelection(),i="Delete"==h.key&&e.anchorOffset==(e.anchorNode.length||0),n=e.anchorNode.previousSibling,n=1==e.anchorNode.nodeType||!e.anchorOffset&&n&&1==n.nodeType&&e.anchorNode.previousSibling;o=f.DOM.input.innerHTML,d=document.createElement("div"),o.replace(/\&#?[0-9a-z]+;/gi,function(t){return d.innerHTML=t,d.innerText});var s,a,o=f.getTagElms(),r=1===e.anchorNode.length&&e.anchorNode.nodeValue==String.fromCharCode(8203);if("edit"==m.backspace&&n)return l=1==e.anchorNode.nodeType?null:e.anchorNode.previousElementSibling,setTimeout(f.editTag.bind(f),0,l),void h.preventDefault();if(b()&&W(n,Element))return a=v(n),n.hasAttribute("readonly")||n.remove(),f.DOM.input.focus(),void setTimeout(function(){O(a),f.DOM.input.click()});if("BR"==e.anchorNode.nodeName)return;if((i||n)&&1==e.anchorNode.nodeType?s=0==e.anchorOffset?i?o[0]:null:o[Math.min(o.length,e.anchorOffset)-1]:i?s=e.anchorNode.nextElementSibling:W(n,Element)&&(s=n),3==e.anchorNode.nodeType&&!e.anchorNode.nodeValue&&e.anchorNode.previousElementSibling&&h.preventDefault(),(n||i)&&!m.backspace)return void h.preventDefault();if("Range"!=e.type&&!e.anchorOffset&&e.anchorNode==f.DOM.input&&"Delete"!=h.key)return void h.preventDefault();if("Range"!=e.type&&s&&s.hasAttribute("readonly"))return void O(v(s));"Delete"==h.key&&r&&T(e.anchorNode.nextSibling)&&f.removeTags(e.anchorNode.nextSibling);break;case"Enter":h.preventDefault();var l=window.getSelection();l.getRangeAt(0).insertNode(document.createElement("br")),l.collapseToEnd()}return!0}var o,d,c="manual"==m.dropdown.position;switch(h.key){case"Backspace":"select"==m.mode&&m.enforceWhitelist&&f.value.length?f.removeTags():f.state.dropdown.visible&&"manual"!=m.dropdown.position||""!=h.target.textContent&&8203!=p.charCodeAt(0)||(!0===m.backspace?f.removeTags():"edit"==m.backspace&&setTimeout(f.editTag.bind(f),0));break;case"Esc":case"Escape":if(f.state.dropdown.visible)return;h.target.blur();break;case"Down":case"ArrowDown":f.state.dropdown.visible||f.dropdown.show();break;case"ArrowRight":var u=f.state.inputSuggestion||f.state.ddItemData;if(u&&m.autoComplete.rightKey)return void f.addTags([u],!0);break;case"Tab":return!0;case"Enter":if(f.state.dropdown.visible&&!c)return;h.preventDefault();var g=f.state.autoCompleteData||p;setTimeout(function(){f.state.dropdown.visible&&!c||f.state.actions.selectOption||!m.addTagOn.includes(h.key.toLowerCase())||(f.addTags([g],!0),f.state.autoCompleteData=null)})}}).catch(function(t){return t}))},onInput:function(t){this.postUpdate();var e=this.settings;if("mix"==e.mode)return this.events.callbacks.onMixTagsInput.call(this,t);var t=this.input.normalize.call(this,void 0,{trim:!1}),i=t.length>=e.dropdown.enabled,n={value:t,inputElm:this.DOM.input},s=this.validateTag({value:t});"select"==e.mode&&this.toggleScopeValidation(s),n.isValid=s,this.state.inputText!=t&&(this.input.set.call(this,t,!1),-1!=t.search(e.delimiters)?this.addTags(t)&&this.input.set.call(this):0<=e.dropdown.enabled&&this.dropdown[i?"show":"hide"](t),this.trigger("input",n))},onMixTagsInput:function(t){var e,i,n,s,a=this,o=this.settings,r=this.value.length,l=this.getTagElms(),d=document.createDocumentFragment(),c=window.getSelection().getRangeAt(0),u=[].map.call(l,function(t){return T(t).value});if("deleteContentBackward"==t.inputType&&b()&&this.events.callbacks.onKeydown.call(this,{target:t.target,key:"Backspace"}),V(this.getTagElms()),this.value.slice().forEach(function(t){t.readonly&&!u.includes(t.value)&&d.appendChild(a.createTagElem(t))}),d.childNodes.length&&(c.insertNode(d),this.setRangeAtStartEnd(!1,d.lastChild)),l.length!=r)return this.value=[].map.call(this.getTagElms(),function(t){return T(t)}),void this.update({withoutChangeEvent:!0});if(this.hasMaxTags())return!0;if(window.getSelection&&0<(l=window.getSelection()).rangeCount&&3==l.anchorNode.nodeType){if((c=l.getRangeAt(0).cloneRange()).collapse(!0),c.setStart(l.focusNode,0),c=(r=c.toString().slice(0,c.endOffset)).split(o.pattern).length-1,i=(e=r.match(o.pattern))?r.slice(r.lastIndexOf(e[e.length-1])):i){if(this.state.actions.ArrowLeft=!1,this.state.tag={prefix:i.match(o.pattern)[0],value:i.replace(o.pattern,"")},this.state.tag.baseOffset=l.baseOffset-this.state.tag.value.length,r=this.state.tag.value.match(o.delimiters))return this.state.tag.value=this.state.tag.value.replace(o.delimiters,""),this.state.tag.delimiters=r[0],this.addTags(this.state.tag.value,o.dropdown.clearOnSelect),void this.dropdown.hide();n=this.state.tag.value.length>=o.dropdown.enabled;try{s=(s=this.state.flaggedTags[this.state.tag.baseOffset]).prefix==this.state.tag.prefix&&s.value[0]==this.state.tag.value[0],this.state.flaggedTags[this.state.tag.baseOffset]&&!this.state.tag.value&&delete this.state.flaggedTags[this.state.tag.baseOffset]}catch(t){}(s||c<this.state.mixMode.matchedPatternCount)&&(n=!1)}else this.state.flaggedTags={};this.state.mixMode.matchedPatternCount=c}setTimeout(function(){a.update({withoutChangeEvent:!0}),a.trigger("input",g({},a.state.tag,{textContent:a.DOM.input.textContent})),a.state.tag&&a.dropdown[n?"show":"hide"](a.state.tag.value)},10)},onInputIE:function(t){var e=this;setTimeout(function(){e.events.callbacks.onInput.call(e,t)})},observeOriginalInputValue:function(){this.DOM.originalInput.parentNode||this.destroy(),this.DOM.originalInput.value!=this.DOM.originalInput.tagifyValue&&this.loadOriginalValues()},onClickAnywhere:function(t){t.target==this.DOM.scope||this.DOM.scope.contains(t.target)||(this.toggleFocusClass(!1),this.state.hasFocus=!1,(null==(t=t.target.closest(this.settings.classNames.dropdownSelector))?void 0:t.__tagify)!=this&&this.dropdown.hide())},onClickScope:function(t){var e,i,n=this.settings,s=t.target.closest("."+n.classNames.tag),a=(t.target,this.DOM.scope,+new Date-this.state.hasFocus);if(!t.target.classList.contains(n.classNames.tagX))return s&&!this.state.editing?(this.trigger("click",{tag:s,index:this.getNodeIndex(s),data:T(s),event:t}),void(1!==n.editTags&&1!==n.editTags.clicks&&"select"!=n.mode||this.events.callbacks.onDoubleClickScope.call(this,t))):void(t.target==this.DOM.input&&("mix"==n.mode&&this.fixFirefoxLastTagNoCaret(),500<a||!n.focusable)?this.state.dropdown.visible?this.dropdown.hide():0===n.dropdown.enabled&&"mix"!=n.mode&&this.dropdown.show(this.value.length?"":void 0):"select"!=n.mode||0!==n.dropdown.enabled||this.state.dropdown.visible||(this.events.callbacks.onDoubleClickScope.call(this,(e=function(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},n=Object.keys(i);(n="function"==typeof Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(i).filter(function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})):n).forEach(function(t){E(e,t,i[t])})}return e}({},t),i=null!=(i={target:this.getTagElms()[0]})?i:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):(s=Object(i),a=Object.keys(s),Object.getOwnPropertySymbols&&(s=Object.getOwnPropertySymbols(s),a.push.apply(a,s)),a.forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})),e)),n.userInput||this.dropdown.show()));this.removeTags(t.target.parentNode)},onPaste:function(e){var i=this;e.preventDefault();var n,s,a,t=this.settings;if(!t.userInput)return!1;t.readonly||(s=e.clipboardData||window.clipboardData,a=s.getData("Text"),t.hooks.beforePaste(e,{tagify:this,pastedText:a,clipboardData:s}).then(function(t){(t=void 0===t?a:t)&&(i.injectAtCaret(t,window.getSelection().getRangeAt(0)),"mix"==i.settings.mode?i.events.callbacks.onMixTagsInput.call(i,e):i.settings.pasteAsTags?n=i.addTags(i.state.inputText+t,!0):(i.state.inputText=t,i.dropdown.show(t))),i.trigger("paste",{event:e,pastedText:a,clipboardData:s,tagsElems:n})}).catch(function(t){return t}))},onDrop:function(t){t.preventDefault()},onEditTagInput:function(t,e){var i,n=t.closest("."+this.settings.classNames.tag),s=this.getNodeIndex(n),a=T(n),o=this.input.normalize.call(this,t),r=(E(i={},this.settings.tagTextProp,o),E(i,"__tagId",a.__tagId),this.validateTag(i));this.editTagChangeDetected(g(a,i))||!0!==t.originalIsValid||(r=!0),n.classList.toggle(this.settings.classNames.tagInvalid,!0!==r),a.__isValid=r,n.title=!0===r?a.title||a.value:r,o.length>=this.settings.dropdown.enabled&&(this.state.editing&&(this.state.editing.value=o),this.dropdown.show(o)),this.trigger("edit:input",{tag:n,index:s,data:g({},this.value[s],{newValue:o}),event:e})},onEditTagPaste:function(t,e){var i=(e.clipboardData||window.clipboardData).getData("Text"),e=(e.preventDefault(),j(i));this.setRangeAtStartEnd(!1,e)},onEditTagClick:function(t,e){this.events.callbacks.onClickScope.call(this,e)},onEditTagFocus:function(t){this.state.editing={scope:t,input:t.querySelector("[contenteditable]")}},onEditTagBlur:function(t,e){var i=h.call(this,e.relatedTarget);if("select"==this.settings.mode&&i&&e.relatedTarget.contains(e.target))this.dropdown.hide();else if(this.state.editing&&(this.state.hasFocus||this.toggleFocusClass(),this.DOM.scope.contains(document.activeElement)||this.trigger("blur",{}),this.DOM.scope.contains(t))){var i=this.settings,e=t.closest("."+i.classNames.tag),n=T(e),t=this.input.normalize.call(this,t),s=(E(a={},i.tagTextProp,t),E(a,"__tagId",n.__tagId),n.__originalData),n=this.editTagChangeDetected(g(n,a)),a=this.validateTag(a);if(t)if(n){var o,n=this.hasMaxTags(),t=g({},s,(E(o={},i.tagTextProp,this.trim(t)),E(o,"__isValid",a),o));if(i.transformTag.call(this,t,s),!0!==(a=(!n||!0===s.__isValid)&&this.validateTag(t))){if(this.trigger("invalid",{data:t,tag:e,message:a}),i.editTags.keepInvalid)return;i.keepInvalidTags?t.__isValid=a:t=s}else i.keepInvalidTags&&(delete t.title,delete t["aria-invalid"],delete t.class);this.onEditTagDone(e,t)}else this.onEditTagDone(e,s);else this.onEditTagDone(e)}},onEditTagkeydown:function(t,e){if(!this.state.composing)switch(this.trigger("edit:keydown",{event:t}),t.key){case"Esc":case"Escape":this.state.editing=!1,e.__tagifyTagData.__originalData.value?e.parentNode.replaceChild(e.__tagifyTagData.__originalHTML,e):e.remove();break;case"Enter":case"Tab":t.preventDefault(),setTimeout(function(){return t.target.blur()},0)}},onDoubleClickScope:function(t){var e,i,n,t=t.target.closest("."+this.settings.classNames.tag);t&&(i=T(t),n=this.settings,!1!==(null==i?void 0:i.editable)&&(i=t.classList.contains(this.settings.classNames.tagEditing),e=t.hasAttribute("readonly"),n.readonly||i||e||!this.settings.editTags||!n.userInput||(this.events.callbacks.onEditTagFocus.call(this,t),this.editTag(t)),this.toggleFocusClass(!0),"select"!=n.mode&&this.trigger("dblclick",{tag:t,index:this.getNodeIndex(t),data:T(t)})))},onInputDOMChange:function(t){var s=this,e=(t.forEach(function(t){t.addedNodes.forEach(function(t){if("<div><br></div>"==t.outerHTML)t.replaceWith(document.createElement("br"));else if(1==t.nodeType&&t.querySelector(s.settings.classNames.tagSelector)){var e=document.createTextNode("");3==t.childNodes[0].nodeType&&"BR"!=t.previousSibling.nodeName&&(e=document.createTextNode("\n")),t.replaceWith.apply(t,N([e].concat(N(N(t.childNodes).slice(0,-1))))),O(e)}else if(h.call(s,t))if(3!=(null==(e=t.previousSibling)?void 0:e.nodeType)||t.previousSibling.textContent||t.previousSibling.remove(),t.previousSibling&&"BR"==t.previousSibling.nodeName){t.previousSibling.replaceWith("\n​");for(var i=t.nextSibling,n="";i;)n+=i.textContent,i=i.nextSibling;n.trim()&&O(t.previousSibling)}else t.previousSibling&&!T(t.previousSibling)||t.before("​")}),t.removedNodes.forEach(function(t){t&&"BR"==t.nodeName&&h.call(s,e)&&(s.removeTags(e),s.fixFirefoxLastTagNoCaret())})}),this.DOM.input.lastChild);e&&""==e.nodeValue&&e.remove(),e&&"BR"==e.nodeName||this.DOM.input.appendChild(document.createElement("br"))}}};function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function C(t,e,i){e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i}function k(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function q(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},n=Object.keys(i);(n="function"==typeof Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(i).filter(function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})):n).forEach(function(t){C(e,t,i[t])})}return e}function L(t){return function(t){if(Array.isArray(t))return _(t)}(t)||function(){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}()||function(t){if(t){if("string"==typeof t)return _(t,void 0);var e=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(e="Object"===e&&t.constructor?t.constructor.name:e)||"Set"===e?Array.from(e):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?_(t,void 0):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(t,e){var i,s,n,a,o,r,l,d;return t?t.__tagify?(p.warn("input element is already Tagified - Same instance is returned.",t),t.__tagify):(g(this,(r=this,l=document.createTextNode(""),d={},{removeAllCustomListeners:function(){Object.entries(d).forEach(function(t){e=2;var e,t=function(t){if(Array.isArray(t))return t}(t=t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],o=!0,r=!1;try{for(i=i.call(t);!(o=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);o=!0);}catch(t){r=!0,s=t}finally{try{o||null==i.return||i.return()}finally{if(r)throw s}}return a}}(t,e)||function(t,e){if(t){if("string"==typeof t)return H(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(i="Object"===i&&t.constructor?t.constructor.name:i)||"Set"===i?Array.from(i):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?H(t,e):void 0}}(t,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.")}(),i=t[0];t[1].forEach(function(t){return c("remove",i,t)})}),d={}},off:function(t,e){return t&&(e?c("remove",t,e):t.split(/\s+/g).forEach(function(e){var t;null!=(t=d[e])&&t.forEach(function(t){return c("remove",e,t)}),delete d[e]})),this},on:function(t,e){return e&&"function"==typeof e&&(t.split(/\s+/g).forEach(function(t){Array.isArray(d[t])?d[t].push(e):d[t]=[e]}),c("add",t,e)),this},trigger:function(t,e,i){var n;if(i=i||{cloneData:!0},t)if(r.settings.isJQueryPlugin)"remove"==t&&(t="removeTag"),jQuery(r.DOM.originalInput).triggerHandler(t,[e]);else{try{var s="object"==typeof e?e:{value:e};if((s=i.cloneData?g({},s):s).tagify=this,e.event&&(s.event=this.cloneEvent(e.event)),B(e,Object))for(var a in e)B(e[a],HTMLElement)&&(s[a]=e[a]);n=new CustomEvent(t,{detail:s})}catch(t){p.warn(t)}l.dispatchEvent(n)}}})),this.isFirefox=/firefox|fxios/i.test(navigator.userAgent)&&!/seamonkey/i.test(navigator.userAgent),this.isIE=window.document.documentMode,e=e||{},this.getPersistedData=(s=e.id,function(t){var e;if(s){var i,n="/"+t;if(1===(null==(e=localStorage)?void 0:e.getItem(I+s+"/v")))try{i=JSON.parse(localStorage[I+s+n])}catch(t){}return i}}),this.setPersistedData=(a=e.id)?(null!=(o=localStorage)&&o.setItem(I+a+"/v",1),function(t,e){var i="/"+e,n=JSON.stringify(t);t&&e&&(null!=(t=localStorage)&&t.setItem(I+a+i,n),dispatchEvent(new Event("storage")))}):function(){},this.clearPersistedData=(n=e.id,function(t){var e=I+"/"+n+"/";if(t)localStorage.removeItem(e+t);else for(var i in localStorage)i.includes(e)&&localStorage.removeItem(i)}),this.applySettings(t,e),this.state={inputText:"",editing:!1,composing:!1,actions:{},mixMode:{},dropdown:{},flaggedTags:{}},this.value=[],this.listeners={},this.DOM={},this.build(t),function(){for(var t in this.dropdown={},this._dropdown)this.dropdown[t]="function"==typeof this._dropdown[t]?this._dropdown[t].bind(this):this._dropdown[t];this.dropdown.refs(),this.DOM.dropdown.__tagify=this}.call(this),this.getCSSVars(),this.loadOriginalValues(),this.events.customBinding.call(this),this.events.binding.call(this),t.autofocus&&this.DOM.input.focus(),void(t.__tagify=this)):(p.warn("input element not found",t),i=new Proxy(this,{get:function(){return function(){return i}}}));function c(e,t,i){i&&t.split(/\s+/g).forEach(function(t){return l[e+"EventListener"].call(l,t,i)})}}return(P.prototype={_dropdown:t,placeCaretAfterNode:O,getSetTagData:T,helpers:{sameStr:c,removeCollectionProp:e,omit:r,isObject:w,parseHTML:a,escapeHTML:o,extend:g,concatWithoutDups:l,getUID:d,isNodeTag:h},customEventsList:["change","add","remove","invalid","input","paste","click","keydown","focus","blur","edit:input","edit:beforeUpdate","edit:updated","edit:start","edit:keydown","dropdown:show","dropdown:hide","dropdown:select","dropdown:updated","dropdown:noMatch","dropdown:scroll"],dataProps:["__isValid","__removed","__originalData","__originalHTML","__tagId"],trim:function(t){return this.settings.trim&&t&&"string"==typeof t?t.trim():t},parseHTML:a,templates:{wrapper:function(t,e){return'<tags class="'.concat(e.classNames.namespace," ").concat(e.mode?"".concat(e.classNames[e.mode+"Mode"]):""," ").concat(t.className,'"\n                    ').concat(e.readonly?"readonly":"","\n                    ").concat(e.disabled?"disabled":"","\n                    ").concat(e.required?"required":"","\n                    ").concat("select"===e.mode?"spellcheck='false'":"",'\n                    tabIndex="-1">\n                    ').concat(this.settings.templates.input.call(this),"\n                ").concat(i,"\n        </tags>")},input:function(){var t=this.settings,e=t.placeholder||i;return"<span ".concat(!t.readonly&&t.userInput?"contenteditable":"",' data-can-editable tabIndex="0" data-placeholder="').concat(e,'" aria-placeholder="').concat(t.placeholder||"",'"\n                    class="').concat(t.classNames.input,'"\n                    role="textbox"\n                    autocapitalize="false"\n                    autocorrect="off"\n                    aria-autocomplete="both"\n                    aria-multiline="').concat("mix"==t.mode,'"></span>')},tag:function(t,e){e=e.settings;return'<tag title="'.concat(t.title||t.value,"\"\n                    contenteditable='false'\n                    tabIndex=\"").concat(e.a11y.focusableTags?0:-1,'"\n                    class="').concat(e.classNames.tag," ").concat(t.class||"",'"\n                    ').concat(this.getAttributes(t),">\n            <x title='' tabIndex=\"").concat(e.a11y.focusableTags?0:-1,'" class="').concat(e.classNames.tagX,"\" role='button' aria-label='remove tag'></x>\n            <div>\n                <span ").concat("select"===e.mode&&e.userInput?"contenteditable='true'":"",' autocapitalize="false" autocorrect="off" spellcheck=\'false\' class="').concat(e.classNames.tagText,'">').concat(t[e.tagTextProp]||t.value,"</span>\n            </div>\n        </tag>")},dropdown:function(t){var e=t.dropdown,i="manual"==e.position;return'<div class="'.concat(i?"":t.classNames.dropdown," ").concat(e.classname,'" role="listbox" aria-labelledby="dropdown" dir="').concat(e.RTL?"rtl":"","\">\n                    <div data-selector='tagify-suggestions-wrapper' class=\"").concat(t.classNames.dropdownWrapper,'"></div>\n                </div>')},dropdownContent:function(t){var e=this.settings.templates,i=this.state.dropdown.suggestions;return"\n            ".concat(e.dropdownHeader.call(this,i),"\n            ").concat(t,"\n            ").concat(e.dropdownFooter.call(this,i),"\n        ")},dropdownItem:function(t){return"<div ".concat(this.getAttributes(t),"\n                    class='").concat(this.settings.classNames.dropdownItem," ").concat(this.isTagDuplicate(t.value)?this.settings.classNames.dropdownItemSelected:""," ").concat(t.class||"",'\'\n                    tabindex="0"\n                    role="option">').concat(t.mappedValue||t.value,"</div>")},dropdownHeader:function(t){return"<header data-selector='tagify-suggestions-header' class=\"".concat(this.settings.classNames.dropdownHeader,'"></header>')},dropdownFooter:function(t){t=t.length-this.settings.dropdown.maxItems;return 0<t?"<footer data-selector='tagify-suggestions-footer' class=\"".concat(this.settings.classNames.dropdownFooter,'">\n                ').concat(t," more items. Refine your search.\n            </footer>"):""},dropdownItemNoMatch:null},parseTemplate:function(t,e){return a((t=this.settings.templates[t]||t).apply(this,e))},set whitelist(t){var e=t&&Array.isArray(t);this.settings.whitelist=e?t:[],this.setPersistedData(e?t:[],"whitelist")},get whitelist(){return this.settings.whitelist},set userInput(t){this.settings.userInput=!!t,this.setContentEditable(!!t)},get userInput(){return this.settings.userInput},generateClassSelectors:function(i){for(var t in i)!function(t){var e=t;Object.defineProperty(i,e+"Selector",{get:function(){return"."+this[e].split(" ")[0]}})}(t)},applySettings:function(i,t){m.templates=this.templates;var e=g({},m,"mix"==t.mode?{dropdown:{position:"text"}}:{}),n=this.settings=g({},e,t);if(n.disabled=i.hasAttribute("disabled"),n.readonly=n.readonly||i.hasAttribute("readonly"),n.placeholder=o(i.getAttribute("placeholder")||n.placeholder||""),n.required=i.hasAttribute("required"),this.generateClassSelectors(n.classNames),this.isIE&&(n.autoComplete=!1),["whitelist","blacklist"].forEach(function(t){var e=i.getAttribute("data-"+t);e&&k(e=e.split(n.delimiters),Array)&&(n[t]=e)}),"autoComplete"in t&&!w(t.autoComplete)&&(n.autoComplete=m.autoComplete,n.autoComplete.enabled=t.autoComplete),"mix"==n.mode&&(n.pattern=n.pattern||/@/,n.autoComplete.rightKey=!0,n.delimiters=t.delimiters||null,n.tagTextProp&&!n.dropdown.searchKeys.includes(n.tagTextProp)&&n.dropdown.searchKeys.push(n.tagTextProp)),i.pattern)try{n.pattern=new RegExp(i.pattern)}catch(i){}if(n.delimiters){n._delimiters=n.delimiters;try{n.delimiters=new RegExp(this.settings.delimiters,"g")}catch(i){}}(n.disabled||n.readonly)&&(n.userInput=!1),this.TEXTS=q({},F,n.texts||{}),"select"==n.mode&&(n.dropdown.includeSelectedTags=!0),("select"!=n.mode||null!=(e=t.dropdown)&&e.enabled)&&n.userInput||(n.dropdown.enabled=0),n.disabled&&(n.dropdown.enabled=!1),n.dropdown.appendTarget=(null==(e=t.dropdown)?void 0:e.appendTarget)||document.body,void 0===n.dropdown.includeSelectedTags&&(n.dropdown.includeSelectedTags=n.duplicates);t=this.getPersistedData("whitelist");Array.isArray(t)&&(this.whitelist=Array.isArray(n.whitelist)?l(n.whitelist,t):t)},getAttributes:function(t){var e,i=this.getCustomAttributes(t),n="";for(e in i)n+=" "+e+(void 0!==t[e]?'="'.concat(i[e],'"'):"");return n},getCustomAttributes:function(t){if(!w(t))return"";var e,i={};for(e in t)"__"!=e.slice(0,2)&&"class"!=e&&t.hasOwnProperty(e)&&void 0!==t[e]&&(i[e]=o(t[e]));return i},setStateSelection:function(){var t=window.getSelection(),t={anchorOffset:t.anchorOffset,anchorNode:t.anchorNode,range:t.getRangeAt&&t.rangeCount&&t.getRangeAt(0)};return this.state.selection=t},getCSSVars:function(){var t,e=getComputedStyle(this.DOM.scope,null);this.CSSVars={tagHideTransition:(t=(e=function(t){if(!t)return{};var e=(t=t.trim().split(" ")[0]).split(/\d+/g).filter(function(t){return t}).pop().trim();return{value:+t.split(e).filter(function(t){return t})[0].trim(),unit:e}}(e.getPropertyValue("--tag-hide-transition"))).value,"s"==e.unit?1e3*t:t)}},build:function(t){var e=this.DOM,i=t.closest("label");this.settings.mixMode.integrated?(e.originalInput=null,e.scope=t,e.input=t):(e.originalInput=t,e.originalInput_tabIndex=t.tabIndex,e.scope=this.parseTemplate("wrapper",[t,this.settings]),e.input=e.scope.querySelector(this.settings.classNames.inputSelector),t.parentNode.insertBefore(e.scope,t),t.tabIndex=-1),i&&i.setAttribute("for","")},destroy:function(){var t;this.events.unbindGlobal.call(this),null!=(t=this.DOM.scope.parentNode)&&t.removeChild(this.DOM.scope),this.DOM.originalInput.tabIndex=this.DOM.originalInput_tabIndex,delete this.DOM.originalInput.__tagify,this.dropdown.hide(!0),this.removeAllCustomListeners(),clearTimeout(this.dropdownHide__bindEventsTimeout),clearInterval(null==(t=this.listeners)||null==(t=t.main)?void 0:t.originalInputValueObserverInterval)},loadOriginalValues:function(t){var e,i=this.settings;if(this.state.blockChangeEvent=!0,void 0===t&&(t=(e=this.getPersistedData("value"))&&!this.DOM.originalInput.value?e:i.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value),this.removeAllTags(),t)if("mix"==i.mode)this.parseMixTags(t),(e=this.DOM.input.lastChild)&&"BR"==e.tagName||this.DOM.input.insertAdjacentHTML("beforeend","<br>");else{try{k(JSON.parse(t),Array)&&(t=JSON.parse(t))}catch(t){}this.addTags(t,!0).forEach(function(t){return t&&t.classList.add(i.classNames.tagNoAnimation)})}else this.postUpdate();this.state.lastOriginalValueReported=i.mixMode.integrated?"":this.DOM.originalInput.value},cloneEvent:function(t){var e,i={};for(e in t)"path"!=e&&(i[e]=t[e]);return i},loading:function(t){return this.state.isLoading=t,this.DOM.scope.classList[t?"add":"remove"](this.settings.classNames.scopeLoading),this},tagLoading:function(t,e){return t&&t.classList[e?"add":"remove"](this.settings.classNames.tagLoading),this},toggleClass:function(t,e){"string"==typeof t&&this.DOM.scope.classList.toggle(t,e)},toggleScopeValidation:function(t){var e=!0===t||void 0===t;!this.settings.required&&t&&t===this.TEXTS.empty&&(e=!0),this.toggleClass(this.settings.classNames.tagInvalid,!e),this.DOM.scope.title=e?"":t},toggleFocusClass:function(t){this.toggleClass(this.settings.classNames.focus,!!t)},setPlaceholder:function(e){var i=this;["data","aria"].forEach(function(t){return i.DOM.input.setAttribute("".concat(t,"-placeholder"),e)})},triggerChangeEvent:function(){var t,e,i;this.settings.mixMode.integrated||(t=this.DOM.originalInput,e=this.state.lastOriginalValueReported!==t.value,i=new CustomEvent("change",{bubbles:!0}),e&&(this.state.lastOriginalValueReported=t.value,i.simulated=!0,t._valueTracker&&t._valueTracker.setValue(Math.random()),t.dispatchEvent(i),this.trigger("change",this.state.lastOriginalValueReported),t.value=this.state.lastOriginalValueReported))},events:A,fixFirefoxLastTagNoCaret:function(){},setRangeAtStartEnd:function(e,i){if(i){e="number"==typeof e?e:!!e,i=i.lastChild||i;var n=document.getSelection();if(k(n.focusNode,Element)&&!this.DOM.input.contains(n.focusNode))return!0;try{1<=n.rangeCount&&["Start","End"].forEach(function(t){return n.getRangeAt(0)["set"+t](i,e||i.length)})}catch(e){console.warn(e)}}},insertAfterTag:function(t,e){if(e=e||this.settings.mixMode.insertAfterTag,t&&t.parentNode&&e)return e="string"==typeof e?document.createTextNode(e):e,t.parentNode.insertBefore(e,t.nextSibling),e},editTagChangeDetected:function(t){var e,i=t.__originalData;for(e in i)if(!this.dataProps.includes(e)&&t[e]!=i[e])return!0;return!1},getTagTextNode:function(t){return t.querySelector(this.settings.classNames.tagTextSelector)},setTagTextNode:function(t,e){this.getTagTextNode(t).innerHTML=o(e)},editTag:function(e,t){var i=this,n=(e=e||this.getLastTag(),t=t||{},this.settings),s=this.getTagTextNode(e),a=this.getNodeIndex(e),o=T(e),r=this.events.callbacks,l=!0,d="select"==n.mode;if(d||this.dropdown.hide(),s){if(!k(o,Object)||!("editable"in o)||o.editable)return o=T(e,{__originalData:g({},o),__originalHTML:e.cloneNode(!0)}),T(o.__originalHTML,o.__originalData),s.setAttribute("contenteditable",!0),e.classList.add(n.classNames.tagEditing),this.events.callbacks.onEditTagFocus.call(this,e),s.addEventListener("click",r.onEditTagClick.bind(this,e)),s.addEventListener("blur",r.onEditTagBlur.bind(this,this.getTagTextNode(e))),s.addEventListener("input",r.onEditTagInput.bind(this,s)),s.addEventListener("paste",r.onEditTagPaste.bind(this,s)),s.addEventListener("keydown",function(t){return r.onEditTagkeydown.call(i,t,e)}),s.addEventListener("compositionstart",r.onCompositionStart.bind(this)),s.addEventListener("compositionend",r.onCompositionEnd.bind(this)),t.skipValidation||(l=this.editTagToggleValidity(e)),s.originalIsValid=l,this.trigger("edit:start",{tag:e,index:a,data:o,isValid:l}),s.focus(),d||this.setRangeAtStartEnd(!1,s),0!==n.dropdown.enabled||d||this.dropdown.show(),this.state.hasFocus=!0,this}else p.warn("Cannot find element in Tag template: .",n.classNames.tagTextSelector)},editTagToggleValidity:function(t,e){var i;if(e=e||T(t))return(i=!("__isValid"in e)||!0===e.__isValid)||this.removeTagsFromValue(t),this.update(),t.classList.toggle(this.settings.classNames.tagNotAllowed,!i),e.__isValid=i,e.__isValid;p.warn("tag has no data: ",t,e)},onEditTagDone:function(t,e){t=t||this.state.editing.scope,e=e||{};var i,n,s=this.settings,a={tag:t,index:this.getNodeIndex(t),previousData:T(t),data:e};this.trigger("edit:beforeUpdate",a,{cloneData:!1}),this.state.editing=!1,delete e.__originalData,delete e.__originalHTML,t&&t.parentNode&&((void 0!==(n=e[s.tagTextProp])?null==(i=(n+="").trim)||!i.call(n):s.tagTextProp in e||!e.value)?this.removeTags(t):(t=this.replaceTag(t,e),this.editTagToggleValidity(t,e),s.a11y.focusableTags?t.focus():"select"!=s.mode&&O(t))),this.trigger("edit:updated",a),s.dropdown.closeOnSelect&&this.dropdown.hide(),this.settings.keepInvalidTags&&this.reCheckInvalidTags()},replaceTag:function(t,e){(e=e&&""!==e.value&&void 0!==e.value?e:t.__tagifyTagData).__isValid&&1!=e.__isValid&&g(e,this.getInvalidTagAttrs(e,e.__isValid));e=this.createTagElem(e);return t.parentNode.replaceChild(e,t),this.updateValueByDOMTags(),e},updateValueByDOMTags:function(){var e=this,t=(this.value.length=0,this.settings.classNames),i=[t.tagNotAllowed.split(" ")[0],t.tagHide];[].forEach.call(this.getTagElms(),function(t){L(t.classList).some(function(t){return i.includes(t)})||e.value.push(T(t))}),this.update(),this.dropdown.refilter()},injectAtCaret:function(t,e){if(e=e||(null==(i=this.state.selection)?void 0:i.range),"string"==typeof t&&(t=document.createTextNode(t)),!e&&t)return this.appendMixTags(t),this;if(!this.DOM.scope.contains(null==e?void 0:e.startContainer))return this;var i=j(t,e);return this.setRangeAtStartEnd(!1,i),this.updateValueByDOMTags(),this.update(),this},input:{set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"",e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=this.settings,n=i.dropdown.closeOnSelect;this.state.inputText=t,e&&(this.DOM.input.innerHTML=o(""+t),t&&this.toggleClass(i.classNames.empty,!this.DOM.input.innerHTML)),!t&&n&&this.dropdown.hide.bind(this),this.input.autocomplete.suggest.call(this),this.input.validate.call(this)},raw:function(){return this.DOM.input.textContent},validate:function(){var t=!this.state.inputText||!0===this.validateTag({value:this.state.inputText});return this.DOM.input.classList.toggle(this.settings.classNames.inputInvalid,!t),t},normalize:function(t,e){var i=t||this.DOM.input,n=[];i.childNodes.forEach(function(t){return 3==t.nodeType&&n.push(t.nodeValue)}),n=n.join("\n");try{n=n.replace(/(?:\r\n|\r|\n)/g,this.settings.delimiters.source.charAt(0))}catch(t){}return n=n.replace(/\s/g," "),null!=e&&e.trim?this.trim(n):n},autocomplete:{suggest:function(t){var e,i,n,s;this.settings.autoComplete.enabled&&("object"!=typeof(t=t||{value:""})&&(t={value:t}),"number"!=typeof(e=this.dropdown.getMappedValue(t))&&(i=this.state.inputText.toLowerCase(),n=e.substr(0,this.state.inputText.length).toLowerCase(),s=e.substring(this.state.inputText.length),e&&this.state.inputText&&n==i?(this.DOM.input.setAttribute("data-suggest",s),this.state.inputSuggestion=t):(this.DOM.input.removeAttribute("data-suggest"),delete this.state.inputSuggestion)))},set:function(t){var e=this.DOM.input.getAttribute("data-suggest"),t=t||(e?this.state.inputText+e:null);return!!t&&("mix"==this.settings.mode?this.replaceTextWithNode(document.createTextNode(this.state.tag.prefix+t)):(this.input.set.call(this,t),this.setRangeAtStartEnd(!1,this.DOM.input)),this.input.autocomplete.suggest.call(this),this.dropdown.hide(),!0)}}},getTagIdx:function(e){return this.value.findIndex(function(t){return t.__tagId==(e||{}).__tagId})},getNodeIndex:function(t){var e=0;if(t)for(;t=t.previousElementSibling;)e++;return e},getTagElms:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var n="."+L(this.settings.classNames.tag.split(" ")).concat(L(e)).join(".");return[].slice.call(this.DOM.scope.querySelectorAll(n))},getLastTag:function(){var t=this.settings.classNames,t=this.DOM.scope.querySelectorAll("".concat(t.tagSelector,":not(.").concat(t.tagHide,"):not([readonly])"));return t[t.length-1]},isTagDuplicate:function(t,e,i){var n=0,s=!0,a=!1,o=void 0;try{for(var r,l=this.value[Symbol.iterator]();!(s=(r=l.next()).done);s=!0){var d=r.value;c(this.trim(""+t),d.value,e)&&i!=d.__tagId&&n++}}catch(t){a=!0,o=t}finally{try{s||null==l.return||l.return()}finally{if(a)throw o}}return n},getTagIndexByValue:function(i){var n=this,s=[],a=this.settings.dropdown.caseSensitive;return this.getTagElms().forEach(function(t,e){t.__tagifyTagData&&c(n.trim(t.__tagifyTagData.value),i,a)&&s.push(e)}),s},getTagElmByValue:function(t){t=this.getTagIndexByValue(t)[0];return this.getTagElms()[t]},flashTag:function(t){var e=this;t&&(t.classList.add(this.settings.classNames.tagFlash),setTimeout(function(){t.classList.remove(e.settings.classNames.tagFlash)},100))},isTagBlacklisted:function(e){return e=this.trim(e.toLowerCase()),this.settings.blacklist.filter(function(t){return(""+t).toLowerCase()==e}).length},isTagWhitelisted:function(t){return!!this.getWhitelistItem(t)},getWhitelistItem:function(i,n,t){n=n||"value";var s,a=this.settings;return(t=t||a.whitelist).some(function(t){var e="object"==typeof t?t[n]||t.value:t;if(c(e,i,a.dropdown.caseSensitive,a.trim))return s="object"==typeof t?t:{value:t},!0}),s=s||"value"!=n||"value"==a.tagTextProp?s:this.getWhitelistItem(i,a.tagTextProp,t)},validateTag:function(t){var e=this.settings,i="value"in t?"value":e.tagTextProp,n=this.trim(t[i]+"");return(t[i]+"").trim()?"mix"!=e.mode&&e.pattern&&k(e.pattern,RegExp)&&!e.pattern.test(n)?this.TEXTS.pattern:!e.duplicates&&this.isTagDuplicate(n,e.dropdown.caseSensitive,t.__tagId)?this.TEXTS.duplicate:this.isTagBlacklisted(n)||e.enforceWhitelist&&!this.isTagWhitelisted(n)?this.TEXTS.notAllowed:!e.validate||e.validate(t):this.TEXTS.empty},getInvalidTagAttrs:function(t,e){return{"aria-invalid":!0,class:"".concat(t.class||""," ").concat(this.settings.classNames.tagNotAllowed).trim(),title:e}},hasMaxTags:function(){return this.value.length>=this.settings.maxTags&&this.TEXTS.exceed},setReadonly:function(t,e){var i=this.settings;this.DOM.scope.contains(document.activeElement)&&document.activeElement.blur(),i[e||"readonly"]=t,this.DOM.scope[(t?"set":"remove")+"Attribute"](e||"readonly",!0),this.settings.userInput=!0,this.setContentEditable(!t),t||(this.events.binding.call(this,!0),this.events.binding.call(this))},setContentEditable:function(e){this.DOM.scope.querySelectorAll("[data-can-editable]").forEach(function(t){t.contentEditable=e,t.tabIndex=e?0:-1})},setDisabled:function(t){this.setReadonly(t,"disabled")},normalizeTags:function(t){function n(t){return(t+"").split(a).reduce(function(t,e){var i,e=s.trim(e);return e&&t.push((C(i={},r,e),C(i,"value",e),i)),t},[])}var s=this,e=this.settings,i=e.whitelist,a=e.delimiters,o=e.mode,r=e.tagTextProp,l=[],e=!!i&&k(i[0],Object),i=Array.isArray(t),d=i&&t[0].value;if("string"==typeof(t="number"==typeof t?t.toString():t)){if(!t.trim())return[];t=n(t)}else i&&(t=t.reduce(function(t,e){var i;return w(e)?((i=g({},e))[r=r in i?r:"value"]=s.trim(i[r]),!i[r]&&0!==i[r]||t.push(i)):null!=e&&""!==e&&void 0!==e&&t.push.apply(t,L(n(e))),t},[]));return e&&!d&&(t.forEach(function(t){var e=l.map(function(t){return t.value}),i=s.dropdown.filterListItems.call(s,t[r],{exact:!0}),i=1<(i=s.settings.duplicates?i:i.filter(function(t){return!e.includes(t.value)})).length?s.getWhitelistItem(t[r],r,i):i[0];i&&k(i,Object)?l.push(i):"mix"!=o&&(null==t.value&&(t.value=t[r]),l.push(t))}),l.length&&(t=l)),t},parseMixTags:function(t){var o=this,e=this.settings,r=e.mixTagsInterpolator,l=e.duplicates,d=e.transformTag,c=e.enforceWhitelist,u=e.maxTags,g=e.tagTextProp,h=[],e=(t=t.split(r[0]).map(function(t,e){var i,n=t.split(r[1]),s=n[0],a=h.length==u;try{if(s==+s)throw Error;i=JSON.parse(s)}catch(t){i=o.normalizeTags(s)[0]||{value:s}}if(d.call(o,i),a||!(1<n.length)||c&&!o.isTagWhitelisted(i.value)||!l&&o.isTagDuplicate(i.value)){if(t)return e?r[0]+t:t}else i[s=i[g]?g:"value"]=o.trim(i[s]),a=o.createTagElem(i),h.push(i),a.classList.add(o.settings.classNames.tagNoAnimation),n[0]=a.outerHTML,o.value.push(i);return n.join("")}).join(""),this.DOM.input.innerHTML=t,this.DOM.input.appendChild(document.createTextNode("")),this.DOM.input.normalize(),this.getTagElms());return e.forEach(function(t,e){return T(t,h[e])}),this.update({withoutChangeEvent:!0}),V(e,this.state.hasFocus),t},replaceTextWithNode:function(t,e){var i,n,s;if(this.state.tag||e)return e=e||this.state.tag.prefix+this.state.tag.value,n=(i=this.state.selection||window.getSelection()).anchorNode,s=this.state.tag.delimiters?this.state.tag.delimiters.length:0,n.splitText(i.anchorOffset-s),-1!=(i=n.nodeValue.lastIndexOf(e))&&(s=n.splitText(i),t&&n.parentNode.replaceChild(t,s)),!0},prepareNewTagNode:function(t,e){e=e||{};var i=this.settings,n=[],s={},a=Object.assign({},t,{value:t.value+""});if(t=Object.assign({},a),i.transformTag.call(this,t),t.__isValid=this.hasMaxTags()||this.validateTag(t),!0!==t.__isValid){if(e.skipInvalid)return;if(g(s,this.getInvalidTagAttrs(t,t.__isValid),{__preInvalidData:a}),t.__isValid==this.TEXTS.duplicate&&this.flashTag(this.getTagElmByValue(t.value)),!i.createInvalidTags)return void n.push(t.value)}return"readonly"in t&&(t.readonly?s["aria-readonly"]=!0:delete t.readonly),{tagElm:this.createTagElem(t,s),tagData:t,aggregatedInvalidInput:n}},postProcessNewTagNode:function(t,e){var i=this,n=this.settings,s=e.__isValid;s&&!0===s?this.value.push(e):(this.trigger("invalid",{data:e,index:this.value.length,tag:t,message:s}),n.keepInvalidTags||setTimeout(function(){return i.removeTags(t,!0)},1e3)),this.dropdown.position()},selectTag:function(t,e){var i,n=this;if(!this.settings.enforceWhitelist||this.isTagWhitelisted(e.value))return this.state.actions.selectOption&&setTimeout(function(){return n.setRangeAtStartEnd(!1,n.DOM.input)}),(i=this.getLastTag())?this.replaceTag(i,e):this.appendTag(t),this.value[0]=e,this.update(),this.trigger("add",{tag:t,data:e}),[t]},addEmptyTag:function(t){var t=g({value:""},t||{}),e=this.createTagElem(t);T(e,t),this.appendTag(e),this.editTag(e,{skipValidation:!0}),this.toggleFocusClass(!0)},addTags:function(t,e,n){var s=this,a=[],o=this.settings,r=[],l=document.createDocumentFragment(),d=[];if(!t||0==t.length)return a;switch(t=this.normalizeTags(t),o.mode){case"mix":return this.addMixTags(t);case"select":e=!1,this.removeAllTags()}return this.DOM.input.removeAttribute("style"),t.forEach(function(t){var e=s.prepareNewTagNode(t,{skipInvalid:n||o.skipInvalid});if(e){var i=e.tagElm;if(t=e.tagData,r=e.aggregatedInvalidInput,a.push(i),"select"==o.mode)return s.selectTag(i,t);l.appendChild(i),s.postProcessNewTagNode(i,t),d.push({tagElm:i,tagData:t})}}),this.appendTag(l),d.forEach(function(t){var e=t.tagElm,t=t.tagData;return s.trigger("add",{tag:e,index:s.getTagIdx(t),data:t})}),this.update(),t.length&&e&&(this.input.set.call(this,o.createInvalidTags?"":r.join(o._delimiters)),this.setRangeAtStartEnd(!1,this.DOM.input)),this.dropdown.refilter(),a},addMixTags:function(t){var e=this;if((t=this.normalizeTags(t))[0].prefix||this.state.tag)return this.prefixedTextToTag(t[0]);var i=document.createDocumentFragment();return t.forEach(function(t){t=e.prepareNewTagNode(t);i.appendChild(t.tagElm),e.insertAfterTag(t.tagElm),e.postProcessNewTagNode(t.tagElm,t.tagData)}),this.appendMixTags(i),i.children},appendMixTags:function(t){var e=!!this.state.selection;e?this.injectAtCaret(t):(this.DOM.input.focus(),(e=this.setStateSelection()).range.setStart(this.DOM.input,e.range.endOffset),e.range.setEnd(this.DOM.input,e.range.endOffset),this.DOM.input.appendChild(t),this.updateValueByDOMTags(),this.update())},prefixedTextToTag:function(t){var e,i=this,n=this.settings,s=null==(s=this.state.tag)?void 0:s.delimiters;return t.prefix=t.prefix||this.state.tag?this.state.tag.prefix:(n.pattern.source||n.pattern)[0],n=this.prepareNewTagNode(t),e=n.tagElm,this.replaceTextWithNode(e)||this.DOM.input.appendChild(e),setTimeout(function(){return e.classList.add(i.settings.classNames.tagNoAnimation)},300),this.update(),s||(t=this.insertAfterTag(e)||e,setTimeout(O,0,t)),this.state.tag=null,this.postProcessNewTagNode(e,n.tagData),e},appendTag:function(t){var e=this.DOM,i=e.input;e.scope.insertBefore(t,i)},createTagElem:function(t,e){t.__tagId=d();for(var i,e=g({},t,q({value:o(t.value+"")},e)),n=(e=this.parseTemplate("tag",[e,this]),document.createNodeIterator(e,NodeFilter.SHOW_TEXT,null,!1));i=n.nextNode();)i.textContent.trim()||i.parentNode.removeChild(i);return T(e,t),e},reCheckInvalidTags:function(){var o=this,r=this.settings;this.getTagElms(r.classNames.tagNotAllowed).forEach(function(t,e){var i=T(t),n=o.hasMaxTags(),s=o.validateTag(i),a=!0===s&&!n;if("select"==r.mode&&o.toggleScopeValidation(s),a)return i=i.__preInvalidData||{value:i.value},o.replaceTag(t,i);t.title=n||s})},removeTags:function(t,i,n){var s,a=this,o=this.settings;if(t=t&&k(t,HTMLElement)?[t]:k(t,Array)?t:t?[t]:[this.getLastTag()].filter(function(t){return t}),s=t.reduce(function(t,e){var i=T(e=e&&"string"==typeof e?a.getTagElmByValue(e):e);return e&&i&&!i.readonly&&t.push({node:e,idx:a.getTagIdx(i),data:T(e,{__removed:!0})}),t},[]),n="number"==typeof n?n:this.CSSVars.tagHideTransition,"select"==o.mode&&(n=0,this.input.set.call(this)),1==s.length&&"select"!=o.mode&&s[0].node.classList.contains(o.classNames.tagNotAllowed)&&(i=!0),s.length)return o.hooks.beforeRemoveTag(s,{tagify:this}).then(function(){function e(t){t.node.parentNode&&(t.node.parentNode.removeChild(t.node),i?o.keepInvalidTags&&this.trigger("remove",{tag:t.node,index:t.idx}):(this.dropdown.refilter(),this.dropdown.position(),this.DOM.input.normalize(),o.keepInvalidTags&&this.reCheckInvalidTags(),this.trigger("remove",{tag:t.node,index:t.idx,data:t.data})))}i||(a.removeTagsFromValue(s.map(function(t){return t.node})),a.update(),"select"==o.mode&&o.userInput&&a.setContentEditable(!0)),n&&10<n&&1==s.length?function(t){t.node.style.width=parseFloat(window.getComputedStyle(t.node).width)+"px",document.body.clientTop,t.node.classList.add(o.classNames.tagHide),setTimeout(e.bind(this),n,t)}.call(a,s[0]):s.forEach(e.bind(a))}).catch(function(t){})},removeTagsFromDOM:function(){this.getTagElms().forEach(function(t){return t.remove()})},removeTagsFromValue:function(t){var e=this;(t=Array.isArray(t)?t:[t]).forEach(function(t){t=T(t),t=e.getTagIdx(t);-1<t&&e.value.splice(t,1)})},removeAllTags:function(t){var e=this;t=t||{},this.value=[],"mix"==this.settings.mode?this.DOM.input.innerHTML="":this.removeTagsFromDOM(),this.dropdown.refilter(),this.dropdown.position(),this.state.dropdown.visible&&setTimeout(function(){e.DOM.input.focus()}),"select"==this.settings.mode&&(this.input.set.call(this),this.settings.userInput&&this.setContentEditable(!0)),this.update(t,function(){e.trigger("remove",{})})},postUpdate:function(){this.state.blockChangeEvent=!1;var t=this.settings,e=t.classNames,i="mix"==t.mode?t.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value.trim():this.value.length+this.input.raw.call(this).length;this.toggleClass(e.hasMaxTags,this.value.length>=t.maxTags),this.toggleClass(e.hasNoTags,!this.value.length),this.toggleClass(e.empty,!i),"select"==t.mode&&this.toggleScopeValidation(null==(e=this.value)||null==(i=e[0])?void 0:i.__isValid)},setOriginalInputValue:function(t){var e=this.DOM.originalInput;this.settings.mixMode.integrated||(e.value=t,e.tagifyValue=e.value)},update:function(t,e){clearTimeout(this.debouncedUpdateTimeout),this.debouncedUpdateTimeout=setTimeout(function(){this.setPersistedData(i,"value"),this.settings.onChangeAfterBlur&&(t||{}).withoutChangeEvent||this.state.blockChangeEvent||this.triggerChangeEvent(),this.postUpdate(),null!=e&&e()}.bind(this),100),this.events.bindOriginaInputListener.call(this,100);var i=this.getInputValue();this.setOriginalInputValue(i)},getInputValue:function(){var t=this.getCleanValue();return"mix"==this.settings.mode?this.getMixedTagsAsString(t):t.length?this.settings.originalInputValueFormat?this.settings.originalInputValueFormat(t):JSON.stringify(t):""},getCleanValue:function(t){return e(t||this.value,this.dataProps)},getMixedTagsAsString:function(){var n="",s=this,t=this.settings,a=t.originalInputValueFormat||JSON.stringify,o=t.mixTagsInterpolator;return function i(t){t.childNodes.forEach(function(t){var e;1==t.nodeType?(e=T(t),"BR"==t.tagName&&(n+="\r\n"),e&&h.call(s,t)?e.__removed||(n+=o[0]+a(r(e,s.dataProps))+o[1]):t.getAttribute("style")||["B","I","U"].includes(t.tagName)?n+=t.textContent:"DIV"!=t.tagName&&"P"!=t.tagName||(n+="\r\n",i(t))):n+=t.textContent})}(this.DOM.input),n}}).removeTag=P.prototype.removeTags,P});