@ed.yakovich/example-component-library-equipment-summary 1.0.1
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/component/context/index.js +10 -0
- package/dist/component/index.js +6 -0
- package/dist/component/types/index.js +1 -0
- package/dist/index-0d8e0844-BJzWsYCM.js +7403 -0
- package/dist/index-DxRZ6prf.js +29198 -0
- package/dist/index-b30029d4-hGeLy_--.js +12 -0
- package/dist/index-e6818ded-r_t6ryaW.js +57 -0
- package/dist/index.esm-322571ff-D1REhsOg.js +41 -0
- package/dist/lib/component/context/index.d.ts +10 -0
- package/dist/lib/component/index.d.ts +2 -0
- package/dist/lib/component/types/index.d.ts +14 -0
- package/dist/lib/main.d.ts +3 -0
- package/dist/main.js +6 -0
- package/dist/prism-accordion.entry-BxELizsS.js +51 -0
- package/dist/prism-avatar_2.entry-DNiQeemV.js +68 -0
- package/dist/prism-badge.entry-BZ3qPCmg.js +58 -0
- package/dist/prism-banner.entry-CQFUsFct.js +82 -0
- package/dist/prism-breadcrumb.entry-D3f9eccN.js +33 -0
- package/dist/prism-button_2.entry-BeBH5mn0.js +110 -0
- package/dist/prism-card.entry-BtruBogB.js +119 -0
- package/dist/prism-carousel.entry-DGsHMWMm.js +3111 -0
- package/dist/prism-checkbox-group.entry-8qXingIs.js +62 -0
- package/dist/prism-checkbox.entry-BgBJyUsA.js +99 -0
- package/dist/prism-data-table.entry-BqDb3MTy.js +10475 -0
- package/dist/prism-datepicker.entry-D_TgrYQo.js +249 -0
- package/dist/prism-form.entry-DtZpPyt1.js +42 -0
- package/dist/prism-grid.entry-B09w_u17.js +28 -0
- package/dist/prism-header.entry-Dg1LLjAa.js +202 -0
- package/dist/prism-hero.entry-CxCl08Ny.js +23 -0
- package/dist/prism-icon_2.entry-C9c3WUVv.js +118 -0
- package/dist/prism-image.entry-LtD_rMcm.js +38 -0
- package/dist/prism-input-file.entry-wHvgU7qk.js +119 -0
- package/dist/prism-input-otp.entry-DslD9N9q.js +63 -0
- package/dist/prism-input-text.entry-DXD4hb3c.js +228 -0
- package/dist/prism-input-textarea.entry-BKa_ksFS.js +140 -0
- package/dist/prism-layout.entry-DCsBmhx4.js +20 -0
- package/dist/prism-lineitem.entry-BM1G7KrG.js +44 -0
- package/dist/prism-menu.entry-BOHwsSEF.js +231 -0
- package/dist/prism-modal.entry-lNtEVneh.js +94 -0
- package/dist/prism-pagination.entry-CquOlgO0.js +60 -0
- package/dist/prism-popover.entry-46M1LmDp.js +1013 -0
- package/dist/prism-popper.entry-Dva30zBQ.js +959 -0
- package/dist/prism-progress.entry-DMMVFWhO.js +79 -0
- package/dist/prism-radio-group.entry-CMbyeNEC.js +66 -0
- package/dist/prism-radio.entry-8eXYAxvv.js +101 -0
- package/dist/prism-select.entry-u6Q0TwuA.js +230 -0
- package/dist/prism-switch.entry-B0Fg-f-f.js +95 -0
- package/dist/prism-tab.entry-Cb1TgCNq.js +20 -0
- package/dist/prism-tabs.entry-C8aDT5py.js +70 -0
- package/dist/prism-tooltip.entry-BRIs8zP0.js +52 -0
- package/dist/prism-typeahead.entry-DPz5X3J9.js +1234 -0
- package/package.json +49 -0
|
@@ -0,0 +1,1234 @@
|
|
|
1
|
+
import { r as pe, c as Q, h as p, F as X, H as fe, g as me } from "./index-DxRZ6prf.js";
|
|
2
|
+
import { r as J } from "./index.esm-322571ff-D1REhsOg.js";
|
|
3
|
+
import { g as ge, r as ye, m as be } from "./index-e6818ded-r_t6ryaW.js";
|
|
4
|
+
/*!
|
|
5
|
+
* Copyright (c) 2025 Comcast. Prism UI - v7.32.2 - made with ❤️ in Philadelphia
|
|
6
|
+
*/
|
|
7
|
+
function E(s) {
|
|
8
|
+
return Array.isArray ? Array.isArray(s) : ae(s) === "[object Array]";
|
|
9
|
+
}
|
|
10
|
+
const ve = 1 / 0;
|
|
11
|
+
function xe(s) {
|
|
12
|
+
if (typeof s == "string")
|
|
13
|
+
return s;
|
|
14
|
+
let e = s + "";
|
|
15
|
+
return e == "0" && 1 / s == -ve ? "-0" : e;
|
|
16
|
+
}
|
|
17
|
+
function we(s) {
|
|
18
|
+
return s == null ? "" : xe(s);
|
|
19
|
+
}
|
|
20
|
+
function M(s) {
|
|
21
|
+
return typeof s == "string";
|
|
22
|
+
}
|
|
23
|
+
function ie(s) {
|
|
24
|
+
return typeof s == "number";
|
|
25
|
+
}
|
|
26
|
+
function ke(s) {
|
|
27
|
+
return s === !0 || s === !1 || Me(s) && ae(s) == "[object Boolean]";
|
|
28
|
+
}
|
|
29
|
+
function re(s) {
|
|
30
|
+
return typeof s == "object";
|
|
31
|
+
}
|
|
32
|
+
function Me(s) {
|
|
33
|
+
return re(s) && s !== null;
|
|
34
|
+
}
|
|
35
|
+
function x(s) {
|
|
36
|
+
return s != null;
|
|
37
|
+
}
|
|
38
|
+
function D(s) {
|
|
39
|
+
return !s.trim().length;
|
|
40
|
+
}
|
|
41
|
+
function ae(s) {
|
|
42
|
+
return s == null ? s === void 0 ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(s);
|
|
43
|
+
}
|
|
44
|
+
const Ee = "Incorrect 'index' type", _e = (s) => `Invalid value for key ${s}`, Ie = (s) => `Pattern length exceeds max of ${s}.`, Se = (s) => `Missing ${s} property in key`, Le = (s) => `Property 'weight' in key '${s}' must be a positive integer`, Z = Object.prototype.hasOwnProperty;
|
|
45
|
+
class Ae {
|
|
46
|
+
constructor(e) {
|
|
47
|
+
this._keys = [], this._keyMap = {};
|
|
48
|
+
let t = 0;
|
|
49
|
+
e.forEach((i) => {
|
|
50
|
+
let r = ne(i);
|
|
51
|
+
t += r.weight, this._keys.push(r), this._keyMap[r.id] = r, t += r.weight;
|
|
52
|
+
}), this._keys.forEach((i) => {
|
|
53
|
+
i.weight /= t;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
get(e) {
|
|
57
|
+
return this._keyMap[e];
|
|
58
|
+
}
|
|
59
|
+
keys() {
|
|
60
|
+
return this._keys;
|
|
61
|
+
}
|
|
62
|
+
toJSON() {
|
|
63
|
+
return JSON.stringify(this._keys);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function ne(s) {
|
|
67
|
+
let e = null, t = null, i = null, r = 1, a = null;
|
|
68
|
+
if (M(s) || E(s))
|
|
69
|
+
i = s, e = q(s), t = j(s);
|
|
70
|
+
else {
|
|
71
|
+
if (!Z.call(s, "name"))
|
|
72
|
+
throw new Error(Se("name"));
|
|
73
|
+
const n = s.name;
|
|
74
|
+
if (i = n, Z.call(s, "weight") && (r = s.weight, r <= 0))
|
|
75
|
+
throw new Error(Le(n));
|
|
76
|
+
e = q(n), t = j(n), a = s.getFn;
|
|
77
|
+
}
|
|
78
|
+
return { path: e, id: t, weight: r, src: i, getFn: a };
|
|
79
|
+
}
|
|
80
|
+
function q(s) {
|
|
81
|
+
return E(s) ? s : s.split(".");
|
|
82
|
+
}
|
|
83
|
+
function j(s) {
|
|
84
|
+
return E(s) ? s.join(".") : s;
|
|
85
|
+
}
|
|
86
|
+
function Re(s, e) {
|
|
87
|
+
let t = [], i = !1;
|
|
88
|
+
const r = (a, n, o) => {
|
|
89
|
+
if (x(a))
|
|
90
|
+
if (!n[o])
|
|
91
|
+
t.push(a);
|
|
92
|
+
else {
|
|
93
|
+
let l = n[o];
|
|
94
|
+
const c = a[l];
|
|
95
|
+
if (!x(c))
|
|
96
|
+
return;
|
|
97
|
+
if (o === n.length - 1 && (M(c) || ie(c) || ke(c)))
|
|
98
|
+
t.push(we(c));
|
|
99
|
+
else if (E(c)) {
|
|
100
|
+
i = !0;
|
|
101
|
+
for (let h = 0, d = c.length; h < d; h += 1)
|
|
102
|
+
r(c[h], n, o + 1);
|
|
103
|
+
} else n.length && r(c, n, o + 1);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
return r(s, M(e) ? e.split(".") : e, 0), i ? t : t[0];
|
|
107
|
+
}
|
|
108
|
+
const Oe = {
|
|
109
|
+
// Whether the matches should be included in the result set. When `true`, each record in the result
|
|
110
|
+
// set will include the indices of the matched characters.
|
|
111
|
+
// These can consequently be used for highlighting purposes.
|
|
112
|
+
includeMatches: !1,
|
|
113
|
+
// When `true`, the matching function will continue to the end of a search pattern even if
|
|
114
|
+
// a perfect match has already been located in the string.
|
|
115
|
+
findAllMatches: !1,
|
|
116
|
+
// Minimum number of characters that must be matched before a result is considered a match
|
|
117
|
+
minMatchCharLength: 1
|
|
118
|
+
}, Ce = {
|
|
119
|
+
// When `true`, the algorithm continues searching to the end of the input even if a perfect
|
|
120
|
+
// match is found before the end of the same input.
|
|
121
|
+
isCaseSensitive: !1,
|
|
122
|
+
// When true, the matching function will continue to the end of a search pattern even if
|
|
123
|
+
includeScore: !1,
|
|
124
|
+
// List of properties that will be searched. This also supports nested properties.
|
|
125
|
+
keys: [],
|
|
126
|
+
// Whether to sort the result list, by score
|
|
127
|
+
shouldSort: !0,
|
|
128
|
+
// Default sort function: sort by ascending score, ascending index
|
|
129
|
+
sortFn: (s, e) => s.score === e.score ? s.idx < e.idx ? -1 : 1 : s.score < e.score ? -1 : 1
|
|
130
|
+
}, Ve = {
|
|
131
|
+
// Approximately where in the text is the pattern expected to be found?
|
|
132
|
+
location: 0,
|
|
133
|
+
// At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match
|
|
134
|
+
// (of both letters and location), a threshold of '1.0' would match anything.
|
|
135
|
+
threshold: 0.6,
|
|
136
|
+
// Determines how close the match must be to the fuzzy location (specified above).
|
|
137
|
+
// An exact letter match which is 'distance' characters away from the fuzzy location
|
|
138
|
+
// would score as a complete mismatch. A distance of '0' requires the match be at
|
|
139
|
+
// the exact location specified, a threshold of '1000' would require a perfect match
|
|
140
|
+
// to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
|
|
141
|
+
distance: 100
|
|
142
|
+
}, $e = {
|
|
143
|
+
// When `true`, it enables the use of unix-like search commands
|
|
144
|
+
useExtendedSearch: !1,
|
|
145
|
+
// The get function to use when fetching an object's properties.
|
|
146
|
+
// The default will search nested paths *ie foo.bar.baz*
|
|
147
|
+
getFn: Re,
|
|
148
|
+
// When `true`, search will ignore `location` and `distance`, so it won't matter
|
|
149
|
+
// where in the string the pattern appears.
|
|
150
|
+
// More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score
|
|
151
|
+
ignoreLocation: !1,
|
|
152
|
+
// When `true`, the calculation for the relevance score (used for sorting) will
|
|
153
|
+
// ignore the field-length norm.
|
|
154
|
+
// More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm
|
|
155
|
+
ignoreFieldNorm: !1,
|
|
156
|
+
// The weight to determine how much field length norm effects scoring.
|
|
157
|
+
fieldNormWeight: 1
|
|
158
|
+
};
|
|
159
|
+
var u = {
|
|
160
|
+
...Ce,
|
|
161
|
+
...Oe,
|
|
162
|
+
...Ve,
|
|
163
|
+
...$e
|
|
164
|
+
};
|
|
165
|
+
const Fe = /[^ ]+/g;
|
|
166
|
+
function Ne(s = 1, e = 3) {
|
|
167
|
+
const t = /* @__PURE__ */ new Map(), i = Math.pow(10, e);
|
|
168
|
+
return {
|
|
169
|
+
get(r) {
|
|
170
|
+
const a = r.match(Fe).length;
|
|
171
|
+
if (t.has(a))
|
|
172
|
+
return t.get(a);
|
|
173
|
+
const n = 1 / Math.pow(a, 0.5 * s), o = parseFloat(Math.round(n * i) / i);
|
|
174
|
+
return t.set(a, o), o;
|
|
175
|
+
},
|
|
176
|
+
clear() {
|
|
177
|
+
t.clear();
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
class U {
|
|
182
|
+
constructor({
|
|
183
|
+
getFn: e = u.getFn,
|
|
184
|
+
fieldNormWeight: t = u.fieldNormWeight
|
|
185
|
+
} = {}) {
|
|
186
|
+
this.norm = Ne(t, 3), this.getFn = e, this.isCreated = !1, this.setIndexRecords();
|
|
187
|
+
}
|
|
188
|
+
setSources(e = []) {
|
|
189
|
+
this.docs = e;
|
|
190
|
+
}
|
|
191
|
+
setIndexRecords(e = []) {
|
|
192
|
+
this.records = e;
|
|
193
|
+
}
|
|
194
|
+
setKeys(e = []) {
|
|
195
|
+
this.keys = e, this._keysMap = {}, e.forEach((t, i) => {
|
|
196
|
+
this._keysMap[t.id] = i;
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
create() {
|
|
200
|
+
this.isCreated || !this.docs.length || (this.isCreated = !0, M(this.docs[0]) ? this.docs.forEach((e, t) => {
|
|
201
|
+
this._addString(e, t);
|
|
202
|
+
}) : this.docs.forEach((e, t) => {
|
|
203
|
+
this._addObject(e, t);
|
|
204
|
+
}), this.norm.clear());
|
|
205
|
+
}
|
|
206
|
+
// Adds a doc to the end of the index
|
|
207
|
+
add(e) {
|
|
208
|
+
const t = this.size();
|
|
209
|
+
M(e) ? this._addString(e, t) : this._addObject(e, t);
|
|
210
|
+
}
|
|
211
|
+
// Removes the doc at the specified index of the index
|
|
212
|
+
removeAt(e) {
|
|
213
|
+
this.records.splice(e, 1);
|
|
214
|
+
for (let t = e, i = this.size(); t < i; t += 1)
|
|
215
|
+
this.records[t].i -= 1;
|
|
216
|
+
}
|
|
217
|
+
getValueForItemAtKeyId(e, t) {
|
|
218
|
+
return e[this._keysMap[t]];
|
|
219
|
+
}
|
|
220
|
+
size() {
|
|
221
|
+
return this.records.length;
|
|
222
|
+
}
|
|
223
|
+
_addString(e, t) {
|
|
224
|
+
if (!x(e) || D(e))
|
|
225
|
+
return;
|
|
226
|
+
let i = {
|
|
227
|
+
v: e,
|
|
228
|
+
i: t,
|
|
229
|
+
n: this.norm.get(e)
|
|
230
|
+
};
|
|
231
|
+
this.records.push(i);
|
|
232
|
+
}
|
|
233
|
+
_addObject(e, t) {
|
|
234
|
+
let i = { i: t, $: {} };
|
|
235
|
+
this.keys.forEach((r, a) => {
|
|
236
|
+
let n = r.getFn ? r.getFn(e) : this.getFn(e, r.path);
|
|
237
|
+
if (x(n)) {
|
|
238
|
+
if (E(n)) {
|
|
239
|
+
let o = [];
|
|
240
|
+
const l = [{ nestedArrIndex: -1, value: n }];
|
|
241
|
+
for (; l.length; ) {
|
|
242
|
+
const { nestedArrIndex: c, value: h } = l.pop();
|
|
243
|
+
if (x(h))
|
|
244
|
+
if (M(h) && !D(h)) {
|
|
245
|
+
let d = {
|
|
246
|
+
v: h,
|
|
247
|
+
i: c,
|
|
248
|
+
n: this.norm.get(h)
|
|
249
|
+
};
|
|
250
|
+
o.push(d);
|
|
251
|
+
} else E(h) && h.forEach((d, f) => {
|
|
252
|
+
l.push({
|
|
253
|
+
nestedArrIndex: f,
|
|
254
|
+
value: d
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
i.$[a] = o;
|
|
259
|
+
} else if (M(n) && !D(n)) {
|
|
260
|
+
let o = {
|
|
261
|
+
v: n,
|
|
262
|
+
n: this.norm.get(n)
|
|
263
|
+
};
|
|
264
|
+
i.$[a] = o;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}), this.records.push(i);
|
|
268
|
+
}
|
|
269
|
+
toJSON() {
|
|
270
|
+
return {
|
|
271
|
+
keys: this.keys,
|
|
272
|
+
records: this.records
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
function oe(s, e, { getFn: t = u.getFn, fieldNormWeight: i = u.fieldNormWeight } = {}) {
|
|
277
|
+
const r = new U({ getFn: t, fieldNormWeight: i });
|
|
278
|
+
return r.setKeys(s.map(ne)), r.setSources(e), r.create(), r;
|
|
279
|
+
}
|
|
280
|
+
function Pe(s, { getFn: e = u.getFn, fieldNormWeight: t = u.fieldNormWeight } = {}) {
|
|
281
|
+
const { keys: i, records: r } = s, a = new U({ getFn: e, fieldNormWeight: t });
|
|
282
|
+
return a.setKeys(i), a.setIndexRecords(r), a;
|
|
283
|
+
}
|
|
284
|
+
function F(s, {
|
|
285
|
+
errors: e = 0,
|
|
286
|
+
currentLocation: t = 0,
|
|
287
|
+
expectedLocation: i = 0,
|
|
288
|
+
distance: r = u.distance,
|
|
289
|
+
ignoreLocation: a = u.ignoreLocation
|
|
290
|
+
} = {}) {
|
|
291
|
+
const n = e / s.length;
|
|
292
|
+
if (a)
|
|
293
|
+
return n;
|
|
294
|
+
const o = Math.abs(i - t);
|
|
295
|
+
return r ? n + o / r : o ? 1 : n;
|
|
296
|
+
}
|
|
297
|
+
function Te(s = [], e = u.minMatchCharLength) {
|
|
298
|
+
let t = [], i = -1, r = -1, a = 0;
|
|
299
|
+
for (let n = s.length; a < n; a += 1) {
|
|
300
|
+
let o = s[a];
|
|
301
|
+
o && i === -1 ? i = a : !o && i !== -1 && (r = a - 1, r - i + 1 >= e && t.push([i, r]), i = -1);
|
|
302
|
+
}
|
|
303
|
+
return s[a - 1] && a - i >= e && t.push([i, a - 1]), t;
|
|
304
|
+
}
|
|
305
|
+
const A = 32;
|
|
306
|
+
function De(s, e, t, {
|
|
307
|
+
location: i = u.location,
|
|
308
|
+
distance: r = u.distance,
|
|
309
|
+
threshold: a = u.threshold,
|
|
310
|
+
findAllMatches: n = u.findAllMatches,
|
|
311
|
+
minMatchCharLength: o = u.minMatchCharLength,
|
|
312
|
+
includeMatches: l = u.includeMatches,
|
|
313
|
+
ignoreLocation: c = u.ignoreLocation
|
|
314
|
+
} = {}) {
|
|
315
|
+
if (e.length > A)
|
|
316
|
+
throw new Error(Ie(A));
|
|
317
|
+
const h = e.length, d = s.length, f = Math.max(0, Math.min(i, d));
|
|
318
|
+
let m = a, g = f;
|
|
319
|
+
const y = o > 1 || l, b = y ? Array(d) : [];
|
|
320
|
+
let v;
|
|
321
|
+
for (; (v = s.indexOf(e, g)) > -1; ) {
|
|
322
|
+
let w = F(e, {
|
|
323
|
+
currentLocation: v,
|
|
324
|
+
expectedLocation: f,
|
|
325
|
+
distance: r,
|
|
326
|
+
ignoreLocation: c
|
|
327
|
+
});
|
|
328
|
+
if (m = Math.min(w, m), g = v + h, y) {
|
|
329
|
+
let _ = 0;
|
|
330
|
+
for (; _ < h; )
|
|
331
|
+
b[v + _] = 1, _ += 1;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
g = -1;
|
|
335
|
+
let R = [], L = 1, V = h + d;
|
|
336
|
+
const ue = 1 << h - 1;
|
|
337
|
+
for (let w = 0; w < h; w += 1) {
|
|
338
|
+
let _ = 0, I = V;
|
|
339
|
+
for (; _ < I; )
|
|
340
|
+
F(e, {
|
|
341
|
+
errors: w,
|
|
342
|
+
currentLocation: f + I,
|
|
343
|
+
expectedLocation: f,
|
|
344
|
+
distance: r,
|
|
345
|
+
ignoreLocation: c
|
|
346
|
+
}) <= m ? _ = I : V = I, I = Math.floor((V - _) / 2 + _);
|
|
347
|
+
V = I;
|
|
348
|
+
let G = Math.max(1, f - I + 1), T = n ? d : Math.min(f + I, d) + h, O = Array(T + 2);
|
|
349
|
+
O[T + 1] = (1 << w) - 1;
|
|
350
|
+
for (let k = T; k >= G; k -= 1) {
|
|
351
|
+
let $ = k - 1, Y = t[s.charAt($)];
|
|
352
|
+
if (y && (b[$] = +!!Y), O[k] = (O[k + 1] << 1 | 1) & Y, w && (O[k] |= (R[k + 1] | R[k]) << 1 | 1 | R[k + 1]), O[k] & ue && (L = F(e, {
|
|
353
|
+
errors: w,
|
|
354
|
+
currentLocation: $,
|
|
355
|
+
expectedLocation: f,
|
|
356
|
+
distance: r,
|
|
357
|
+
ignoreLocation: c
|
|
358
|
+
}), L <= m)) {
|
|
359
|
+
if (m = L, g = $, g <= f)
|
|
360
|
+
break;
|
|
361
|
+
G = Math.max(1, 2 * f - g);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
if (F(e, {
|
|
365
|
+
errors: w + 1,
|
|
366
|
+
currentLocation: f,
|
|
367
|
+
expectedLocation: f,
|
|
368
|
+
distance: r,
|
|
369
|
+
ignoreLocation: c
|
|
370
|
+
}) > m)
|
|
371
|
+
break;
|
|
372
|
+
R = O;
|
|
373
|
+
}
|
|
374
|
+
const P = {
|
|
375
|
+
isMatch: g >= 0,
|
|
376
|
+
// Count exact matches (those with a score of 0) to be "almost" exact
|
|
377
|
+
score: Math.max(1e-3, L)
|
|
378
|
+
};
|
|
379
|
+
if (y) {
|
|
380
|
+
const w = Te(b, o);
|
|
381
|
+
w.length ? l && (P.indices = w) : P.isMatch = !1;
|
|
382
|
+
}
|
|
383
|
+
return P;
|
|
384
|
+
}
|
|
385
|
+
function je(s) {
|
|
386
|
+
let e = {};
|
|
387
|
+
for (let t = 0, i = s.length; t < i; t += 1) {
|
|
388
|
+
const r = s.charAt(t);
|
|
389
|
+
e[r] = (e[r] || 0) | 1 << i - t - 1;
|
|
390
|
+
}
|
|
391
|
+
return e;
|
|
392
|
+
}
|
|
393
|
+
class le {
|
|
394
|
+
constructor(e, {
|
|
395
|
+
location: t = u.location,
|
|
396
|
+
threshold: i = u.threshold,
|
|
397
|
+
distance: r = u.distance,
|
|
398
|
+
includeMatches: a = u.includeMatches,
|
|
399
|
+
findAllMatches: n = u.findAllMatches,
|
|
400
|
+
minMatchCharLength: o = u.minMatchCharLength,
|
|
401
|
+
isCaseSensitive: l = u.isCaseSensitive,
|
|
402
|
+
ignoreLocation: c = u.ignoreLocation
|
|
403
|
+
} = {}) {
|
|
404
|
+
if (this.options = {
|
|
405
|
+
location: t,
|
|
406
|
+
threshold: i,
|
|
407
|
+
distance: r,
|
|
408
|
+
includeMatches: a,
|
|
409
|
+
findAllMatches: n,
|
|
410
|
+
minMatchCharLength: o,
|
|
411
|
+
isCaseSensitive: l,
|
|
412
|
+
ignoreLocation: c
|
|
413
|
+
}, this.pattern = l ? e : e.toLowerCase(), this.chunks = [], !this.pattern.length)
|
|
414
|
+
return;
|
|
415
|
+
const h = (f, m) => {
|
|
416
|
+
this.chunks.push({
|
|
417
|
+
pattern: f,
|
|
418
|
+
alphabet: je(f),
|
|
419
|
+
startIndex: m
|
|
420
|
+
});
|
|
421
|
+
}, d = this.pattern.length;
|
|
422
|
+
if (d > A) {
|
|
423
|
+
let f = 0;
|
|
424
|
+
const m = d % A, g = d - m;
|
|
425
|
+
for (; f < g; )
|
|
426
|
+
h(this.pattern.substr(f, A), f), f += A;
|
|
427
|
+
if (m) {
|
|
428
|
+
const y = d - A;
|
|
429
|
+
h(this.pattern.substr(y), y);
|
|
430
|
+
}
|
|
431
|
+
} else
|
|
432
|
+
h(this.pattern, 0);
|
|
433
|
+
}
|
|
434
|
+
searchIn(e) {
|
|
435
|
+
const { isCaseSensitive: t, includeMatches: i } = this.options;
|
|
436
|
+
if (t || (e = e.toLowerCase()), this.pattern === e) {
|
|
437
|
+
let g = {
|
|
438
|
+
isMatch: !0,
|
|
439
|
+
score: 0
|
|
440
|
+
};
|
|
441
|
+
return i && (g.indices = [[0, e.length - 1]]), g;
|
|
442
|
+
}
|
|
443
|
+
const {
|
|
444
|
+
location: r,
|
|
445
|
+
distance: a,
|
|
446
|
+
threshold: n,
|
|
447
|
+
findAllMatches: o,
|
|
448
|
+
minMatchCharLength: l,
|
|
449
|
+
ignoreLocation: c
|
|
450
|
+
} = this.options;
|
|
451
|
+
let h = [], d = 0, f = !1;
|
|
452
|
+
this.chunks.forEach(({ pattern: g, alphabet: y, startIndex: b }) => {
|
|
453
|
+
const { isMatch: v, score: R, indices: L } = De(e, g, y, {
|
|
454
|
+
location: r + b,
|
|
455
|
+
distance: a,
|
|
456
|
+
threshold: n,
|
|
457
|
+
findAllMatches: o,
|
|
458
|
+
minMatchCharLength: l,
|
|
459
|
+
includeMatches: i,
|
|
460
|
+
ignoreLocation: c
|
|
461
|
+
});
|
|
462
|
+
v && (f = !0), d += R, v && L && (h = [...h, ...L]);
|
|
463
|
+
});
|
|
464
|
+
let m = {
|
|
465
|
+
isMatch: f,
|
|
466
|
+
score: f ? d / this.chunks.length : 1
|
|
467
|
+
};
|
|
468
|
+
return f && i && (m.indices = h), m;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
class S {
|
|
472
|
+
constructor(e) {
|
|
473
|
+
this.pattern = e;
|
|
474
|
+
}
|
|
475
|
+
static isMultiMatch(e) {
|
|
476
|
+
return ee(e, this.multiRegex);
|
|
477
|
+
}
|
|
478
|
+
static isSingleMatch(e) {
|
|
479
|
+
return ee(e, this.singleRegex);
|
|
480
|
+
}
|
|
481
|
+
search() {
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
function ee(s, e) {
|
|
485
|
+
const t = s.match(e);
|
|
486
|
+
return t ? t[1] : null;
|
|
487
|
+
}
|
|
488
|
+
class ze extends S {
|
|
489
|
+
constructor(e) {
|
|
490
|
+
super(e);
|
|
491
|
+
}
|
|
492
|
+
static get type() {
|
|
493
|
+
return "exact";
|
|
494
|
+
}
|
|
495
|
+
static get multiRegex() {
|
|
496
|
+
return /^="(.*)"$/;
|
|
497
|
+
}
|
|
498
|
+
static get singleRegex() {
|
|
499
|
+
return /^=(.*)$/;
|
|
500
|
+
}
|
|
501
|
+
search(e) {
|
|
502
|
+
const t = e === this.pattern;
|
|
503
|
+
return {
|
|
504
|
+
isMatch: t,
|
|
505
|
+
score: t ? 0 : 1,
|
|
506
|
+
indices: [0, this.pattern.length - 1]
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
class He extends S {
|
|
511
|
+
constructor(e) {
|
|
512
|
+
super(e);
|
|
513
|
+
}
|
|
514
|
+
static get type() {
|
|
515
|
+
return "inverse-exact";
|
|
516
|
+
}
|
|
517
|
+
static get multiRegex() {
|
|
518
|
+
return /^!"(.*)"$/;
|
|
519
|
+
}
|
|
520
|
+
static get singleRegex() {
|
|
521
|
+
return /^!(.*)$/;
|
|
522
|
+
}
|
|
523
|
+
search(e) {
|
|
524
|
+
const i = e.indexOf(this.pattern) === -1;
|
|
525
|
+
return {
|
|
526
|
+
isMatch: i,
|
|
527
|
+
score: i ? 0 : 1,
|
|
528
|
+
indices: [0, e.length - 1]
|
|
529
|
+
};
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
class Ke extends S {
|
|
533
|
+
constructor(e) {
|
|
534
|
+
super(e);
|
|
535
|
+
}
|
|
536
|
+
static get type() {
|
|
537
|
+
return "prefix-exact";
|
|
538
|
+
}
|
|
539
|
+
static get multiRegex() {
|
|
540
|
+
return /^\^"(.*)"$/;
|
|
541
|
+
}
|
|
542
|
+
static get singleRegex() {
|
|
543
|
+
return /^\^(.*)$/;
|
|
544
|
+
}
|
|
545
|
+
search(e) {
|
|
546
|
+
const t = e.startsWith(this.pattern);
|
|
547
|
+
return {
|
|
548
|
+
isMatch: t,
|
|
549
|
+
score: t ? 0 : 1,
|
|
550
|
+
indices: [0, this.pattern.length - 1]
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
class We extends S {
|
|
555
|
+
constructor(e) {
|
|
556
|
+
super(e);
|
|
557
|
+
}
|
|
558
|
+
static get type() {
|
|
559
|
+
return "inverse-prefix-exact";
|
|
560
|
+
}
|
|
561
|
+
static get multiRegex() {
|
|
562
|
+
return /^!\^"(.*)"$/;
|
|
563
|
+
}
|
|
564
|
+
static get singleRegex() {
|
|
565
|
+
return /^!\^(.*)$/;
|
|
566
|
+
}
|
|
567
|
+
search(e) {
|
|
568
|
+
const t = !e.startsWith(this.pattern);
|
|
569
|
+
return {
|
|
570
|
+
isMatch: t,
|
|
571
|
+
score: t ? 0 : 1,
|
|
572
|
+
indices: [0, e.length - 1]
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
class Be extends S {
|
|
577
|
+
constructor(e) {
|
|
578
|
+
super(e);
|
|
579
|
+
}
|
|
580
|
+
static get type() {
|
|
581
|
+
return "suffix-exact";
|
|
582
|
+
}
|
|
583
|
+
static get multiRegex() {
|
|
584
|
+
return /^"(.*)"\$$/;
|
|
585
|
+
}
|
|
586
|
+
static get singleRegex() {
|
|
587
|
+
return /^(.*)\$$/;
|
|
588
|
+
}
|
|
589
|
+
search(e) {
|
|
590
|
+
const t = e.endsWith(this.pattern);
|
|
591
|
+
return {
|
|
592
|
+
isMatch: t,
|
|
593
|
+
score: t ? 0 : 1,
|
|
594
|
+
indices: [e.length - this.pattern.length, e.length - 1]
|
|
595
|
+
};
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
class Ue extends S {
|
|
599
|
+
constructor(e) {
|
|
600
|
+
super(e);
|
|
601
|
+
}
|
|
602
|
+
static get type() {
|
|
603
|
+
return "inverse-suffix-exact";
|
|
604
|
+
}
|
|
605
|
+
static get multiRegex() {
|
|
606
|
+
return /^!"(.*)"\$$/;
|
|
607
|
+
}
|
|
608
|
+
static get singleRegex() {
|
|
609
|
+
return /^!(.*)\$$/;
|
|
610
|
+
}
|
|
611
|
+
search(e) {
|
|
612
|
+
const t = !e.endsWith(this.pattern);
|
|
613
|
+
return {
|
|
614
|
+
isMatch: t,
|
|
615
|
+
score: t ? 0 : 1,
|
|
616
|
+
indices: [0, e.length - 1]
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
class ce extends S {
|
|
621
|
+
constructor(e, {
|
|
622
|
+
location: t = u.location,
|
|
623
|
+
threshold: i = u.threshold,
|
|
624
|
+
distance: r = u.distance,
|
|
625
|
+
includeMatches: a = u.includeMatches,
|
|
626
|
+
findAllMatches: n = u.findAllMatches,
|
|
627
|
+
minMatchCharLength: o = u.minMatchCharLength,
|
|
628
|
+
isCaseSensitive: l = u.isCaseSensitive,
|
|
629
|
+
ignoreLocation: c = u.ignoreLocation
|
|
630
|
+
} = {}) {
|
|
631
|
+
super(e), this._bitapSearch = new le(e, {
|
|
632
|
+
location: t,
|
|
633
|
+
threshold: i,
|
|
634
|
+
distance: r,
|
|
635
|
+
includeMatches: a,
|
|
636
|
+
findAllMatches: n,
|
|
637
|
+
minMatchCharLength: o,
|
|
638
|
+
isCaseSensitive: l,
|
|
639
|
+
ignoreLocation: c
|
|
640
|
+
});
|
|
641
|
+
}
|
|
642
|
+
static get type() {
|
|
643
|
+
return "fuzzy";
|
|
644
|
+
}
|
|
645
|
+
static get multiRegex() {
|
|
646
|
+
return /^"(.*)"$/;
|
|
647
|
+
}
|
|
648
|
+
static get singleRegex() {
|
|
649
|
+
return /^(.*)$/;
|
|
650
|
+
}
|
|
651
|
+
search(e) {
|
|
652
|
+
return this._bitapSearch.searchIn(e);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
class he extends S {
|
|
656
|
+
constructor(e) {
|
|
657
|
+
super(e);
|
|
658
|
+
}
|
|
659
|
+
static get type() {
|
|
660
|
+
return "include";
|
|
661
|
+
}
|
|
662
|
+
static get multiRegex() {
|
|
663
|
+
return /^'"(.*)"$/;
|
|
664
|
+
}
|
|
665
|
+
static get singleRegex() {
|
|
666
|
+
return /^'(.*)$/;
|
|
667
|
+
}
|
|
668
|
+
search(e) {
|
|
669
|
+
let t = 0, i;
|
|
670
|
+
const r = [], a = this.pattern.length;
|
|
671
|
+
for (; (i = e.indexOf(this.pattern, t)) > -1; )
|
|
672
|
+
t = i + a, r.push([i, t - 1]);
|
|
673
|
+
const n = !!r.length;
|
|
674
|
+
return {
|
|
675
|
+
isMatch: n,
|
|
676
|
+
score: n ? 0 : 1,
|
|
677
|
+
indices: r
|
|
678
|
+
};
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
const z = [
|
|
682
|
+
ze,
|
|
683
|
+
he,
|
|
684
|
+
Ke,
|
|
685
|
+
We,
|
|
686
|
+
Ue,
|
|
687
|
+
Be,
|
|
688
|
+
He,
|
|
689
|
+
ce
|
|
690
|
+
], te = z.length, Ge = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/, Ye = "|";
|
|
691
|
+
function Qe(s, e = {}) {
|
|
692
|
+
return s.split(Ye).map((t) => {
|
|
693
|
+
let i = t.trim().split(Ge).filter((a) => a && !!a.trim()), r = [];
|
|
694
|
+
for (let a = 0, n = i.length; a < n; a += 1) {
|
|
695
|
+
const o = i[a];
|
|
696
|
+
let l = !1, c = -1;
|
|
697
|
+
for (; !l && ++c < te; ) {
|
|
698
|
+
const h = z[c];
|
|
699
|
+
let d = h.isMultiMatch(o);
|
|
700
|
+
d && (r.push(new h(d, e)), l = !0);
|
|
701
|
+
}
|
|
702
|
+
if (!l)
|
|
703
|
+
for (c = -1; ++c < te; ) {
|
|
704
|
+
const h = z[c];
|
|
705
|
+
let d = h.isSingleMatch(o);
|
|
706
|
+
if (d) {
|
|
707
|
+
r.push(new h(d, e));
|
|
708
|
+
break;
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
return r;
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
const Xe = /* @__PURE__ */ new Set([ce.type, he.type]);
|
|
716
|
+
class Je {
|
|
717
|
+
constructor(e, {
|
|
718
|
+
isCaseSensitive: t = u.isCaseSensitive,
|
|
719
|
+
includeMatches: i = u.includeMatches,
|
|
720
|
+
minMatchCharLength: r = u.minMatchCharLength,
|
|
721
|
+
ignoreLocation: a = u.ignoreLocation,
|
|
722
|
+
findAllMatches: n = u.findAllMatches,
|
|
723
|
+
location: o = u.location,
|
|
724
|
+
threshold: l = u.threshold,
|
|
725
|
+
distance: c = u.distance
|
|
726
|
+
} = {}) {
|
|
727
|
+
this.query = null, this.options = {
|
|
728
|
+
isCaseSensitive: t,
|
|
729
|
+
includeMatches: i,
|
|
730
|
+
minMatchCharLength: r,
|
|
731
|
+
findAllMatches: n,
|
|
732
|
+
ignoreLocation: a,
|
|
733
|
+
location: o,
|
|
734
|
+
threshold: l,
|
|
735
|
+
distance: c
|
|
736
|
+
}, this.pattern = t ? e : e.toLowerCase(), this.query = Qe(this.pattern, this.options);
|
|
737
|
+
}
|
|
738
|
+
static condition(e, t) {
|
|
739
|
+
return t.useExtendedSearch;
|
|
740
|
+
}
|
|
741
|
+
searchIn(e) {
|
|
742
|
+
const t = this.query;
|
|
743
|
+
if (!t)
|
|
744
|
+
return {
|
|
745
|
+
isMatch: !1,
|
|
746
|
+
score: 1
|
|
747
|
+
};
|
|
748
|
+
const { includeMatches: i, isCaseSensitive: r } = this.options;
|
|
749
|
+
e = r ? e : e.toLowerCase();
|
|
750
|
+
let a = 0, n = [], o = 0;
|
|
751
|
+
for (let l = 0, c = t.length; l < c; l += 1) {
|
|
752
|
+
const h = t[l];
|
|
753
|
+
n.length = 0, a = 0;
|
|
754
|
+
for (let d = 0, f = h.length; d < f; d += 1) {
|
|
755
|
+
const m = h[d], { isMatch: g, indices: y, score: b } = m.search(e);
|
|
756
|
+
if (g) {
|
|
757
|
+
if (a += 1, o += b, i) {
|
|
758
|
+
const v = m.constructor.type;
|
|
759
|
+
Xe.has(v) ? n = [...n, ...y] : n.push(y);
|
|
760
|
+
}
|
|
761
|
+
} else {
|
|
762
|
+
o = 0, a = 0, n.length = 0;
|
|
763
|
+
break;
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
if (a) {
|
|
767
|
+
let d = {
|
|
768
|
+
isMatch: !0,
|
|
769
|
+
score: o / a
|
|
770
|
+
};
|
|
771
|
+
return i && (d.indices = n), d;
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
return {
|
|
775
|
+
isMatch: !1,
|
|
776
|
+
score: 1
|
|
777
|
+
};
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
const H = [];
|
|
781
|
+
function Ze(...s) {
|
|
782
|
+
H.push(...s);
|
|
783
|
+
}
|
|
784
|
+
function K(s, e) {
|
|
785
|
+
for (let t = 0, i = H.length; t < i; t += 1) {
|
|
786
|
+
let r = H[t];
|
|
787
|
+
if (r.condition(s, e))
|
|
788
|
+
return new r(s, e);
|
|
789
|
+
}
|
|
790
|
+
return new le(s, e);
|
|
791
|
+
}
|
|
792
|
+
const N = {
|
|
793
|
+
AND: "$and",
|
|
794
|
+
OR: "$or"
|
|
795
|
+
}, W = {
|
|
796
|
+
PATH: "$path",
|
|
797
|
+
PATTERN: "$val"
|
|
798
|
+
}, B = (s) => !!(s[N.AND] || s[N.OR]), qe = (s) => !!s[W.PATH], et = (s) => !E(s) && re(s) && !B(s), se = (s) => ({
|
|
799
|
+
[N.AND]: Object.keys(s).map((e) => ({
|
|
800
|
+
[e]: s[e]
|
|
801
|
+
}))
|
|
802
|
+
});
|
|
803
|
+
function de(s, e, { auto: t = !0 } = {}) {
|
|
804
|
+
const i = (r) => {
|
|
805
|
+
let a = Object.keys(r);
|
|
806
|
+
const n = qe(r);
|
|
807
|
+
if (!n && a.length > 1 && !B(r))
|
|
808
|
+
return i(se(r));
|
|
809
|
+
if (et(r)) {
|
|
810
|
+
const l = n ? r[W.PATH] : a[0], c = n ? r[W.PATTERN] : r[l];
|
|
811
|
+
if (!M(c))
|
|
812
|
+
throw new Error(_e(l));
|
|
813
|
+
const h = {
|
|
814
|
+
keyId: j(l),
|
|
815
|
+
pattern: c
|
|
816
|
+
};
|
|
817
|
+
return t && (h.searcher = K(c, e)), h;
|
|
818
|
+
}
|
|
819
|
+
let o = {
|
|
820
|
+
children: [],
|
|
821
|
+
operator: a[0]
|
|
822
|
+
};
|
|
823
|
+
return a.forEach((l) => {
|
|
824
|
+
const c = r[l];
|
|
825
|
+
E(c) && c.forEach((h) => {
|
|
826
|
+
o.children.push(i(h));
|
|
827
|
+
});
|
|
828
|
+
}), o;
|
|
829
|
+
};
|
|
830
|
+
return B(s) || (s = se(s)), i(s);
|
|
831
|
+
}
|
|
832
|
+
function tt(s, { ignoreFieldNorm: e = u.ignoreFieldNorm }) {
|
|
833
|
+
s.forEach((t) => {
|
|
834
|
+
let i = 1;
|
|
835
|
+
t.matches.forEach(({ key: r, norm: a, score: n }) => {
|
|
836
|
+
const o = r ? r.weight : null;
|
|
837
|
+
i *= Math.pow(
|
|
838
|
+
n === 0 && o ? Number.EPSILON : n,
|
|
839
|
+
(o || 1) * (e ? 1 : a)
|
|
840
|
+
);
|
|
841
|
+
}), t.score = i;
|
|
842
|
+
});
|
|
843
|
+
}
|
|
844
|
+
function st(s, e) {
|
|
845
|
+
const t = s.matches;
|
|
846
|
+
e.matches = [], x(t) && t.forEach((i) => {
|
|
847
|
+
if (!x(i.indices) || !i.indices.length)
|
|
848
|
+
return;
|
|
849
|
+
const { indices: r, value: a } = i;
|
|
850
|
+
let n = {
|
|
851
|
+
indices: r,
|
|
852
|
+
value: a
|
|
853
|
+
};
|
|
854
|
+
i.key && (n.key = i.key.src), i.idx > -1 && (n.refIndex = i.idx), e.matches.push(n);
|
|
855
|
+
});
|
|
856
|
+
}
|
|
857
|
+
function it(s, e) {
|
|
858
|
+
e.score = s.score;
|
|
859
|
+
}
|
|
860
|
+
function rt(s, e, {
|
|
861
|
+
includeMatches: t = u.includeMatches,
|
|
862
|
+
includeScore: i = u.includeScore
|
|
863
|
+
} = {}) {
|
|
864
|
+
const r = [];
|
|
865
|
+
return t && r.push(st), i && r.push(it), s.map((a) => {
|
|
866
|
+
const { idx: n } = a, o = {
|
|
867
|
+
item: e[n],
|
|
868
|
+
refIndex: n
|
|
869
|
+
};
|
|
870
|
+
return r.length && r.forEach((l) => {
|
|
871
|
+
l(a, o);
|
|
872
|
+
}), o;
|
|
873
|
+
});
|
|
874
|
+
}
|
|
875
|
+
class C {
|
|
876
|
+
constructor(e, t = {}, i) {
|
|
877
|
+
this.options = { ...u, ...t }, this.options.useExtendedSearch, this._keyStore = new Ae(this.options.keys), this.setCollection(e, i);
|
|
878
|
+
}
|
|
879
|
+
setCollection(e, t) {
|
|
880
|
+
if (this._docs = e, t && !(t instanceof U))
|
|
881
|
+
throw new Error(Ee);
|
|
882
|
+
this._myIndex = t || oe(this.options.keys, this._docs, {
|
|
883
|
+
getFn: this.options.getFn,
|
|
884
|
+
fieldNormWeight: this.options.fieldNormWeight
|
|
885
|
+
});
|
|
886
|
+
}
|
|
887
|
+
add(e) {
|
|
888
|
+
x(e) && (this._docs.push(e), this._myIndex.add(e));
|
|
889
|
+
}
|
|
890
|
+
remove(e = () => !1) {
|
|
891
|
+
const t = [];
|
|
892
|
+
for (let i = 0, r = this._docs.length; i < r; i += 1) {
|
|
893
|
+
const a = this._docs[i];
|
|
894
|
+
e(a, i) && (this.removeAt(i), i -= 1, r -= 1, t.push(a));
|
|
895
|
+
}
|
|
896
|
+
return t;
|
|
897
|
+
}
|
|
898
|
+
removeAt(e) {
|
|
899
|
+
this._docs.splice(e, 1), this._myIndex.removeAt(e);
|
|
900
|
+
}
|
|
901
|
+
getIndex() {
|
|
902
|
+
return this._myIndex;
|
|
903
|
+
}
|
|
904
|
+
search(e, { limit: t = -1 } = {}) {
|
|
905
|
+
const {
|
|
906
|
+
includeMatches: i,
|
|
907
|
+
includeScore: r,
|
|
908
|
+
shouldSort: a,
|
|
909
|
+
sortFn: n,
|
|
910
|
+
ignoreFieldNorm: o
|
|
911
|
+
} = this.options;
|
|
912
|
+
let l = M(e) ? M(this._docs[0]) ? this._searchStringList(e) : this._searchObjectList(e) : this._searchLogical(e);
|
|
913
|
+
return tt(l, { ignoreFieldNorm: o }), a && l.sort(n), ie(t) && t > -1 && (l = l.slice(0, t)), rt(l, this._docs, {
|
|
914
|
+
includeMatches: i,
|
|
915
|
+
includeScore: r
|
|
916
|
+
});
|
|
917
|
+
}
|
|
918
|
+
_searchStringList(e) {
|
|
919
|
+
const t = K(e, this.options), { records: i } = this._myIndex, r = [];
|
|
920
|
+
return i.forEach(({ v: a, i: n, n: o }) => {
|
|
921
|
+
if (!x(a))
|
|
922
|
+
return;
|
|
923
|
+
const { isMatch: l, score: c, indices: h } = t.searchIn(a);
|
|
924
|
+
l && r.push({
|
|
925
|
+
item: a,
|
|
926
|
+
idx: n,
|
|
927
|
+
matches: [{ score: c, value: a, norm: o, indices: h }]
|
|
928
|
+
});
|
|
929
|
+
}), r;
|
|
930
|
+
}
|
|
931
|
+
_searchLogical(e) {
|
|
932
|
+
const t = de(e, this.options), i = (o, l, c) => {
|
|
933
|
+
if (!o.children) {
|
|
934
|
+
const { keyId: d, searcher: f } = o, m = this._findMatches({
|
|
935
|
+
key: this._keyStore.get(d),
|
|
936
|
+
value: this._myIndex.getValueForItemAtKeyId(l, d),
|
|
937
|
+
searcher: f
|
|
938
|
+
});
|
|
939
|
+
return m && m.length ? [
|
|
940
|
+
{
|
|
941
|
+
idx: c,
|
|
942
|
+
item: l,
|
|
943
|
+
matches: m
|
|
944
|
+
}
|
|
945
|
+
] : [];
|
|
946
|
+
}
|
|
947
|
+
const h = [];
|
|
948
|
+
for (let d = 0, f = o.children.length; d < f; d += 1) {
|
|
949
|
+
const m = o.children[d], g = i(m, l, c);
|
|
950
|
+
if (g.length)
|
|
951
|
+
h.push(...g);
|
|
952
|
+
else if (o.operator === N.AND)
|
|
953
|
+
return [];
|
|
954
|
+
}
|
|
955
|
+
return h;
|
|
956
|
+
}, r = this._myIndex.records, a = {}, n = [];
|
|
957
|
+
return r.forEach(({ $: o, i: l }) => {
|
|
958
|
+
if (x(o)) {
|
|
959
|
+
let c = i(t, o, l);
|
|
960
|
+
c.length && (a[l] || (a[l] = { idx: l, item: o, matches: [] }, n.push(a[l])), c.forEach(({ matches: h }) => {
|
|
961
|
+
a[l].matches.push(...h);
|
|
962
|
+
}));
|
|
963
|
+
}
|
|
964
|
+
}), n;
|
|
965
|
+
}
|
|
966
|
+
_searchObjectList(e) {
|
|
967
|
+
const t = K(e, this.options), { keys: i, records: r } = this._myIndex, a = [];
|
|
968
|
+
return r.forEach(({ $: n, i: o }) => {
|
|
969
|
+
if (!x(n))
|
|
970
|
+
return;
|
|
971
|
+
let l = [];
|
|
972
|
+
i.forEach((c, h) => {
|
|
973
|
+
l.push(
|
|
974
|
+
...this._findMatches({
|
|
975
|
+
key: c,
|
|
976
|
+
value: n[h],
|
|
977
|
+
searcher: t
|
|
978
|
+
})
|
|
979
|
+
);
|
|
980
|
+
}), l.length && a.push({
|
|
981
|
+
idx: o,
|
|
982
|
+
item: n,
|
|
983
|
+
matches: l
|
|
984
|
+
});
|
|
985
|
+
}), a;
|
|
986
|
+
}
|
|
987
|
+
_findMatches({ key: e, value: t, searcher: i }) {
|
|
988
|
+
if (!x(t))
|
|
989
|
+
return [];
|
|
990
|
+
let r = [];
|
|
991
|
+
if (E(t))
|
|
992
|
+
t.forEach(({ v: a, i: n, n: o }) => {
|
|
993
|
+
if (!x(a))
|
|
994
|
+
return;
|
|
995
|
+
const { isMatch: l, score: c, indices: h } = i.searchIn(a);
|
|
996
|
+
l && r.push({
|
|
997
|
+
score: c,
|
|
998
|
+
key: e,
|
|
999
|
+
value: a,
|
|
1000
|
+
idx: n,
|
|
1001
|
+
norm: o,
|
|
1002
|
+
indices: h
|
|
1003
|
+
});
|
|
1004
|
+
});
|
|
1005
|
+
else {
|
|
1006
|
+
const { v: a, n } = t, { isMatch: o, score: l, indices: c } = i.searchIn(a);
|
|
1007
|
+
o && r.push({ score: l, key: e, value: a, norm: n, indices: c });
|
|
1008
|
+
}
|
|
1009
|
+
return r;
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
C.version = "6.6.2";
|
|
1013
|
+
C.createIndex = oe;
|
|
1014
|
+
C.parseIndex = Pe;
|
|
1015
|
+
C.config = u;
|
|
1016
|
+
C.parseQuery = de;
|
|
1017
|
+
Ze(Je);
|
|
1018
|
+
const at = ".sc-prism-typeahead-h{--prism-typeahead-results-height:50vh;display:block;position:relative}.input.sc-prism-typeahead{--input-margin-bottom:0}.announcement.sc-prism-typeahead{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}.announcement.sc-prism-typeahead,.results.sc-prism-typeahead{position:absolute}.results.sc-prism-typeahead{--tw-border-opacity:1;--tw-border-opacity:var(--border-opacity-tertiary,0.15);--tw-bg-opacity:1;--shadow-color:var(--material-neutral-base-shadow);--tw-shadow:0px 4px 8px -4px var(--shadow-color);--tw-shadow-colored:0px 4px 8px -4px var(--tw-shadow-color);background-color:rgb(var(--background-color-material-neutral-base)/var(--tw-bg-opacity));border-color:rgb(var(--border-color-stroke-neutral-base)/var(--tw-border-opacity));border-radius:var(--border-radius-medium,8px);border-style:solid;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:none;left:0;margin-top:.25rem;max-height:var(--prism-typeahead-results-height);overflow:auto;top:0;width:100%;z-index:500}.results.top.sc-prism-typeahead{bottom:var(--bottom);max-height:12rem;top:inherit}.results-header.sc-prism-typeahead{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem;padding-left:1rem;padding-right:1rem;padding-top:.75rem}.clear.sc-prism-typeahead{display:none}.clear.show.sc-prism-typeahead{display:block}.selections.sc-prism-typeahead{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:.25rem;row-gap:.25rem}.selections.sc-prism-typeahead>.sc-prism-typeahead:not([hidden])~.sc-prism-typeahead:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.selections.sc-prism-typeahead{max-height:50vh}.remove.sc-prism-typeahead{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-color-transparent,transparent);border-style:none;line-height:0;margin-left:.5rem}.remove-icon.sc-prism-typeahead{--icon-width:0.625rem;--icon-height:0.625rem}.remove.sc-prism-typeahead:focus{border-radius:50%;outline-color:var(--outline-color-neutral-base,#141417)}.results-container.sc-prism-typeahead{position:relative}.open.sc-prism-typeahead:not(.zero){display:block}.multi-controls.sc-prism-typeahead>.sc-prism-typeahead:not([hidden])~.sc-prism-typeahead:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.result-list.sc-prism-typeahead{list-style:none;margin:0;padding:0}.flush.sc-prism-typeahead{--checkbox-margin-top:0;--checkbox-margin-bottom:0}.multi.sc-prism-typeahead{padding:1rem}.result-list.sc-prism-typeahead:focus{outline:2px solid transparent;outline-offset:2px}.result-list.sc-prism-typeahead li.sc-prism-typeahead{transition:background-color .2s ease-in-out}.result-list.sc-prism-typeahead li.highlight.sc-prism-typeahead,.result-list.sc-prism-typeahead li.sc-prism-typeahead:hover{--tw-bg-opacity:1;--shadow-color:var(--material-neutral-hover-shadow);background-color:rgb(var(--background-color-material-neutral-hover)/var(--tw-bg-opacity))}.result-list.sc-prism-typeahead li.sc-prism-typeahead:active{--tw-bg-opacity:1;--shadow-color:var(--material-neutral-down-shadow);background-color:rgb(var(--background-color-material-neutral-down)/var(--tw-bg-opacity))}.result-list.sc-prism-typeahead li.selected.sc-prism-typeahead{--tw-bg-opacity:1;--shadow-color:var(--material-theme1-base-shadow);background-color:rgb(var(--background-color-material-theme1-base)/var(--tw-bg-opacity))}.result-list.sc-prism-typeahead li.selected.highlight.sc-prism-typeahead,.result-list.sc-prism-typeahead li.selected.sc-prism-typeahead:hover{--tw-bg-opacity:1;--shadow-color:var(--material-theme1-hover-shadow);background-color:rgb(var(--background-color-material-theme1-hover)/var(--tw-bg-opacity))}.result-list.sc-prism-typeahead li.selected.sc-prism-typeahead:active{--tw-bg-opacity:1;--shadow-color:var(--material-neutral-down-shadow);background-color:rgb(var(--background-color-material-neutral-down)/var(--tw-bg-opacity))}.result-list.sc-prism-typeahead li.selected.sc-prism-typeahead:active .selected-icon.sc-prism-typeahead{--tw-text-opacity:1;color:rgb(var(--text-color-theme1-down)/var(--tw-text-opacity))}.checked-icon.hide.sc-prism-typeahead{display:none}.result.sc-prism-typeahead{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;width:100%}.result.sc-prism-typeahead>.sc-prism-typeahead:not([hidden])~.sc-prism-typeahead:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.result.sc-prism-typeahead{background-color:var(--background-color-transparent,transparent);border-style:none;text-align:left}.result.sc-prism-typeahead .selected-icon.sc-prism-typeahead{--tw-text-opacity:1;color:rgb(var(--text-color-theme1-base)/var(--tw-text-opacity))}.result.sc-prism-typeahead:focus{--tw-bg-opacity:1;--shadow-color:var(--material-neutral-hover-shadow);background-color:rgb(var(--background-color-material-neutral-hover)/var(--tw-bg-opacity));outline-color:var(--outline-color-theme1-base,#5a23b9);outline-offset:-3px;outline-style:solid;outline-width:2px}.result-list.sc-prism-typeahead li.selected.sc-prism-typeahead .result.sc-prism-typeahead:focus{--tw-bg-opacity:1;--shadow-color:var(--material-theme1-hover-shadow);background-color:rgb(var(--background-color-material-theme1-hover)/var(--tw-bg-opacity))}.result-list.sc-prism-typeahead li.selected.sc-prism-typeahead .result.sc-prism-typeahead:focus .selected-icon.sc-prism-typeahead{--tw-text-opacity:1;color:rgb(var(--text-color-theme1-focus)/var(--tw-text-opacity))}.result.sc-prism-typeahead:disabled{cursor:not-allowed}.selection-content.sc-prism-typeahead{flex:1 1 auto}.nonselectable.sc-prism-typeahead{--color:rgb(var(--text-color-neutral-base))}.no-results.sc-prism-typeahead{display:block;padding:.75rem}.add-item.sc-prism-typeahead{--tw-border-opacity:1;--tw-border-opacity:var(--border-opacity-tertiary,0.15);align-items:center;border-color:rgb(var(--border-color-stroke-neutral-base)/var(--tw-border-opacity));border-top-width:1px;display:flex;padding:.75rem}@media (prefers-reduced-motion){.result-list.sc-prism-typeahead li.sc-prism-typeahead{transition:none}}.loading.sc-prism-typeahead{display:flex;gap:.5rem;padding:1rem;text-align:left}", nt = at, ot = class {
|
|
1019
|
+
constructor(s) {
|
|
1020
|
+
pe(this, s), this.prismChange = Q(this, "prismChange", 7), this.prismWatch = Q(this, "prismWatch", 7), this.uid = ge(), this.singleResultId = `prism-typeahead-option-${this.uid}`, this.resultsListId = `prism-typeahead-results-${this.uid}`, this.customOptionId = `prism-typeahead-custom-${this.uid}`, this.textInput = `prism-input-text-${this.prismId}`, this.debounceDelay = 500, this._hostTag = "prism-typeahead", this.generateHighlightedText = (e, t = []) => {
|
|
1021
|
+
let i = "", r = 0;
|
|
1022
|
+
return t.forEach((a) => {
|
|
1023
|
+
const n = a[1] + 1;
|
|
1024
|
+
i += [e.substring(r, a[0]), "<mark>", e.substring(a[0], n), "</mark>"].join(""), r = n;
|
|
1025
|
+
}), i += e.substring(r), i;
|
|
1026
|
+
}, this.announce = J(() => {
|
|
1027
|
+
this.liveMessage = this.matchingValues.length ? `${this.matchingValues.length} result${this.matchingValues.length > 1 ? "s" : ""} found` : this.noResultsMessage;
|
|
1028
|
+
}, this.debounceDelay), this._setResultsPosition = (e) => {
|
|
1029
|
+
if (this.aware) {
|
|
1030
|
+
let t = window.innerHeight / 2;
|
|
1031
|
+
this.appearFrom === "top" && t > e.top && (this.resultsPosition = "bottom"), this.appearFrom === "bottom" && t < e.bottom && (this.resultsPosition = "top");
|
|
1032
|
+
}
|
|
1033
|
+
this.hostHeight = `${e.height}px`;
|
|
1034
|
+
}, this.onBlur = (e) => {
|
|
1035
|
+
e.target.closest(this._hostTag) !== this.el && (this.displayResults = !1);
|
|
1036
|
+
}, this.close = () => {
|
|
1037
|
+
var e;
|
|
1038
|
+
(e = this.searchElement) === null || e === void 0 || e.setFocus(), this.displayResults = !1;
|
|
1039
|
+
}, this.removeSelection = (e) => {
|
|
1040
|
+
this.options = this.options.map((t) => (t[this.displayValue] === e[this.displayValue] && (t.selected = !e.selected), t), setTimeout(() => {
|
|
1041
|
+
var t;
|
|
1042
|
+
return (t = this.searchElement) === null || t === void 0 ? void 0 : t.setFocus();
|
|
1043
|
+
}, 0));
|
|
1044
|
+
}, this.setSelectedValue = (e, t) => {
|
|
1045
|
+
var i;
|
|
1046
|
+
const r = e.currentTarget;
|
|
1047
|
+
this.type === "single" && (this.searchValue = t, (i = this.searchElement) === null || i === void 0 || i.setFocus(), this.displayResults = !1), this.type === "multi" && (this.options = this.options.map((a) => (String(a[this.displayValue]) === t.replaceAll(" ", "") && (a.selected = !a.selected), a))), this.prismWatch.emit({
|
|
1048
|
+
name: `${this.type}-value-selected`,
|
|
1049
|
+
value: r.dataset.itemValue,
|
|
1050
|
+
label: r.dataset.itemLabel
|
|
1051
|
+
});
|
|
1052
|
+
}, this._setFocus = () => {
|
|
1053
|
+
this.resultsElement.querySelectorAll("[data-remove]")[0].firstChild.focus();
|
|
1054
|
+
}, this.inputKeyListeners = (e) => {
|
|
1055
|
+
switch (e.key) {
|
|
1056
|
+
case "ArrowUp":
|
|
1057
|
+
e.preventDefault(), this.resultsElement && this.appearFrom === "top" && this._setFocus();
|
|
1058
|
+
break;
|
|
1059
|
+
case "ArrowDown":
|
|
1060
|
+
e.preventDefault(), this.resultsElement && this.appearFrom === "bottom" && this._setFocus();
|
|
1061
|
+
break;
|
|
1062
|
+
case "Escape":
|
|
1063
|
+
case "Enter":
|
|
1064
|
+
this.displayResults = !1;
|
|
1065
|
+
break;
|
|
1066
|
+
}
|
|
1067
|
+
}, this.resultsKeyListeners = (e) => {
|
|
1068
|
+
var t, i, r;
|
|
1069
|
+
let a = e.currentTarget, n = a.closest("ol").querySelectorAll("[data-remove]"), o = n[0], l = n[n.length - 1];
|
|
1070
|
+
switch (e.key) {
|
|
1071
|
+
case "ArrowDown":
|
|
1072
|
+
e.preventDefault(), !((t = a.nextElementSibling) === null || t === void 0) && t.hasAttribute("data-remove") ? a.nextElementSibling.firstChild.focus() : o.firstChild.focus();
|
|
1073
|
+
break;
|
|
1074
|
+
case "ArrowUp":
|
|
1075
|
+
e.preventDefault(), !((i = a.previousElementSibling) === null || i === void 0) && i.hasAttribute("data-remove") ? a.previousElementSibling.firstChild.focus() : l.lastChild.focus();
|
|
1076
|
+
break;
|
|
1077
|
+
case "Home":
|
|
1078
|
+
o.firstChild.focus();
|
|
1079
|
+
break;
|
|
1080
|
+
case "End":
|
|
1081
|
+
l.lastChild.focus();
|
|
1082
|
+
break;
|
|
1083
|
+
case "Escape":
|
|
1084
|
+
this.displayResults = !1, (r = this.searchElement) === null || r === void 0 || r.setFocus();
|
|
1085
|
+
break;
|
|
1086
|
+
}
|
|
1087
|
+
}, this._resultsMenuKeyListeners = (e) => {
|
|
1088
|
+
let i = this.resultsElement.querySelectorAll("[data-remove]")[0];
|
|
1089
|
+
switch (e.key) {
|
|
1090
|
+
case "ArrowDown":
|
|
1091
|
+
i.firstChild.focus();
|
|
1092
|
+
}
|
|
1093
|
+
}, this.clearAll = () => {
|
|
1094
|
+
var e;
|
|
1095
|
+
this.liveMessage = "all suggestions and the search value have been removed", this.searchValue = "", this.displayResults = !1, this.options = this.options.map((t) => (t.isFixed || (t.selected = !1), t)), (e = this.searchElement) === null || e === void 0 || e.setFocus();
|
|
1096
|
+
}, this.toggleSelect = (e) => {
|
|
1097
|
+
var t;
|
|
1098
|
+
(t = this.resultsElement) === null || t === void 0 || t.querySelectorAll("li").forEach((i) => {
|
|
1099
|
+
let r = i.querySelector("button");
|
|
1100
|
+
switch (e) {
|
|
1101
|
+
case "select":
|
|
1102
|
+
r.ariaChecked === "false" && r.click();
|
|
1103
|
+
break;
|
|
1104
|
+
case "remove":
|
|
1105
|
+
r.ariaChecked === "true" && r.click();
|
|
1106
|
+
break;
|
|
1107
|
+
}
|
|
1108
|
+
});
|
|
1109
|
+
}, this.saveItem = (e) => {
|
|
1110
|
+
let t = this.customOptionElement;
|
|
1111
|
+
if (t.value === "") {
|
|
1112
|
+
t.invalid = !0, t.invalidMessage = "Please enter a custom item";
|
|
1113
|
+
return;
|
|
1114
|
+
}
|
|
1115
|
+
t.value && (this.customItem = t.value, this.close());
|
|
1116
|
+
}, this.prismId = `prism-typeahead-${this.uid}`, this.label = void 0, this.hideLabel = !1, this.hideInvalid = !1, this.disabled = !1, this.pattern = void 0, this.required = !1, this.invalid = !1, this.invalidMessage = "This field is required", this.placeholder = "Type to see results...", this.start = 3, this.maxlength = void 0, this.options = [], this.fuseOptions = {}, this.search = "include", this.delimiter = ",", this.type = "multi", this.name = void 0, this.noResultsMessage = "Sorry, we didn't find results. Would you like to try a new search?", this.hideNoresultsmessage = void 0, this.addOption = !1, this.addOptionPlaceholder = "Add a custom item", this.addOptionLabel = "Add a custom item", this.value = "", this.appearFrom = "bottom", this.aware = !1, this.variant = "contained", this.loading = !1, this.loadingMessage = "Loading...", this.keys = ["label", "value", "children.label", "children.value"], this.displayValue = "value", this.displayLabel = "label", this.ignoreLocation = !1, this.displayIcon = !0, this.iconName = "search", this.iconStyle = "fill", this.highlight = !1, this.hint = void 0, this.ignoredCharacters = void 0, this.unplug = !1, this.extendedSearch = "and", this.searchValue = "", this.matchingValues = [], this.displayResults = !1, this.hiddenValue = void 0, this.liveMessage = void 0, this.customItem = void 0, this.resultsPosition = "bottom", this.hostHeight = "83", this.selectedOptions = [];
|
|
1117
|
+
}
|
|
1118
|
+
loadingHandler(s) {
|
|
1119
|
+
s && (this.liveMessage = this.loadingMessage);
|
|
1120
|
+
}
|
|
1121
|
+
// Listen for Input Value Change
|
|
1122
|
+
getValue(s) {
|
|
1123
|
+
s.detail.target.id === this.textInput && s.detail.name === "input-change" && (s.detail.value.length < this.start && (this.liveMessage = ""), this.searchValue = s.detail.value, this.prismChange.emit({
|
|
1124
|
+
name: "prism-typeahead",
|
|
1125
|
+
target: this.el,
|
|
1126
|
+
value: this.searchValue,
|
|
1127
|
+
origin: s.detail
|
|
1128
|
+
}), this.displayResults = s.detail.value.length >= this.start, this.displayResults && this.announce());
|
|
1129
|
+
}
|
|
1130
|
+
// Watch for changes to the form value
|
|
1131
|
+
emitHiddenValue(s, e) {
|
|
1132
|
+
s !== e && this.prismWatch.emit({
|
|
1133
|
+
name: "multi-results-updated",
|
|
1134
|
+
value: this.hiddenValue
|
|
1135
|
+
});
|
|
1136
|
+
}
|
|
1137
|
+
// Watching Value Changes
|
|
1138
|
+
updateSearchValue(s, e) {
|
|
1139
|
+
this.searchValue = s;
|
|
1140
|
+
}
|
|
1141
|
+
// Watch for changes to the internal state `searchValue` and `options`
|
|
1142
|
+
filterResults(s, e, t) {
|
|
1143
|
+
let i = { findAllMatches: !0, includeMatches: !0, includeScore: !0, shouldSort: !0, useExtendedSearch: !0, fieldNormWeight: 1 }, r = { minMatchCharLength: this.start, ignoreLocation: this.ignoreLocation, keys: typeof this.keys == "string" ? [this.keys] : this.keys };
|
|
1144
|
+
const a = Object.assign(Object.assign(Object.assign({}, i), this.fuseOptions), r), n = new C(this.options, a);
|
|
1145
|
+
let o = this.searchValue.trim(), l = "";
|
|
1146
|
+
switch (this.search) {
|
|
1147
|
+
case "start":
|
|
1148
|
+
l = "^";
|
|
1149
|
+
break;
|
|
1150
|
+
case "exact":
|
|
1151
|
+
l = "=";
|
|
1152
|
+
break;
|
|
1153
|
+
case "include":
|
|
1154
|
+
l = "'";
|
|
1155
|
+
break;
|
|
1156
|
+
default:
|
|
1157
|
+
l = "";
|
|
1158
|
+
break;
|
|
1159
|
+
}
|
|
1160
|
+
const c = (d) => {
|
|
1161
|
+
const f = (m, g, y) => {
|
|
1162
|
+
const b = g.split(".");
|
|
1163
|
+
let v;
|
|
1164
|
+
for (v = 0; v < b.length - 1; v++)
|
|
1165
|
+
m = m[b[v]];
|
|
1166
|
+
m[b[v]] = y;
|
|
1167
|
+
};
|
|
1168
|
+
return d.filter(({ matches: m }) => m && m.length).map(({ item: m, matches: g }) => {
|
|
1169
|
+
const y = Object.assign({}, m);
|
|
1170
|
+
return g.forEach((b) => {
|
|
1171
|
+
f(y, b.key, this.generateHighlightedText(b.value, b.indices));
|
|
1172
|
+
}), { highlight: y, item: m };
|
|
1173
|
+
});
|
|
1174
|
+
};
|
|
1175
|
+
this.ignoredCharacters && (o = ye(o, this.ignoredCharacters));
|
|
1176
|
+
const h = n.search(`${l}"${this.extendedSearch === "and" ? o : o.replaceAll(" ", "|")}"`);
|
|
1177
|
+
this.unplug ? (this.matchingValues = [], this.options.map((d) => {
|
|
1178
|
+
this.matchingValues.push({ item: Object.assign({}, d) });
|
|
1179
|
+
})) : this.matchingValues = this.highlight ? c(h) : h, this.options.filter((d) => d.value === s).length === 0 && t === "customItem" && s !== e && n.add({ value: s, label: s, selected: !0 }), this.type === "multi" && (this.selectedOptions = this.options.filter((d) => d.selected === !0), this.hiddenValue = this.selectedOptions.map((d) => d.value).join(this.delimiter)), this.prismWatch.emit({
|
|
1180
|
+
name: `${this.type}-value-updated`,
|
|
1181
|
+
value: this.searchValue
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
1184
|
+
connectedCallback() {
|
|
1185
|
+
document.addEventListener("mousedown", this.onBlur), document.addEventListener("keyup", this.onBlur), this.appearFrom ? this.resultsPosition = this.appearFrom : window.addEventListener("resize", J(() => {
|
|
1186
|
+
this._setResultsPosition(this.el.getBoundingClientRect());
|
|
1187
|
+
}, this.debounceDelay)), this.searchValue = this.value, be("prism-typeahead");
|
|
1188
|
+
}
|
|
1189
|
+
disconnectedCallback() {
|
|
1190
|
+
document.removeEventListener("mousedown", this.onBlur), document.removeEventListener("keyup", this.onBlur);
|
|
1191
|
+
}
|
|
1192
|
+
componentDidLoad() {
|
|
1193
|
+
this._hostDimensions = this.el.getBoundingClientRect(), this.type === "multi" && this.el.querySelectorAll("div.selections")[0].addEventListener("focusin", () => {
|
|
1194
|
+
this.displayResults = !1;
|
|
1195
|
+
});
|
|
1196
|
+
}
|
|
1197
|
+
componentWillRender() {
|
|
1198
|
+
this._hostDimensions && this._setResultsPosition(this._hostDimensions), this.loadingHandler(this.loading);
|
|
1199
|
+
}
|
|
1200
|
+
// Buttons when in type multi to select all, remove all, and close the panel
|
|
1201
|
+
/** @internal */
|
|
1202
|
+
multiControls(s) {
|
|
1203
|
+
s.detail.id === "select-button" && (this.toggleSelect("select"), this.liveMessage = `${this.matchingValues.length} results selected`), s.detail.id === "deselect-button" && (this.toggleSelect("remove"), this.liveMessage = `${this.matchingValues.length} results removed`), s.detail.id === "close-results" && this.close();
|
|
1204
|
+
}
|
|
1205
|
+
render() {
|
|
1206
|
+
var s;
|
|
1207
|
+
return p(fe, { key: "aef83d2d8671ef2c0a281b6a90e9fbb0cfca56e3", id: this.prismId }, p("div", { key: "9123cffcd6d77b4655514f4902854afd5c08f480", class: "announcement", "aria-live": "polite", "aria-atomic": "true" }, this.liveMessage), p("prism-input-text", { key: "c3e6cd3ab37f9c8133336189b801735ae3e48fd5", hint: this.hint, variant: this.variant, "prism-id": this.textInput, "aria-controls": this.resultsListId, "aria-expanded": this.displayResults.toString(), "aria-autocomplete": this.type === "single" ? "list" : void 0, autocomplete: "off", disabled: this.disabled, required: this.required, invalid: this.invalid, invalidMessage: this.invalidMessage, hideInvalid: this.hideInvalid, role: this.type === "single" ? "combobox" : void 0, placeholder: this.placeholder, hideLabel: this.hideLabel, label: this.label, maxlength: isNaN(this.maxlength) ? void 0 : this.maxlength, onKeyDown: (e) => this.inputKeyListeners(e), ref: (e) => this.searchElement = e, name: this.type === "single" ? this.name : "prism-typeahead-search", value: this.searchValue, class: "input" }, p("span", { key: "e11b88b153e16082cdb08d6fbc6af69a052f848a", slot: "icon-trailing" }, !this.disabled && p("prism-button", { key: "6252312b122542b192c5a4099ddaacdc4b69bb91", display: "ghost-icon", size: "sm", class: { clear: !0, show: this.selectedOptions.length > 0 || this.searchValue !== "" }, label: "clear all values", onPrismPress: () => this.clearAll(), slot: "icon-trailing" }, p("prism-icon", { key: "cb04ca4349fcfda0df1a1a30a143781c2b8779e7", name: "close", role: "presentation", size: "xs" })), p("slot", { key: "5ab3914d7dd5b9451a5be481f2dea56edf81c1a3", name: "asset-trailing" })), p("span", { key: "f3cf1685c5919b28cbf5d0e86ce31a9905f13ecc", slot: "icon-leading" }, this.displayIcon && p("prism-icon", { key: "c56ed1256e96c25f897594eb7409ae4ee14a193a", name: this.iconName, theme: this.iconStyle, role: "presentation" }))), p("div", { key: "6e626921fa2b5c258693a6a145fd2ad8a229c43b", style: { "--bottom": this.hostHeight }, class: { "results-container": !0 }, ref: (e) => this.resultsContainerElement = e }, p("div", { key: "50ea72cac327212c34d7c183b77ef07af07fd93a", class: {
|
|
1208
|
+
results: !0,
|
|
1209
|
+
open: this.displayResults || this.loading,
|
|
1210
|
+
[this.resultsPosition]: !0,
|
|
1211
|
+
zero: this.matchingValues.length === 0 && !this.addOption && this.hideNoresultsmessage
|
|
1212
|
+
} }, this.loading && p("section", { key: "e4a2a395fff8d812df8c91240cca65efd1011101", class: { loading: !0 } }, p("prism-loading", { key: "6511ec08af7851733db2d774c1f53ae347dd5f8a", type: "spinner", display: "inline" }), this.loadingMessage), this.type === "multi" && this.matchingValues.length > 0 && p("section", { key: "c95475a7161a1b21ae28858effb0c4589a6dfd32", class: "results-header", onKeyDown: (e) => this._resultsMenuKeyListeners(e) }, p("div", { key: "86074123fdc70be0ceca996c414689f4f8c77707", class: "multi-controls" }, p("prism-button", { key: "da38f36a840dcf3f0d5c02f18cac1b3794db46f6", "prism-id": "select-button", name: "toggle-button", size: "xs", display: "ghost", onPrismPress: (e) => this.multiControls(e) }, "Select All", p("prism-icon", { key: "fb4ac6f5cef09104c455f2dfdd10d549fa57fff4", size: "xs", role: "presentation", theme: "outline", slot: "icon", name: "multi_select" })), p("prism-button", { key: "26f98b7758f3c403ec8b679c8cc1159198fd923c", "prism-id": "deselect-button", name: "toggle-button", size: "xs", display: "ghost", onPrismPress: (e) => this.multiControls(e) }, "Clear", p("prism-icon", { key: "b24c5b84375f8bfa534bfe8a6034bec747f4c41b", size: "xs", role: "presentation", slot: "icon", theme: "outline", name: "trash" }))), p("prism-button", { key: "428cb3a657db4589f49d5896286a4342b3a3a877", label: "close results", "prism-id": "close-results", name: "close-results", display: "ghost-icon", size: "xs", onPrismPress: (e) => this.multiControls(e) }, p("prism-icon", { key: "e487bcb5e32967739973e6c3247e4b05ad371a9e", name: this.appearFrom === "bottom" ? "caret_up_button" : "caret_down_button" }))), this.matchingValues.length ? p("ol", { class: "result-list", id: this.resultsListId, role: this.type === "single" ? "listbox" : void 0, ref: (e) => this.resultsElement = e }, (s = this.matchingValues) === null || s === void 0 ? void 0 : s.map(({ highlight: e, item: t }, i) => {
|
|
1213
|
+
let r = (t == null ? void 0 : t.selected) || (t == null ? void 0 : t.isFixed) || this.searchValue === (t == null ? void 0 : t.value) && this.type === "single", a = this.type === "multi" && r ? "true" : this.type !== "multi" ? !1 : "false";
|
|
1214
|
+
return p(X, null, p("li", { "data-remove": !(t != null && t.isFixed), id: `${this.singleResultId}-result-${i}`, onKeyDown: (n) => this.resultsKeyListeners(n), class: { selected: r } }, p("button", { onClick: (n) => this.setSelectedValue(n, t[this.displayLabel] || t[this.displayValue]), "aria-label": t[this.displayLabel] || t[this.displayValue], key: i, type: "button", "data-item-label": t == null ? void 0 : t.label, "data-item-value": t == null ? void 0 : t.value, class: { result: !0 }, role: this.type === "multi" ? "checkbox" : "option", "aria-checked": a, tabindex: "-1", disabled: t == null ? void 0 : t.isFixed }, (t == null ? void 0 : t.icon) && p("prism-icon", { tone: "custom", "aria-hidden": "true", role: "presentation", label: t == null ? void 0 : t.iconLabel, theme: (t == null ? void 0 : t.iconTheme) || "fill", name: t == null ? void 0 : t.icon }), p("section", { class: "selection-content" }, p("prism-text", { class: { nonselectable: t == null ? void 0 : t.isFixed }, display: "body1" }, this.highlight ? p("span", { innerHTML: e[this.displayLabel] || e[this.displayValue] }) : t[this.displayLabel] || t[this.displayValue]), (t == null ? void 0 : t.description) && p("prism-text", { display: "body2", priority: "secondary", class: "selection-description" }, t == null ? void 0 : t.description)), p("prism-icon", { class: { "checked-icon": !0, "selected-icon": r, hide: !r }, tone: "custom", name: "check", role: "presentation", "aria-hidden": "true" }))));
|
|
1215
|
+
})) : p(X, null, !this.hideNoresultsmessage && !this.loading && p("strong", { class: "no-results" }, p("slot", { name: "no-results-asset" }), this.noResultsMessage), this.addOption && p("section", { class: "add-item" }, p("prism-input-text", { prismId: this.customOptionId, value: this.searchValue, ref: (e) => this.customOptionElement = e, label: this.addOptionLabel, placeholder: this.addOptionPlaceholder, variant: "minimal", hideLabel: !0 }), p("prism-button", { "aria-describedby": this.customOptionId, prismId: `${this.customOptionId}-add-custom-item-`, onPrismPress: (e) => this.saveItem(e), display: "ghost-icon" }, p("prism-icon", { name: "add" }), "Add"))))), this.type === "multi" && p("div", { key: "7f9dae8ce8fbd99ef26316e9132c538767f5db36", class: "selections", ref: (e) => this.selectionsElement = e }, this.selectedOptions.map((e, t) => p("prism-badge", { interactive: e.isFixed ? null : "trailing", size: "lg", "data-remove": !e.isFixed, key: t, class: "selection", tone: "theme1", label: `Remove ${e[this.displayLabel]}`, onPrismClick: () => this.removeSelection(e) }, e[this.displayLabel], !e.isFixed && p("prism-icon", { slot: "asset-trailing", class: "remove-icon", size: "xs", name: "close", tone: "custom" })))), this.type === "multi" && p("input", { key: "ebd7ce35caf3ee85552e53da2dcf80302ca68432", type: "hidden", name: this.name, value: this.hiddenValue }));
|
|
1216
|
+
}
|
|
1217
|
+
get el() {
|
|
1218
|
+
return me(this);
|
|
1219
|
+
}
|
|
1220
|
+
static get watchers() {
|
|
1221
|
+
return {
|
|
1222
|
+
loading: ["loadingHandler"],
|
|
1223
|
+
hiddenValue: ["emitHiddenValue"],
|
|
1224
|
+
value: ["updateSearchValue"],
|
|
1225
|
+
options: ["filterResults"],
|
|
1226
|
+
searchValue: ["filterResults"],
|
|
1227
|
+
customItem: ["filterResults"]
|
|
1228
|
+
};
|
|
1229
|
+
}
|
|
1230
|
+
};
|
|
1231
|
+
ot.style = nt;
|
|
1232
|
+
export {
|
|
1233
|
+
ot as prism_typeahead
|
|
1234
|
+
};
|