@keenmate/web-multiselect 1.9.0 → 1.10.0

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.
@@ -1,7 +1,7 @@
1
1
  var dt = Object.defineProperty;
2
2
  var ht = (s, e, t) => e in s ? dt(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
3
  var d = (s, e, t) => ht(s, typeof e != "symbol" ? e + "" : e, t);
4
- const ie = Math.min, F = Math.max, re = Math.round, se = Math.floor, M = (s) => ({
4
+ const ie = Math.min, F = Math.max, re = Math.round, se = Math.floor, P = (s) => ({
5
5
  x: s,
6
6
  y: s
7
7
  }), mt = {
@@ -13,7 +13,7 @@ const ie = Math.min, F = Math.max, re = Math.round, se = Math.floor, M = (s) =>
13
13
  start: "end",
14
14
  end: "start"
15
15
  };
16
- function Ee(s, e, t) {
16
+ function ze(s, e, t) {
17
17
  return F(s, ie(e, t));
18
18
  }
19
19
  function le(s, e) {
@@ -25,22 +25,22 @@ function N(s) {
25
25
  function ce(s) {
26
26
  return s.split("-")[1];
27
27
  }
28
- function Ge(s) {
28
+ function Ue(s) {
29
29
  return s === "x" ? "y" : "x";
30
30
  }
31
- function Ue(s) {
31
+ function Ke(s) {
32
32
  return s === "y" ? "height" : "width";
33
33
  }
34
34
  const ut = /* @__PURE__ */ new Set(["top", "bottom"]);
35
35
  function B(s) {
36
36
  return ut.has(N(s)) ? "y" : "x";
37
37
  }
38
- function Ke(s) {
39
- return Ge(B(s));
38
+ function qe(s) {
39
+ return Ue(B(s));
40
40
  }
41
41
  function gt(s, e, t) {
42
42
  t === void 0 && (t = !1);
43
- const o = ce(s), i = Ke(s), r = Ue(i);
43
+ const o = ce(s), i = qe(s), r = Ke(i);
44
44
  let n = i === "x" ? o === (t ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
45
45
  return e.reference[r] > e.floating[r] && (n = ne(n)), [n, ne(n)];
46
46
  }
@@ -51,12 +51,12 @@ function bt(s) {
51
51
  function fe(s) {
52
52
  return s.replace(/start|end/g, (e) => pt[e]);
53
53
  }
54
- const Ve = ["left", "right"], ze = ["right", "left"], ft = ["top", "bottom"], vt = ["bottom", "top"];
55
- function _t(s, e, t) {
54
+ const Ve = ["left", "right"], Be = ["right", "left"], ft = ["top", "bottom"], vt = ["bottom", "top"];
55
+ function wt(s, e, t) {
56
56
  switch (s) {
57
57
  case "top":
58
58
  case "bottom":
59
- return t ? e ? ze : Ve : e ? Ve : ze;
59
+ return t ? e ? Be : Ve : e ? Ve : Be;
60
60
  case "left":
61
61
  case "right":
62
62
  return e ? ft : vt;
@@ -64,15 +64,15 @@ function _t(s, e, t) {
64
64
  return [];
65
65
  }
66
66
  }
67
- function wt(s, e, t, o) {
67
+ function _t(s, e, t, o) {
68
68
  const i = ce(s);
69
- let r = _t(N(s), t === "start", o);
69
+ let r = wt(N(s), t === "start", o);
70
70
  return i && (r = r.map((n) => n + "-" + i), e && (r = r.concat(r.map(fe)))), r;
71
71
  }
72
72
  function ne(s) {
73
73
  return s.replace(/left|right|bottom|top/g, (e) => mt[e]);
74
74
  }
75
- function yt(s) {
75
+ function kt(s) {
76
76
  return {
77
77
  top: 0,
78
78
  right: 0,
@@ -81,8 +81,8 @@ function yt(s) {
81
81
  ...s
82
82
  };
83
83
  }
84
- function kt(s) {
85
- return typeof s != "number" ? yt(s) : {
84
+ function yt(s) {
85
+ return typeof s != "number" ? kt(s) : {
86
86
  top: s,
87
87
  right: s,
88
88
  bottom: s,
@@ -107,12 +107,12 @@ function ae(s) {
107
107
  y: t
108
108
  };
109
109
  }
110
- function Be(s, e, t) {
110
+ function De(s, e, t) {
111
111
  let {
112
112
  reference: o,
113
113
  floating: i
114
114
  } = s;
115
- const r = B(e), n = Ke(e), a = Ue(n), l = N(e), c = r === "y", h = o.x + o.width / 2 - i.width / 2, p = o.y + o.height / 2 - i.height / 2, u = o[a] / 2 - i[a] / 2;
115
+ const r = B(e), n = qe(e), a = Ke(n), l = N(e), c = r === "y", h = o.x + o.width / 2 - i.width / 2, p = o.y + o.height / 2 - i.height / 2, u = o[a] / 2 - i[a] / 2;
116
116
  let m;
117
117
  switch (l) {
118
118
  case "top":
@@ -169,16 +169,16 @@ const xt = async (s, e, t) => {
169
169
  }), {
170
170
  x: h,
171
171
  y: p
172
- } = Be(c, o, l), u = o, m = {}, g = 0;
172
+ } = De(c, o, l), u = o, m = {}, g = 0;
173
173
  for (let b = 0; b < a.length; b++) {
174
174
  const {
175
175
  name: f,
176
176
  fn: v
177
177
  } = a[b], {
178
- x: w,
179
- y,
180
- data: x,
181
- reset: k
178
+ x: _,
179
+ y: k,
180
+ data: C,
181
+ reset: y
182
182
  } = await v({
183
183
  x: h,
184
184
  y: p,
@@ -193,20 +193,20 @@ const xt = async (s, e, t) => {
193
193
  floating: e
194
194
  }
195
195
  });
196
- h = w ?? h, p = y ?? p, m = {
196
+ h = _ ?? h, p = k ?? p, m = {
197
197
  ...m,
198
198
  [f]: {
199
199
  ...m[f],
200
- ...x
200
+ ...C
201
201
  }
202
- }, k && g <= 50 && (g++, typeof k == "object" && (k.placement && (u = k.placement), k.rects && (c = k.rects === !0 ? await n.getElementRects({
202
+ }, y && g <= 50 && (g++, typeof y == "object" && (y.placement && (u = y.placement), y.rects && (c = y.rects === !0 ? await n.getElementRects({
203
203
  reference: s,
204
204
  floating: e,
205
205
  strategy: i
206
- }) : k.rects), {
206
+ }) : y.rects), {
207
207
  x: h,
208
208
  y: p
209
- } = Be(c, u, l)), b = -1);
209
+ } = De(c, u, l)), b = -1);
210
210
  }
211
211
  return {
212
212
  x: h,
@@ -216,7 +216,7 @@ const xt = async (s, e, t) => {
216
216
  middlewareData: m
217
217
  };
218
218
  };
219
- async function qe(s, e) {
219
+ async function Ye(s, e) {
220
220
  var t;
221
221
  e === void 0 && (e = {});
222
222
  const {
@@ -232,33 +232,33 @@ async function qe(s, e) {
232
232
  elementContext: p = "floating",
233
233
  altBoundary: u = !1,
234
234
  padding: m = 0
235
- } = le(e, s), g = kt(m), f = a[u ? p === "floating" ? "reference" : "floating" : p], v = ae(await r.getClippingRect({
235
+ } = le(e, s), g = yt(m), f = a[u ? p === "floating" ? "reference" : "floating" : p], v = ae(await r.getClippingRect({
236
236
  element: (t = await (r.isElement == null ? void 0 : r.isElement(f))) == null || t ? f : f.contextElement || await (r.getDocumentElement == null ? void 0 : r.getDocumentElement(a.floating)),
237
237
  boundary: c,
238
238
  rootBoundary: h,
239
239
  strategy: l
240
- })), w = p === "floating" ? {
240
+ })), _ = p === "floating" ? {
241
241
  x: o,
242
242
  y: i,
243
243
  width: n.floating.width,
244
244
  height: n.floating.height
245
- } : n.reference, y = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(a.floating)), x = await (r.isElement == null ? void 0 : r.isElement(y)) ? await (r.getScale == null ? void 0 : r.getScale(y)) || {
245
+ } : n.reference, k = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(a.floating)), C = await (r.isElement == null ? void 0 : r.isElement(k)) ? await (r.getScale == null ? void 0 : r.getScale(k)) || {
246
246
  x: 1,
247
247
  y: 1
248
248
  } : {
249
249
  x: 1,
250
250
  y: 1
251
- }, k = ae(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({
251
+ }, y = ae(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({
252
252
  elements: a,
253
- rect: w,
254
- offsetParent: y,
253
+ rect: _,
254
+ offsetParent: k,
255
255
  strategy: l
256
- }) : w);
256
+ }) : _);
257
257
  return {
258
- top: (v.top - k.top + g.top) / x.y,
259
- bottom: (k.bottom - v.bottom + g.bottom) / x.y,
260
- left: (v.left - k.left + g.left) / x.x,
261
- right: (k.right - v.right + g.right) / x.x
258
+ top: (v.top - y.top + g.top) / C.y,
259
+ bottom: (y.bottom - v.bottom + g.bottom) / C.y,
260
+ left: (v.left - y.left + g.left) / C.x,
261
+ right: (y.right - v.right + g.right) / C.x
262
262
  };
263
263
  }
264
264
  const Ct = function(s) {
@@ -285,23 +285,23 @@ const Ct = function(s) {
285
285
  } = le(s, e);
286
286
  if ((t = r.arrow) != null && t.alignmentOffset)
287
287
  return {};
288
- const v = N(i), w = B(a), y = N(a) === a, x = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), k = u || (y || !b ? [ne(a)] : bt(a)), Y = g !== "none";
289
- !u && Y && k.push(...wt(a, b, g, x));
290
- const j = [a, ...k], ue = await qe(e, f), te = [];
288
+ const v = N(i), _ = B(a), k = N(a) === a, C = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), y = u || (k || !b ? [ne(a)] : bt(a)), Y = g !== "none";
289
+ !u && Y && y.push(..._t(a, b, g, C));
290
+ const j = [a, ...y], ue = await Ye(e, f), te = [];
291
291
  let G = ((o = r.flip) == null ? void 0 : o.overflows) || [];
292
292
  if (h && te.push(ue[v]), p) {
293
- const $ = gt(i, n, x);
293
+ const $ = gt(i, n, C);
294
294
  te.push(ue[$[0]], ue[$[1]]);
295
295
  }
296
296
  if (G = [...G, {
297
297
  placement: i,
298
298
  overflows: te
299
299
  }], !te.every(($) => $ <= 0)) {
300
- var Ae, Pe;
301
- const $ = (((Ae = r.flip) == null ? void 0 : Ae.index) || 0) + 1, ge = j[$];
302
- if (ge && (!(p === "alignment" ? w !== B(ge) : !1) || // We leave the current main axis only if every placement on that axis
300
+ var Me, Pe;
301
+ const $ = (((Me = r.flip) == null ? void 0 : Me.index) || 0) + 1, ge = j[$];
302
+ if (ge && (!(p === "alignment" ? _ !== B(ge) : !1) || // We leave the current main axis only if every placement on that axis
303
303
  // overflows the main axis.
304
- G.every((I) => B(I.placement) === w ? I.overflows[0] > 0 : !0)))
304
+ G.every((I) => B(I.placement) === _ ? I.overflows[0] > 0 : !0)))
305
305
  return {
306
306
  data: {
307
307
  index: $,
@@ -315,16 +315,16 @@ const Ct = function(s) {
315
315
  if (!J)
316
316
  switch (m) {
317
317
  case "bestFit": {
318
- var Me;
319
- const H = (Me = G.filter((I) => {
318
+ var Ee;
319
+ const H = (Ee = G.filter((I) => {
320
320
  if (Y) {
321
- const z = B(I.placement);
322
- return z === w || // Create a bias to the `y` side axis due to horizontal
321
+ const V = B(I.placement);
322
+ return V === _ || // Create a bias to the `y` side axis due to horizontal
323
323
  // reading directions favoring greater width.
324
- z === "y";
324
+ V === "y";
325
325
  }
326
326
  return !0;
327
- }).map((I) => [I.placement, I.overflows.filter((z) => z > 0).reduce((z, ct) => z + ct, 0)]).sort((I, z) => I[1] - z[1])[0]) == null ? void 0 : Me[0];
327
+ }).map((I) => [I.placement, I.overflows.filter((V) => V > 0).reduce((V, ct) => V + ct, 0)]).sort((I, V) => I[1] - V[1])[0]) == null ? void 0 : Ee[0];
328
328
  H && (J = H);
329
329
  break;
330
330
  }
@@ -408,11 +408,11 @@ const It = function(s) {
408
408
  fn: (f) => {
409
409
  let {
410
410
  x: v,
411
- y: w
411
+ y: _
412
412
  } = f;
413
413
  return {
414
414
  x: v,
415
- y: w
415
+ y: _
416
416
  };
417
417
  }
418
418
  },
@@ -420,15 +420,15 @@ const It = function(s) {
420
420
  } = le(s, e), c = {
421
421
  x: t,
422
422
  y: o
423
- }, h = await qe(e, l), p = B(N(i)), u = Ge(p);
423
+ }, h = await Ye(e, l), p = B(N(i)), u = Ue(p);
424
424
  let m = c[u], g = c[p];
425
425
  if (r) {
426
- const f = u === "y" ? "top" : "left", v = u === "y" ? "bottom" : "right", w = m + h[f], y = m - h[v];
427
- m = Ee(w, m, y);
426
+ const f = u === "y" ? "top" : "left", v = u === "y" ? "bottom" : "right", _ = m + h[f], k = m - h[v];
427
+ m = ze(_, m, k);
428
428
  }
429
429
  if (n) {
430
- const f = p === "y" ? "top" : "left", v = p === "y" ? "bottom" : "right", w = g + h[f], y = g - h[v];
431
- g = Ee(w, g, y);
430
+ const f = p === "y" ? "top" : "left", v = p === "y" ? "bottom" : "right", _ = g + h[f], k = g - h[v];
431
+ g = ze(_, g, k);
432
432
  }
433
433
  const b = a.fn({
434
434
  ...e,
@@ -453,17 +453,17 @@ function de() {
453
453
  return typeof window < "u";
454
454
  }
455
455
  function q(s) {
456
- return Ye(s) ? (s.nodeName || "").toLowerCase() : "#document";
456
+ return Je(s) ? (s.nodeName || "").toLowerCase() : "#document";
457
457
  }
458
458
  function T(s) {
459
459
  var e;
460
460
  return (s == null || (e = s.ownerDocument) == null ? void 0 : e.defaultView) || window;
461
461
  }
462
- function V(s) {
462
+ function z(s) {
463
463
  var e;
464
- return (e = (Ye(s) ? s.ownerDocument : s.document) || window.document) == null ? void 0 : e.documentElement;
464
+ return (e = (Je(s) ? s.ownerDocument : s.document) || window.document) == null ? void 0 : e.documentElement;
465
465
  }
466
- function Ye(s) {
466
+ function Je(s) {
467
467
  return de() ? s instanceof Node || s instanceof T(s).Node : !1;
468
468
  }
469
469
  function L(s) {
@@ -472,7 +472,7 @@ function L(s) {
472
472
  function E(s) {
473
473
  return de() ? s instanceof HTMLElement || s instanceof T(s).HTMLElement : !1;
474
474
  }
475
- function De(s) {
475
+ function $e(s) {
476
476
  return !de() || typeof ShadowRoot > "u" ? !1 : s instanceof ShadowRoot || s instanceof T(s).ShadowRoot;
477
477
  }
478
478
  const Lt = /* @__PURE__ */ new Set(["inline", "contents"]);
@@ -486,12 +486,12 @@ function ee(s) {
486
486
  return /auto|scroll|overlay|hidden|clip/.test(e + o + t) && !Lt.has(i);
487
487
  }
488
488
  const At = /* @__PURE__ */ new Set(["table", "td", "th"]);
489
- function Pt(s) {
489
+ function Mt(s) {
490
490
  return At.has(q(s));
491
491
  }
492
- const Mt = [":popover-open", ":modal"];
492
+ const Pt = [":popover-open", ":modal"];
493
493
  function he(s) {
494
- return Mt.some((e) => {
494
+ return Pt.some((e) => {
495
495
  try {
496
496
  return s.matches(e);
497
497
  } catch {
@@ -499,10 +499,10 @@ function he(s) {
499
499
  }
500
500
  });
501
501
  }
502
- const Et = ["transform", "translate", "scale", "rotate", "perspective"], Vt = ["transform", "translate", "scale", "rotate", "perspective", "filter"], zt = ["paint", "layout", "strict", "content"];
502
+ const Et = ["transform", "translate", "scale", "rotate", "perspective"], zt = ["transform", "translate", "scale", "rotate", "perspective", "filter"], Vt = ["paint", "layout", "strict", "content"];
503
503
  function Te(s) {
504
504
  const e = Ie(), t = L(s) ? A(s) : s;
505
- return Et.some((o) => t[o] ? t[o] !== "none" : !1) || (t.containerType ? t.containerType !== "normal" : !1) || !e && (t.backdropFilter ? t.backdropFilter !== "none" : !1) || !e && (t.filter ? t.filter !== "none" : !1) || Vt.some((o) => (t.willChange || "").includes(o)) || zt.some((o) => (t.contain || "").includes(o));
505
+ return Et.some((o) => t[o] ? t[o] !== "none" : !1) || (t.containerType ? t.containerType !== "normal" : !1) || !e && (t.backdropFilter ? t.backdropFilter !== "none" : !1) || !e && (t.filter ? t.filter !== "none" : !1) || zt.some((o) => (t.willChange || "").includes(o)) || Vt.some((o) => (t.contain || "").includes(o));
506
506
  }
507
507
  function Bt(s) {
508
508
  let e = D(s);
@@ -541,19 +541,19 @@ function D(s) {
541
541
  // Step into the shadow DOM of the parent of a slotted node.
542
542
  s.assignedSlot || // DOM Element detected.
543
543
  s.parentNode || // ShadowRoot detected.
544
- De(s) && s.host || // Fallback.
545
- V(s)
544
+ $e(s) && s.host || // Fallback.
545
+ z(s)
546
546
  );
547
- return De(e) ? e.host : e;
547
+ return $e(e) ? e.host : e;
548
548
  }
549
- function Je(s) {
549
+ function Xe(s) {
550
550
  const e = D(s);
551
- return K(e) ? s.ownerDocument ? s.ownerDocument.body : s.body : E(e) && ee(e) ? e : Je(e);
551
+ return K(e) ? s.ownerDocument ? s.ownerDocument.body : s.body : E(e) && ee(e) ? e : Xe(e);
552
552
  }
553
553
  function Q(s, e, t) {
554
554
  var o;
555
555
  e === void 0 && (e = []), t === void 0 && (t = !0);
556
- const i = Je(s), r = i === ((o = s.ownerDocument) == null ? void 0 : o.body), n = T(i);
556
+ const i = Xe(s), r = i === ((o = s.ownerDocument) == null ? void 0 : o.body), n = T(i);
557
557
  if (r) {
558
558
  const a = ve(n);
559
559
  return e.concat(n, n.visualViewport || [], ee(i) ? i : [], a && t ? Q(a) : []);
@@ -563,7 +563,7 @@ function Q(s, e, t) {
563
563
  function ve(s) {
564
564
  return s.parent && Object.getPrototypeOf(s.parent) ? s.frameElement : null;
565
565
  }
566
- function Xe(s) {
566
+ function Qe(s) {
567
567
  const e = A(s);
568
568
  let t = parseFloat(e.width) || 0, o = parseFloat(e.height) || 0;
569
569
  const i = E(s), r = i ? s.offsetWidth : t, n = i ? s.offsetHeight : o, a = re(t) !== r || re(o) !== n;
@@ -579,20 +579,20 @@ function Oe(s) {
579
579
  function U(s) {
580
580
  const e = Oe(s);
581
581
  if (!E(e))
582
- return M(1);
582
+ return P(1);
583
583
  const t = e.getBoundingClientRect(), {
584
584
  width: o,
585
585
  height: i,
586
586
  $: r
587
- } = Xe(e);
587
+ } = Qe(e);
588
588
  let n = (r ? re(t.width) : t.width) / o, a = (r ? re(t.height) : t.height) / i;
589
589
  return (!n || !Number.isFinite(n)) && (n = 1), (!a || !Number.isFinite(a)) && (a = 1), {
590
590
  x: n,
591
591
  y: a
592
592
  };
593
593
  }
594
- const $t = /* @__PURE__ */ M(0);
595
- function Qe(s) {
594
+ const $t = /* @__PURE__ */ P(0);
595
+ function Ze(s) {
596
596
  const e = T(s);
597
597
  return !Ie() || !e.visualViewport ? $t : {
598
598
  x: e.visualViewport.offsetLeft,
@@ -605,16 +605,16 @@ function Ht(s, e, t) {
605
605
  function W(s, e, t, o) {
606
606
  e === void 0 && (e = !1), t === void 0 && (t = !1);
607
607
  const i = s.getBoundingClientRect(), r = Oe(s);
608
- let n = M(1);
608
+ let n = P(1);
609
609
  e && (o ? L(o) && (n = U(o)) : n = U(s));
610
- const a = Ht(r, t, o) ? Qe(r) : M(0);
610
+ const a = Ht(r, t, o) ? Ze(r) : P(0);
611
611
  let l = (i.left + a.x) / n.x, c = (i.top + a.y) / n.y, h = i.width / n.x, p = i.height / n.y;
612
612
  if (r) {
613
613
  const u = T(r), m = o && L(o) ? T(o) : o;
614
614
  let g = u, b = ve(g);
615
615
  for (; b && o && m !== g; ) {
616
- const f = U(b), v = b.getBoundingClientRect(), w = A(b), y = v.left + (b.clientLeft + parseFloat(w.paddingLeft)) * f.x, x = v.top + (b.clientTop + parseFloat(w.paddingTop)) * f.y;
617
- l *= f.x, c *= f.y, h *= f.x, p *= f.y, l += y, c += x, g = T(b), b = ve(g);
616
+ const f = U(b), v = b.getBoundingClientRect(), _ = A(b), k = v.left + (b.clientLeft + parseFloat(_.paddingLeft)) * f.x, C = v.top + (b.clientTop + parseFloat(_.paddingTop)) * f.y;
617
+ l *= f.x, c *= f.y, h *= f.x, p *= f.y, l += k, c += C, g = T(b), b = ve(g);
618
618
  }
619
619
  }
620
620
  return ae({
@@ -626,9 +626,9 @@ function W(s, e, t, o) {
626
626
  }
627
627
  function pe(s, e) {
628
628
  const t = me(s).scrollLeft;
629
- return e ? e.left + t : W(V(s)).left + t;
629
+ return e ? e.left + t : W(z(s)).left + t;
630
630
  }
631
- function Ze(s, e) {
631
+ function et(s, e) {
632
632
  const t = s.getBoundingClientRect(), o = t.left + e.scrollLeft - pe(s, t), i = t.top + e.scrollTop;
633
633
  return {
634
634
  x: o,
@@ -642,19 +642,19 @@ function Rt(s) {
642
642
  offsetParent: o,
643
643
  strategy: i
644
644
  } = s;
645
- const r = i === "fixed", n = V(o), a = e ? he(e.floating) : !1;
645
+ const r = i === "fixed", n = z(o), a = e ? he(e.floating) : !1;
646
646
  if (o === n || a && r)
647
647
  return t;
648
648
  let l = {
649
649
  scrollLeft: 0,
650
650
  scrollTop: 0
651
- }, c = M(1);
652
- const h = M(0), p = E(o);
651
+ }, c = P(1);
652
+ const h = P(0), p = E(o);
653
653
  if ((p || !p && !r) && ((q(o) !== "body" || ee(n)) && (l = me(o)), E(o))) {
654
654
  const m = W(o);
655
655
  c = U(o), h.x = m.x + o.clientLeft, h.y = m.y + o.clientTop;
656
656
  }
657
- const u = n && !p && !r ? Ze(n, l) : M(0);
657
+ const u = n && !p && !r ? et(n, l) : P(0);
658
658
  return {
659
659
  width: t.width * c.x,
660
660
  height: t.height * c.y,
@@ -666,7 +666,7 @@ function Ft(s) {
666
666
  return Array.from(s.getClientRects());
667
667
  }
668
668
  function Nt(s) {
669
- const e = V(s), t = me(s), o = s.ownerDocument.body, i = F(e.scrollWidth, e.clientWidth, o.scrollWidth, o.clientWidth), r = F(e.scrollHeight, e.clientHeight, o.scrollHeight, o.clientHeight);
669
+ const e = z(s), t = me(s), o = s.ownerDocument.body, i = F(e.scrollWidth, e.clientWidth, o.scrollWidth, o.clientWidth), r = F(e.scrollHeight, e.clientHeight, o.scrollHeight, o.clientHeight);
670
670
  let n = -t.scrollLeft + pe(s);
671
671
  const a = -t.scrollTop;
672
672
  return A(o).direction === "rtl" && (n += F(e.clientWidth, o.clientWidth) - i), {
@@ -676,9 +676,9 @@ function Nt(s) {
676
676
  y: a
677
677
  };
678
678
  }
679
- const $e = 25;
679
+ const He = 25;
680
680
  function Wt(s, e) {
681
- const t = T(s), o = V(s), i = t.visualViewport;
681
+ const t = T(s), o = z(s), i = t.visualViewport;
682
682
  let r = o.clientWidth, n = o.clientHeight, a = 0, l = 0;
683
683
  if (i) {
684
684
  r = i.width, n = i.height;
@@ -688,8 +688,8 @@ function Wt(s, e) {
688
688
  const c = pe(o);
689
689
  if (c <= 0) {
690
690
  const h = o.ownerDocument, p = h.body, u = getComputedStyle(p), m = h.compatMode === "CSS1Compat" && parseFloat(u.marginLeft) + parseFloat(u.marginRight) || 0, g = Math.abs(o.clientWidth - p.clientWidth - m);
691
- g <= $e && (r -= g);
692
- } else c <= $e && (r += c);
691
+ g <= He && (r -= g);
692
+ } else c <= He && (r += c);
693
693
  return {
694
694
  width: r,
695
695
  height: n,
@@ -699,7 +699,7 @@ function Wt(s, e) {
699
699
  }
700
700
  const jt = /* @__PURE__ */ new Set(["absolute", "fixed"]);
701
701
  function Gt(s, e) {
702
- const t = W(s, !0, e === "fixed"), o = t.top + s.clientTop, i = t.left + s.clientLeft, r = E(s) ? U(s) : M(1), n = s.clientWidth * r.x, a = s.clientHeight * r.y, l = i * r.x, c = o * r.y;
702
+ const t = W(s, !0, e === "fixed"), o = t.top + s.clientTop, i = t.left + s.clientLeft, r = E(s) ? U(s) : P(1), n = s.clientWidth * r.x, a = s.clientHeight * r.y, l = i * r.x, c = o * r.y;
703
703
  return {
704
704
  width: n,
705
705
  height: a,
@@ -707,16 +707,16 @@ function Gt(s, e) {
707
707
  y: c
708
708
  };
709
709
  }
710
- function He(s, e, t) {
710
+ function Re(s, e, t) {
711
711
  let o;
712
712
  if (e === "viewport")
713
713
  o = Wt(s, t);
714
714
  else if (e === "document")
715
- o = Nt(V(s));
715
+ o = Nt(z(s));
716
716
  else if (L(e))
717
717
  o = Gt(e, t);
718
718
  else {
719
- const i = Qe(s);
719
+ const i = Ze(s);
720
720
  o = {
721
721
  x: e.x - i.x,
722
722
  y: e.y - i.y,
@@ -726,9 +726,9 @@ function He(s, e, t) {
726
726
  }
727
727
  return ae(o);
728
728
  }
729
- function et(s, e) {
729
+ function tt(s, e) {
730
730
  const t = D(s);
731
- return t === e || !L(t) || K(t) ? !1 : A(t).position === "fixed" || et(t, e);
731
+ return t === e || !L(t) || K(t) ? !1 : A(t).position === "fixed" || tt(t, e);
732
732
  }
733
733
  function Ut(s, e) {
734
734
  const t = e.get(s);
@@ -739,7 +739,7 @@ function Ut(s, e) {
739
739
  let n = r ? D(s) : s;
740
740
  for (; L(n) && !K(n); ) {
741
741
  const a = A(n), l = Te(n);
742
- !l && a.position === "fixed" && (i = null), (r ? !l && !i : !l && a.position === "static" && !!i && jt.has(i.position) || ee(n) && !l && et(s, n)) ? o = o.filter((h) => h !== n) : i = a, n = D(n);
742
+ !l && a.position === "fixed" && (i = null), (r ? !l && !i : !l && a.position === "static" && !!i && jt.has(i.position) || ee(n) && !l && tt(s, n)) ? o = o.filter((h) => h !== n) : i = a, n = D(n);
743
743
  }
744
744
  return e.set(s, o), o;
745
745
  }
@@ -751,9 +751,9 @@ function Kt(s) {
751
751
  strategy: i
752
752
  } = s;
753
753
  const n = [...t === "clippingAncestors" ? he(e) ? [] : Ut(e, this._c) : [].concat(t), o], a = n[0], l = n.reduce((c, h) => {
754
- const p = He(e, h, i);
754
+ const p = Re(e, h, i);
755
755
  return c.top = F(p.top, c.top), c.right = ie(p.right, c.right), c.bottom = ie(p.bottom, c.bottom), c.left = F(p.left, c.left), c;
756
- }, He(e, a, i));
756
+ }, Re(e, a, i));
757
757
  return {
758
758
  width: l.right - l.left,
759
759
  height: l.bottom - l.top,
@@ -765,19 +765,19 @@ function qt(s) {
765
765
  const {
766
766
  width: e,
767
767
  height: t
768
- } = Xe(s);
768
+ } = Qe(s);
769
769
  return {
770
770
  width: e,
771
771
  height: t
772
772
  };
773
773
  }
774
774
  function Yt(s, e, t) {
775
- const o = E(e), i = V(e), r = t === "fixed", n = W(s, !0, r, e);
775
+ const o = E(e), i = z(e), r = t === "fixed", n = W(s, !0, r, e);
776
776
  let a = {
777
777
  scrollLeft: 0,
778
778
  scrollTop: 0
779
779
  };
780
- const l = M(0);
780
+ const l = P(0);
781
781
  function c() {
782
782
  l.x = pe(i);
783
783
  }
@@ -787,7 +787,7 @@ function Yt(s, e, t) {
787
787
  l.x = m.x + e.clientLeft, l.y = m.y + e.clientTop;
788
788
  } else i && c();
789
789
  r && !o && i && c();
790
- const h = i && !o && !r ? Ze(i, a) : M(0), p = n.left + a.scrollLeft - l.x - h.x, u = n.top + a.scrollTop - l.y - h.y;
790
+ const h = i && !o && !r ? et(i, a) : P(0), p = n.left + a.scrollLeft - l.x - h.x, u = n.top + a.scrollTop - l.y - h.y;
791
791
  return {
792
792
  x: p,
793
793
  y: u,
@@ -798,15 +798,15 @@ function Yt(s, e, t) {
798
798
  function be(s) {
799
799
  return A(s).position === "static";
800
800
  }
801
- function Re(s, e) {
801
+ function Fe(s, e) {
802
802
  if (!E(s) || A(s).position === "fixed")
803
803
  return null;
804
804
  if (e)
805
805
  return e(s);
806
806
  let t = s.offsetParent;
807
- return V(s) === t && (t = t.ownerDocument.body), t;
807
+ return z(s) === t && (t = t.ownerDocument.body), t;
808
808
  }
809
- function tt(s, e) {
809
+ function st(s, e) {
810
810
  const t = T(s);
811
811
  if (he(s))
812
812
  return t;
@@ -819,13 +819,13 @@ function tt(s, e) {
819
819
  }
820
820
  return t;
821
821
  }
822
- let o = Re(s, e);
823
- for (; o && Pt(o) && be(o); )
824
- o = Re(o, e);
822
+ let o = Fe(s, e);
823
+ for (; o && Mt(o) && be(o); )
824
+ o = Fe(o, e);
825
825
  return o && K(o) && be(o) && !Te(o) ? t : o || Bt(s) || t;
826
826
  }
827
827
  const Jt = async function(s) {
828
- const e = this.getOffsetParent || tt, t = this.getDimensions, o = await t(s.floating);
828
+ const e = this.getOffsetParent || st, t = this.getDimensions, o = await t(s.floating);
829
829
  return {
830
830
  reference: Yt(s.reference, await e(s.floating), s.strategy),
831
831
  floating: {
@@ -841,9 +841,9 @@ function Xt(s) {
841
841
  }
842
842
  const Qt = {
843
843
  convertOffsetParentRelativeRectToViewportRelativeRect: Rt,
844
- getDocumentElement: V,
844
+ getDocumentElement: z,
845
845
  getClippingRect: Kt,
846
- getOffsetParent: tt,
846
+ getOffsetParent: st,
847
847
  getElementRects: Jt,
848
848
  getClientRects: Ft,
849
849
  getDimensions: qt,
@@ -851,12 +851,12 @@ const Qt = {
851
851
  isElement: L,
852
852
  isRTL: Xt
853
853
  };
854
- function st(s, e) {
854
+ function ot(s, e) {
855
855
  return s.x === e.x && s.y === e.y && s.width === e.width && s.height === e.height;
856
856
  }
857
857
  function Zt(s, e) {
858
858
  let t = null, o;
859
- const i = V(s);
859
+ const i = z(s);
860
860
  function r() {
861
861
  var a;
862
862
  clearTimeout(o), (a = t) == null || a.disconnect(), t = null;
@@ -871,36 +871,36 @@ function Zt(s, e) {
871
871
  } = c;
872
872
  if (a || e(), !u || !m)
873
873
  return;
874
- const g = se(p), b = se(i.clientWidth - (h + u)), f = se(i.clientHeight - (p + m)), v = se(h), y = {
874
+ const g = se(p), b = se(i.clientWidth - (h + u)), f = se(i.clientHeight - (p + m)), v = se(h), k = {
875
875
  rootMargin: -g + "px " + -b + "px " + -f + "px " + -v + "px",
876
876
  threshold: F(0, ie(1, l)) || 1
877
877
  };
878
- let x = !0;
879
- function k(Y) {
878
+ let C = !0;
879
+ function y(Y) {
880
880
  const j = Y[0].intersectionRatio;
881
881
  if (j !== l) {
882
- if (!x)
882
+ if (!C)
883
883
  return n();
884
884
  j ? n(!1, j) : o = setTimeout(() => {
885
885
  n(!1, 1e-7);
886
886
  }, 1e3);
887
887
  }
888
- j === 1 && !st(c, s.getBoundingClientRect()) && n(), x = !1;
888
+ j === 1 && !ot(c, s.getBoundingClientRect()) && n(), C = !1;
889
889
  }
890
890
  try {
891
- t = new IntersectionObserver(k, {
892
- ...y,
891
+ t = new IntersectionObserver(y, {
892
+ ...k,
893
893
  // Handle <iframe>s
894
894
  root: i.ownerDocument
895
895
  });
896
896
  } catch {
897
- t = new IntersectionObserver(k, y);
897
+ t = new IntersectionObserver(y, k);
898
898
  }
899
899
  t.observe(s);
900
900
  }
901
901
  return n(!0), r;
902
902
  }
903
- function _e(s, e, t, o) {
903
+ function we(s, e, t, o) {
904
904
  o === void 0 && (o = {});
905
905
  const {
906
906
  ancestorScroll: i = !0,
@@ -917,26 +917,26 @@ function _e(s, e, t, o) {
917
917
  const p = c && a ? Zt(c, t) : null;
918
918
  let u = -1, m = null;
919
919
  n && (m = new ResizeObserver((v) => {
920
- let [w] = v;
921
- w && w.target === c && m && (m.unobserve(e), cancelAnimationFrame(u), u = requestAnimationFrame(() => {
922
- var y;
923
- (y = m) == null || y.observe(e);
920
+ let [_] = v;
921
+ _ && _.target === c && m && (m.unobserve(e), cancelAnimationFrame(u), u = requestAnimationFrame(() => {
922
+ var k;
923
+ (k = m) == null || k.observe(e);
924
924
  })), t();
925
925
  }), c && !l && m.observe(c), m.observe(e));
926
926
  let g, b = l ? W(s) : null;
927
927
  l && f();
928
928
  function f() {
929
929
  const v = W(s);
930
- b && !st(b, v) && t(), b = v, g = requestAnimationFrame(f);
930
+ b && !ot(b, v) && t(), b = v, g = requestAnimationFrame(f);
931
931
  }
932
932
  return t(), () => {
933
933
  var v;
934
- h.forEach((w) => {
935
- i && w.removeEventListener("scroll", t), r && w.removeEventListener("resize", t);
934
+ h.forEach((_) => {
935
+ i && _.removeEventListener("scroll", t), r && _.removeEventListener("resize", t);
936
936
  }), p == null || p(), (v = m) == null || v.disconnect(), m = null, l && cancelAnimationFrame(g);
937
937
  };
938
938
  }
939
- const we = It, ye = Ot, ot = Ct, ke = (s, e, t) => {
939
+ const _e = It, ke = Ot, it = Ct, ye = (s, e, t) => {
940
940
  const o = /* @__PURE__ */ new Map(), i = {
941
941
  platform: Qt,
942
942
  ...t
@@ -949,15 +949,15 @@ const we = It, ye = Ot, ot = Ct, ke = (s, e, t) => {
949
949
  platform: r
950
950
  });
951
951
  };
952
- var it = function() {
952
+ var rt = function() {
953
953
  }, O = "undefined", es = typeof window !== O && typeof window.navigator !== O && /Trident\/|MSIE /.test(window.navigator.userAgent), xe = [
954
954
  "trace",
955
955
  "debug",
956
956
  "info",
957
957
  "warn",
958
958
  "error"
959
- ], Z = {}, _ = null;
960
- function Fe(s, e) {
959
+ ], Z = {}, w = null;
960
+ function Ne(s, e) {
961
961
  var t = s[e];
962
962
  if (typeof t.bind == "function")
963
963
  return t.bind(s);
@@ -973,12 +973,12 @@ function ts() {
973
973
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
974
974
  }
975
975
  function ss(s) {
976
- return s === "debug" && (s = "log"), typeof console === O ? !1 : s === "trace" && es ? ts : console[s] !== void 0 ? Fe(console, s) : console.log !== void 0 ? Fe(console, "log") : it;
976
+ return s === "debug" && (s = "log"), typeof console === O ? !1 : s === "trace" && es ? ts : console[s] !== void 0 ? Ne(console, s) : console.log !== void 0 ? Ne(console, "log") : rt;
977
977
  }
978
978
  function X() {
979
979
  for (var s = this.getLevel(), e = 0; e < xe.length; e++) {
980
980
  var t = xe[e];
981
- this[t] = e < s ? it : this.methodFactory(t, s, this.name);
981
+ this[t] = e < s ? rt : this.methodFactory(t, s, this.name);
982
982
  }
983
983
  if (this.log = this.debug, typeof console === O && s < this.levels.SILENT)
984
984
  return "No console available for logging";
@@ -991,7 +991,7 @@ function os(s) {
991
991
  function is(s, e, t) {
992
992
  return ss(s) || os.apply(this, arguments);
993
993
  }
994
- function rt(s, e) {
994
+ function nt(s, e) {
995
995
  var t = this, o, i, r, n = "loglevel";
996
996
  typeof s == "string" ? n += ":" + s : typeof s == "symbol" && (n = void 0);
997
997
  function a(u) {
@@ -1064,33 +1064,33 @@ function rt(s, e) {
1064
1064
  }, t.disableAll = function(u) {
1065
1065
  t.setLevel(t.levels.SILENT, u);
1066
1066
  }, t.rebuild = function() {
1067
- if (_ !== t && (o = h(_.getLevel())), X.call(t), _ === t)
1067
+ if (w !== t && (o = h(w.getLevel())), X.call(t), w === t)
1068
1068
  for (var u in Z)
1069
1069
  Z[u].rebuild();
1070
1070
  }, o = h(
1071
- _ ? _.getLevel() : "WARN"
1071
+ w ? w.getLevel() : "WARN"
1072
1072
  );
1073
1073
  var p = l();
1074
1074
  p != null && (r = h(p)), X.call(t);
1075
1075
  }
1076
- _ = new rt();
1077
- _.getLogger = function(e) {
1076
+ w = new nt();
1077
+ w.getLogger = function(e) {
1078
1078
  if (typeof e != "symbol" && typeof e != "string" || e === "")
1079
1079
  throw new TypeError("You must supply a name when creating a logger.");
1080
1080
  var t = Z[e];
1081
- return t || (t = Z[e] = new rt(
1081
+ return t || (t = Z[e] = new nt(
1082
1082
  e,
1083
- _.methodFactory
1083
+ w.methodFactory
1084
1084
  )), t;
1085
1085
  };
1086
1086
  var rs = typeof window !== O ? window.log : void 0;
1087
- _.noConflict = function() {
1088
- return typeof window !== O && window.log === _ && (window.log = rs), _;
1087
+ w.noConflict = function() {
1088
+ return typeof window !== O && window.log === w && (window.log = rs), w;
1089
1089
  };
1090
- _.getLoggers = function() {
1090
+ w.getLoggers = function() {
1091
1091
  return Z;
1092
1092
  };
1093
- _.default = _;
1093
+ w.default = w;
1094
1094
  var ns = function(s) {
1095
1095
  for (var e = 1, t = arguments.length, o; e < t; e++)
1096
1096
  for (o in arguments[e])
@@ -1108,10 +1108,10 @@ var ns = function(s) {
1108
1108
  return s.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");
1109
1109
  },
1110
1110
  format: void 0
1111
- }, nt, R = {}, ls = function(s) {
1111
+ }, at, R = {}, ls = function(s) {
1112
1112
  if (!s || !s.getLogger)
1113
1113
  throw new TypeError("Argument is not a root logger");
1114
- nt = s;
1114
+ at = s;
1115
1115
  }, cs = function(s, e) {
1116
1116
  if (!s || !s.setLevel)
1117
1117
  throw new TypeError("Argument is not a logger");
@@ -1122,13 +1122,13 @@ var ns = function(s) {
1122
1122
  for (var g = "", b = arguments.length, f = Array(b), v = 0; v < b; v++)
1123
1123
  f[v] = arguments[v];
1124
1124
  if (o || !R[l]) {
1125
- var w = h.timestampFormatter(/* @__PURE__ */ new Date()), y = h.levelFormatter(n), x = h.nameFormatter(l);
1126
- h.format ? g += h.format(y, x, w) : (g += h.template, p && (g = g.replace(/%t/, w)), u && (g = g.replace(/%l/, y)), m && (g = g.replace(/%n/, x))), f.length && typeof f[0] == "string" ? f[0] = g + " " + f[0] : f.unshift(g);
1125
+ var _ = h.timestampFormatter(/* @__PURE__ */ new Date()), k = h.levelFormatter(n), C = h.nameFormatter(l);
1126
+ h.format ? g += h.format(k, C, _) : (g += h.template, p && (g = g.replace(/%t/, _)), u && (g = g.replace(/%l/, k)), m && (g = g.replace(/%n/, C))), f.length && typeof f[0] == "string" ? f[0] = g + " " + f[0] : f.unshift(g);
1127
1127
  }
1128
1128
  c.apply(void 0, f);
1129
1129
  };
1130
1130
  }
1131
- return R[o] || (s.methodFactory = r), e = e || {}, e.template && (e.format = void 0), R[o] = ns({}, i, e), s.setLevel(s.getLevel()), nt || s.warn(
1131
+ return R[o] || (s.methodFactory = r), e = e || {}, e.template && (e.format = void 0), R[o] = ns({}, i, e), s.setLevel(s.getLevel()), at || s.warn(
1132
1132
  "It is necessary to call the function reg() of loglevel-plugin-prefix before calling apply. From the next release, it will throw an error. See more: https://github.com/kutuluk/loglevel-plugin-prefix/blob/master/README.md"
1133
1133
  ), s;
1134
1134
  }, ds = {
@@ -1145,39 +1145,39 @@ const hs = {
1145
1145
  error: "#ef4444"
1146
1146
  // Red
1147
1147
  };
1148
- ds.reg(_);
1149
- const ms = (s) => s.toTimeString().split(" ")[0] + "." + s.getMilliseconds().toString().padStart(3, "0"), ps = _.methodFactory;
1150
- _.methodFactory = function(s, e, t) {
1148
+ ds.reg(w);
1149
+ const ms = (s) => s.toTimeString().split(" ")[0] + "." + s.getMilliseconds().toString().padStart(3, "0"), ps = w.methodFactory;
1150
+ w.methodFactory = function(s, e, t) {
1151
1151
  const o = ps(s, e, t), r = `color: ${hs[s] || "#666"}; font-weight: bold;`, n = "color: inherit;";
1152
1152
  return function(...a) {
1153
1153
  const l = ms(/* @__PURE__ */ new Date()), c = s.toUpperCase(), h = t ? `%c[${l}]%c %c[${c}]%c %c[${t}]%c` : `%c[${l}]%c %c[${c}]%c`;
1154
1154
  o(h, ...t ? [r, n, r, n, r, n] : [r, n, r, n], ...a);
1155
1155
  };
1156
1156
  };
1157
- typeof _.setDefaultLevel == "function" ? _.setDefaultLevel("silent") : _.setLevel("silent", !1);
1158
- const oe = _.getLogger("MULTISELECT:INIT"), C = _.getLogger("MULTISELECT:DATA"), P = _.getLogger("MULTISELECT:UI"), S = _.getLogger("MULTISELECT:INTERACTION"), us = [
1157
+ typeof w.setDefaultLevel == "function" ? w.setDefaultLevel("silent") : w.setLevel("silent", !1);
1158
+ const oe = w.getLogger("MULTISELECT:INIT"), x = w.getLogger("MULTISELECT:DATA"), M = w.getLogger("MULTISELECT:UI"), S = w.getLogger("MULTISELECT:INTERACTION"), us = [
1159
1159
  "MULTISELECT:INIT",
1160
1160
  "MULTISELECT:DATA",
1161
1161
  "MULTISELECT:UI",
1162
1162
  "MULTISELECT:INTERACTION"
1163
1163
  ];
1164
1164
  function Le() {
1165
- typeof _.rebuild == "function" && _.rebuild();
1165
+ typeof w.rebuild == "function" && w.rebuild();
1166
1166
  }
1167
1167
  function gs() {
1168
- _.setLevel("debug"), Le();
1168
+ w.setLevel("debug"), Le();
1169
1169
  }
1170
1170
  function bs() {
1171
- _.setLevel("silent"), Le();
1171
+ w.setLevel("silent"), Le();
1172
1172
  }
1173
1173
  function fs(s) {
1174
- _.setLevel(s), Le();
1174
+ w.setLevel(s), Le();
1175
1175
  }
1176
1176
  function vs(s, e) {
1177
1177
  const t = s.includes(":") ? s : `MULTISELECT:${s}`;
1178
- _.getLogger(t).setLevel(e);
1178
+ w.getLogger(t).setLevel(e);
1179
1179
  }
1180
- class Ne {
1180
+ class We {
1181
1181
  constructor(e) {
1182
1182
  d(this, "container");
1183
1183
  d(this, "wrapper");
@@ -1299,7 +1299,7 @@ class Ne {
1299
1299
  this.container.removeEventListener("scroll", this.scrollHandler), this.resizeObserver && this.resizeObserver.disconnect(), this.container.innerHTML = "";
1300
1300
  }
1301
1301
  }
1302
- class _s {
1302
+ class ws {
1303
1303
  constructor(e) {
1304
1304
  d(this, "element");
1305
1305
  d(this, "trigger");
@@ -1329,14 +1329,14 @@ class _s {
1329
1329
  }
1330
1330
  show() {
1331
1331
  var e;
1332
- (e = this.onBeforeShow) == null || e.call(this), this.element.classList.add(this.visibleClass), this.positionCleanup && this.positionCleanup(), this.positionCleanup = _e(this.trigger, this.element, () => {
1333
- ke(this.trigger, this.element, {
1332
+ (e = this.onBeforeShow) == null || e.call(this), this.element.classList.add(this.visibleClass), this.positionCleanup && this.positionCleanup(), this.positionCleanup = we(this.trigger, this.element, () => {
1333
+ ye(this.trigger, this.element, {
1334
1334
  placement: this.placement,
1335
1335
  strategy: "fixed",
1336
1336
  middleware: [
1337
- we(this.offsetDistance),
1338
- ot(),
1339
- ye({ padding: 8 })
1337
+ _e(this.offsetDistance),
1338
+ it(),
1339
+ ke({ padding: 8 })
1340
1340
  ]
1341
1341
  }).then(({ x: t, y: o }) => {
1342
1342
  Object.assign(this.element.style, {
@@ -1357,7 +1357,7 @@ class _s {
1357
1357
  this.showTimer !== null && clearTimeout(this.showTimer), this.hideTimer !== null && clearTimeout(this.hideTimer), this.showTimer = null, this.hideTimer = null, this.positionCleanup && (this.positionCleanup(), this.positionCleanup = null), this.trigger.removeEventListener("mouseenter", this.handleMouseEnter), this.trigger.removeEventListener("mouseleave", this.handleMouseLeave), this.element.remove();
1358
1358
  }
1359
1359
  }
1360
- class ws {
1360
+ class _s {
1361
1361
  constructor(e, t = {}) {
1362
1362
  d(this, "element");
1363
1363
  d(this, "instanceId");
@@ -1550,7 +1550,7 @@ class ws {
1550
1550
  try {
1551
1551
  this.allOptions = JSON.parse(e);
1552
1552
  } catch (t) {
1553
- C.error(`[${this.instanceId}] Failed to parse data-options:`, t), this.allOptions = [];
1553
+ x.error(`[${this.instanceId}] Failed to parse data-options:`, t), this.allOptions = [];
1554
1554
  }
1555
1555
  else this.options.options && (this.allOptions = this.options.options);
1556
1556
  this.filteredOptions = [...this.allOptions];
@@ -1641,7 +1641,7 @@ class ws {
1641
1641
  }
1642
1642
  const e = this.options.optionHeight ?? 50, t = this.options.virtualScrollBuffer ?? 10;
1643
1643
  requestAnimationFrame(() => {
1644
- this.optionsContainer && (this.virtualScroll ? this.virtualScroll.setItems(this.filteredOptions) : this.virtualScroll = new Ne({
1644
+ this.optionsContainer && (this.virtualScroll ? this.virtualScroll.setItems(this.filteredOptions) : this.virtualScroll = new We({
1645
1645
  container: this.optionsContainer,
1646
1646
  itemHeight: e,
1647
1647
  items: this.filteredOptions,
@@ -1793,25 +1793,25 @@ class ws {
1793
1793
  if (this.options.beforeSearchCallback) {
1794
1794
  const o = this.options.beforeSearchCallback(e);
1795
1795
  if (o === null) {
1796
- C.debug(`[${this.instanceId}] beforeSearchCallback blocked search for term:`, e), this.filteredOptions = [...this.allOptions], this.matchingIndices.clear(), this.renderDropdown();
1796
+ x.debug(`[${this.instanceId}] beforeSearchCallback blocked search for term:`, e), this.filteredOptions = [...this.allOptions], this.matchingIndices.clear(), this.renderDropdown();
1797
1797
  return;
1798
1798
  }
1799
- t = o, t !== e && C.debug(`[${this.instanceId}] beforeSearchCallback transformed: "${e}" -> "${t}"`);
1799
+ t = o, t !== e && x.debug(`[${this.instanceId}] beforeSearchCallback transformed: "${e}" -> "${t}"`);
1800
1800
  }
1801
1801
  if (this.options.searchCallback) {
1802
1802
  if (t.length < this.options.minSearchLength) {
1803
- this.isLoading = !1, this.options.isKeepOptionsOnSearch ? (this.filteredOptions = [...this.allOptions], C.debug(`[${this.instanceId}] Search term below minimum, showing ${this.allOptions.length} initial options`)) : this.filteredOptions = [], this.matchingIndices.clear(), this.renderDropdown();
1803
+ this.isLoading = !1, this.options.isKeepOptionsOnSearch ? (this.filteredOptions = [...this.allOptions], x.debug(`[${this.instanceId}] Search term below minimum, showing ${this.allOptions.length} initial options`)) : this.filteredOptions = [], this.matchingIndices.clear(), this.renderDropdown();
1804
1804
  return;
1805
1805
  }
1806
- this.isLoading = !0, this.renderDropdown(), C.debug(`[${this.instanceId}] Loading data for search term:`, t);
1806
+ this.isLoading = !0, this.renderDropdown(), x.debug(`[${this.instanceId}] Loading data for search term:`, t);
1807
1807
  try {
1808
1808
  const o = await this.options.searchCallback(t);
1809
1809
  if (this.searchTerm === e) {
1810
1810
  const i = o || [];
1811
- this.filteredOptions = [...i], this.isLoading = !1, this.matchingIndices.clear(), this.focusedIndex = this.options.isSearchEnabled && this.filteredOptions.length > 0 ? 0 : -1, this.renderDropdown(), C.debug(`[${this.instanceId}] Loaded ${i.length} results`);
1811
+ this.filteredOptions = [...i], this.isLoading = !1, this.matchingIndices.clear(), this.focusedIndex = this.options.isSearchEnabled && this.filteredOptions.length > 0 ? 0 : -1, this.renderDropdown(), x.debug(`[${this.instanceId}] Loaded ${i.length} results`);
1812
1812
  }
1813
1813
  } catch (o) {
1814
- C.error(`[${this.instanceId}] Error loading data:`, o), this.isLoading = !1, this.options.isKeepOptionsOnSearch ? this.filteredOptions = [...this.allOptions] : this.filteredOptions = [], this.matchingIndices.clear(), this.renderDropdown();
1814
+ x.error(`[${this.instanceId}] Error loading data:`, o), this.isLoading = !1, this.options.isKeepOptionsOnSearch ? this.filteredOptions = [...this.allOptions] : this.filteredOptions = [], this.matchingIndices.clear(), this.renderDropdown();
1815
1815
  }
1816
1816
  } else {
1817
1817
  if (!t)
@@ -1819,13 +1819,13 @@ class ws {
1819
1819
  else {
1820
1820
  const o = this.options.searchMode || "filter", i = t.toLowerCase();
1821
1821
  if (o === "filter")
1822
- this.filteredOptions = this.allOptions.filter((r) => this.getItemSearchValue(r).toLowerCase().includes(i)), this.matchingIndices.clear(), this.focusedIndex = this.filteredOptions.length > 0 ? 0 : -1, C.debug(`[${this.instanceId}] Filter mode: ${this.filteredOptions.length} matches for "${t}"`);
1822
+ this.filteredOptions = this.allOptions.filter((r) => this.getItemSearchValue(r).toLowerCase().includes(i)), this.matchingIndices.clear(), this.focusedIndex = this.filteredOptions.length > 0 ? 0 : -1, x.debug(`[${this.instanceId}] Filter mode: ${this.filteredOptions.length} matches for "${t}"`);
1823
1823
  else {
1824
1824
  this.filteredOptions = [...this.allOptions], this.matchingIndices.clear();
1825
1825
  let r = -1;
1826
1826
  this.allOptions.forEach((n, a) => {
1827
1827
  this.getItemSearchValue(n).toLowerCase().includes(i) && (this.matchingIndices.add(a), r === -1 && (r = a));
1828
- }), r >= 0 ? (this.focusedIndex = r, C.debug(`[${this.instanceId}] Navigate mode: ${this.matchingIndices.size} matches, jumped to index ${r}`)) : C.debug(`[${this.instanceId}] Navigate mode: No matches found, keeping previous focus`);
1828
+ }), r >= 0 ? (this.focusedIndex = r, x.debug(`[${this.instanceId}] Navigate mode: ${this.matchingIndices.size} matches, jumped to index ${r}`)) : x.debug(`[${this.instanceId}] Navigate mode: No matches found, keeping previous focus`);
1829
1829
  }
1830
1830
  }
1831
1831
  this.renderDropdown(), this.options.searchMode === "navigate" && this.focusedIndex >= 0 && this.scrollToFocused();
@@ -1893,12 +1893,13 @@ class ws {
1893
1893
  const o = e.target.closest(".ms__option");
1894
1894
  if (o && !o.classList.contains("ms__option--disabled")) {
1895
1895
  e.preventDefault();
1896
- const r = o.dataset.value, n = this.filteredOptions.find((a) => String(this.getItemValue(a)) === r);
1896
+ const r = o.dataset.value, n = this.filteredOptions.findIndex((a) => String(this.getItemValue(a)) === r);
1897
1897
  S.debug(`[${this.instanceId}] Option clicked:`, {
1898
1898
  value: r,
1899
+ optionIndex: n,
1899
1900
  closeOnSelect: this.options.isCloseOnSelect,
1900
1901
  placeholder: this.options.searchPlaceholder
1901
- }), n && this.toggleOption(n);
1902
+ }), n >= 0 && (this.focusedIndex = n, this.toggleOption(this.filteredOptions[n]), this.isOpen && this.input.focus());
1902
1903
  }
1903
1904
  }
1904
1905
  handleBadgeClick(e) {
@@ -1933,7 +1934,7 @@ class ws {
1933
1934
  if (this.showSelectedPopover && !t.some(
1934
1935
  (n) => n instanceof Node && (this.selectedPopover.contains(n) || this.counter.contains(n) || n.closest && n.closest('[data-action="show-selected"]'))
1935
1936
  )) {
1936
- P.debug(`[${this.instanceId}] Closing selected popover due to click outside`), this.hideSelectedPopover();
1937
+ M.debug(`[${this.instanceId}] Closing selected popover due to click outside`), this.hideSelectedPopover();
1937
1938
  return;
1938
1939
  }
1939
1940
  if (!this.isOpen) return;
@@ -1998,6 +1999,10 @@ class ws {
1998
1999
  }
1999
2000
  }
2000
2001
  toggleOption(e) {
2002
+ if (this.getItemDisabled(e)) {
2003
+ S.debug(`[${this.instanceId}] toggleOption ignored — option is disabled`);
2004
+ return;
2005
+ }
2001
2006
  const t = this.getItemValue(e), o = String(t);
2002
2007
  if (S.debug(`[${this.instanceId}] toggleOption called`, { value: t, multiple: this.options.isMultipleEnabled }), !this.options.isMultipleEnabled) {
2003
2008
  this.selectedValues.has(o) ? (S.debug(`[${this.instanceId}] Deselecting option in single-select mode`, { value: t }), this.deselectOption(e)) : (S.debug(`[${this.instanceId}] Clearing previous selections and selecting new option`, { value: t }), this.selectedValues.clear(), this.selectedOptions.clear(), this.selectOption(e)), this.close();
@@ -2008,11 +2013,11 @@ class ws {
2008
2013
  async handleAddNew(e) {
2009
2014
  if (this.options.addNewCallback)
2010
2015
  try {
2011
- C.debug(`[${this.instanceId}] Adding new option:`, e);
2016
+ x.debug(`[${this.instanceId}] Adding new option:`, e);
2012
2017
  const t = await this.options.addNewCallback(e);
2013
2018
  this.allOptions.push(t), this.filteredOptions.push(t), this.selectOption(t), this.input.value = "", this.renderDropdown(), this.renderBadges(), this.options.isCloseOnSelect && this.close();
2014
2019
  } catch (t) {
2015
- C.error(`[${this.instanceId}] Error adding new option:`, t);
2020
+ x.error(`[${this.instanceId}] Error adding new option:`, t);
2016
2021
  }
2017
2022
  }
2018
2023
  selectOption(e) {
@@ -2046,10 +2051,10 @@ class ws {
2046
2051
  this.options.selectCallback && t.forEach((i) => this.options.selectCallback(i)), this.options.deselectCallback && o.forEach((i) => this.options.deselectCallback(i)), (t.length > 0 || o.length > 0) && this.options.changeCallback && this.options.changeCallback(this.getSelected());
2047
2052
  }
2048
2053
  open() {
2049
- P.debug(`[${this.instanceId}] open() called`, { isOpen: this.isOpen }), !this.isOpen && (this.isOpen = !0, this.element.classList.add("ms--open"), this.dropdown.classList.add("ms__dropdown--visible"), P.info(`[${this.instanceId}] Dropdown opened`), this.input.placeholder = this.options.searchPlaceholder, !this.options.isMultipleEnabled && this.options.isSearchEnabled && (this.input.value = ""), this.options.searchCallback && this.options.isKeepOptionsOnSearch && !this.searchTerm && (this.filteredOptions = [...this.allOptions], P.debug(`[${this.instanceId}] Showing ${this.allOptions.length} initial options on open`)), this.renderDropdown(), this.positionDropdown(), this.hint && (this.hint.classList.add("ms__hint--visible"), this.positionHint()));
2054
+ M.debug(`[${this.instanceId}] open() called`, { isOpen: this.isOpen }), !this.isOpen && (this.isOpen = !0, this.element.classList.add("ms--open"), this.dropdown.classList.add("ms__dropdown--visible"), M.info(`[${this.instanceId}] Dropdown opened`), this.input.placeholder = this.options.searchPlaceholder, !this.options.isMultipleEnabled && this.options.isSearchEnabled && (this.input.value = ""), this.options.searchCallback && this.options.isKeepOptionsOnSearch && !this.searchTerm && (this.filteredOptions = [...this.allOptions], M.debug(`[${this.instanceId}] Showing ${this.allOptions.length} initial options on open`)), this.renderDropdown(), this.positionDropdown(), this.hint && (this.hint.classList.add("ms__hint--visible"), this.positionHint()));
2050
2055
  }
2051
2056
  close() {
2052
- P.debug(`[${this.instanceId}] close() called`, { isOpen: this.isOpen }), this.isOpen && (this.isOpen = !1, this.element.classList.remove("ms--open"), this.dropdown.classList.remove("ms__dropdown--visible"), this.hint && this.hint.classList.remove("ms__hint--visible"), this.options.shouldKeepSearchOnClose || (this.searchTerm = "", (this.options.isMultipleEnabled || this.options.isSearchEnabled) && (this.input.value = ""), this.filteredOptions = [...this.allOptions]), this.focusedIndex = -1, this.renderBadges(), this.dropdownCleanup && (this.dropdownCleanup(), this.dropdownCleanup = null), this.hintCleanup && (this.hintCleanup(), this.hintCleanup = null), this.dropdownPlacement = null, P.debug(`[${this.instanceId}] Dropdown closed`));
2057
+ M.debug(`[${this.instanceId}] close() called`, { isOpen: this.isOpen }), this.isOpen && (this.isOpen = !1, this.element.classList.remove("ms--open"), this.dropdown.classList.remove("ms__dropdown--visible"), this.hint && this.hint.classList.remove("ms__hint--visible"), this.options.shouldKeepSearchOnClose || (this.searchTerm = "", (this.options.isMultipleEnabled || this.options.isSearchEnabled) && (this.input.value = ""), this.filteredOptions = [...this.allOptions]), this.focusedIndex = -1, this.renderBadges(), this.dropdownCleanup && (this.dropdownCleanup(), this.dropdownCleanup = null), this.hintCleanup && (this.hintCleanup(), this.hintCleanup = null), this.dropdownPlacement = null, M.debug(`[${this.instanceId}] Dropdown closed`));
2053
2058
  }
2054
2059
  /**
2055
2060
  * Anchor a floating panel (dropdown or selected-items popover) below/above the input with
@@ -2059,17 +2064,18 @@ class ws {
2059
2064
  * compute then lock the resulting placement, optionally clamp by dropdownMin/MaxWidth.
2060
2065
  */
2061
2066
  anchorFloatingPanel(e, t) {
2062
- return _e(this.input, e, () => {
2067
+ return we(this.input, e, () => {
2063
2068
  var a;
2064
2069
  const o = ((a = t.isLocked) == null ? void 0 : a.call(t)) ?? !0, i = t.getPlacement(), r = o && i ? i : "bottom-start", n = [
2065
- we(4),
2066
- ...o && i ? [] : [ot()],
2067
- ye({ padding: 8 })
2070
+ _e(4),
2071
+ ...o && i ? [] : [it()],
2072
+ ke({ padding: 8 })
2068
2073
  ];
2069
- ke(this.input, e, { placement: r, middleware: n }).then(({ x: l, y: c, placement: h }) => {
2074
+ ye(this.input, e, { placement: r, strategy: "fixed", middleware: n }).then(({ x: l, y: c, placement: h }) => {
2070
2075
  var u;
2071
2076
  i || t.setPlacement(h);
2072
2077
  const p = {
2078
+ position: "fixed",
2073
2079
  left: `${l}px`,
2074
2080
  top: `${c}px`,
2075
2081
  width: `${this.input.offsetWidth}px`
@@ -2082,7 +2088,7 @@ class ws {
2082
2088
  this.dropdownCleanup = this.anchorFloatingPanel(this.dropdown, {
2083
2089
  getPlacement: () => this.dropdownPlacement,
2084
2090
  setPlacement: (e) => {
2085
- this.dropdownPlacement = e, P.debug(`[${this.instanceId}] Locked dropdown placement:`, e);
2091
+ this.dropdownPlacement = e, M.debug(`[${this.instanceId}] Locked dropdown placement:`, e);
2086
2092
  },
2087
2093
  isLocked: () => !!this.options.isPlacementLocked,
2088
2094
  applyMaxWidth: !0,
@@ -2092,20 +2098,22 @@ class ws {
2092
2098
  });
2093
2099
  }
2094
2100
  positionHint() {
2095
- this.hint && (this.hintCleanup && this.hintCleanup(), this.hintCleanup = _e(
2101
+ this.hint && (this.hintCleanup && this.hintCleanup(), this.hintCleanup = we(
2096
2102
  this.input,
2097
2103
  this.hint,
2098
2104
  () => {
2099
2105
  let e = "top-start";
2100
- this.dropdownPlacement && (this.dropdownPlacement.startsWith("bottom") ? e = this.dropdownPlacement.replace("bottom", "top") : this.dropdownPlacement.startsWith("top") && (e = this.dropdownPlacement.replace("top", "bottom"))), ke(this.input, this.hint, {
2106
+ this.dropdownPlacement && (this.dropdownPlacement.startsWith("bottom") ? e = this.dropdownPlacement.replace("bottom", "top") : this.dropdownPlacement.startsWith("top") && (e = this.dropdownPlacement.replace("top", "bottom"))), ye(this.input, this.hint, {
2101
2107
  placement: e,
2108
+ strategy: "fixed",
2102
2109
  middleware: [
2103
- we(4),
2110
+ _e(4),
2104
2111
  // Don't use flip() - we want hint to stay opposite of dropdown
2105
- ye({ padding: 8 })
2112
+ ke({ padding: 8 })
2106
2113
  ]
2107
2114
  }).then(({ x: t, y: o }) => {
2108
2115
  Object.assign(this.hint.style, {
2116
+ position: "fixed",
2109
2117
  left: `${t}px`,
2110
2118
  top: `${o}px`
2111
2119
  });
@@ -2118,26 +2126,38 @@ class ws {
2118
2126
  if (e)
2119
2127
  try {
2120
2128
  JSON.parse(e).forEach((o) => {
2121
- const i = String(o);
2122
- this.selectedValues.add(i);
2123
- const r = this.allOptions.find((n) => String(this.getItemValue(n)) === i);
2124
- r && this.selectedOptions.set(i, r);
2125
- }), this.renderBadges();
2129
+ this.selectedValues.add(String(o));
2130
+ }), this.reconcileSelectedOptions(), this.renderBadges();
2126
2131
  } catch (t) {
2127
- C.error(`[${this.instanceId}] Failed to parse initial values:`, t);
2132
+ x.error(`[${this.instanceId}] Failed to parse initial values:`, t);
2128
2133
  }
2129
2134
  }
2135
+ /**
2136
+ * Resolve any `selectedValues` entries that don't yet have a matching
2137
+ * `selectedOptions` object by looking them up in the current `allOptions`.
2138
+ * Idempotent; safe to call after init *and* after `options` is replaced
2139
+ * (e.g., async fetch, `searchCallback` result, or late `element.options =`
2140
+ * assignment). Without this, `initial-values` declared before options
2141
+ * arrive ends up with phantom values that `getValue()` can never report.
2142
+ */
2143
+ reconcileSelectedOptions() {
2144
+ this.selectedValues.size === 0 || this.allOptions.length === 0 || this.selectedValues.forEach((e) => {
2145
+ if (this.selectedOptions.has(e)) return;
2146
+ const t = this.allOptions.find((o) => String(this.getItemValue(o)) === e);
2147
+ t && this.selectedOptions.set(e, t);
2148
+ });
2149
+ }
2130
2150
  toggleSelectedPopover() {
2131
2151
  this.showSelectedPopover ? this.hideSelectedPopover() : this.showPopover();
2132
2152
  }
2133
2153
  showPopover() {
2134
- P.debug(`[${this.instanceId}] showPopover() called`), this.isOpen && this.close(), this.showSelectedPopover = !0, this.renderSelectedPopover(), this.selectedPopover.classList.add("ms__selected-popover--visible");
2154
+ M.debug(`[${this.instanceId}] showPopover() called`), this.isOpen && this.close(), this.showSelectedPopover = !0, this.renderSelectedPopover(), this.selectedPopover.classList.add("ms__selected-popover--visible");
2135
2155
  const e = this.options.virtualScrollThreshold ?? 100;
2136
2156
  this.selectedValues.size >= e && this.selectedPopover.classList.add("ms__selected-popover--virtual"), this.positionSelectedPopover();
2137
2157
  }
2138
2158
  hideSelectedPopover() {
2139
2159
  var e;
2140
- P.debug(`[${this.instanceId}] hideSelectedPopover() called`), this.showSelectedPopover = !1, this.selectedPopover.classList.remove("ms__selected-popover--visible"), this.selectedPopover.classList.remove("ms__selected-popover--virtual"), this.selectedPopoverPlacement = null, this.selectedPopoverVirtualScroll && (this.selectedPopoverVirtualScroll.destroy(), this.selectedPopoverVirtualScroll = null, this.selectedPopoverContainer = null), this.selectedPopoverCleanup && (this.selectedPopoverCleanup(), this.selectedPopoverCleanup = null);
2160
+ M.debug(`[${this.instanceId}] hideSelectedPopover() called`), this.showSelectedPopover = !1, this.selectedPopover.classList.remove("ms__selected-popover--visible"), this.selectedPopover.classList.remove("ms__selected-popover--virtual"), this.selectedPopoverPlacement = null, this.selectedPopoverVirtualScroll && (this.selectedPopoverVirtualScroll.destroy(), this.selectedPopoverVirtualScroll = null, this.selectedPopoverContainer = null), this.selectedPopoverCleanup && (this.selectedPopoverCleanup(), this.selectedPopoverCleanup = null);
2141
2161
  for (const t of Array.from(this.tooltips.keys()))
2142
2162
  t.startsWith("popover-") && ((e = this.tooltips.get(t)) == null || e.destroy(), this.tooltips.delete(t));
2143
2163
  }
@@ -2150,7 +2170,7 @@ class ws {
2150
2170
  this.selectedPopover.innerHTML = `
2151
2171
  <div class="ms__selected-popover-header">
2152
2172
  <span>Selected Items (${t})</span>
2153
- <button type="button" class="ms__selected-popover-close" aria-label="Close">&times;</button>
2173
+ <button type="button" class="ms__selected-popover-close" aria-label="Close"></button>
2154
2174
  </div>
2155
2175
  <div class="ms__selected-popover-body">
2156
2176
  ${e.map((i) => this.renderBadgeHTML(i, { displayMode: this.options.badgesDisplayMode || "badges", isInPopover: !0 })).join("")}
@@ -2165,7 +2185,7 @@ class ws {
2165
2185
  const a = this.options.badgeHeight ?? 36, l = `
2166
2186
  <div class="ms__selected-popover-header">
2167
2187
  <span>Selected Items (${t})</span>
2168
- <button type="button" class="ms__selected-popover-close" aria-label="Close">&times;</button>
2188
+ <button type="button" class="ms__selected-popover-close" aria-label="Close"></button>
2169
2189
  </div>
2170
2190
  <div class="ms__selected-popover-body ms__selected-popover-body--virtual" style="height: 18rem; overflow-y: auto; position: relative; --ms-badge-height-virtual: ${a}px;"></div>
2171
2191
  `;
@@ -2174,7 +2194,7 @@ class ws {
2174
2194
  if (!this.selectedPopoverContainer) return;
2175
2195
  const r = (this.options.badgeHeight ?? 36) + 4, n = this.options.virtualScrollBuffer ?? 10;
2176
2196
  requestAnimationFrame(() => {
2177
- this.selectedPopoverContainer && (this.selectedPopoverVirtualScroll ? this.selectedPopoverVirtualScroll.setItems(e) : this.selectedPopoverVirtualScroll = new Ne({
2197
+ this.selectedPopoverContainer && (this.selectedPopoverVirtualScroll ? this.selectedPopoverVirtualScroll.setItems(e) : this.selectedPopoverVirtualScroll = new We({
2178
2198
  container: this.selectedPopoverContainer,
2179
2199
  itemHeight: r,
2180
2200
  items: e,
@@ -2237,7 +2257,7 @@ class ws {
2237
2257
  this.selectedPopoverCleanup = this.anchorFloatingPanel(this.selectedPopover, {
2238
2258
  getPlacement: () => this.selectedPopoverPlacement,
2239
2259
  setPlacement: (e) => {
2240
- this.selectedPopoverPlacement = e, P.debug(`[${this.instanceId}] Locked popover placement:`, e);
2260
+ this.selectedPopoverPlacement = e, M.debug(`[${this.instanceId}] Locked popover placement:`, e);
2241
2261
  }
2242
2262
  });
2243
2263
  }
@@ -2288,7 +2308,7 @@ class ws {
2288
2308
  updateOptions(e) {
2289
2309
  const t = !!this.hint, o = "searchHint" in e ? !!e.searchHint : t;
2290
2310
  if (t !== o) return !1;
2291
- if (Object.assign(this.options, e), "options" in e && e.options !== void 0 && (this.allOptions = e.options, this.filteredOptions = this.searchTerm ? this.filteredOptions : [...this.allOptions]), this.element.classList.toggle(
2311
+ if (Object.assign(this.options, e), "options" in e && e.options !== void 0 && (this.allOptions = e.options, this.filteredOptions = this.searchTerm ? this.filteredOptions : [...this.allOptions], this.reconcileSelectedOptions()), this.element.classList.toggle(
2292
2312
  "ms--no-checkboxes",
2293
2313
  !this.options.isCheckboxesShown || !this.options.isMultipleEnabled
2294
2314
  ), "badgesPosition" in e) {
@@ -2328,7 +2348,7 @@ class ws {
2328
2348
  spawnTooltip(e) {
2329
2349
  var o;
2330
2350
  (o = this.tooltips.get(e.id)) == null || o.destroy();
2331
- const t = new _s({
2351
+ const t = new ws({
2332
2352
  trigger: e.trigger,
2333
2353
  container: this.options.container || document.body,
2334
2354
  content: e.content,
@@ -2429,7 +2449,7 @@ ${o}` : t;
2429
2449
  this.destroyAllTooltips(), this.dropdownCleanup && this.dropdownCleanup(), this.hintCleanup && this.hintCleanup(), this.selectedPopoverCleanup && this.selectedPopoverCleanup(), this.documentClickHandler && (document.removeEventListener("click", this.documentClickHandler), this.documentClickHandler = null), this.documentKeydownHandler && (document.removeEventListener("keydown", this.documentKeydownHandler), this.documentKeydownHandler = null), this.virtualScroll && (this.virtualScroll.destroy(), this.virtualScroll = null), this.dropdown && this.dropdown.remove(), this.hint && this.hint.remove(), this.selectedPopover && this.selectedPopover.remove(), this.element.innerHTML = "", this.element.classList.remove("ms", "ms--open", "ms--no-checkboxes"), oe.info(`[${this.instanceId}] Component destroyed`);
2430
2450
  }
2431
2451
  }
2432
- const ys = ':host{--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));display:block;--ms-accent-color: var(--base-accent-color, #3b82f6);--ms-accent-color-hover: var(--base-accent-color-hover, #2563eb);--ms-accent-color-active: var(--base-accent-color-active, #1d4ed8);--ms-accent-color-light: var(--base-accent-color-light, #eff6ff);--ms-accent-color-light-hover: var(--base-accent-color-light-hover, #e0f2fe);--ms-text-color-1: var(--base-text-color-1, #111827);--ms-text-color-2: var(--base-text-color-2, #353b47);--ms-text-color-3: var(--base-text-color-3, #6b7280);--ms-text-color-4: var(--base-text-color-4, #a0a3a9);--ms-text-color-on-accent: var(--base-text-color-on-accent, #ffffff);--ms-text-primary: var(--ms-text-color-1);--ms-text-secondary: var(--ms-text-color-3);--ms-primary-bg: var(--base-primary-bg, var(--base-main-bg, #f3f4f6));--ms-primary-bg-hover: var(--base-hover-bg, #e5e7eb);--ms-border-color: var(--base-border-color, #e5e7eb);--ms-border: var(--base-border, 1px solid var(--ms-border-color));--ms-input-bg: var(--base-input-bg, #ffffff);--ms-input-color: var(--base-input-color, var(--ms-text-color-1));--ms-input-border: var(--base-input-border, 1px solid var(--ms-border-color));--ms-input-border-hover: var(--base-input-border-hover, 1px solid var(--ms-accent-color));--ms-input-border-focus: var(--base-input-border-focus, 1px solid var(--ms-accent-color));--ms-input-placeholder-color: var(--base-input-placeholder-color, var(--ms-text-color-4));--ms-input-bg-disabled: var(--base-input-bg-disabled, rgba(107, 114, 128, .05));--ms-toggle-icon-color: var(--ms-text-color-3);--ms-toggle-icon-color-open: var(--ms-text-color-3);--ms-counter-badge-bg: var(--ms-accent-color);--ms-counter-badge-bg-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-color-on-accent);--ms-hint-bg: var(--base-main-bg, #ffffff);--ms-hint-color: var(--ms-text-color-4);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-bg: var(--base-dropdown-bg, #ffffff);--ms-dropdown-text-color: var(--ms-text-color-1);--ms-dropdown-border-color: var(--ms-border-color);--ms-dropdown-box-shadow-semantic: var(--base-dropdown-box-shadow, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1));--ms-actions-bg: var(--base-main-bg, #ffffff);--ms-actions-border-color: var(--ms-border-color);--ms-action-button-bg: transparent;--ms-action-button-bg-hover: var(--ms-primary-bg);--ms-action-button-border-color: var(--ms-border-color);--ms-action-button-border-color-hover: var(--ms-accent-color);--ms-action-button-color: var(--ms-text-color-1);--ms-group-border-color: var(--ms-border-color);--ms-option-text-color: var(--ms-text-color-1);--ms-option-bg: transparent;--ms-option-bg-hover: var(--ms-primary-bg);--ms-option-color-hover: inherit;--ms-option-bg-focused: var(--ms-primary-bg);--ms-option-color-focused: inherit;--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-bg-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-option-bg-matched: color-mix(in srgb, var(--ms-accent-color) 8%, transparent);--ms-option-color-matched: inherit;--ms-option-border-matched-color: color-mix(in srgb, var(--ms-accent-color) 40%, transparent);--ms-option-title-color: var(--ms-text-color-1);--ms-option-subtitle-color: var(--ms-text-color-3);--ms-option-mark-bg: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-option-mark-color: inherit;--ms-loading-color: var(--ms-text-color-3);--ms-badge-bg: var(--ms-accent-color-light);--ms-badge-bg-hover: var(--base-hover-bg, var(--ms-input-bg));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-input-bg));--ms-badge-text-color-hover: var(--ms-badge-text-color);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-bg: var(--ms-primary-bg-hover);--ms-badge-counter-text-color: var(--ms-text-color-1);--ms-badge-counter-remove-bg: var(--ms-text-color-3);--ms-badge-counter-remove-bg-hover: var(--ms-text-color-1);--ms-badge-counter-remove-color: var(--ms-text-color-on-accent);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-count-clear-bg-hover: var(--ms-accent-color);--ms-tooltip-bg: var(--base-tooltip-bg, #333333);--ms-tooltip-text-color: var(--base-tooltip-text-color, #ffffff);--ms-selected-popover-bg: var(--base-dropdown-bg, #ffffff);--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-bg-hover: var(--ms-accent-color);--ms-input-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-input-padding-right: calc(4 * var(--ms-rem));--ms-input-padding-h: calc(1.2 * var(--ms-rem));--ms-input-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-border-width: 1px;--ms-input-border-radius: var(--ms-border-radius-md);--ms-input-text: var(--ms-text-color-1);--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-input-size-xs-font: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-input-size-xs-padding-v: calc(.4 * var(--ms-rem));--ms-input-size-xs-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-xs-height: calc(var(--base-input-size-xs-height, 3.1) * var(--ms-rem));--ms-input-size-sm-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-sm-padding-v: calc(.5 * var(--ms-rem));--ms-input-size-sm-padding-h: calc(1 * var(--ms-rem));--ms-input-size-sm-height: calc(var(--base-input-size-sm-height, 3.3) * var(--ms-rem));--ms-input-size-md-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-md-padding-v: calc(.8 * var(--ms-rem));--ms-input-size-md-padding-h: calc(1.2 * var(--ms-rem));--ms-input-size-md-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-size-lg-font: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-input-size-lg-padding-v: calc(1 * var(--ms-rem));--ms-input-size-lg-padding-h: calc(1.4 * var(--ms-rem));--ms-input-size-lg-height: calc(var(--base-input-size-lg-height, 3.8) * var(--ms-rem));--ms-input-size-xl-font: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-input-size-xl-padding-v: calc(1.2 * var(--ms-rem));--ms-input-size-xl-padding-h: calc(1.6 * var(--ms-rem));--ms-input-size-xl-height: calc(var(--base-input-size-xl-height, 4.1) * var(--ms-rem));--ms-toggle-right: calc(1.2 * var(--ms-rem));--ms-toggle-color: var(--ms-text-color-3);--ms-transform-center-y: translateY(-50%);--ms-transform-rotate-180: 180deg;--ms-counter-offset: calc(3.2 * var(--ms-rem));--ms-counter-padding: calc(.2 * var(--ms-rem)) calc(.4 * var(--ms-rem));--ms-counter-bg: var(--ms-accent-color);--ms-counter-color: var(--ms-text-color-on-accent);--ms-counter-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-counter-font-weight: var(--base-font-weight-semibold, 600);--ms-counter-border-radius: var(--ms-border-radius-sm);--ms-counter-bg-hover: var(--ms-accent-color-hover);--ms-transform-scale-hover: 1.1;--ms-hint-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-hint-border: 1px solid var(--ms-hint-border-color);--ms-hint-border-radius: var(--ms-border-radius-lg);--ms-hint-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ms-hint-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-dropdown-border: var(--base-dropdown-border, 1px solid var(--ms-dropdown-border-color));--ms-dropdown-border-radius: var(--ms-border-radius-lg);--ms-dropdown-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ms-options-max-height: calc(32 * var(--ms-rem));--ms-option-color: var(--ms-text-color-1);--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-actions-border-bottom: 1px solid var(--ms-actions-border-color);--ms-action-btn-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-action-btn-border: var(--ms-border);--ms-action-btn-border-radius: var(--ms-border-radius-sm);--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: var(--ms-primary-bg);--ms-action-btn-border-color-hover: var(--ms-accent-color);--ms-transform-scale-active: .98;--ms-options-padding: 0;--ms-group-border-top: 1px solid var(--ms-group-border-color);--ms-group-margin-top: calc(.4 * var(--ms-rem));--ms-group-padding-top: calc(.4 * var(--ms-rem));--ms-group-label-padding: calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-group-label-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-font-weight: var(--base-font-weight-semibold, 600);--ms-group-label-color: var(--ms-text-color-3);--ms-group-label-transform: uppercase;--ms-group-label-letter-spacing: .05em;--ms-option-gap: calc(.8 * var(--ms-rem));--ms-option-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-option-padding-h: calc(1.2 * var(--ms-rem));--ms-option-outline-focused: 2px solid var(--ms-option-outline-color-focused);--ms-option-focus-outline-offset: -2px;--ms-option-border-matched: 3px solid var(--ms-option-border-matched-color);--ms-option-bg-focused-hover: var(--ms-primary-bg);--ms-option-bg-matched-hover: color-mix(in srgb, var(--ms-accent-color) 12%, transparent);--ms-option-bg-selected-focused: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-bg-selected-matched: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-disabled-bg: var(--base-disabled-bg, transparent);--ms-option-bg-disabled-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-disabled-opacity: .5;--ms-option-content-gap: calc(.8 * var(--ms-rem));--ms-option-icon-size: calc(2 * var(--ms-rem));--ms-option-icon-font-size: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-mark-font-weight: var(--base-font-weight-semibold, 600);--ms-option-subtitle-margin-top: calc(.4 * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-subtitle-line-height: var(--base-line-height-tight, 1.25);--ms-checkbox-margin-top: calc(.2 * var(--ms-rem));--ms-checkbox-margin-right: 0;--ms-checkbox-margin-bottom: 0;--ms-checkbox-margin-left: 0;--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-checkbox-scale: 1;--ms-checkbox-align: center;--ms-checkbox-bg: var(--ms-input-bg);--ms-checkbox-border: var(--ms-border);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: 1px solid var(--ms-accent-color);--ms-checkbox-checkmark-color: var(--ms-text-color-on-accent);--ms-checkbox-hover-border-color: var(--ms-accent-color);--ms-checkbox-disabled-bg: var(--ms-primary-bg);--ms-checkbox-disabled-border: var(--ms-border);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--ms-empty-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-empty-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-empty-color: var(--ms-text-color-3);--ms-loader-padding: calc(1.6 * var(--ms-rem));--ms-loader-gap: calc(.8 * var(--ms-rem));--ms-loading-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-loading-text-color: var(--ms-text-color-3);--ms-badges-gap: calc(.8 * var(--ms-rem));--ms-badges-margin-bottom: calc(.8 * var(--ms-rem));--ms-badges-margin-top: calc(.8 * var(--ms-rem));--ms-badges-margin-left: calc(.4 * var(--ms-rem));--ms-badges-margin-right: calc(.4 * var(--ms-rem));--ms-inline-align: center;--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(2.7 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-font-weight: var(--base-font-weight-semibold, 600);--ms-badge-border-radius: var(--ms-border-radius-sm);--ms-order-first: -1;--ms-badge-text-padding: 0 calc(.8 * var(--ms-rem));--ms-badge-text-bg: var(--ms-accent-color-light);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-text-border: none;--ms-badge-remove-width: calc(2.7 * var(--ms-rem));--ms-badge-remove-bg: var(--ms-accent-color);--ms-badge-remove-color: var(--ms-text-color-on-accent);--ms-badge-remove-border: none;--ms-badge-remove-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-remove-bg-hover: var(--ms-accent-color-hover);--ms-badge-remove-box-shadow-focus: 0 0 0 2px color-mix(in srgb, var(--ms-accent-color) 50%, transparent);--ms-icon-remove: "×";--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid var(--ms-badge-counter-border-color);--ms-badge-counter-border-radius: var(--ms-border-radius-sm);--ms-more-badge-bg: var(--ms-accent-color-light);--ms-more-badge-hover-bg: var(--ms-badge-bg-hover);--ms-more-badge-active-bg: var(--ms-accent-color-light-hover);--ms-count-display-margin-bottom: calc(.8 * var(--ms-rem));--ms-count-display-margin-top: calc(.8 * var(--ms-rem));--ms-count-display-margin-left: calc(.8 * var(--ms-rem));--ms-count-display-margin-right: calc(.8 * var(--ms-rem));--ms-counter-wrapper-bg: transparent;--ms-counter-wrapper-border: var(--ms-border);--ms-counter-wrapper-border-radius: var(--ms-border-radius-sm);--ms-counter-wrapper-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-counter-wrapper-gap: calc(.4 * var(--ms-rem));--ms-counter-wrapper-bg-hover: var(--ms-primary-bg);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-bg: transparent;--ms-count-text-border: none;--ms-count-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-count-text-color: var(--ms-text-color-1);--ms-count-clear-size: calc(1.6 * var(--ms-rem));--ms-count-clear-bg: transparent;--ms-count-clear-color: var(--ms-text-color-3);--ms-count-clear-font-size: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-count-clear-border-radius: 50%;--ms-count-clear-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-icon-clear: "×";--ms-tooltip-color: var(--ms-tooltip-text-color);--ms-tooltip-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tooltip-border-radius: var(--ms-border-radius-lg);--ms-tooltip-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-tooltip-max-width: calc(32 * var(--ms-rem));--ms-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, .15);--ms-tooltip-z-index: 10000;--ms-z-index-popover: 10000;--ms-selected-popover-width: calc(32 * var(--ms-rem));--ms-selected-popover-max-height: calc(32 * var(--ms-rem));--ms-selected-popover-border: 1px solid var(--ms-selected-popover-border-color);--ms-selected-popover-border-radius: var(--ms-border-radius-lg);--ms-selected-popover-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ms-selected-popover-header-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-selected-popover-header-bg: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-selected-popover-header-border-bottom: 1px solid var(--ms-selected-popover-header-border-color);--ms-selected-popover-header-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-selected-popover-header-font-weight: var(--base-font-weight-semibold, 600);--ms-selected-popover-header-color: var(--ms-text-color-1);--ms-popover-close-size: calc(2.4 * var(--ms-rem));--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: var(--ms-text-color-3);--ms-selected-popover-close-font-size: calc(var(--base-font-size-xl, 2) * var(--ms-rem));--ms-selected-popover-close-border-radius: 50%;--ms-selected-popover-close-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-selected-popover-close-color-hover: var(--ms-accent-color);--ms-selected-popover-body-gap: calc(.4 * var(--ms-rem));--ms-selected-popover-body-padding: calc(.8 * var(--ms-rem));--ms-selected-popover-body-max-height: calc(28.8 * var(--ms-rem));--ms-font-size-2xs: calc(var(--base-font-size-2xs, 1) * var(--ms-rem));--ms-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-font-weight-normal: var(--base-font-weight-normal, 400);--ms-font-weight-medium: var(--base-font-weight-medium, 500);--ms-font-weight-semibold: var(--base-font-weight-semibold, 600);--ms-line-height-none: 1;--ms-line-height-tight: var(--base-line-height-tight, 1.25);--ms-line-height-normal: var(--base-line-height-normal, 1.5);--ms-line-height-relaxed: var(--base-line-height-relaxed, 1.75);--ms-border-radius-sm: calc(var(--base-border-radius-sm, .4) * var(--ms-rem));--ms-border-radius-md: calc(var(--base-border-radius-md, .6) * var(--ms-rem));--ms-border-radius-lg: calc(var(--base-border-radius-lg, .8) * var(--ms-rem));--ms-border-radius: var(--ms-border-radius-md);--ms-spacing-xs: calc(.4 * var(--ms-rem));--ms-spacing-sm: calc(.8 * var(--ms-rem));--ms-spacing-md: calc(1.2 * var(--ms-rem));--ms-spacing-lg: calc(1.6 * var(--ms-rem));--ms-transition-fast: .15s;--ms-transition-normal: .2s;--ms-easing-snappy: cubic-bezier(.4, 0, .2, 1);--ms-placeholder-opacity: .6;--ms-disabled-input-opacity: .6;--ms-scrollbar-width: 8px;--ms-scrollbar-track-bg: transparent;--ms-scrollbar-thumb-bg: var(--ms-border-color);--ms-scrollbar-thumb-bg-hover: var(--ms-text-color-3);--ms-scrollbar-thumb-border-radius: 4px}multi-select:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}.ms-wrapper{display:flex;flex-direction:column;align-items:stretch}.ms-wrapper--inline{flex-direction:row;align-items:var(--ms-inline-align, center)}.ms{position:relative;width:100%}.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{box-sizing:border-box;width:100%;font-family:inherit;height:var(--ms-input-height);padding:var(--ms-input-padding);padding-right:var(--ms-input-padding-right);font-size:var(--ms-input-font-size);border:var(--ms-input-border);border-radius:var(--ms-input-border-radius);background:var(--ms-input-bg);color:var(--ms-input-color);cursor:pointer;transition:border var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__input:hover:not(:focus):not(:disabled){border:var(--ms-input-border-hover)}.ms__input:focus{outline:none;border:var(--ms-input-border-focus)}.ms__input::placeholder{color:var(--ms-input-placeholder-color);opacity:0;transition:opacity var(--ms-transition-fast) var(--ms-easing-snappy)}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity)}.ms__input.ms__input--xs{font-size:var(--ms-input-size-xs-font);padding:var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);padding-right:calc(var(--ms-input-size-xs-padding-h) * 2.5);height:var(--ms-input-size-xs-height)}.ms__input.ms__input--sm{font-size:var(--ms-input-size-sm-font);padding:var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);padding-right:calc(var(--ms-input-size-sm-padding-h) * 2.5);height:var(--ms-input-size-sm-height)}.ms__input.ms__input--lg{font-size:var(--ms-input-size-lg-font);padding:var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);padding-right:calc(var(--ms-input-size-lg-padding-h) * 2.5);height:var(--ms-input-size-lg-height)}.ms__input.ms__input--xl{font-size:var(--ms-input-size-xl-font);padding:var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);padding-right:calc(var(--ms-input-size-xl-padding-h) * 2.5);height:var(--ms-input-size-xl-height)}.ms__toggle{position:absolute;right:var(--ms-toggle-right);top:50%;transform:var(--ms-transform-center-y);pointer-events:none;color:var(--ms-toggle-icon-color);transition:transform var(--ms-transition-fast) var(--ms-easing-snappy)}.ms--open .ms__toggle{transform:var(--ms-transform-center-y) rotate(var(--ms-transform-rotate-180));color:var(--ms-toggle-icon-color-open)}.ms__counter{position:absolute;right:var(--ms-counter-offset);top:50%;transform:var(--ms-transform-center-y);padding:var(--ms-counter-padding);background:var(--ms-counter-badge-bg);color:var(--ms-counter-badge-color);font-size:var(--ms-counter-font-size);font-weight:var(--ms-counter-font-weight);border-radius:var(--ms-counter-border-radius);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter:hover{background:var(--ms-counter-badge-bg-hover);transform:var(--ms-transform-center-y) scale(var(--ms-transform-scale-hover))}.ms__hint{display:none;position:absolute;z-index:var(--ms-z-index-popover);padding:var(--ms-hint-padding);background:var(--ms-hint-bg);border:var(--ms-hint-border);border-radius:var(--ms-hint-border-radius);box-shadow:var(--ms-hint-box-shadow);font-size:var(--ms-hint-font-size);color:var(--ms-hint-color);line-height:var(--ms-line-height-relaxed);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:absolute;font-family:inherit;z-index:var(--ms-z-index-dropdown);background:var(--ms-dropdown-bg);border:var(--ms-dropdown-border);border-radius:var(--ms-dropdown-border-radius);box-shadow:var(--ms-dropdown-box-shadow);max-height:var(--ms-options-max-height);overflow:hidden;color:var(--ms-dropdown-text-color)}.ms__dropdown--visible{display:flex;flex-direction:column}.ms__dropdown-inner{flex:1;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__dropdown-inner::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__dropdown-inner::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__dropdown--virtual{max-height:none}.ms__dropdown--virtual .ms__dropdown-inner{overflow-y:visible}.ms__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding);border-bottom:var(--ms-actions-border-bottom)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__action-btn{flex:1;font-family:inherit;padding:var(--ms-action-btn-padding);font-size:var(--ms-action-btn-font-size);border:var(--ms-action-btn-border);border-radius:var(--ms-action-btn-border-radius);background:var(--ms-action-button-bg);color:var(--ms-action-button-color);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__action-btn:hover{background:var(--ms-action-button-bg-hover);border-color:var(--ms-action-button-border-color-hover)}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity);cursor:not-allowed;pointer-events:none}.ms__options{padding:var(--ms-options-padding);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__options::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__options::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__options--virtual .ms__option{height:var(--ms-option-height, 50px);min-height:var(--ms-option-height, 50px);max-height:var(--ms-option-height, 50px);overflow:hidden;box-sizing:border-box}.ms__group+.ms__group{border-top:var(--ms-group-border-top);margin-top:var(--ms-group-margin-top);padding-top:var(--ms-group-padding-top)}.ms__group-label{padding:var(--ms-group-label-padding);font-size:var(--ms-group-label-font-size);font-weight:var(--ms-group-label-font-weight);color:var(--ms-group-label-color);text-transform:var(--ms-group-label-transform);letter-spacing:var(--ms-group-label-letter-spacing)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, center);gap:var(--ms-option-gap);padding:var(--ms-option-padding);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer}.ms__option:hover{background:var(--ms-option-bg-hover);color:var(--ms-option-color-hover, inherit)}.ms__option--focused{background:var(--ms-option-bg-focused);color:var(--ms-option-color-focused, inherit);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--matched{background:var(--ms-option-bg-matched);color:var(--ms-option-color-matched, inherit);border-left:var(--ms-option-border-matched)}.ms__option--selected{background:var(--ms-option-bg-selected)}.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-bg-selected))}.ms__option--disabled{opacity:var(--ms-disabled-opacity);cursor:not-allowed;background:var(--ms-option-disabled-bg)}.ms__option--disabled:hover{background:var(--ms-option-disabled-bg)}.ms__option--focused:hover{background:var(--ms-option-bg-focused-hover);color:var(--ms-option-color-focused-hover, var(--ms-option-color-focused, var(--ms-option-text-color)))}.ms__option--matched:hover{background:var(--ms-option-bg-matched-hover);color:var(--ms-option-color-matched-hover, var(--ms-option-color-matched, var(--ms-option-text-color)))}.ms__option--selected.ms__option--focused{background:var(--ms-option-bg-selected-focused);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--selected.ms__option--matched{background:var(--ms-option-bg-selected-matched);border-left:var(--ms-option-border-matched)}.ms__option--disabled.ms__option--selected{background:var(--ms-option-bg-disabled-selected)}.ms__option--disabled.ms__option--focused{outline:none}.ms__option[data-checkbox-align=top]{--ms-checkbox-align: flex-start}.ms__option[data-checkbox-align=bottom]{--ms-checkbox-align: flex-end}.ms__checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;flex-shrink:0;position:relative;margin-top:var(--ms-checkbox-margin-top);margin-right:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-left:var(--ms-checkbox-margin-left);width:var(--ms-checkbox-size);height:var(--ms-checkbox-size);transform:scale(var(--ms-checkbox-scale));transform-origin:top left;cursor:pointer;background:var(--ms-checkbox-bg);border:var(--ms-checkbox-border);border-radius:var(--ms-checkbox-border-radius);transition:background-color .15s ease,border-color .15s ease}.ms__checkbox:after{content:"";position:absolute;display:none;left:50%;top:40%;width:30%;height:55%;transform:translate(-50%,-50%) rotate(45deg);border:solid var(--ms-checkbox-checkmark-color);border-width:0 2px 2px 0}.ms__checkbox:hover:not(:disabled){border-color:var(--ms-checkbox-hover-border-color)}.ms__checkbox:checked{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox:checked:after{display:block}.ms__checkbox:checked:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.ms__checkbox:focus-visible{outline:2px solid var(--ms-checkbox-checked-bg);outline-offset:2px}.ms__checkbox:disabled{cursor:not-allowed;background:var(--ms-checkbox-disabled-bg);border:var(--ms-checkbox-disabled-border);opacity:.6}.ms__checkbox:disabled:checked{background:var(--ms-checkbox-disabled-bg)}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:center;gap:var(--ms-option-content-gap);min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size);height:var(--ms-option-icon-size);display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size)}.ms__option-icon svg{width:100%;height:100%;fill:currentColor}.ms__option-text{flex:1;min-width:0}.ms__option-title{font-size:var(--ms-option-title-font-size);color:var(--ms-option-title-color);line-height:var(--ms-line-height-relaxed)}.ms__option:hover .ms__option-title{color:var(--ms-option-title-color-hover, var(--ms-option-title-color))}.ms__option--selected .ms__option-title{color:var(--ms-option-title-color-selected, var(--ms-option-title-color))}.ms__option--selected:hover .ms__option-title{color:var(--ms-option-title-color-selected-hover, var(--ms-option-title-color-selected, var(--ms-option-title-color)))}.ms__option-title mark{background:var(--ms-option-mark-bg);color:var(--ms-option-mark-color);font-weight:var(--ms-option-mark-font-weight)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top);font-size:var(--ms-option-subtitle-font-size);color:var(--ms-option-subtitle-color);line-height:var(--ms-option-subtitle-line-height)}.ms__option:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-hover, var(--ms-option-subtitle-color))}.ms__option--selected .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color))}.ms__option--selected:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected-hover, var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color)))}.ms__empty{padding:var(--ms-empty-padding);text-align:center;font-size:var(--ms-empty-font-size);color:var(--ms-empty-color)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ms-loader-padding);gap:var(--ms-loader-gap)}.ms__loading-text{font-size:var(--ms-loading-text-font-size);color:var(--ms-loading-color)}.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap);padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom)}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top);order:var(--ms-order-first)}.ms__badges--left{order:var(--ms-order-first);margin-right:var(--ms-badges-margin-left);justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right);justify-content:flex-start}.ms__count-display{display:flex;align-items:center}.ms__count-display:empty{display:none}.ms__count-display--bottom{margin-top:var(--ms-count-display-margin-bottom)}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top);order:var(--ms-order-first)}.ms__count-display--left{order:var(--ms-order-first);margin-right:var(--ms-count-display-margin-left);justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right);justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap);background:var(--ms-counter-wrapper-bg);border:var(--ms-counter-wrapper-border);border-radius:var(--ms-counter-wrapper-border-radius);padding:var(--ms-counter-wrapper-padding);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-bg-hover);border-color:var(--ms-counter-wrapper-border-color-hover)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg);border:var(--ms-count-text-border);padding:0;font-size:var(--ms-count-text-font-size);color:var(--ms-count-text-color);cursor:pointer;transition:color var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size);height:var(--ms-count-clear-size);padding:0;border:none;background:var(--ms-count-clear-bg);color:var(--ms-count-clear-color);font-size:var(--ms-count-clear-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-count-clear-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear:hover{background:var(--ms-count-clear-bg-hover);color:var(--ms-count-clear-color-hover)}.ms__count-clear:before{content:var(--ms-icon-clear)}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height);font-size:var(--ms-badge-font-size);font-weight:var(--ms-badge-font-weight);line-height:var(--ms-line-height-none);border-radius:var(--ms-badge-border-radius);overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;box-sizing:border-box;height:100%;padding:var(--ms-badge-text-padding);background:var(--ms-badge-text-bg);color:var(--ms-badge-text-color);border:var(--ms-badge-text-border);border-right:none;border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal) ease,color var(--ms-transition-normal) ease}.ms__badge:hover .ms__badge-text{background:var(--ms-badge-text-bg-hover, var(--ms-badge-text-bg));color:var(--ms-badge-text-color-hover, var(--ms-badge-text-color))}.ms__badge-remove{display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:inherit;width:var(--ms-badge-remove-width);height:100%;flex-shrink:0;background:var(--ms-badge-remove-bg);color:var(--ms-badge-remove-color);border:var(--ms-badge-remove-border);border-left:none;border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-radius) 0;cursor:pointer;transition:background-color var(--ms-transition-normal) ease;font-size:var(--ms-badge-remove-font-size)}.ms__badge-remove:hover{background:var(--ms-badge-remove-bg-hover)}.ms__badge-remove:focus{outline:none}.ms__badge-remove:focus-visible{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus)}.ms__badge-remove:before{content:var(--ms-icon-remove);font-size:var(--ms-font-size-base);line-height:var(--ms-line-height-none)}.ms__badge--counter{cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-bg);color:var(--ms-badge-counter-text-color);border:var(--ms-badge-counter-border);border-right:none}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-bg);color:var(--ms-badge-counter-remove-color);border:var(--ms-badge-counter-border);border-left:none}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-bg-hover)}.ms__badge--more,.ms__badge[data-action=show-selected]{cursor:pointer}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-tooltip-bg);color:var(--ms-tooltip-text-color);padding:var(--ms-tooltip-padding);border-radius:var(--ms-tooltip-border-radius);font-size:var(--ms-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow);pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__selected-popover{display:none;position:absolute;z-index:var(--ms-z-index-popover);background:var(--ms-selected-popover-bg);border:var(--ms-selected-popover-border);border-radius:var(--ms-selected-popover-border-radius);box-shadow:var(--ms-selected-popover-box-shadow);width:var(--ms-selected-popover-width);max-height:var(--ms-selected-popover-max-height);overflow:hidden}.ms__selected-popover--visible{display:flex;flex-direction:column}.ms__selected-popover--virtual{display:block;overflow:visible;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding);background:var(--ms-selected-popover-header-bg);border-bottom:var(--ms-selected-popover-header-border-bottom);font-size:var(--ms-selected-popover-header-font-size);font-weight:var(--ms-selected-popover-header-font-weight);color:var(--ms-selected-popover-header-color)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size);height:var(--ms-popover-close-size);padding:0;border:none;background:var(--ms-selected-popover-close-bg);color:var(--ms-selected-popover-close-color);font-size:var(--ms-selected-popover-close-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-bg-hover);color:var(--ms-selected-popover-close-color-hover)}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap);padding:var(--ms-selected-popover-body-padding);overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__selected-popover-body::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__selected-popover-body::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed)}.ms__selected-popover-body .ms__badge-text{flex:1;min-width:0;white-space:normal;word-wrap:break-word}.ms__selected-popover-body--virtual{display:block;max-height:none;padding:0}.ms__selected-popover-body--virtual .ms__badge{height:var(--ms-badge-height-virtual, 36px);min-height:var(--ms-badge-height-virtual, 36px);max-height:var(--ms-badge-height-virtual, 36px);margin-bottom:var(--ms-selected-popover-body-gap);overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right);padding-right:var(--ms-input-padding-h)}.ms--rtl .ms__toggle{left:var(--ms-toggle-right)!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset)!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm);margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs);margin-right:0}.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badges--right{margin-left:0;margin-right:var(--ms-badges-margin-right)}.ms--rtl .ms__badges--left{margin-right:0;margin-left:var(--ms-badges-margin-left)}.ms--rtl .ms__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);border-left:var(--ms-badge-remove-border);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-radius) 0;border-right:var(--ms-badge-text-border);border-left:none}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__count-display--right{margin-left:0;margin-right:var(--ms-count-display-margin-right)}.ms--rtl .ms__count-display--left{margin-right:0;margin-left:var(--ms-count-display-margin-left)}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity);cursor:not-allowed;background:var(--ms-input-bg-disabled)}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity)}.ms--no-checkboxes .ms__option{gap:0;padding-left:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-left:0}.ms-debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:calc(var(--base-border-radius-md, .6) * var(--ms-rem));font-size:calc(1.2 * var(--ms-rem));color:#111827}.ms-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.ms-debug-info details summary:hover{background-color:#f3f4f6}.ms-debug-info details summary:focus{outline:2px solid #3b82f6;outline-offset:2px}.ms-debug-info .ms-debug-stats{display:flex;flex-direction:column;gap:calc(.4 * var(--ms-rem));margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#fff;border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.ms-debug-info .ms-debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:calc(1 * var(--ms-rem))}.ms-debug-info .ms-debug-stats span:before{content:"•";margin-right:calc(.4 * var(--ms-rem));color:#3b82f6}', ks = typeof HTMLElement < "u" ? HTMLElement : class {
2452
+ const ks = `:host{--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));display:block;--ms-accent-color: var(--base-accent-color, #3b82f6);--ms-accent-color-hover: var(--base-accent-color-hover, #2563eb);--ms-accent-color-active: var(--base-accent-color-active, #1d4ed8);--ms-accent-color-light: var(--base-accent-color-light, #eff6ff);--ms-accent-color-light-hover: var(--base-accent-color-light-hover, #e0f2fe);--ms-text-color-1: var(--base-text-color-1, #111827);--ms-text-color-2: var(--base-text-color-2, #353b47);--ms-text-color-3: var(--base-text-color-3, #6b7280);--ms-text-color-4: var(--base-text-color-4, #a0a3a9);--ms-text-color-on-accent: var(--base-text-color-on-accent, #ffffff);--ms-text-primary: var(--ms-text-color-1);--ms-text-secondary: var(--ms-text-color-3);--ms-primary-bg: var(--base-primary-bg, var(--base-main-bg, #f3f4f6));--ms-primary-bg-hover: var(--base-hover-bg, #e5e7eb);--ms-border-color: var(--base-border-color, #e5e7eb);--ms-border: var(--base-border, 1px solid var(--ms-border-color));--ms-input-bg: var(--base-input-bg, #ffffff);--ms-input-color: var(--base-input-color, var(--ms-text-color-1));--ms-input-border: var(--base-input-border, 1px solid var(--ms-border-color));--ms-input-border-hover: var(--base-input-border-hover, 1px solid var(--ms-accent-color));--ms-input-border-focus: var(--base-input-border-focus, 1px solid var(--ms-accent-color));--ms-input-placeholder-color: var(--base-input-placeholder-color, var(--ms-text-color-4));--ms-input-bg-disabled: var(--base-input-bg-disabled, rgba(107, 114, 128, .05));--ms-toggle-icon-color: var(--ms-text-color-3);--ms-toggle-icon-color-open: var(--ms-text-color-3);--ms-counter-badge-bg: var(--ms-accent-color);--ms-counter-badge-bg-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-color-on-accent);--ms-hint-bg: var(--base-main-bg, #ffffff);--ms-hint-color: var(--ms-text-color-4);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-bg: var(--base-dropdown-bg, #ffffff);--ms-dropdown-text-color: var(--ms-text-color-1);--ms-dropdown-border-color: var(--ms-border-color);--ms-dropdown-box-shadow-semantic: var(--base-dropdown-box-shadow, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1));--ms-actions-bg: var(--base-main-bg, #ffffff);--ms-actions-border-color: var(--ms-border-color);--ms-action-button-bg: transparent;--ms-action-button-bg-hover: var(--ms-primary-bg);--ms-action-button-border-color: var(--ms-border-color);--ms-action-button-border-color-hover: var(--ms-accent-color);--ms-action-button-color: var(--ms-text-color-1);--ms-group-border-color: var(--ms-border-color);--ms-option-text-color: var(--ms-text-color-1);--ms-option-bg: transparent;--ms-option-bg-hover: var(--ms-primary-bg);--ms-option-color-hover: inherit;--ms-option-bg-focused: var(--ms-primary-bg);--ms-option-color-focused: inherit;--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-bg-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-option-bg-matched: color-mix(in srgb, var(--ms-accent-color) 8%, transparent);--ms-option-color-matched: inherit;--ms-option-border-matched-color: color-mix(in srgb, var(--ms-accent-color) 40%, transparent);--ms-option-title-color: var(--ms-text-color-1);--ms-option-subtitle-color: var(--ms-text-color-3);--ms-option-mark-bg: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-option-mark-color: inherit;--ms-loading-color: var(--ms-text-color-3);--ms-badge-bg: var(--ms-accent-color-light);--ms-badge-bg-hover: var(--base-hover-bg, var(--ms-input-bg));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-input-bg));--ms-badge-text-color-hover: var(--ms-badge-text-color);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-bg: var(--ms-primary-bg-hover);--ms-badge-counter-text-color: var(--ms-text-color-1);--ms-badge-counter-remove-bg: var(--ms-text-color-3);--ms-badge-counter-remove-bg-hover: var(--ms-text-color-1);--ms-badge-counter-remove-color: var(--ms-text-color-on-accent);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-count-clear-bg-hover: var(--ms-accent-color);--ms-tooltip-bg: var(--base-tooltip-bg, #333333);--ms-tooltip-text-color: var(--base-tooltip-text-color, #ffffff);--ms-selected-popover-bg: var(--base-dropdown-bg, #ffffff);--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-bg-hover: var(--ms-accent-color);--ms-input-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-input-padding-right: calc(4 * var(--ms-rem));--ms-input-padding-h: calc(1.2 * var(--ms-rem));--ms-input-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-border-width: 1px;--ms-input-border-radius: var(--ms-border-radius-md);--ms-input-text: var(--ms-text-color-1);--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-input-size-xs-font: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-input-size-xs-padding-v: calc(.4 * var(--ms-rem));--ms-input-size-xs-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-xs-height: calc(var(--base-input-size-xs-height, 3.1) * var(--ms-rem));--ms-input-size-sm-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-sm-padding-v: calc(.5 * var(--ms-rem));--ms-input-size-sm-padding-h: calc(1 * var(--ms-rem));--ms-input-size-sm-height: calc(var(--base-input-size-sm-height, 3.3) * var(--ms-rem));--ms-input-size-md-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-md-padding-v: calc(.8 * var(--ms-rem));--ms-input-size-md-padding-h: calc(1.2 * var(--ms-rem));--ms-input-size-md-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-size-lg-font: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-input-size-lg-padding-v: calc(1 * var(--ms-rem));--ms-input-size-lg-padding-h: calc(1.4 * var(--ms-rem));--ms-input-size-lg-height: calc(var(--base-input-size-lg-height, 3.8) * var(--ms-rem));--ms-input-size-xl-font: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-input-size-xl-padding-v: calc(1.2 * var(--ms-rem));--ms-input-size-xl-padding-h: calc(1.6 * var(--ms-rem));--ms-input-size-xl-height: calc(var(--base-input-size-xl-height, 4.1) * var(--ms-rem));--ms-toggle-right: calc(1.2 * var(--ms-rem));--ms-toggle-color: var(--ms-text-color-3);--ms-transform-center-y: translateY(-50%);--ms-transform-rotate-180: 180deg;--ms-counter-offset: calc(3.2 * var(--ms-rem));--ms-counter-padding: calc(.2 * var(--ms-rem)) calc(.4 * var(--ms-rem));--ms-counter-bg: var(--ms-accent-color);--ms-counter-color: var(--ms-text-color-on-accent);--ms-counter-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-counter-font-weight: var(--base-font-weight-semibold, 600);--ms-counter-border-radius: var(--ms-border-radius-sm);--ms-counter-bg-hover: var(--ms-accent-color-hover);--ms-transform-scale-hover: 1.1;--ms-hint-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-hint-border: 1px solid var(--ms-hint-border-color);--ms-hint-border-radius: var(--ms-border-radius-lg);--ms-hint-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ms-hint-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-dropdown-border: var(--base-dropdown-border, 1px solid var(--ms-dropdown-border-color));--ms-dropdown-border-radius: var(--ms-border-radius-lg);--ms-dropdown-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ms-options-max-height: calc(32 * var(--ms-rem));--ms-option-color: var(--ms-text-color-1);--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-actions-border-bottom: 1px solid var(--ms-actions-border-color);--ms-action-btn-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-action-btn-border: var(--ms-border);--ms-action-btn-border-radius: var(--ms-border-radius-sm);--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: var(--ms-primary-bg);--ms-action-btn-border-color-hover: var(--ms-accent-color);--ms-transform-scale-active: .98;--ms-options-padding: 0;--ms-group-border-top: 1px solid var(--ms-group-border-color);--ms-group-margin-top: calc(.4 * var(--ms-rem));--ms-group-padding-top: calc(.4 * var(--ms-rem));--ms-group-label-padding: calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-group-label-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-font-weight: var(--base-font-weight-semibold, 600);--ms-group-label-color: var(--ms-text-color-3);--ms-group-label-transform: uppercase;--ms-group-label-letter-spacing: .05em;--ms-option-gap: calc(.8 * var(--ms-rem));--ms-option-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-option-padding-h: calc(1.2 * var(--ms-rem));--ms-option-outline-focused: 2px solid var(--ms-option-outline-color-focused);--ms-option-focus-outline-offset: -2px;--ms-option-border-matched: 3px solid var(--ms-option-border-matched-color);--ms-option-bg-focused-hover: var(--ms-primary-bg);--ms-option-bg-matched-hover: color-mix(in srgb, var(--ms-accent-color) 12%, transparent);--ms-option-bg-selected-focused: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-bg-selected-matched: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-disabled-bg: var(--base-disabled-bg, transparent);--ms-option-bg-disabled-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-disabled-opacity: .5;--ms-option-content-gap: calc(.8 * var(--ms-rem));--ms-option-icon-size: calc(2 * var(--ms-rem));--ms-option-icon-font-size: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-mark-font-weight: var(--base-font-weight-semibold, 600);--ms-option-subtitle-margin-top: calc(.4 * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-subtitle-line-height: var(--base-line-height-tight, 1.25);--ms-checkbox-margin-top: calc(.2 * var(--ms-rem));--ms-checkbox-margin-right: 0;--ms-checkbox-margin-bottom: 0;--ms-checkbox-margin-left: 0;--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-checkbox-scale: 1;--ms-checkbox-align: center;--ms-checkbox-bg: var(--ms-input-bg);--ms-checkbox-border: var(--ms-border);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: 1px solid var(--ms-accent-color);--ms-checkbox-checkmark-color: var(--ms-text-color-on-accent);--ms-checkbox-hover-border-color: var(--ms-accent-color);--ms-checkbox-disabled-bg: var(--ms-primary-bg);--ms-checkbox-disabled-border: var(--ms-border);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--ms-empty-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-empty-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-empty-color: var(--ms-text-color-3);--ms-loader-padding: calc(1.6 * var(--ms-rem));--ms-loader-gap: calc(.8 * var(--ms-rem));--ms-loading-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-loading-text-color: var(--ms-text-color-3);--ms-badges-gap: calc(.8 * var(--ms-rem));--ms-badges-margin-bottom: calc(.8 * var(--ms-rem));--ms-badges-margin-top: calc(.8 * var(--ms-rem));--ms-badges-margin-left: calc(.4 * var(--ms-rem));--ms-badges-margin-right: calc(.4 * var(--ms-rem));--ms-inline-align: center;--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(2.7 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-font-weight: var(--base-font-weight-semibold, 600);--ms-badge-border-radius: var(--ms-border-radius-sm);--ms-order-first: -1;--ms-badge-text-padding: 0 calc(.8 * var(--ms-rem));--ms-badge-text-bg: var(--ms-accent-color-light);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-text-border: none;--ms-badge-remove-width: calc(2.7 * var(--ms-rem));--ms-badge-remove-bg: var(--ms-accent-color);--ms-badge-remove-color: var(--ms-text-color-on-accent);--ms-badge-remove-border: none;--ms-badge-remove-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-remove-bg-hover: var(--ms-accent-color-hover);--ms-badge-remove-box-shadow-focus: 0 0 0 2px color-mix(in srgb, var(--ms-accent-color) 50%, transparent);--ms-badge-remove-icon-size: calc(1 * var(--ms-rem));--ms-icon-remove: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 6L18 18M18 6L6 18' stroke='black' stroke-width='2.5' stroke-linecap='round' fill='none'/></svg>");--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid var(--ms-badge-counter-border-color);--ms-badge-counter-border-radius: var(--ms-border-radius-sm);--ms-more-badge-bg: var(--ms-accent-color-light);--ms-more-badge-hover-bg: var(--ms-badge-bg-hover);--ms-more-badge-active-bg: var(--ms-accent-color-light-hover);--ms-count-display-margin-bottom: calc(.8 * var(--ms-rem));--ms-count-display-margin-top: calc(.8 * var(--ms-rem));--ms-count-display-margin-left: calc(.8 * var(--ms-rem));--ms-count-display-margin-right: calc(.8 * var(--ms-rem));--ms-counter-wrapper-bg: transparent;--ms-counter-wrapper-border: var(--ms-border);--ms-counter-wrapper-border-radius: var(--ms-border-radius-sm);--ms-counter-wrapper-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-counter-wrapper-gap: calc(.4 * var(--ms-rem));--ms-counter-wrapper-bg-hover: var(--ms-primary-bg);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-bg: transparent;--ms-count-text-border: none;--ms-count-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-count-text-color: var(--ms-text-color-1);--ms-count-clear-size: calc(1.6 * var(--ms-rem));--ms-count-clear-bg: transparent;--ms-count-clear-color: var(--ms-text-color-3);--ms-count-clear-font-size: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-count-clear-border-radius: var(--ms-border-radius-sm);--ms-count-clear-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-count-clear-icon-size: calc(1.4 * var(--ms-rem));--ms-icon-clear: var(--ms-icon-remove);--ms-tooltip-color: var(--ms-tooltip-text-color);--ms-tooltip-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tooltip-border-radius: var(--ms-border-radius-lg);--ms-tooltip-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-tooltip-max-width: calc(32 * var(--ms-rem));--ms-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, .15);--ms-tooltip-z-index: 10000;--ms-z-index-popover: 10000;--ms-selected-popover-width: calc(32 * var(--ms-rem));--ms-selected-popover-max-height: calc(32 * var(--ms-rem));--ms-selected-popover-border: 1px solid var(--ms-selected-popover-border-color);--ms-selected-popover-border-radius: var(--ms-border-radius-lg);--ms-selected-popover-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ms-selected-popover-header-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-selected-popover-header-bg: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-selected-popover-header-border-bottom: 1px solid var(--ms-selected-popover-header-border-color);--ms-selected-popover-header-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-selected-popover-header-font-weight: var(--base-font-weight-semibold, 600);--ms-selected-popover-header-color: var(--ms-text-color-1);--ms-popover-close-size: calc(2.4 * var(--ms-rem));--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: var(--ms-text-color-3);--ms-selected-popover-close-font-size: calc(var(--base-font-size-xl, 2) * var(--ms-rem));--ms-selected-popover-close-border-radius: var(--ms-border-radius-sm);--ms-selected-popover-close-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-selected-popover-close-color-hover: var(--ms-accent-color);--ms-selected-popover-close-icon-size: calc(1.4 * var(--ms-rem));--ms-selected-popover-body-gap: calc(.4 * var(--ms-rem));--ms-selected-popover-body-padding: calc(.8 * var(--ms-rem));--ms-selected-popover-body-max-height: calc(28.8 * var(--ms-rem));--ms-font-size-2xs: calc(var(--base-font-size-2xs, 1) * var(--ms-rem));--ms-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-font-weight-normal: var(--base-font-weight-normal, 400);--ms-font-weight-medium: var(--base-font-weight-medium, 500);--ms-font-weight-semibold: var(--base-font-weight-semibold, 600);--ms-line-height-none: 1;--ms-line-height-tight: var(--base-line-height-tight, 1.25);--ms-line-height-normal: var(--base-line-height-normal, 1.5);--ms-line-height-relaxed: var(--base-line-height-relaxed, 1.75);--ms-border-radius-sm: calc(var(--base-border-radius-sm, .4) * var(--ms-rem));--ms-border-radius-md: calc(var(--base-border-radius-md, .6) * var(--ms-rem));--ms-border-radius-lg: calc(var(--base-border-radius-lg, .8) * var(--ms-rem));--ms-border-radius: var(--ms-border-radius-md);--ms-spacing-xs: calc(.4 * var(--ms-rem));--ms-spacing-sm: calc(.8 * var(--ms-rem));--ms-spacing-md: calc(1.2 * var(--ms-rem));--ms-spacing-lg: calc(1.6 * var(--ms-rem));--ms-transition-fast: .15s;--ms-transition-normal: .2s;--ms-easing-snappy: cubic-bezier(.4, 0, .2, 1);--ms-placeholder-opacity: .6;--ms-disabled-input-opacity: .6;--ms-scrollbar-width: 8px;--ms-scrollbar-track-bg: transparent;--ms-scrollbar-thumb-bg: var(--ms-border-color);--ms-scrollbar-thumb-bg-hover: var(--ms-text-color-3);--ms-scrollbar-thumb-border-radius: 4px}multi-select:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}.ms-wrapper{display:flex;flex-direction:column;align-items:stretch}.ms-wrapper--inline{flex-direction:row;align-items:var(--ms-inline-align, center)}.ms{position:relative;width:100%}.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{box-sizing:border-box;width:100%;font-family:inherit;height:var(--ms-input-height);padding:var(--ms-input-padding);padding-right:var(--ms-input-padding-right);font-size:var(--ms-input-font-size);border:var(--ms-input-border);border-radius:var(--ms-input-border-radius);background:var(--ms-input-bg);color:var(--ms-input-color);cursor:pointer;transition:border var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__input:hover:not(:focus):not(:disabled){border:var(--ms-input-border-hover)}.ms__input:focus{outline:none;border:var(--ms-input-border-focus)}.ms__input::placeholder{color:var(--ms-input-placeholder-color);opacity:0;transition:opacity var(--ms-transition-fast) var(--ms-easing-snappy)}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity)}.ms__input.ms__input--xs{font-size:var(--ms-input-size-xs-font);padding:var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);padding-right:calc(var(--ms-input-size-xs-padding-h) * 2.5);height:var(--ms-input-size-xs-height)}.ms__input.ms__input--sm{font-size:var(--ms-input-size-sm-font);padding:var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);padding-right:calc(var(--ms-input-size-sm-padding-h) * 2.5);height:var(--ms-input-size-sm-height)}.ms__input.ms__input--lg{font-size:var(--ms-input-size-lg-font);padding:var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);padding-right:calc(var(--ms-input-size-lg-padding-h) * 2.5);height:var(--ms-input-size-lg-height)}.ms__input.ms__input--xl{font-size:var(--ms-input-size-xl-font);padding:var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);padding-right:calc(var(--ms-input-size-xl-padding-h) * 2.5);height:var(--ms-input-size-xl-height)}.ms__toggle{position:absolute;right:var(--ms-toggle-right);top:50%;transform:var(--ms-transform-center-y);pointer-events:none;color:var(--ms-toggle-icon-color);transition:transform var(--ms-transition-fast) var(--ms-easing-snappy)}.ms--open .ms__toggle{transform:var(--ms-transform-center-y) rotate(var(--ms-transform-rotate-180));color:var(--ms-toggle-icon-color-open)}.ms__counter{position:absolute;right:var(--ms-counter-offset);top:50%;transform:var(--ms-transform-center-y);padding:var(--ms-counter-padding);background:var(--ms-counter-badge-bg);color:var(--ms-counter-badge-color);font-size:var(--ms-counter-font-size);font-weight:var(--ms-counter-font-weight);border-radius:var(--ms-counter-border-radius);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter:hover{background:var(--ms-counter-badge-bg-hover);transform:var(--ms-transform-center-y) scale(var(--ms-transform-scale-hover))}.ms__hint{display:none;position:fixed;z-index:var(--ms-z-index-popover);padding:var(--ms-hint-padding);background:var(--ms-hint-bg);border:var(--ms-hint-border);border-radius:var(--ms-hint-border-radius);box-shadow:var(--ms-hint-box-shadow);font-size:var(--ms-hint-font-size);color:var(--ms-hint-color);line-height:var(--ms-line-height-relaxed);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:fixed;font-family:inherit;z-index:var(--ms-z-index-dropdown);background:var(--ms-dropdown-bg);border:var(--ms-dropdown-border);border-radius:var(--ms-dropdown-border-radius);box-shadow:var(--ms-dropdown-box-shadow);max-height:var(--ms-options-max-height);overflow:hidden;color:var(--ms-dropdown-text-color)}.ms__dropdown--visible{display:flex;flex-direction:column}.ms__dropdown-inner{flex:1;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__dropdown-inner::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__dropdown-inner::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__dropdown--virtual{max-height:none}.ms__dropdown--virtual .ms__dropdown-inner{overflow-y:visible}.ms__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding);border-bottom:var(--ms-actions-border-bottom)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__action-btn{flex:1;font-family:inherit;padding:var(--ms-action-btn-padding);font-size:var(--ms-action-btn-font-size);border:var(--ms-action-btn-border);border-radius:var(--ms-action-btn-border-radius);background:var(--ms-action-button-bg);color:var(--ms-action-button-color);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__action-btn:hover{background:var(--ms-action-button-bg-hover);border-color:var(--ms-action-button-border-color-hover)}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity);cursor:not-allowed;pointer-events:none}.ms__options{padding:var(--ms-options-padding);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__options::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__options::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__options--virtual .ms__option{height:var(--ms-option-height, 50px);min-height:var(--ms-option-height, 50px);max-height:var(--ms-option-height, 50px);overflow:hidden;box-sizing:border-box}.ms__group+.ms__group{border-top:var(--ms-group-border-top);margin-top:var(--ms-group-margin-top);padding-top:var(--ms-group-padding-top)}.ms__group-label{padding:var(--ms-group-label-padding);font-size:var(--ms-group-label-font-size);font-weight:var(--ms-group-label-font-weight);color:var(--ms-group-label-color);text-transform:var(--ms-group-label-transform);letter-spacing:var(--ms-group-label-letter-spacing)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, center);gap:var(--ms-option-gap);padding:var(--ms-option-padding);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer}.ms__option:hover{background:var(--ms-option-bg-hover);color:var(--ms-option-color-hover, inherit)}.ms__option--focused{background:var(--ms-option-bg-focused);color:var(--ms-option-color-focused, inherit);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--matched{background:var(--ms-option-bg-matched);color:var(--ms-option-color-matched, inherit);border-left:var(--ms-option-border-matched)}.ms__option--selected{background:var(--ms-option-bg-selected)}.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-bg-selected))}.ms__option--disabled{opacity:var(--ms-disabled-opacity);cursor:not-allowed;background:var(--ms-option-disabled-bg)}.ms__option--disabled:hover{background:var(--ms-option-disabled-bg)}.ms__option--focused:hover{background:var(--ms-option-bg-focused-hover);color:var(--ms-option-color-focused-hover, var(--ms-option-color-focused, var(--ms-option-text-color)))}.ms__option--matched:hover{background:var(--ms-option-bg-matched-hover);color:var(--ms-option-color-matched-hover, var(--ms-option-color-matched, var(--ms-option-text-color)))}.ms__option--selected.ms__option--focused{background:var(--ms-option-bg-selected-focused);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--selected.ms__option--matched{background:var(--ms-option-bg-selected-matched);border-left:var(--ms-option-border-matched)}.ms__option--disabled.ms__option--selected{background:var(--ms-option-bg-disabled-selected)}.ms__option--disabled.ms__option--focused{outline:none}.ms__option[data-checkbox-align=top]{--ms-checkbox-align: flex-start}.ms__option[data-checkbox-align=bottom]{--ms-checkbox-align: flex-end}.ms__checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;flex-shrink:0;position:relative;margin-top:var(--ms-checkbox-margin-top);margin-right:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-left:var(--ms-checkbox-margin-left);width:var(--ms-checkbox-size);height:var(--ms-checkbox-size);transform:scale(var(--ms-checkbox-scale));transform-origin:top left;cursor:pointer;background:var(--ms-checkbox-bg);border:var(--ms-checkbox-border);border-radius:var(--ms-checkbox-border-radius);transition:background-color .15s ease,border-color .15s ease}.ms__checkbox:after{content:"";position:absolute;display:none;left:50%;top:40%;width:30%;height:55%;transform:translate(-50%,-50%) rotate(45deg);border:solid var(--ms-checkbox-checkmark-color);border-width:0 2px 2px 0}.ms__checkbox:hover:not(:disabled){border-color:var(--ms-checkbox-hover-border-color)}.ms__checkbox:checked{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox:checked:after{display:block}.ms__checkbox:checked:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.ms__checkbox:focus-visible{outline:2px solid var(--ms-checkbox-checked-bg);outline-offset:2px}.ms__checkbox:disabled{cursor:not-allowed;background:var(--ms-checkbox-disabled-bg);border:var(--ms-checkbox-disabled-border);opacity:.6}.ms__checkbox:disabled:checked{background:var(--ms-checkbox-disabled-bg)}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:center;gap:var(--ms-option-content-gap);min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size);height:var(--ms-option-icon-size);display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size)}.ms__option-icon svg{width:100%;height:100%;fill:currentColor}.ms__option-text{flex:1;min-width:0}.ms__option-title{font-size:var(--ms-option-title-font-size);color:var(--ms-option-title-color);line-height:var(--ms-line-height-relaxed)}.ms__option:hover .ms__option-title{color:var(--ms-option-title-color-hover, var(--ms-option-title-color))}.ms__option--selected .ms__option-title{color:var(--ms-option-title-color-selected, var(--ms-option-title-color))}.ms__option--selected:hover .ms__option-title{color:var(--ms-option-title-color-selected-hover, var(--ms-option-title-color-selected, var(--ms-option-title-color)))}.ms__option-title mark{background:var(--ms-option-mark-bg);color:var(--ms-option-mark-color);font-weight:var(--ms-option-mark-font-weight)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top);font-size:var(--ms-option-subtitle-font-size);color:var(--ms-option-subtitle-color);line-height:var(--ms-option-subtitle-line-height)}.ms__option:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-hover, var(--ms-option-subtitle-color))}.ms__option--selected .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color))}.ms__option--selected:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected-hover, var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color)))}.ms__empty{padding:var(--ms-empty-padding);text-align:center;font-size:var(--ms-empty-font-size);color:var(--ms-empty-color)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ms-loader-padding);gap:var(--ms-loader-gap)}.ms__loading-text{font-size:var(--ms-loading-text-font-size);color:var(--ms-loading-color)}.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap);padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom)}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top);order:var(--ms-order-first)}.ms__badges--left{order:var(--ms-order-first);margin-right:var(--ms-badges-margin-left);justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right);justify-content:flex-start}.ms__count-display{display:flex;align-items:center}.ms__count-display:empty{display:none}.ms__count-display--bottom{margin-top:var(--ms-count-display-margin-bottom)}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top);order:var(--ms-order-first)}.ms__count-display--left{order:var(--ms-order-first);margin-right:var(--ms-count-display-margin-left);justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right);justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap);background:var(--ms-counter-wrapper-bg);border:var(--ms-counter-wrapper-border);border-radius:var(--ms-counter-wrapper-border-radius);padding:var(--ms-counter-wrapper-padding);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-bg-hover);border-color:var(--ms-counter-wrapper-border-color-hover)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg);border:var(--ms-count-text-border);padding:0;font-size:var(--ms-count-text-font-size);color:var(--ms-count-text-color);cursor:pointer;transition:color var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size);height:var(--ms-count-clear-size);padding:0;border:none;background:var(--ms-count-clear-bg);color:var(--ms-count-clear-color);font-size:var(--ms-count-clear-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-count-clear-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear:hover{background:var(--ms-count-clear-bg-hover);color:var(--ms-count-clear-color-hover)}.ms__count-clear:before{content:"";display:block;width:var(--ms-count-clear-icon-size);height:var(--ms-count-clear-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-clear) center / contain no-repeat;mask:var(--ms-icon-clear) center / contain no-repeat}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height);font-size:var(--ms-badge-font-size);font-weight:var(--ms-badge-font-weight);line-height:var(--ms-line-height-none);border-radius:var(--ms-badge-border-radius);overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;box-sizing:border-box;height:100%;padding:var(--ms-badge-text-padding);background:var(--ms-badge-text-bg);color:var(--ms-badge-text-color);border:var(--ms-badge-text-border);border-right:none;border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal) ease,color var(--ms-transition-normal) ease}.ms__badge:hover .ms__badge-text{background:var(--ms-badge-text-bg-hover, var(--ms-badge-text-bg));color:var(--ms-badge-text-color-hover, var(--ms-badge-text-color))}.ms__badge-remove{display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:inherit;width:var(--ms-badge-remove-width);height:100%;flex-shrink:0;background:var(--ms-badge-remove-bg);color:var(--ms-badge-remove-color);border:var(--ms-badge-remove-border);border-left:none;border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-radius) 0;cursor:pointer;transition:background-color var(--ms-transition-normal) ease;font-size:var(--ms-badge-remove-font-size)}.ms__badge-remove:hover{background:var(--ms-badge-remove-bg-hover)}.ms__badge-remove:focus{outline:none}.ms__badge-remove:focus-visible{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus)}.ms__badge-remove:before{content:"";display:block;width:var(--ms-badge-remove-icon-size);height:var(--ms-badge-remove-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__badge--counter{cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-bg);color:var(--ms-badge-counter-text-color);border:var(--ms-badge-counter-border);border-right:none}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-bg);color:var(--ms-badge-counter-remove-color);border:var(--ms-badge-counter-border);border-left:none}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-bg-hover)}.ms__badge--more,.ms__badge[data-action=show-selected]{cursor:pointer}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-tooltip-bg);color:var(--ms-tooltip-text-color);padding:var(--ms-tooltip-padding);border-radius:var(--ms-tooltip-border-radius);font-size:var(--ms-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow);pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__selected-popover{display:none;position:fixed;z-index:var(--ms-z-index-popover);background:var(--ms-selected-popover-bg);border:var(--ms-selected-popover-border);border-radius:var(--ms-selected-popover-border-radius);box-shadow:var(--ms-selected-popover-box-shadow);width:var(--ms-selected-popover-width);max-height:var(--ms-selected-popover-max-height);overflow:hidden}.ms__selected-popover--visible{display:flex;flex-direction:column}.ms__selected-popover--virtual{display:block;overflow:visible;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding);background:var(--ms-selected-popover-header-bg);border-bottom:var(--ms-selected-popover-header-border-bottom);font-size:var(--ms-selected-popover-header-font-size);font-weight:var(--ms-selected-popover-header-font-weight);color:var(--ms-selected-popover-header-color)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size);height:var(--ms-popover-close-size);padding:0;border:none;background:var(--ms-selected-popover-close-bg);color:var(--ms-selected-popover-close-color);font-size:var(--ms-selected-popover-close-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-bg-hover);color:var(--ms-selected-popover-close-color-hover)}.ms__selected-popover-close:before{content:"";display:block;width:var(--ms-selected-popover-close-icon-size);height:var(--ms-selected-popover-close-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap);padding:var(--ms-selected-popover-body-padding);overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__selected-popover-body::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__selected-popover-body::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed)}.ms__selected-popover-body .ms__badge-text{flex:1;min-width:0;white-space:normal;word-wrap:break-word}.ms__selected-popover-body--virtual{display:block;max-height:none;padding:0}.ms__selected-popover-body--virtual .ms__badge{height:var(--ms-badge-height-virtual, 36px);min-height:var(--ms-badge-height-virtual, 36px);max-height:var(--ms-badge-height-virtual, 36px);margin-bottom:var(--ms-selected-popover-body-gap);overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right);padding-right:var(--ms-input-padding-h)}.ms--rtl .ms__toggle{left:var(--ms-toggle-right)!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset)!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm);margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs);margin-right:0}.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badges--right{margin-left:0;margin-right:var(--ms-badges-margin-right)}.ms--rtl .ms__badges--left{margin-right:0;margin-left:var(--ms-badges-margin-left)}.ms--rtl .ms__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);border-left:var(--ms-badge-remove-border);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-radius) 0;border-right:var(--ms-badge-text-border);border-left:none}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__count-display--right{margin-left:0;margin-right:var(--ms-count-display-margin-right)}.ms--rtl .ms__count-display--left{margin-right:0;margin-left:var(--ms-count-display-margin-left)}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity);cursor:not-allowed;background:var(--ms-input-bg-disabled)}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity)}.ms--no-checkboxes .ms__option{gap:0;padding-left:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-left:0}.ms-debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:calc(var(--base-border-radius-md, .6) * var(--ms-rem));font-size:calc(1.2 * var(--ms-rem));color:#111827}.ms-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.ms-debug-info details summary:hover{background-color:#f3f4f6}.ms-debug-info details summary:focus{outline:2px solid #3b82f6;outline-offset:2px}.ms-debug-info .ms-debug-stats{display:flex;flex-direction:column;gap:calc(.4 * var(--ms-rem));margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#fff;border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.ms-debug-info .ms-debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:calc(1 * var(--ms-rem))}.ms-debug-info .ms-debug-stats span:before{content:"•";margin-right:calc(.4 * var(--ms-rem));color:#3b82f6}`, ys = typeof HTMLElement < "u" ? HTMLElement : class {
2433
2453
  }, Ce = [
2434
2454
  // Strings
2435
2455
  { attr: "search-hint", key: "searchHint", parser: "string-or-undefined" },
@@ -2538,7 +2558,7 @@ const ys = ':host{--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-fo
2538
2558
  { attr: "show-counter", key: "isCounterShown", parser: "bool-default-false" },
2539
2559
  { attr: "enable-virtual-scroll", key: "isVirtualScrollEnabled", parser: "bool-default-false" },
2540
2560
  { attr: "enable-badge-tooltips", key: "isBadgeTooltipsEnabled", parser: "bool-default-false" }
2541
- ], xs = new Map(Ce.map((s) => [s.attr, s])), We = [
2561
+ ], xs = new Map(Ce.map((s) => [s.attr, s])), je = [
2542
2562
  { key: "valueMember", field: "_valueMember" },
2543
2563
  { key: "displayValueMember", field: "_displayValueMember" },
2544
2564
  { key: "searchValueMember", field: "_searchValueMember" },
@@ -2547,7 +2567,7 @@ const ys = ':host{--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-fo
2547
2567
  { key: "groupMember", field: "_groupMember" },
2548
2568
  { key: "disabledMember", field: "_disabledMember" }
2549
2569
  ];
2550
- function je(s, e) {
2570
+ function Ge(s, e) {
2551
2571
  if (e === null || e === "")
2552
2572
  switch (s.parser) {
2553
2573
  case "bool-default-true":
@@ -2574,15 +2594,16 @@ function je(s, e) {
2574
2594
  }
2575
2595
  }
2576
2596
  const Se = /* @__PURE__ */ new Set();
2577
- function at() {
2597
+ function lt() {
2578
2598
  return Array.from(Se);
2579
2599
  }
2580
- class lt extends ks {
2600
+ class Ae extends ys {
2581
2601
  constructor() {
2582
2602
  super();
2583
2603
  d(this, "picker");
2584
2604
  d(this, "containerElement");
2585
2605
  d(this, "shadow");
2606
+ d(this, "internals");
2586
2607
  // Properties for complex data (not attributes)
2587
2608
  d(this, "_options");
2588
2609
  // Member/Callback properties
@@ -2627,9 +2648,13 @@ class lt extends ks {
2627
2648
  d(this, "_deselectCallback");
2628
2649
  d(this, "_changeCallback");
2629
2650
  d(this, "_declarativeSelectedValues");
2630
- this.shadow = this.attachShadow({ mode: "open" });
2651
+ if (this.shadow = this.attachShadow({ mode: "open" }), typeof this.attachInternals == "function")
2652
+ try {
2653
+ this.internals = this.attachInternals();
2654
+ } catch {
2655
+ }
2631
2656
  const t = document.createElement("style");
2632
- t.textContent = ys, this.shadow.appendChild(t), requestAnimationFrame(() => {
2657
+ t.textContent = ks, this.shadow.appendChild(t), requestAnimationFrame(() => {
2633
2658
  this.setAttribute("data-ready", "");
2634
2659
  });
2635
2660
  }
@@ -2641,10 +2666,21 @@ class lt extends ks {
2641
2666
  "show-debug-info"
2642
2667
  ];
2643
2668
  }
2669
+ /**
2670
+ * Called by the browser when the surrounding <form> is reset. Clears the
2671
+ * picker's selection so the multiselect actually participates in the
2672
+ * standard reset lifecycle. (Before form-association, reset was a no-op
2673
+ * because the hidden inputs were re-stamped from internal state on every
2674
+ * render.)
2675
+ */
2676
+ formResetCallback() {
2677
+ var t;
2678
+ (t = this.picker) == null || t.clearAll();
2679
+ }
2644
2680
  connectedCallback() {
2645
2681
  Se.add(this), this.render();
2646
2682
  const t = this.parseDeclarativeOptions();
2647
- t && (this._options && this._options.length > 0 && C.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."), this._options = t), this.initializePicker();
2683
+ t && (this._options && this._options.length > 0 && x.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."), this._options = t), this.initializePicker();
2648
2684
  }
2649
2685
  disconnectedCallback() {
2650
2686
  Se.delete(this), this.picker && this.picker.destroy();
@@ -2659,7 +2695,7 @@ class lt extends ks {
2659
2695
  }
2660
2696
  const r = xs.get(t);
2661
2697
  if (r) {
2662
- const a = je(r, i), l = (n = We.find((u) => u.key === r.key)) == null ? void 0 : n.field, c = a === void 0 && l ? this[l] : a, h = { [r.key]: c };
2698
+ const a = Ge(r, i), l = (n = je.find((u) => u.key === r.key)) == null ? void 0 : n.field, c = a === void 0 && l ? this[l] : a, h = { [r.key]: c };
2663
2699
  if (this.picker.updateOptions(h)) return;
2664
2700
  }
2665
2701
  this.reinitialize();
@@ -2681,7 +2717,7 @@ class lt extends ks {
2681
2717
  var m, g;
2682
2718
  const t = this.shadow.querySelector(".ms-debug-stats");
2683
2719
  if (!t || !this.picker) return;
2684
- const o = "1.9.0", i = at().length, n = this.picker.getSelected().length, a = ((m = this._options) == null ? void 0 : m.length) || 0, l = this.picker, c = l.isOpen || !1, h = l.searchTerm || "", p = l.isLoading || !1, u = ((g = l.filteredOptions) == null ? void 0 : g.length) || 0;
2720
+ const o = "1.10.0", i = lt().length, n = this.picker.getSelected().length, a = ((m = this._options) == null ? void 0 : m.length) || 0, l = this.picker, c = l.isOpen || !1, h = l.searchTerm || "", p = l.isLoading || !1, u = ((g = l.filteredOptions) == null ? void 0 : g.length) || 0;
2685
2721
  t.innerHTML = `
2686
2722
  <span>Version: ${o}</span>
2687
2723
  <span>Total Instances: ${i}</span>
@@ -2723,7 +2759,7 @@ class lt extends ks {
2723
2759
  m.hasAttribute("selected") && (this._declarativeSelectedValues || (this._declarativeSelectedValues = []), this._declarativeSelectedValues.push(g.value)), m.hasAttribute("disabled") && (g.disabled = !0), m.hasAttribute("data-icon") && (g.icon = m.getAttribute("data-icon")), m.hasAttribute("data-subtitle") && (g.subtitle = m.getAttribute("data-subtitle")), t.push(g), i = !0;
2724
2760
  }
2725
2761
  }
2726
- return i ? (C.debug(`[MultiSelectElement] Parsed ${t.length} declarative options from Light DOM`), o.forEach((c) => {
2762
+ return i ? (x.debug(`[MultiSelectElement] Parsed ${t.length} declarative options from Light DOM`), o.forEach((c) => {
2727
2763
  (c.tagName === "OPTION" || c.tagName === "OPTGROUP") && c.remove();
2728
2764
  }), t) : null;
2729
2765
  }
@@ -2731,7 +2767,7 @@ class lt extends ks {
2731
2767
  parseAttributesFromTable() {
2732
2768
  const t = {};
2733
2769
  for (const o of Ce) {
2734
- const i = je(o, this.getAttribute(o.attr));
2770
+ const i = Ge(o, this.getAttribute(o.attr));
2735
2771
  i !== void 0 && (t[o.key] = i);
2736
2772
  }
2737
2773
  return t;
@@ -2739,21 +2775,29 @@ class lt extends ks {
2739
2775
  initializePicker() {
2740
2776
  if (!this.containerElement) return;
2741
2777
  let t;
2778
+ const o = this.getAttribute("data-options");
2779
+ if (o && this._options === void 0)
2780
+ try {
2781
+ t = JSON.parse(o);
2782
+ } catch (n) {
2783
+ x.error("[MultiSelectElement] Failed to parse data-options:", n);
2784
+ }
2785
+ let i;
2742
2786
  if (this._declarativeSelectedValues && this._declarativeSelectedValues.length > 0)
2743
- t = this._declarativeSelectedValues, C.debug(`[MultiSelectElement] Using ${t.length} declaratively selected values`);
2787
+ i = this._declarativeSelectedValues, x.debug(`[MultiSelectElement] Using ${i.length} declaratively selected values`);
2744
2788
  else {
2745
- const i = this.getAttribute("initial-values");
2746
- if (i)
2789
+ const n = this.getAttribute("initial-values");
2790
+ if (n)
2747
2791
  try {
2748
- t = JSON.parse(i);
2749
- } catch (r) {
2750
- C.error("[MultiSelectElement] Failed to parse initial-values:", r);
2792
+ i = JSON.parse(n);
2793
+ } catch (a) {
2794
+ x.error("[MultiSelectElement] Failed to parse initial-values:", a);
2751
2795
  }
2752
2796
  }
2753
- const o = this.parseAttributesFromTable();
2754
- for (const { key: i, field: r } of We)
2755
- o[i] === void 0 && (o[i] = this[r]);
2756
- if (Object.assign(o, {
2797
+ const r = this.parseAttributesFromTable();
2798
+ for (const { key: n, field: a } of je)
2799
+ r[n] === void 0 && (r[n] = this[a]);
2800
+ if (Object.assign(r, {
2757
2801
  actionButtons: this._actionButtons,
2758
2802
  getValueCallback: this._getValueCallback,
2759
2803
  getDisplayValueCallback: this._getDisplayValueCallback,
@@ -2774,35 +2818,35 @@ class lt extends ks {
2774
2818
  getValueFormatCallback: this._getValueFormatCallback,
2775
2819
  getBadgeTooltipCallback: this._getBadgeTooltipCallback,
2776
2820
  getRemoveButtonTooltipCallback: this._getRemoveButtonTooltipCallback,
2777
- getCounterCallback: this._getCounterCallback || ((i, r) => r !== void 0 ? `+${r} more` : `${i} selected`),
2778
- options: this._options,
2821
+ getCounterCallback: this._getCounterCallback || ((n, a) => a !== void 0 ? `+${a} more` : `${n} selected`),
2822
+ options: this._options ?? t,
2779
2823
  beforeSearchCallback: this._beforeSearchCallback,
2780
2824
  searchCallback: this._searchCallback,
2781
2825
  addNewCallback: this._addNewCallback,
2782
- selectCallback: (i) => {
2783
- var r;
2784
- this._selectCallback && this._selectCallback(i), this.dispatchEvent(new CustomEvent("select", {
2826
+ selectCallback: (n) => {
2827
+ var a;
2828
+ this._selectCallback && this._selectCallback(n), this.dispatchEvent(new CustomEvent("select", {
2785
2829
  detail: {
2786
- option: i,
2787
- selectedOptions: (r = this.picker) == null ? void 0 : r.getSelected(),
2830
+ option: n,
2831
+ selectedOptions: (a = this.picker) == null ? void 0 : a.getSelected(),
2788
2832
  selectedValues: this.collectSelectedValues()
2789
2833
  }
2790
2834
  }));
2791
2835
  },
2792
- deselectCallback: (i) => {
2793
- var r;
2794
- this._deselectCallback && this._deselectCallback(i), this.dispatchEvent(new CustomEvent("deselect", {
2836
+ deselectCallback: (n) => {
2837
+ var a;
2838
+ this._deselectCallback && this._deselectCallback(n), this.dispatchEvent(new CustomEvent("deselect", {
2795
2839
  detail: {
2796
- option: i,
2797
- selectedOptions: (r = this.picker) == null ? void 0 : r.getSelected(),
2840
+ option: n,
2841
+ selectedOptions: (a = this.picker) == null ? void 0 : a.getSelected(),
2798
2842
  selectedValues: this.collectSelectedValues()
2799
2843
  }
2800
2844
  }));
2801
2845
  },
2802
- changeCallback: (i) => {
2803
- this._changeCallback && this._changeCallback(i), this.dispatchEvent(new CustomEvent("change", {
2846
+ changeCallback: (n) => {
2847
+ this._changeCallback && this._changeCallback(n), this.dispatchEvent(new CustomEvent("change", {
2804
2848
  detail: {
2805
- selectedOptions: i,
2849
+ selectedOptions: n,
2806
2850
  selectedValues: this.collectSelectedValues()
2807
2851
  }
2808
2852
  }));
@@ -2811,11 +2855,11 @@ class lt extends ks {
2811
2855
  container: this.shadow,
2812
2856
  // Pass host element (this) for hidden inputs in light DOM
2813
2857
  hostElement: this
2814
- }), t && (this.containerElement.dataset.initialValues = JSON.stringify(t)), this.picker = new ws(this.containerElement, o), this._customStylesCallback) {
2815
- const i = this._customStylesCallback();
2816
- if (i) {
2817
- const r = document.createElement("style");
2818
- r.className = "ms-custom-styles", r.textContent = i, this.shadow.insertBefore(r, this.shadow.firstChild);
2858
+ }), i && (this.containerElement.dataset.initialValues = JSON.stringify(i)), this.picker = new _s(this.containerElement, r), this._customStylesCallback) {
2859
+ const n = this._customStylesCallback();
2860
+ if (n) {
2861
+ const a = document.createElement("style");
2862
+ a.className = "ms-custom-styles", a.textContent = n, this.shadow.insertBefore(a, this.shadow.firstChild);
2819
2863
  }
2820
2864
  }
2821
2865
  }
@@ -3142,16 +3186,21 @@ class lt extends ks {
3142
3186
  this.picker && this.picker.destroy();
3143
3187
  }
3144
3188
  }
3145
- typeof window < "u" && typeof customElements < "u" && (customElements.get("web-multiselect") || customElements.define("web-multiselect", lt));
3189
+ // Opt into the form-associated custom element lifecycle. This is what
3190
+ // makes `form.reset()`, `form.elements`, and (in the future) constraint
3191
+ // validation actually do something. Without this flag the element is
3192
+ // invisible to the form lifecycle even when it has a `name`.
3193
+ d(Ae, "formAssociated", !0);
3194
+ typeof window < "u" && typeof customElements < "u" && (customElements.get("web-multiselect") || customElements.define("web-multiselect", Ae));
3146
3195
  typeof window < "u" && (window.components = window.components || {}, window.components["web-multiselect"] = {
3147
- version: () => "1.9.0",
3196
+ version: () => "1.10.0",
3148
3197
  config: {
3149
3198
  name: "@keenmate/web-multiselect",
3150
- version: "1.9.0",
3199
+ version: "1.10.0",
3151
3200
  author: "Keenmate",
3152
3201
  license: "MIT",
3153
3202
  repository: "git+https://github.com/keenmate/web-multiselect.git",
3154
- homepage: "https://github.com/keenmate/web-multiselect#readme"
3203
+ homepage: "https://web-multiselect.keenmate.dev"
3155
3204
  },
3156
3205
  logging: {
3157
3206
  enableLogging: gs,
@@ -3161,20 +3210,20 @@ typeof window < "u" && (window.components = window.components || {}, window.comp
3161
3210
  getCategories: () => [...us]
3162
3211
  },
3163
3212
  register: () => {
3164
- typeof customElements < "u" && !customElements.get("web-multiselect") && customElements.define("web-multiselect", lt);
3213
+ typeof customElements < "u" && !customElements.get("web-multiselect") && customElements.define("web-multiselect", Ae);
3165
3214
  },
3166
- getInstances: () => at()
3215
+ getInstances: () => lt()
3167
3216
  });
3168
3217
  export {
3169
3218
  us as LOGGING_CATEGORIES,
3170
- lt as MultiSelectElement,
3171
- ws as WebMultiSelect,
3172
- C as dataLogger,
3219
+ Ae as MultiSelectElement,
3220
+ _s as WebMultiSelect,
3221
+ x as dataLogger,
3173
3222
  bs as disableLogging,
3174
3223
  gs as enableLogging,
3175
3224
  oe as initLogger,
3176
3225
  S as interactionLogger,
3177
3226
  vs as setCategoryLevel,
3178
3227
  fs as setLogLevel,
3179
- P as uiLogger
3228
+ M as uiLogger
3180
3229
  };