@prometa/sleek 0.0.6 → 0.0.8
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/sleek-select.cjs +1 -1
- package/dist/sleek-select.js +1346 -1338
- package/package.json +1 -1
- package/dist/tom-select.bootstrap5.css +0 -1
package/dist/sleek-select.js
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
throw TypeError(
|
|
1
|
+
var Et = Object.defineProperty;
|
|
2
|
+
var It = (i) => {
|
|
3
|
+
throw TypeError(i);
|
|
4
4
|
};
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
import { snakeToCamel as
|
|
9
|
-
import { t as
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
e
|
|
5
|
+
var Ut = (i, t, e) => t in i ? Et(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
|
|
6
|
+
var V = (i, t, e) => Ut(i, typeof t != "symbol" ? t + "" : t, e), lt = (i, t, e) => t.has(i) || It("Cannot " + e);
|
|
7
|
+
var Y = (i, t, e) => (lt(i, t, "read from private field"), e ? e.call(i) : t.get(i)), S = (i, t, e) => t.has(i) ? It("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, e), K = (i, t, e, n) => (lt(i, t, "write to private field"), n ? n.call(i, e) : t.set(i, e), e), Ct = (i, t, e) => (lt(i, t, "access private method"), e);
|
|
8
|
+
import { snakeToCamel as $t } from "./chartjs-chart.js";
|
|
9
|
+
import { t as Pt } from "./utils.js";
|
|
10
|
+
function ct(i, t) {
|
|
11
|
+
i.split(/\s+/).forEach((e) => {
|
|
12
|
+
t(e);
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
class
|
|
15
|
+
class qt {
|
|
16
16
|
constructor() {
|
|
17
17
|
this._events = {};
|
|
18
18
|
}
|
|
19
|
-
on(
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
19
|
+
on(t, e) {
|
|
20
|
+
ct(t, (n) => {
|
|
21
|
+
const s = this._events[n] || [];
|
|
22
|
+
s.push(e), this._events[n] = s;
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
-
off(
|
|
26
|
-
var
|
|
27
|
-
if (
|
|
25
|
+
off(t, e) {
|
|
26
|
+
var n = arguments.length;
|
|
27
|
+
if (n === 0) {
|
|
28
28
|
this._events = {};
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
if (
|
|
33
|
-
delete this._events[
|
|
31
|
+
ct(t, (s) => {
|
|
32
|
+
if (n === 1) {
|
|
33
|
+
delete this._events[s];
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
|
-
const o = this._events[
|
|
37
|
-
o !== void 0 && (o.splice(o.indexOf(
|
|
36
|
+
const o = this._events[s];
|
|
37
|
+
o !== void 0 && (o.splice(o.indexOf(e), 1), this._events[s] = o);
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
trigger(
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
const o =
|
|
40
|
+
trigger(t, ...e) {
|
|
41
|
+
var n = this;
|
|
42
|
+
ct(t, (s) => {
|
|
43
|
+
const o = n._events[s];
|
|
44
44
|
o !== void 0 && o.forEach((r) => {
|
|
45
|
-
r.apply(
|
|
45
|
+
r.apply(n, e);
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
function
|
|
51
|
-
return
|
|
50
|
+
function te(i) {
|
|
51
|
+
return i.plugins = {}, class extends i {
|
|
52
52
|
constructor() {
|
|
53
53
|
super(...arguments), this.plugins = {
|
|
54
54
|
names: [],
|
|
@@ -62,10 +62,10 @@ function tt(s) {
|
|
|
62
62
|
*
|
|
63
63
|
* @param {function} fn
|
|
64
64
|
*/
|
|
65
|
-
static define(
|
|
66
|
-
|
|
67
|
-
name:
|
|
68
|
-
fn:
|
|
65
|
+
static define(t, e) {
|
|
66
|
+
i.plugins[t] = {
|
|
67
|
+
name: t,
|
|
68
|
+
fn: e
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
@@ -83,69 +83,69 @@ function tt(s) {
|
|
|
83
83
|
*
|
|
84
84
|
* @param {array|object} plugins
|
|
85
85
|
*/
|
|
86
|
-
initializePlugins(
|
|
87
|
-
var
|
|
88
|
-
const
|
|
89
|
-
if (Array.isArray(
|
|
90
|
-
|
|
91
|
-
typeof r == "string" ? o.push(r) : (
|
|
86
|
+
initializePlugins(t) {
|
|
87
|
+
var e, n;
|
|
88
|
+
const s = this, o = [];
|
|
89
|
+
if (Array.isArray(t))
|
|
90
|
+
t.forEach((r) => {
|
|
91
|
+
typeof r == "string" ? o.push(r) : (s.plugins.settings[r.name] = r.options, o.push(r.name));
|
|
92
92
|
});
|
|
93
|
-
else if (
|
|
94
|
-
for (
|
|
95
|
-
|
|
96
|
-
for (;
|
|
97
|
-
|
|
93
|
+
else if (t)
|
|
94
|
+
for (e in t)
|
|
95
|
+
t.hasOwnProperty(e) && (s.plugins.settings[e] = t[e], o.push(e));
|
|
96
|
+
for (; n = o.shift(); )
|
|
97
|
+
s.require(n);
|
|
98
98
|
}
|
|
99
|
-
loadPlugin(
|
|
100
|
-
var
|
|
101
|
-
if (!
|
|
102
|
-
throw new Error('Unable to find "' +
|
|
103
|
-
|
|
99
|
+
loadPlugin(t) {
|
|
100
|
+
var e = this, n = e.plugins, s = i.plugins[t];
|
|
101
|
+
if (!i.plugins.hasOwnProperty(t))
|
|
102
|
+
throw new Error('Unable to find "' + t + '" plugin');
|
|
103
|
+
n.requested[t] = !0, n.loaded[t] = s.fn.apply(e, [e.plugins.settings[t] || {}]), n.names.push(t);
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* Initializes a plugin.
|
|
107
107
|
*
|
|
108
108
|
*/
|
|
109
|
-
require(
|
|
110
|
-
var
|
|
111
|
-
if (!
|
|
112
|
-
if (
|
|
113
|
-
throw new Error('Plugin has circular dependency ("' +
|
|
114
|
-
|
|
109
|
+
require(t) {
|
|
110
|
+
var e = this, n = e.plugins;
|
|
111
|
+
if (!e.plugins.loaded.hasOwnProperty(t)) {
|
|
112
|
+
if (n.requested[t])
|
|
113
|
+
throw new Error('Plugin has circular dependency ("' + t + '")');
|
|
114
|
+
e.loadPlugin(t);
|
|
115
115
|
}
|
|
116
|
-
return
|
|
116
|
+
return n.loaded[t];
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
|
-
const
|
|
121
|
-
if (!
|
|
122
|
-
return
|
|
123
|
-
let
|
|
124
|
-
const
|
|
125
|
-
|
|
120
|
+
const ot = (i) => (i = i.filter(Boolean), i.length < 2 ? i[0] || "" : ie(i) == 1 ? "[" + i.join("") + "]" : "(?:" + i.join("|") + ")"), kt = (i) => {
|
|
121
|
+
if (!ee(i))
|
|
122
|
+
return i.join("");
|
|
123
|
+
let t = "", e = 0;
|
|
124
|
+
const n = () => {
|
|
125
|
+
e > 1 && (t += "{" + e + "}");
|
|
126
126
|
};
|
|
127
|
-
return
|
|
128
|
-
if (
|
|
129
|
-
|
|
127
|
+
return i.forEach((s, o) => {
|
|
128
|
+
if (s === i[o - 1]) {
|
|
129
|
+
e++;
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
|
-
|
|
133
|
-
}),
|
|
134
|
-
},
|
|
135
|
-
let
|
|
136
|
-
return
|
|
137
|
-
},
|
|
138
|
-
if (
|
|
139
|
-
return [[
|
|
140
|
-
let
|
|
141
|
-
const
|
|
142
|
-
return
|
|
143
|
-
let o =
|
|
144
|
-
o[0] =
|
|
145
|
-
}),
|
|
146
|
-
},
|
|
147
|
-
let
|
|
148
|
-
const
|
|
132
|
+
n(), t += s, e = 1;
|
|
133
|
+
}), n(), t;
|
|
134
|
+
}, Ft = (i) => {
|
|
135
|
+
let t = Array.from(i);
|
|
136
|
+
return ot(t);
|
|
137
|
+
}, ee = (i) => new Set(i).size !== i.length, T = (i) => (i + "").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu, "\\$1"), ie = (i) => i.reduce((t, e) => Math.max(t, ne(e)), 0), ne = (i) => Array.from(i).length, St = (i) => {
|
|
138
|
+
if (i.length === 1)
|
|
139
|
+
return [[i]];
|
|
140
|
+
let t = [];
|
|
141
|
+
const e = i.substring(1);
|
|
142
|
+
return St(e).forEach(function(s) {
|
|
143
|
+
let o = s.slice(0);
|
|
144
|
+
o[0] = i.charAt(0) + o[0], t.push(o), o = s.slice(0), o.unshift(i.charAt(0)), t.push(o);
|
|
145
|
+
}), t;
|
|
146
|
+
}, se = [[0, 65535]], re = "[̀-ͯ·ʾʼ]";
|
|
147
|
+
let it, Kt;
|
|
148
|
+
const oe = 3, bt = {}, yt = {
|
|
149
149
|
"/": "⁄∕",
|
|
150
150
|
0: "߀",
|
|
151
151
|
a: "ⱥɐɑ",
|
|
@@ -188,67 +188,67 @@ const lt = 3, _e = {}, be = {
|
|
|
188
188
|
z: "ƶȥɀⱬꝣ",
|
|
189
189
|
hv: "ƕ"
|
|
190
190
|
};
|
|
191
|
-
for (let
|
|
192
|
-
let
|
|
193
|
-
for (let
|
|
194
|
-
let
|
|
195
|
-
|
|
191
|
+
for (let i in yt) {
|
|
192
|
+
let t = yt[i] || "";
|
|
193
|
+
for (let e = 0; e < t.length; e++) {
|
|
194
|
+
let n = t.substring(e, e + 1);
|
|
195
|
+
bt[n] = i;
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
},
|
|
198
|
+
const le = new RegExp(Object.keys(bt).join("|") + "|" + re, "gu"), ce = (i) => {
|
|
199
|
+
it === void 0 && (it = ge(se));
|
|
200
|
+
}, Zt = (i, t = "NFKD") => i.normalize(t), nt = (i) => Array.from(i).reduce(
|
|
201
201
|
/**
|
|
202
202
|
* @param {string} result
|
|
203
203
|
* @param {string} char
|
|
204
204
|
*/
|
|
205
|
-
(
|
|
205
|
+
(t, e) => t + ae(e),
|
|
206
206
|
""
|
|
207
|
-
),
|
|
208
|
-
function*
|
|
209
|
-
for (const [
|
|
210
|
-
for (let
|
|
211
|
-
let
|
|
212
|
-
o !=
|
|
207
|
+
), ae = (i) => (i = Zt(i).toLowerCase().replace(le, (t) => bt[t] || ""), Zt(i, "NFC"));
|
|
208
|
+
function* de(i) {
|
|
209
|
+
for (const [t, e] of i)
|
|
210
|
+
for (let n = t; n <= e; n++) {
|
|
211
|
+
let s = String.fromCharCode(n), o = nt(s);
|
|
212
|
+
o != s.toLowerCase() && (o.length > oe || o.length != 0 && (yield { folded: o, composed: s, code_point: n }));
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
-
const
|
|
216
|
-
const
|
|
217
|
-
const o =
|
|
218
|
-
|
|
215
|
+
const ue = (i) => {
|
|
216
|
+
const t = {}, e = (n, s) => {
|
|
217
|
+
const o = t[n] || /* @__PURE__ */ new Set(), r = new RegExp("^" + Ft(o) + "$", "iu");
|
|
218
|
+
s.match(r) || (o.add(T(s)), t[n] = o);
|
|
219
219
|
};
|
|
220
|
-
for (let
|
|
221
|
-
|
|
222
|
-
return
|
|
223
|
-
},
|
|
224
|
-
const
|
|
225
|
-
let
|
|
226
|
-
for (let o in
|
|
227
|
-
let r =
|
|
228
|
-
r && (
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
const
|
|
232
|
-
return
|
|
233
|
-
},
|
|
234
|
-
let
|
|
235
|
-
return
|
|
236
|
-
},
|
|
237
|
-
let
|
|
238
|
-
return
|
|
239
|
-
let
|
|
240
|
-
const o =
|
|
220
|
+
for (let n of de(i))
|
|
221
|
+
e(n.folded, n.folded), e(n.folded, n.composed);
|
|
222
|
+
return t;
|
|
223
|
+
}, ge = (i) => {
|
|
224
|
+
const t = ue(i), e = {};
|
|
225
|
+
let n = [];
|
|
226
|
+
for (let o in t) {
|
|
227
|
+
let r = t[o];
|
|
228
|
+
r && (e[o] = Ft(r)), o.length > 1 && n.push(T(o));
|
|
229
|
+
}
|
|
230
|
+
n.sort((o, r) => r.length - o.length);
|
|
231
|
+
const s = ot(n);
|
|
232
|
+
return Kt = new RegExp("^" + s, "u"), e;
|
|
233
|
+
}, pe = (i, t = 1) => {
|
|
234
|
+
let e = 0;
|
|
235
|
+
return i = i.map((n) => (it[n] && (e += n.length), it[n] || n)), e >= t ? kt(i) : "";
|
|
236
|
+
}, he = (i, t = 1) => (t = Math.max(t, i.length - 1), ot(St(i).map((e) => pe(e, t)))), wt = (i, t = !0) => {
|
|
237
|
+
let e = i.length > 1 ? 1 : 0;
|
|
238
|
+
return ot(i.map((n) => {
|
|
239
|
+
let s = [];
|
|
240
|
+
const o = t ? n.length() : n.length() - 1;
|
|
241
241
|
for (let r = 0; r < o; r++)
|
|
242
|
-
|
|
243
|
-
return
|
|
242
|
+
s.push(he(n.substrs[r] || "", e));
|
|
243
|
+
return kt(s);
|
|
244
244
|
}));
|
|
245
|
-
},
|
|
246
|
-
for (const
|
|
247
|
-
if (
|
|
245
|
+
}, me = (i, t) => {
|
|
246
|
+
for (const e of t) {
|
|
247
|
+
if (e.start != i.start || e.end != i.end || e.substrs.join("") !== i.substrs.join(""))
|
|
248
248
|
continue;
|
|
249
|
-
let
|
|
250
|
-
const
|
|
251
|
-
for (const l of
|
|
249
|
+
let n = i.parts;
|
|
250
|
+
const s = (r) => {
|
|
251
|
+
for (const l of n) {
|
|
252
252
|
if (l.start === r.start && l.substr === r.substr)
|
|
253
253
|
return !1;
|
|
254
254
|
if (!(r.length == 1 || l.length == 1) && (r.start < l.start && r.end > l.start || l.start < r.start && l.end > r.start))
|
|
@@ -256,21 +256,21 @@ const ft = (s) => {
|
|
|
256
256
|
}
|
|
257
257
|
return !1;
|
|
258
258
|
};
|
|
259
|
-
if (!(
|
|
259
|
+
if (!(e.parts.filter(s).length > 0))
|
|
260
260
|
return !0;
|
|
261
261
|
}
|
|
262
262
|
return !1;
|
|
263
263
|
};
|
|
264
|
-
class
|
|
264
|
+
class st {
|
|
265
265
|
constructor() {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
266
|
+
V(this, "parts");
|
|
267
|
+
V(this, "substrs");
|
|
268
|
+
V(this, "start");
|
|
269
|
+
V(this, "end");
|
|
270
270
|
this.parts = [], this.substrs = [], this.start = 0, this.end = 0;
|
|
271
271
|
}
|
|
272
|
-
add(
|
|
273
|
-
|
|
272
|
+
add(t) {
|
|
273
|
+
t && (this.parts.push(t), this.substrs.push(t.substr), this.start = Math.min(t.start, this.start), this.end = Math.max(t.end, this.end));
|
|
274
274
|
}
|
|
275
275
|
last() {
|
|
276
276
|
return this.parts[this.parts.length - 1];
|
|
@@ -278,105 +278,105 @@ class re {
|
|
|
278
278
|
length() {
|
|
279
279
|
return this.parts.length;
|
|
280
280
|
}
|
|
281
|
-
clone(
|
|
282
|
-
let
|
|
283
|
-
for (const
|
|
284
|
-
|
|
285
|
-
let r =
|
|
286
|
-
return
|
|
281
|
+
clone(t, e) {
|
|
282
|
+
let n = new st(), s = JSON.parse(JSON.stringify(this.parts)), o = s.pop();
|
|
283
|
+
for (const a of s)
|
|
284
|
+
n.add(a);
|
|
285
|
+
let r = e.substr.substring(0, t - o.start), l = r.length;
|
|
286
|
+
return n.add({ start: o.start, end: o.start + l, length: l, substr: r }), n;
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
|
-
const
|
|
290
|
-
|
|
291
|
-
let
|
|
292
|
-
for (let
|
|
293
|
-
let o =
|
|
294
|
-
const r =
|
|
295
|
-
let
|
|
296
|
-
for (const
|
|
297
|
-
const
|
|
298
|
-
if (!
|
|
289
|
+
const fe = (i) => {
|
|
290
|
+
ce(), i = nt(i);
|
|
291
|
+
let t = "", e = [new st()];
|
|
292
|
+
for (let n = 0; n < i.length; n++) {
|
|
293
|
+
let o = i.substring(n).match(Kt);
|
|
294
|
+
const r = i.substring(n, n + 1), l = o ? o[0] : null;
|
|
295
|
+
let a = [], c = /* @__PURE__ */ new Set();
|
|
296
|
+
for (const d of e) {
|
|
297
|
+
const u = d.last();
|
|
298
|
+
if (!u || u.length == 1 || u.end <= n)
|
|
299
299
|
if (l) {
|
|
300
300
|
const p = l.length;
|
|
301
|
-
|
|
301
|
+
d.add({ start: n, end: n + p, length: p, substr: l }), c.add("1");
|
|
302
302
|
} else
|
|
303
|
-
|
|
303
|
+
d.add({ start: n, end: n + 1, length: 1, substr: r }), c.add("2");
|
|
304
304
|
else if (l) {
|
|
305
|
-
let p =
|
|
306
|
-
const
|
|
307
|
-
p.add({ start:
|
|
305
|
+
let p = d.clone(n, u);
|
|
306
|
+
const y = l.length;
|
|
307
|
+
p.add({ start: n, end: n + y, length: y, substr: l }), a.push(p);
|
|
308
308
|
} else
|
|
309
|
-
|
|
309
|
+
c.add("3");
|
|
310
310
|
}
|
|
311
|
-
if (
|
|
312
|
-
|
|
313
|
-
for (let
|
|
314
|
-
|
|
311
|
+
if (a.length > 0) {
|
|
312
|
+
a = a.sort((d, u) => d.length() - u.length());
|
|
313
|
+
for (let d of a)
|
|
314
|
+
me(d, e) || e.push(d);
|
|
315
315
|
continue;
|
|
316
316
|
}
|
|
317
|
-
if (
|
|
318
|
-
|
|
319
|
-
let
|
|
320
|
-
const
|
|
321
|
-
|
|
317
|
+
if (n > 0 && c.size == 1 && !c.has("3")) {
|
|
318
|
+
t += wt(e, !1);
|
|
319
|
+
let d = new st();
|
|
320
|
+
const u = e[0];
|
|
321
|
+
u && d.add(u.last()), e = [d];
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
|
-
return
|
|
325
|
-
},
|
|
326
|
-
if (
|
|
327
|
-
return
|
|
328
|
-
},
|
|
329
|
-
if (
|
|
330
|
-
for (var
|
|
324
|
+
return t += wt(e, !0), t;
|
|
325
|
+
}, be = (i, t) => {
|
|
326
|
+
if (i)
|
|
327
|
+
return i[t];
|
|
328
|
+
}, ve = (i, t) => {
|
|
329
|
+
if (i) {
|
|
330
|
+
for (var e, n = t.split("."); (e = n.shift()) && (i = i[e]); )
|
|
331
331
|
;
|
|
332
|
-
return
|
|
332
|
+
return i;
|
|
333
333
|
}
|
|
334
|
-
},
|
|
335
|
-
var
|
|
336
|
-
return !
|
|
337
|
-
},
|
|
338
|
-
var
|
|
339
|
-
if (typeof
|
|
340
|
-
return
|
|
341
|
-
|
|
342
|
-
},
|
|
343
|
-
if (Array.isArray(
|
|
344
|
-
|
|
334
|
+
}, at = (i, t, e) => {
|
|
335
|
+
var n, s;
|
|
336
|
+
return !i || (i = i + "", t.regex == null) || (s = i.search(t.regex), s === -1) ? 0 : (n = t.string.length / i.length, s === 0 && (n += 0.5), n * e);
|
|
337
|
+
}, dt = (i, t) => {
|
|
338
|
+
var e = i[t];
|
|
339
|
+
if (typeof e == "function")
|
|
340
|
+
return e;
|
|
341
|
+
e && !Array.isArray(e) && (i[t] = [e]);
|
|
342
|
+
}, $ = (i, t) => {
|
|
343
|
+
if (Array.isArray(i))
|
|
344
|
+
i.forEach(t);
|
|
345
345
|
else
|
|
346
|
-
for (var
|
|
347
|
-
|
|
348
|
-
},
|
|
349
|
-
class
|
|
346
|
+
for (var e in i)
|
|
347
|
+
i.hasOwnProperty(e) && t(i[e], e);
|
|
348
|
+
}, Ie = (i, t) => typeof i == "number" && typeof t == "number" ? i > t ? 1 : i < t ? -1 : 0 : (i = nt(i + "").toLowerCase(), t = nt(t + "").toLowerCase(), i > t ? 1 : t > i ? -1 : 0);
|
|
349
|
+
class Ce {
|
|
350
350
|
/**
|
|
351
351
|
* Textually searches arrays and hashes of objects
|
|
352
352
|
* by property (or multiple properties). Designed
|
|
353
353
|
* specifically for autocomplete.
|
|
354
354
|
*
|
|
355
355
|
*/
|
|
356
|
-
constructor(
|
|
357
|
-
|
|
356
|
+
constructor(t, e) {
|
|
357
|
+
V(this, "items");
|
|
358
358
|
// []|{};
|
|
359
|
-
|
|
360
|
-
this.items =
|
|
359
|
+
V(this, "settings");
|
|
360
|
+
this.items = t, this.settings = e || { diacritics: !0 };
|
|
361
361
|
}
|
|
362
362
|
/**
|
|
363
363
|
* Splits a search string into an array of individual
|
|
364
364
|
* regexps to be used to match results.
|
|
365
365
|
*
|
|
366
366
|
*/
|
|
367
|
-
tokenize(
|
|
368
|
-
if (!
|
|
367
|
+
tokenize(t, e, n) {
|
|
368
|
+
if (!t || !t.length)
|
|
369
369
|
return [];
|
|
370
|
-
const
|
|
370
|
+
const s = [], o = t.split(/\s+/);
|
|
371
371
|
var r;
|
|
372
|
-
return
|
|
373
|
-
let
|
|
374
|
-
r && (
|
|
372
|
+
return n && (r = new RegExp("^(" + Object.keys(n).map(T).join("|") + "):(.*)$")), o.forEach((l) => {
|
|
373
|
+
let a, c = null, d = null;
|
|
374
|
+
r && (a = l.match(r)) && (c = a[1], l = a[2]), l.length > 0 && (this.settings.diacritics ? d = fe(l) || null : d = T(l), d && e && (d = "\\b" + d)), s.push({
|
|
375
375
|
string: l,
|
|
376
|
-
regex:
|
|
377
|
-
field:
|
|
376
|
+
regex: d ? new RegExp(d, "iu") : null,
|
|
377
|
+
field: c
|
|
378
378
|
});
|
|
379
|
-
}),
|
|
379
|
+
}), s;
|
|
380
380
|
}
|
|
381
381
|
/**
|
|
382
382
|
* Returns a function to be used to score individual results.
|
|
@@ -386,56 +386,56 @@ class wt {
|
|
|
386
386
|
*
|
|
387
387
|
* @returns {T.ScoreFn}
|
|
388
388
|
*/
|
|
389
|
-
getScoreFunction(
|
|
390
|
-
var
|
|
391
|
-
return this._getScoreFunction(
|
|
389
|
+
getScoreFunction(t, e) {
|
|
390
|
+
var n = this.prepareSearch(t, e);
|
|
391
|
+
return this._getScoreFunction(n);
|
|
392
392
|
}
|
|
393
393
|
/**
|
|
394
394
|
* @returns {T.ScoreFn}
|
|
395
395
|
*
|
|
396
396
|
*/
|
|
397
|
-
_getScoreFunction(
|
|
398
|
-
const
|
|
399
|
-
if (!
|
|
397
|
+
_getScoreFunction(t) {
|
|
398
|
+
const e = t.tokens, n = e.length;
|
|
399
|
+
if (!n)
|
|
400
400
|
return function() {
|
|
401
401
|
return 0;
|
|
402
402
|
};
|
|
403
|
-
const
|
|
403
|
+
const s = t.options.fields, o = t.weights, r = s.length, l = t.getAttrFn;
|
|
404
404
|
if (!r)
|
|
405
405
|
return function() {
|
|
406
406
|
return 1;
|
|
407
407
|
};
|
|
408
|
-
const
|
|
409
|
-
return r === 1 ? function(
|
|
410
|
-
const
|
|
411
|
-
return
|
|
412
|
-
} : function(
|
|
413
|
-
var
|
|
414
|
-
if (
|
|
415
|
-
const p = l(
|
|
416
|
-
!
|
|
408
|
+
const a = /* @__PURE__ */ function() {
|
|
409
|
+
return r === 1 ? function(c, d) {
|
|
410
|
+
const u = s[0].field;
|
|
411
|
+
return at(l(d, u), c, o[u] || 1);
|
|
412
|
+
} : function(c, d) {
|
|
413
|
+
var u = 0;
|
|
414
|
+
if (c.field) {
|
|
415
|
+
const p = l(d, c.field);
|
|
416
|
+
!c.regex && p ? u += 1 / r : u += at(p, c, 1);
|
|
417
417
|
} else
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
$(o, (p, y) => {
|
|
419
|
+
u += at(l(d, y), c, p);
|
|
420
420
|
});
|
|
421
|
-
return
|
|
421
|
+
return u / r;
|
|
422
422
|
};
|
|
423
423
|
}();
|
|
424
|
-
return
|
|
425
|
-
return
|
|
426
|
-
} :
|
|
427
|
-
var
|
|
428
|
-
for (let p of
|
|
429
|
-
if (
|
|
424
|
+
return n === 1 ? function(c) {
|
|
425
|
+
return a(e[0], c);
|
|
426
|
+
} : t.options.conjunction === "and" ? function(c) {
|
|
427
|
+
var d, u = 0;
|
|
428
|
+
for (let p of e) {
|
|
429
|
+
if (d = a(p, c), d <= 0)
|
|
430
430
|
return 0;
|
|
431
|
-
|
|
431
|
+
u += d;
|
|
432
432
|
}
|
|
433
|
-
return
|
|
434
|
-
} : function(
|
|
435
|
-
var
|
|
436
|
-
return
|
|
437
|
-
|
|
438
|
-
}),
|
|
433
|
+
return u / n;
|
|
434
|
+
} : function(c) {
|
|
435
|
+
var d = 0;
|
|
436
|
+
return $(e, (u) => {
|
|
437
|
+
d += a(u, c);
|
|
438
|
+
}), d / n;
|
|
439
439
|
};
|
|
440
440
|
}
|
|
441
441
|
/**
|
|
@@ -445,36 +445,36 @@ class wt {
|
|
|
445
445
|
*
|
|
446
446
|
* @return function(a,b)
|
|
447
447
|
*/
|
|
448
|
-
getSortFunction(
|
|
449
|
-
var
|
|
450
|
-
return this._getSortFunction(
|
|
448
|
+
getSortFunction(t, e) {
|
|
449
|
+
var n = this.prepareSearch(t, e);
|
|
450
|
+
return this._getSortFunction(n);
|
|
451
451
|
}
|
|
452
|
-
_getSortFunction(
|
|
453
|
-
var
|
|
454
|
-
const
|
|
452
|
+
_getSortFunction(t) {
|
|
453
|
+
var e, n = [];
|
|
454
|
+
const s = this, o = t.options, r = !t.query && o.sort_empty ? o.sort_empty : o.sort;
|
|
455
455
|
if (typeof r == "function")
|
|
456
456
|
return r.bind(this);
|
|
457
|
-
const l = function(
|
|
458
|
-
return
|
|
457
|
+
const l = function(c, d) {
|
|
458
|
+
return c === "$score" ? d.score : t.getAttrFn(s.items[d.id], c);
|
|
459
459
|
};
|
|
460
460
|
if (r)
|
|
461
|
-
for (let
|
|
462
|
-
(
|
|
463
|
-
if (
|
|
464
|
-
|
|
465
|
-
for (let
|
|
466
|
-
if (
|
|
467
|
-
|
|
461
|
+
for (let c of r)
|
|
462
|
+
(t.query || c.field !== "$score") && n.push(c);
|
|
463
|
+
if (t.query) {
|
|
464
|
+
e = !0;
|
|
465
|
+
for (let c of n)
|
|
466
|
+
if (c.field === "$score") {
|
|
467
|
+
e = !1;
|
|
468
468
|
break;
|
|
469
469
|
}
|
|
470
|
-
|
|
470
|
+
e && n.unshift({ field: "$score", direction: "desc" });
|
|
471
471
|
} else
|
|
472
|
-
|
|
473
|
-
return
|
|
474
|
-
var
|
|
475
|
-
for (let
|
|
476
|
-
if (p =
|
|
477
|
-
return
|
|
472
|
+
n = n.filter((c) => c.field !== "$score");
|
|
473
|
+
return n.length ? function(c, d) {
|
|
474
|
+
var u, p;
|
|
475
|
+
for (let y of n)
|
|
476
|
+
if (p = y.field, u = (y.direction === "desc" ? -1 : 1) * Ie(l(p, c), l(p, d)), u)
|
|
477
|
+
return u;
|
|
478
478
|
return 0;
|
|
479
479
|
} : null;
|
|
480
480
|
}
|
|
@@ -484,171 +484,171 @@ class wt {
|
|
|
484
484
|
* with results.
|
|
485
485
|
*
|
|
486
486
|
*/
|
|
487
|
-
prepareSearch(
|
|
488
|
-
const
|
|
489
|
-
var
|
|
490
|
-
if (
|
|
491
|
-
|
|
487
|
+
prepareSearch(t, e) {
|
|
488
|
+
const n = {};
|
|
489
|
+
var s = Object.assign({}, e);
|
|
490
|
+
if (dt(s, "sort"), dt(s, "sort_empty"), s.fields) {
|
|
491
|
+
dt(s, "fields");
|
|
492
492
|
const o = [];
|
|
493
|
-
|
|
494
|
-
typeof r == "string" && (r = { field: r, weight: 1 }), o.push(r),
|
|
495
|
-
}),
|
|
493
|
+
s.fields.forEach((r) => {
|
|
494
|
+
typeof r == "string" && (r = { field: r, weight: 1 }), o.push(r), n[r.field] = "weight" in r ? r.weight : 1;
|
|
495
|
+
}), s.fields = o;
|
|
496
496
|
}
|
|
497
497
|
return {
|
|
498
|
-
options:
|
|
499
|
-
query:
|
|
500
|
-
tokens: this.tokenize(
|
|
498
|
+
options: s,
|
|
499
|
+
query: t.toLowerCase().trim(),
|
|
500
|
+
tokens: this.tokenize(t, s.respect_word_boundaries, n),
|
|
501
501
|
total: 0,
|
|
502
502
|
items: [],
|
|
503
|
-
weights:
|
|
504
|
-
getAttrFn:
|
|
503
|
+
weights: n,
|
|
504
|
+
getAttrFn: s.nesting ? ve : be
|
|
505
505
|
};
|
|
506
506
|
}
|
|
507
507
|
/**
|
|
508
508
|
* Searches through all items and returns a sorted array of matches.
|
|
509
509
|
*
|
|
510
510
|
*/
|
|
511
|
-
search(
|
|
512
|
-
var
|
|
513
|
-
o = this.prepareSearch(
|
|
514
|
-
const r =
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
}) :
|
|
518
|
-
o.items.push({ score: 1, id:
|
|
511
|
+
search(t, e) {
|
|
512
|
+
var n = this, s, o;
|
|
513
|
+
o = this.prepareSearch(t, e), e = o.options, t = o.query;
|
|
514
|
+
const r = e.score || n._getScoreFunction(o);
|
|
515
|
+
t.length ? $(n.items, (a, c) => {
|
|
516
|
+
s = r(a), (e.filter === !1 || s > 0) && o.items.push({ score: s, id: c });
|
|
517
|
+
}) : $(n.items, (a, c) => {
|
|
518
|
+
o.items.push({ score: 1, id: c });
|
|
519
519
|
});
|
|
520
|
-
const l =
|
|
521
|
-
return l && o.items.sort(l), o.total = o.items.length, typeof
|
|
520
|
+
const l = n._getSortFunction(o);
|
|
521
|
+
return l && o.items.sort(l), o.total = o.items.length, typeof e.limit == "number" && (o.items = o.items.slice(0, e.limit)), o;
|
|
522
522
|
}
|
|
523
523
|
}
|
|
524
|
-
const
|
|
525
|
-
var
|
|
526
|
-
return function(
|
|
524
|
+
const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", ut = (i) => (i + "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """), ye = (i, t) => t > 0 ? window.setTimeout(i, t) : (i.call(null), null), Ze = (i, t) => {
|
|
525
|
+
var e;
|
|
526
|
+
return function(n, s) {
|
|
527
527
|
var o = this;
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
},
|
|
528
|
+
e && (o.loading = Math.max(o.loading - 1, 0), clearTimeout(e)), e = setTimeout(function() {
|
|
529
|
+
e = null, o.loadedSearches[n] = !0, i.call(o, n, s);
|
|
530
|
+
}, t);
|
|
531
531
|
};
|
|
532
|
-
},
|
|
533
|
-
var
|
|
534
|
-
|
|
532
|
+
}, Lt = (i, t, e) => {
|
|
533
|
+
var n, s = i.trigger, o = {};
|
|
534
|
+
i.trigger = function() {
|
|
535
535
|
var r = arguments[0];
|
|
536
|
-
if (
|
|
536
|
+
if (t.indexOf(r) !== -1)
|
|
537
537
|
o[r] = arguments;
|
|
538
538
|
else
|
|
539
|
-
return
|
|
540
|
-
},
|
|
541
|
-
for (
|
|
542
|
-
|
|
543
|
-
},
|
|
544
|
-
start:
|
|
545
|
-
length: (
|
|
546
|
-
}),
|
|
547
|
-
|
|
548
|
-
},
|
|
549
|
-
|
|
550
|
-
},
|
|
551
|
-
if (!
|
|
539
|
+
return s.apply(i, arguments);
|
|
540
|
+
}, e.apply(i, []), i.trigger = s;
|
|
541
|
+
for (n of t)
|
|
542
|
+
n in o && s.apply(i, o[n]);
|
|
543
|
+
}, we = (i) => ({
|
|
544
|
+
start: i.selectionStart || 0,
|
|
545
|
+
length: (i.selectionEnd || 0) - (i.selectionStart || 0)
|
|
546
|
+
}), W = (i, t = !1) => {
|
|
547
|
+
i && (i.preventDefault(), t && i.stopPropagation());
|
|
548
|
+
}, B = (i, t, e, n) => {
|
|
549
|
+
i.addEventListener(t, e, n);
|
|
550
|
+
}, z = (i, t) => {
|
|
551
|
+
if (!t || !t[i])
|
|
552
552
|
return !1;
|
|
553
|
-
var
|
|
554
|
-
return
|
|
555
|
-
},
|
|
556
|
-
const
|
|
557
|
-
return
|
|
558
|
-
},
|
|
559
|
-
|
|
560
|
-
},
|
|
561
|
-
if (Array.isArray(
|
|
562
|
-
|
|
553
|
+
var e = (t.altKey ? 1 : 0) + (t.ctrlKey ? 1 : 0) + (t.shiftKey ? 1 : 0) + (t.metaKey ? 1 : 0);
|
|
554
|
+
return e === 1;
|
|
555
|
+
}, gt = (i, t) => {
|
|
556
|
+
const e = i.getAttribute("id");
|
|
557
|
+
return e || (i.setAttribute("id", t), t);
|
|
558
|
+
}, Wt = (i) => i.replace(/[\\"']/g, "\\$&"), k = (i, t) => {
|
|
559
|
+
t && i.append(t);
|
|
560
|
+
}, G = (i, t) => {
|
|
561
|
+
if (Array.isArray(i))
|
|
562
|
+
i.forEach(t);
|
|
563
563
|
else
|
|
564
|
-
for (var
|
|
565
|
-
|
|
566
|
-
},
|
|
567
|
-
if (
|
|
568
|
-
return
|
|
569
|
-
if (
|
|
570
|
-
return
|
|
571
|
-
if (
|
|
572
|
-
var
|
|
573
|
-
return
|
|
574
|
-
}
|
|
575
|
-
return document.querySelector(
|
|
576
|
-
},
|
|
577
|
-
var
|
|
578
|
-
|
|
579
|
-
},
|
|
580
|
-
Object.assign(
|
|
581
|
-
},
|
|
582
|
-
var
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
564
|
+
for (var e in i)
|
|
565
|
+
i.hasOwnProperty(e) && t(i[e], e);
|
|
566
|
+
}, R = (i) => {
|
|
567
|
+
if (i.jquery)
|
|
568
|
+
return i[0];
|
|
569
|
+
if (i instanceof HTMLElement)
|
|
570
|
+
return i;
|
|
571
|
+
if (xt(i)) {
|
|
572
|
+
var t = document.createElement("template");
|
|
573
|
+
return t.innerHTML = i.trim(), t.content.firstChild;
|
|
574
|
+
}
|
|
575
|
+
return document.querySelector(i);
|
|
576
|
+
}, xt = (i) => typeof i == "string" && i.indexOf("<") > -1, Le = (i) => i.replace(/['"\\]/g, "\\$&"), pt = (i, t) => {
|
|
577
|
+
var e = document.createEvent("HTMLEvents");
|
|
578
|
+
e.initEvent(t, !0, !1), i.dispatchEvent(e);
|
|
579
|
+
}, P = (i, t) => {
|
|
580
|
+
Object.assign(i.style, t);
|
|
581
|
+
}, J = (i, ...t) => {
|
|
582
|
+
var e = Dt(t);
|
|
583
|
+
i = _t(i), i.map((n) => {
|
|
584
|
+
e.map((s) => {
|
|
585
|
+
n.classList.add(s);
|
|
586
586
|
});
|
|
587
587
|
});
|
|
588
|
-
},
|
|
589
|
-
var
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
588
|
+
}, N = (i, ...t) => {
|
|
589
|
+
var e = Dt(t);
|
|
590
|
+
i = _t(i), i.map((n) => {
|
|
591
|
+
e.map((s) => {
|
|
592
|
+
n.classList.remove(s);
|
|
593
593
|
});
|
|
594
594
|
});
|
|
595
|
-
},
|
|
596
|
-
var
|
|
597
|
-
return
|
|
598
|
-
typeof
|
|
599
|
-
}),
|
|
600
|
-
},
|
|
601
|
-
if (!(
|
|
602
|
-
for (;
|
|
603
|
-
if (
|
|
604
|
-
return
|
|
605
|
-
|
|
595
|
+
}, Dt = (i) => {
|
|
596
|
+
var t = [];
|
|
597
|
+
return G(i, (e) => {
|
|
598
|
+
typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
|
|
599
|
+
}), t.filter(Boolean);
|
|
600
|
+
}, _t = (i) => (Array.isArray(i) || (i = [i]), i), ht = (i, t, e) => {
|
|
601
|
+
if (!(e && !e.contains(i)))
|
|
602
|
+
for (; i && i.matches; ) {
|
|
603
|
+
if (i.matches(t))
|
|
604
|
+
return i;
|
|
605
|
+
i = i.parentNode;
|
|
606
606
|
}
|
|
607
|
-
},
|
|
608
|
-
if (!
|
|
607
|
+
}, Gt = (i, t = 0) => t > 0 ? i[i.length - 1] : i[0], We = (i) => Object.keys(i).length === 0, At = (i, t) => {
|
|
608
|
+
if (!i)
|
|
609
609
|
return -1;
|
|
610
|
-
|
|
611
|
-
for (var
|
|
612
|
-
|
|
613
|
-
return
|
|
614
|
-
},
|
|
615
|
-
|
|
616
|
-
|
|
610
|
+
t = t || i.nodeName;
|
|
611
|
+
for (var e = 0; i = i.previousElementSibling; )
|
|
612
|
+
i.matches(t) && e++;
|
|
613
|
+
return e;
|
|
614
|
+
}, w = (i, t) => {
|
|
615
|
+
G(t, (e, n) => {
|
|
616
|
+
e == null ? i.removeAttribute(n) : i.setAttribute(n, "" + e);
|
|
617
617
|
});
|
|
618
|
-
},
|
|
619
|
-
|
|
620
|
-
},
|
|
621
|
-
if (
|
|
618
|
+
}, mt = (i, t) => {
|
|
619
|
+
i.parentNode && i.parentNode.replaceChild(t, i);
|
|
620
|
+
}, Ge = (i, t) => {
|
|
621
|
+
if (t === null)
|
|
622
622
|
return;
|
|
623
|
-
if (typeof
|
|
624
|
-
if (!
|
|
623
|
+
if (typeof t == "string") {
|
|
624
|
+
if (!t.length)
|
|
625
625
|
return;
|
|
626
|
-
|
|
626
|
+
t = new RegExp(t, "i");
|
|
627
627
|
}
|
|
628
|
-
const
|
|
629
|
-
var r = o.data.match(
|
|
628
|
+
const e = (o) => {
|
|
629
|
+
var r = o.data.match(t);
|
|
630
630
|
if (r && o.data.length > 0) {
|
|
631
631
|
var l = document.createElement("span");
|
|
632
632
|
l.className = "highlight";
|
|
633
|
-
var
|
|
634
|
-
|
|
635
|
-
var
|
|
636
|
-
return l.appendChild(
|
|
633
|
+
var a = o.splitText(r.index);
|
|
634
|
+
a.splitText(r[0].length);
|
|
635
|
+
var c = a.cloneNode(!0);
|
|
636
|
+
return l.appendChild(c), mt(a, l), 1;
|
|
637
637
|
}
|
|
638
638
|
return 0;
|
|
639
|
-
},
|
|
639
|
+
}, n = (o) => {
|
|
640
640
|
o.nodeType === 1 && o.childNodes && !/(script|style)/i.test(o.tagName) && (o.className !== "highlight" || o.tagName !== "SPAN") && Array.from(o.childNodes).forEach((r) => {
|
|
641
|
-
|
|
641
|
+
s(r);
|
|
642
642
|
});
|
|
643
|
-
},
|
|
644
|
-
|
|
645
|
-
},
|
|
646
|
-
var
|
|
647
|
-
Array.prototype.forEach.call(
|
|
648
|
-
var
|
|
649
|
-
|
|
643
|
+
}, s = (o) => o.nodeType === 3 ? e(o) : (n(o), 0);
|
|
644
|
+
s(i);
|
|
645
|
+
}, Ae = (i) => {
|
|
646
|
+
var t = i.querySelectorAll("span.highlight");
|
|
647
|
+
Array.prototype.forEach.call(t, function(e) {
|
|
648
|
+
var n = e.parentNode;
|
|
649
|
+
n.replaceChild(e.firstChild, e), n.normalize();
|
|
650
650
|
});
|
|
651
|
-
},
|
|
651
|
+
}, Be = 65, Xe = 13, Ye = 27, Je = 37, Oe = 38, He = 39, Me = 40, Bt = 8, Re = 46, Xt = 9, Ne = typeof navigator > "u" ? !1 : /Mac/.test(navigator.userAgent), q = Ne ? "metaKey" : "ctrlKey", Yt = {
|
|
652
652
|
options: [],
|
|
653
653
|
optgroups: [],
|
|
654
654
|
plugins: [],
|
|
@@ -699,8 +699,8 @@ const T = (s) => typeof s > "u" || s === null ? null : se(s), se = (s) => typeof
|
|
|
699
699
|
copyClassesToDropdown: !1,
|
|
700
700
|
placeholder: null,
|
|
701
701
|
hidePlaceholder: null,
|
|
702
|
-
shouldLoad: function(
|
|
703
|
-
return
|
|
702
|
+
shouldLoad: function(i) {
|
|
703
|
+
return i.length > 0;
|
|
704
704
|
},
|
|
705
705
|
/*
|
|
706
706
|
load : null, // function(query, callback) { ... }
|
|
@@ -731,171 +731,171 @@ const T = (s) => typeof s > "u" || s === null ? null : se(s), se = (s) => typeof
|
|
|
731
731
|
*/
|
|
732
732
|
}
|
|
733
733
|
};
|
|
734
|
-
function
|
|
735
|
-
var
|
|
736
|
-
if (!
|
|
737
|
-
let
|
|
738
|
-
|
|
734
|
+
function Jt(i, t) {
|
|
735
|
+
var e = Object.assign({}, Yt, t), n = e.dataAttr, s = e.labelField, o = e.valueField, r = e.disabledField, l = e.optgroupField, a = e.optgroupLabelField, c = e.optgroupValueField, d = i.tagName.toLowerCase(), u = i.getAttribute("placeholder") || i.getAttribute("data-placeholder");
|
|
736
|
+
if (!u && !e.allowEmptyOption) {
|
|
737
|
+
let b = i.querySelector('option[value=""]');
|
|
738
|
+
b && (u = b.textContent);
|
|
739
739
|
}
|
|
740
740
|
var p = {
|
|
741
|
-
placeholder:
|
|
741
|
+
placeholder: u,
|
|
742
742
|
options: [],
|
|
743
743
|
optgroups: [],
|
|
744
744
|
items: [],
|
|
745
745
|
maxItems: null
|
|
746
|
-
},
|
|
747
|
-
var
|
|
748
|
-
let
|
|
749
|
-
var
|
|
750
|
-
var
|
|
751
|
-
return typeof
|
|
752
|
-
},
|
|
753
|
-
var
|
|
754
|
-
if (
|
|
755
|
-
if (
|
|
756
|
-
if (
|
|
757
|
-
var
|
|
758
|
-
|
|
746
|
+
}, y = () => {
|
|
747
|
+
var b, Z = p.options, I = {}, h = 1;
|
|
748
|
+
let L = 0;
|
|
749
|
+
var M = (f) => {
|
|
750
|
+
var v = Object.assign({}, f.dataset), m = n && v[n];
|
|
751
|
+
return typeof m == "string" && m.length && (v = Object.assign(v, JSON.parse(m))), v;
|
|
752
|
+
}, Q = (f, v) => {
|
|
753
|
+
var m = O(f.value);
|
|
754
|
+
if (m != null && !(!m && !e.allowEmptyOption)) {
|
|
755
|
+
if (I.hasOwnProperty(m)) {
|
|
756
|
+
if (v) {
|
|
757
|
+
var A = I[m][l];
|
|
758
|
+
A ? Array.isArray(A) ? A.push(v) : I[m][l] = [A, v] : I[m][l] = v;
|
|
759
759
|
}
|
|
760
760
|
} else {
|
|
761
|
-
var
|
|
762
|
-
|
|
761
|
+
var C = M(f);
|
|
762
|
+
C[s] = C[s] || f.textContent, C[o] = C[o] || m, C[r] = C[r] || f.disabled, C[l] = C[l] || v, C.$option = f, C.$order = C.$order || ++L, I[m] = C, Z.push(C);
|
|
763
763
|
}
|
|
764
|
-
|
|
764
|
+
f.selected && p.items.push(m);
|
|
765
765
|
}
|
|
766
|
-
},
|
|
767
|
-
var
|
|
768
|
-
|
|
769
|
-
|
|
766
|
+
}, F = (f) => {
|
|
767
|
+
var v, m;
|
|
768
|
+
m = M(f), m[a] = m[a] || f.getAttribute("label") || "", m[c] = m[c] || h++, m[r] = m[r] || f.disabled, m.$order = m.$order || ++L, p.optgroups.push(m), v = m[c], G(f.children, (A) => {
|
|
769
|
+
Q(A, v);
|
|
770
770
|
});
|
|
771
771
|
};
|
|
772
|
-
p.maxItems =
|
|
773
|
-
|
|
772
|
+
p.maxItems = i.hasAttribute("multiple") ? null : 1, G(i.children, (f) => {
|
|
773
|
+
b = f.tagName.toLowerCase(), b === "optgroup" ? F(f) : b === "option" && Q(f);
|
|
774
774
|
});
|
|
775
|
-
},
|
|
776
|
-
const
|
|
777
|
-
if (
|
|
778
|
-
p.options = JSON.parse(
|
|
779
|
-
p.items.push(
|
|
775
|
+
}, g = () => {
|
|
776
|
+
const b = i.getAttribute(n);
|
|
777
|
+
if (b)
|
|
778
|
+
p.options = JSON.parse(b), G(p.options, (I) => {
|
|
779
|
+
p.items.push(I[o]);
|
|
780
780
|
});
|
|
781
781
|
else {
|
|
782
|
-
var
|
|
783
|
-
if (!
|
|
782
|
+
var Z = i.value.trim() || "";
|
|
783
|
+
if (!e.allowEmptyOption && !Z.length)
|
|
784
784
|
return;
|
|
785
|
-
const
|
|
786
|
-
I
|
|
787
|
-
const
|
|
788
|
-
|
|
789
|
-
}), p.items =
|
|
785
|
+
const I = Z.split(e.delimiter);
|
|
786
|
+
G(I, (h) => {
|
|
787
|
+
const L = {};
|
|
788
|
+
L[s] = h, L[o] = h, p.options.push(L);
|
|
789
|
+
}), p.items = I;
|
|
790
790
|
}
|
|
791
791
|
};
|
|
792
|
-
return
|
|
792
|
+
return d === "select" ? y() : g(), Object.assign({}, Yt, p, t);
|
|
793
793
|
}
|
|
794
|
-
var
|
|
795
|
-
class
|
|
796
|
-
constructor(
|
|
797
|
-
super(), this.order = 0, this.isOpen = !1, this.isDisabled = !1, this.isReadOnly = !1, this.isInvalid = !1, this.isValid = !0, this.isLocked = !1, this.isFocused = !1, this.isInputHidden = !1, this.isSetup = !1, this.ignoreFocus = !1, this.ignoreHover = !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.refreshTimeout = null,
|
|
798
|
-
var
|
|
799
|
-
if (
|
|
794
|
+
var Ot = 0;
|
|
795
|
+
class X extends te(qt) {
|
|
796
|
+
constructor(t, e) {
|
|
797
|
+
super(), this.order = 0, this.isOpen = !1, this.isDisabled = !1, this.isReadOnly = !1, this.isInvalid = !1, this.isValid = !0, this.isLocked = !1, this.isFocused = !1, this.isInputHidden = !1, this.isSetup = !1, this.ignoreFocus = !1, this.ignoreHover = !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.refreshTimeout = null, Ot++;
|
|
798
|
+
var n, s = R(t);
|
|
799
|
+
if (s.tomselect)
|
|
800
800
|
throw new Error("Tom Select already initialized on this element");
|
|
801
|
-
|
|
802
|
-
var o = window.getComputedStyle && window.getComputedStyle(
|
|
803
|
-
|
|
804
|
-
const r =
|
|
805
|
-
this.settings = r, this.input =
|
|
801
|
+
s.tomselect = this;
|
|
802
|
+
var o = window.getComputedStyle && window.getComputedStyle(s, null);
|
|
803
|
+
n = o.getPropertyValue("direction");
|
|
804
|
+
const r = Jt(s, e);
|
|
805
|
+
this.settings = r, this.input = s, this.tabIndex = s.tabIndex || 0, this.is_select_tag = s.tagName.toLowerCase() === "select", this.rtl = /rtl/i.test(n), this.inputId = gt(s, "tomselect-" + Ot), this.isRequired = s.required, this.sifter = new Ce(this.options, { diacritics: r.diacritics }), r.mode = r.mode || (r.maxItems === 1 ? "single" : "multi"), typeof r.hideSelected != "boolean" && (r.hideSelected = r.mode === "multi"), typeof r.hidePlaceholder != "boolean" && (r.hidePlaceholder = r.mode !== "multi");
|
|
806
806
|
var l = r.createFilter;
|
|
807
|
-
typeof l != "function" && (typeof l == "string" && (l = new RegExp(l)), l instanceof RegExp ? r.createFilter = (
|
|
808
|
-
const
|
|
809
|
-
var
|
|
810
|
-
if (
|
|
811
|
-
|
|
812
|
-
var
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
}),
|
|
816
|
-
} else r.controlInput ? (
|
|
817
|
-
this.wrapper =
|
|
807
|
+
typeof l != "function" && (typeof l == "string" && (l = new RegExp(l)), l instanceof RegExp ? r.createFilter = (Z) => l.test(Z) : r.createFilter = (Z) => this.settings.duplicates || !this.options[Z]), this.initializePlugins(r.plugins), this.setupCallbacks(), this.setupTemplates();
|
|
808
|
+
const a = R("<div>"), c = R("<div>"), d = this._render("dropdown"), u = R('<div role="listbox" tabindex="-1">'), p = this.input.getAttribute("class") || "", y = r.mode;
|
|
809
|
+
var g;
|
|
810
|
+
if (J(a, r.wrapperClass, p, y), J(c, r.controlClass), k(a, c), J(d, r.dropdownClass, y), r.copyClassesToDropdown && J(d, p), J(u, r.dropdownContentClass), k(d, u), R(r.dropdownParent || a).appendChild(d), xt(r.controlInput)) {
|
|
811
|
+
g = R(r.controlInput);
|
|
812
|
+
var b = ["autocorrect", "autocapitalize", "autocomplete", "spellcheck"];
|
|
813
|
+
G(b, (Z) => {
|
|
814
|
+
s.getAttribute(Z) && w(g, { [Z]: s.getAttribute(Z) });
|
|
815
|
+
}), g.tabIndex = -1, c.appendChild(g), this.focus_node = g;
|
|
816
|
+
} else r.controlInput ? (g = R(r.controlInput), this.focus_node = g) : (g = R("<input/>"), this.focus_node = c);
|
|
817
|
+
this.wrapper = a, this.dropdown = d, this.dropdown_content = u, this.control = c, this.control_input = g, this.setup();
|
|
818
818
|
}
|
|
819
819
|
/**
|
|
820
820
|
* set up event bindings.
|
|
821
821
|
*
|
|
822
822
|
*/
|
|
823
823
|
setup() {
|
|
824
|
-
const
|
|
825
|
-
|
|
826
|
-
id:
|
|
827
|
-
}),
|
|
824
|
+
const t = this, e = t.settings, n = t.control_input, s = t.dropdown, o = t.dropdown_content, r = t.wrapper, l = t.control, a = t.input, c = t.focus_node, d = { passive: !0 }, u = t.inputId + "-ts-dropdown";
|
|
825
|
+
w(o, {
|
|
826
|
+
id: u
|
|
827
|
+
}), w(c, {
|
|
828
828
|
role: "combobox",
|
|
829
829
|
"aria-haspopup": "listbox",
|
|
830
830
|
"aria-expanded": "false",
|
|
831
|
-
"aria-controls":
|
|
831
|
+
"aria-controls": u
|
|
832
832
|
});
|
|
833
|
-
const p =
|
|
834
|
-
if (
|
|
835
|
-
|
|
836
|
-
const h =
|
|
837
|
-
|
|
833
|
+
const p = gt(c, t.inputId + "-ts-control"), y = "label[for='" + Le(t.inputId) + "']", g = document.querySelector(y), b = t.focus.bind(t);
|
|
834
|
+
if (g) {
|
|
835
|
+
B(g, "click", b), w(g, { for: p });
|
|
836
|
+
const h = gt(g, t.inputId + "-ts-label");
|
|
837
|
+
w(c, { "aria-labelledby": h }), w(o, { "aria-labelledby": h });
|
|
838
838
|
}
|
|
839
|
-
if (r.style.width =
|
|
840
|
-
const h = "plugin-" +
|
|
841
|
-
|
|
839
|
+
if (r.style.width = a.style.width, t.plugins.names.length) {
|
|
840
|
+
const h = "plugin-" + t.plugins.names.join(" plugin-");
|
|
841
|
+
J([r, s], h);
|
|
842
842
|
}
|
|
843
|
-
(
|
|
844
|
-
|
|
845
|
-
}),
|
|
846
|
-
var
|
|
847
|
-
|
|
848
|
-
}, { capture: !0 }),
|
|
849
|
-
const
|
|
850
|
-
|
|
851
|
-
}),
|
|
852
|
-
var
|
|
853
|
-
if (
|
|
854
|
-
|
|
843
|
+
(e.maxItems === null || e.maxItems > 1) && t.is_select_tag && w(a, { multiple: "multiple" }), e.placeholder && w(n, { placeholder: e.placeholder }), !e.splitOn && e.delimiter && (e.splitOn = new RegExp("\\s*" + T(e.delimiter) + "+\\s*")), e.load && e.loadThrottle && (e.load = Ze(e.load, e.loadThrottle)), B(s, "mousemove", () => {
|
|
844
|
+
t.ignoreHover = !1;
|
|
845
|
+
}), B(s, "mouseenter", (h) => {
|
|
846
|
+
var L = ht(h.target, "[data-selectable]", s);
|
|
847
|
+
L && t.onOptionHover(h, L);
|
|
848
|
+
}, { capture: !0 }), B(s, "click", (h) => {
|
|
849
|
+
const L = ht(h.target, "[data-selectable]");
|
|
850
|
+
L && (t.onOptionSelect(h, L), W(h, !0));
|
|
851
|
+
}), B(l, "click", (h) => {
|
|
852
|
+
var L = ht(h.target, "[data-ts-item]", l);
|
|
853
|
+
if (L && t.onItemSelect(h, L)) {
|
|
854
|
+
W(h, !0);
|
|
855
855
|
return;
|
|
856
856
|
}
|
|
857
|
-
|
|
858
|
-
}),
|
|
859
|
-
const
|
|
860
|
-
const
|
|
861
|
-
if (!r.contains(
|
|
862
|
-
|
|
857
|
+
n.value == "" && (t.onClick(), W(h, !0));
|
|
858
|
+
}), B(c, "keydown", (h) => t.onKeyDown(h)), B(n, "keypress", (h) => t.onKeyPress(h)), B(n, "input", (h) => t.onInput(h)), B(c, "blur", (h) => t.onBlur(h)), B(c, "focus", (h) => t.onFocus(h)), B(n, "paste", (h) => t.onPaste(h));
|
|
859
|
+
const Z = (h) => {
|
|
860
|
+
const L = h.composedPath()[0];
|
|
861
|
+
if (!r.contains(L) && !s.contains(L)) {
|
|
862
|
+
t.isFocused && t.blur(), t.inputState();
|
|
863
863
|
return;
|
|
864
864
|
}
|
|
865
|
-
|
|
866
|
-
},
|
|
867
|
-
|
|
865
|
+
L == n && t.isOpen ? h.stopPropagation() : W(h, !0);
|
|
866
|
+
}, I = () => {
|
|
867
|
+
t.isOpen && t.positionDropdown();
|
|
868
868
|
};
|
|
869
|
-
|
|
870
|
-
document.removeEventListener("mousedown",
|
|
869
|
+
B(document, "mousedown", Z), B(window, "scroll", I, d), B(window, "resize", I, d), this._destroy = () => {
|
|
870
|
+
document.removeEventListener("mousedown", Z), window.removeEventListener("scroll", I), window.removeEventListener("resize", I), g && g.removeEventListener("click", b);
|
|
871
871
|
}, this.revertSettings = {
|
|
872
|
-
innerHTML:
|
|
873
|
-
tabIndex:
|
|
874
|
-
},
|
|
875
|
-
|
|
876
|
-
}),
|
|
872
|
+
innerHTML: a.innerHTML,
|
|
873
|
+
tabIndex: a.tabIndex
|
|
874
|
+
}, a.tabIndex = -1, a.insertAdjacentElement("afterend", t.wrapper), t.sync(!1), e.items = [], delete e.optgroups, delete e.options, B(a, "invalid", () => {
|
|
875
|
+
t.isValid && (t.isValid = !1, t.isInvalid = !0, t.refreshState());
|
|
876
|
+
}), t.updateOriginalInput(), t.refreshItems(), t.close(!1), t.inputState(), t.isSetup = !0, a.disabled ? t.disable() : a.readOnly ? t.setReadOnly(!0) : t.enable(), t.on("change", this.onChange), J(a, "tomselected", "ts-hidden-accessible"), t.trigger("initialize"), e.preload === !0 && t.preload();
|
|
877
877
|
}
|
|
878
878
|
/**
|
|
879
879
|
* Register options and optgroups
|
|
880
880
|
*
|
|
881
881
|
*/
|
|
882
|
-
setupOptions(
|
|
883
|
-
this.addOptions(
|
|
884
|
-
this.registerOptionGroup(
|
|
882
|
+
setupOptions(t = [], e = []) {
|
|
883
|
+
this.addOptions(t), G(e, (n) => {
|
|
884
|
+
this.registerOptionGroup(n);
|
|
885
885
|
});
|
|
886
886
|
}
|
|
887
887
|
/**
|
|
888
888
|
* Sets up default rendering functions.
|
|
889
889
|
*/
|
|
890
890
|
setupTemplates() {
|
|
891
|
-
var
|
|
891
|
+
var t = this, e = t.settings.labelField, n = t.settings.optgroupLabelField, s = {
|
|
892
892
|
optgroup: (o) => {
|
|
893
893
|
let r = document.createElement("div");
|
|
894
894
|
return r.className = "optgroup", r.appendChild(o.options), r;
|
|
895
895
|
},
|
|
896
|
-
optgroup_header: (o, r) => '<div class="optgroup-header">' + r(o[
|
|
897
|
-
option: (o, r) => "<div>" + r(o[
|
|
898
|
-
item: (o, r) => "<div>" + r(o[
|
|
896
|
+
optgroup_header: (o, r) => '<div class="optgroup-header">' + r(o[n]) + "</div>",
|
|
897
|
+
option: (o, r) => "<div>" + r(o[e]) + "</div>",
|
|
898
|
+
item: (o, r) => "<div>" + r(o[e]) + "</div>",
|
|
899
899
|
option_create: (o, r) => '<div class="create">Add <strong>' + r(o.input) + "</strong>…</div>",
|
|
900
900
|
no_results: () => '<div class="no-results">No results found</div>',
|
|
901
901
|
loading: () => '<div class="spinner"></div>',
|
|
@@ -903,14 +903,14 @@ class F extends tt(et) {
|
|
|
903
903
|
},
|
|
904
904
|
dropdown: () => "<div></div>"
|
|
905
905
|
};
|
|
906
|
-
|
|
906
|
+
t.settings.render = Object.assign({}, s, t.settings.render);
|
|
907
907
|
}
|
|
908
908
|
/**
|
|
909
909
|
* Maps fired events to callbacks provided
|
|
910
910
|
* in the settings used when creating the control.
|
|
911
911
|
*/
|
|
912
912
|
setupCallbacks() {
|
|
913
|
-
var
|
|
913
|
+
var t, e, n = {
|
|
914
914
|
initialize: "onInitialize",
|
|
915
915
|
change: "onChange",
|
|
916
916
|
item_add: "onItemAdd",
|
|
@@ -930,16 +930,16 @@ class F extends tt(et) {
|
|
|
930
930
|
focus: "onFocus",
|
|
931
931
|
blur: "onBlur"
|
|
932
932
|
};
|
|
933
|
-
for (
|
|
934
|
-
|
|
933
|
+
for (t in n)
|
|
934
|
+
e = this.settings[n[t]], e && this.on(t, e);
|
|
935
935
|
}
|
|
936
936
|
/**
|
|
937
937
|
* Sync the Tom Select instance with the original input or select
|
|
938
938
|
*
|
|
939
939
|
*/
|
|
940
|
-
sync(
|
|
941
|
-
const
|
|
942
|
-
|
|
940
|
+
sync(t = !0) {
|
|
941
|
+
const e = this, n = t ? Jt(e.input, { delimiter: e.settings.delimiter }) : e.settings;
|
|
942
|
+
e.setupOptions(n.options, n.optgroups), e.setValue(n.items || [], !0), e.lastQuery = null;
|
|
943
943
|
}
|
|
944
944
|
/**
|
|
945
945
|
* Triggered when the main control element
|
|
@@ -947,12 +947,12 @@ class F extends tt(et) {
|
|
|
947
947
|
*
|
|
948
948
|
*/
|
|
949
949
|
onClick() {
|
|
950
|
-
var
|
|
951
|
-
if (
|
|
952
|
-
|
|
950
|
+
var t = this;
|
|
951
|
+
if (t.activeItems.length > 0) {
|
|
952
|
+
t.clearActiveItems(), t.focus();
|
|
953
953
|
return;
|
|
954
954
|
}
|
|
955
|
-
|
|
955
|
+
t.isFocused && t.isOpen ? t.blur() : t.focus();
|
|
956
956
|
}
|
|
957
957
|
/**
|
|
958
958
|
* @deprecated v1.7
|
|
@@ -966,24 +966,24 @@ class F extends tt(et) {
|
|
|
966
966
|
* input / select element.
|
|
967
967
|
*/
|
|
968
968
|
onChange() {
|
|
969
|
-
|
|
969
|
+
pt(this.input, "input"), pt(this.input, "change");
|
|
970
970
|
}
|
|
971
971
|
/**
|
|
972
972
|
* Triggered on <input> paste.
|
|
973
973
|
*
|
|
974
974
|
*/
|
|
975
|
-
onPaste(
|
|
976
|
-
var
|
|
977
|
-
if (
|
|
978
|
-
|
|
975
|
+
onPaste(t) {
|
|
976
|
+
var e = this;
|
|
977
|
+
if (e.isInputHidden || e.isLocked) {
|
|
978
|
+
W(t);
|
|
979
979
|
return;
|
|
980
980
|
}
|
|
981
|
-
|
|
982
|
-
var
|
|
983
|
-
if (
|
|
984
|
-
var
|
|
985
|
-
|
|
986
|
-
|
|
981
|
+
e.settings.splitOn && setTimeout(() => {
|
|
982
|
+
var n = e.inputValue();
|
|
983
|
+
if (n.match(e.settings.splitOn)) {
|
|
984
|
+
var s = n.trim().split(e.settings.splitOn);
|
|
985
|
+
G(s, (o) => {
|
|
986
|
+
O(o) && (this.options[o] ? e.addItem(o) : e.createItem(o));
|
|
987
987
|
});
|
|
988
988
|
}
|
|
989
989
|
}, 0);
|
|
@@ -992,15 +992,15 @@ class F extends tt(et) {
|
|
|
992
992
|
* Triggered on <input> keypress.
|
|
993
993
|
*
|
|
994
994
|
*/
|
|
995
|
-
onKeyPress(
|
|
996
|
-
var
|
|
997
|
-
if (
|
|
998
|
-
|
|
995
|
+
onKeyPress(t) {
|
|
996
|
+
var e = this;
|
|
997
|
+
if (e.isLocked) {
|
|
998
|
+
W(t);
|
|
999
999
|
return;
|
|
1000
1000
|
}
|
|
1001
|
-
var
|
|
1002
|
-
if (
|
|
1003
|
-
|
|
1001
|
+
var n = String.fromCharCode(t.keyCode || t.which);
|
|
1002
|
+
if (e.settings.create && e.settings.mode === "multi" && n === e.settings.delimiter) {
|
|
1003
|
+
e.createItem(), W(t);
|
|
1004
1004
|
return;
|
|
1005
1005
|
}
|
|
1006
1006
|
}
|
|
@@ -1008,121 +1008,121 @@ class F extends tt(et) {
|
|
|
1008
1008
|
* Triggered on <input> keydown.
|
|
1009
1009
|
*
|
|
1010
1010
|
*/
|
|
1011
|
-
onKeyDown(
|
|
1012
|
-
var
|
|
1013
|
-
if (
|
|
1014
|
-
|
|
1011
|
+
onKeyDown(t) {
|
|
1012
|
+
var e = this;
|
|
1013
|
+
if (e.ignoreHover = !0, e.isLocked) {
|
|
1014
|
+
t.keyCode !== Xt && W(t);
|
|
1015
1015
|
return;
|
|
1016
1016
|
}
|
|
1017
|
-
switch (
|
|
1017
|
+
switch (t.keyCode) {
|
|
1018
1018
|
// ctrl+A: select all
|
|
1019
|
-
case
|
|
1020
|
-
if (
|
|
1021
|
-
|
|
1019
|
+
case Be:
|
|
1020
|
+
if (z(q, t) && e.control_input.value == "") {
|
|
1021
|
+
W(t), e.selectAll();
|
|
1022
1022
|
return;
|
|
1023
1023
|
}
|
|
1024
1024
|
break;
|
|
1025
1025
|
// esc: close dropdown
|
|
1026
|
-
case
|
|
1027
|
-
|
|
1026
|
+
case Ye:
|
|
1027
|
+
e.isOpen && (W(t, !0), e.close()), e.clearActiveItems();
|
|
1028
1028
|
return;
|
|
1029
1029
|
// down: open dropdown or move selection down
|
|
1030
|
-
case
|
|
1031
|
-
if (!
|
|
1032
|
-
|
|
1033
|
-
else if (
|
|
1034
|
-
let
|
|
1035
|
-
|
|
1030
|
+
case Me:
|
|
1031
|
+
if (!e.isOpen && e.hasOptions)
|
|
1032
|
+
e.open();
|
|
1033
|
+
else if (e.activeOption) {
|
|
1034
|
+
let n = e.getAdjacent(e.activeOption, 1);
|
|
1035
|
+
n && e.setActiveOption(n);
|
|
1036
1036
|
}
|
|
1037
|
-
|
|
1037
|
+
W(t);
|
|
1038
1038
|
return;
|
|
1039
1039
|
// up: move selection up
|
|
1040
|
-
case
|
|
1041
|
-
if (
|
|
1042
|
-
let
|
|
1043
|
-
|
|
1040
|
+
case Oe:
|
|
1041
|
+
if (e.activeOption) {
|
|
1042
|
+
let n = e.getAdjacent(e.activeOption, -1);
|
|
1043
|
+
n && e.setActiveOption(n);
|
|
1044
1044
|
}
|
|
1045
|
-
|
|
1045
|
+
W(t);
|
|
1046
1046
|
return;
|
|
1047
1047
|
// return: select active option
|
|
1048
|
-
case
|
|
1049
|
-
|
|
1048
|
+
case Xe:
|
|
1049
|
+
e.canSelect(e.activeOption) ? (e.onOptionSelect(t, e.activeOption), W(t)) : (e.settings.create && e.createItem() || document.activeElement == e.control_input && e.isOpen) && W(t);
|
|
1050
1050
|
return;
|
|
1051
1051
|
// left: modifiy item selection to the left
|
|
1052
|
-
case
|
|
1053
|
-
|
|
1052
|
+
case Je:
|
|
1053
|
+
e.advanceSelection(-1, t);
|
|
1054
1054
|
return;
|
|
1055
1055
|
// right: modifiy item selection to the right
|
|
1056
|
-
case
|
|
1057
|
-
|
|
1056
|
+
case He:
|
|
1057
|
+
e.advanceSelection(1, t);
|
|
1058
1058
|
return;
|
|
1059
1059
|
// tab: select active option and/or create item
|
|
1060
|
-
case
|
|
1061
|
-
|
|
1060
|
+
case Xt:
|
|
1061
|
+
e.settings.selectOnTab && (e.canSelect(e.activeOption) && (e.onOptionSelect(t, e.activeOption), W(t)), e.settings.create && e.createItem() && W(t));
|
|
1062
1062
|
return;
|
|
1063
1063
|
// delete|backspace: delete items
|
|
1064
|
-
case
|
|
1065
|
-
case
|
|
1066
|
-
|
|
1064
|
+
case Bt:
|
|
1065
|
+
case Re:
|
|
1066
|
+
e.deleteSelection(t);
|
|
1067
1067
|
return;
|
|
1068
1068
|
}
|
|
1069
|
-
|
|
1069
|
+
e.isInputHidden && !z(q, t) && W(t);
|
|
1070
1070
|
}
|
|
1071
1071
|
/**
|
|
1072
1072
|
* Triggered on <input> keyup.
|
|
1073
1073
|
*
|
|
1074
1074
|
*/
|
|
1075
|
-
onInput(
|
|
1075
|
+
onInput(t) {
|
|
1076
1076
|
if (this.isLocked)
|
|
1077
1077
|
return;
|
|
1078
|
-
const
|
|
1079
|
-
if (this.lastValue !==
|
|
1080
|
-
if (this.lastValue =
|
|
1078
|
+
const e = this.inputValue();
|
|
1079
|
+
if (this.lastValue !== e) {
|
|
1080
|
+
if (this.lastValue = e, e == "") {
|
|
1081
1081
|
this._onInput();
|
|
1082
1082
|
return;
|
|
1083
1083
|
}
|
|
1084
|
-
this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout =
|
|
1084
|
+
this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout = ye(() => {
|
|
1085
1085
|
this.refreshTimeout = null, this._onInput();
|
|
1086
1086
|
}, this.settings.refreshThrottle);
|
|
1087
1087
|
}
|
|
1088
1088
|
}
|
|
1089
1089
|
_onInput() {
|
|
1090
|
-
const
|
|
1091
|
-
this.settings.shouldLoad.call(this,
|
|
1090
|
+
const t = this.lastValue;
|
|
1091
|
+
this.settings.shouldLoad.call(this, t) && this.load(t), this.refreshOptions(), this.trigger("type", t);
|
|
1092
1092
|
}
|
|
1093
1093
|
/**
|
|
1094
1094
|
* Triggered when the user rolls over
|
|
1095
1095
|
* an option in the autocomplete dropdown menu.
|
|
1096
1096
|
*
|
|
1097
1097
|
*/
|
|
1098
|
-
onOptionHover(
|
|
1099
|
-
this.ignoreHover || this.setActiveOption(
|
|
1098
|
+
onOptionHover(t, e) {
|
|
1099
|
+
this.ignoreHover || this.setActiveOption(e, !1);
|
|
1100
1100
|
}
|
|
1101
1101
|
/**
|
|
1102
1102
|
* Triggered on <input> focus.
|
|
1103
1103
|
*
|
|
1104
1104
|
*/
|
|
1105
|
-
onFocus(
|
|
1106
|
-
var
|
|
1107
|
-
if (
|
|
1108
|
-
|
|
1105
|
+
onFocus(t) {
|
|
1106
|
+
var e = this, n = e.isFocused;
|
|
1107
|
+
if (e.isDisabled || e.isReadOnly) {
|
|
1108
|
+
e.blur(), W(t);
|
|
1109
1109
|
return;
|
|
1110
1110
|
}
|
|
1111
|
-
|
|
1111
|
+
e.ignoreFocus || (e.isFocused = !0, e.settings.preload === "focus" && e.preload(), n || e.trigger("focus"), e.activeItems.length || (e.inputState(), e.refreshOptions(!!e.settings.openOnFocus)), e.refreshState());
|
|
1112
1112
|
}
|
|
1113
1113
|
/**
|
|
1114
1114
|
* Triggered on <input> blur.
|
|
1115
1115
|
*
|
|
1116
1116
|
*/
|
|
1117
|
-
onBlur(
|
|
1117
|
+
onBlur(t) {
|
|
1118
1118
|
if (document.hasFocus() !== !1) {
|
|
1119
|
-
var
|
|
1120
|
-
if (
|
|
1121
|
-
|
|
1122
|
-
var
|
|
1123
|
-
|
|
1119
|
+
var e = this;
|
|
1120
|
+
if (e.isFocused) {
|
|
1121
|
+
e.isFocused = !1, e.ignoreFocus = !1;
|
|
1122
|
+
var n = () => {
|
|
1123
|
+
e.close(), e.setActiveItem(), e.setCaret(e.items.length), e.trigger("blur");
|
|
1124
1124
|
};
|
|
1125
|
-
|
|
1125
|
+
e.settings.create && e.settings.createOnBlur ? e.createItem(null, n) : n();
|
|
1126
1126
|
}
|
|
1127
1127
|
}
|
|
1128
1128
|
}
|
|
@@ -1131,27 +1131,27 @@ class F extends tt(et) {
|
|
|
1131
1131
|
* in the autocomplete dropdown menu.
|
|
1132
1132
|
*
|
|
1133
1133
|
*/
|
|
1134
|
-
onOptionSelect(
|
|
1135
|
-
var
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
}) : (
|
|
1134
|
+
onOptionSelect(t, e) {
|
|
1135
|
+
var n, s = this;
|
|
1136
|
+
e.parentElement && e.parentElement.matches("[data-disabled]") || (e.classList.contains("create") ? s.createItem(null, () => {
|
|
1137
|
+
s.settings.closeAfterSelect && s.close();
|
|
1138
|
+
}) : (n = e.dataset.value, typeof n < "u" && (s.lastQuery = null, s.addItem(n), s.settings.closeAfterSelect && s.close(), !s.settings.hideSelected && t.type && /click/.test(t.type) && s.setActiveOption(e))));
|
|
1139
1139
|
}
|
|
1140
1140
|
/**
|
|
1141
1141
|
* Return true if the given option can be selected
|
|
1142
1142
|
*
|
|
1143
1143
|
*/
|
|
1144
|
-
canSelect(
|
|
1145
|
-
return !!(this.isOpen &&
|
|
1144
|
+
canSelect(t) {
|
|
1145
|
+
return !!(this.isOpen && t && this.dropdown_content.contains(t));
|
|
1146
1146
|
}
|
|
1147
1147
|
/**
|
|
1148
1148
|
* Triggered when the user clicks on an item
|
|
1149
1149
|
* that has been selected.
|
|
1150
1150
|
*
|
|
1151
1151
|
*/
|
|
1152
|
-
onItemSelect(
|
|
1153
|
-
var
|
|
1154
|
-
return !
|
|
1152
|
+
onItemSelect(t, e) {
|
|
1153
|
+
var n = this;
|
|
1154
|
+
return !n.isLocked && n.settings.mode === "multi" ? (W(t), n.setActiveItem(e, t), !0) : !1;
|
|
1155
1155
|
}
|
|
1156
1156
|
/**
|
|
1157
1157
|
* Determines whether or not to invoke
|
|
@@ -1169,40 +1169,40 @@ class F extends tt(et) {
|
|
|
1169
1169
|
* feedback when canLoad returns false
|
|
1170
1170
|
*
|
|
1171
1171
|
*/
|
|
1172
|
-
canLoad(
|
|
1173
|
-
return !(!this.settings.load || this.loadedSearches.hasOwnProperty(
|
|
1172
|
+
canLoad(t) {
|
|
1173
|
+
return !(!this.settings.load || this.loadedSearches.hasOwnProperty(t));
|
|
1174
1174
|
}
|
|
1175
1175
|
/**
|
|
1176
1176
|
* Invokes the user-provided option provider / loader.
|
|
1177
1177
|
*
|
|
1178
1178
|
*/
|
|
1179
|
-
load(
|
|
1180
|
-
const
|
|
1181
|
-
if (!
|
|
1179
|
+
load(t) {
|
|
1180
|
+
const e = this;
|
|
1181
|
+
if (!e.canLoad(t))
|
|
1182
1182
|
return;
|
|
1183
|
-
|
|
1184
|
-
const
|
|
1185
|
-
|
|
1183
|
+
J(e.wrapper, e.settings.loadingClass), e.loading++;
|
|
1184
|
+
const n = e.loadCallback.bind(e);
|
|
1185
|
+
e.settings.load.call(e, t, n);
|
|
1186
1186
|
}
|
|
1187
1187
|
/**
|
|
1188
1188
|
* Invoked by the user-provided option provider
|
|
1189
1189
|
*
|
|
1190
1190
|
*/
|
|
1191
|
-
loadCallback(
|
|
1192
|
-
const
|
|
1193
|
-
|
|
1191
|
+
loadCallback(t, e) {
|
|
1192
|
+
const n = this;
|
|
1193
|
+
n.loading = Math.max(n.loading - 1, 0), n.lastQuery = null, n.clearActiveOption(), n.setupOptions(t, e), n.refreshOptions(n.isFocused && !n.isInputHidden), n.loading || N(n.wrapper, n.settings.loadingClass), n.trigger("load", t, e);
|
|
1194
1194
|
}
|
|
1195
1195
|
preload() {
|
|
1196
|
-
var
|
|
1197
|
-
|
|
1196
|
+
var t = this.wrapper.classList;
|
|
1197
|
+
t.contains("preloaded") || (t.add("preloaded"), this.load(""));
|
|
1198
1198
|
}
|
|
1199
1199
|
/**
|
|
1200
1200
|
* Sets the input field of the control to the specified value.
|
|
1201
1201
|
*
|
|
1202
1202
|
*/
|
|
1203
|
-
setTextboxValue(
|
|
1204
|
-
var
|
|
1205
|
-
|
|
1203
|
+
setTextboxValue(t = "") {
|
|
1204
|
+
var e = this.control_input, n = e.value !== t;
|
|
1205
|
+
n && (e.value = t, pt(e, "update"), this.lastValue = t);
|
|
1206
1206
|
}
|
|
1207
1207
|
/**
|
|
1208
1208
|
* Returns the value of the control. If multiple items
|
|
@@ -1218,104 +1218,104 @@ class F extends tt(et) {
|
|
|
1218
1218
|
* Resets the selected items to the given value.
|
|
1219
1219
|
*
|
|
1220
1220
|
*/
|
|
1221
|
-
setValue(
|
|
1222
|
-
var
|
|
1223
|
-
|
|
1224
|
-
this.clear(
|
|
1221
|
+
setValue(t, e) {
|
|
1222
|
+
var n = e ? [] : ["change"];
|
|
1223
|
+
Lt(this, n, () => {
|
|
1224
|
+
this.clear(e), this.addItems(t, e);
|
|
1225
1225
|
});
|
|
1226
1226
|
}
|
|
1227
1227
|
/**
|
|
1228
1228
|
* Resets the number of max items to the given value
|
|
1229
1229
|
*
|
|
1230
1230
|
*/
|
|
1231
|
-
setMaxItems(
|
|
1232
|
-
|
|
1231
|
+
setMaxItems(t) {
|
|
1232
|
+
t === 0 && (t = null), this.settings.maxItems = t, this.refreshState();
|
|
1233
1233
|
}
|
|
1234
1234
|
/**
|
|
1235
1235
|
* Sets the selected item.
|
|
1236
1236
|
*
|
|
1237
1237
|
*/
|
|
1238
|
-
setActiveItem(
|
|
1239
|
-
var
|
|
1240
|
-
if (
|
|
1241
|
-
if (!
|
|
1242
|
-
|
|
1238
|
+
setActiveItem(t, e) {
|
|
1239
|
+
var n = this, s, o, r, l, a, c;
|
|
1240
|
+
if (n.settings.mode !== "single") {
|
|
1241
|
+
if (!t) {
|
|
1242
|
+
n.clearActiveItems(), n.isFocused && n.inputState();
|
|
1243
1243
|
return;
|
|
1244
1244
|
}
|
|
1245
|
-
if (
|
|
1246
|
-
for (
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
} else
|
|
1250
|
-
|
|
1245
|
+
if (s = e && e.type.toLowerCase(), s === "click" && z("shiftKey", e) && n.activeItems.length) {
|
|
1246
|
+
for (c = n.getLastActive(), r = Array.prototype.indexOf.call(n.control.children, c), l = Array.prototype.indexOf.call(n.control.children, t), r > l && (a = r, r = l, l = a), o = r; o <= l; o++)
|
|
1247
|
+
t = n.control.children[o], n.activeItems.indexOf(t) === -1 && n.setActiveItemClass(t);
|
|
1248
|
+
W(e);
|
|
1249
|
+
} else s === "click" && z(q, e) || s === "keydown" && z("shiftKey", e) ? t.classList.contains("active") ? n.removeActiveItem(t) : n.setActiveItemClass(t) : (n.clearActiveItems(), n.setActiveItemClass(t));
|
|
1250
|
+
n.inputState(), n.isFocused || n.focus();
|
|
1251
1251
|
}
|
|
1252
1252
|
}
|
|
1253
1253
|
/**
|
|
1254
1254
|
* Set the active and last-active classes
|
|
1255
1255
|
*
|
|
1256
1256
|
*/
|
|
1257
|
-
setActiveItemClass(
|
|
1258
|
-
const
|
|
1259
|
-
|
|
1257
|
+
setActiveItemClass(t) {
|
|
1258
|
+
const e = this, n = e.control.querySelector(".last-active");
|
|
1259
|
+
n && N(n, "last-active"), J(t, "active last-active"), e.trigger("item_select", t), e.activeItems.indexOf(t) == -1 && e.activeItems.push(t);
|
|
1260
1260
|
}
|
|
1261
1261
|
/**
|
|
1262
1262
|
* Remove active item
|
|
1263
1263
|
*
|
|
1264
1264
|
*/
|
|
1265
|
-
removeActiveItem(
|
|
1266
|
-
var
|
|
1267
|
-
this.activeItems.splice(
|
|
1265
|
+
removeActiveItem(t) {
|
|
1266
|
+
var e = this.activeItems.indexOf(t);
|
|
1267
|
+
this.activeItems.splice(e, 1), N(t, "active");
|
|
1268
1268
|
}
|
|
1269
1269
|
/**
|
|
1270
1270
|
* Clears all the active items
|
|
1271
1271
|
*
|
|
1272
1272
|
*/
|
|
1273
1273
|
clearActiveItems() {
|
|
1274
|
-
|
|
1274
|
+
N(this.activeItems, "active"), this.activeItems = [];
|
|
1275
1275
|
}
|
|
1276
1276
|
/**
|
|
1277
1277
|
* Sets the selected item in the dropdown menu
|
|
1278
1278
|
* of available options.
|
|
1279
1279
|
*
|
|
1280
1280
|
*/
|
|
1281
|
-
setActiveOption(
|
|
1282
|
-
|
|
1281
|
+
setActiveOption(t, e = !0) {
|
|
1282
|
+
t !== this.activeOption && (this.clearActiveOption(), t && (this.activeOption = t, w(this.focus_node, { "aria-activedescendant": t.getAttribute("id") }), w(t, { "aria-selected": "true" }), J(t, "active"), e && this.scrollToOption(t)));
|
|
1283
1283
|
}
|
|
1284
1284
|
/**
|
|
1285
1285
|
* Sets the dropdown_content scrollTop to display the option
|
|
1286
1286
|
*
|
|
1287
1287
|
*/
|
|
1288
|
-
scrollToOption(
|
|
1289
|
-
if (!
|
|
1288
|
+
scrollToOption(t, e) {
|
|
1289
|
+
if (!t)
|
|
1290
1290
|
return;
|
|
1291
|
-
const
|
|
1292
|
-
l + r >
|
|
1291
|
+
const n = this.dropdown_content, s = n.clientHeight, o = n.scrollTop || 0, r = t.offsetHeight, l = t.getBoundingClientRect().top - n.getBoundingClientRect().top + o;
|
|
1292
|
+
l + r > s + o ? this.scroll(l - s + r, e) : l < o && this.scroll(l, e);
|
|
1293
1293
|
}
|
|
1294
1294
|
/**
|
|
1295
1295
|
* Scroll the dropdown to the given position
|
|
1296
1296
|
*
|
|
1297
1297
|
*/
|
|
1298
|
-
scroll(
|
|
1299
|
-
const
|
|
1300
|
-
|
|
1298
|
+
scroll(t, e) {
|
|
1299
|
+
const n = this.dropdown_content;
|
|
1300
|
+
e && (n.style.scrollBehavior = e), n.scrollTop = t, n.style.scrollBehavior = "";
|
|
1301
1301
|
}
|
|
1302
1302
|
/**
|
|
1303
1303
|
* Clears the active option
|
|
1304
1304
|
*
|
|
1305
1305
|
*/
|
|
1306
1306
|
clearActiveOption() {
|
|
1307
|
-
this.activeOption && (
|
|
1307
|
+
this.activeOption && (N(this.activeOption, "active"), w(this.activeOption, { "aria-selected": null })), this.activeOption = null, w(this.focus_node, { "aria-activedescendant": null });
|
|
1308
1308
|
}
|
|
1309
1309
|
/**
|
|
1310
1310
|
* Selects all items (CTRL + A).
|
|
1311
1311
|
*/
|
|
1312
1312
|
selectAll() {
|
|
1313
|
-
const
|
|
1314
|
-
if (
|
|
1313
|
+
const t = this;
|
|
1314
|
+
if (t.settings.mode === "single")
|
|
1315
1315
|
return;
|
|
1316
|
-
const
|
|
1317
|
-
|
|
1318
|
-
|
|
1316
|
+
const e = t.controlChildren();
|
|
1317
|
+
e.length && (t.inputState(), t.close(), t.activeItems = e, G(e, (n) => {
|
|
1318
|
+
t.setActiveItemClass(n);
|
|
1319
1319
|
}));
|
|
1320
1320
|
}
|
|
1321
1321
|
/**
|
|
@@ -1323,8 +1323,8 @@ class F extends tt(et) {
|
|
|
1323
1323
|
*
|
|
1324
1324
|
*/
|
|
1325
1325
|
inputState() {
|
|
1326
|
-
var
|
|
1327
|
-
|
|
1326
|
+
var t = this;
|
|
1327
|
+
t.control.contains(t.control_input) && (w(t.control_input, { placeholder: t.settings.placeholder }), t.activeItems.length > 0 || !t.isFocused && t.settings.hidePlaceholder && t.items.length > 0 ? (t.setTextboxValue(), t.isInputHidden = !0) : (t.settings.hidePlaceholder && t.items.length > 0 && w(t.control_input, { placeholder: "" }), t.isInputHidden = !1), t.wrapper.classList.toggle("input-hidden", t.isInputHidden));
|
|
1328
1328
|
}
|
|
1329
1329
|
/**
|
|
1330
1330
|
* Get the input value
|
|
@@ -1336,9 +1336,9 @@ class F extends tt(et) {
|
|
|
1336
1336
|
* Gives the control focus.
|
|
1337
1337
|
*/
|
|
1338
1338
|
focus() {
|
|
1339
|
-
var
|
|
1340
|
-
|
|
1341
|
-
|
|
1339
|
+
var t = this;
|
|
1340
|
+
t.isDisabled || t.isReadOnly || (t.ignoreFocus = !0, t.control_input.offsetWidth ? t.control_input.focus() : t.focus_node.focus(), setTimeout(() => {
|
|
1341
|
+
t.ignoreFocus = !1, t.onFocus();
|
|
1342
1342
|
}, 0));
|
|
1343
1343
|
}
|
|
1344
1344
|
/**
|
|
@@ -1355,8 +1355,8 @@ class F extends tt(et) {
|
|
|
1355
1355
|
*
|
|
1356
1356
|
* @return {function}
|
|
1357
1357
|
*/
|
|
1358
|
-
getScoreFunction(
|
|
1359
|
-
return this.sifter.getScoreFunction(
|
|
1358
|
+
getScoreFunction(t) {
|
|
1359
|
+
return this.sifter.getScoreFunction(t, this.getSearchOptions());
|
|
1360
1360
|
}
|
|
1361
1361
|
/**
|
|
1362
1362
|
* Returns search options for sifter (the system
|
|
@@ -1366,12 +1366,12 @@ class F extends tt(et) {
|
|
|
1366
1366
|
* @return {object}
|
|
1367
1367
|
*/
|
|
1368
1368
|
getSearchOptions() {
|
|
1369
|
-
var
|
|
1370
|
-
return typeof
|
|
1371
|
-
fields:
|
|
1372
|
-
conjunction:
|
|
1373
|
-
sort:
|
|
1374
|
-
nesting:
|
|
1369
|
+
var t = this.settings, e = t.sortField;
|
|
1370
|
+
return typeof t.sortField == "string" && (e = [{ field: t.sortField }]), {
|
|
1371
|
+
fields: t.searchField,
|
|
1372
|
+
conjunction: t.searchConjunction,
|
|
1373
|
+
sort: e,
|
|
1374
|
+
nesting: t.nesting
|
|
1375
1375
|
};
|
|
1376
1376
|
}
|
|
1377
1377
|
/**
|
|
@@ -1379,82 +1379,82 @@ class F extends tt(et) {
|
|
|
1379
1379
|
* a sorted array of matches.
|
|
1380
1380
|
*
|
|
1381
1381
|
*/
|
|
1382
|
-
search(
|
|
1383
|
-
var
|
|
1384
|
-
if (
|
|
1382
|
+
search(t) {
|
|
1383
|
+
var e, n, s = this, o = this.getSearchOptions();
|
|
1384
|
+
if (s.settings.score && (n = s.settings.score.call(s, t), typeof n != "function"))
|
|
1385
1385
|
throw new Error('Tom Select "score" setting must be a function that returns a function');
|
|
1386
|
-
return
|
|
1387
|
-
let l =
|
|
1388
|
-
return !(l &&
|
|
1389
|
-
})),
|
|
1386
|
+
return t !== s.lastQuery ? (s.lastQuery = t, e = s.sifter.search(t, Object.assign(o, { score: n })), s.currentResults = e) : e = Object.assign({}, s.currentResults), s.settings.hideSelected && (e.items = e.items.filter((r) => {
|
|
1387
|
+
let l = O(r.id);
|
|
1388
|
+
return !(l && s.items.indexOf(l) !== -1);
|
|
1389
|
+
})), e;
|
|
1390
1390
|
}
|
|
1391
1391
|
/**
|
|
1392
1392
|
* Refreshes the list of available options shown
|
|
1393
1393
|
* in the autocomplete dropdown menu.
|
|
1394
1394
|
*
|
|
1395
1395
|
*/
|
|
1396
|
-
refreshOptions(
|
|
1397
|
-
var
|
|
1398
|
-
const p = {},
|
|
1399
|
-
var
|
|
1400
|
-
const
|
|
1401
|
-
var
|
|
1402
|
-
|
|
1403
|
-
const
|
|
1404
|
-
let
|
|
1405
|
-
if (
|
|
1406
|
-
let
|
|
1407
|
-
if (
|
|
1408
|
-
return [
|
|
1396
|
+
refreshOptions(t = !0) {
|
|
1397
|
+
var e, n, s, o, r, l, a, c, d, u;
|
|
1398
|
+
const p = {}, y = [];
|
|
1399
|
+
var g = this, b = g.inputValue();
|
|
1400
|
+
const Z = b === g.lastQuery || b == "" && g.lastQuery == null;
|
|
1401
|
+
var I = g.search(b), h = null, L = g.settings.shouldOpen || !1, M = g.dropdown_content;
|
|
1402
|
+
Z && (h = g.activeOption, h && (d = h.closest("[data-group]"))), o = I.items.length, typeof g.settings.maxOptions == "number" && (o = Math.min(o, g.settings.maxOptions)), o > 0 && (L = !0);
|
|
1403
|
+
const Q = (f, v) => {
|
|
1404
|
+
let m = p[f];
|
|
1405
|
+
if (m !== void 0) {
|
|
1406
|
+
let C = y[m];
|
|
1407
|
+
if (C !== void 0)
|
|
1408
|
+
return [m, C.fragment];
|
|
1409
1409
|
}
|
|
1410
|
-
let
|
|
1411
|
-
return
|
|
1410
|
+
let A = document.createDocumentFragment();
|
|
1411
|
+
return m = y.length, y.push({ fragment: A, order: v, optgroup: f }), [m, A];
|
|
1412
1412
|
};
|
|
1413
|
-
for (
|
|
1414
|
-
let
|
|
1415
|
-
if (!
|
|
1413
|
+
for (e = 0; e < o; e++) {
|
|
1414
|
+
let f = I.items[e];
|
|
1415
|
+
if (!f)
|
|
1416
1416
|
continue;
|
|
1417
|
-
let
|
|
1418
|
-
if (
|
|
1417
|
+
let v = f.id, m = g.options[v];
|
|
1418
|
+
if (m === void 0)
|
|
1419
1419
|
continue;
|
|
1420
|
-
let
|
|
1421
|
-
for (
|
|
1422
|
-
r = l[
|
|
1423
|
-
let
|
|
1424
|
-
|
|
1425
|
-
const [
|
|
1426
|
-
|
|
1420
|
+
let A = et(v), C = g.getOption(A, !0);
|
|
1421
|
+
for (g.settings.hideSelected || C.classList.toggle("selected", g.items.includes(A)), r = m[g.settings.optgroupField] || "", l = Array.isArray(r) ? r : [r], n = 0, s = l && l.length; n < s; n++) {
|
|
1422
|
+
r = l[n];
|
|
1423
|
+
let E = m.$order, U = g.optgroups[r];
|
|
1424
|
+
U === void 0 ? r = "" : E = U.$order;
|
|
1425
|
+
const [Tt, Qt] = Q(r, E);
|
|
1426
|
+
n > 0 && (C = C.cloneNode(!0), w(C, { id: m.$id + "-clone-" + n, "aria-selected": null }), C.classList.add("ts-cloned"), N(C, "active"), g.activeOption && g.activeOption.dataset.value == v && d && d.dataset.group === r.toString() && (h = C)), Qt.appendChild(C), r != "" && (p[r] = Tt);
|
|
1427
1427
|
}
|
|
1428
1428
|
}
|
|
1429
|
-
|
|
1430
|
-
let
|
|
1431
|
-
if (!
|
|
1429
|
+
g.settings.lockOptgroupOrder && y.sort((f, v) => f.order - v.order), a = document.createDocumentFragment(), G(y, (f) => {
|
|
1430
|
+
let v = f.fragment, m = f.optgroup;
|
|
1431
|
+
if (!v || !v.children.length)
|
|
1432
1432
|
return;
|
|
1433
|
-
let
|
|
1434
|
-
if (
|
|
1435
|
-
let
|
|
1436
|
-
|
|
1437
|
-
let
|
|
1438
|
-
|
|
1433
|
+
let A = g.optgroups[m];
|
|
1434
|
+
if (A !== void 0) {
|
|
1435
|
+
let C = document.createDocumentFragment(), E = g.render("optgroup_header", A);
|
|
1436
|
+
k(C, E), k(C, v);
|
|
1437
|
+
let U = g.render("optgroup", { group: A, options: C });
|
|
1438
|
+
k(a, U);
|
|
1439
1439
|
} else
|
|
1440
|
-
|
|
1441
|
-
}),
|
|
1442
|
-
|
|
1440
|
+
k(a, v);
|
|
1441
|
+
}), M.innerHTML = "", k(M, a), g.settings.highlight && (Ae(M), I.query.length && I.tokens.length && G(I.tokens, (f) => {
|
|
1442
|
+
Ge(M, f.regex);
|
|
1443
1443
|
}));
|
|
1444
|
-
var
|
|
1445
|
-
let
|
|
1446
|
-
return
|
|
1444
|
+
var F = (f) => {
|
|
1445
|
+
let v = g.render(f, { input: b });
|
|
1446
|
+
return v && (L = !0, M.insertBefore(v, M.firstChild)), v;
|
|
1447
1447
|
};
|
|
1448
|
-
if (
|
|
1449
|
-
if (
|
|
1450
|
-
if (!h &&
|
|
1451
|
-
let
|
|
1452
|
-
|
|
1448
|
+
if (g.loading ? F("loading") : g.settings.shouldLoad.call(g, b) ? I.items.length === 0 && F("no_results") : F("not_loading"), c = g.canCreate(b), c && (u = F("option_create")), g.hasOptions = I.items.length > 0 || c, L) {
|
|
1449
|
+
if (I.items.length > 0) {
|
|
1450
|
+
if (!h && g.settings.mode === "single" && g.items[0] != null && (h = g.getOption(g.items[0])), !M.contains(h)) {
|
|
1451
|
+
let f = 0;
|
|
1452
|
+
u && !g.settings.addPrecedence && (f = 1), h = g.selectable()[f];
|
|
1453
1453
|
}
|
|
1454
|
-
} else
|
|
1455
|
-
|
|
1454
|
+
} else u && (h = u);
|
|
1455
|
+
t && !g.isOpen && (g.open(), g.scrollToOption(h, "auto")), g.setActiveOption(h);
|
|
1456
1456
|
} else
|
|
1457
|
-
|
|
1457
|
+
g.clearActiveOption(), t && g.isOpen && g.close(!1);
|
|
1458
1458
|
}
|
|
1459
1459
|
/**
|
|
1460
1460
|
* Return list of selectable options
|
|
@@ -1474,52 +1474,52 @@ class F extends tt(et) {
|
|
|
1474
1474
|
* this.addOption(data)
|
|
1475
1475
|
*
|
|
1476
1476
|
*/
|
|
1477
|
-
addOption(
|
|
1478
|
-
const
|
|
1479
|
-
if (Array.isArray(
|
|
1480
|
-
return
|
|
1481
|
-
const
|
|
1482
|
-
return
|
|
1477
|
+
addOption(t, e = !1) {
|
|
1478
|
+
const n = this;
|
|
1479
|
+
if (Array.isArray(t))
|
|
1480
|
+
return n.addOptions(t, e), !1;
|
|
1481
|
+
const s = O(t[n.settings.valueField]);
|
|
1482
|
+
return s === null || n.options.hasOwnProperty(s) ? !1 : (t.$order = t.$order || ++n.order, t.$id = n.inputId + "-opt-" + t.$order, n.options[s] = t, n.lastQuery = null, e && (n.userOptions[s] = e, n.trigger("option_add", s, t)), s);
|
|
1483
1483
|
}
|
|
1484
1484
|
/**
|
|
1485
1485
|
* Add multiple options
|
|
1486
1486
|
*
|
|
1487
1487
|
*/
|
|
1488
|
-
addOptions(
|
|
1489
|
-
|
|
1490
|
-
this.addOption(
|
|
1488
|
+
addOptions(t, e = !1) {
|
|
1489
|
+
G(t, (n) => {
|
|
1490
|
+
this.addOption(n, e);
|
|
1491
1491
|
});
|
|
1492
1492
|
}
|
|
1493
1493
|
/**
|
|
1494
1494
|
* @deprecated 1.7.7
|
|
1495
1495
|
*/
|
|
1496
|
-
registerOption(
|
|
1497
|
-
return this.addOption(
|
|
1496
|
+
registerOption(t) {
|
|
1497
|
+
return this.addOption(t);
|
|
1498
1498
|
}
|
|
1499
1499
|
/**
|
|
1500
1500
|
* Registers an option group to the pool of option groups.
|
|
1501
1501
|
*
|
|
1502
1502
|
* @return {boolean|string}
|
|
1503
1503
|
*/
|
|
1504
|
-
registerOptionGroup(
|
|
1505
|
-
var
|
|
1506
|
-
return
|
|
1504
|
+
registerOptionGroup(t) {
|
|
1505
|
+
var e = O(t[this.settings.optgroupValueField]);
|
|
1506
|
+
return e === null ? !1 : (t.$order = t.$order || ++this.order, this.optgroups[e] = t, e);
|
|
1507
1507
|
}
|
|
1508
1508
|
/**
|
|
1509
1509
|
* Registers a new optgroup for options
|
|
1510
1510
|
* to be bucketed into.
|
|
1511
1511
|
*
|
|
1512
1512
|
*/
|
|
1513
|
-
addOptionGroup(
|
|
1514
|
-
var
|
|
1515
|
-
|
|
1513
|
+
addOptionGroup(t, e) {
|
|
1514
|
+
var n;
|
|
1515
|
+
e[this.settings.optgroupValueField] = t, (n = this.registerOptionGroup(e)) && this.trigger("optgroup_add", n, e);
|
|
1516
1516
|
}
|
|
1517
1517
|
/**
|
|
1518
1518
|
* Removes an existing option group.
|
|
1519
1519
|
*
|
|
1520
1520
|
*/
|
|
1521
|
-
removeOptionGroup(
|
|
1522
|
-
this.optgroups.hasOwnProperty(
|
|
1521
|
+
removeOptionGroup(t) {
|
|
1522
|
+
this.optgroups.hasOwnProperty(t) && (delete this.optgroups[t], this.clearCache(), this.trigger("optgroup_remove", t));
|
|
1523
1523
|
}
|
|
1524
1524
|
/**
|
|
1525
1525
|
* Clears all existing option groups.
|
|
@@ -1533,69 +1533,69 @@ class F extends tt(et) {
|
|
|
1533
1533
|
* dropdown, it will be re-rendered automatically.
|
|
1534
1534
|
*
|
|
1535
1535
|
*/
|
|
1536
|
-
updateOption(
|
|
1537
|
-
const
|
|
1538
|
-
var
|
|
1539
|
-
const r =
|
|
1536
|
+
updateOption(t, e) {
|
|
1537
|
+
const n = this;
|
|
1538
|
+
var s, o;
|
|
1539
|
+
const r = O(t), l = O(e[n.settings.valueField]);
|
|
1540
1540
|
if (r === null)
|
|
1541
1541
|
return;
|
|
1542
|
-
const
|
|
1543
|
-
if (
|
|
1542
|
+
const a = n.options[r];
|
|
1543
|
+
if (a == null)
|
|
1544
1544
|
return;
|
|
1545
1545
|
if (typeof l != "string")
|
|
1546
1546
|
throw new Error("Value must be set in option data");
|
|
1547
|
-
const
|
|
1548
|
-
if (
|
|
1549
|
-
if (
|
|
1550
|
-
const
|
|
1551
|
-
|
|
1547
|
+
const c = n.getOption(r), d = n.getItem(r);
|
|
1548
|
+
if (e.$order = e.$order || a.$order, delete n.options[r], n.uncacheValue(l), n.options[l] = e, c) {
|
|
1549
|
+
if (n.dropdown_content.contains(c)) {
|
|
1550
|
+
const u = n._render("option", e);
|
|
1551
|
+
mt(c, u), n.activeOption === c && n.setActiveOption(u);
|
|
1552
1552
|
}
|
|
1553
|
-
|
|
1553
|
+
c.remove();
|
|
1554
1554
|
}
|
|
1555
|
-
|
|
1555
|
+
d && (o = n.items.indexOf(r), o !== -1 && n.items.splice(o, 1, l), s = n._render("item", e), d.classList.contains("active") && J(s, "active"), mt(d, s)), n.lastQuery = null;
|
|
1556
1556
|
}
|
|
1557
1557
|
/**
|
|
1558
1558
|
* Removes a single option.
|
|
1559
1559
|
*
|
|
1560
1560
|
*/
|
|
1561
|
-
removeOption(
|
|
1562
|
-
const
|
|
1563
|
-
|
|
1561
|
+
removeOption(t, e) {
|
|
1562
|
+
const n = this;
|
|
1563
|
+
t = et(t), n.uncacheValue(t), delete n.userOptions[t], delete n.options[t], n.lastQuery = null, n.trigger("option_remove", t), n.removeItem(t, e);
|
|
1564
1564
|
}
|
|
1565
1565
|
/**
|
|
1566
1566
|
* Clears all options.
|
|
1567
1567
|
*/
|
|
1568
|
-
clearOptions(
|
|
1569
|
-
const
|
|
1568
|
+
clearOptions(t) {
|
|
1569
|
+
const e = (t || this.clearFilter).bind(this);
|
|
1570
1570
|
this.loadedSearches = {}, this.userOptions = {}, this.clearCache();
|
|
1571
|
-
const
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
}), this.options = this.sifter.items =
|
|
1571
|
+
const n = {};
|
|
1572
|
+
G(this.options, (s, o) => {
|
|
1573
|
+
e(s, o) && (n[o] = s);
|
|
1574
|
+
}), this.options = this.sifter.items = n, this.lastQuery = null, this.trigger("option_clear");
|
|
1575
1575
|
}
|
|
1576
1576
|
/**
|
|
1577
1577
|
* Used by clearOptions() to decide whether or not an option should be removed
|
|
1578
1578
|
* Return true to keep an option, false to remove
|
|
1579
1579
|
*
|
|
1580
1580
|
*/
|
|
1581
|
-
clearFilter(
|
|
1582
|
-
return this.items.indexOf(
|
|
1581
|
+
clearFilter(t, e) {
|
|
1582
|
+
return this.items.indexOf(e) >= 0;
|
|
1583
1583
|
}
|
|
1584
1584
|
/**
|
|
1585
1585
|
* Returns the dom element of the option
|
|
1586
1586
|
* matching the given value.
|
|
1587
1587
|
*
|
|
1588
1588
|
*/
|
|
1589
|
-
getOption(
|
|
1590
|
-
const
|
|
1591
|
-
if (
|
|
1589
|
+
getOption(t, e = !1) {
|
|
1590
|
+
const n = O(t);
|
|
1591
|
+
if (n === null)
|
|
1592
1592
|
return null;
|
|
1593
|
-
const
|
|
1594
|
-
if (
|
|
1595
|
-
if (
|
|
1596
|
-
return
|
|
1597
|
-
if (
|
|
1598
|
-
return this._render("option",
|
|
1593
|
+
const s = this.options[n];
|
|
1594
|
+
if (s != null) {
|
|
1595
|
+
if (s.$div)
|
|
1596
|
+
return s.$div;
|
|
1597
|
+
if (e)
|
|
1598
|
+
return this._render("option", s);
|
|
1599
1599
|
}
|
|
1600
1600
|
return null;
|
|
1601
1601
|
}
|
|
@@ -1604,14 +1604,14 @@ class F extends tt(et) {
|
|
|
1604
1604
|
* Note: adjacent options may not be adjacent DOM elements (optgroups)
|
|
1605
1605
|
*
|
|
1606
1606
|
*/
|
|
1607
|
-
getAdjacent(
|
|
1608
|
-
var
|
|
1609
|
-
if (!
|
|
1607
|
+
getAdjacent(t, e, n = "option") {
|
|
1608
|
+
var s = this, o;
|
|
1609
|
+
if (!t)
|
|
1610
1610
|
return null;
|
|
1611
|
-
|
|
1611
|
+
n == "item" ? o = s.controlChildren() : o = s.dropdown_content.querySelectorAll("[data-selectable]");
|
|
1612
1612
|
for (let r = 0; r < o.length; r++)
|
|
1613
|
-
if (o[r] ==
|
|
1614
|
-
return
|
|
1613
|
+
if (o[r] == t)
|
|
1614
|
+
return e > 0 ? o[r + 1] : o[r - 1];
|
|
1615
1615
|
return null;
|
|
1616
1616
|
}
|
|
1617
1617
|
/**
|
|
@@ -1619,23 +1619,23 @@ class F extends tt(et) {
|
|
|
1619
1619
|
* matching the given value.
|
|
1620
1620
|
*
|
|
1621
1621
|
*/
|
|
1622
|
-
getItem(
|
|
1623
|
-
if (typeof
|
|
1624
|
-
return
|
|
1625
|
-
var
|
|
1626
|
-
return
|
|
1622
|
+
getItem(t) {
|
|
1623
|
+
if (typeof t == "object")
|
|
1624
|
+
return t;
|
|
1625
|
+
var e = O(t);
|
|
1626
|
+
return e !== null ? this.control.querySelector(`[data-value="${Wt(e)}"]`) : null;
|
|
1627
1627
|
}
|
|
1628
1628
|
/**
|
|
1629
1629
|
* "Selects" multiple items at once. Adds them to the list
|
|
1630
1630
|
* at the current caret position.
|
|
1631
1631
|
*
|
|
1632
1632
|
*/
|
|
1633
|
-
addItems(
|
|
1634
|
-
var
|
|
1635
|
-
|
|
1636
|
-
const o =
|
|
1637
|
-
|
|
1638
|
-
|
|
1633
|
+
addItems(t, e) {
|
|
1634
|
+
var n = this, s = Array.isArray(t) ? t : [t];
|
|
1635
|
+
s = s.filter((r) => n.items.indexOf(r) === -1);
|
|
1636
|
+
const o = s[s.length - 1];
|
|
1637
|
+
s.forEach((r) => {
|
|
1638
|
+
n.isPending = r !== o, n.addItem(r, e);
|
|
1639
1639
|
});
|
|
1640
1640
|
}
|
|
1641
1641
|
/**
|
|
@@ -1643,18 +1643,18 @@ class F extends tt(et) {
|
|
|
1643
1643
|
* at the current caret position.
|
|
1644
1644
|
*
|
|
1645
1645
|
*/
|
|
1646
|
-
addItem(
|
|
1647
|
-
var
|
|
1648
|
-
|
|
1649
|
-
var
|
|
1650
|
-
const r = this, l = r.settings.mode,
|
|
1651
|
-
if (!(
|
|
1652
|
-
if (
|
|
1646
|
+
addItem(t, e) {
|
|
1647
|
+
var n = e ? [] : ["change", "dropdown_close"];
|
|
1648
|
+
Lt(this, n, () => {
|
|
1649
|
+
var s, o;
|
|
1650
|
+
const r = this, l = r.settings.mode, a = O(t);
|
|
1651
|
+
if (!(a && r.items.indexOf(a) !== -1 && (l === "single" && r.close(), l === "single" || !r.settings.duplicates)) && !(a === null || !r.options.hasOwnProperty(a)) && (l === "single" && r.clear(e), !(l === "multi" && r.isFull()))) {
|
|
1652
|
+
if (s = r._render("item", r.options[a]), r.control.contains(s) && (s = s.cloneNode(!0)), o = r.isFull(), r.items.splice(r.caretPos, 0, a), r.insertAtCaret(s), r.isSetup) {
|
|
1653
1653
|
if (!r.isPending && r.settings.hideSelected) {
|
|
1654
|
-
let
|
|
1655
|
-
|
|
1654
|
+
let c = r.getOption(a), d = r.getAdjacent(c, 1);
|
|
1655
|
+
d && r.setActiveOption(d);
|
|
1656
1656
|
}
|
|
1657
|
-
!r.isPending && !r.settings.closeAfterSelect && r.refreshOptions(r.isFocused && l !== "single"), r.settings.closeAfterSelect != !1 && r.isFull() ? r.close() : r.isPending || r.positionDropdown(), r.trigger("item_add",
|
|
1657
|
+
!r.isPending && !r.settings.closeAfterSelect && r.refreshOptions(r.isFocused && l !== "single"), r.settings.closeAfterSelect != !1 && r.isFull() ? r.close() : r.isPending || r.positionDropdown(), r.trigger("item_add", a, s), r.isPending || r.updateOriginalInput({ silent: e });
|
|
1658
1658
|
}
|
|
1659
1659
|
(!r.isPending || !o && r.isFull()) && (r.inputState(), r.refreshState());
|
|
1660
1660
|
}
|
|
@@ -1665,13 +1665,13 @@ class F extends tt(et) {
|
|
|
1665
1665
|
* the provided value.
|
|
1666
1666
|
*
|
|
1667
1667
|
*/
|
|
1668
|
-
removeItem(
|
|
1669
|
-
const
|
|
1670
|
-
if (
|
|
1668
|
+
removeItem(t = null, e) {
|
|
1669
|
+
const n = this;
|
|
1670
|
+
if (t = n.getItem(t), !t)
|
|
1671
1671
|
return;
|
|
1672
|
-
var
|
|
1673
|
-
const r =
|
|
1674
|
-
|
|
1672
|
+
var s, o;
|
|
1673
|
+
const r = t.dataset.value;
|
|
1674
|
+
s = At(t), t.remove(), t.classList.contains("active") && (o = n.activeItems.indexOf(t), n.activeItems.splice(o, 1), N(t, "active")), n.items.splice(s, 1), n.lastQuery = null, !n.settings.persist && n.userOptions.hasOwnProperty(r) && n.removeOption(r, e), s < n.caretPos && n.setCaret(n.caretPos - 1), n.updateOriginalInput({ silent: e }), n.refreshState(), n.positionDropdown(), n.trigger("item_remove", r, t);
|
|
1675
1675
|
}
|
|
1676
1676
|
/**
|
|
1677
1677
|
* Invokes the `create` method provided in the
|
|
@@ -1682,45 +1682,45 @@ class F extends tt(et) {
|
|
|
1682
1682
|
* to the item list.
|
|
1683
1683
|
*
|
|
1684
1684
|
*/
|
|
1685
|
-
createItem(
|
|
1685
|
+
createItem(t = null, e = () => {
|
|
1686
1686
|
}) {
|
|
1687
|
-
arguments.length === 3 && (
|
|
1687
|
+
arguments.length === 3 && (e = arguments[2]), typeof e != "function" && (e = () => {
|
|
1688
1688
|
});
|
|
1689
|
-
var
|
|
1690
|
-
if (
|
|
1691
|
-
return
|
|
1692
|
-
|
|
1693
|
-
var r = !1, l = (
|
|
1694
|
-
if (
|
|
1695
|
-
return
|
|
1696
|
-
var
|
|
1697
|
-
if (typeof
|
|
1698
|
-
return
|
|
1699
|
-
|
|
1689
|
+
var n = this, s = n.caretPos, o;
|
|
1690
|
+
if (t = t || n.inputValue(), !n.canCreate(t))
|
|
1691
|
+
return e(), !1;
|
|
1692
|
+
n.lock();
|
|
1693
|
+
var r = !1, l = (a) => {
|
|
1694
|
+
if (n.unlock(), !a || typeof a != "object")
|
|
1695
|
+
return e();
|
|
1696
|
+
var c = O(a[n.settings.valueField]);
|
|
1697
|
+
if (typeof c != "string")
|
|
1698
|
+
return e();
|
|
1699
|
+
n.setTextboxValue(), n.addOption(a, !0), n.setCaret(s), n.addItem(c), e(a), r = !0;
|
|
1700
1700
|
};
|
|
1701
|
-
return typeof
|
|
1702
|
-
[
|
|
1703
|
-
[
|
|
1701
|
+
return typeof n.settings.create == "function" ? o = n.settings.create.call(this, t, l) : o = {
|
|
1702
|
+
[n.settings.labelField]: t,
|
|
1703
|
+
[n.settings.valueField]: t
|
|
1704
1704
|
}, r || l(o), !0;
|
|
1705
1705
|
}
|
|
1706
1706
|
/**
|
|
1707
1707
|
* Re-renders the selected item lists.
|
|
1708
1708
|
*/
|
|
1709
1709
|
refreshItems() {
|
|
1710
|
-
var
|
|
1711
|
-
|
|
1710
|
+
var t = this;
|
|
1711
|
+
t.lastQuery = null, t.isSetup && t.addItems(t.items), t.updateOriginalInput(), t.refreshState();
|
|
1712
1712
|
}
|
|
1713
1713
|
/**
|
|
1714
1714
|
* Updates all state-dependent attributes
|
|
1715
1715
|
* and CSS classes.
|
|
1716
1716
|
*/
|
|
1717
1717
|
refreshState() {
|
|
1718
|
-
const
|
|
1719
|
-
|
|
1720
|
-
const
|
|
1721
|
-
|
|
1722
|
-
const
|
|
1723
|
-
|
|
1718
|
+
const t = this;
|
|
1719
|
+
t.refreshValidityState();
|
|
1720
|
+
const e = t.isFull(), n = t.isLocked;
|
|
1721
|
+
t.wrapper.classList.toggle("rtl", t.rtl);
|
|
1722
|
+
const s = t.wrapper.classList;
|
|
1723
|
+
s.toggle("focus", t.isFocused), s.toggle("disabled", t.isDisabled), s.toggle("readonly", t.isReadOnly), s.toggle("required", t.isRequired), s.toggle("invalid", !t.isValid), s.toggle("locked", n), s.toggle("full", e), s.toggle("input-active", t.isFocused && !t.isInputHidden), s.toggle("dropdown-active", t.isOpen), s.toggle("has-options", We(t.options)), s.toggle("has-items", t.items.length > 0);
|
|
1724
1724
|
}
|
|
1725
1725
|
/**
|
|
1726
1726
|
* Update the `required` attribute of both input and control input.
|
|
@@ -1731,8 +1731,8 @@ class F extends tt(et) {
|
|
|
1731
1731
|
* hidden and can't show errors.
|
|
1732
1732
|
*/
|
|
1733
1733
|
refreshValidityState() {
|
|
1734
|
-
var
|
|
1735
|
-
|
|
1734
|
+
var t = this;
|
|
1735
|
+
t.input.validity && (t.isValid = t.input.validity.valid, t.isInvalid = !t.isValid);
|
|
1736
1736
|
}
|
|
1737
1737
|
/**
|
|
1738
1738
|
* Determines whether or not more items can be added
|
|
@@ -1748,42 +1748,42 @@ class F extends tt(et) {
|
|
|
1748
1748
|
* element to reflect the current state.
|
|
1749
1749
|
*
|
|
1750
1750
|
*/
|
|
1751
|
-
updateOriginalInput(
|
|
1752
|
-
const
|
|
1753
|
-
var
|
|
1754
|
-
const o =
|
|
1755
|
-
if (
|
|
1756
|
-
let
|
|
1757
|
-
return
|
|
1751
|
+
updateOriginalInput(t = {}) {
|
|
1752
|
+
const e = this;
|
|
1753
|
+
var n, s;
|
|
1754
|
+
const o = e.input.querySelector('option[value=""]');
|
|
1755
|
+
if (e.is_select_tag) {
|
|
1756
|
+
let a = function(c, d, u) {
|
|
1757
|
+
return c || (c = R('<option value="' + ut(d) + '">' + ut(u) + "</option>")), c != o && e.input.append(c), r.push(c), (c != o || l > 0) && (c.selected = !0), c;
|
|
1758
1758
|
};
|
|
1759
|
-
const r = [], l =
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
}),
|
|
1763
|
-
if (
|
|
1764
|
-
const
|
|
1765
|
-
|
|
1759
|
+
const r = [], l = e.input.querySelectorAll("option:checked").length;
|
|
1760
|
+
e.input.querySelectorAll("option:checked").forEach((c) => {
|
|
1761
|
+
c.selected = !1;
|
|
1762
|
+
}), e.items.length == 0 && e.settings.mode == "single" ? a(o, "", "") : e.items.forEach((c) => {
|
|
1763
|
+
if (n = e.options[c], s = n[e.settings.labelField] || "", r.includes(n.$option)) {
|
|
1764
|
+
const d = e.input.querySelector(`option[value="${Wt(c)}"]:not(:checked)`);
|
|
1765
|
+
a(d, c, s);
|
|
1766
1766
|
} else
|
|
1767
|
-
|
|
1767
|
+
n.$option = a(n.$option, c, s);
|
|
1768
1768
|
});
|
|
1769
1769
|
} else
|
|
1770
|
-
|
|
1771
|
-
|
|
1770
|
+
e.input.value = e.getValue();
|
|
1771
|
+
e.isSetup && (t.silent || e.trigger("change", e.getValue()));
|
|
1772
1772
|
}
|
|
1773
1773
|
/**
|
|
1774
1774
|
* Shows the autocomplete dropdown containing
|
|
1775
1775
|
* the available options.
|
|
1776
1776
|
*/
|
|
1777
1777
|
open() {
|
|
1778
|
-
var
|
|
1779
|
-
|
|
1778
|
+
var t = this;
|
|
1779
|
+
t.isLocked || t.isOpen || t.settings.mode === "multi" && t.isFull() || (t.isOpen = !0, w(t.focus_node, { "aria-expanded": "true" }), t.refreshState(), P(t.dropdown, { visibility: "hidden", display: "block" }), t.positionDropdown(), P(t.dropdown, { visibility: "visible", display: "block" }), t.focus(), t.trigger("dropdown_open", t.dropdown));
|
|
1780
1780
|
}
|
|
1781
1781
|
/**
|
|
1782
1782
|
* Closes the autocomplete dropdown menu.
|
|
1783
1783
|
*/
|
|
1784
|
-
close(
|
|
1785
|
-
var
|
|
1786
|
-
|
|
1784
|
+
close(t = !0) {
|
|
1785
|
+
var e = this, n = e.isOpen;
|
|
1786
|
+
t && (e.setTextboxValue(), e.settings.mode === "single" && e.items.length && e.inputState()), e.isOpen = !1, w(e.focus_node, { "aria-expanded": "false" }), P(e.dropdown, { display: "none" }), e.settings.hideSelected && e.clearActiveOption(), e.refreshState(), n && e.trigger("dropdown_close", e.dropdown);
|
|
1787
1787
|
}
|
|
1788
1788
|
/**
|
|
1789
1789
|
* Calculates and applies the appropriate
|
|
@@ -1792,11 +1792,11 @@ class F extends tt(et) {
|
|
|
1792
1792
|
*/
|
|
1793
1793
|
positionDropdown() {
|
|
1794
1794
|
if (this.settings.dropdownParent === "body") {
|
|
1795
|
-
var
|
|
1796
|
-
|
|
1797
|
-
width:
|
|
1798
|
-
top:
|
|
1799
|
-
left:
|
|
1795
|
+
var t = this.control, e = t.getBoundingClientRect(), n = t.offsetHeight + e.top + window.scrollY, s = e.left + window.scrollX;
|
|
1796
|
+
P(this.dropdown, {
|
|
1797
|
+
width: e.width + "px",
|
|
1798
|
+
top: n + "px",
|
|
1799
|
+
left: s + "px"
|
|
1800
1800
|
});
|
|
1801
1801
|
}
|
|
1802
1802
|
}
|
|
@@ -1805,13 +1805,13 @@ class F extends tt(et) {
|
|
|
1805
1805
|
* from the control.
|
|
1806
1806
|
*
|
|
1807
1807
|
*/
|
|
1808
|
-
clear(
|
|
1809
|
-
var
|
|
1810
|
-
if (
|
|
1811
|
-
var
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
}),
|
|
1808
|
+
clear(t) {
|
|
1809
|
+
var e = this;
|
|
1810
|
+
if (e.items.length) {
|
|
1811
|
+
var n = e.controlChildren();
|
|
1812
|
+
G(n, (s) => {
|
|
1813
|
+
e.removeItem(s, !0);
|
|
1814
|
+
}), e.inputState(), t || e.updateOriginalInput(), e.trigger("clear");
|
|
1815
1815
|
}
|
|
1816
1816
|
}
|
|
1817
1817
|
/**
|
|
@@ -1819,37 +1819,37 @@ class F extends tt(et) {
|
|
|
1819
1819
|
* at the current caret position.
|
|
1820
1820
|
*
|
|
1821
1821
|
*/
|
|
1822
|
-
insertAtCaret(
|
|
1823
|
-
const
|
|
1824
|
-
|
|
1822
|
+
insertAtCaret(t) {
|
|
1823
|
+
const e = this, n = e.caretPos, s = e.control;
|
|
1824
|
+
s.insertBefore(t, s.children[n] || null), e.setCaret(n + 1);
|
|
1825
1825
|
}
|
|
1826
1826
|
/**
|
|
1827
1827
|
* Removes the current selected item(s).
|
|
1828
1828
|
*
|
|
1829
1829
|
*/
|
|
1830
|
-
deleteSelection(
|
|
1831
|
-
var
|
|
1832
|
-
|
|
1830
|
+
deleteSelection(t) {
|
|
1831
|
+
var e, n, s, o, r = this;
|
|
1832
|
+
e = t && t.keyCode === Bt ? -1 : 1, n = we(r.control_input);
|
|
1833
1833
|
const l = [];
|
|
1834
1834
|
if (r.activeItems.length)
|
|
1835
|
-
o =
|
|
1835
|
+
o = Gt(r.activeItems, e), s = At(o), e > 0 && s++, G(r.activeItems, (a) => l.push(a));
|
|
1836
1836
|
else if ((r.isFocused || r.settings.mode === "single") && r.items.length) {
|
|
1837
|
-
const
|
|
1838
|
-
let
|
|
1839
|
-
|
|
1837
|
+
const a = r.controlChildren();
|
|
1838
|
+
let c;
|
|
1839
|
+
e < 0 && n.start === 0 && n.length === 0 ? c = a[r.caretPos - 1] : e > 0 && n.start === r.inputValue().length && (c = a[r.caretPos]), c !== void 0 && l.push(c);
|
|
1840
1840
|
}
|
|
1841
|
-
if (!r.shouldDelete(l,
|
|
1841
|
+
if (!r.shouldDelete(l, t))
|
|
1842
1842
|
return !1;
|
|
1843
|
-
for (
|
|
1843
|
+
for (W(t, !0), typeof s < "u" && r.setCaret(s); l.length; )
|
|
1844
1844
|
r.removeItem(l.pop());
|
|
1845
1845
|
return r.inputState(), r.positionDropdown(), r.refreshOptions(!1), !0;
|
|
1846
1846
|
}
|
|
1847
1847
|
/**
|
|
1848
1848
|
* Return true if the items should be deleted
|
|
1849
1849
|
*/
|
|
1850
|
-
shouldDelete(
|
|
1851
|
-
const
|
|
1852
|
-
return !(!
|
|
1850
|
+
shouldDelete(t, e) {
|
|
1851
|
+
const n = t.map((s) => s.dataset.value);
|
|
1852
|
+
return !(!n.length || typeof this.settings.onDelete == "function" && this.settings.onDelete(n, e) === !1);
|
|
1853
1853
|
}
|
|
1854
1854
|
/**
|
|
1855
1855
|
* Selects the previous / next item (depending on the `direction` argument).
|
|
@@ -1858,23 +1858,23 @@ class F extends tt(et) {
|
|
|
1858
1858
|
* < 0 - left
|
|
1859
1859
|
*
|
|
1860
1860
|
*/
|
|
1861
|
-
advanceSelection(
|
|
1862
|
-
var
|
|
1863
|
-
o.rtl && (
|
|
1861
|
+
advanceSelection(t, e) {
|
|
1862
|
+
var n, s, o = this;
|
|
1863
|
+
o.rtl && (t *= -1), !o.inputValue().length && (z(q, e) || z("shiftKey", e) ? (n = o.getLastActive(t), n ? n.classList.contains("active") ? s = o.getAdjacent(n, t, "item") : s = n : t > 0 ? s = o.control_input.nextElementSibling : s = o.control_input.previousElementSibling, s && (s.classList.contains("active") && o.removeActiveItem(n), o.setActiveItemClass(s))) : o.moveCaret(t));
|
|
1864
1864
|
}
|
|
1865
|
-
moveCaret(
|
|
1865
|
+
moveCaret(t) {
|
|
1866
1866
|
}
|
|
1867
1867
|
/**
|
|
1868
1868
|
* Get the last active item
|
|
1869
1869
|
*
|
|
1870
1870
|
*/
|
|
1871
|
-
getLastActive(
|
|
1872
|
-
let
|
|
1873
|
-
if (
|
|
1874
|
-
return
|
|
1875
|
-
var
|
|
1876
|
-
if (
|
|
1877
|
-
return
|
|
1871
|
+
getLastActive(t) {
|
|
1872
|
+
let e = this.control.querySelector(".last-active");
|
|
1873
|
+
if (e)
|
|
1874
|
+
return e;
|
|
1875
|
+
var n = this.control.querySelectorAll(".active");
|
|
1876
|
+
if (n)
|
|
1877
|
+
return Gt(n, t);
|
|
1878
1878
|
}
|
|
1879
1879
|
/**
|
|
1880
1880
|
* Moves the caret to the specified index.
|
|
@@ -1884,7 +1884,7 @@ class F extends tt(et) {
|
|
|
1884
1884
|
* on mobile webkit devices
|
|
1885
1885
|
*
|
|
1886
1886
|
*/
|
|
1887
|
-
setCaret(
|
|
1887
|
+
setCaret(t) {
|
|
1888
1888
|
this.caretPos = this.items.length;
|
|
1889
1889
|
}
|
|
1890
1890
|
/**
|
|
@@ -1910,8 +1910,8 @@ class F extends tt(et) {
|
|
|
1910
1910
|
/**
|
|
1911
1911
|
* Disable or enable user input on the control
|
|
1912
1912
|
*/
|
|
1913
|
-
setLocked(
|
|
1914
|
-
this.isLocked =
|
|
1913
|
+
setLocked(t = this.isReadOnly || this.isDisabled) {
|
|
1914
|
+
this.isLocked = t, this.refreshState();
|
|
1915
1915
|
}
|
|
1916
1916
|
/**
|
|
1917
1917
|
* Disables user input on the control completely.
|
|
@@ -1927,11 +1927,11 @@ class F extends tt(et) {
|
|
|
1927
1927
|
enable() {
|
|
1928
1928
|
this.setDisabled(!1);
|
|
1929
1929
|
}
|
|
1930
|
-
setDisabled(
|
|
1931
|
-
this.focus_node.tabIndex =
|
|
1930
|
+
setDisabled(t) {
|
|
1931
|
+
this.focus_node.tabIndex = t ? -1 : this.tabIndex, this.isDisabled = t, this.input.disabled = t, this.control_input.disabled = t, this.setLocked();
|
|
1932
1932
|
}
|
|
1933
|
-
setReadOnly(
|
|
1934
|
-
this.isReadOnly =
|
|
1933
|
+
setReadOnly(t) {
|
|
1934
|
+
this.isReadOnly = t, this.input.readOnly = t, this.control_input.readOnly = t, this.setLocked();
|
|
1935
1935
|
}
|
|
1936
1936
|
/**
|
|
1937
1937
|
* Completely destroys the control and
|
|
@@ -1939,37 +1939,37 @@ class F extends tt(et) {
|
|
|
1939
1939
|
* be garbage collected.
|
|
1940
1940
|
*/
|
|
1941
1941
|
destroy() {
|
|
1942
|
-
var
|
|
1943
|
-
|
|
1942
|
+
var t = this, e = t.revertSettings;
|
|
1943
|
+
t.trigger("destroy"), t.off(), t.wrapper.remove(), t.dropdown.remove(), t.input.innerHTML = e.innerHTML, t.input.tabIndex = e.tabIndex, N(t.input, "tomselected", "ts-hidden-accessible"), t._destroy(), delete t.input.tomselect;
|
|
1944
1944
|
}
|
|
1945
1945
|
/**
|
|
1946
1946
|
* A helper method for rendering "item" and
|
|
1947
1947
|
* "option" templates, given the data.
|
|
1948
1948
|
*
|
|
1949
1949
|
*/
|
|
1950
|
-
render(
|
|
1951
|
-
var
|
|
1950
|
+
render(t, e) {
|
|
1951
|
+
var n, s;
|
|
1952
1952
|
const o = this;
|
|
1953
|
-
if (typeof this.settings.render[
|
|
1953
|
+
if (typeof this.settings.render[t] != "function" || (s = o.settings.render[t].call(this, e, ut), !s))
|
|
1954
1954
|
return null;
|
|
1955
|
-
if (
|
|
1956
|
-
const r =
|
|
1957
|
-
|
|
1955
|
+
if (s = R(s), t === "option" || t === "option_create" ? e[o.settings.disabledField] ? w(s, { "aria-disabled": "true" }) : w(s, { "data-selectable": "" }) : t === "optgroup" && (n = e.group[o.settings.optgroupValueField], w(s, { "data-group": n }), e.group[o.settings.disabledField] && w(s, { "data-disabled": "" })), t === "option" || t === "item") {
|
|
1956
|
+
const r = et(e[o.settings.valueField]);
|
|
1957
|
+
w(s, { "data-value": r }), t === "item" ? (J(s, o.settings.itemClass), w(s, { "data-ts-item": "" })) : (J(s, o.settings.optionClass), w(s, {
|
|
1958
1958
|
role: "option",
|
|
1959
|
-
id:
|
|
1960
|
-
}),
|
|
1959
|
+
id: e.$id
|
|
1960
|
+
}), e.$div = s, o.options[r] = e);
|
|
1961
1961
|
}
|
|
1962
|
-
return
|
|
1962
|
+
return s;
|
|
1963
1963
|
}
|
|
1964
1964
|
/**
|
|
1965
1965
|
* Type guarded rendering
|
|
1966
1966
|
*
|
|
1967
1967
|
*/
|
|
1968
|
-
_render(
|
|
1969
|
-
const
|
|
1970
|
-
if (
|
|
1968
|
+
_render(t, e) {
|
|
1969
|
+
const n = this.render(t, e);
|
|
1970
|
+
if (n == null)
|
|
1971
1971
|
throw "HTMLElement expected";
|
|
1972
|
-
return
|
|
1972
|
+
return n;
|
|
1973
1973
|
}
|
|
1974
1974
|
/**
|
|
1975
1975
|
* Clears the render cache for a template. If
|
|
@@ -1978,25 +1978,25 @@ class F extends tt(et) {
|
|
|
1978
1978
|
*
|
|
1979
1979
|
*/
|
|
1980
1980
|
clearCache() {
|
|
1981
|
-
|
|
1982
|
-
|
|
1981
|
+
G(this.options, (t) => {
|
|
1982
|
+
t.$div && (t.$div.remove(), delete t.$div);
|
|
1983
1983
|
});
|
|
1984
1984
|
}
|
|
1985
1985
|
/**
|
|
1986
1986
|
* Removes a value from item and option caches
|
|
1987
1987
|
*
|
|
1988
1988
|
*/
|
|
1989
|
-
uncacheValue(
|
|
1990
|
-
const
|
|
1991
|
-
|
|
1989
|
+
uncacheValue(t) {
|
|
1990
|
+
const e = this.getOption(t);
|
|
1991
|
+
e && e.remove();
|
|
1992
1992
|
}
|
|
1993
1993
|
/**
|
|
1994
1994
|
* Determines whether or not to display the
|
|
1995
1995
|
* create item prompt, given a user input.
|
|
1996
1996
|
*
|
|
1997
1997
|
*/
|
|
1998
|
-
canCreate(
|
|
1999
|
-
return this.settings.create &&
|
|
1998
|
+
canCreate(t) {
|
|
1999
|
+
return this.settings.create && t.length > 0 && this.settings.createFilter.call(this, t);
|
|
2000
2000
|
}
|
|
2001
2001
|
/**
|
|
2002
2002
|
* Wraps this.`method` so that `new_fn` can be invoked 'before', 'after', or 'instead' of the original method
|
|
@@ -2005,551 +2005,559 @@ class F extends tt(et) {
|
|
|
2005
2005
|
*
|
|
2006
2006
|
* });
|
|
2007
2007
|
*/
|
|
2008
|
-
hook(
|
|
2009
|
-
var
|
|
2010
|
-
|
|
2008
|
+
hook(t, e, n) {
|
|
2009
|
+
var s = this, o = s[e];
|
|
2010
|
+
s[e] = function() {
|
|
2011
2011
|
var r, l;
|
|
2012
|
-
return
|
|
2012
|
+
return t === "after" && (r = o.apply(s, arguments)), l = n.apply(s, arguments), t === "instead" ? l : (t === "before" && (r = o.apply(s, arguments)), r);
|
|
2013
2013
|
};
|
|
2014
2014
|
}
|
|
2015
2015
|
}
|
|
2016
|
-
const
|
|
2017
|
-
|
|
2016
|
+
const Ve = (i, t, e, n) => {
|
|
2017
|
+
i.addEventListener(t, e, n);
|
|
2018
2018
|
};
|
|
2019
|
-
function
|
|
2020
|
-
|
|
2019
|
+
function ze() {
|
|
2020
|
+
Ve(this.input, "change", () => {
|
|
2021
2021
|
this.sync();
|
|
2022
2022
|
});
|
|
2023
2023
|
}
|
|
2024
|
-
const
|
|
2025
|
-
|
|
2026
|
-
},
|
|
2027
|
-
if (
|
|
2028
|
-
return
|
|
2029
|
-
if (
|
|
2030
|
-
return
|
|
2031
|
-
if (
|
|
2032
|
-
var
|
|
2033
|
-
return
|
|
2034
|
-
}
|
|
2035
|
-
return document.querySelector(
|
|
2036
|
-
},
|
|
2037
|
-
function
|
|
2038
|
-
var
|
|
2039
|
-
|
|
2040
|
-
const
|
|
2024
|
+
const ke = (i) => typeof i > "u" || i === null ? null : Fe(i), Fe = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", Ht = (i, t = !1) => {
|
|
2025
|
+
i && (i.preventDefault(), t && i.stopPropagation());
|
|
2026
|
+
}, Se = (i) => {
|
|
2027
|
+
if (i.jquery)
|
|
2028
|
+
return i[0];
|
|
2029
|
+
if (i instanceof HTMLElement)
|
|
2030
|
+
return i;
|
|
2031
|
+
if (Ke(i)) {
|
|
2032
|
+
var t = document.createElement("template");
|
|
2033
|
+
return t.innerHTML = i.trim(), t.content.firstChild;
|
|
2034
|
+
}
|
|
2035
|
+
return document.querySelector(i);
|
|
2036
|
+
}, Ke = (i) => typeof i == "string" && i.indexOf("<") > -1;
|
|
2037
|
+
function xe(i) {
|
|
2038
|
+
var t = this, e = t.onOptionSelect;
|
|
2039
|
+
t.settings.hideSelected = !1;
|
|
2040
|
+
const n = Object.assign({
|
|
2041
2041
|
// so that the user may add different ones as well
|
|
2042
2042
|
className: "tomselect-checkbox",
|
|
2043
2043
|
// the following default to the historic plugin's values
|
|
2044
2044
|
checkedClassNames: void 0,
|
|
2045
2045
|
uncheckedClassNames: void 0
|
|
2046
|
-
},
|
|
2047
|
-
var
|
|
2048
|
-
|
|
2046
|
+
}, i);
|
|
2047
|
+
var s = function(l, a) {
|
|
2048
|
+
a ? (l.checked = !0, n.uncheckedClassNames && l.classList.remove(...n.uncheckedClassNames), n.checkedClassNames && l.classList.add(...n.checkedClassNames)) : (l.checked = !1, n.checkedClassNames && l.classList.remove(...n.checkedClassNames), n.uncheckedClassNames && l.classList.add(...n.uncheckedClassNames));
|
|
2049
2049
|
}, o = function(l) {
|
|
2050
2050
|
setTimeout(() => {
|
|
2051
|
-
var
|
|
2052
|
-
|
|
2051
|
+
var a = l.querySelector("input." + n.className);
|
|
2052
|
+
a instanceof HTMLInputElement && s(a, l.classList.contains("selected"));
|
|
2053
2053
|
}, 1);
|
|
2054
2054
|
};
|
|
2055
|
-
|
|
2056
|
-
var r =
|
|
2057
|
-
|
|
2058
|
-
var
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
}),
|
|
2062
|
-
const
|
|
2063
|
-
return
|
|
2055
|
+
t.hook("after", "setupTemplates", () => {
|
|
2056
|
+
var r = t.settings.render.option;
|
|
2057
|
+
t.settings.render.option = (l, a) => {
|
|
2058
|
+
var c = Se(r.call(t, l, a)), d = document.createElement("input");
|
|
2059
|
+
n.className && d.classList.add(n.className), d.addEventListener("click", function(p) {
|
|
2060
|
+
Ht(p);
|
|
2061
|
+
}), d.type = "checkbox";
|
|
2062
|
+
const u = ke(l[t.settings.valueField]);
|
|
2063
|
+
return s(d, !!(u && t.items.indexOf(u) > -1)), c.prepend(d), c;
|
|
2064
2064
|
};
|
|
2065
|
-
}),
|
|
2066
|
-
var l =
|
|
2065
|
+
}), t.on("item_remove", (r) => {
|
|
2066
|
+
var l = t.getOption(r);
|
|
2067
2067
|
l && (l.classList.remove("selected"), o(l));
|
|
2068
|
-
}),
|
|
2069
|
-
var l =
|
|
2068
|
+
}), t.on("item_add", (r) => {
|
|
2069
|
+
var l = t.getOption(r);
|
|
2070
2070
|
l && o(l);
|
|
2071
|
-
}),
|
|
2071
|
+
}), t.hook("instead", "onOptionSelect", (r, l) => {
|
|
2072
2072
|
if (l.classList.contains("selected")) {
|
|
2073
|
-
l.classList.remove("selected"),
|
|
2073
|
+
l.classList.remove("selected"), t.removeItem(l.dataset.value), t.refreshOptions(), Ht(r, !0);
|
|
2074
2074
|
return;
|
|
2075
2075
|
}
|
|
2076
|
-
|
|
2076
|
+
e.call(t, r, l), o(l);
|
|
2077
2077
|
});
|
|
2078
2078
|
}
|
|
2079
|
-
const
|
|
2080
|
-
if (
|
|
2081
|
-
return
|
|
2082
|
-
if (
|
|
2083
|
-
return
|
|
2084
|
-
if (
|
|
2085
|
-
var
|
|
2086
|
-
return
|
|
2087
|
-
}
|
|
2088
|
-
return document.querySelector(
|
|
2089
|
-
},
|
|
2090
|
-
function
|
|
2091
|
-
const
|
|
2079
|
+
const De = (i) => {
|
|
2080
|
+
if (i.jquery)
|
|
2081
|
+
return i[0];
|
|
2082
|
+
if (i instanceof HTMLElement)
|
|
2083
|
+
return i;
|
|
2084
|
+
if (_e(i)) {
|
|
2085
|
+
var t = document.createElement("template");
|
|
2086
|
+
return t.innerHTML = i.trim(), t.content.firstChild;
|
|
2087
|
+
}
|
|
2088
|
+
return document.querySelector(i);
|
|
2089
|
+
}, _e = (i) => typeof i == "string" && i.indexOf("<") > -1;
|
|
2090
|
+
function je(i) {
|
|
2091
|
+
const t = this, e = Object.assign({
|
|
2092
2092
|
className: "clear-button",
|
|
2093
2093
|
title: "Clear All",
|
|
2094
|
-
html: (
|
|
2095
|
-
},
|
|
2096
|
-
|
|
2097
|
-
var
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
}),
|
|
2094
|
+
html: (n) => `<div class="${n.className}" title="${n.title}">⨯</div>`
|
|
2095
|
+
}, i);
|
|
2096
|
+
t.on("initialize", () => {
|
|
2097
|
+
var n = De(e.html(e));
|
|
2098
|
+
n.addEventListener("click", (s) => {
|
|
2099
|
+
t.isLocked || (t.clear(), t.settings.mode === "single" && t.settings.allowEmptyOption && t.addItem(""), s.preventDefault(), s.stopPropagation());
|
|
2100
|
+
}), t.control.appendChild(n);
|
|
2101
2101
|
});
|
|
2102
2102
|
}
|
|
2103
|
-
const
|
|
2104
|
-
|
|
2105
|
-
},
|
|
2106
|
-
|
|
2107
|
-
},
|
|
2108
|
-
if (Array.isArray(
|
|
2109
|
-
|
|
2103
|
+
const Te = (i, t = !1) => {
|
|
2104
|
+
i && (i.preventDefault(), t && i.stopPropagation());
|
|
2105
|
+
}, x = (i, t, e, n) => {
|
|
2106
|
+
i.addEventListener(t, e, n);
|
|
2107
|
+
}, Qe = (i, t) => {
|
|
2108
|
+
if (Array.isArray(i))
|
|
2109
|
+
i.forEach(t);
|
|
2110
2110
|
else
|
|
2111
|
-
for (var
|
|
2112
|
-
|
|
2113
|
-
},
|
|
2114
|
-
if (
|
|
2115
|
-
return
|
|
2116
|
-
if (
|
|
2117
|
-
return
|
|
2118
|
-
if (
|
|
2119
|
-
var
|
|
2120
|
-
return
|
|
2121
|
-
}
|
|
2122
|
-
return document.querySelector(
|
|
2123
|
-
},
|
|
2124
|
-
|
|
2125
|
-
|
|
2111
|
+
for (var e in i)
|
|
2112
|
+
i.hasOwnProperty(e) && t(i[e], e);
|
|
2113
|
+
}, Ee = (i) => {
|
|
2114
|
+
if (i.jquery)
|
|
2115
|
+
return i[0];
|
|
2116
|
+
if (i instanceof HTMLElement)
|
|
2117
|
+
return i;
|
|
2118
|
+
if (Ue(i)) {
|
|
2119
|
+
var t = document.createElement("template");
|
|
2120
|
+
return t.innerHTML = i.trim(), t.content.firstChild;
|
|
2121
|
+
}
|
|
2122
|
+
return document.querySelector(i);
|
|
2123
|
+
}, Ue = (i) => typeof i == "string" && i.indexOf("<") > -1, $e = (i, t) => {
|
|
2124
|
+
Qe(t, (e, n) => {
|
|
2125
|
+
e == null ? i.removeAttribute(n) : i.setAttribute(n, "" + e);
|
|
2126
2126
|
});
|
|
2127
|
-
},
|
|
2128
|
-
var
|
|
2129
|
-
(
|
|
2130
|
-
},
|
|
2131
|
-
var
|
|
2132
|
-
(
|
|
2133
|
-
},
|
|
2127
|
+
}, Pe = (i, t) => {
|
|
2128
|
+
var e;
|
|
2129
|
+
(e = i.parentNode) == null || e.insertBefore(t, i.nextSibling);
|
|
2130
|
+
}, qe = (i, t) => {
|
|
2131
|
+
var e;
|
|
2132
|
+
(e = i.parentNode) == null || e.insertBefore(t, i);
|
|
2133
|
+
}, ti = (i, t) => {
|
|
2134
2134
|
do {
|
|
2135
|
-
var
|
|
2136
|
-
if (
|
|
2135
|
+
var e;
|
|
2136
|
+
if (t = (e = t) == null ? void 0 : e.previousElementSibling, i == t)
|
|
2137
2137
|
return !0;
|
|
2138
|
-
} while (
|
|
2138
|
+
} while (t && t.previousElementSibling);
|
|
2139
2139
|
return !1;
|
|
2140
2140
|
};
|
|
2141
|
-
function
|
|
2142
|
-
var
|
|
2143
|
-
if (
|
|
2144
|
-
var
|
|
2145
|
-
let
|
|
2146
|
-
|
|
2147
|
-
var o =
|
|
2148
|
-
|
|
2149
|
-
const
|
|
2150
|
-
|
|
2141
|
+
function ei() {
|
|
2142
|
+
var i = this;
|
|
2143
|
+
if (i.settings.mode !== "multi") return;
|
|
2144
|
+
var t = i.lock, e = i.unlock;
|
|
2145
|
+
let n = !0, s;
|
|
2146
|
+
i.hook("after", "setupTemplates", () => {
|
|
2147
|
+
var o = i.settings.render.item;
|
|
2148
|
+
i.settings.render.item = (r, l) => {
|
|
2149
|
+
const a = Ee(o.call(i, r, l));
|
|
2150
|
+
$e(a, {
|
|
2151
2151
|
draggable: "true"
|
|
2152
2152
|
});
|
|
2153
|
-
const
|
|
2154
|
-
|
|
2155
|
-
},
|
|
2156
|
-
|
|
2157
|
-
|
|
2153
|
+
const c = (b) => {
|
|
2154
|
+
n || Te(b), b.stopPropagation();
|
|
2155
|
+
}, d = (b) => {
|
|
2156
|
+
s = a, setTimeout(() => {
|
|
2157
|
+
a.classList.add("ts-dragging");
|
|
2158
2158
|
}, 0);
|
|
2159
|
-
},
|
|
2160
|
-
|
|
2159
|
+
}, u = (b) => {
|
|
2160
|
+
b.preventDefault(), a.classList.add("ts-drag-over"), y(a, s);
|
|
2161
2161
|
}, p = () => {
|
|
2162
|
-
|
|
2163
|
-
},
|
|
2164
|
-
|
|
2165
|
-
},
|
|
2166
|
-
var
|
|
2167
|
-
document.querySelectorAll(".ts-drag-over").forEach((
|
|
2168
|
-
var
|
|
2169
|
-
|
|
2170
|
-
if (
|
|
2171
|
-
let h =
|
|
2172
|
-
h &&
|
|
2162
|
+
a.classList.remove("ts-drag-over");
|
|
2163
|
+
}, y = (b, Z) => {
|
|
2164
|
+
Z !== void 0 && (ti(Z, a) ? Pe(b, Z) : qe(b, Z));
|
|
2165
|
+
}, g = () => {
|
|
2166
|
+
var b;
|
|
2167
|
+
document.querySelectorAll(".ts-drag-over").forEach((I) => I.classList.remove("ts-drag-over")), (b = s) == null || b.classList.remove("ts-dragging"), s = void 0;
|
|
2168
|
+
var Z = [];
|
|
2169
|
+
i.control.querySelectorAll("[data-value]").forEach((I) => {
|
|
2170
|
+
if (I.dataset.value) {
|
|
2171
|
+
let h = I.dataset.value;
|
|
2172
|
+
h && Z.push(h);
|
|
2173
2173
|
}
|
|
2174
|
-
}),
|
|
2174
|
+
}), i.setValue(Z);
|
|
2175
2175
|
};
|
|
2176
|
-
return
|
|
2176
|
+
return x(a, "mousedown", c), x(a, "dragstart", d), x(a, "dragenter", u), x(a, "dragover", u), x(a, "dragleave", p), x(a, "dragend", g), a;
|
|
2177
2177
|
};
|
|
2178
|
-
}),
|
|
2178
|
+
}), i.hook("instead", "lock", () => (n = !1, t.call(i))), i.hook("instead", "unlock", () => (n = !0, e.call(i)));
|
|
2179
2179
|
}
|
|
2180
|
-
const
|
|
2181
|
-
|
|
2182
|
-
},
|
|
2183
|
-
if (
|
|
2184
|
-
return
|
|
2185
|
-
if (
|
|
2186
|
-
return
|
|
2187
|
-
if (
|
|
2188
|
-
var
|
|
2189
|
-
return
|
|
2190
|
-
}
|
|
2191
|
-
return document.querySelector(
|
|
2192
|
-
},
|
|
2193
|
-
function
|
|
2194
|
-
const
|
|
2180
|
+
const ii = (i, t = !1) => {
|
|
2181
|
+
i && (i.preventDefault(), t && i.stopPropagation());
|
|
2182
|
+
}, ni = (i) => {
|
|
2183
|
+
if (i.jquery)
|
|
2184
|
+
return i[0];
|
|
2185
|
+
if (i instanceof HTMLElement)
|
|
2186
|
+
return i;
|
|
2187
|
+
if (si(i)) {
|
|
2188
|
+
var t = document.createElement("template");
|
|
2189
|
+
return t.innerHTML = i.trim(), t.content.firstChild;
|
|
2190
|
+
}
|
|
2191
|
+
return document.querySelector(i);
|
|
2192
|
+
}, si = (i) => typeof i == "string" && i.indexOf("<") > -1;
|
|
2193
|
+
function ri(i) {
|
|
2194
|
+
const t = this, e = Object.assign({
|
|
2195
2195
|
title: "Untitled",
|
|
2196
2196
|
headerClass: "dropdown-header",
|
|
2197
2197
|
titleRowClass: "dropdown-header-title",
|
|
2198
2198
|
labelClass: "dropdown-header-label",
|
|
2199
2199
|
closeClass: "dropdown-header-close",
|
|
2200
|
-
html: (
|
|
2201
|
-
},
|
|
2202
|
-
|
|
2203
|
-
var
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
}),
|
|
2200
|
+
html: (n) => '<div class="' + n.headerClass + '"><div class="' + n.titleRowClass + '"><span class="' + n.labelClass + '">' + n.title + '</span><a class="' + n.closeClass + '">×</a></div></div>'
|
|
2201
|
+
}, i);
|
|
2202
|
+
t.on("initialize", () => {
|
|
2203
|
+
var n = ni(e.html(e)), s = n.querySelector("." + e.closeClass);
|
|
2204
|
+
s && s.addEventListener("click", (o) => {
|
|
2205
|
+
ii(o, !0), t.close();
|
|
2206
|
+
}), t.dropdown.insertBefore(n, t.dropdown.firstChild);
|
|
2207
2207
|
});
|
|
2208
2208
|
}
|
|
2209
|
-
const
|
|
2210
|
-
if (Array.isArray(
|
|
2211
|
-
|
|
2209
|
+
const oi = (i, t) => {
|
|
2210
|
+
if (Array.isArray(i))
|
|
2211
|
+
i.forEach(t);
|
|
2212
2212
|
else
|
|
2213
|
-
for (var
|
|
2214
|
-
|
|
2215
|
-
},
|
|
2216
|
-
var
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2213
|
+
for (var e in i)
|
|
2214
|
+
i.hasOwnProperty(e) && t(i[e], e);
|
|
2215
|
+
}, li = (i, ...t) => {
|
|
2216
|
+
var e = ci(t);
|
|
2217
|
+
i = ai(i), i.map((n) => {
|
|
2218
|
+
e.map((s) => {
|
|
2219
|
+
n.classList.remove(s);
|
|
2220
2220
|
});
|
|
2221
2221
|
});
|
|
2222
|
-
},
|
|
2223
|
-
var
|
|
2224
|
-
return
|
|
2225
|
-
typeof
|
|
2226
|
-
}),
|
|
2227
|
-
},
|
|
2228
|
-
if (!
|
|
2229
|
-
|
|
2230
|
-
for (var
|
|
2231
|
-
|
|
2232
|
-
return
|
|
2222
|
+
}, ci = (i) => {
|
|
2223
|
+
var t = [];
|
|
2224
|
+
return oi(i, (e) => {
|
|
2225
|
+
typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
|
|
2226
|
+
}), t.filter(Boolean);
|
|
2227
|
+
}, ai = (i) => (Array.isArray(i) || (i = [i]), i), di = (i, t) => {
|
|
2228
|
+
if (!i) return -1;
|
|
2229
|
+
t = t || i.nodeName;
|
|
2230
|
+
for (var e = 0; i = i.previousElementSibling; )
|
|
2231
|
+
i.matches(t) && e++;
|
|
2232
|
+
return e;
|
|
2233
2233
|
};
|
|
2234
|
-
function
|
|
2235
|
-
var
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
})),
|
|
2240
|
-
}),
|
|
2241
|
-
if (!
|
|
2242
|
-
const
|
|
2243
|
-
if (
|
|
2244
|
-
const
|
|
2245
|
-
|
|
2234
|
+
function ui() {
|
|
2235
|
+
var i = this;
|
|
2236
|
+
i.hook("instead", "setCaret", (t) => {
|
|
2237
|
+
i.settings.mode === "single" || !i.control.contains(i.control_input) ? t = i.items.length : (t = Math.max(0, Math.min(i.items.length, t)), t != i.caretPos && !i.isPending && i.controlChildren().forEach((e, n) => {
|
|
2238
|
+
n < t ? i.control_input.insertAdjacentElement("beforebegin", e) : i.control.appendChild(e);
|
|
2239
|
+
})), i.caretPos = t;
|
|
2240
|
+
}), i.hook("instead", "moveCaret", (t) => {
|
|
2241
|
+
if (!i.isFocused) return;
|
|
2242
|
+
const e = i.getLastActive(t);
|
|
2243
|
+
if (e) {
|
|
2244
|
+
const n = di(e);
|
|
2245
|
+
i.setCaret(t > 0 ? n + 1 : n), i.setActiveItem(), li(e, "last-active");
|
|
2246
2246
|
} else
|
|
2247
|
-
|
|
2247
|
+
i.setCaret(i.caretPos + t);
|
|
2248
2248
|
});
|
|
2249
2249
|
}
|
|
2250
|
-
const
|
|
2251
|
-
|
|
2252
|
-
},
|
|
2253
|
-
|
|
2254
|
-
},
|
|
2255
|
-
if (Array.isArray(
|
|
2256
|
-
|
|
2250
|
+
const gi = 27, pi = 9, hi = (i, t = !1) => {
|
|
2251
|
+
i && (i.preventDefault(), t && i.stopPropagation());
|
|
2252
|
+
}, mi = (i, t, e, n) => {
|
|
2253
|
+
i.addEventListener(t, e, n);
|
|
2254
|
+
}, fi = (i, t) => {
|
|
2255
|
+
if (Array.isArray(i))
|
|
2256
|
+
i.forEach(t);
|
|
2257
2257
|
else
|
|
2258
|
-
for (var
|
|
2259
|
-
|
|
2260
|
-
},
|
|
2261
|
-
if (
|
|
2262
|
-
return
|
|
2263
|
-
if (
|
|
2264
|
-
return
|
|
2265
|
-
if (
|
|
2266
|
-
var
|
|
2267
|
-
return
|
|
2268
|
-
}
|
|
2269
|
-
return document.querySelector(
|
|
2270
|
-
},
|
|
2271
|
-
var
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2258
|
+
for (var e in i)
|
|
2259
|
+
i.hasOwnProperty(e) && t(i[e], e);
|
|
2260
|
+
}, Mt = (i) => {
|
|
2261
|
+
if (i.jquery)
|
|
2262
|
+
return i[0];
|
|
2263
|
+
if (i instanceof HTMLElement)
|
|
2264
|
+
return i;
|
|
2265
|
+
if (bi(i)) {
|
|
2266
|
+
var t = document.createElement("template");
|
|
2267
|
+
return t.innerHTML = i.trim(), t.content.firstChild;
|
|
2268
|
+
}
|
|
2269
|
+
return document.querySelector(i);
|
|
2270
|
+
}, bi = (i) => typeof i == "string" && i.indexOf("<") > -1, vi = (i, ...t) => {
|
|
2271
|
+
var e = Ii(t);
|
|
2272
|
+
i = Ci(i), i.map((n) => {
|
|
2273
|
+
e.map((s) => {
|
|
2274
|
+
n.classList.add(s);
|
|
2275
2275
|
});
|
|
2276
2276
|
});
|
|
2277
|
-
},
|
|
2278
|
-
var
|
|
2279
|
-
return
|
|
2280
|
-
typeof
|
|
2281
|
-
}),
|
|
2282
|
-
},
|
|
2283
|
-
function
|
|
2284
|
-
const
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
const
|
|
2288
|
-
|
|
2289
|
-
const
|
|
2290
|
-
|
|
2291
|
-
}),
|
|
2292
|
-
|
|
2293
|
-
switch (
|
|
2294
|
-
case
|
|
2295
|
-
|
|
2277
|
+
}, Ii = (i) => {
|
|
2278
|
+
var t = [];
|
|
2279
|
+
return fi(i, (e) => {
|
|
2280
|
+
typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
|
|
2281
|
+
}), t.filter(Boolean);
|
|
2282
|
+
}, Ci = (i) => (Array.isArray(i) || (i = [i]), i);
|
|
2283
|
+
function yi() {
|
|
2284
|
+
const i = this;
|
|
2285
|
+
i.settings.shouldOpen = !0, i.hook("before", "setup", () => {
|
|
2286
|
+
i.focus_node = i.control, vi(i.control_input, "dropdown-input");
|
|
2287
|
+
const t = Mt('<div class="dropdown-input-wrap">');
|
|
2288
|
+
t.append(i.control_input), i.dropdown.insertBefore(t, i.dropdown.firstChild);
|
|
2289
|
+
const e = Mt('<input class="items-placeholder" tabindex="-1" />');
|
|
2290
|
+
e.placeholder = i.settings.placeholder || "", i.control.append(e);
|
|
2291
|
+
}), i.on("initialize", () => {
|
|
2292
|
+
i.control_input.addEventListener("keydown", (e) => {
|
|
2293
|
+
switch (e.keyCode) {
|
|
2294
|
+
case gi:
|
|
2295
|
+
i.isOpen && (hi(e, !0), i.close()), i.clearActiveItems();
|
|
2296
2296
|
return;
|
|
2297
|
-
case
|
|
2298
|
-
|
|
2297
|
+
case pi:
|
|
2298
|
+
i.focus_node.tabIndex = -1;
|
|
2299
2299
|
break;
|
|
2300
2300
|
}
|
|
2301
|
-
return
|
|
2302
|
-
}),
|
|
2303
|
-
|
|
2304
|
-
}),
|
|
2305
|
-
|
|
2301
|
+
return i.onKeyDown.call(i, e);
|
|
2302
|
+
}), i.on("blur", () => {
|
|
2303
|
+
i.focus_node.tabIndex = i.isDisabled ? -1 : i.tabIndex;
|
|
2304
|
+
}), i.on("dropdown_open", () => {
|
|
2305
|
+
i.control_input.focus();
|
|
2306
2306
|
});
|
|
2307
|
-
const
|
|
2308
|
-
|
|
2309
|
-
if (!(
|
|
2310
|
-
return
|
|
2311
|
-
}),
|
|
2312
|
-
|
|
2307
|
+
const t = i.onBlur;
|
|
2308
|
+
i.hook("instead", "onBlur", (e) => {
|
|
2309
|
+
if (!(e && e.relatedTarget == i.control_input))
|
|
2310
|
+
return t.call(i);
|
|
2311
|
+
}), mi(i.control_input, "blur", () => i.onBlur()), i.hook("before", "close", () => {
|
|
2312
|
+
i.isOpen && i.focus_node.focus({
|
|
2313
2313
|
preventScroll: !0
|
|
2314
2314
|
});
|
|
2315
2315
|
});
|
|
2316
2316
|
});
|
|
2317
2317
|
}
|
|
2318
|
-
const
|
|
2319
|
-
|
|
2318
|
+
const tt = (i, t, e, n) => {
|
|
2319
|
+
i.addEventListener(t, e, n);
|
|
2320
2320
|
};
|
|
2321
|
-
function
|
|
2322
|
-
var
|
|
2323
|
-
|
|
2324
|
-
var
|
|
2325
|
-
|
|
2326
|
-
var
|
|
2327
|
-
for (const o of
|
|
2328
|
-
|
|
2329
|
-
var
|
|
2330
|
-
|
|
2321
|
+
function Zi() {
|
|
2322
|
+
var i = this;
|
|
2323
|
+
i.on("initialize", () => {
|
|
2324
|
+
var t = document.createElement("span"), e = i.control_input;
|
|
2325
|
+
t.style.cssText = "position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ", i.wrapper.appendChild(t);
|
|
2326
|
+
var n = ["letterSpacing", "fontSize", "fontFamily", "fontWeight", "textTransform"];
|
|
2327
|
+
for (const o of n)
|
|
2328
|
+
t.style[o] = e.style[o];
|
|
2329
|
+
var s = () => {
|
|
2330
|
+
t.textContent = e.value, e.style.width = t.clientWidth + "px";
|
|
2331
2331
|
};
|
|
2332
|
-
|
|
2332
|
+
s(), i.on("update item_add item_remove", s), tt(e, "input", s), tt(e, "keyup", s), tt(e, "blur", s), tt(e, "update", s);
|
|
2333
2333
|
});
|
|
2334
2334
|
}
|
|
2335
|
-
function
|
|
2336
|
-
var
|
|
2337
|
-
this.hook("instead", "deleteSelection", (
|
|
2335
|
+
function wi() {
|
|
2336
|
+
var i = this, t = i.deleteSelection;
|
|
2337
|
+
this.hook("instead", "deleteSelection", (e) => i.activeItems.length ? t.call(i, e) : !1);
|
|
2338
2338
|
}
|
|
2339
|
-
function
|
|
2339
|
+
function Li() {
|
|
2340
2340
|
this.hook("instead", "setActiveItem", () => {
|
|
2341
2341
|
}), this.hook("instead", "selectAll", () => {
|
|
2342
2342
|
});
|
|
2343
2343
|
}
|
|
2344
|
-
const
|
|
2345
|
-
for (;
|
|
2346
|
-
if (
|
|
2347
|
-
return
|
|
2348
|
-
|
|
2349
|
-
}
|
|
2350
|
-
},
|
|
2351
|
-
if (!
|
|
2352
|
-
|
|
2353
|
-
for (var
|
|
2354
|
-
|
|
2355
|
-
return
|
|
2344
|
+
const Rt = 37, Wi = 39, Gi = (i, t, e) => {
|
|
2345
|
+
for (; i && i.matches; ) {
|
|
2346
|
+
if (i.matches(t))
|
|
2347
|
+
return i;
|
|
2348
|
+
i = i.parentNode;
|
|
2349
|
+
}
|
|
2350
|
+
}, Ai = (i, t) => {
|
|
2351
|
+
if (!i) return -1;
|
|
2352
|
+
t = t || i.nodeName;
|
|
2353
|
+
for (var e = 0; i = i.previousElementSibling; )
|
|
2354
|
+
i.matches(t) && e++;
|
|
2355
|
+
return e;
|
|
2356
2356
|
};
|
|
2357
|
-
function
|
|
2358
|
-
var
|
|
2359
|
-
|
|
2360
|
-
var
|
|
2361
|
-
if (!
|
|
2362
|
-
return
|
|
2363
|
-
|
|
2357
|
+
function Bi() {
|
|
2358
|
+
var i = this, t = i.onKeyDown;
|
|
2359
|
+
i.hook("instead", "onKeyDown", (e) => {
|
|
2360
|
+
var n, s, o, r;
|
|
2361
|
+
if (!i.isOpen || !(e.keyCode === Rt || e.keyCode === Wi))
|
|
2362
|
+
return t.call(i, e);
|
|
2363
|
+
i.ignoreHover = !0, r = Gi(i.activeOption, "[data-group]"), n = Ai(i.activeOption, "[data-selectable]"), r && (e.keyCode === Rt ? r = r.previousSibling : r = r.nextSibling, r && (o = r.querySelectorAll("[data-selectable]"), s = o[Math.min(o.length - 1, n)], s && i.setActiveOption(s)));
|
|
2364
2364
|
});
|
|
2365
2365
|
}
|
|
2366
|
-
const
|
|
2367
|
-
|
|
2368
|
-
},
|
|
2369
|
-
|
|
2370
|
-
},
|
|
2371
|
-
if (
|
|
2372
|
-
return
|
|
2373
|
-
if (
|
|
2374
|
-
return
|
|
2375
|
-
if (
|
|
2376
|
-
var
|
|
2377
|
-
return
|
|
2378
|
-
}
|
|
2379
|
-
return document.querySelector(
|
|
2380
|
-
},
|
|
2381
|
-
function
|
|
2382
|
-
const
|
|
2366
|
+
const Xi = (i) => (i + "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """), Nt = (i, t = !1) => {
|
|
2367
|
+
i && (i.preventDefault(), t && i.stopPropagation());
|
|
2368
|
+
}, Vt = (i, t, e, n) => {
|
|
2369
|
+
i.addEventListener(t, e, n);
|
|
2370
|
+
}, zt = (i) => {
|
|
2371
|
+
if (i.jquery)
|
|
2372
|
+
return i[0];
|
|
2373
|
+
if (i instanceof HTMLElement)
|
|
2374
|
+
return i;
|
|
2375
|
+
if (Yi(i)) {
|
|
2376
|
+
var t = document.createElement("template");
|
|
2377
|
+
return t.innerHTML = i.trim(), t.content.firstChild;
|
|
2378
|
+
}
|
|
2379
|
+
return document.querySelector(i);
|
|
2380
|
+
}, Yi = (i) => typeof i == "string" && i.indexOf("<") > -1;
|
|
2381
|
+
function Ji(i) {
|
|
2382
|
+
const t = Object.assign({
|
|
2383
2383
|
label: "×",
|
|
2384
2384
|
title: "Remove",
|
|
2385
2385
|
className: "remove",
|
|
2386
2386
|
append: !0
|
|
2387
|
-
},
|
|
2388
|
-
var
|
|
2389
|
-
if (
|
|
2390
|
-
var
|
|
2391
|
-
|
|
2392
|
-
var
|
|
2393
|
-
|
|
2394
|
-
var l =
|
|
2395
|
-
return l.appendChild(
|
|
2396
|
-
|
|
2397
|
-
}),
|
|
2398
|
-
|
|
2387
|
+
}, i);
|
|
2388
|
+
var e = this;
|
|
2389
|
+
if (t.append) {
|
|
2390
|
+
var n = '<a href="javascript:void(0)" class="' + t.className + '" tabindex="-1" title="' + Xi(t.title) + '">' + t.label + "</a>";
|
|
2391
|
+
e.hook("after", "setupTemplates", () => {
|
|
2392
|
+
var s = e.settings.render.item;
|
|
2393
|
+
e.settings.render.item = (o, r) => {
|
|
2394
|
+
var l = zt(s.call(e, o, r)), a = zt(n);
|
|
2395
|
+
return l.appendChild(a), Vt(a, "mousedown", (c) => {
|
|
2396
|
+
Nt(c, !0);
|
|
2397
|
+
}), Vt(a, "click", (c) => {
|
|
2398
|
+
e.isLocked || (Nt(c, !0), !e.isLocked && e.shouldDelete([l], c) && (e.removeItem(l), e.refreshOptions(!1), e.inputState()));
|
|
2399
2399
|
}), l;
|
|
2400
2400
|
};
|
|
2401
2401
|
});
|
|
2402
2402
|
}
|
|
2403
2403
|
}
|
|
2404
|
-
function
|
|
2405
|
-
const
|
|
2406
|
-
text: (
|
|
2407
|
-
},
|
|
2408
|
-
|
|
2409
|
-
if (
|
|
2410
|
-
var
|
|
2411
|
-
|
|
2404
|
+
function Oi(i) {
|
|
2405
|
+
const t = this, e = Object.assign({
|
|
2406
|
+
text: (n) => n[t.settings.labelField]
|
|
2407
|
+
}, i);
|
|
2408
|
+
t.on("item_remove", function(n) {
|
|
2409
|
+
if (t.isFocused && t.control_input.value.trim() === "") {
|
|
2410
|
+
var s = t.options[n];
|
|
2411
|
+
s && t.setTextboxValue(e.text.call(t, s));
|
|
2412
2412
|
}
|
|
2413
2413
|
});
|
|
2414
2414
|
}
|
|
2415
|
-
const
|
|
2416
|
-
if (Array.isArray(
|
|
2417
|
-
|
|
2415
|
+
const Hi = (i, t) => {
|
|
2416
|
+
if (Array.isArray(i))
|
|
2417
|
+
i.forEach(t);
|
|
2418
2418
|
else
|
|
2419
|
-
for (var
|
|
2420
|
-
|
|
2421
|
-
},
|
|
2422
|
-
var
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2419
|
+
for (var e in i)
|
|
2420
|
+
i.hasOwnProperty(e) && t(i[e], e);
|
|
2421
|
+
}, Mi = (i, ...t) => {
|
|
2422
|
+
var e = Ri(t);
|
|
2423
|
+
i = Ni(i), i.map((n) => {
|
|
2424
|
+
e.map((s) => {
|
|
2425
|
+
n.classList.add(s);
|
|
2426
2426
|
});
|
|
2427
2427
|
});
|
|
2428
|
-
},
|
|
2429
|
-
var
|
|
2430
|
-
return
|
|
2431
|
-
typeof
|
|
2432
|
-
}),
|
|
2433
|
-
},
|
|
2434
|
-
function
|
|
2435
|
-
const
|
|
2436
|
-
var
|
|
2437
|
-
if (
|
|
2428
|
+
}, Ri = (i) => {
|
|
2429
|
+
var t = [];
|
|
2430
|
+
return Hi(i, (e) => {
|
|
2431
|
+
typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
|
|
2432
|
+
}), t.filter(Boolean);
|
|
2433
|
+
}, Ni = (i) => (Array.isArray(i) || (i = [i]), i);
|
|
2434
|
+
function Vi() {
|
|
2435
|
+
const i = this, t = i.canLoad, e = i.clearActiveOption, n = i.loadCallback;
|
|
2436
|
+
var s = {}, o, r = !1, l, a = [];
|
|
2437
|
+
if (i.settings.shouldLoadMore || (i.settings.shouldLoadMore = () => {
|
|
2438
2438
|
if (o.clientHeight / (o.scrollHeight - o.scrollTop) > 0.9)
|
|
2439
2439
|
return !0;
|
|
2440
|
-
if (
|
|
2441
|
-
var p =
|
|
2442
|
-
if (
|
|
2440
|
+
if (i.activeOption) {
|
|
2441
|
+
var p = i.selectable(), y = Array.from(p).indexOf(i.activeOption);
|
|
2442
|
+
if (y >= p.length - 2)
|
|
2443
2443
|
return !0;
|
|
2444
2444
|
}
|
|
2445
2445
|
return !1;
|
|
2446
|
-
}), !
|
|
2446
|
+
}), !i.settings.firstUrl)
|
|
2447
2447
|
throw "virtual_scroll plugin requires a firstUrl() method";
|
|
2448
|
-
|
|
2448
|
+
i.settings.sortField = [{
|
|
2449
2449
|
field: "$order"
|
|
2450
2450
|
}, {
|
|
2451
2451
|
field: "$score"
|
|
2452
2452
|
}];
|
|
2453
|
-
const
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
},
|
|
2457
|
-
if (
|
|
2458
|
-
const p =
|
|
2459
|
-
return
|
|
2453
|
+
const c = (u) => typeof i.settings.maxOptions == "number" && o.children.length >= i.settings.maxOptions ? !1 : !!(u in s && s[u]), d = (u, p) => i.items.indexOf(p) >= 0 || a.indexOf(p) >= 0;
|
|
2454
|
+
i.setNextUrl = (u, p) => {
|
|
2455
|
+
s[u] = p;
|
|
2456
|
+
}, i.getUrl = (u) => {
|
|
2457
|
+
if (u in s) {
|
|
2458
|
+
const p = s[u];
|
|
2459
|
+
return s[u] = !1, p;
|
|
2460
2460
|
}
|
|
2461
|
-
return
|
|
2462
|
-
},
|
|
2463
|
-
|
|
2464
|
-
},
|
|
2461
|
+
return i.clearPagination(), i.settings.firstUrl.call(i, u);
|
|
2462
|
+
}, i.clearPagination = () => {
|
|
2463
|
+
s = {};
|
|
2464
|
+
}, i.hook("instead", "clearActiveOption", () => {
|
|
2465
2465
|
if (!r)
|
|
2466
|
-
return
|
|
2467
|
-
}),
|
|
2466
|
+
return e.call(i);
|
|
2467
|
+
}), i.hook("instead", "canLoad", (u) => u in s ? c(u) : t.call(i, u)), i.hook("instead", "loadCallback", (u, p) => {
|
|
2468
2468
|
if (!r)
|
|
2469
|
-
|
|
2469
|
+
i.clearOptions(d);
|
|
2470
2470
|
else if (l) {
|
|
2471
|
-
const
|
|
2472
|
-
|
|
2471
|
+
const y = u[0];
|
|
2472
|
+
y !== void 0 && (l.dataset.value = y[i.settings.valueField]);
|
|
2473
2473
|
}
|
|
2474
|
-
|
|
2475
|
-
}),
|
|
2476
|
-
const
|
|
2474
|
+
n.call(i, u, p), r = !1;
|
|
2475
|
+
}), i.hook("after", "refreshOptions", () => {
|
|
2476
|
+
const u = i.lastValue;
|
|
2477
2477
|
var p;
|
|
2478
|
-
|
|
2479
|
-
query:
|
|
2480
|
-
}), p && (p.setAttribute("data-selectable", ""), l = p)) :
|
|
2481
|
-
query:
|
|
2482
|
-
})), p && (
|
|
2483
|
-
}),
|
|
2484
|
-
|
|
2478
|
+
c(u) ? (p = i.render("loading_more", {
|
|
2479
|
+
query: u
|
|
2480
|
+
}), p && (p.setAttribute("data-selectable", ""), l = p)) : u in s && !o.querySelector(".no-results") && (p = i.render("no_more_results", {
|
|
2481
|
+
query: u
|
|
2482
|
+
})), p && (Mi(p, i.settings.optionClass), o.append(p));
|
|
2483
|
+
}), i.on("initialize", () => {
|
|
2484
|
+
a = Object.keys(i.options), o = i.dropdown_content, i.settings.render = Object.assign({}, {
|
|
2485
2485
|
loading_more: () => '<div class="loading-more-results">Loading more results ... </div>',
|
|
2486
2486
|
no_more_results: () => '<div class="no-more-results">No more results</div>'
|
|
2487
|
-
},
|
|
2488
|
-
|
|
2487
|
+
}, i.settings.render), o.addEventListener("scroll", () => {
|
|
2488
|
+
i.settings.shouldLoadMore.call(i) && c(i.lastValue) && (r || (r = !0, i.load.call(i, i.lastValue)));
|
|
2489
2489
|
});
|
|
2490
2490
|
});
|
|
2491
2491
|
}
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
const Ns = "/tom-select.bootstrap5.css";
|
|
2507
|
-
var
|
|
2508
|
-
const
|
|
2492
|
+
X.define("change_listener", ze);
|
|
2493
|
+
X.define("checkbox_options", xe);
|
|
2494
|
+
X.define("clear_button", je);
|
|
2495
|
+
X.define("drag_drop", ei);
|
|
2496
|
+
X.define("dropdown_header", ri);
|
|
2497
|
+
X.define("caret_position", ui);
|
|
2498
|
+
X.define("dropdown_input", yi);
|
|
2499
|
+
X.define("input_autogrow", Zi);
|
|
2500
|
+
X.define("no_backspace_delete", wi);
|
|
2501
|
+
X.define("no_active_items", Li);
|
|
2502
|
+
X.define("optgroup_columns", Bi);
|
|
2503
|
+
X.define("remove_button", Ji);
|
|
2504
|
+
X.define("restore_on_backspace", Oi);
|
|
2505
|
+
X.define("virtual_scroll", Vi);
|
|
2506
|
+
const zi = new URL("data:text/css;base64,LyoqCiAqIFRvbSBTZWxlY3QgQm9vdHN0cmFwIDUKICovCi8qKgogKiB0b20tc2VsZWN0LmNzcyAodjIuNC4zKQogKiBDb3B5cmlnaHQgKGMpIGNvbnRyaWJ1dG9ycwogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMKICogZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyCiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GCiAqIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZQogKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKi8KLnRzLWNvbnRyb2wgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7CiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsKICB3aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmc6IGNhbGMoMC4zNzVyZW0gLSAxcHggLSAwKSAwLjc1cmVtIGNhbGMoMC4zNzVyZW0gLSAxcHggLSAzcHggLSAwKTsKfQouZnVsbCAudHMtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sLCAuZGlzYWJsZWQgLnRzLWNvbnRyb2wgKiB7CiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci50cy1jb250cm9sID4gKiB7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIG1hcmdpbjogMCAzcHggM3B4IDA7CiAgcGFkZGluZzogMXB4IDVweDsKICBiYWNrZ3JvdW5kOiAjZWZlZmVmOwogIGNvbG9yOiAjMzQzYTQwOwogIGJvcmRlcjogMCBzb2xpZCAjZGVlMmU2Owp9Ci50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sID4gZGl2LmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogIzBkNmVmZDsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDAgc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCA+IGRpdiwgLnRzLXdyYXBwZXIubXVsdGkuZGlzYWJsZWQgLnRzLWNvbnRyb2wgPiBkaXYuYWN0aXZlIHsKICBjb2xvcjogcmdiKDEzNC41LCAxMzQuNSwgMTM0LjUpOwogIGJhY2tncm91bmQ6IHdoaXRlOwogIGJvcmRlcjogMCBzb2xpZCB3aGl0ZTsKfQoudHMtY29udHJvbCA+IGlucHV0IHsKICBmbGV4OiAxIDEgYXV0bzsKICBtaW4td2lkdGg6IDdyZW07CiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsKICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7CiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDsKICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50OwogIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICAgICAtbW96LXVzZXItc2VsZWN0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIC1tcy11c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50OwogICAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLWNvbnRyb2wgPiBpbnB1dDo6LW1zLWNsZWFyIHsKICBkaXNwbGF5OiBub25lOwp9Ci50cy1jb250cm9sID4gaW5wdXQ6Zm9jdXMgewogIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsKfQouaGFzLWl0ZW1zIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggIWltcG9ydGFudDsKfQoudHMtY29udHJvbC5ydGwgewogIHRleHQtYWxpZ246IHJpZ2h0Owp9Ci50cy1jb250cm9sLnJ0bC5zaW5nbGUgLnRzLWNvbnRyb2w6YWZ0ZXIgewogIGxlZnQ6IGNhbGMoMC43NXJlbSArIDVweCk7CiAgcmlnaHQ6IGF1dG87Cn0KLnRzLWNvbnRyb2wucnRsIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggMCAtMnB4ICFpbXBvcnRhbnQ7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sIHsKICBvcGFjaXR5OiAwLjU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTsKfQouaW5wdXQtaGlkZGVuIC50cy1jb250cm9sID4gaW5wdXQgewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IC0xMDAwMHB4Owp9CgoudHMtZHJvcGRvd24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwMCU7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIG1hcmdpbjogMC4yNXJlbSAwIDA7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7Cn0KLnRzLWRyb3Bkb3duIFtkYXRhLXNlbGVjdGFibGVdIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudHMtZHJvcGRvd24gW2RhdGEtc2VsZWN0YWJsZV0gLmhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIzNywgNDAsIDAuNCk7CiAgYm9yZGVyLXJhZGl1czogMXB4Owp9Ci50cy1kcm9wZG93biAub3B0aW9uLAoudHMtZHJvcGRvd24gLm9wdGdyb3VwLWhlYWRlciwKLnRzLWRyb3Bkb3duIC5uby1yZXN1bHRzLAoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZzogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5vcHRpb24sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHsKICBjdXJzb3I6IGluaGVyaXQ7CiAgb3BhY2l0eTogMC41Owp9Ci50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXS5vcHRpb24gewogIG9wYWNpdHk6IDE7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXA6Zmlyc3QtY2hpbGQgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyIHsKICBjb2xvcjogIzZjNzU3ZDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUuY3JlYXRlIHsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5jcmVhdGUgewogIGNvbG9yOiByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDMwcHg7CiAgaGVpZ2h0OiAzMHB4OwogIG1hcmdpbjogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyOjphZnRlciB7CiAgY29udGVudDogIiAiOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKICBtYXJnaW46IDNweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm9yZGVyOiA1cHggc29saWQgI2QwZDBkMDsKICBib3JkZXItY29sb3I6ICNkMGQwZDAgdHJhbnNwYXJlbnQgI2QwZDBkMCB0cmFuc3BhcmVudDsKICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9CiAgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQoKLnRzLWRyb3Bkb3duLWNvbnRlbnQgewogIG92ZXJmbG93OiBoaWRkZW4gYXV0bzsKICBtYXgtaGVpZ2h0OiAyMDBweDsKICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKfQoKLnRzLXdyYXBwZXIucGx1Z2luLWRyYWdfZHJvcCAudHMtZHJhZ2dpbmcgewogIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1kcmFnX2Ryb3AgLnRzLWRyYWdnaW5nID4gKiB7CiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9uczpub3QoLnJ0bCkgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9ucy5ydGwgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsKfQoKLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tbmFtZS1jYXNlICovCi5wbHVnaW4tY2xlYXJfYnV0dG9uIHsKICAtLXRzLXByLWNsZWFyLWJ1dHRvbjogMWVtOwp9Ci5wbHVnaW4tY2xlYXJfYnV0dG9uIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICByaWdodDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC41czsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnBsdWdpbi1jbGVhcl9idXR0b24uZm9ybS1zZWxlY3QgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b24uc2luZ2xlIC5jbGVhci1idXR0b24gewogIHJpZ2h0OiBtYXgodmFyKC0tdHMtcHItY2FyZXQpLCAwLjc1cmVtKTsKfQoucGx1Z2luLWNsZWFyX2J1dHRvbi5mb2N1cy5oYXMtaXRlbXMgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXIuaGFzLWl0ZW1zIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDE7Cn0KCi50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiA2cHggMC43NXJlbTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgodmFyKC0tYnMtYm9keS1iZyksICNkMGQwZDAsIDg1JSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgMCAwOwp9Ci50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXItY2xvc2UgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMC43NXJlbTsKICB0b3A6IDUwJTsKICBjb2xvcjogIzM0M2E0MDsKICBvcGFjaXR5OiAwLjQ7CiAgbWFyZ2luLXRvcDogLTEycHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIgLmRyb3Bkb3duLWhlYWRlci1jbG9zZTpob3ZlciB7CiAgY29sb3I6IGJsYWNrOwp9CgoucGx1Z2luLWRyb3Bkb3duX2lucHV0LmZvY3VzLmRyb3Bkb3duLWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpOwogIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctaW5zZXQpOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQgLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJvcmRlci13aWR0aDogMCAwIDFweDsKICBkaXNwbGF5OiBibG9jazsKICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5mb2N1cyAudHMtZHJvcGRvd24gLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dCAuaXRlbXMtcGxhY2Vob2xkZXIgewogIGJvcmRlcjogMCBub25lICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxMDAlOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQuaGFzLWl0ZW1zIC5pdGVtcy1wbGFjZWhvbGRlciwgLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5kcm9wZG93bi1hY3RpdmUgLml0ZW1zLXBsYWNlaG9sZGVyIHsKICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KCi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgbWluLXdpZHRoOiAwOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgZmxleDogbm9uZTsKICBtaW4td2lkdGg6IDRweDsKfQoudHMtd3JhcHBlci5wbHVnaW4taW5wdXRfYXV0b2dyb3cuaGFzLWl0ZW1zLmZvY3VzIC50cy1jb250cm9sID4gaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHRyYW5zcGFyZW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC50cy1kcm9wZG93bi1jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXAgewogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMmYyZjI7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGZsZXgtZ3JvdzogMTsKICBmbGV4LWJhc2lzOiAwOwogIG1pbi13aWR0aDogMDsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwOmxhc3QtY2hpbGQgewogIGJvcmRlci1yaWdodDogMCBub25lOwp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXA6OmJlZm9yZSB7CiAgZGlzcGxheTogbm9uZTsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlIHsKICBjb2xvcjogaW5oZXJpdDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogMCA1cHg7CiAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLmRpc2FibGVkIC5pdGVtIC5yZW1vdmU6aG92ZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24gLnJlbW92ZS1zaW5nbGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgZm9udC1zaXplOiAyM3B4Owp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1sZWZ0OiA1cHg7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtLmFjdGl2ZSAucmVtb3ZlIHsKICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkuZGlzYWJsZWQgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQtY29sb3I6IHdoaXRlOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbi5ydGwgLml0ZW0gewogIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbS5hY3RpdmUgLnJlbW92ZSB7CiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bC5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQtY29sb3I6IHdoaXRlOwp9Cgo6cm9vdCB7CiAgLS10cy1wci1jbGVhci1idXR0b246IDBweDsKICAtLXRzLXByLWNhcmV0OiAwcHg7CiAgLS10cy1wci1taW46IC43NXJlbTsKfQoKLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wgaW5wdXQgewogIGN1cnNvcjogcG9pbnRlcjsKfQoKLnRzLWNvbnRyb2w6bm90KC5ydGwpIHsKICBwYWRkaW5nLXJpZ2h0OiBtYXgodmFyKC0tdHMtcHItbWluKSwgdmFyKC0tdHMtcHItY2xlYXItYnV0dG9uKSArIHZhcigtLXRzLXByLWNhcmV0KSkgIWltcG9ydGFudDsKfQoKLnRzLWNvbnRyb2wucnRsIHsKICBwYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS10cy1wci1taW4pLCB2YXIoLS10cy1wci1jbGVhci1idXR0b24pICsgdmFyKC0tdHMtcHItY2FyZXQpKSAhaW1wb3J0YW50Owp9CgoudHMtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgoudHMtZHJvcGRvd24sCi50cy1jb250cm9sLAoudHMtY29udHJvbCBpbnB1dCB7CiAgY29sb3I6ICMzNDNhNDA7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi50cy1jb250cm9sLAoudHMtd3JhcHBlci5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IHRleHQ7Cn0KCi50cy1oaWRkZW4tYWNjZXNzaWJsZSB7CiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50OwogIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7CiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDsKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxcHggIWltcG9ydGFudDsKICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7Cn0KCi50cy1kcm9wZG93biwKLnRzLWRyb3Bkb3duLmZvcm0tY29udHJvbCwKLnRzLWRyb3Bkb3duLmZvcm0tc2VsZWN0IHsKICBoZWlnaHQ6IGF1dG87CiAgcGFkZGluZzogMDsKICB6LWluZGV4OiAxMDAwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7CiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07CiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsKfQoKLnRzLWRyb3Bkb3duIC5vcHRncm91cC1oZWFkZXIgewogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoudHMtZHJvcGRvd24gLm9wdGdyb3VwOmZpcnN0LWNoaWxkOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRzLWRyb3Bkb3duIC5vcHRncm91cDo6YmVmb3JlIHsKICBjb250ZW50OiAiICI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbjogMC41cmVtIDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTsKICBtYXJnaW4tbGVmdDogLTAuNzVyZW07CiAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTsKfQoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOwp9CgoudHMtZHJvcGRvd24tY29udGVudCB7CiAgcGFkZGluZzogNXB4IDA7Cn0KCi50cy1jb250cm9sIHsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLnRzLWNvbnRyb2wgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnRzLWNvbnRyb2wgLml0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLnRzLXdyYXBwZXIuaXMtaW52YWxpZCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKfQoudHMtd3JhcHBlci5pcy1pbnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQ6bm90KC5zaW5nbGUpLAoud2FzLXZhbGlkYXRlZCA6aW52YWxpZCArIC50cy13cmFwcGVyOm5vdCguc2luZ2xlKSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9Ci50cy13cmFwcGVyLmlzLWludmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAuaW52YWxpZC5zaW5nbGUsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuc2luZ2xlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpLCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNkYzM1NDUnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlciwgY2VudGVyIHJpZ2h0IDIuMjVyZW07CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHgsIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtaW52YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQuZm9jdXMgLnRzLWNvbnRyb2wsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuZm9jdXMgLnRzLWNvbnRyb2wgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKSwgMC4yNSk7Cn0KCi50cy13cmFwcGVyLmlzLXZhbGlkLAoud2FzLXZhbGlkYXRlZCAudmFsaWQsCi53YXMtdmFsaWRhdGVkIDp2YWxpZCArIC50cy13cmFwcGVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtY29sb3IpOwp9Ci50cy13cmFwcGVyLmlzLXZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgOnZhbGlkICsgLnRzLXdyYXBwZXI6bm90KC5zaW5nbGUpIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMTk4NzU0JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtdmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAudmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5zaW5nbGUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMzQzYTQwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8lM2UlM2Mvc3ZnJTNlIiksIHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMxOTg3NTQnIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyLCBjZW50ZXIgcmlnaHQgMi4yNXJlbTsKICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweCwgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoudHMtd3JhcHBlci5pcy12YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLnZhbGlkLmZvY3VzIC50cy1jb250cm9sLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5mb2N1cyAudHMtY29udHJvbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS12YWxpZC1jb2xvciksIDAuMjUpOwp9CgoudHMtd3JhcHBlciB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7CiAgZGlzcGxheTogZmxleDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20sIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20gLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSAudHMtY29udHJvbCB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgcGFkZGluZy10b3A6IGNhbGMoKGNhbGMoMS41ZW0gKyAwLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSkgLSAxLjUgKiAwLjg3NXJlbSAtIGNhbGMoKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKyAxcHgpICogMikpIC8gMikgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmctbGVmdDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICAtLXRzLXByLW1pbjogY2FsYygwLjc1cmVtIC0gNXB4KTsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAtIDFweCk7Cn0KLmlucHV0LWdyb3VwLWxnID4gLnRzLXdyYXBwZXIsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1sZywgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QtbGcgewogIG1pbi1oZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpOwp9Ci5pbnB1dC1ncm91cC1sZyA+IC50cy13cmFwcGVyIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wtbGcgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LWxnIC50cy1jb250cm9sIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTsKICBmb250LXNpemU6IDEuMjVyZW07Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkgewogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiBub25lOwogIGhlaWdodDogYXV0bzsKICBib3gtc2hhZG93OiBub25lOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkuc2luZ2xlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7Cn0KLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QsIC50cy13cmFwcGVyLnNpbmdsZSB7CiAgLS10cy1wci1jYXJldDogMi4yNXJlbTsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0IHsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiBhdXRvOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgZGlzcGxheTogZmxleDsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLXNlbGVjdCAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Quc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sOm5vdCguZGlzYWJsZWQpIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2w6bm90KC5kaXNhYmxlZCkuc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Q6bm90KC5kaXNhYmxlZCkgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0Om5vdCguZGlzYWJsZWQpLnNpbmdsZS5pbnB1dC1hY3RpdmUgLnRzLWNvbnRyb2wgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7CiAgd2lkdGg6IDElOwp9Ci5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyOm5vdCg6bnRoLWNoaWxkKDIpKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Cn0KLmlucHV0LWdyb3VwID4gLnRzLXdyYXBwZXI6bm90KDpsYXN0LWNoaWxkKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQovKiMgc291cmNlTWFwcGluZ1VSTD10b20tc2VsZWN0LmJvb3RzdHJhcDUuY3NzLm1hcCAqLw==", import.meta.url);
|
|
2507
|
+
var H, D, _, j, rt, jt;
|
|
2508
|
+
const vt = class vt extends HTMLElement {
|
|
2509
2509
|
constructor() {
|
|
2510
|
-
super();
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
K(this, U, {});
|
|
2517
|
-
H(this, $, document.createElement("select")), H(this, Q, this.attachShadow({ mode: "open" })), H(this, z, this.attachInternals());
|
|
2510
|
+
super(...arguments);
|
|
2511
|
+
S(this, rt);
|
|
2512
|
+
S(this, H);
|
|
2513
|
+
S(this, D);
|
|
2514
|
+
S(this, _);
|
|
2515
|
+
S(this, j, {});
|
|
2518
2516
|
}
|
|
2519
2517
|
connectedCallback() {
|
|
2520
|
-
this.hasAttribute("name") && (
|
|
2521
|
-
const
|
|
2522
|
-
|
|
2518
|
+
K(this, H, document.createElement("select")), K(this, D, this.attachShadow({ mode: "open" })), K(this, _, this.attachInternals()), this.hasAttribute("name") && (Y(this, H).name = this.getAttribute("name")), this.hasAttribute("multiple") && Y(this, H).setAttribute("multiple", "");
|
|
2519
|
+
const e = document.createElement("link");
|
|
2520
|
+
e.setAttribute("rel", "stylesheet"), e.setAttribute("href", zi.href), Y(this, D).appendChild(Y(this, H)), Y(this, D).appendChild(e);
|
|
2523
2521
|
try {
|
|
2524
|
-
|
|
2525
|
-
(
|
|
2526
|
-
).reduce((
|
|
2527
|
-
const o =
|
|
2528
|
-
return
|
|
2522
|
+
K(this, j, this.getAttributeNames().filter(
|
|
2523
|
+
(n) => n === "options" || n === "value-field" || n === "label-field" || n === "search-field" || n === "items" || n === "optgroup-field" || n === "optgroups"
|
|
2524
|
+
).reduce((n, s) => {
|
|
2525
|
+
const o = s.split("."), r = o.pop(), l = this.getAttribute(s), a = o.reduce((c, d) => (d in c || (c[d] = {}), c[d]), n);
|
|
2526
|
+
return a[$t(r)] = Pt(l), n;
|
|
2529
2527
|
}, {}));
|
|
2530
|
-
} catch (
|
|
2531
|
-
console.error("Invalid options JSON:",
|
|
2528
|
+
} catch (n) {
|
|
2529
|
+
console.error("Invalid options JSON:", n), K(this, j, {});
|
|
2532
2530
|
}
|
|
2533
|
-
this.tomSelect = new
|
|
2534
|
-
...
|
|
2531
|
+
this.tomSelect = new X(Y(this, H), {
|
|
2532
|
+
...Y(this, j),
|
|
2535
2533
|
plugins: ["remove_button", "clear_button"],
|
|
2536
2534
|
highlight: !0
|
|
2537
|
-
}),
|
|
2535
|
+
}), this.value = this.tomSelect.getValue(), Y(this, H).addEventListener("change", (n) => Ct(this, rt, jt).call(this, n)), this.dispatchEvent(new CustomEvent("upgrade"));
|
|
2538
2536
|
}
|
|
2539
2537
|
get value() {
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2538
|
+
let e = this.tomSelect.getValue();
|
|
2539
|
+
return Array.isArray(e) && (e = [...e]), e;
|
|
2540
|
+
}
|
|
2541
|
+
set value(e) {
|
|
2542
|
+
if (ki(this.value, e) || this.tomSelect.setValue(e, !0), Array.isArray(e)) {
|
|
2543
|
+
const n = new FormData();
|
|
2544
|
+
for (const s of e)
|
|
2545
|
+
n.append(Y(this, H).name, s);
|
|
2546
|
+
Y(this, _).setFormValue(n);
|
|
2547
|
+
} else
|
|
2548
|
+
Y(this, _).setFormValue(e);
|
|
2544
2549
|
}
|
|
2545
2550
|
};
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2551
|
+
H = new WeakMap(), D = new WeakMap(), _ = new WeakMap(), j = new WeakMap(), rt = new WeakSet(), jt = function(e) {
|
|
2552
|
+
this.value = Array.from(Y(this, H).selectedOptions).map((n) => n.value), this.dispatchEvent(new Event("change"));
|
|
2553
|
+
}, vt.formAssociated = !0;
|
|
2554
|
+
let ft = vt;
|
|
2555
|
+
function ki(i, t) {
|
|
2556
|
+
if (Array.isArray(i) !== Array.isArray(t)) return !1;
|
|
2557
|
+
if (Array.isArray(i)) {
|
|
2558
|
+
const e = new Set(t);
|
|
2559
|
+
return i.length === t.length && i.every((n) => e.has(n));
|
|
2560
|
+
}
|
|
2561
|
+
return i === t;
|
|
2562
|
+
}
|
|
2563
|
+
customElements.define("sleek-select", ft);
|