@tabler/core 1.0.0-beta → 1.0.0-beta5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +11 -0
  2. package/dist/.DS_Store +0 -0
  3. package/dist/css/demo.css +55 -23
  4. package/dist/css/demo.min.css +3 -3
  5. package/dist/css/demo.rtl.css +55 -23
  6. package/dist/css/demo.rtl.min.css +3 -3
  7. package/dist/css/tabler-flags.css +7 -3
  8. package/dist/css/tabler-flags.min.css +3 -3
  9. package/dist/css/tabler-flags.rtl.css +7 -3
  10. package/dist/css/tabler-flags.rtl.min.css +3 -3
  11. package/dist/css/tabler-payments.css +6 -2
  12. package/dist/css/tabler-payments.min.css +3 -3
  13. package/dist/css/tabler-payments.rtl.css +6 -2
  14. package/dist/css/tabler-payments.rtl.min.css +3 -3
  15. package/dist/css/tabler-vendors.css +463 -370
  16. package/dist/css/tabler-vendors.min.css +3 -3
  17. package/dist/css/tabler-vendors.rtl.css +463 -370
  18. package/dist/css/tabler-vendors.rtl.min.css +3 -3
  19. package/dist/css/tabler.css +2165 -1401
  20. package/dist/css/tabler.min.css +8 -3
  21. package/dist/css/tabler.rtl.css +2166 -1402
  22. package/dist/css/tabler.rtl.min.css +8 -3
  23. package/dist/js/demo.js +151 -0
  24. package/dist/js/demo.min.js +9 -0
  25. package/dist/js/tabler.esm.js +7791 -0
  26. package/dist/js/tabler.esm.min.js +9 -0
  27. package/dist/js/tabler.js +2422 -2708
  28. package/dist/js/tabler.min.js +3 -3
  29. package/dist/libs/apexcharts/dist/apexcharts.min.js +5 -5
  30. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
  31. package/dist/libs/countup.js/dist/countUp.js +3 -3
  32. package/dist/libs/litepicker/dist/litepicker.js +3 -3
  33. package/dist/libs/nouislider/dist/nouislider.min.js +1 -0
  34. package/dist/libs/tom-select/dist/js/tom-select.base.min.js +300 -0
  35. package/package.json +85 -29
  36. package/src/js/demo.js +98 -0
  37. package/src/js/{autosize.js → src/autosize.js} +0 -0
  38. package/src/js/src/dropdown.js +9 -0
  39. package/src/js/{input-mask.js → src/input-mask.js} +0 -0
  40. package/src/js/{popover.js → src/popover.js} +0 -0
  41. package/src/js/{switch-icon.js → src/switch-icon.js} +0 -0
  42. package/src/js/src/tab.js +14 -0
  43. package/src/js/{toast.js → src/toast.js} +0 -0
  44. package/src/js/{tooltip.js → src/tooltip.js} +0 -0
  45. package/src/js/tabler.esm.js +10 -0
  46. package/src/js/tabler.js +12 -7
  47. package/src/scss/_bootstrap-components.scss +3 -0
  48. package/src/scss/_bootstrap-config.scss +1 -0
  49. package/src/scss/{_tabler-core.scss → _core.scss} +2 -1
  50. package/src/scss/_mixins-override.scss +3 -3
  51. package/src/scss/_utilities.scss +12 -2
  52. package/src/scss/_variables.scss +123 -72
  53. package/src/scss/demo/_examples.scss +11 -2
  54. package/src/scss/demo.scss +31 -2
  55. package/src/scss/layout/_core.scss +23 -5
  56. package/src/scss/layout/_dark.scss +168 -0
  57. package/src/scss/layout/_footer.scss +2 -5
  58. package/src/scss/layout/_navbar.scss +17 -9
  59. package/src/scss/layout/_page.scss +79 -14
  60. package/src/scss/mixins/_functions.scss +2 -6
  61. package/src/scss/mixins/_mixins.scss +18 -29
  62. package/src/scss/tabler-vendors.scss +2 -2
  63. package/src/scss/tabler.scss +1 -1
  64. package/src/scss/ui/_accordion.scss +1 -0
  65. package/src/scss/ui/_alerts.scss +8 -3
  66. package/src/scss/ui/_avatars.scss +15 -6
  67. package/src/scss/ui/_badges.scss +11 -0
  68. package/src/scss/ui/_breadcrumbs.scss +8 -14
  69. package/src/scss/ui/_buttons.scss +30 -39
  70. package/src/scss/ui/_calendars.scss +3 -3
  71. package/src/scss/ui/_cards.scss +36 -13
  72. package/src/scss/ui/_flags.scss +1 -1
  73. package/src/scss/ui/_forms.scss +9 -10
  74. package/src/scss/ui/_grid.scss +6 -6
  75. package/src/scss/ui/_icons.scss +4 -3
  76. package/src/scss/ui/_images.scss +1 -1
  77. package/src/scss/ui/_legend.scss +1 -1
  78. package/src/scss/ui/_lists.scss +2 -2
  79. package/src/scss/ui/_markdown.scss +13 -30
  80. package/src/scss/ui/_modals.scss +2 -2
  81. package/src/scss/ui/_nav.scss +26 -33
  82. package/src/scss/ui/_offcanvas.scss +21 -0
  83. package/src/scss/ui/_progress.scss +2 -1
  84. package/src/scss/ui/_ribbons.scss +7 -2
  85. package/src/scss/ui/_skeleton.scss +1 -1
  86. package/src/scss/ui/_steps.scss +2 -2
  87. package/src/scss/ui/_switch-icon.scss +5 -5
  88. package/src/scss/ui/_tables.scss +4 -2
  89. package/src/scss/ui/_type.scss +8 -8
  90. package/src/scss/ui/forms/_form-check.scss +11 -3
  91. package/src/scss/ui/forms/_form-colorinput.scss +1 -1
  92. package/src/scss/ui/forms/_form-imagecheck.scss +5 -5
  93. package/src/scss/ui/forms/_form-selectgroup.scss +9 -3
  94. package/src/scss/ui/forms/_validation.scss +1 -1
  95. package/src/scss/utils/_background.scss +2 -2
  96. package/src/scss/utils/_colors.scss +28 -16
  97. package/src/scss/utils/_opacity.scss +1 -1
  98. package/src/scss/vendor/_apexcharts.scss +1 -47
  99. package/src/scss/vendor/_litepicker.scss +5 -2
  100. package/src/scss/vendor/_nouislider.scss +3 -3
  101. package/src/scss/vendor/_tom-select.scss +12 -0
  102. package/dist/libs/choices.js/public/assets/scripts/choices.js +0 -5603
  103. package/dist/libs/nouislider/distribute/nouislider.min.js +0 -2
  104. package/src/js/dropdown.js +0 -40
  105. package/src/scss/_dark.scss +0 -105
  106. package/src/scss/vendor/_choices.scss +0 -61
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Tom Select v1.7.8
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ */
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TomSelect=t()}(this,(function(){"use strict"
6
+ function e(e,t){e.split(/\s+/).forEach((e=>{t(e)}))}class t{constructor(){this._events={}}on(t,i){e(t,(e=>{this._events[e]=this._events[e]||[],this._events[e].push(i)}))}off(t,i){var s=arguments.length
7
+ 0!==s?e(t,(e=>{if(1===s)return delete this._events[e]
8
+ e in this._events!=!1&&this._events[e].splice(this._events[e].indexOf(i),1)})):this._events={}}trigger(t,...i){var s=this
9
+ e(t,(e=>{if(e in s._events!=!1)for(let t of s._events[e])t.apply(s,i)}))}}var i
10
+ const s="[̀-ͯ·ʾ]",n=new RegExp(s,"g")
11
+ var o
12
+ const r={"æ":"ae","ⱥ":"a","ø":"o"},l=new RegExp(Object.keys(r).join("|"),"g"),a=[[67,67],[160,160],[192,438],[452,652],[961,961],[1019,1019],[1083,1083],[1281,1289],[1984,1984],[5095,5095],[7429,7441],[7545,7549],[7680,7935],[8580,8580],[9398,9449],[11360,11391],[42792,42793],[42802,42851],[42873,42897],[42912,42922],[64256,64260],[65313,65338],[65345,65370]],c=e=>e.normalize("NFKD").replace(n,"").toLowerCase().replace(l,(function(e){return r[e]})),d=(e,t="|")=>e.length>1?"(?:"+e.join(t)+")":e[0],p=e=>{if(1===e.length)return[[e]]
13
+ var t=[]
14
+ return p(e.substring(1)).forEach((function(i){var s=i.slice(0)
15
+ s[0]=e.charAt(0)+s[0],t.push(s),(s=i.slice(0)).unshift(e.charAt(0)),t.push(s)})),t},u=e=>{void 0===o&&(o=(()=>{var e={}
16
+ a.forEach((t=>{for(let i=t[0];i<=t[1];i++){let t=String.fromCharCode(i),s=c(t)
17
+ s!=t.toLowerCase()&&(s in e||(e[s]=[s]),e[s].push(t))}}))
18
+ var t=Object.keys(e)
19
+ t=t.sort(((e,t)=>t.length-e.length)),i=new RegExp("("+d(t)+"[̀-ͯ·ʾ]*)","g")
20
+ var s={}
21
+ return t.sort(((e,t)=>e.length-t.length)).forEach((t=>{var i=p(t).map((t=>(t=t.map((t=>e.hasOwnProperty(t)?d(e[t]):t)),d(t,""))))
22
+ s[t]=d(i)})),s})())
23
+ return e.normalize("NFKD").toLowerCase().split(i).map((e=>{if(""==e)return""
24
+ const t=c(e)
25
+ if(o.hasOwnProperty(t))return o[t]
26
+ const i=e.normalize("NFC")
27
+ return i!=e?d([e,i]):e})).join("")},h=(e,t)=>{if(e)return e[t]},g=(e,t)=>{if(e){for(var i,s=t.split(".");(i=s.shift())&&(e=e[i]););return e}},m=(e,t,i)=>{var s,n
28
+ return e?-1===(n=(e+="").search(t.regex))?0:(s=t.string.length/e.length,0===n&&(s+=.5),s*i):0},f=e=>(e+"").replace(/([\$\(-\+\.\?\[-\^\{-\}])/g,"\\$1"),v=(e,t)=>{var i=e[t]
29
+ i&&!Array.isArray(i)&&(e[t]=[i])},y=(e,t)=>{if(Array.isArray(e))e.forEach(t)
30
+ else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},O=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?1:e<t?-1:0:(e=c(e+"").toLowerCase())>(t=c(t+"").toLowerCase())?1:t>e?-1:0
31
+ class b{constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[]
32
+ const s=[],n=e.split(/\s+/)
33
+ var o
34
+ return i&&(o=new RegExp("^("+Object.keys(i).map(f).join("|")+"):(.*)$")),n.forEach((e=>{let i,n=null,r=null
35
+ o&&(i=e.match(o))&&(n=i[1],e=i[2]),e.length>0&&(r=f(e),this.settings.diacritics&&(r=u(r)),t&&(r="\\b"+r)),s.push({string:e,regex:r?new RegExp(r,"iu"):null,field:n})})),s}getScoreFunction(e,t){var i=this.prepareSearch(e,t)
36
+ return this._getScoreFunction(i)}_getScoreFunction(e){const t=e.tokens,i=t.length
37
+ if(!i)return function(){return 0}
38
+ const s=e.options.fields,n=e.weights,o=s.length,r=e.getAttrFn
39
+ if(!o)return function(){return 1}
40
+ const l=1===o?function(e,t){const i=s[0].field
41
+ return m(r(t,i),e,n[i])}:function(e,t){var i=0
42
+ if(e.field){const s=r(t,e.field)
43
+ !e.regex&&s?i+=1/o:i+=m(s,e,1)}else y(n,((s,n)=>{i+=m(r(t,n),e,s)}))
44
+ return i/o}
45
+ return 1===i?function(e){return l(t[0],e)}:"and"===e.options.conjunction?function(e){for(var s,n=0,o=0;n<i;n++){if((s=l(t[n],e))<=0)return 0
46
+ o+=s}return o/i}:function(e){var s=0
47
+ return y(t,(t=>{s+=l(t,e)})),s/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t)
48
+ return this._getSortFunction(i)}_getSortFunction(e){var t,i,s
49
+ const n=this,o=e.options,r=!e.query&&o.sort_empty?o.sort_empty:o.sort,l=[],a=[],c=function(t,i){return"$score"===t?i.score:e.getAttrFn(n.items[i.id],t)}
50
+ if(r)for(t=0,i=r.length;t<i;t++)(e.query||"$score"!==r[t].field)&&l.push(r[t])
51
+ if(e.query){for(s=!0,t=0,i=l.length;t<i;t++)if("$score"===l[t].field){s=!1
52
+ break}s&&l.unshift({field:"$score",direction:"desc"})}else for(t=0,i=l.length;t<i;t++)if("$score"===l[t].field){l.splice(t,1)
53
+ break}for(t=0,i=l.length;t<i;t++)a.push("desc"===l[t].direction?-1:1)
54
+ const d=l.length
55
+ if(d){if(1===d){const e=l[0].field,t=a[0]
56
+ return function(i,s){return t*O(c(e,i),c(e,s))}}return function(e,t){var i,s,n
57
+ for(i=0;i<d;i++)if(n=l[i].field,s=a[i]*O(c(n,e),c(n,t)))return s
58
+ return 0}}return null}prepareSearch(e,t){const i={}
59
+ var s=Object.assign({},t)
60
+ if(v(s,"sort"),v(s,"sort_empty"),s.fields){v(s,"fields")
61
+ const e=[]
62
+ s.fields.forEach((t=>{"string"==typeof t&&(t={field:t,weight:1}),e.push(t),i[t.field]="weight"in t?t.weight:1})),s.fields=e}return{options:s,query:e.toLowerCase().trim(),tokens:this.tokenize(e,s.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:s.nesting?g:h}}search(e,t){var i,s,n=this
63
+ s=this.prepareSearch(e,t),t=s.options,e=s.query
64
+ const o=t.score||n._getScoreFunction(s)
65
+ e.length?y(n.items,((e,n)=>{i=o(e),(!1===t.filter||i>0)&&s.items.push({score:i,id:n})})):y(n.items,((e,t)=>{s.items.push({score:1,id:t})}))
66
+ const r=n._getSortFunction(s)
67
+ return r&&s.items.sort(r),s.total=s.items.length,"number"==typeof t.limit&&(s.items=s.items.slice(0,t.limit)),s}}const w=e=>{if(e.jquery)return e[0]
68
+ if(e instanceof HTMLElement)return e
69
+ if(e.indexOf("<")>-1){let t=document.createElement("div")
70
+ return t.innerHTML=e.trim(),t.firstChild}return document.querySelector(e)},I=(e,t)=>{var i=document.createEvent("HTMLEvents")
71
+ i.initEvent(t,!0,!1),e.dispatchEvent(i)},C=(e,t)=>{Object.assign(e.style,t)},A=(e,...t)=>{var i=S(t);(e=F(e)).map((e=>{i.map((t=>{e.classList.add(t)}))}))},_=(e,...t)=>{var i=S(t);(e=F(e)).map((e=>{i.map((t=>{e.classList.remove(t)}))}))},S=e=>{var t=[]
72
+ for(let i of e)"string"==typeof i&&(i=i.trim().split(/[\11\12\14\15\40]/)),Array.isArray(i)&&(t=t.concat(i))
73
+ return t.filter(Boolean)},F=e=>(Array.isArray(e)||(e=[e]),e),x=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e
74
+ e=e.parentNode}},k=(e,t=0)=>t>0?e[e.length-1]:e[0],P=(e,t)=>{if(!e)return-1
75
+ t=t||e.nodeName
76
+ for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++
77
+ return i},L=(e,t)=>{for(const i in t){let s=t[i]
78
+ null==s?e.removeAttribute(i):e.setAttribute(i,""+s)}},E=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},T=(e,t)=>{if(null===t)return
79
+ if("string"==typeof t){if(!t.length)return
80
+ t=new RegExp(t,"i")}const i=e=>3===e.nodeType?(e=>{var i=e.data.match(t)
81
+ if(i&&e.data.length>0){var s=document.createElement("span")
82
+ s.className="highlight"
83
+ var n=e.splitText(i.index)
84
+ n.splitText(i[0].length)
85
+ var o=n.cloneNode(!0)
86
+ return s.appendChild(o),E(n,s),1}return 0})(e):((e=>{if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&("highlight"!==e.className||"SPAN"!==e.tagName))for(var t=0;t<e.childNodes.length;++t)t+=i(e.childNodes[t])})(e),0)
87
+ i(e)},q="undefined"!=typeof navigator&&/Mac/.test(navigator.userAgent)?"metaKey":"ctrlKey"
88
+ var V={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:null,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,shouldOpen:null,maxOptions:50,maxItems:null,hideSelected:null,duplicates:!1,addPrecedence:!1,selectOnTab:!1,preload:null,allowEmptyOption:!1,closeAfterSelect:!1,loadThrottle:300,loadingClass:"loading",dataAttr:null,optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"ts-control",inputClass:"ts-input",dropdownClass:"ts-dropdown",dropdownContentClass:"ts-dropdown-content",itemClass:"item",optionClass:"option",dropdownParent:null,controlInput:null,copyClassesToDropdown:!0,placeholder:null,hidePlaceholder:null,shouldLoad:function(e){return e.length>0},render:{}}
89
+ const j=e=>null==e?null:$(e),$=e=>"boolean"==typeof e?e?"1":"0":e+"",D=e=>(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),N=(e,t)=>{var i
90
+ return function(s,n){var o=this
91
+ i&&(o.loading=Math.max(o.loading-1,0),clearTimeout(i)),i=setTimeout((function(){i=null,o.loadedSearches[s]=!0,e.call(o,s,n)}),t)}},R=(e,t,i)=>{var s,n=e.trigger,o={}
92
+ for(s in e.trigger=function(){var i=arguments[0]
93
+ if(-1===t.indexOf(i))return n.apply(e,arguments)
94
+ o[i]=arguments},i.apply(e,[]),e.trigger=n,o)n.apply(e,o[s])},H=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},z=(e,t,i,s)=>{e.addEventListener(t,i,s)},K=(e,t)=>!!t&&(!!t[e]&&1===(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0)),M=(e,t)=>{const i=e.getAttribute("id")
95
+ return i||(e.setAttribute("id",t),t)},B=e=>e.replace(/[\\"']/g,"\\$&"),Q=(e,t)=>{t&&e.append(t)}
96
+ var G=0
97
+ class U extends(function(e){return e.plugins={},class extends e{constructor(...e){super(...e),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(t,i){e.plugins[t]={name:t,fn:i}}initializePlugins(e){var t,i
98
+ const s=this,n=[]
99
+ if(Array.isArray(e))e.forEach((e=>{"string"==typeof e?n.push(e):(s.plugins.settings[e.name]=e.options,n.push(e.name))}))
100
+ else if(e)for(t in e)e.hasOwnProperty(t)&&(s.plugins.settings[t]=e[t],n.push(t))
101
+ for(;i=n.shift();)s.require(i)}loadPlugin(t){var i=this,s=i.plugins,n=e.plugins[t]
102
+ if(!e.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin')
103
+ s.requested[t]=!0,s.loaded[t]=n.fn.apply(i,[i.plugins.settings[t]||{}]),s.names.push(t)}require(e){var t=this,i=t.plugins
104
+ if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")')
105
+ t.loadPlugin(e)}return i.loaded[e]}}}(t)){constructor(e,t){var i
106
+ super(),this.order=0,this.tab_key=!1,this.isOpen=!1,this.isDisabled=!1,this.isInvalid=!1,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],this.renderCache={item:{},option:{}},G++
107
+ var s=w(e),n=this
108
+ if(s.tomselect)throw new Error("Tom Select already initialized on this element")
109
+ s.tomselect=this,i=(window.getComputedStyle&&window.getComputedStyle(s,null)).getPropertyValue("direction"),this.settings=function(e,t){var i=Object.assign({},V,t),s=i.dataAttr,n=i.labelField,o=i.valueField,r=i.disabledField,l=i.optgroupField,a=i.optgroupLabelField,c=i.optgroupValueField,d=e.tagName.toLowerCase(),p=e.getAttribute("placeholder")||e.getAttribute("data-placeholder")
110
+ if(!p&&!i.allowEmptyOption){let t=e.querySelector('option[value=""]')
111
+ t&&(p=t.textContent)}var u={placeholder:p,options:[],optgroups:[],items:[],maxItems:null}
112
+ return"select"===d?(()=>{var t,d=u.options,p={},h=1,g=e=>{var t=Object.assign({},e.dataset),i=s&&t[s]
113
+ return"string"==typeof i&&i.length&&(t=Object.assign(t,JSON.parse(i))),t},m=(e,t)=>{var s=j(e.value)
114
+ if(null!=s&&(s||i.allowEmptyOption)){if(p.hasOwnProperty(s)){if(t){var a=p[s][l]
115
+ a?Array.isArray(a)?a.push(t):p[s][l]=[a,t]:p[s][l]=t}}else{var c=g(e)
116
+ c[n]=c[n]||e.textContent,c[o]=c[o]||s,c[r]=c[r]||e.disabled,c[l]=c[l]||t,c.$option=e,p[s]=c,d.push(c)}e.selected&&u.items.push(s)}},f=e=>{var t,i;(i=g(e))[a]=i[a]||e.getAttribute("label")||"",i[c]=i[c]||h++,i[r]=i[r]||e.disabled,u.optgroups.push(i),t=i[c]
117
+ for(const i of e.children)m(i,t)}
118
+ u.maxItems=e.hasAttribute("multiple")?null:1
119
+ for(const i of e.children)"optgroup"===(t=i.tagName.toLowerCase())?f(i):"option"===t&&m(i)})():(()=>{const t=e.getAttribute(s)
120
+ if(t){u.options=JSON.parse(t)
121
+ for(const e of u.options)u.items.push(e[o])}else{var r=e.value.trim()||""
122
+ if(!i.allowEmptyOption&&!r.length)return
123
+ const t=r.split(i.delimiter)
124
+ for(const e of t){const t={}
125
+ t[n]=e,t[o]=e,u.options.push(t)}u.items=t}})(),Object.assign({},V,u,t)}(s,t),this.input=s,this.tabIndex=s.tabIndex||0,this.is_select_tag="select"===s.tagName.toLowerCase(),this.rtl=/rtl/i.test(i),this.inputId=M(s,"tomselect-"+G),this.isRequired=s.required,this.sifter=new b(this.options,{diacritics:this.settings.diacritics}),this.setupOptions(this.settings.options,this.settings.optgroups),delete this.settings.optgroups,delete this.settings.options,this.settings.mode=this.settings.mode||(1===this.settings.maxItems?"single":"multi"),"boolean"!=typeof this.settings.hideSelected&&(this.settings.hideSelected="multi"===this.settings.mode),"boolean"!=typeof this.settings.hidePlaceholder&&(this.settings.hidePlaceholder="multi"!==this.settings.mode)
126
+ var o=this.settings.createFilter
127
+ "function"!=typeof o&&("string"==typeof o&&(o=new RegExp(o)),o instanceof RegExp?this.settings.createFilter=e=>o.test(e):this.settings.createFilter=()=>!0),this.initializePlugins(this.settings.plugins),this.setupCallbacks(),this.setupTemplates()
128
+ var r,l,a,c,d,p,u,h,g
129
+ t=n.settings,s=n.input
130
+ const m={passive:!0},v=n.inputId+"-ts-dropdown"
131
+ if(p=n.settings.mode,u=s.getAttribute("class")||"",r=w("<div>"),A(r,t.wrapperClass,u,p),l=w('<div class="items">'),A(l,t.inputClass),Q(r,l),c=n._render("dropdown"),A(c,t.dropdownClass,p),d=w(`<div role="listbox" id="${v}" tabindex="-1">`),A(d,t.dropdownContentClass),Q(c,d),w(t.dropdownParent||r).appendChild(c),t.controlInput)a=w(t.controlInput)
132
+ else{a=w('<input type="text" autocomplete="off" size="1" />')
133
+ for(const e of["autocorrect","autocapitalize","autocomplete"])s.getAttribute(e)&&L(a,{[e]:s.getAttribute(e)})}t.controlInput||(a.tabIndex=s.disabled?-1:n.tabIndex,l.appendChild(a)),L(a,{role:"combobox",haspopup:"listbox","aria-expanded":"false","aria-controls":v}),g=M(a,n.inputId+"-tomselected")
134
+ let y="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(n.inputId)+"']",O=document.querySelector(y)
135
+ if(O){L(O,{for:g})
136
+ let e=M(O,n.inputId+"-ts-label")
137
+ L(d,{"aria-labelledby":e})}n.settings.copyClassesToDropdown&&A(c,u),r.style.width=s.style.width,n.plugins.names.length&&(h="plugin-"+n.plugins.names.join(" plugin-"),A([r,c],h)),(null===t.maxItems||t.maxItems>1)&&n.is_select_tag&&L(s,{multiple:"multiple"}),n.settings.placeholder&&L(a,{placeholder:t.placeholder}),!n.settings.splitOn&&n.settings.delimiter&&(n.settings.splitOn=new RegExp("\\s*"+f(n.settings.delimiter)+"+\\s*")),this.settings.load&&this.settings.loadThrottle&&(this.settings.load=N(this.settings.load,this.settings.loadThrottle)),this.control=l,this.control_input=a,this.wrapper=r,this.dropdown=c,this.dropdown_content=d,n.control_input.type=s.type,z(c,"click",(e=>{const t=x(e.target,"[data-selectable]")
138
+ t&&(n.onOptionSelect(e,t),H(e,!0))})),z(l,"click",(e=>{var t=x(e.target,"."+n.settings.itemClass,l)
139
+ t&&n.onItemSelect(e,t)?H(e,!0):""==a.value&&(n.onClick(),H(e,!0))})),z(a,"mousedown",(e=>{""!==a.value&&e.stopPropagation()})),z(a,"keydown",(e=>n.onKeyDown(e))),z(a,"keyup",(e=>n.onKeyUp(e))),z(a,"keypress",(e=>n.onKeyPress(e))),z(a,"resize",(()=>n.positionDropdown()),m),z(a,"blur",(()=>n.onBlur())),z(a,"focus",(e=>n.onFocus(e))),z(a,"paste",(e=>n.onPaste(e)))
140
+ const I=e=>{const t=e.composedPath()[0]
141
+ if(!r.contains(t)&&!c.contains(t))return n.isFocused&&n.blur(),void n.inputState()
142
+ H(e,!0)}
143
+ var C=()=>{n.isOpen&&n.positionDropdown()}
144
+ z(document,"mousedown",I),z(window,"sroll",C,m),z(window,"resize",C,m),this._destroy=()=>{document.removeEventListener("mousedown",I),window.removeEventListener("sroll",C),window.removeEventListener("resize",C)},this.revertSettings={innerHTML:s.innerHTML,tabIndex:s.tabIndex},s.tabIndex=-1,L(s,{hidden:"hidden"}),s.insertAdjacentElement("afterend",n.wrapper),n.setValue(t.items),t.items=[],z(s,"invalid",(e=>{H(e),n.isInvalid||(n.isInvalid=!0,n.refreshState())})),n.updateOriginalInput(),n.refreshItems(),n.close(!1),n.inputState(),n.isSetup=!0,s.disabled&&n.disable(),n.on("change",this.onChange),A(s,"tomselected"),n.trigger("initialize"),!0===t.preload&&n.load(""),n.setup()}setup(){}setupOptions(e=[],t=[]){for(const t of e)this.registerOption(t)
145
+ for(const e of t)this.registerOptionGroup(e)}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,s={optgroup:e=>{let t=document.createElement("div")
146
+ return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'<div class="optgroup-header">'+t(e[i])+"</div>",option:(e,i)=>"<div>"+i(e[t])+"</div>",item:(e,i)=>"<div>"+i(e[t])+"</div>",option_create:(e,t)=>'<div class="create">Add <strong>'+t(e.input)+"</strong>&hellip;</div>",no_results:()=>'<div class="no-results">No results found</div>',loading:()=>'<div class="spinner"></div>',not_loading:()=>{},dropdown:()=>"<div></div>"}
147
+ e.settings.render=Object.assign({},s,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"}
148
+ for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}onClick(){var e=this
149
+ if(e.activeItems.length>0)return e.clearActiveItems(),void e.focus()
150
+ e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){I(this.input,"input"),I(this.input,"change")}onPaste(e){var t=this
151
+ t.isFull()||t.isInputHidden||t.isLocked?H(e):t.settings.splitOn&&setTimeout((()=>{var e=t.inputValue()
152
+ if(e.match(t.settings.splitOn)){var i=e.trim().split(t.settings.splitOn)
153
+ for(const e of i)t.createItem(e)}}),0)}onKeyPress(e){var t=this
154
+ if(!t.isLocked){var i=String.fromCharCode(e.keyCode||e.which)
155
+ return t.settings.create&&"multi"===t.settings.mode&&i===t.settings.delimiter?(t.createItem(),void H(e)):void 0}H(e)}onKeyDown(e){var t=this
156
+ if(t.isLocked)9!==e.keyCode&&H(e)
157
+ else{switch(e.keyCode){case 65:if(K(q,e))return void t.selectAll()
158
+ break
159
+ case 27:return t.isOpen&&(H(e,!0),t.close()),void t.clearActiveItems()
160
+ case 40:if(!t.isOpen&&t.hasOptions)t.open()
161
+ else if(t.activeOption){let e=t.getAdjacent(t.activeOption,1)
162
+ e&&t.setActiveOption(e)}return void H(e)
163
+ case 38:if(t.activeOption){let e=t.getAdjacent(t.activeOption,-1)
164
+ e&&t.setActiveOption(e)}return void H(e)
165
+ case 13:return void(t.isOpen&&t.activeOption?(t.onOptionSelect(e,t.activeOption),H(e)):t.settings.create&&t.createItem()&&H(e))
166
+ case 37:return void t.advanceSelection(-1,e)
167
+ case 39:return void t.advanceSelection(1,e)
168
+ case 9:return void(t.settings.selectOnTab&&(t.isOpen&&t.activeOption&&(t.tab_key=!0,t.onOptionSelect(e,t.activeOption),H(e),t.tab_key=!1),t.settings.create&&t.createItem()&&H(e)))
169
+ case 8:case 46:return void t.deleteSelection(e)}t.isInputHidden&&!K(q,e)&&H(e)}}onKeyUp(e){var t=this
170
+ if(t.isLocked)H(e)
171
+ else{var i=t.inputValue()
172
+ t.lastValue!==i&&(t.lastValue=i,t.settings.shouldLoad.call(t,i)&&t.load(i),t.refreshOptions(),t.trigger("type",i))}}onFocus(e){var t=this,i=t.isFocused
173
+ if(t.isDisabled)return t.blur(),void H(e)
174
+ t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.load(""),i||t.trigger("focus"),t.activeItems.length||(t.showInput(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(){var e=this
175
+ if(e.isFocused){e.isFocused=!1,e.ignoreFocus=!1
176
+ var t=()=>{e.close(),e.setActiveItem(),e.setCaret(e.items.length),e.trigger("blur")}
177
+ e.settings.create&&e.settings.createOnBlur?e.createItem(null,!1,t):t()}}onOptionSelect(e,t){var i,s=this
178
+ t&&(t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?s.createItem(null,!0,(()=>{s.settings.closeAfterSelect&&s.close()})):void 0!==(i=t.dataset.value)&&(s.lastQuery=null,s.addItem(i),s.settings.closeAfterSelect&&s.close(),!s.settings.hideSelected&&e.type&&/click/.test(e.type)&&s.setActiveOption(t))))}onItemSelect(e,t){var i=this
179
+ return!i.isLocked&&"multi"===i.settings.mode&&(H(e),i.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){const t=this
180
+ if(!t.canLoad(e))return
181
+ A(t.wrapper,t.settings.loadingClass),t.loading++
182
+ const i=t.loadCallback.bind(t)
183
+ t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this
184
+ i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||_(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}setTextboxValue(e=""){var t=this.control_input
185
+ t.value!==e&&(t.value=e,I(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){R(this,t?[]:["change"],(()=>{this.clear(t),this.addItems(e,t)}))}setMaxItems(e){0===e&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i,s,n,o,r,l,a=this
186
+ if("single"!==a.settings.mode){if(!e)return a.clearActiveItems(),void(a.isFocused&&a.showInput())
187
+ if("click"===(i=t&&t.type.toLowerCase())&&K("shiftKey",t)&&a.activeItems.length){for(l=a.getLastActive(),(n=Array.prototype.indexOf.call(a.control.children,l))>(o=Array.prototype.indexOf.call(a.control.children,e))&&(r=n,n=o,o=r),s=n;s<=o;s++)e=a.control.children[s],-1===a.activeItems.indexOf(e)&&a.setActiveItemClass(e)
188
+ H(t)}else"click"===i&&K(q,t)||"keydown"===i&&K("shiftKey",t)?e.classList.contains("active")?a.removeActiveItem(e):a.setActiveItemClass(e):(a.clearActiveItems(),a.setActiveItemClass(e))
189
+ a.hideInput(),a.isFocused||a.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active")
190
+ i&&_(i,"last-active"),A(e,"active last-active"),t.trigger("item_select",e),-1==t.activeItems.indexOf(e)&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e)
191
+ this.activeItems.splice(t,1),_(e,"active")}clearActiveItems(){_(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,L(this.control_input,{"aria-activedescendant":e.getAttribute("id")}),L(e,{"aria-selected":"true"}),A(e,"active"),this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return
192
+ const i=this.dropdown_content,s=i.clientHeight,n=i.scrollTop||0,o=e.offsetHeight,r=e.getBoundingClientRect().top-i.getBoundingClientRect().top+n
193
+ r+o>s+n?this.scroll(r-s+o,t):r<n&&this.scroll(r,t)}scroll(e,t){const i=this.dropdown_content
194
+ t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(_(this.activeOption,"active"),L(this.activeOption,{"aria-selected":null})),this.activeOption=null,L(this.control_input,{"aria-activedescendant":null})}selectAll(){"single"!==this.settings.mode&&(this.activeItems=this.controlChildren(),this.activeItems.length&&(A(this.activeItems,"active"),this.hideInput(),this.close()),this.focus())}inputState(){var e=this
195
+ e.settings.controlInput||(e.activeItems.length>0||!e.isFocused&&this.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0,A(e.wrapper,"input-hidden")):(e.isInputHidden=!1,_(e.wrapper,"input-hidden")))}hideInput(){this.inputState()}showInput(){this.inputState()}inputValue(){return this.control_input.value.trim()}focus(){var e=this
196
+ e.isDisabled||(e.ignoreFocus=!0,e.control_input.focus(),setTimeout((()=>{e.ignoreFocus=!1,e.onFocus()}),0))}blur(){this.control_input.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField
197
+ return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,s,n=this,o=this.getSearchOptions()
198
+ if(n.settings.score&&"function"!=typeof(s=n.settings.score.call(n,e)))throw new Error('Tom Select "score" setting must be a function that returns a function')
199
+ if(e!==n.lastQuery?(n.lastQuery=e,i=n.sifter.search(e,Object.assign(o,{score:s})),n.currentResults=i):i=Object.assign({},n.currentResults),n.settings.hideSelected)for(t=i.items.length-1;t>=0;t--){let e=j(i.items[t].id)
200
+ e&&-1!==n.items.indexOf(e)&&i.items.splice(t,1)}return i}refreshOptions(e=!0){var t,i,s,n,o,r,l,a,c,d,p
201
+ const u={},h=[]
202
+ var g,m=this,f=m.inputValue(),v=m.search(f),y=m.activeOption,O=m.settings.shouldOpen||!1,b=m.dropdown_content
203
+ for(y&&(c=y.dataset.value,d=y.closest("[data-group]")),n=v.items.length,"number"==typeof m.settings.maxOptions&&(n=Math.min(n,m.settings.maxOptions)),n>0&&(O=!0),t=0;t<n;t++){let e=v.items[t].id,n=m.options[e],l=m.getOption(e,!0)
204
+ for(m.settings.hideSelected||l.classList.toggle("selected",m.items.includes(e)),o=n[m.settings.optgroupField]||"",i=0,s=(r=Array.isArray(o)?o:[o])&&r.length;i<s;i++)o=r[i],m.optgroups.hasOwnProperty(o)||(o=""),u.hasOwnProperty(o)||(u[o]=document.createDocumentFragment(),h.push(o)),i>0&&(l=l.cloneNode(!0),L(l,{id:n.$id+"-clone-"+i,"aria-selected":null}),l.classList.add("ts-cloned"),_(l,"active")),c==e&&d&&d.dataset.group===o&&(y=l),u[o].appendChild(l)}for(o of(this.settings.lockOptgroupOrder&&h.sort(((e,t)=>(m.optgroups[e]&&m.optgroups[e].$order||0)-(m.optgroups[t]&&m.optgroups[t].$order||0))),l=document.createDocumentFragment(),h))if(m.optgroups.hasOwnProperty(o)&&u[o].children.length){let e=document.createDocumentFragment(),t=m.render("optgroup_header",m.optgroups[o])
205
+ Q(e,t),Q(e,u[o])
206
+ let i=m.render("optgroup",{group:m.optgroups[o],options:e})
207
+ Q(l,i)}else Q(l,u[o])
208
+ if(b.innerHTML="",Q(b,l),m.settings.highlight&&(g=b.querySelectorAll("span.highlight"),Array.prototype.forEach.call(g,(function(e){var t=e.parentNode
209
+ t.replaceChild(e.firstChild,e),t.normalize()})),v.query.length&&v.tokens.length))for(const e of v.tokens)T(b,e.regex)
210
+ var w=e=>{let t=m.render(e,{input:f})
211
+ return t&&(O=!0,b.insertBefore(t,b.firstChild)),t}
212
+ if(m.settings.shouldLoad.call(m,f)?m.loading?w("loading"):0===v.items.length&&w("no_results"):w("not_loading"),(a=m.canCreate(f))&&(p=w("option_create")),m.hasOptions=v.items.length>0||a,O){if(v.items.length>0){if(!b.contains(y)&&"single"===m.settings.mode&&m.items.length&&(y=m.getOption(m.items[0])),!b.contains(y)){let e=0
213
+ p&&!m.settings.addPrecedence&&(e=1),y=m.selectable()[e]}}else p&&(y=p)
214
+ e&&!m.isOpen&&(m.open(),m.scrollToOption(y,"auto")),m.setActiveOption(y)}else m.clearActiveOption(),e&&m.isOpen&&m.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e){var t,i=this
215
+ if(Array.isArray(e))for(const t of e)i.addOption(t)
216
+ else(t=i.registerOption(e))&&(i.userOptions[t]=!0,i.lastQuery=null,i.trigger("option_add",t,e))}registerOption(e){var t=j(e[this.settings.valueField])
217
+ return null!==t&&!this.options.hasOwnProperty(t)&&(e.$order=e.$order||++this.order,e.$id=this.inputId+"-opt-"+e.$order,this.options[t]=e,t)}registerOptionGroup(e){var t=j(e[this.settings.optgroupValueField])
218
+ return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i
219
+ t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){const i=this
220
+ var s,n
221
+ const o=j(e)
222
+ if(null===o)return
223
+ const r=j(t[i.settings.valueField]),l=i.getOption(o),a=i.getItem(o)
224
+ if(i.options.hasOwnProperty(o)){if("string"!=typeof r)throw new Error("Value must be set in option data")
225
+ if(t.$order=t.$order||i.options[o].$order,delete i.options[o],i.uncacheValue(r),i.uncacheValue(o,!1),i.options[r]=t,l){if(i.dropdown_content.contains(l)){const e=i._render("option",t)
226
+ E(l,e),i.activeOption===l&&i.setActiveOption(e)}l.remove()}a&&(-1!==(n=i.items.indexOf(o))&&i.items.splice(n,1,r),s=i._render("item",t),a.classList.contains("active")&&A(s,"active"),E(a,s)),i.lastQuery=null}}removeOption(e,t){const i=this
227
+ e=$(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(){this.loadedSearches={},this.userOptions={},this.clearCache()
228
+ var e={}
229
+ for(let t in this.options)this.options.hasOwnProperty(t)&&this.items.indexOf(t)>=0&&(e[t]=this.options[t])
230
+ this.options=this.sifter.items=e,this.lastQuery=null,this.trigger("option_clear")}uncacheValue(e,t=!0){const i=this,s=i.renderCache.item,n=i.renderCache.option
231
+ if(s&&delete s[e],n&&delete n[e],t){const t=i.getOption(e)
232
+ t&&t.remove()}}getOption(e,t=!1){var i=j(e),s=this.rendered("option",i)
233
+ return!s&&t&&null!==i&&(s=this._render("option",this.options[i])),s}getAdjacent(e,t,i="option"){var s
234
+ if(!e)return null
235
+ s="item"==i?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]")
236
+ for(let i=0;i<s.length;i++)if(s[i]==e)return t>0?s[i+1]:s[i-1]
237
+ return null}getItem(e){if("object"==typeof e)return e
238
+ var t=j(e)
239
+ return null!==t?this.control.querySelector(`[data-value="${B(t)}"]`):null}addItems(e,t){var i=this,s=Array.isArray(e)?e:[e]
240
+ for(let e=0,n=(s=s.filter((e=>-1===i.items.indexOf(e)))).length;e<n;e++)i.isPending=e<n-1,i.addItem(s[e],t)}addItem(e,t){R(this,t?[]:["change"],(()=>{var i,s
241
+ const n=this,o=n.settings.mode,r=j(e)
242
+ if((!r||-1===n.items.indexOf(r)||("single"===o&&n.close(),"single"!==o&&n.settings.duplicates))&&null!==r&&n.options.hasOwnProperty(r)&&("single"===o&&n.clear(t),"multi"!==o||!n.isFull())){if(i=n._render("item",n.options[r]),n.control.contains(i)&&(i=i.cloneNode(!0)),s=n.isFull(),n.items.splice(n.caretPos,0,r),n.insertAtCaret(i),n.isSetup){let e=n.selectable()
243
+ if(!n.isPending&&n.settings.hideSelected){let e=n.getOption(r),t=n.getAdjacent(e,1)
244
+ t&&n.setActiveOption(t)}n.isPending||n.refreshOptions(n.isFocused&&"single"!==o),!e.length||n.isFull()?n.close():n.isPending||n.positionDropdown(),n.trigger("item_add",r,i),n.isPending||n.updateOriginalInput({silent:t})}(!n.isPending||!s&&n.isFull())&&n.refreshState()}}))}removeItem(e=null,t){const i=this
245
+ if(!(e=i.getItem(e)))return
246
+ var s,n
247
+ const o=e.dataset.value
248
+ s=P(e),e.remove(),e.classList.contains("active")&&(n=i.activeItems.indexOf(e),i.activeItems.splice(n,1),_(e,"active")),i.items.splice(s,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(o)&&i.removeOption(o,t),s<i.caretPos&&i.setCaret(i.caretPos-1),i.updateOriginalInput({silent:t}),i.refreshState(),i.positionDropdown(),i.trigger("item_remove",o,e)}createItem(e=null,t=!0,i=(()=>{})){var s,n=this,o=n.caretPos
249
+ if(e=e||n.inputValue(),!n.canCreate(e))return i(),!1
250
+ n.lock()
251
+ var r=!1,l=e=>{if(n.unlock(),!e||"object"!=typeof e)return i()
252
+ var s=j(e[n.settings.valueField])
253
+ if("string"!=typeof s)return i()
254
+ n.setTextboxValue(),n.addOption(e),n.setCaret(o),n.addItem(s),n.refreshOptions(t&&"single"!==n.settings.mode),i(e),r=!0}
255
+ return s="function"==typeof n.settings.create?n.settings.create.call(this,e,l):{[n.settings.labelField]:e,[n.settings.valueField]:e},r||l(s),!0}refreshItems(){var e=this
256
+ e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){var e=this
257
+ e.refreshValidityState()
258
+ var t=e.isFull(),i=e.isLocked
259
+ e.wrapper.classList.toggle("rtl",e.rtl)
260
+ var s,n=e.control.classList
261
+ n.toggle("focus",e.isFocused),n.toggle("disabled",e.isDisabled),n.toggle("required",e.isRequired),n.toggle("invalid",e.isInvalid),n.toggle("locked",i),n.toggle("full",t),n.toggle("not-full",!t),n.toggle("input-active",e.isFocused&&!e.isInputHidden),n.toggle("dropdown-active",e.isOpen),n.toggle("has-options",(s=e.options,0===Object.keys(s).length)),n.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this
262
+ if(e.input.checkValidity){this.isRequired&&(e.input.required=!0)
263
+ var t=!e.input.checkValidity()
264
+ e.isInvalid=t,e.control_input.required=t,this.isRequired&&(e.input.required=!t)}}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){const t=this
265
+ var i,s,n,o
266
+ if(t.is_select_tag){const e=[]
267
+ function r(i,s,n){return i||(i=w('<option value="'+D(s)+'">'+D(n)+"</option>")),t.input.prepend(i),e.push(i),L(i,{selected:"true"}),i.selected=!0,i}if(t.input.querySelectorAll("option[selected]").forEach((e=>{L(e,{selected:null}),e.selected=!1})),0!=t.items.length||"single"!=t.settings.mode||t.isRequired)for(i=t.items.length-1;i>=0;i--)if(s=t.items[i],o=(n=t.options[s])[t.settings.labelField]||"",e.includes(n.$option)){r(t.input.querySelector(`option[value="${B(s)}"]:not([selected])`),s,o)}else n.$option=r(n.$option,s,o)
268
+ else r(t.input.querySelector('option[value=""]'),"","")}else t.input.value=t.getValue()
269
+ t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this
270
+ e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,L(e.control_input,{"aria-expanded":"true"}),e.refreshState(),C(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),C(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen
271
+ e&&(t.setTextboxValue(),"single"===t.settings.mode&&t.items.length&&(t.hideInput(),t.tab_key||t.blur())),t.isOpen=!1,L(t.control_input,{"aria-expanded":"false"}),C(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if("body"===this.settings.dropdownParent){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,s=t.left+window.scrollX
272
+ C(this.dropdown,{width:t.width+"px",top:i+"px",left:s+"px"})}}clear(e){var t=this
273
+ if(t.items.length){var i=t.controlChildren()
274
+ for(const e of i)t.removeItem(e,!0)
275
+ t.showInput(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){var t=this,i=Math.min(t.caretPos,t.items.length),s=t.control
276
+ 0===i?s.insertBefore(e,s.firstChild):s.insertBefore(e,s.children[i]),t.setCaret(i+1)}deleteSelection(e){var t,i,s,n,o,r=this
277
+ t=e&&8===e.keyCode?-1:1,i={start:(o=r.control_input).selectionStart||0,length:(o.selectionEnd||0)-(o.selectionStart||0)}
278
+ const l=[]
279
+ if(r.activeItems.length){n=k(r.activeItems,t),s=P(n),t>0&&s++
280
+ for(const e of r.activeItems)l.push(e)}else if((r.isFocused||"single"===r.settings.mode)&&r.items.length){const e=r.controlChildren()
281
+ t<0&&0===i.start&&0===i.length?l.push(e[r.caretPos-1]):t>0&&i.start===r.inputValue().length&&l.push(e[r.caretPos])}const a=l.map((e=>e.dataset.value))
282
+ if(!a.length||"function"==typeof r.settings.onDelete&&!1===r.settings.onDelete.call(r,a,e))return!1
283
+ for(H(e,!0),void 0!==s&&r.setCaret(s);l.length;)r.removeItem(l.pop())
284
+ return r.showInput(),r.positionDropdown(),r.refreshOptions(!1),!0}advanceSelection(e,t){var i,s,n,o=this
285
+ o.rtl&&(e*=-1),o.inputValue().length||(K(q,t)||K("shiftKey",t)?(n=(s=o.getLastActive(e))?s.classList.contains("active")?o.getAdjacent(s,e,"item"):s:e>0?o.control_input.nextElementSibling:o.control_input.previousElementSibling)&&(n.classList.contains("active")&&o.removeActiveItem(s),o.setActiveItemClass(n)):o.isFocused&&!o.activeItems.length?o.setCaret(o.caretPos+e):(s=o.getLastActive(e))&&(i=P(s),o.setCaret(e>0?i+1:i),o.setActiveItem()))}getLastActive(e){let t=this.control.querySelector(".last-active")
286
+ if(t)return t
287
+ var i=this.control.querySelectorAll(".active")
288
+ return i?k(i,e):void 0}setCaret(e){var t=this
289
+ "single"===t.settings.mode||t.settings.controlInput?e=t.items.length:(e=Math.max(0,Math.min(t.items.length,e)))==t.caretPos||t.isPending||t.controlChildren().forEach(((i,s)=>{s<e?t.control_input.insertAdjacentElement("beforebegin",i):t.control.appendChild(i)})),t.caretPos=e}controlChildren(){return Array.from(this.control.getElementsByClassName(this.settings.itemClass))}lock(){this.close(),this.isLocked=!0,this.refreshState()}unlock(){this.isLocked=!1,this.refreshState()}disable(){var e=this
290
+ e.input.disabled=!0,e.control_input.disabled=!0,e.control_input.tabIndex=-1,e.isDisabled=!0,e.lock()}enable(){var e=this
291
+ e.input.disabled=!1,e.control_input.disabled=!1,e.control_input.tabIndex=e.tabIndex,e.isDisabled=!1,e.unlock()}destroy(){var e=this,t=e.revertSettings
292
+ e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,_(e.input,"tomselected"),L(e.input,{hidden:null}),e.input.required=this.isRequired,e._destroy(),delete e.input.tomselect}render(e,t){return"function"!=typeof this.settings.render[e]?null:this._render(e,t)}_render(e,t){var i,s,n=""
293
+ const o=this
294
+ return("option"===e||"item"===e)&&(n=$(t[o.settings.valueField]),s=o.rendered(e,n))||null==(s=o.settings.render[e].call(this,t,D))||(s=w(s),"option"===e||"option_create"===e?t[o.settings.disabledField]?L(s,{"aria-disabled":"true"}):L(s,{"data-selectable":""}):"optgroup"===e&&(i=t.group[o.settings.optgroupValueField],L(s,{"data-group":i}),t.group[o.settings.disabledField]&&L(s,{"data-disabled":""})),"option"!==e&&"item"!==e||(L(s,{"data-value":n}),"item"===e?A(s,o.settings.itemClass):(A(s,o.settings.optionClass),L(s,{role:"option",id:t.$id})),o.renderCache[e][n]=s)),s}rendered(e,t){return null!==t&&this.renderCache[e].hasOwnProperty(t)?this.renderCache[e][t]:null}clearCache(e){var t=this
295
+ for(let e in t.options){const i=t.getOption(e)
296
+ i&&i.remove()}void 0===e?t.renderCache={item:{},option:{}}:t.renderCache[e]={}}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var s=this,n=s[t]
297
+ s[t]=function(){var t,o
298
+ return"after"===e&&(t=n.apply(s,arguments)),o=i.apply(s,arguments),"instead"===e?o:("before"===e&&(t=n.apply(s,arguments)),t)}}}return U}))
299
+ var tomSelect=function(e,t){return new TomSelect(e,t)}
300
+ //# sourceMappingURL=tom-select.base.min.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tabler/core",
3
- "version": "1.0.0-beta",
3
+ "version": "1.0.0-beta5",
4
4
  "description": "Premium and Open Source dashboard template with responsive and high quality UI.",
5
5
  "scripts": {
6
6
  "start": "gulp start",
@@ -10,7 +10,11 @@
10
10
  "unused-files": "node build/unused-files.js",
11
11
  "release": "release-it",
12
12
  "svg-icons": "gulp svg-icons",
13
- "percy": "gulp build && npx percy snapshot demo"
13
+ "percy": "gulp build && npx percy snapshot demo",
14
+ "bundlewatch": "bundlewatch --config .bundlewatch.config.json",
15
+ "chromatic": "chromatic --project-token=CHROMATIC_PROJECT_TOKEN",
16
+ "storybook": "start-storybook -p 6006",
17
+ "build-storybook": "build-storybook"
14
18
  },
15
19
  "repository": {
16
20
  "type": "git",
@@ -35,7 +39,7 @@
35
39
  "url": "https://github.com/sponsors/codecalm"
36
40
  },
37
41
  "engines": {
38
- "node": ">=10"
42
+ "node": ">=14"
39
43
  },
40
44
  "files": [
41
45
  "dist/**/*",
@@ -45,52 +49,104 @@
45
49
  ],
46
50
  "style": "dist/css/tabler.css",
47
51
  "sass": "src/scss/tabler.scss",
52
+ "unpkg": "dist/js/tabler.min.js",
53
+ "umd:main": "dist/js/tabler.min.js",
54
+ "module": "dist/js/tabler.esm.js",
48
55
  "main": "dist/js/tabler.js",
49
56
  "homepage": "https://tabler.io",
50
57
  "devDependencies": {
51
- "@babel/core": "^7.12.16",
52
- "@babel/preset-env": "^7.12.16",
53
- "@rollup/plugin-commonjs": "^17.1.0",
54
- "@rollup/plugin-node-resolve": "^11.2.0",
55
- "@rollup/plugin-replace": "^2.3.4",
58
+ "@babel/core": "^7.15.8",
59
+ "@babel/preset-env": "^7.15.8",
60
+ "@rollup/plugin-commonjs": "^21.0.1",
61
+ "@rollup/plugin-node-resolve": "^13.0.6",
62
+ "@rollup/plugin-replace": "^3.0.0",
63
+ "@rollup/pluginutils": "^4.1.1",
56
64
  "@rollup/stream": "^2.0.0",
57
- "autoprefixer": "^10.2.4",
58
- "browser-sync": "^2.26.14",
59
- "critical": "^2.0.6",
65
+ "@storybook/addon-essentials": "^6.3.12",
66
+ "@storybook/addon-links": "^6.3.12",
67
+ "@storybook/html": "^6.3.12",
68
+ "apexcharts": "^3.29.0",
69
+ "autoprefixer": "^10.3.7",
70
+ "autosize": "^5.0.1",
71
+ "browser-sync": "^2.27.5",
72
+ "bundlewatch": "^0.3.2",
73
+ "choices.js": "^9.0.1",
74
+ "chromatic": "^6.0.5",
75
+ "countup.js": "^2.0.8",
76
+ "critical": "^4.0.1",
60
77
  "cross-spawn": "^7.0.3",
78
+ "flatpickr": "^4.6.9",
61
79
  "gulp": "^4.0.2",
62
80
  "gulp-clean": "^0.4.0",
63
81
  "gulp-clean-css": "^4.3.0",
64
82
  "gulp-debug": "^4.0.0",
65
83
  "gulp-header": "^2.0.9",
66
84
  "gulp-minify": "^3.1.0",
67
- "gulp-postcss": "^9.0.0",
68
- "gulp-purgecss": "^4.0.0",
85
+ "gulp-postcss": "^9.0.1",
86
+ "gulp-purgecss": "^4.0.3",
69
87
  "gulp-rename": "^2.0.0",
70
- "gulp-rtlcss": "^1.4.1",
71
- "gulp-sass": "^4.1.0",
72
- "postcss": "^8.2.6",
73
- "release-it": "^14.4.0",
74
- "rollup": "^2.39.0",
88
+ "gulp-rtlcss": "^1.4.2",
89
+ "gulp-sass": "^5.0.0",
90
+ "imask": "^6.2.2",
91
+ "litepicker": "^2.0.11",
92
+ "node-sass": "^6.0.1",
93
+ "nouislider": "^15.5.0",
94
+ "postcss": "^8.3.11",
95
+ "release-it": "^14.11.6",
96
+ "rollup": "^2.58.0",
75
97
  "rollup-plugin-babel": "^4.4.0",
76
98
  "rollup-plugin-cleanup": "^3.2.1",
99
+ "storybook-addon-outline": "^1.4.1",
100
+ "tom-select": "^1.7.8",
77
101
  "vinyl-buffer": "^1.0.1",
78
102
  "vinyl-source-stream": "^2.0.0",
79
- "yaml": "^1.10.0",
80
- "yargs": "^16.2.0"
103
+ "yaml": "^1.10.2",
104
+ "yargs": "^17.2.1"
81
105
  },
82
106
  "dependencies": {
83
- "@popperjs/core": "^2.7.0",
84
- "@tabler/icons": "^1.39.1",
85
- "apexcharts": "^3.25.0",
86
- "autosize": "^4.0.2",
87
- "bootstrap": "twbs/bootstrap#5c32767e0e0dbac2d934bcdee03719a65d3f1187",
107
+ "@popperjs/core": "^2.10.2",
108
+ "@tabler/icons": "^1.44.0",
109
+ "bootstrap": "5.1.3"
110
+ },
111
+ "peerDependencies": {
112
+ "apexcharts": "^3.29.0",
113
+ "autosize": "^5.0.1",
88
114
  "choices.js": "^9.0.1",
89
- "countup.js": "^2.0.7",
115
+ "countup.js": "^2.0.8",
90
116
  "flatpickr": "^4.6.9",
91
- "imask": "^6.0.7",
92
- "litepicker": "^2.0.6",
93
- "nouislider": "^14.6.3"
117
+ "imask": "^6.2.2",
118
+ "litepicker": "^2.0.11",
119
+ "nouislider": "^15.5.0",
120
+ "tom-select": "^1.7.8"
121
+ },
122
+ "peerDependenciesMeta": {
123
+ "apexcharts": {
124
+ "optional": true
125
+ },
126
+ "autosize": {
127
+ "optional": true
128
+ },
129
+ "choices.js": {
130
+ "optional": true
131
+ },
132
+ "countup.js": {
133
+ "optional": true
134
+ },
135
+ "flatpickr": {
136
+ "optional": true
137
+ },
138
+ "imask": {
139
+ "optional": true
140
+ },
141
+ "litepicker": {
142
+ "optional": true
143
+ },
144
+ "nouislider": {
145
+ "optional": true
146
+ },
147
+ "tom-select": {
148
+ "optional": true
149
+ }
94
150
  },
95
151
  "resolutions": {
96
152
  "**/**/node-gyp": "^5.0.0"
package/src/js/demo.js ADDED
@@ -0,0 +1,98 @@
1
+ // Setting items
2
+ const items = {
3
+ 'theme': { localStorage: 'tablerTheme', default: 'light' },
4
+ 'menu-position': { localStorage: 'tablerMenuPosition', default: 'top' },
5
+ 'menu-behavior': { localStorage: 'tablerMenuBehavior', default: 'sticky' },
6
+ 'container-layout': { localStorage: 'tablerContainerLayout', default: 'boxed' },
7
+ }
8
+
9
+ // Theme config
10
+ const config = {}
11
+ for (const [key, params] of Object.entries(items)) {
12
+ config[key] = localStorage.getItem(params.localStorage) ? localStorage.getItem(params.localStorage) : params.default
13
+ }
14
+
15
+ // Parse url params
16
+ const parseUrl = () => {
17
+ const search = window.location.search.substring(1)
18
+ const params = search.split('&')
19
+
20
+ for (let i = 0; i < params.length; i++) {
21
+ const arr = params[i].split('=')
22
+ const key = arr[0]
23
+ const value = arr[1]
24
+
25
+ if (!!items[key]) {
26
+ // Save to localStorage
27
+ localStorage.setItem(items[key].localStorage, value)
28
+
29
+ // Update local variables
30
+ config[key] = value
31
+ }
32
+ }
33
+ }
34
+
35
+ // Toggle form controls
36
+ const toggleFormControls = (form) => {
37
+ for (const [key, params] of Object.entries(items)) {
38
+ const elem = form.querySelector(`[name="settings-${key}"][value="${config[key]}"]`)
39
+
40
+ if (elem) {
41
+ elem.checked = true
42
+ }
43
+ }
44
+ }
45
+
46
+ // Update body classes
47
+ const updateBodyClasses = () => {
48
+ document.body.classList.remove('theme-dark');
49
+ document.body.classList.remove('theme-light');
50
+
51
+ document.body.classList.add(`theme-${config.theme}`);
52
+
53
+ // for (const [key, params] of Object.entries(items)) {
54
+ // document.body.setAttribute(`data-${key}`, config[key]);
55
+ // }
56
+ }
57
+
58
+ // Submit form
59
+ const submitForm = (form) => {
60
+ // Save data to localStorage
61
+ for (const [key, params] of Object.entries(items)) {
62
+ // Save to localStorage
63
+ const value = form.querySelector(`[name="settings-${key}"]:checked`).value
64
+ localStorage.setItem(params.localStorage, value)
65
+
66
+ // Update local variables
67
+ config[key] = value
68
+ }
69
+
70
+ // Update body classes
71
+ updateBodyClasses();
72
+
73
+ window.dispatchEvent(new Event('resize'));
74
+
75
+ (new bootstrap.Offcanvas(form)).hide()
76
+ }
77
+
78
+
79
+ // Parse url
80
+ parseUrl()
81
+
82
+ // Update body classes
83
+ updateBodyClasses();
84
+
85
+ // Elements
86
+ const form = document.querySelector('#offcanvasSettings')
87
+
88
+ // Toggle form controls
89
+ if (form) {
90
+
91
+ form.addEventListener('submit', function (e) {
92
+ e.preventDefault()
93
+
94
+ submitForm(form)
95
+ })
96
+
97
+ toggleFormControls(form)
98
+ }
File without changes
@@ -0,0 +1,9 @@
1
+ import { Dropdown } from 'bootstrap';
2
+
3
+ /*
4
+ Core dropdowns
5
+ */
6
+ let dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]'));
7
+ dropdownTriggerList.map(function (dropdownTriggerEl) {
8
+ return new Dropdown(dropdownTriggerEl);
9
+ });
File without changes
File without changes
File without changes
@@ -0,0 +1,14 @@
1
+ import { Tab } from 'bootstrap';
2
+
3
+ export const EnableActivationTabsFromLocationHash = () => {
4
+ const locationHash = window.location.hash;
5
+
6
+ if (locationHash) {
7
+ const tabsList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]'));
8
+ const matchedTabs = tabsList.filter(tab => tab.hash === locationHash);
9
+
10
+ matchedTabs.map(tab => {
11
+ new Tab(tab).show();
12
+ });
13
+ }
14
+ }
File without changes
File without changes