@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.
- package/README.md +11 -0
- package/dist/.DS_Store +0 -0
- package/dist/css/demo.css +55 -23
- package/dist/css/demo.min.css +3 -3
- package/dist/css/demo.rtl.css +55 -23
- package/dist/css/demo.rtl.min.css +3 -3
- package/dist/css/tabler-flags.css +7 -3
- package/dist/css/tabler-flags.min.css +3 -3
- package/dist/css/tabler-flags.rtl.css +7 -3
- package/dist/css/tabler-flags.rtl.min.css +3 -3
- package/dist/css/tabler-payments.css +6 -2
- package/dist/css/tabler-payments.min.css +3 -3
- package/dist/css/tabler-payments.rtl.css +6 -2
- package/dist/css/tabler-payments.rtl.min.css +3 -3
- package/dist/css/tabler-vendors.css +463 -370
- package/dist/css/tabler-vendors.min.css +3 -3
- package/dist/css/tabler-vendors.rtl.css +463 -370
- package/dist/css/tabler-vendors.rtl.min.css +3 -3
- package/dist/css/tabler.css +2165 -1401
- package/dist/css/tabler.min.css +8 -3
- package/dist/css/tabler.rtl.css +2166 -1402
- package/dist/css/tabler.rtl.min.css +8 -3
- package/dist/js/demo.js +151 -0
- package/dist/js/demo.min.js +9 -0
- package/dist/js/tabler.esm.js +7791 -0
- package/dist/js/tabler.esm.min.js +9 -0
- package/dist/js/tabler.js +2422 -2708
- package/dist/js/tabler.min.js +3 -3
- package/dist/libs/apexcharts/dist/apexcharts.min.js +5 -5
- package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
- package/dist/libs/countup.js/dist/countUp.js +3 -3
- package/dist/libs/litepicker/dist/litepicker.js +3 -3
- package/dist/libs/nouislider/dist/nouislider.min.js +1 -0
- package/dist/libs/tom-select/dist/js/tom-select.base.min.js +300 -0
- package/package.json +85 -29
- package/src/js/demo.js +98 -0
- package/src/js/{autosize.js → src/autosize.js} +0 -0
- package/src/js/src/dropdown.js +9 -0
- package/src/js/{input-mask.js → src/input-mask.js} +0 -0
- package/src/js/{popover.js → src/popover.js} +0 -0
- package/src/js/{switch-icon.js → src/switch-icon.js} +0 -0
- package/src/js/src/tab.js +14 -0
- package/src/js/{toast.js → src/toast.js} +0 -0
- package/src/js/{tooltip.js → src/tooltip.js} +0 -0
- package/src/js/tabler.esm.js +10 -0
- package/src/js/tabler.js +12 -7
- package/src/scss/_bootstrap-components.scss +3 -0
- package/src/scss/_bootstrap-config.scss +1 -0
- package/src/scss/{_tabler-core.scss → _core.scss} +2 -1
- package/src/scss/_mixins-override.scss +3 -3
- package/src/scss/_utilities.scss +12 -2
- package/src/scss/_variables.scss +123 -72
- package/src/scss/demo/_examples.scss +11 -2
- package/src/scss/demo.scss +31 -2
- package/src/scss/layout/_core.scss +23 -5
- package/src/scss/layout/_dark.scss +168 -0
- package/src/scss/layout/_footer.scss +2 -5
- package/src/scss/layout/_navbar.scss +17 -9
- package/src/scss/layout/_page.scss +79 -14
- package/src/scss/mixins/_functions.scss +2 -6
- package/src/scss/mixins/_mixins.scss +18 -29
- package/src/scss/tabler-vendors.scss +2 -2
- package/src/scss/tabler.scss +1 -1
- package/src/scss/ui/_accordion.scss +1 -0
- package/src/scss/ui/_alerts.scss +8 -3
- package/src/scss/ui/_avatars.scss +15 -6
- package/src/scss/ui/_badges.scss +11 -0
- package/src/scss/ui/_breadcrumbs.scss +8 -14
- package/src/scss/ui/_buttons.scss +30 -39
- package/src/scss/ui/_calendars.scss +3 -3
- package/src/scss/ui/_cards.scss +36 -13
- package/src/scss/ui/_flags.scss +1 -1
- package/src/scss/ui/_forms.scss +9 -10
- package/src/scss/ui/_grid.scss +6 -6
- package/src/scss/ui/_icons.scss +4 -3
- package/src/scss/ui/_images.scss +1 -1
- package/src/scss/ui/_legend.scss +1 -1
- package/src/scss/ui/_lists.scss +2 -2
- package/src/scss/ui/_markdown.scss +13 -30
- package/src/scss/ui/_modals.scss +2 -2
- package/src/scss/ui/_nav.scss +26 -33
- package/src/scss/ui/_offcanvas.scss +21 -0
- package/src/scss/ui/_progress.scss +2 -1
- package/src/scss/ui/_ribbons.scss +7 -2
- package/src/scss/ui/_skeleton.scss +1 -1
- package/src/scss/ui/_steps.scss +2 -2
- package/src/scss/ui/_switch-icon.scss +5 -5
- package/src/scss/ui/_tables.scss +4 -2
- package/src/scss/ui/_type.scss +8 -8
- package/src/scss/ui/forms/_form-check.scss +11 -3
- package/src/scss/ui/forms/_form-colorinput.scss +1 -1
- package/src/scss/ui/forms/_form-imagecheck.scss +5 -5
- package/src/scss/ui/forms/_form-selectgroup.scss +9 -3
- package/src/scss/ui/forms/_validation.scss +1 -1
- package/src/scss/utils/_background.scss +2 -2
- package/src/scss/utils/_colors.scss +28 -16
- package/src/scss/utils/_opacity.scss +1 -1
- package/src/scss/vendor/_apexcharts.scss +1 -47
- package/src/scss/vendor/_litepicker.scss +5 -2
- package/src/scss/vendor/_nouislider.scss +3 -3
- package/src/scss/vendor/_tom-select.scss +12 -0
- package/dist/libs/choices.js/public/assets/scripts/choices.js +0 -5603
- package/dist/libs/nouislider/distribute/nouislider.min.js +0 -2
- package/src/js/dropdown.js +0 -40
- package/src/scss/_dark.scss +0 -105
- 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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),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>…</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-
|
|
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": ">=
|
|
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.
|
|
52
|
-
"@babel/preset-env": "^7.
|
|
53
|
-
"@rollup/plugin-commonjs": "^
|
|
54
|
-
"@rollup/plugin-node-resolve": "^
|
|
55
|
-
"@rollup/plugin-replace": "^
|
|
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
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
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.
|
|
68
|
-
"gulp-purgecss": "^4.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.
|
|
71
|
-
"gulp-sass": "^
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
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.
|
|
80
|
-
"yargs": "^
|
|
103
|
+
"yaml": "^1.10.2",
|
|
104
|
+
"yargs": "^17.2.1"
|
|
81
105
|
},
|
|
82
106
|
"dependencies": {
|
|
83
|
-
"@popperjs/core": "^2.
|
|
84
|
-
"@tabler/icons": "^1.
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
|
|
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.
|
|
115
|
+
"countup.js": "^2.0.8",
|
|
90
116
|
"flatpickr": "^4.6.9",
|
|
91
|
-
"imask": "^6.
|
|
92
|
-
"litepicker": "^2.0.
|
|
93
|
-
"nouislider": "^
|
|
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
|