@oiz/stzh-components 2.6.0 → 2.7.0-alpha
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/dist/cjs/{app-globals-4dcdf160.js → app-globals-5dfa53d1.js} +2 -2
- package/dist/cjs/{app-globals-4dcdf160.js.map → app-globals-5dfa53d1.js.map} +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stzh-amount.cjs.entry.js +30 -79
- package/dist/cjs/stzh-amount.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-components.cjs.js +2 -2
- package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-dropdown.cjs.entry.js +60 -25
- package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-monthyearpicker.cjs.entry.js +191 -0
- package/dist/cjs/stzh-monthyearpicker.cjs.entry.js.map +1 -0
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-timepicker.cjs.entry.js +82 -0
- package/dist/cjs/stzh-timepicker.cjs.entry.js.map +1 -0
- package/dist/cjs/translation-utils-73073e44.js.map +1 -1
- package/dist/collection/assets/i18n/de.json +10 -7
- package/dist/collection/assets/i18n/en.json +8 -5
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/stzh-amount/stzh-amount.js +32 -85
- package/dist/collection/components/stzh-amount/stzh-amount.js.map +1 -1
- package/dist/collection/components/stzh-amount/stzh-amount.localization.js.map +1 -1
- package/dist/collection/components/stzh-amount/stzh-amount.stories.js +1 -1
- package/dist/collection/components/stzh-datepicker/stzh-datepicker.js +1 -1
- package/dist/collection/components/stzh-datepicker/stzh-datepicker.js.map +1 -1
- package/dist/collection/components/stzh-datepicker/stzh-datepicker.stories.js +3 -0
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +32 -20
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +40 -9
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.js.map +1 -1
- package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.css +123 -0
- package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.js +724 -0
- package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.js.map +1 -0
- package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.localization.js +2 -0
- package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.localization.js.map +1 -0
- package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.stories.js +61 -0
- package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +1 -1
- package/dist/collection/components/stzh-timepicker/stzh-timepicker.css +109 -0
- package/dist/collection/components/stzh-timepicker/stzh-timepicker.js +438 -0
- package/dist/collection/components/stzh-timepicker/stzh-timepicker.js.map +1 -0
- package/dist/collection/components/stzh-timepicker/stzh-timepicker.localization.js +2 -0
- package/dist/collection/components/stzh-timepicker/stzh-timepicker.localization.js.map +1 -0
- package/dist/collection/components/stzh-timepicker/stzh-timepicker.stories.js +45 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/libraries/tom-select/cjs/tom-select.complete.js +47 -18
- package/dist/collection/libraries/tom-select/cjs/tom-select.js +47 -18
- package/dist/collection/libraries/tom-select/cjs/tom-select.popular.js +47 -18
- package/dist/collection/libraries/tom-select/esm/tom-select.complete.js +47 -18
- package/dist/collection/libraries/tom-select/esm/tom-select.js +47 -18
- package/dist/collection/libraries/tom-select/esm/tom-select.popular.js +47 -18
- package/dist/collection/libraries/tom-select/js/tom-select.base.js +47 -18
- package/dist/collection/libraries/tom-select/js/tom-select.base.min.js +16 -17
- package/dist/collection/libraries/tom-select/js/tom-select.complete.js +47 -18
- package/dist/collection/libraries/tom-select/js/tom-select.complete.min.js +12 -13
- package/dist/collection/libraries/tom-select/js/tom-select.popular.js +47 -18
- package/dist/collection/libraries/tom-select/js/tom-select.popular.min.js +21 -22
- package/dist/collection/utils/translation-utils.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/stzh-amount.js +40 -83
- package/dist/components/stzh-amount.js.map +1 -1
- package/dist/components/stzh-buttongroup.js +1 -31
- package/dist/components/stzh-buttongroup.js.map +1 -1
- package/dist/components/stzh-buttongroup2.js +35 -0
- package/dist/components/stzh-buttongroup2.js.map +1 -0
- package/dist/components/stzh-datepicker2.js.map +1 -1
- package/dist/components/stzh-dropdown2.js +61 -25
- package/dist/components/stzh-dropdown2.js.map +1 -1
- package/dist/components/stzh-monthyearpicker.d.ts +11 -0
- package/dist/components/stzh-monthyearpicker.js +251 -0
- package/dist/components/stzh-monthyearpicker.js.map +1 -0
- package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
- package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
- package/dist/components/stzh-timepicker.d.ts +11 -0
- package/dist/components/stzh-timepicker.js +132 -0
- package/dist/components/stzh-timepicker.js.map +1 -0
- package/dist/components/translation-utils.js.map +1 -1
- package/dist/esm/{app-globals-91875913.js → app-globals-862dc6d0.js} +2 -2
- package/dist/esm/{app-globals-91875913.js.map → app-globals-862dc6d0.js.map} +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/stzh-amount.entry.js +30 -79
- package/dist/esm/stzh-amount.entry.js.map +1 -1
- package/dist/esm/stzh-components.js +2 -2
- package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
- package/dist/esm/stzh-dropdown.entry.js +60 -25
- package/dist/esm/stzh-dropdown.entry.js.map +1 -1
- package/dist/esm/stzh-monthyearpicker.entry.js +187 -0
- package/dist/esm/stzh-monthyearpicker.entry.js.map +1 -0
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
- package/dist/esm/stzh-timepicker.entry.js +78 -0
- package/dist/esm/stzh-timepicker.entry.js.map +1 -0
- package/dist/esm/translation-utils-2623783f.js.map +1 -1
- package/dist/esm-es5/{app-globals-91875913.js → app-globals-862dc6d0.js} +2 -2
- package/dist/esm-es5/{app-globals-91875913.js.map → app-globals-862dc6d0.js.map} +1 -1
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/stzh-amount.entry.js +1 -1
- package/dist/esm-es5/stzh-amount.entry.js.map +1 -1
- package/dist/esm-es5/stzh-components.js +1 -1
- package/dist/esm-es5/stzh-components.js.map +1 -1
- package/dist/esm-es5/stzh-datepicker_3.entry.js.map +1 -1
- package/dist/esm-es5/stzh-dropdown.entry.js +2 -2
- package/dist/esm-es5/stzh-dropdown.entry.js.map +1 -1
- package/dist/esm-es5/stzh-monthyearpicker.entry.js +2 -0
- package/dist/esm-es5/stzh-monthyearpicker.entry.js.map +1 -0
- package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js +1 -1
- package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js.map +1 -1
- package/dist/esm-es5/stzh-timepicker.entry.js +2 -0
- package/dist/esm-es5/stzh-timepicker.entry.js.map +1 -0
- package/dist/esm-es5/translation-utils-2623783f.js.map +1 -1
- package/dist/stzh-components/assets/i18n/de.json +10 -7
- package/dist/stzh-components/assets/i18n/en.json +8 -5
- package/dist/stzh-components/index.esm.js.map +1 -1
- package/dist/stzh-components/p-14e782cb.entry.js +2 -0
- package/dist/stzh-components/{p-85504842.entry.js.map → p-14e782cb.entry.js.map} +1 -1
- package/dist/stzh-components/p-1678e09c.system.js +2 -0
- package/dist/stzh-components/{p-3e10addb.system.js.map → p-1678e09c.system.js.map} +1 -1
- package/dist/stzh-components/p-25a09313.js.map +1 -1
- package/dist/stzh-components/{p-61b66e55.system.js → p-3b4833a0.system.js} +2 -2
- package/dist/stzh-components/{p-61b66e55.system.js.map → p-3b4833a0.system.js.map} +1 -1
- package/dist/stzh-components/p-51f1714c.system.entry.js +2 -0
- package/dist/stzh-components/p-51f1714c.system.entry.js.map +1 -0
- package/dist/stzh-components/p-5aa96b49.system.entry.js +2 -0
- package/dist/stzh-components/p-5aa96b49.system.entry.js.map +1 -0
- package/dist/stzh-components/p-82e886d4.entry.js.map +1 -1
- package/dist/stzh-components/p-9f31cf7d.entry.js +2 -0
- package/dist/stzh-components/p-9f31cf7d.entry.js.map +1 -0
- package/dist/stzh-components/p-9fe69be8.system.entry.js +2 -0
- package/dist/stzh-components/{p-479a02fb.system.entry.js.map → p-9fe69be8.system.entry.js.map} +1 -1
- package/dist/stzh-components/p-a408bfba.system.js.map +1 -1
- package/dist/stzh-components/p-ad33db31.entry.js +2 -0
- package/dist/stzh-components/p-ad33db31.entry.js.map +1 -0
- package/dist/stzh-components/p-b5cda655.entry.js +2 -0
- package/dist/stzh-components/p-b5cda655.entry.js.map +1 -0
- package/dist/stzh-components/{p-362af013.js → p-bc82ed48.js} +2 -2
- package/dist/stzh-components/{p-362af013.js.map → p-bc82ed48.js.map} +1 -1
- package/dist/stzh-components/p-c0f971f2.entry.js +9 -0
- package/dist/stzh-components/p-c0f971f2.entry.js.map +1 -0
- package/dist/stzh-components/p-c901fe72.system.entry.js +9 -0
- package/dist/stzh-components/p-c901fe72.system.entry.js.map +1 -0
- package/dist/stzh-components/p-e8545386.system.entry.js +2 -0
- package/dist/stzh-components/p-e8545386.system.entry.js.map +1 -0
- package/dist/stzh-components/p-eaa65f52.system.js.map +1 -1
- package/dist/stzh-components/p-f2d74491.system.entry.js.map +1 -1
- package/dist/stzh-components/stzh-components.css +1 -1
- package/dist/stzh-components/stzh-components.esm.js +1 -1
- package/dist/stzh-components/stzh-components.esm.js.map +1 -1
- package/dist/stzh-components/stzh-components.js +1 -1
- package/dist/types/components/stzh-amount/stzh-amount.localization.d.ts +0 -2
- package/dist/types/components/stzh-monthyearpicker/stzh-monthyearpicker.localization.d.ts +5 -0
- package/dist/types/components/stzh-timepicker/stzh-timepicker.localization.d.ts +2 -0
- package/dist/types/components.d.ts +428 -6
- package/dist/types/index.d.ts +14 -0
- package/dist/types/utils/translation-utils.d.ts +1 -0
- package/dist/vscode-data.json +263 -1
- package/package.json +1 -1
- package/dist/stzh-components/p-1cc48f98.entry.js +0 -9
- package/dist/stzh-components/p-1cc48f98.entry.js.map +0 -1
- package/dist/stzh-components/p-3e10addb.system.js +0 -2
- package/dist/stzh-components/p-479a02fb.system.entry.js +0 -2
- package/dist/stzh-components/p-67b11b03.system.entry.js +0 -2
- package/dist/stzh-components/p-67b11b03.system.entry.js.map +0 -1
- package/dist/stzh-components/p-6bb83b30.system.entry.js +0 -9
- package/dist/stzh-components/p-6bb83b30.system.entry.js.map +0 -1
- package/dist/stzh-components/p-85504842.entry.js +0 -2
- package/dist/stzh-components/p-c94f7331.entry.js +0 -2
- package/dist/stzh-components/p-c94f7331.entry.js.map +0 -1
|
@@ -2132,17 +2132,24 @@
|
|
|
2132
2132
|
const query = "label[for='" + escapeQuery(self.inputId) + "']";
|
|
2133
2133
|
const label = document.querySelector(query);
|
|
2134
2134
|
const label_click = self.focus.bind(self);
|
|
2135
|
+
const labelled_by = input.getAttribute('aria-labelledby');
|
|
2135
2136
|
if (label) {
|
|
2136
2137
|
addEvent(label, 'click', label_click);
|
|
2137
2138
|
setAttr(label, {
|
|
2138
2139
|
for: control_id
|
|
2139
2140
|
});
|
|
2140
|
-
|
|
2141
|
+
|
|
2142
|
+
// const label_id = getId(label,self.inputId+'-ts-label');
|
|
2143
|
+
// setAttr(focus_node,{'aria-labelledby':label_id});
|
|
2144
|
+
// setAttr(dropdown_content,{'aria-labelledby':label_id});
|
|
2145
|
+
}
|
|
2146
|
+
|
|
2147
|
+
if (labelled_by) {
|
|
2141
2148
|
setAttr(focus_node, {
|
|
2142
|
-
'aria-labelledby':
|
|
2149
|
+
'aria-labelledby': labelled_by
|
|
2143
2150
|
});
|
|
2144
2151
|
setAttr(dropdown_content, {
|
|
2145
|
-
'aria-labelledby':
|
|
2152
|
+
'aria-labelledby': labelled_by
|
|
2146
2153
|
});
|
|
2147
2154
|
}
|
|
2148
2155
|
wrapper.style.width = input.style.width;
|
|
@@ -2150,10 +2157,15 @@
|
|
|
2150
2157
|
const classes_plugins = 'plugin-' + self.plugins.names.join(' plugin-');
|
|
2151
2158
|
addClasses([wrapper, dropdown], classes_plugins);
|
|
2152
2159
|
}
|
|
2153
|
-
if (
|
|
2154
|
-
setAttr(
|
|
2155
|
-
|
|
2160
|
+
if (settings.mode === 'multi') {
|
|
2161
|
+
setAttr(dropdown_content, {
|
|
2162
|
+
'aria-multiselectable': 'true'
|
|
2156
2163
|
});
|
|
2164
|
+
if (self.is_select_tag) {
|
|
2165
|
+
setAttr(input, {
|
|
2166
|
+
multiple: 'multiple'
|
|
2167
|
+
});
|
|
2168
|
+
}
|
|
2157
2169
|
}
|
|
2158
2170
|
if (settings.placeholder) {
|
|
2159
2171
|
setAttr(control_input, {
|
|
@@ -2809,7 +2821,7 @@
|
|
|
2809
2821
|
*
|
|
2810
2822
|
*/
|
|
2811
2823
|
getValue() {
|
|
2812
|
-
if (this.
|
|
2824
|
+
if (this.settings.mode === 'multi' && this.is_select_tag) {
|
|
2813
2825
|
return this.items;
|
|
2814
2826
|
}
|
|
2815
2827
|
return this.items.join(this.settings.delimiter);
|
|
@@ -2942,9 +2954,11 @@
|
|
|
2942
2954
|
setAttr(this.focus_node, {
|
|
2943
2955
|
'aria-activedescendant': option.getAttribute('id')
|
|
2944
2956
|
});
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2957
|
+
if (this.settings.mode === 'single' || this.settings.hideSelected) {
|
|
2958
|
+
setAttr(option, {
|
|
2959
|
+
'aria-selected': 'true'
|
|
2960
|
+
});
|
|
2961
|
+
}
|
|
2948
2962
|
addClasses(option, 'active');
|
|
2949
2963
|
if (scroll) this.scrollToOption(option);
|
|
2950
2964
|
}
|
|
@@ -2987,9 +3001,11 @@
|
|
|
2987
3001
|
clearActiveOption() {
|
|
2988
3002
|
if (this.activeOption) {
|
|
2989
3003
|
removeClasses(this.activeOption, 'active');
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
3004
|
+
if (this.settings.mode === 'single' || this.settings.hideSelected) {
|
|
3005
|
+
setAttr(this.activeOption, {
|
|
3006
|
+
'aria-selected': null
|
|
3007
|
+
});
|
|
3008
|
+
}
|
|
2993
3009
|
}
|
|
2994
3010
|
this.activeOption = null;
|
|
2995
3011
|
setAttr(this.focus_node, {
|
|
@@ -3204,10 +3220,16 @@
|
|
|
3204
3220
|
if (option === undefined) continue;
|
|
3205
3221
|
let opt_hash = get_hash(opt_value);
|
|
3206
3222
|
let option_el = self.getOption(opt_hash, true);
|
|
3223
|
+
const option_selected = self.items.includes(opt_hash);
|
|
3207
3224
|
|
|
3208
3225
|
// toggle 'selected' class
|
|
3209
3226
|
if (!self.settings.hideSelected) {
|
|
3210
|
-
option_el.classList.toggle('selected',
|
|
3227
|
+
option_el.classList.toggle('selected', option_selected);
|
|
3228
|
+
if (this.settings.mode === 'multi') {
|
|
3229
|
+
setAttr(option_el, {
|
|
3230
|
+
'aria-selected': option_selected ? 'true' : 'false'
|
|
3231
|
+
});
|
|
3232
|
+
}
|
|
3211
3233
|
}
|
|
3212
3234
|
optgroup = option[self.settings.optgroupField] || '';
|
|
3213
3235
|
optgroups = Array.isArray(optgroup) ? optgroup : [optgroup];
|
|
@@ -3225,10 +3247,17 @@
|
|
|
3225
3247
|
// nodes can only have one parent, so if the option is in mutple groups, we need a clone
|
|
3226
3248
|
if (j > 0) {
|
|
3227
3249
|
option_el = option_el.cloneNode(true);
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3250
|
+
if (this.settings.mode === 'multi' && !self.settings.hideSelected) {
|
|
3251
|
+
setAttr(option_el, {
|
|
3252
|
+
id: option.$id + '-clone-' + j,
|
|
3253
|
+
'aria-selected': option_selected ? 'true' : 'false'
|
|
3254
|
+
});
|
|
3255
|
+
} else {
|
|
3256
|
+
setAttr(option_el, {
|
|
3257
|
+
id: option.$id + '-clone-' + j,
|
|
3258
|
+
'aria-selected': null
|
|
3259
|
+
});
|
|
3260
|
+
}
|
|
3232
3261
|
option_el.classList.add('ts-cloned');
|
|
3233
3262
|
removeClasses(option_el, 'active');
|
|
3234
3263
|
|
|
@@ -169,18 +169,16 @@ if(H(r,n.wrapperClass,d,u),H(l,n.controlClass),ae(r,l),H(a,n.dropdownClass,u),n.
|
|
|
169
169
|
E(["autocorrect","autocapitalize","autocomplete"],(e=>{s.getAttribute(e)&&G(p,{[e]:s.getAttribute(e)})})),p.tabIndex=-1,l.appendChild(p),this.focus_node=p}else n.controlInput?(p=V(n.controlInput),this.focus_node=p):(p=V("<input/>"),this.focus_node=l)
|
|
170
170
|
this.wrapper=r,this.dropdown=a,this.dropdown_content=c,this.control=l,this.control_input=p,this.setup()}setup(){const e=this,t=e.settings,i=e.control_input,s=e.dropdown,n=e.dropdown_content,o=e.wrapper,l=e.control,a=e.input,c=e.focus_node,d={passive:!0},u=e.inputId+"-ts-dropdown"
|
|
171
171
|
G(n,{id:u}),G(c,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":u})
|
|
172
|
-
const p=re(c,e.inputId+"-ts-control"),h="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",g=document.querySelector(h),f=e.focus.bind(e)
|
|
173
|
-
if(g
|
|
174
|
-
|
|
175
|
-
G(c,{"aria-labelledby":t}),G(n,{"aria-labelledby":t})}if(o.style.width=a.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-")
|
|
176
|
-
H([o,s],t)}(null===t.maxItems||t.maxItems>1)&&e.is_select_tag&&G(a,{multiple:"multiple"}),t.placeholder&&G(i,{placeholder:t.placeholder}),!t.splitOn&&t.delimiter&&(t.splitOn=new RegExp("\\s*"+r(t.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=te(t.load,t.loadThrottle)),e.control_input.type=a.type,ne(s,"mousemove",(()=>{e.ignoreHover=!1})),ne(s,"mouseenter",(t=>{var i=B(t.target,"[data-selectable]",s)
|
|
172
|
+
const p=re(c,e.inputId+"-ts-control"),h="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",g=document.querySelector(h),f=e.focus.bind(e),v=a.getAttribute("aria-labelledby")
|
|
173
|
+
if(g&&(ne(g,"click",f),G(g,{for:p})),v&&(G(c,{"aria-labelledby":v}),G(n,{"aria-labelledby":v})),o.style.width=a.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-")
|
|
174
|
+
H([o,s],t)}"multi"===t.mode&&(G(n,{"aria-multiselectable":"true"}),e.is_select_tag&&G(a,{multiple:"multiple"})),t.placeholder&&G(i,{placeholder:t.placeholder}),!t.splitOn&&t.delimiter&&(t.splitOn=new RegExp("\\s*"+r(t.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=te(t.load,t.loadThrottle)),e.control_input.type=a.type,ne(s,"mousemove",(()=>{e.ignoreHover=!1})),ne(s,"mouseenter",(t=>{var i=B(t.target,"[data-selectable]",s)
|
|
177
175
|
i&&e.onOptionHover(t,i)}),{capture:!0}),ne(s,"click",(t=>{const i=B(t.target,"[data-selectable]")
|
|
178
176
|
i&&(e.onOptionSelect(t,i),se(t,!0))})),ne(l,"click",(t=>{var s=B(t.target,"[data-ts-item]",l)
|
|
179
177
|
s&&e.onItemSelect(t,s)?se(t,!0):""==i.value&&(e.onClick(),se(t,!0))})),ne(c,"keydown",(t=>e.onKeyDown(t))),ne(i,"keypress",(t=>e.onKeyPress(t))),ne(i,"input",(t=>e.onInput(t))),ne(c,"blur",(t=>e.onBlur(t))),ne(c,"focus",(t=>e.onFocus(t))),ne(i,"paste",(t=>e.onPaste(t)))
|
|
180
|
-
const
|
|
178
|
+
const m=t=>{const n=t.composedPath()[0]
|
|
181
179
|
if(!o.contains(n)&&!s.contains(n))return e.isFocused&&e.blur(),void e.inputState()
|
|
182
|
-
n==i&&e.isOpen?t.stopPropagation():se(t,!0)},
|
|
183
|
-
ne(document,"mousedown",
|
|
180
|
+
n==i&&e.isOpen?t.stopPropagation():se(t,!0)},y=()=>{e.isOpen&&e.positionDropdown()}
|
|
181
|
+
ne(document,"mousedown",m),ne(window,"scroll",y,d),ne(window,"resize",y,d),this._destroy=()=>{document.removeEventListener("mousedown",m),window.removeEventListener("scroll",y),window.removeEventListener("resize",y),g&&g.removeEventListener("click",f)},this.revertSettings={innerHTML:a.innerHTML,tabIndex:a.tabIndex},a.tabIndex=-1,a.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,ne(a,"invalid",(()=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())})),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,a.disabled?e.disable():e.enable(),e.on("change",this.onChange),H(a,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),!0===t.preload&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),E(t,(e=>{this.registerOptionGroup(e)}))}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,s={optgroup:e=>{let t=document.createElement("div")
|
|
184
182
|
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>"}
|
|
185
183
|
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"}
|
|
186
184
|
for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){const t=this,i=e?ce(t.input,{delimiter:t.settings.delimiter}):t.settings
|
|
@@ -221,16 +219,16 @@ const i=t.loadCallback.bind(t)
|
|
|
221
219
|
t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this
|
|
222
220
|
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||z(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList
|
|
223
221
|
e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input
|
|
224
|
-
t.value!==e&&(t.value=e,D(t,"update"),this.lastValue=e)}getValue(){return
|
|
222
|
+
t.value!==e&&(t.value=e,D(t,"update"),this.lastValue=e)}getValue(){return"multi"===this.settings.mode&&this.is_select_tag?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){ie(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
|
|
225
223
|
if("single"!==a.settings.mode){if(!e)return a.clearActiveItems(),void(a.isFocused&&a.showInput())
|
|
226
224
|
if("click"===(i=t&&t.type.toLowerCase())&&oe("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)
|
|
227
225
|
se(t)}else"click"===i&&oe(W,t)||"keydown"===i&&oe("shiftKey",t)?e.classList.contains("active")?a.removeActiveItem(e):a.setActiveItemClass(e):(a.clearActiveItems(),a.setActiveItemClass(e))
|
|
228
226
|
a.hideInput(),a.isFocused||a.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active")
|
|
229
227
|
i&&z(i,"last-active"),H(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)
|
|
230
|
-
this.activeItems.splice(t,1),z(e,"active")}clearActiveItems(){z(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e,t=!0){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,G(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),G(e,{"aria-selected":"true"}),H(e,"active"),t&&this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return
|
|
228
|
+
this.activeItems.splice(t,1),z(e,"active")}clearActiveItems(){z(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e,t=!0){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,G(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),("single"===this.settings.mode||this.settings.hideSelected)&&G(e,{"aria-selected":"true"}),H(e,"active"),t&&this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return
|
|
231
229
|
const i=this.dropdown_content,s=i.clientHeight,n=i.scrollTop||0,o=e.offsetHeight,r=e.getBoundingClientRect().top-i.getBoundingClientRect().top+n
|
|
232
230
|
r+o>s+n?this.scroll(r-s+o,t):r<n&&this.scroll(r,t)}scroll(e,t){const i=this.dropdown_content
|
|
233
|
-
t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(z(this.activeOption,"active"),G(this.activeOption,{"aria-selected":null})),this.activeOption=null,G(this.focus_node,{"aria-activedescendant":null})}selectAll(){const e=this
|
|
231
|
+
t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(z(this.activeOption,"active"),("single"===this.settings.mode||this.settings.hideSelected)&&G(this.activeOption,{"aria-selected":null})),this.activeOption=null,G(this.focus_node,{"aria-activedescendant":null})}selectAll(){const e=this
|
|
234
232
|
if("single"===e.settings.mode)return
|
|
235
233
|
const t=e.controlChildren()
|
|
236
234
|
t.length&&(e.hideInput(),e.close(),e.activeItems=t,E(t,(t=>{e.setActiveItemClass(t)})))}inputState(){var e=this
|
|
@@ -249,9 +247,10 @@ if(!e)continue
|
|
|
249
247
|
let n=e.id,l=h.options[n]
|
|
250
248
|
if(void 0===l)continue
|
|
251
249
|
let a=Z(n),d=h.getOption(a,!0)
|
|
252
|
-
|
|
250
|
+
const g=h.items.includes(a)
|
|
251
|
+
for(h.settings.hideSelected||(d.classList.toggle("selected",g),"multi"===this.settings.mode&&G(d,{"aria-selected":g?"true":"false"})),o=l[h.settings.optgroupField]||"",i=0,s=(r=Array.isArray(o)?o:[o])&&r.length;i<s;i++){o=r[i],h.optgroups.hasOwnProperty(o)||(o="")
|
|
253
252
|
let e=u[o]
|
|
254
|
-
void 0===e&&(e=document.createDocumentFragment(),p.push(o)),i>0&&(d=d.cloneNode(!0),G(d,{id:l.$id+"-clone-"+i,"aria-selected":null}),d.classList.add("ts-cloned"),z(d,"active"),h.activeOption&&h.activeOption.dataset.value==n&&c&&c.dataset.group===o.toString()&&(y=d)),e.appendChild(d),u[o]=e}}h.settings.lockOptgroupOrder&&p.sort(((e,t)=>{const i=h.optgroups[e],s=h.optgroups[t]
|
|
253
|
+
void 0===e&&(e=document.createDocumentFragment(),p.push(o)),i>0&&(d=d.cloneNode(!0),"multi"!==this.settings.mode||h.settings.hideSelected?G(d,{id:l.$id+"-clone-"+i,"aria-selected":null}):G(d,{id:l.$id+"-clone-"+i,"aria-selected":g?"true":"false"}),d.classList.add("ts-cloned"),z(d,"active"),h.activeOption&&h.activeOption.dataset.value==n&&c&&c.dataset.group===o.toString()&&(y=d)),e.appendChild(d),u[o]=e}}h.settings.lockOptgroupOrder&&p.sort(((e,t)=>{const i=h.optgroups[e],s=h.optgroups[t]
|
|
255
254
|
return(i&&i.$order||0)-(s&&s.$order||0)})),l=document.createDocumentFragment(),E(p,(e=>{let t=u[e]
|
|
256
255
|
if(!t||!t.children.length)return
|
|
257
256
|
let i=h.optgroups[e]
|
|
@@ -2132,17 +2132,24 @@
|
|
|
2132
2132
|
const query = "label[for='" + escapeQuery(self.inputId) + "']";
|
|
2133
2133
|
const label = document.querySelector(query);
|
|
2134
2134
|
const label_click = self.focus.bind(self);
|
|
2135
|
+
const labelled_by = input.getAttribute('aria-labelledby');
|
|
2135
2136
|
if (label) {
|
|
2136
2137
|
addEvent(label, 'click', label_click);
|
|
2137
2138
|
setAttr(label, {
|
|
2138
2139
|
for: control_id
|
|
2139
2140
|
});
|
|
2140
|
-
|
|
2141
|
+
|
|
2142
|
+
// const label_id = getId(label,self.inputId+'-ts-label');
|
|
2143
|
+
// setAttr(focus_node,{'aria-labelledby':label_id});
|
|
2144
|
+
// setAttr(dropdown_content,{'aria-labelledby':label_id});
|
|
2145
|
+
}
|
|
2146
|
+
|
|
2147
|
+
if (labelled_by) {
|
|
2141
2148
|
setAttr(focus_node, {
|
|
2142
|
-
'aria-labelledby':
|
|
2149
|
+
'aria-labelledby': labelled_by
|
|
2143
2150
|
});
|
|
2144
2151
|
setAttr(dropdown_content, {
|
|
2145
|
-
'aria-labelledby':
|
|
2152
|
+
'aria-labelledby': labelled_by
|
|
2146
2153
|
});
|
|
2147
2154
|
}
|
|
2148
2155
|
wrapper.style.width = input.style.width;
|
|
@@ -2150,10 +2157,15 @@
|
|
|
2150
2157
|
const classes_plugins = 'plugin-' + self.plugins.names.join(' plugin-');
|
|
2151
2158
|
addClasses([wrapper, dropdown], classes_plugins);
|
|
2152
2159
|
}
|
|
2153
|
-
if (
|
|
2154
|
-
setAttr(
|
|
2155
|
-
|
|
2160
|
+
if (settings.mode === 'multi') {
|
|
2161
|
+
setAttr(dropdown_content, {
|
|
2162
|
+
'aria-multiselectable': 'true'
|
|
2156
2163
|
});
|
|
2164
|
+
if (self.is_select_tag) {
|
|
2165
|
+
setAttr(input, {
|
|
2166
|
+
multiple: 'multiple'
|
|
2167
|
+
});
|
|
2168
|
+
}
|
|
2157
2169
|
}
|
|
2158
2170
|
if (settings.placeholder) {
|
|
2159
2171
|
setAttr(control_input, {
|
|
@@ -2809,7 +2821,7 @@
|
|
|
2809
2821
|
*
|
|
2810
2822
|
*/
|
|
2811
2823
|
getValue() {
|
|
2812
|
-
if (this.
|
|
2824
|
+
if (this.settings.mode === 'multi' && this.is_select_tag) {
|
|
2813
2825
|
return this.items;
|
|
2814
2826
|
}
|
|
2815
2827
|
return this.items.join(this.settings.delimiter);
|
|
@@ -2942,9 +2954,11 @@
|
|
|
2942
2954
|
setAttr(this.focus_node, {
|
|
2943
2955
|
'aria-activedescendant': option.getAttribute('id')
|
|
2944
2956
|
});
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2957
|
+
if (this.settings.mode === 'single' || this.settings.hideSelected) {
|
|
2958
|
+
setAttr(option, {
|
|
2959
|
+
'aria-selected': 'true'
|
|
2960
|
+
});
|
|
2961
|
+
}
|
|
2948
2962
|
addClasses(option, 'active');
|
|
2949
2963
|
if (scroll) this.scrollToOption(option);
|
|
2950
2964
|
}
|
|
@@ -2987,9 +3001,11 @@
|
|
|
2987
3001
|
clearActiveOption() {
|
|
2988
3002
|
if (this.activeOption) {
|
|
2989
3003
|
removeClasses(this.activeOption, 'active');
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
3004
|
+
if (this.settings.mode === 'single' || this.settings.hideSelected) {
|
|
3005
|
+
setAttr(this.activeOption, {
|
|
3006
|
+
'aria-selected': null
|
|
3007
|
+
});
|
|
3008
|
+
}
|
|
2993
3009
|
}
|
|
2994
3010
|
this.activeOption = null;
|
|
2995
3011
|
setAttr(this.focus_node, {
|
|
@@ -3204,10 +3220,16 @@
|
|
|
3204
3220
|
if (option === undefined) continue;
|
|
3205
3221
|
let opt_hash = get_hash(opt_value);
|
|
3206
3222
|
let option_el = self.getOption(opt_hash, true);
|
|
3223
|
+
const option_selected = self.items.includes(opt_hash);
|
|
3207
3224
|
|
|
3208
3225
|
// toggle 'selected' class
|
|
3209
3226
|
if (!self.settings.hideSelected) {
|
|
3210
|
-
option_el.classList.toggle('selected',
|
|
3227
|
+
option_el.classList.toggle('selected', option_selected);
|
|
3228
|
+
if (this.settings.mode === 'multi') {
|
|
3229
|
+
setAttr(option_el, {
|
|
3230
|
+
'aria-selected': option_selected ? 'true' : 'false'
|
|
3231
|
+
});
|
|
3232
|
+
}
|
|
3211
3233
|
}
|
|
3212
3234
|
optgroup = option[self.settings.optgroupField] || '';
|
|
3213
3235
|
optgroups = Array.isArray(optgroup) ? optgroup : [optgroup];
|
|
@@ -3225,10 +3247,17 @@
|
|
|
3225
3247
|
// nodes can only have one parent, so if the option is in mutple groups, we need a clone
|
|
3226
3248
|
if (j > 0) {
|
|
3227
3249
|
option_el = option_el.cloneNode(true);
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3250
|
+
if (this.settings.mode === 'multi' && !self.settings.hideSelected) {
|
|
3251
|
+
setAttr(option_el, {
|
|
3252
|
+
id: option.$id + '-clone-' + j,
|
|
3253
|
+
'aria-selected': option_selected ? 'true' : 'false'
|
|
3254
|
+
});
|
|
3255
|
+
} else {
|
|
3256
|
+
setAttr(option_el, {
|
|
3257
|
+
id: option.$id + '-clone-' + j,
|
|
3258
|
+
'aria-selected': null
|
|
3259
|
+
});
|
|
3260
|
+
}
|
|
3232
3261
|
option_el.classList.add('ts-cloned');
|
|
3233
3262
|
removeClasses(option_el, 'active');
|
|
3234
3263
|
|
|
@@ -22,12 +22,12 @@ let p,h
|
|
|
22
22
|
const g={},f={"/":"⁄∕",0:"߀",a:"ⱥɐɑ",aa:"ꜳ",ae:"æǽǣ",ao:"ꜵ",au:"ꜷ",av:"ꜹꜻ",ay:"ꜽ",b:"ƀɓƃ",c:"ꜿƈȼↄ",d:"đɗɖᴅƌꮷԁɦ",e:"ɛǝᴇɇ",f:"ꝼƒ",g:"ǥɠꞡᵹꝿɢ",h:"ħⱨⱶɥ",i:"ɨı",j:"ɉȷ",k:"ƙⱪꝁꝃꝅꞣ",l:"łƚɫⱡꝉꝇꞁɭ",m:"ɱɯϻ",n:"ꞥƞɲꞑᴎлԉ",o:"øǿɔɵꝋꝍᴑ",oe:"œ",oi:"ƣ",oo:"ꝏ",ou:"ȣ",p:"ƥᵽꝑꝓꝕρ",q:"ꝗꝙɋ",r:"ɍɽꝛꞧꞃ",s:"ßȿꞩꞅʂ",t:"ŧƭʈⱦꞇ",th:"þ",tz:"ꜩ",u:"ʉ",v:"ʋꝟʌ",vy:"ꝡ",w:"ⱳ",y:"ƴɏỿ",z:"ƶȥɀⱬꝣ",hv:"ƕ"}
|
|
23
23
|
for(let t in f){let e=f[t]||""
|
|
24
24
|
for(let i=0;i<e.length;i++){let s=e.substring(i,i+1)
|
|
25
|
-
g[s]=t}}const v=new RegExp(Object.keys(g).join("|")+"|[̀-ͯ·ʾʼ]","gu"),m=(t,e="NFKD")=>t.normalize(e),y=t=>c(t).reduce(((t,e)=>t+
|
|
26
|
-
const
|
|
25
|
+
g[s]=t}}const v=new RegExp(Object.keys(g).join("|")+"|[̀-ͯ·ʾʼ]","gu"),m=(t,e="NFKD")=>t.normalize(e),y=t=>c(t).reduce(((t,e)=>t+b(e)),""),b=t=>(t=m(t).toLowerCase().replace(v,(t=>g[t]||"")),m(t,"NFC"))
|
|
26
|
+
const O=t=>{const e={},i=(t,i)=>{const s=e[t]||new Set,o=new RegExp("^"+n(s)+"$","iu")
|
|
27
27
|
i.match(o)||(s.add(r(i)),e[t]=s)}
|
|
28
28
|
for(let e of function*(t){for(const[e,i]of t)for(let t=e;t<=i;t++){let e=String.fromCharCode(t),i=y(e)
|
|
29
29
|
i!=e.toLowerCase()&&(i.length>3||0!=i.length&&(yield{folded:i,composed:e,code_point:t}))}}(t))i(e.folded,e.folded),i(e.folded,e.composed)
|
|
30
|
-
return e},w=t=>{const e=
|
|
30
|
+
return e},w=t=>{const e=O(t),s={}
|
|
31
31
|
let o=[]
|
|
32
32
|
for(let t in e){let i=e[t]
|
|
33
33
|
i&&(s[t]=n(i)),t.length>1&&o.push(r(t))}o.sort(((t,e)=>e.length-t.length))
|
|
@@ -169,18 +169,16 @@ if(N(r,n.wrapperClass,d,u),N(l,n.controlClass),lt(r,l),N(a,n.dropdownClass,u),n.
|
|
|
169
169
|
E(["autocorrect","autocapitalize","autocomplete"],(t=>{s.getAttribute(t)&&Q(p,{[t]:s.getAttribute(t)})})),p.tabIndex=-1,l.appendChild(p),this.focus_node=p}else n.controlInput?(p=V(n.controlInput),this.focus_node=p):(p=V("<input/>"),this.focus_node=l)
|
|
170
170
|
this.wrapper=r,this.dropdown=a,this.dropdown_content=c,this.control=l,this.control_input=p,this.setup()}setup(){const t=this,e=t.settings,i=t.control_input,s=t.dropdown,n=t.dropdown_content,o=t.wrapper,l=t.control,a=t.input,c=t.focus_node,d={passive:!0},u=t.inputId+"-ts-dropdown"
|
|
171
171
|
Q(n,{id:u}),Q(c,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":u})
|
|
172
|
-
const p=ot(c,t.inputId+"-ts-control"),h="label[for='"+(t=>t.replace(/['"\\]/g,"\\$&"))(t.inputId)+"']",g=document.querySelector(h),f=t.focus.bind(t)
|
|
173
|
-
if(g
|
|
174
|
-
|
|
175
|
-
Q(c,{"aria-labelledby":e}),Q(n,{"aria-labelledby":e})}if(o.style.width=a.style.width,t.plugins.names.length){const e="plugin-"+t.plugins.names.join(" plugin-")
|
|
176
|
-
N([o,s],e)}(null===e.maxItems||e.maxItems>1)&&t.is_select_tag&&Q(a,{multiple:"multiple"}),e.placeholder&&Q(i,{placeholder:e.placeholder}),!e.splitOn&&e.delimiter&&(e.splitOn=new RegExp("\\s*"+r(e.delimiter)+"+\\s*")),e.load&&e.loadThrottle&&(e.load=tt(e.load,e.loadThrottle)),t.control_input.type=a.type,st(s,"mousemove",(()=>{t.ignoreHover=!1})),st(s,"mouseenter",(e=>{var i=z(e.target,"[data-selectable]",s)
|
|
172
|
+
const p=ot(c,t.inputId+"-ts-control"),h="label[for='"+(t=>t.replace(/['"\\]/g,"\\$&"))(t.inputId)+"']",g=document.querySelector(h),f=t.focus.bind(t),v=a.getAttribute("aria-labelledby")
|
|
173
|
+
if(g&&(st(g,"click",f),Q(g,{for:p})),v&&(Q(c,{"aria-labelledby":v}),Q(n,{"aria-labelledby":v})),o.style.width=a.style.width,t.plugins.names.length){const e="plugin-"+t.plugins.names.join(" plugin-")
|
|
174
|
+
N([o,s],e)}"multi"===e.mode&&(Q(n,{"aria-multiselectable":"true"}),t.is_select_tag&&Q(a,{multiple:"multiple"})),e.placeholder&&Q(i,{placeholder:e.placeholder}),!e.splitOn&&e.delimiter&&(e.splitOn=new RegExp("\\s*"+r(e.delimiter)+"+\\s*")),e.load&&e.loadThrottle&&(e.load=tt(e.load,e.loadThrottle)),t.control_input.type=a.type,st(s,"mousemove",(()=>{t.ignoreHover=!1})),st(s,"mouseenter",(e=>{var i=z(e.target,"[data-selectable]",s)
|
|
177
175
|
i&&t.onOptionHover(e,i)}),{capture:!0}),st(s,"click",(e=>{const i=z(e.target,"[data-selectable]")
|
|
178
176
|
i&&(t.onOptionSelect(e,i),it(e,!0))})),st(l,"click",(e=>{var s=z(e.target,"[data-ts-item]",l)
|
|
179
177
|
s&&t.onItemSelect(e,s)?it(e,!0):""==i.value&&(t.onClick(),it(e,!0))})),st(c,"keydown",(e=>t.onKeyDown(e))),st(i,"keypress",(e=>t.onKeyPress(e))),st(i,"input",(e=>t.onInput(e))),st(c,"blur",(e=>t.onBlur(e))),st(c,"focus",(e=>t.onFocus(e))),st(i,"paste",(e=>t.onPaste(e)))
|
|
180
|
-
const
|
|
178
|
+
const m=e=>{const n=e.composedPath()[0]
|
|
181
179
|
if(!o.contains(n)&&!s.contains(n))return t.isFocused&&t.blur(),void t.inputState()
|
|
182
|
-
n==i&&t.isOpen?e.stopPropagation():it(e,!0)},
|
|
183
|
-
st(document,"mousedown",
|
|
180
|
+
n==i&&t.isOpen?e.stopPropagation():it(e,!0)},y=()=>{t.isOpen&&t.positionDropdown()}
|
|
181
|
+
st(document,"mousedown",m),st(window,"scroll",y,d),st(window,"resize",y,d),this._destroy=()=>{document.removeEventListener("mousedown",m),window.removeEventListener("scroll",y),window.removeEventListener("resize",y),g&&g.removeEventListener("click",f)},this.revertSettings={innerHTML:a.innerHTML,tabIndex:a.tabIndex},a.tabIndex=-1,a.insertAdjacentElement("afterend",t.wrapper),t.sync(!1),e.items=[],delete e.optgroups,delete e.options,st(a,"invalid",(()=>{t.isValid&&(t.isValid=!1,t.isInvalid=!0,t.refreshState())})),t.updateOriginalInput(),t.refreshItems(),t.close(!1),t.inputState(),t.isSetup=!0,a.disabled?t.disable():t.enable(),t.on("change",this.onChange),N(a,"tomselected","ts-hidden-accessible"),t.trigger("initialize"),!0===e.preload&&t.preload()}setupOptions(t=[],e=[]){this.addOptions(t),E(e,(t=>{this.registerOptionGroup(t)}))}setupTemplates(){var t=this,e=t.settings.labelField,i=t.settings.optgroupLabelField,s={optgroup:t=>{let e=document.createElement("div")
|
|
184
182
|
return e.className="optgroup",e.appendChild(t.options),e},optgroup_header:(t,e)=>'<div class="optgroup-header">'+e(t[i])+"</div>",option:(t,i)=>"<div>"+i(t[e])+"</div>",item:(t,i)=>"<div>"+i(t[e])+"</div>",option_create:(t,e)=>'<div class="create">Add <strong>'+e(t.input)+"</strong>…</div>",no_results:()=>'<div class="no-results">No results found</div>',loading:()=>'<div class="spinner"></div>',not_loading:()=>{},dropdown:()=>"<div></div>"}
|
|
185
183
|
t.settings.render=Object.assign({},s,t.settings.render)}setupCallbacks(){var t,e,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"}
|
|
186
184
|
for(t in i)(e=this.settings[i[t]])&&this.on(t,e)}sync(t=!0){const e=this,i=t?at(e.input,{delimiter:e.settings.delimiter}):e.settings
|
|
@@ -221,16 +219,16 @@ const i=e.loadCallback.bind(e)
|
|
|
221
219
|
e.settings.load.call(e,t,i)}loadCallback(t,e){const i=this
|
|
222
220
|
i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(t,e),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||H(i.wrapper,i.settings.loadingClass),i.trigger("load",t,e)}preload(){var t=this.wrapper.classList
|
|
223
221
|
t.contains("preloaded")||(t.add("preloaded"),this.load(""))}setTextboxValue(t=""){var e=this.control_input
|
|
224
|
-
e.value!==t&&(e.value=t,q(e,"update"),this.lastValue=t)}getValue(){return
|
|
222
|
+
e.value!==t&&(e.value=t,q(e,"update"),this.lastValue=t)}getValue(){return"multi"===this.settings.mode&&this.is_select_tag?this.items:this.items.join(this.settings.delimiter)}setValue(t,e){et(this,e?[]:["change"],(()=>{this.clear(e),this.addItems(t,e)}))}setMaxItems(t){0===t&&(t=null),this.settings.maxItems=t,this.refreshState()}setActiveItem(t,e){var i,s,n,o,r,l,a=this
|
|
225
223
|
if("single"!==a.settings.mode){if(!t)return a.clearActiveItems(),void(a.isFocused&&a.showInput())
|
|
226
224
|
if("click"===(i=e&&e.type.toLowerCase())&&nt("shiftKey",e)&&a.activeItems.length){for(l=a.getLastActive(),(n=Array.prototype.indexOf.call(a.control.children,l))>(o=Array.prototype.indexOf.call(a.control.children,t))&&(r=n,n=o,o=r),s=n;s<=o;s++)t=a.control.children[s],-1===a.activeItems.indexOf(t)&&a.setActiveItemClass(t)
|
|
227
225
|
it(e)}else"click"===i&&nt(U,e)||"keydown"===i&&nt("shiftKey",e)?t.classList.contains("active")?a.removeActiveItem(t):a.setActiveItemClass(t):(a.clearActiveItems(),a.setActiveItemClass(t))
|
|
228
226
|
a.hideInput(),a.isFocused||a.focus()}}setActiveItemClass(t){const e=this,i=e.control.querySelector(".last-active")
|
|
229
227
|
i&&H(i,"last-active"),N(t,"active last-active"),e.trigger("item_select",t),-1==e.activeItems.indexOf(t)&&e.activeItems.push(t)}removeActiveItem(t){var e=this.activeItems.indexOf(t)
|
|
230
|
-
this.activeItems.splice(e,1),H(t,"active")}clearActiveItems(){H(this.activeItems,"active"),this.activeItems=[]}setActiveOption(t,e=!0){t!==this.activeOption&&(this.clearActiveOption(),t&&(this.activeOption=t,Q(this.focus_node,{"aria-activedescendant":t.getAttribute("id")}),Q(t,{"aria-selected":"true"}),N(t,"active"),e&&this.scrollToOption(t)))}scrollToOption(t,e){if(!t)return
|
|
228
|
+
this.activeItems.splice(e,1),H(t,"active")}clearActiveItems(){H(this.activeItems,"active"),this.activeItems=[]}setActiveOption(t,e=!0){t!==this.activeOption&&(this.clearActiveOption(),t&&(this.activeOption=t,Q(this.focus_node,{"aria-activedescendant":t.getAttribute("id")}),("single"===this.settings.mode||this.settings.hideSelected)&&Q(t,{"aria-selected":"true"}),N(t,"active"),e&&this.scrollToOption(t)))}scrollToOption(t,e){if(!t)return
|
|
231
229
|
const i=this.dropdown_content,s=i.clientHeight,n=i.scrollTop||0,o=t.offsetHeight,r=t.getBoundingClientRect().top-i.getBoundingClientRect().top+n
|
|
232
230
|
r+o>s+n?this.scroll(r-s+o,e):r<n&&this.scroll(r,e)}scroll(t,e){const i=this.dropdown_content
|
|
233
|
-
e&&(i.style.scrollBehavior=e),i.scrollTop=t,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(H(this.activeOption,"active"),Q(this.activeOption,{"aria-selected":null})),this.activeOption=null,Q(this.focus_node,{"aria-activedescendant":null})}selectAll(){const t=this
|
|
231
|
+
e&&(i.style.scrollBehavior=e),i.scrollTop=t,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(H(this.activeOption,"active"),("single"===this.settings.mode||this.settings.hideSelected)&&Q(this.activeOption,{"aria-selected":null})),this.activeOption=null,Q(this.focus_node,{"aria-activedescendant":null})}selectAll(){const t=this
|
|
234
232
|
if("single"===t.settings.mode)return
|
|
235
233
|
const e=t.controlChildren()
|
|
236
234
|
e.length&&(t.hideInput(),t.close(),t.activeItems=e,E(e,(e=>{t.setActiveItemClass(e)})))}inputState(){var t=this
|
|
@@ -243,26 +241,27 @@ return!(e&&-1!==s.items.indexOf(e))}))),e}refreshOptions(t=!0){var e,i,s,n,o,r,l
|
|
|
243
241
|
const u={},p=[]
|
|
244
242
|
var h=this,g=h.inputValue()
|
|
245
243
|
const f=g===h.lastQuery||""==g&&null==h.lastQuery
|
|
246
|
-
var v,m=h.search(g),y=null,
|
|
247
|
-
for(f&&(y=h.activeOption)&&(c=y.closest("[data-group]")),n=m.items.length,"number"==typeof h.settings.maxOptions&&(n=Math.min(n,h.settings.maxOptions)),n>0&&(
|
|
244
|
+
var v,m=h.search(g),y=null,b=h.settings.shouldOpen||!1,O=h.dropdown_content
|
|
245
|
+
for(f&&(y=h.activeOption)&&(c=y.closest("[data-group]")),n=m.items.length,"number"==typeof h.settings.maxOptions&&(n=Math.min(n,h.settings.maxOptions)),n>0&&(b=!0),e=0;e<n;e++){let t=m.items[e]
|
|
248
246
|
if(!t)continue
|
|
249
247
|
let n=t.id,l=h.options[n]
|
|
250
248
|
if(void 0===l)continue
|
|
251
249
|
let a=Y(n),d=h.getOption(a,!0)
|
|
252
|
-
|
|
250
|
+
const g=h.items.includes(a)
|
|
251
|
+
for(h.settings.hideSelected||(d.classList.toggle("selected",g),"multi"===this.settings.mode&&Q(d,{"aria-selected":g?"true":"false"})),o=l[h.settings.optgroupField]||"",i=0,s=(r=Array.isArray(o)?o:[o])&&r.length;i<s;i++){o=r[i],h.optgroups.hasOwnProperty(o)||(o="")
|
|
253
252
|
let t=u[o]
|
|
254
|
-
void 0===t&&(t=document.createDocumentFragment(),p.push(o)),i>0&&(d=d.cloneNode(!0),Q(d,{id:l.$id+"-clone-"+i,"aria-selected":null}),d.classList.add("ts-cloned"),H(d,"active"),h.activeOption&&h.activeOption.dataset.value==n&&c&&c.dataset.group===o.toString()&&(y=d)),t.appendChild(d),u[o]=t}}h.settings.lockOptgroupOrder&&p.sort(((t,e)=>{const i=h.optgroups[t],s=h.optgroups[e]
|
|
253
|
+
void 0===t&&(t=document.createDocumentFragment(),p.push(o)),i>0&&(d=d.cloneNode(!0),"multi"!==this.settings.mode||h.settings.hideSelected?Q(d,{id:l.$id+"-clone-"+i,"aria-selected":null}):Q(d,{id:l.$id+"-clone-"+i,"aria-selected":g?"true":"false"}),d.classList.add("ts-cloned"),H(d,"active"),h.activeOption&&h.activeOption.dataset.value==n&&c&&c.dataset.group===o.toString()&&(y=d)),t.appendChild(d),u[o]=t}}h.settings.lockOptgroupOrder&&p.sort(((t,e)=>{const i=h.optgroups[t],s=h.optgroups[e]
|
|
255
254
|
return(i&&i.$order||0)-(s&&s.$order||0)})),l=document.createDocumentFragment(),E(p,(t=>{let e=u[t]
|
|
256
255
|
if(!e||!e.children.length)return
|
|
257
256
|
let i=h.optgroups[t]
|
|
258
257
|
if(void 0!==i){let t=document.createDocumentFragment(),s=h.render("optgroup_header",i)
|
|
259
258
|
lt(t,s),lt(t,e)
|
|
260
259
|
let n=h.render("optgroup",{group:i,options:t})
|
|
261
|
-
lt(l,n)}else lt(l,e)})),
|
|
262
|
-
e.replaceChild(t.firstChild,t),e.normalize()})),m.query.length&&m.tokens.length&&E(m.tokens,(t=>{J(
|
|
260
|
+
lt(l,n)}else lt(l,e)})),O.innerHTML="",lt(O,l),h.settings.highlight&&(v=O.querySelectorAll("span.highlight"),Array.prototype.forEach.call(v,(function(t){var e=t.parentNode
|
|
261
|
+
e.replaceChild(t.firstChild,t),e.normalize()})),m.query.length&&m.tokens.length&&E(m.tokens,(t=>{J(O,t.regex)})))
|
|
263
262
|
var w=t=>{let e=h.render(t,{input:g})
|
|
264
|
-
return e&&(
|
|
265
|
-
if(h.loading?w("loading"):h.settings.shouldLoad.call(h,g)?0===m.items.length&&w("no_results"):w("not_loading"),(a=h.canCreate(g))&&(d=w("option_create")),h.hasOptions=m.items.length>0||a,
|
|
263
|
+
return e&&(b=!0,O.insertBefore(e,O.firstChild)),e}
|
|
264
|
+
if(h.loading?w("loading"):h.settings.shouldLoad.call(h,g)?0===m.items.length&&w("no_results"):w("not_loading"),(a=h.canCreate(g))&&(d=w("option_create")),h.hasOptions=m.items.length>0||a,b){if(m.items.length>0){if(y||"single"!==h.settings.mode||null==h.items[0]||(y=h.getOption(h.items[0])),!O.contains(y)){let t=0
|
|
266
265
|
d&&!h.settings.addPrecedence&&(t=1),y=h.selectable()[t]}}else d&&(y=d)
|
|
267
266
|
t&&!h.isOpen&&(h.open(),h.scrollToOption(y,"auto")),h.setActiveOption(y)}else h.clearActiveOption(),t&&h.isOpen&&h.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(t,e=!1){const i=this
|
|
268
267
|
if(Array.isArray(t))return i.addOptions(t,e),!1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation-utils.js","sourceRoot":"","sources":["../../src/utils/translation-utils.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG;EACjC,OAAO;EACP,OAAO;CACR,CAAC;
|
|
1
|
+
{"version":3,"file":"translation-utils.js","sourceRoot":"","sources":["../../src/utils/translation-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n StzhDateFormat,\n StzhDateParse\n} from \"./date-adapter\";\n\nconst LANG_DE = \"de\";\nconst LANG_EN = \"en\";\nconst LANG_DEFAULT = LANG_DE;\n\nexport const SUPPORTED_LANGUAGES = [\n LANG_DE,\n LANG_EN\n];\n\nexport type StzhLocaleFormats = {\n inputdate: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n date: {\n format: string | StzhDateFormat\n },\n dateRange: string,\n timeRange: string,\n timePostfix: string,\n time: {\n format: string | StzhDateFormat\n }\n}\n\ntype MonthsNames = [string, string, string, string, string, string, string, string, string, string, string, string]\ntype DayNames = [string, string, string, string, string, string, string]\n\nexport type StzhLocaleGlobals = {\n externalLinkLabel: string\n downloadLinkLabel: string\n requiredFieldMarker: string\n requiredFieldText: string\n optionalFieldMarker: string\n optionalFieldText: string\n invalidFieldText: string\n clearButtonLabel: string\n moreInfoButtonLabel: string\n dayNames: DayNames\n monthNames: MonthsNames\n monthNamesShort: MonthsNames\n}\n\nexport type StzhLocaleComponent = {\n $locale: typeof LANG_DE | typeof LANG_EN,\n $formats: StzhLocaleFormats,\n $globals: StzhLocaleGlobals\n}\n\nfunction getLocale(element: HTMLElement) {\n const closestElement = element.closest(\"[lang]\") as HTMLElement;\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (SUPPORTED_LANGUAGES.indexOf(locale) === -1 || !locale) {\n return LANG_DEFAULT;\n } else {\n return locale;\n }\n}\n\nexport function tc(translation: string, count: number): string {\n if (!translation) {\n return \"\";\n }\n\n const parts = translation.split('|');\n let part = parts[0].trim();\n\n if (parts.length === 3 && count === 1) {\n part = parts[1].trim();\n } else if (parts.length === 3 && count > 1) {\n part = parts[2].trim();\n }\n\n if (parts.length === 2 && count !== 1) {\n part = parts[1].trim();\n }\n\n return part.replace(/\\{n\\}/ig, count.toString());\n}\n\nexport async function fetchTranslations(host: HTMLElement, component: string) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n"]}
|
package/dist/components/index.js
CHANGED
|
@@ -835,7 +835,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
835
835
|
})();
|
|
836
836
|
|
|
837
837
|
const name = "@oiz/stzh-components";
|
|
838
|
-
const version = "2.
|
|
838
|
+
const version = "2.7.0-alpha";
|
|
839
839
|
|
|
840
840
|
const packageName = name.substring(name.indexOf('/')+1);
|
|
841
841
|
|