@keenmate/web-multiselect 2.0.0-rc07 → 2.0.0-rc09

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.
@@ -3,8 +3,8 @@ var ss = (s) => {
3
3
  throw TypeError(s);
4
4
  };
5
5
  var ho = (s, e, t) => e in s ? co(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
- var m = (s, e, t) => ho(s, typeof e != "symbol" ? e + "" : e, t), Tt = (s, e, t) => e.has(s) || ss("Cannot " + t);
7
- var p = (s, e, t) => (Tt(s, e, "read from private field"), t ? t.call(s) : e.get(s)), E = (s, e, t) => e.has(s) ? ss("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), N = (s, e, t, o) => (Tt(s, e, "write to private field"), o ? o.call(s, t) : e.set(s, t), t), x = (s, e, t) => (Tt(s, e, "access private method"), t);
6
+ var u = (s, e, t) => ho(s, typeof e != "symbol" ? e + "" : e, t), Tt = (s, e, t) => e.has(s) || ss("Cannot " + t);
7
+ var p = (s, e, t) => (Tt(s, e, "read from private field"), t ? t.call(s) : e.get(s)), E = (s, e, t) => e.has(s) ? ss("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), V = (s, e, t, o) => (Tt(s, e, "write to private field"), o ? o.call(s, t) : e.set(s, t), t), x = (s, e, t) => (Tt(s, e, "access private method"), t);
8
8
  function F(s, e = {}) {
9
9
  const t = new Set(s), o = e.shouldNullOnInvalid ? null : e.default ?? null;
10
10
  return {
@@ -313,14 +313,14 @@ function No(s, e) {
313
313
  var t;
314
314
  (t = mt.get(s)) == null || t.delete(e);
315
315
  }
316
- function Do(s) {
316
+ function Vo(s) {
317
317
  return Array.from(mt.get(s) ?? []);
318
318
  }
319
319
  const Es = /* @__PURE__ */ new Map();
320
- function $o(s, e) {
320
+ function Do(s, e) {
321
321
  Es.set(s.toLowerCase(), e);
322
322
  }
323
- function Vo(s) {
323
+ function $o(s) {
324
324
  return Es.get(s.toLowerCase());
325
325
  }
326
326
  function Ro(s, e, t, o = {}) {
@@ -352,7 +352,7 @@ const jo = { trace() {
352
352
  }, warn() {
353
353
  }, error() {
354
354
  } }, Uo = new Proxy({}, { get: () => jo });
355
- var he, Je, ve, Qe, ye, Ze, yt, we, ue, xe, _e, Pe, Me, Le, Ee, wt, se, Ae, T, As, zs, Ns, Y, Ds, $s, Dt, $t, We, Vt, Vs;
355
+ var he, Je, ve, Qe, ye, Ze, yt, we, ue, xe, _e, Pe, Me, Le, Ee, wt, se, Ae, T, As, zs, Ns, Y, Vs, Ds, Vt, Dt, We, $t, $s;
356
356
  const Xe = class Xe extends Fo {
357
357
  constructor() {
358
358
  super();
@@ -364,7 +364,7 @@ const Xe = class Xe extends Fo {
364
364
  /** Live handler currently bound via each managed `on<Name>` property, keyed by event name. */
365
365
  E(this, ye, /* @__PURE__ */ new Map());
366
366
  E(this, Ze, yo());
367
- E(this, yt, () => x(this, T, Vt).call(this));
367
+ E(this, yt, () => x(this, T, $t).call(this));
368
368
  E(this, we, null);
369
369
  E(this, ue, !1);
370
370
  E(this, xe, []);
@@ -392,7 +392,7 @@ const Xe = class Xe extends Fo {
392
392
  p(this, Je).set(r.configKey, r), r.attribute && p(this, ve).set(r.attribute, r);
393
393
  for (const r of i)
394
394
  p(this, Qe).set(r.name, r);
395
- x(this, T, As).call(this, o), x(this, T, Ds).call(this, o), x(this, T, $s).call(this, i);
395
+ x(this, T, As).call(this, o), x(this, T, Vs).call(this, o), x(this, T, Ds).call(this, i);
396
396
  }
397
397
  static get observedAttributes() {
398
398
  const t = (this.inputs ?? []).filter((o) => o.attribute).map((o) => o.attribute);
@@ -416,21 +416,21 @@ const Xe = class Xe extends Fo {
416
416
  } catch (l) {
417
417
  x(this, T, Y).call(this, `converter for "${r.configKey}" threw parsing attribute ${t}="${i}"; using default`, l), n = x(this, T, zs).call(this, r);
418
418
  }
419
- x(this, T, $t).call(this, n);
419
+ x(this, T, Dt).call(this, n);
420
420
  }
421
421
  connectedCallback() {
422
- zo(this.localName, this), p(this, _e) || (N(this, _e, !0), N(this, Pe, null), N(this, ue, !0)), x(this, T, We).call(this), this.connect(), this.environmentChanged !== Xe.prototype.environmentChanged && N(this, Le, Lo((t) => this.environmentChanged(t)));
422
+ zo(this.localName, this), p(this, _e) || (V(this, _e, !0), V(this, Pe, null), V(this, ue, !0)), x(this, T, We).call(this), this.connect(), this.environmentChanged !== Xe.prototype.environmentChanged && V(this, Le, Lo((t) => this.environmentChanged(t)));
423
423
  }
424
424
  disconnectedCallback() {
425
425
  var t;
426
- No(this.localName, this), (t = p(this, Le)) == null || t.call(this), N(this, Le, void 0), this.disconnect();
426
+ No(this.localName, this), (t = p(this, Le)) == null || t.call(this), V(this, Le, void 0), this.disconnect();
427
427
  }
428
428
  // ── public batching API ─────────────────────────────────────────────────
429
429
  /** Apply many inputs (by `configKey` or attribute name) as ONE reinit/update. */
430
430
  setAttributes(t) {
431
431
  for (const [o, i] of Object.entries(t)) {
432
432
  const r = p(this, Je).get(o) ?? p(this, ve).get(o);
433
- r && x(this, T, Dt).call(this, r, i);
433
+ r && x(this, T, Vt).call(this, r, i);
434
434
  }
435
435
  x(this, T, We).call(this);
436
436
  }
@@ -490,11 +490,11 @@ const Xe = class Xe extends Fo {
490
490
  get log() {
491
491
  if (p(this, Ae))
492
492
  return p(this, Ae);
493
- const t = Vo(this.localName);
493
+ const t = $o(this.localName);
494
494
  if (!t)
495
495
  return Uo;
496
- const o = p(this, wt) ?? N(this, wt, `${this.localName}#${this.id || ++Wo}`);
497
- return N(this, Ae, t.forInstance(o, () => p(this, se)));
496
+ const o = p(this, wt) ?? V(this, wt, `${this.localName}#${this.id || ++Wo}`);
497
+ return V(this, Ae, t.forInstance(o, () => p(this, se)));
498
498
  }
499
499
  /**
500
500
  * Turn on verbose logging for THIS element only (default `debug`), independent
@@ -502,11 +502,11 @@ const Xe = class Xe extends Fo {
502
502
  * picks one instance. Pairs with {@link disableLogging}.
503
503
  */
504
504
  enableLogging(t = "debug") {
505
- N(this, se, t);
505
+ V(this, se, t);
506
506
  }
507
507
  /** Clear this element's logging override (falls back to the type-level level). */
508
508
  disableLogging() {
509
- N(this, se, void 0);
509
+ V(this, se, void 0);
510
510
  }
511
511
  /** Whether this element has an active logging override (not unset/`silent`). */
512
512
  get isLoggingEnabled() {
@@ -596,7 +596,7 @@ const Xe = class Xe extends Fo {
596
596
  if (typeof this.attachInternals != "function")
597
597
  return null;
598
598
  try {
599
- return N(this, Ee, this.attachInternals());
599
+ return V(this, Ee, this.attachInternals());
600
600
  } catch {
601
601
  return null;
602
602
  }
@@ -700,22 +700,22 @@ Ns = function(t, o) {
700
700
  */
701
701
  Y = function(t, ...o) {
702
702
  console.warn(`[BlissElement] <${this.localName ?? "unknown"}> ${t}`, ...o);
703
- }, Ds = function(t) {
703
+ }, Vs = function(t) {
704
704
  for (const o of t) {
705
705
  const i = o.configKey, r = Object.prototype.hasOwnProperty.call(this, i), n = r ? this[i] : void 0;
706
706
  r && delete this[i], Object.defineProperty(this, i, {
707
707
  configurable: !0,
708
708
  enumerable: !0,
709
709
  get: () => p(this, he)[i],
710
- set: (a) => x(this, T, Dt).call(this, o, a)
711
- }), r && ((p(this, Pe) ?? N(this, Pe, /* @__PURE__ */ new Set())).add(i), this[i] = n);
710
+ set: (a) => x(this, T, Vt).call(this, o, a)
711
+ }), r && ((p(this, Pe) ?? V(this, Pe, /* @__PURE__ */ new Set())).add(i), this[i] = n);
712
712
  }
713
713
  }, /**
714
714
  * Install a managed `on<Name>` handler property per event. Assigning it
715
715
  * (de)registers a real listener for the event, so the property behaves like
716
716
  * `addEventListener(name, …)` and its handler receives the `CustomEvent`.
717
717
  */
718
- $s = function(t) {
718
+ Ds = function(t) {
719
719
  for (const o of t) {
720
720
  const i = o.property;
721
721
  if (!i)
@@ -735,47 +735,47 @@ $s = function(t) {
735
735
  }
736
736
  }), n && (this[i] = a);
737
737
  }
738
- }, Dt = function(t, o) {
738
+ }, Vt = function(t, o) {
739
739
  var r;
740
740
  const i = vo(t, o);
741
741
  if (!i) {
742
742
  x(this, T, Y).call(this, `rejected invalid value for property "${t.configKey}"; keeping previous value`, o);
743
743
  return;
744
744
  }
745
- if (x(this, T, $t).call(this, i), t.reflect && t.attribute && ((r = t.converter) != null && r.toAttribute)) {
745
+ if (x(this, T, Dt).call(this, i), t.reflect && t.attribute && ((r = t.converter) != null && r.toAttribute)) {
746
746
  const n = t.converter.toAttribute(i.value);
747
- N(this, Me, !0);
747
+ V(this, Me, !0);
748
748
  try {
749
749
  n === null ? this.removeAttribute(t.attribute) : this.setAttribute(t.attribute, n);
750
750
  } finally {
751
- N(this, Me, !1);
751
+ V(this, Me, !1);
752
752
  }
753
753
  }
754
- }, $t = function(t) {
755
- p(this, he)[t.configKey] = t.value, t.field && (this[t.field] = t.value), t.on !== "none" && (t.on === "reinit" && N(this, ue, !0), (p(this, we) ?? N(this, we, {}))[t.configKey] = t.value, p(this, Ze).schedule(p(this, yt)));
754
+ }, Dt = function(t) {
755
+ p(this, he)[t.configKey] = t.value, t.field && (this[t.field] = t.value), t.on !== "none" && (t.on === "reinit" && V(this, ue, !0), (p(this, we) ?? V(this, we, {}))[t.configKey] = t.value, p(this, Ze).schedule(p(this, yt)));
756
756
  }, /** Cancel any queued microtask and flush pending changes synchronously now. */
757
757
  We = function() {
758
- p(this, Ze).cancel(), x(this, T, Vt).call(this);
759
- }, Vt = function() {
758
+ p(this, Ze).cancel(), x(this, T, $t).call(this);
759
+ }, $t = function() {
760
760
  if (!this.isConnected)
761
761
  return;
762
762
  const t = p(this, ue), o = p(this, we);
763
- N(this, ue, !1), N(this, we, null), t ? this.reinit() : o && Object.keys(o).length > 0 && this.update(o), x(this, T, Vs).call(this);
763
+ V(this, ue, !1), V(this, we, null), t ? this.reinit() : o && Object.keys(o).length > 0 && this.update(o), x(this, T, $s).call(this);
764
764
  }, /** Resolve everyone awaiting {@link whenSettled} for the flush that just ran. */
765
- Vs = function() {
765
+ $s = function() {
766
766
  if (p(this, xe).length === 0)
767
767
  return;
768
768
  const t = p(this, xe);
769
- N(this, xe, []);
769
+ V(this, xe, []);
770
770
  for (const o of t)
771
771
  o();
772
772
  }, /** The opt-in input table. Subclasses set this to enable attribute/property reactivity. */
773
- m(Xe, "inputs"), /**
773
+ u(Xe, "inputs"), /**
774
774
  * The opt-in event table (SPEC §12.5). Each entry (a bare name, or an
775
775
  * {@link EventDef} for overrides) declares an outward notification that
776
776
  * {@link emit} can fire and installs a managed `on<Name>` handler property.
777
777
  */
778
- m(Xe, "events");
778
+ u(Xe, "events");
779
779
  let Nt = Xe;
780
780
  function rs(s, e, t) {
781
781
  typeof customElements > "u" || customElements.get(s) || customElements.define(s, e, t);
@@ -791,13 +791,13 @@ function Go(s) {
791
791
  }
792
792
  function Xo(s, e, t) {
793
793
  const { config: o, logging: i, shouldAutoDefine: r = !0 } = t;
794
- i && $o(s, i);
794
+ i && Do(s, i);
795
795
  const n = {
796
796
  version: () => o.version,
797
797
  config: o,
798
798
  ...i ? { logging: Go(i) } : {},
799
799
  register: () => rs(s, e),
800
- getInstances: () => Do(s)
800
+ getInstances: () => Vo(s)
801
801
  };
802
802
  return typeof window < "u" && ((window.components ?? (window.components = {}))[s] = n), r && rs(s, e), n;
803
803
  }
@@ -964,22 +964,22 @@ let de;
964
964
  const ft = {};
965
965
  class Hs {
966
966
  constructor(e, t) {
967
- m(this, "name");
968
- m(this, "levels", j);
969
- m(this, "methodFactory");
967
+ u(this, "name");
968
+ u(this, "levels", j);
969
+ u(this, "methodFactory");
970
970
  // Installed by replaceLoggingMethods(); definite-assignment via `!`.
971
- m(this, "trace");
972
- m(this, "debug");
973
- m(this, "info");
974
- m(this, "warn");
975
- m(this, "error");
976
- m(this, "log");
971
+ u(this, "trace");
972
+ u(this, "debug");
973
+ u(this, "info");
974
+ u(this, "warn");
975
+ u(this, "error");
976
+ u(this, "log");
977
977
  /** Level inherited from the root (cached so it stays in sync with installed methods). */
978
- m(this, "inheritedLevel");
978
+ u(this, "inheritedLevel");
979
979
  /** Optional per-logger default; overrides inherited. */
980
- m(this, "defaultLevel", null);
980
+ u(this, "defaultLevel", null);
981
981
  /** Optional user-set level; overrides default. */
982
- m(this, "userLevel", null);
982
+ u(this, "userLevel", null);
983
983
  this.name = e, this.methodFactory = t, this.inheritedLevel = Be(de ? de.getLevel() : "WARN");
984
984
  const o = this.getPersistedLevel();
985
985
  o != null && (this.userLevel = Be(o)), this.replaceLoggingMethods();
@@ -1149,13 +1149,13 @@ const pe = Math.min, ie = Math.max, gt = Math.round, rt = Math.floor, re = (s) =
1149
1149
  function Bs(s, e, t) {
1150
1150
  return ie(s, pe(e, t));
1151
1151
  }
1152
- function De(s, e) {
1152
+ function Ve(s, e) {
1153
1153
  return typeof s == "function" ? s(e) : s;
1154
1154
  }
1155
1155
  function Se(s) {
1156
1156
  return s.split("-")[0];
1157
1157
  }
1158
- function $e(s) {
1158
+ function De(s) {
1159
1159
  return s.split("-")[1];
1160
1160
  }
1161
1161
  function Ks(s) {
@@ -1173,7 +1173,7 @@ function Jt(s) {
1173
1173
  }
1174
1174
  function vi(s, e, t) {
1175
1175
  t === void 0 && (t = !1);
1176
- const o = $e(s), i = Jt(s), r = Yt(i);
1176
+ const o = De(s), i = Jt(s), r = Yt(i);
1177
1177
  let n = i === "x" ? o === (t ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
1178
1178
  return e.reference[r] > e.floating[r] && (n = bt(n)), [n, bt(n)];
1179
1179
  }
@@ -1198,7 +1198,7 @@ function _i(s, e, t) {
1198
1198
  }
1199
1199
  }
1200
1200
  function ki(s, e, t, o) {
1201
- const i = $e(s);
1201
+ const i = De(s);
1202
1202
  let r = _i(Se(s), t === "start", o);
1203
1203
  return i && (r = r.map((n) => n + "-" + i), e && (r = r.concat(r.map(Rt)))), r;
1204
1204
  }
@@ -1247,40 +1247,40 @@ function ps(s, e, t) {
1247
1247
  floating: i
1248
1248
  } = s;
1249
1249
  const r = oe(e), n = Jt(e), a = Yt(n), l = Se(e), c = r === "y", d = o.x + o.width / 2 - i.width / 2, h = o.y + o.height / 2 - i.height / 2, f = o[a] / 2 - i[a] / 2;
1250
- let u;
1250
+ let m;
1251
1251
  switch (l) {
1252
1252
  case "top":
1253
- u = {
1253
+ m = {
1254
1254
  x: d,
1255
1255
  y: o.y - i.height
1256
1256
  };
1257
1257
  break;
1258
1258
  case "bottom":
1259
- u = {
1259
+ m = {
1260
1260
  x: d,
1261
1261
  y: o.y + o.height
1262
1262
  };
1263
1263
  break;
1264
1264
  case "right":
1265
- u = {
1265
+ m = {
1266
1266
  x: o.x + o.width,
1267
1267
  y: h
1268
1268
  };
1269
1269
  break;
1270
1270
  case "left":
1271
- u = {
1271
+ m = {
1272
1272
  x: o.x - i.width,
1273
1273
  y: h
1274
1274
  };
1275
1275
  break;
1276
1276
  default:
1277
- u = {
1277
+ m = {
1278
1278
  x: o.x,
1279
1279
  y: o.y
1280
1280
  };
1281
1281
  }
1282
- const g = $e(e);
1283
- return g && (u[n] += f * (g === "end" ? 1 : -1) * (t && c ? -1 : 1)), u;
1282
+ const g = De(e);
1283
+ return g && (m[n] += f * (g === "end" ? 1 : -1) * (t && c ? -1 : 1)), m;
1284
1284
  }
1285
1285
  async function Si(s, e) {
1286
1286
  var t;
@@ -1297,8 +1297,8 @@ async function Si(s, e) {
1297
1297
  rootBoundary: d = "viewport",
1298
1298
  elementContext: h = "floating",
1299
1299
  altBoundary: f = !1,
1300
- padding: u = 0
1301
- } = De(e, s), g = Fs(u), y = a[f ? h === "floating" ? "reference" : "floating" : h], v = vt(await r.getClippingRect({
1300
+ padding: m = 0
1301
+ } = Ve(e, s), g = Fs(m), y = a[f ? h === "floating" ? "reference" : "floating" : h], v = vt(await r.getClippingRect({
1302
1302
  element: (t = await (r.isElement == null ? void 0 : r.isElement(y))) == null || t ? y : y.contextElement || await (r.getDocumentElement == null ? void 0 : r.getDocumentElement(a.floating)),
1303
1303
  boundary: c,
1304
1304
  rootBoundary: d,
@@ -1341,7 +1341,7 @@ const Ti = 50, Ii = async (s, e, t) => {
1341
1341
  }), {
1342
1342
  x: d,
1343
1343
  y: h
1344
- } = ps(c, o, l), f = o, u = 0;
1344
+ } = ps(c, o, l), f = o, m = 0;
1345
1345
  const g = {};
1346
1346
  for (let b = 0; b < r.length; b++) {
1347
1347
  const y = r[b];
@@ -1354,7 +1354,7 @@ const Ti = 50, Ii = async (s, e, t) => {
1354
1354
  x: k,
1355
1355
  y: P,
1356
1356
  data: M,
1357
- reset: $
1357
+ reset: D
1358
1358
  } = await w({
1359
1359
  x: d,
1360
1360
  y: h,
@@ -1372,11 +1372,11 @@ const Ti = 50, Ii = async (s, e, t) => {
1372
1372
  d = k ?? d, h = P ?? h, g[v] = {
1373
1373
  ...g[v],
1374
1374
  ...M
1375
- }, $ && u < Ti && (u++, typeof $ == "object" && ($.placement && (f = $.placement), $.rects && (c = $.rects === !0 ? await n.getElementRects({
1375
+ }, D && m < Ti && (m++, typeof D == "object" && (D.placement && (f = D.placement), D.rects && (c = D.rects === !0 ? await n.getElementRects({
1376
1376
  reference: s,
1377
1377
  floating: e,
1378
1378
  strategy: i
1379
- }) : $.rects), {
1379
+ }) : D.rects), {
1380
1380
  x: d,
1381
1381
  y: h
1382
1382
  } = ps(c, f, l)), b = -1);
@@ -1403,21 +1403,21 @@ const Ti = 50, Ii = async (s, e, t) => {
1403
1403
  } = e, {
1404
1404
  element: c,
1405
1405
  padding: d = 0
1406
- } = De(s, e) || {};
1406
+ } = Ve(s, e) || {};
1407
1407
  if (c == null)
1408
1408
  return {};
1409
1409
  const h = Fs(d), f = {
1410
1410
  x: t,
1411
1411
  y: o
1412
- }, u = Jt(i), g = Yt(u), b = await n.getDimensions(c), y = u === "y", v = y ? "top" : "left", w = y ? "bottom" : "right", k = y ? "clientHeight" : "clientWidth", P = r.reference[g] + r.reference[u] - f[u] - r.floating[g], M = f[u] - r.reference[u], $ = await (n.getOffsetParent == null ? void 0 : n.getOffsetParent(c));
1413
- let R = $ ? $[k] : 0;
1414
- (!R || !await (n.isElement == null ? void 0 : n.isElement($))) && (R = a.floating[k] || r.floating[g]);
1415
- const G = P / 2 - M / 2, L = R / 2 - b[g] / 2 - 1, C = pe(h[v], L), I = pe(h[w], L), O = R - b[g] - I, V = R / 2 - b[g] / 2 + G, S = Bs(C, V, O), H = !l.arrow && $e(i) != null && V !== S && r.reference[g] / 2 - (V < C ? C : I) - b[g] / 2 < 0, te = H ? V < C ? V - C : V - O : 0;
1412
+ }, m = Jt(i), g = Yt(m), b = await n.getDimensions(c), y = m === "y", v = y ? "top" : "left", w = y ? "bottom" : "right", k = y ? "clientHeight" : "clientWidth", P = r.reference[g] + r.reference[m] - f[m] - r.floating[g], M = f[m] - r.reference[m], D = await (n.getOffsetParent == null ? void 0 : n.getOffsetParent(c));
1413
+ let R = D ? D[k] : 0;
1414
+ (!R || !await (n.isElement == null ? void 0 : n.isElement(D))) && (R = a.floating[k] || r.floating[g]);
1415
+ const G = P / 2 - M / 2, L = R / 2 - b[g] / 2 - 1, C = pe(h[v], L), I = pe(h[w], L), O = R - b[g] - I, $ = R / 2 - b[g] / 2 + G, S = Bs(C, $, O), H = !l.arrow && De(i) != null && $ !== S && r.reference[g] / 2 - ($ < C ? C : I) - b[g] / 2 < 0, te = H ? $ < C ? $ - C : $ - O : 0;
1416
1416
  return {
1417
- [u]: f[u] + te,
1417
+ [m]: f[m] + te,
1418
1418
  data: {
1419
- [u]: S,
1420
- centerOffset: V - S - te,
1419
+ [m]: S,
1420
+ centerOffset: $ - S - te,
1421
1421
  ...H && {
1422
1422
  alignmentOffset: te
1423
1423
  }
@@ -1442,15 +1442,15 @@ const Ti = 50, Ii = async (s, e, t) => {
1442
1442
  mainAxis: d = !0,
1443
1443
  crossAxis: h = !0,
1444
1444
  fallbackPlacements: f,
1445
- fallbackStrategy: u = "bestFit",
1445
+ fallbackStrategy: m = "bestFit",
1446
1446
  fallbackAxisSideDirection: g = "none",
1447
1447
  flipAlignment: b = !0,
1448
1448
  ...y
1449
- } = De(s, e);
1449
+ } = Ve(s, e);
1450
1450
  if ((t = r.arrow) != null && t.alignmentOffset)
1451
1451
  return {};
1452
- const v = Se(i), w = oe(a), k = Se(a) === a, P = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), M = f || (k || !b ? [bt(a)] : yi(a)), $ = g !== "none";
1453
- !f && $ && M.push(...ki(a, b, g, P));
1452
+ const v = Se(i), w = oe(a), k = Se(a) === a, P = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), M = f || (k || !b ? [bt(a)] : yi(a)), D = g !== "none";
1453
+ !f && D && M.push(...ki(a, b, g, P));
1454
1454
  const R = [a, ...M], G = await l.detectOverflow(e, y), L = [];
1455
1455
  let C = ((o = r.flip) == null ? void 0 : o.overflows) || [];
1456
1456
  if (d && L.push(G[v]), h) {
@@ -1477,18 +1477,18 @@ const Ti = 50, Ii = async (s, e, t) => {
1477
1477
  };
1478
1478
  let te = (O = C.filter((ge) => ge.overflows[0] <= 0).sort((ge, q) => ge.overflows[1] - q.overflows[1])[0]) == null ? void 0 : O.placement;
1479
1479
  if (!te)
1480
- switch (u) {
1480
+ switch (m) {
1481
1481
  case "bestFit": {
1482
- var V;
1483
- const ge = (V = C.filter((q) => {
1484
- if ($) {
1482
+ var $;
1483
+ const ge = ($ = C.filter((q) => {
1484
+ if (D) {
1485
1485
  const le = oe(q.placement);
1486
1486
  return le === w || // Create a bias to the `y` side axis due to horizontal
1487
1487
  // reading directions favoring greater width.
1488
1488
  le === "y";
1489
1489
  }
1490
1490
  return !0;
1491
- }).map((q) => [q.placement, q.overflows.filter((le) => le > 0).reduce((le, lo) => le + lo, 0)]).sort((q, le) => q[1] - le[1])[0]) == null ? void 0 : V[0];
1491
+ }).map((q) => [q.placement, q.overflows.filter((le) => le > 0).reduce((le, lo) => le + lo, 0)]).sort((q, le) => q[1] - le[1])[0]) == null ? void 0 : $[0];
1492
1492
  ge && (te = ge);
1493
1493
  break;
1494
1494
  }
@@ -1512,10 +1512,10 @@ async function Li(s, e) {
1512
1512
  placement: t,
1513
1513
  platform: o,
1514
1514
  elements: i
1515
- } = s, r = await (o.isRTL == null ? void 0 : o.isRTL(i.floating)), n = Se(t), a = $e(t), l = oe(t) === "y", c = Mi.has(n) ? -1 : 1, d = r && l ? -1 : 1, h = De(e, s);
1515
+ } = s, r = await (o.isRTL == null ? void 0 : o.isRTL(i.floating)), n = Se(t), a = De(t), l = oe(t) === "y", c = Mi.has(n) ? -1 : 1, d = r && l ? -1 : 1, h = Ve(e, s);
1516
1516
  let {
1517
1517
  mainAxis: f,
1518
- crossAxis: u,
1518
+ crossAxis: m,
1519
1519
  alignmentAxis: g
1520
1520
  } = typeof h == "number" ? {
1521
1521
  mainAxis: h,
@@ -1526,12 +1526,12 @@ async function Li(s, e) {
1526
1526
  crossAxis: h.crossAxis || 0,
1527
1527
  alignmentAxis: h.alignmentAxis
1528
1528
  };
1529
- return a && typeof g == "number" && (u = a === "end" ? g * -1 : g), l ? {
1530
- x: u * d,
1529
+ return a && typeof g == "number" && (m = a === "end" ? g * -1 : g), l ? {
1530
+ x: m * d,
1531
1531
  y: f * c
1532
1532
  } : {
1533
1533
  x: f * c,
1534
- y: u * d
1534
+ y: m * d
1535
1535
  };
1536
1536
  }
1537
1537
  const Ei = function(s) {
@@ -1582,16 +1582,16 @@ const Ei = function(s) {
1582
1582
  }
1583
1583
  },
1584
1584
  ...c
1585
- } = De(s, e), d = {
1585
+ } = Ve(s, e), d = {
1586
1586
  x: t,
1587
1587
  y: o
1588
- }, h = await r.detectOverflow(e, c), f = oe(i), u = Ks(f);
1589
- let g = d[u], b = d[f];
1588
+ }, h = await r.detectOverflow(e, c), f = oe(i), m = Ks(f);
1589
+ let g = d[m], b = d[f];
1590
1590
  const y = (w, k) => Bs(k + h[w === "y" ? "top" : "left"], k, k - h[w === "y" ? "bottom" : "right"]);
1591
- n && (g = y(u, g)), a && (b = y(f, b));
1591
+ n && (g = y(m, g)), a && (b = y(f, b));
1592
1592
  const v = l.fn({
1593
1593
  ...e,
1594
- [u]: g,
1594
+ [m]: g,
1595
1595
  [f]: b
1596
1596
  });
1597
1597
  return {
@@ -1600,7 +1600,7 @@ const Ei = function(s) {
1600
1600
  x: v.x - t,
1601
1601
  y: v.y - o,
1602
1602
  enabled: {
1603
- [u]: n,
1603
+ [m]: n,
1604
1604
  [f]: a
1605
1605
  }
1606
1606
  }
@@ -1621,21 +1621,21 @@ const Ei = function(s) {
1621
1621
  apply: n = () => {
1622
1622
  },
1623
1623
  ...a
1624
- } = De(s, e), l = await i.detectOverflow(e, a), c = Se(t), d = $e(t), h = oe(t) === "y", {
1624
+ } = Ve(s, e), l = await i.detectOverflow(e, a), c = Se(t), d = De(t), h = oe(t) === "y", {
1625
1625
  width: f,
1626
- height: u
1626
+ height: m
1627
1627
  } = o.floating;
1628
1628
  let g, b;
1629
1629
  c === "top" || c === "bottom" ? (g = c, b = d === (await (i.isRTL == null ? void 0 : i.isRTL(r.floating)) ? "start" : "end") ? "left" : "right") : (b = c, g = d === "end" ? "top" : "bottom");
1630
- const y = u - l.top - l.bottom, v = f - l.left - l.right, w = pe(u - l[g], y), k = pe(f - l[b], v), P = e.middlewareData.shift, M = !P;
1631
- let $ = w, R = k;
1632
- P != null && P.enabled.x && (R = v), P != null && P.enabled.y && ($ = y), M && !d && (h ? R = f - 2 * ie(l.left, l.right) : $ = u - 2 * ie(l.top, l.bottom)), await n({
1630
+ const y = m - l.top - l.bottom, v = f - l.left - l.right, w = pe(m - l[g], y), k = pe(f - l[b], v), P = e.middlewareData.shift, M = !P;
1631
+ let D = w, R = k;
1632
+ P != null && P.enabled.x && (R = v), P != null && P.enabled.y && (D = y), M && !d && (h ? R = f - 2 * ie(l.left, l.right) : D = m - 2 * ie(l.top, l.bottom)), await n({
1633
1633
  ...e,
1634
1634
  availableWidth: R,
1635
- availableHeight: $
1635
+ availableHeight: D
1636
1636
  });
1637
1637
  const G = await i.getDimensions(r.floating);
1638
- return f !== G.width || u !== G.height ? {
1638
+ return f !== G.width || m !== G.height ? {
1639
1639
  reset: {
1640
1640
  rects: !0
1641
1641
  }
@@ -1646,7 +1646,7 @@ const Ei = function(s) {
1646
1646
  function xt() {
1647
1647
  return typeof window < "u";
1648
1648
  }
1649
- function Ve(s) {
1649
+ function $e(s) {
1650
1650
  return Ws(s) ? (s.nodeName || "").toLowerCase() : "#document";
1651
1651
  }
1652
1652
  function U(s) {
@@ -1679,7 +1679,7 @@ function _t(s) {
1679
1679
  return /auto|scroll|overlay|hidden|clip/.test(e + o + t) && i !== "inline" && i !== "contents";
1680
1680
  }
1681
1681
  function Ni(s) {
1682
- return /^(table|td|th)$/.test(Ve(s));
1682
+ return /^(table|td|th)$/.test($e(s));
1683
1683
  }
1684
1684
  function kt(s) {
1685
1685
  try {
@@ -1693,13 +1693,13 @@ function kt(s) {
1693
1693
  return !1;
1694
1694
  }
1695
1695
  }
1696
- const Di = /transform|translate|scale|rotate|perspective|filter/, $i = /paint|layout|strict|content/, be = (s) => !!s && s !== "none";
1696
+ const Vi = /transform|translate|scale|rotate|perspective|filter/, Di = /paint|layout|strict|content/, be = (s) => !!s && s !== "none";
1697
1697
  let Pt;
1698
1698
  function Qt(s) {
1699
1699
  const e = Z(s) ? ee(s) : s;
1700
- return be(e.transform) || be(e.translate) || be(e.scale) || be(e.rotate) || be(e.perspective) || !Zt() && (be(e.backdropFilter) || be(e.filter)) || Di.test(e.willChange || "") || $i.test(e.contain || "");
1700
+ return be(e.transform) || be(e.translate) || be(e.scale) || be(e.rotate) || be(e.perspective) || !Zt() && (be(e.backdropFilter) || be(e.filter)) || Vi.test(e.willChange || "") || Di.test(e.contain || "");
1701
1701
  }
1702
- function Vi(s) {
1702
+ function $i(s) {
1703
1703
  let e = Te(s);
1704
1704
  for (; fe(e) && !qe(e); ) {
1705
1705
  if (Qt(e))
@@ -1714,7 +1714,7 @@ function Zt() {
1714
1714
  return Pt == null && (Pt = typeof CSS < "u" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none")), Pt;
1715
1715
  }
1716
1716
  function qe(s) {
1717
- return /^(html|body|#document)$/.test(Ve(s));
1717
+ return /^(html|body|#document)$/.test($e(s));
1718
1718
  }
1719
1719
  function ee(s) {
1720
1720
  return U(s).getComputedStyle(s);
@@ -1729,7 +1729,7 @@ function Ct(s) {
1729
1729
  };
1730
1730
  }
1731
1731
  function Te(s) {
1732
- if (Ve(s) === "html")
1732
+ if ($e(s) === "html")
1733
1733
  return s;
1734
1734
  const e = (
1735
1735
  // Step into the shadow DOM of the parent of a slotted node.
@@ -1804,9 +1804,9 @@ function Ie(s, e, t, o) {
1804
1804
  const a = Hi(r, t, o) ? Gs(r) : re(0);
1805
1805
  let l = (i.left + a.x) / n.x, c = (i.top + a.y) / n.y, d = i.width / n.x, h = i.height / n.y;
1806
1806
  if (r && o) {
1807
- const f = U(r), u = Z(o) ? U(o) : o;
1807
+ const f = U(r), m = Z(o) ? U(o) : o;
1808
1808
  let g = f, b = Ht(g);
1809
- for (; b && u !== g; ) {
1809
+ for (; b && m !== g; ) {
1810
1810
  const y = Oe(b), v = b.getBoundingClientRect(), w = ee(b), k = v.left + (b.clientLeft + parseFloat(w.paddingLeft)) * y.x, P = v.top + (b.clientTop + parseFloat(w.paddingTop)) * y.y;
1811
1811
  l *= y.x, c *= y.y, d *= y.x, h *= y.y, l += k, c += P, g = U(b), b = Ht(g);
1812
1812
  }
@@ -1844,9 +1844,9 @@ function Bi(s) {
1844
1844
  scrollTop: 0
1845
1845
  }, c = re(1);
1846
1846
  const d = re(0), h = fe(o);
1847
- if ((h || !r) && ((Ve(o) !== "body" || _t(n)) && (l = Ct(o)), h)) {
1848
- const u = Ie(o);
1849
- c = Oe(o), d.x = u.x + o.clientLeft, d.y = u.y + o.clientTop;
1847
+ if ((h || !r) && (($e(o) !== "body" || _t(n)) && (l = Ct(o)), h)) {
1848
+ const m = Ie(o);
1849
+ c = Oe(o), d.x = m.x + o.clientLeft, d.y = m.y + o.clientTop;
1850
1850
  }
1851
1851
  const f = n && !h && !r ? Xs(n, l) : re(0);
1852
1852
  return {
@@ -1880,7 +1880,7 @@ function ji(s, e, t) {
1880
1880
  o ? f || (c = -n.offsetLeft, d = -n.offsetTop) : (a = n.width, l = n.height, f && (c = n.offsetLeft, d = n.offsetTop));
1881
1881
  }
1882
1882
  if (St(r) <= 0) {
1883
- const f = r.ownerDocument, u = f.body, g = getComputedStyle(u), b = f.compatMode === "CSS1Compat" && parseFloat(g.marginLeft) + parseFloat(g.marginRight) || 0, y = Math.abs(r.clientWidth - u.clientWidth - b), v = getComputedStyle(r).scrollbarGutter === "stable both-edges" ? y / 2 : y;
1883
+ const f = r.ownerDocument, m = f.body, g = getComputedStyle(m), b = f.compatMode === "CSS1Compat" && parseFloat(g.marginLeft) + parseFloat(g.marginRight) || 0, y = Math.abs(r.clientWidth - m.clientWidth - b), v = getComputedStyle(r).scrollbarGutter === "stable both-edges" ? y / 2 : y;
1884
1884
  v <= Wi && (a -= v);
1885
1885
  }
1886
1886
  return {
@@ -1922,7 +1922,7 @@ function Gi(s, e) {
1922
1922
  const t = e.get(s);
1923
1923
  if (t)
1924
1924
  return t;
1925
- let o = Ye(s, [], !1).filter((a) => Z(a) && Ve(a) !== "body"), i = null;
1925
+ let o = Ye(s, [], !1).filter((a) => Z(a) && $e(a) !== "body"), i = null;
1926
1926
  const r = ee(s).position === "fixed";
1927
1927
  let n = r ? Te(s) : s;
1928
1928
  for (; Z(n) && !qe(n); ) {
@@ -1941,8 +1941,8 @@ function Xi(s) {
1941
1941
  const n = [...t === "clippingAncestors" ? kt(e) ? [] : Gi(e, this._c) : [].concat(t), o], a = gs(e, n[0], i);
1942
1942
  let l = a.top, c = a.right, d = a.bottom, h = a.left;
1943
1943
  for (let f = 1; f < n.length; f++) {
1944
- const u = gs(e, n[f], i);
1945
- l = ie(u.top, l), c = pe(u.right, c), d = pe(u.bottom, d), h = ie(u.left, h);
1944
+ const m = gs(e, n[f], i);
1945
+ l = ie(m.top, l), c = pe(m.right, c), d = pe(m.bottom, d), h = ie(m.left, h);
1946
1946
  }
1947
1947
  return {
1948
1948
  width: c - h,
@@ -1968,7 +1968,7 @@ function Yi(s, e, t) {
1968
1968
  scrollTop: 0
1969
1969
  };
1970
1970
  const l = re(0);
1971
- if ((o || !r) && ((Ve(e) !== "body" || _t(i)) && (a = Ct(e)), o)) {
1971
+ if ((o || !r) && (($e(e) !== "body" || _t(i)) && (a = Ct(e)), o)) {
1972
1972
  const f = Ie(e, !0, r, e);
1973
1973
  l.x = f.x + e.clientLeft, l.y = f.y + e.clientTop;
1974
1974
  }
@@ -2008,7 +2008,7 @@ function qs(s, e) {
2008
2008
  let o = bs(s, e);
2009
2009
  for (; o && Ni(o) && Mt(o); )
2010
2010
  o = bs(o, e);
2011
- return o && qe(o) && Mt(o) && !Qt(o) ? t : o || Vi(s) || t;
2011
+ return o && qe(o) && Mt(o) && !Qt(o) ? t : o || $i(s) || t;
2012
2012
  }
2013
2013
  const Ji = async function(s) {
2014
2014
  const e = this.getOffsetParent || qs, t = this.getDimensions, o = await t(s.floating);
@@ -2050,14 +2050,14 @@ function Zi(s, e, t) {
2050
2050
  function a(d, h) {
2051
2051
  d === void 0 && (d = !1), h === void 0 && (h = 1), n();
2052
2052
  const f = s.getBoundingClientRect(), {
2053
- left: u,
2053
+ left: m,
2054
2054
  top: g,
2055
2055
  width: b,
2056
2056
  height: y
2057
2057
  } = f;
2058
2058
  if (d || e(), !b || !y)
2059
2059
  return;
2060
- const v = rt(g), w = rt(r.clientWidth - (u + b)), k = rt(r.clientHeight - (g + y)), P = rt(u), $ = {
2060
+ const v = rt(g), w = rt(r.clientWidth - (m + b)), k = rt(r.clientHeight - (g + y)), P = rt(m), D = {
2061
2061
  rootMargin: -v + "px " + -w + "px " + -k + "px " + -P + "px",
2062
2062
  threshold: ie(0, pe(1, h)) || 1
2063
2063
  };
@@ -2077,12 +2077,12 @@ function Zi(s, e, t) {
2077
2077
  }
2078
2078
  try {
2079
2079
  o = new IntersectionObserver(G, {
2080
- ...$,
2080
+ ...D,
2081
2081
  // Handle <iframe>s
2082
2082
  root: r.ownerDocument
2083
2083
  });
2084
2084
  } catch {
2085
- o = new IntersectionObserver(G, $);
2085
+ o = new IntersectionObserver(G, D);
2086
2086
  }
2087
2087
  o.observe(s);
2088
2088
  }
@@ -2104,14 +2104,14 @@ function er(s, e, t, o) {
2104
2104
  i && v.addEventListener("scroll", t), r && v.addEventListener("resize", t);
2105
2105
  });
2106
2106
  const h = c && a ? Zi(c, t, r) : null;
2107
- let f = -1, u = null;
2108
- n && (u = new ResizeObserver((v) => {
2107
+ let f = -1, m = null;
2108
+ n && (m = new ResizeObserver((v) => {
2109
2109
  let [w] = v;
2110
- w && w.target === c && u && e && (u.unobserve(e), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
2110
+ w && w.target === c && m && e && (m.unobserve(e), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
2111
2111
  var k;
2112
- (k = u) == null || k.observe(e);
2112
+ (k = m) == null || k.observe(e);
2113
2113
  })), t();
2114
- }), c && !l && u.observe(c), e && u.observe(e));
2114
+ }), c && !l && m.observe(c), e && m.observe(e));
2115
2115
  let g, b = l ? Ie(s) : null;
2116
2116
  l && y();
2117
2117
  function y() {
@@ -2122,7 +2122,7 @@ function er(s, e, t, o) {
2122
2122
  var v;
2123
2123
  d.forEach((w) => {
2124
2124
  i && w.removeEventListener("scroll", t), r && w.removeEventListener("resize", t);
2125
- }), h == null || h(), (v = u) == null || v.disconnect(), u = null, l && cancelAnimationFrame(g);
2125
+ }), h == null || h(), (v = m) == null || v.disconnect(), m = null, l && cancelAnimationFrame(g);
2126
2126
  };
2127
2127
  }
2128
2128
  const tr = Ei, sr = Ai, or = Pi, Lt = zi, ir = Oi, rr = (s, e, t) => {
@@ -2253,8 +2253,8 @@ function Ue(s, e, t = {}) {
2253
2253
  const a = t.lockPlacement === "freeze";
2254
2254
  let l = !1;
2255
2255
  const c = !!t.fixedContainingBlock && !t.platform, d = t.platform ?? (c ? { ...Ys, getOffsetParent: () => vs(s) } : void 0), h = () => {
2256
- var u;
2257
- (u = t.beforeCompute) == null || u.call(t), rr(e, s, {
2256
+ var m;
2257
+ (m = t.beforeCompute) == null || m.call(t), rr(e, s, {
2258
2258
  placement: i,
2259
2259
  strategy: o,
2260
2260
  middleware: n,
@@ -2287,11 +2287,11 @@ function fr(s) {
2287
2287
  contextElement: s.trigger
2288
2288
  }, f = (w) => {
2289
2289
  d = new DOMRect(w.clientX, w.clientY, 0, 0), n == null || n.update();
2290
- }, u = () => {
2290
+ }, m = () => {
2291
2291
  l && clearTimeout(l), c && clearTimeout(c), l = c = void 0;
2292
2292
  }, g = () => {
2293
2293
  var k;
2294
- if (u(), a)
2294
+ if (m(), a)
2295
2295
  return;
2296
2296
  (k = s.onBeforeShow) == null || k.call(s), a = !0, e.append(r);
2297
2297
  const w = s.followCursor ? h : s.trigger;
@@ -2302,11 +2302,11 @@ function fr(s) {
2302
2302
  inheritThemeFrom: s.inheritThemeFrom ?? s.trigger
2303
2303
  }), s.followCursor && s.trigger.addEventListener("mousemove", f), r.classList.add(o);
2304
2304
  }, b = () => {
2305
- u(), a && (a = !1, r.classList.remove(o), s.followCursor && s.trigger.removeEventListener("mousemove", f), n == null || n.destroy(), n = void 0, r.remove());
2305
+ m(), a && (a = !1, r.classList.remove(o), s.followCursor && s.trigger.removeEventListener("mousemove", f), n == null || n.destroy(), n = void 0, r.remove());
2306
2306
  }, y = () => {
2307
- u(), i.show > 0 ? l = setTimeout(g, i.show) : g();
2307
+ m(), i.show > 0 ? l = setTimeout(g, i.show) : g();
2308
2308
  }, v = () => {
2309
- u(), i.hide > 0 ? c = setTimeout(b, i.hide) : b();
2309
+ m(), i.hide > 0 ? c = setTimeout(b, i.hide) : b();
2310
2310
  };
2311
2311
  return s.trigger.addEventListener("mouseenter", y), s.trigger.addEventListener("mouseleave", v), s.trigger.addEventListener("focusin", y), s.trigger.addEventListener("focusout", v), {
2312
2312
  element: r,
@@ -2356,13 +2356,13 @@ function gr(s) {
2356
2356
  };
2357
2357
  }
2358
2358
  const Qs = ["INIT", "DATA", "UI", "INTERACTION"], ae = gi("MULTISELECT", Qs), nt = ae.loggers.INIT, K = ae.loggers.DATA, Q = ae.loggers.UI, W = ae.loggers.INTERACTION, Nr = Qs.map((s) => `MULTISELECT:${s}`);
2359
- function Dr() {
2359
+ function Vr() {
2360
2360
  ae.enableLogging();
2361
2361
  }
2362
- function $r() {
2362
+ function Dr() {
2363
2363
  ae.disableLogging();
2364
2364
  }
2365
- function Vr(s) {
2365
+ function $r(s) {
2366
2366
  ae.setLogLevel(s);
2367
2367
  }
2368
2368
  function Rr(s, e) {
@@ -2371,21 +2371,21 @@ function Rr(s, e) {
2371
2371
  }
2372
2372
  class ws {
2373
2373
  constructor(e) {
2374
- m(this, "container");
2375
- m(this, "wrapper");
2376
- m(this, "viewport");
2377
- m(this, "itemHeight");
2378
- m(this, "items");
2379
- m(this, "renderItem");
2380
- m(this, "bufferSize");
2381
- m(this, "onVisibleRangeChange");
2382
- m(this, "onScroll");
2383
- m(this, "scrollTop", 0);
2384
- m(this, "viewportHeight", 0);
2385
- m(this, "visibleStart", 0);
2386
- m(this, "visibleEnd", 0);
2387
- m(this, "scrollHandler");
2388
- m(this, "resizeObserver");
2374
+ u(this, "container");
2375
+ u(this, "wrapper");
2376
+ u(this, "viewport");
2377
+ u(this, "itemHeight");
2378
+ u(this, "items");
2379
+ u(this, "renderItem");
2380
+ u(this, "bufferSize");
2381
+ u(this, "onVisibleRangeChange");
2382
+ u(this, "onScroll");
2383
+ u(this, "scrollTop", 0);
2384
+ u(this, "viewportHeight", 0);
2385
+ u(this, "visibleStart", 0);
2386
+ u(this, "visibleEnd", 0);
2387
+ u(this, "scrollHandler");
2388
+ u(this, "resizeObserver");
2389
2389
  this.container = e.container, this.itemHeight = e.itemHeight, this.items = e.items, this.renderItem = e.renderItem, this.bufferSize = e.bufferSize ?? 10, this.onVisibleRangeChange = e.onVisibleRangeChange, this.onScroll = e.onScroll, this.scrollHandler = this.handleScroll.bind(this), this.init();
2390
2390
  }
2391
2391
  /**
@@ -2525,9 +2525,9 @@ function ce(s, e) {
2525
2525
  return s[e];
2526
2526
  }
2527
2527
  function yr(s = {}) {
2528
- const e = s.idMember, t = s.pathMember, o = s.getPathCallback, i = s.parentPathMember, r = s.levelMember, n = s.hasChildrenMember, a = s.isSelectableMember, l = s.getIsSelectableCallback, c = s.treeId || "multiselect-tree", d = s.orderMember, h = s.getDisplayValueCallback, f = je(i), u = je(r), g = je(n), b = je(a), y = "x", v = s.treePathSeparator || ".", w = xs();
2528
+ const e = s.idMember, t = s.pathMember, o = s.getPathCallback, i = s.parentPathMember, r = s.levelMember, n = s.hasChildrenMember, a = s.isSelectableMember, l = s.getIsSelectableCallback, c = s.treeId || "multiselect-tree", d = s.orderMember, h = s.getDisplayValueCallback, f = je(i), m = je(r), g = je(n), b = je(a), y = "x", v = s.treePathSeparator || ".", w = xs();
2529
2529
  let k = 0, P = null;
2530
- const M = (L) => o ? o(L) : t ? ce(L, t) : void 0, $ = {
2530
+ const M = (L) => o ? o(L) : t ? ce(L, t) : void 0, D = {
2531
2531
  treePathSeparator: v,
2532
2532
  root: w,
2533
2533
  get tree() {
@@ -2540,8 +2540,8 @@ function yr(s = {}) {
2540
2540
  get flatNodes() {
2541
2541
  if (P) return P;
2542
2542
  const L = [], C = s.isSorted ?? !1, I = s.sortCallback;
2543
- function O(V) {
2544
- let S = Object.values(V.children);
2543
+ function O($) {
2544
+ let S = Object.values($.children);
2545
2545
  C && I && S.length > 0 && (S = I(S));
2546
2546
  for (const H of S)
2547
2547
  L.push(H), H.hasChildren && O(H);
@@ -2551,16 +2551,16 @@ function yr(s = {}) {
2551
2551
  insertArray(L) {
2552
2552
  L = L || [], w.children = {}, k = 0, P = null;
2553
2553
  const C = [];
2554
- let I = L.map((O, V) => {
2554
+ let I = L.map((O, $) => {
2555
2555
  const S = xs();
2556
2556
  S.treeId = c, S.id = e ? ce(O, e) : void 0;
2557
2557
  const H = M(O);
2558
- return H == null || H === "" || typeof H != "string" ? (C.push(`index ${V}`), null) : (S.path = H, (S.id === void 0 || S.id === -1) && (S.id = H), f ? S.parentPath = br(S.path, v) : S.parentPath = ce(O, i), S.pathSegment = ks(
2558
+ return H == null || H === "" || typeof H != "string" ? (C.push(`index ${$}`), null) : (S.path = H, (S.id === void 0 || S.id === -1) && (S.id = H), f ? S.parentPath = br(S.path, v) : S.parentPath = ce(O, i), S.pathSegment = ks(
2559
2559
  _s(S.path, S.parentPath ?? "", v),
2560
2560
  0,
2561
2561
  1,
2562
2562
  v
2563
- ), u ? S.level = vr(S.path, v) : S.level = ce(O, r), g || (S.hasChildren = ce(O, n)), S.data = O, S);
2563
+ ), m ? S.level = vr(S.path, v) : S.level = ce(O, r), g || (S.hasChildren = ce(O, n)), S.data = O, S);
2564
2564
  }).filter((O) => O !== null);
2565
2565
  s.isSorted || (s.sortCallback ? I = s.sortCallback(I) : I = G(I));
2566
2566
  for (const O of I)
@@ -2570,8 +2570,8 @@ function yr(s = {}) {
2570
2570
  if (l)
2571
2571
  O.isSelectable = l(O) !== !1;
2572
2572
  else {
2573
- const V = ce(O.data, a);
2574
- O.isSelectable = V == null ? !0 : !!V;
2573
+ const $ = ce(O.data, a);
2574
+ O.isSelectable = $ == null ? !0 : !!$;
2575
2575
  }
2576
2576
  C.length > 0 && console.warn(
2577
2577
  `[ltree ${c}] ${C.length} option(s) had an invalid path and were skipped (pathMember="${t}"). Offending: ${C.slice(0, 5).join(", ")}` + (C.length > 5 ? ", …" : "")
@@ -2581,8 +2581,8 @@ function yr(s = {}) {
2581
2581
  let I = C || w;
2582
2582
  if (L) {
2583
2583
  const O = L.split(v);
2584
- for (let V = 0; V < O.length; V++) {
2585
- const S = y + O[V];
2584
+ for (let $ = 0; $ < O.length; $++) {
2585
+ const S = y + O[$];
2586
2586
  if (!I.children.hasOwnProperty(S))
2587
2587
  return null;
2588
2588
  I = I.children[S];
@@ -2592,17 +2592,17 @@ function yr(s = {}) {
2592
2592
  }
2593
2593
  };
2594
2594
  function R(L, C) {
2595
- const I = $.getNodeByPath(L);
2595
+ const I = D.getNodeByPath(L);
2596
2596
  if (!I)
2597
2597
  return `Node: ${C.path} - Could not find parent node: ${L}`;
2598
- u && (C.level = (I.level || 0) + 1);
2598
+ m && (C.level = (I.level || 0) + 1);
2599
2599
  const O = y + ks(_s(C.path, L, v), 0, 1, v);
2600
2600
  return I.children.hasOwnProperty(O) || (I.children[O] = C, g && !I.hasChildren && (I.hasChildren = !0), k = Math.max(k, C.level || 0)), null;
2601
2601
  }
2602
2602
  function G(L) {
2603
2603
  return L.sort((C, I) => {
2604
- const O = C.level || 0, V = I.level || 0;
2605
- if (O !== V) return O - V;
2604
+ const O = C.level || 0, $ = I.level || 0;
2605
+ if (O !== $) return O - $;
2606
2606
  if (C.parentPath !== I.parentPath)
2607
2607
  return C.parentPath ? I.parentPath ? C.parentPath.localeCompare(I.parentPath) : 1 : -1;
2608
2608
  if (d && C.data && I.data) {
@@ -2612,7 +2612,7 @@ function yr(s = {}) {
2612
2612
  return h ? h(C).localeCompare(h(I)) : C.path.localeCompare(I.path);
2613
2613
  });
2614
2614
  }
2615
- return $;
2615
+ return D;
2616
2616
  }
2617
2617
  function Cs(s, e) {
2618
2618
  const t = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), r = (l) => String(e(l.data)), n = (l) => {
@@ -2676,125 +2676,127 @@ function Et(s, e, t, o) {
2676
2676
  }
2677
2677
  class xr {
2678
2678
  constructor(e, t = {}) {
2679
- m(this, "element");
2680
- m(this, "instanceId");
2681
- m(this, "options");
2682
- m(this, "isOpen", !1);
2683
- m(this, "selectedValues", /* @__PURE__ */ new Set());
2684
- m(this, "selectedOptions", /* @__PURE__ */ new Map());
2685
- m(this, "allOptions", []);
2686
- m(this, "filteredOptions", []);
2679
+ u(this, "element");
2680
+ u(this, "instanceId");
2681
+ u(this, "options");
2682
+ u(this, "isOpen", !1);
2683
+ u(this, "selectedValues", /* @__PURE__ */ new Set());
2684
+ u(this, "selectedOptions", /* @__PURE__ */ new Map());
2685
+ u(this, "allOptions", []);
2686
+ u(this, "filteredOptions", []);
2687
2687
  // Tree mode: the hierarchy built from option paths, and the flat list of
2688
2688
  // nodes currently shown. `treeNodes` stays index-aligned with
2689
2689
  // `filteredOptions` so focus/keyboard/virtual-scroll keep working unchanged.
2690
- m(this, "tree", null);
2691
- m(this, "treeNodes", []);
2690
+ u(this, "tree", null);
2691
+ u(this, "treeNodes", []);
2692
2692
  // Cascade checkbox mode (tree + multiple + checkbox-mode="cascade"): the index
2693
2693
  // is rebuilt with the tree; `cascadeCheckedAtoms` is the derived set of checked
2694
2694
  // leaf-level atoms, refreshed from `selectedValues` before each render.
2695
- m(this, "cascadeIndex", null);
2696
- m(this, "cascadeCheckedAtoms", /* @__PURE__ */ new Set());
2697
- m(this, "hiddenInputs", []);
2698
- m(this, "focusedIndex", -1);
2699
- m(this, "matchingIndices", /* @__PURE__ */ new Set());
2700
- m(this, "searchTerm", "");
2701
- m(this, "isLoading", !1);
2702
- m(this, "searchDebounceTimer");
2703
- m(this, "searchAbortController");
2704
- m(this, "showSelectedPopover", !1);
2705
- m(this, "selectedPopoverPlacement", null);
2706
- m(this, "dropdownPlacement", null);
2707
- m(this, "isRTL", !1);
2708
- m(this, "effectiveBadgesPosition", "bottom");
2709
- m(this, "justClosedViaClick", !1);
2695
+ u(this, "cascadeIndex", null);
2696
+ u(this, "cascadeCheckedAtoms", /* @__PURE__ */ new Set());
2697
+ u(this, "hiddenInputs", []);
2698
+ u(this, "focusedIndex", -1);
2699
+ // Stable imperative facade handed to keydownCallback (built once, reused). See getKeyboardController().
2700
+ u(this, "keyboardController", null);
2701
+ u(this, "matchingIndices", /* @__PURE__ */ new Set());
2702
+ u(this, "searchTerm", "");
2703
+ u(this, "isLoading", !1);
2704
+ u(this, "searchDebounceTimer");
2705
+ u(this, "searchAbortController");
2706
+ u(this, "showSelectedPopover", !1);
2707
+ u(this, "selectedPopoverPlacement", null);
2708
+ u(this, "dropdownPlacement", null);
2709
+ u(this, "isRTL", !1);
2710
+ u(this, "effectiveBadgesPosition", "bottom");
2711
+ u(this, "justClosedViaClick", !1);
2710
2712
  // Set for one tick when the dropdown is opened by a pointer gesture. A fullscreen
2711
2713
  // overlay (position:fixed, inset:0) appears over the pointer between mousedown and
2712
2714
  // the follow-up click, so that click can target a common ancestor above the
2713
2715
  // portaled panel and be misread as an outside-click. This guard swallows exactly
2714
2716
  // that one click. See attachEvents() (mousedown) and handleClickOutside().
2715
- m(this, "justOpenedViaClick", !1);
2716
- m(this, "positioningDriftWarned", !1);
2717
+ u(this, "justOpenedViaClick", !1);
2718
+ u(this, "positioningDriftWarned", !1);
2717
2719
  // How the open dropdown is presented. 'floating' anchors it to the input (the
2718
2720
  // default); 'fullscreen' renders it as a full-viewport overlay with its own
2719
2721
  // search header + close button — the phone pattern, driven from the element's
2720
2722
  // environmentChanged() hook via setPresentation(). See open()/enterFullscreen().
2721
- m(this, "presentationMode", "floating");
2722
- m(this, "fullscreenHeader", null);
2723
- m(this, "fullscreenSearchInput", null);
2723
+ u(this, "presentationMode", "floating");
2724
+ u(this, "fullscreenHeader", null);
2725
+ u(this, "fullscreenSearchInput", null);
2724
2726
  // Inline ✕ inside the fullscreen search box that clears the term. Shown only while
2725
2727
  // there's text; touch has no keyboard Escape, so this is the way to reset a search.
2726
- m(this, "fullscreenSearchClear", null);
2728
+ u(this, "fullscreenSearchClear", null);
2727
2729
  // Leading mode toggle inside the fullscreen search box (opt-in via
2728
2730
  // isSearchModeToggleShown) that flips searchMode filter<->navigate live. Its icon
2729
2731
  // reflects the current mode; clicking re-projects the current term in place.
2730
- m(this, "fullscreenModeToggle", null);
2732
+ u(this, "fullscreenModeToggle", null);
2731
2733
  // Navigate-mode match navigator shown under the fullscreen search box: a result
2732
2734
  // count ("3 of 12") plus prev/next buttons that step through matches. Touch has no
2733
2735
  // Ctrl+Arrow shortcut, so these buttons are the on-screen substitute. Only built in
2734
2736
  // searchMode 'navigate' (filter mode narrows the list, so it needs no jump UI).
2735
- m(this, "fullscreenNav", null);
2736
- m(this, "fullscreenNavCount", null);
2737
- m(this, "fullscreenNavPrev", null);
2738
- m(this, "fullscreenNavNext", null);
2737
+ u(this, "fullscreenNav", null);
2738
+ u(this, "fullscreenNavCount", null);
2739
+ u(this, "fullscreenNavPrev", null);
2740
+ u(this, "fullscreenNavNext", null);
2739
2741
  // Releases this instance's page-scroll lock (null when not locked). The core
2740
2742
  // helper is ref-counted; we hold at most one lock per instance. See lockBodyScroll().
2741
- m(this, "bodyScrollUnlock", null);
2743
+ u(this, "bodyScrollUnlock", null);
2742
2744
  // Saved inline `overflow-x` of <html> while a fullscreen sheet clamps the host
2743
2745
  // document's horizontal overflow (null when not clamped). See clampDocumentOverflowX().
2744
- m(this, "overflowXClamp", null);
2746
+ u(this, "overflowXClamp", null);
2745
2747
  // Detaches the visualViewport listener that shrinks the fullscreen sheet to sit
2746
2748
  // above the soft keyboard (null when not attached). See observeKeyboardInset().
2747
- m(this, "keyboardInsetCleanup", null);
2749
+ u(this, "keyboardInsetCleanup", null);
2748
2750
  // True while a history entry is pushed for the open fullscreen sheet, so the phone
2749
2751
  // Back gesture/button pops it (closing the sheet) instead of navigating the page.
2750
2752
  // See pushOverlayHistory()/popOverlayHistory()/onOverlayPopstate().
2751
- m(this, "overlayHistoryActive", !1);
2752
- m(this, "onOverlayPopstate", () => this.handleOverlayPopstate());
2753
+ u(this, "overlayHistoryActive", !1);
2754
+ u(this, "onOverlayPopstate", () => this.handleOverlayPopstate());
2753
2755
  // Floating UI cleanup functions
2754
- m(this, "dropdownCleanup", null);
2755
- m(this, "hintCleanup", null);
2756
- m(this, "selectedPopoverCleanup", null);
2756
+ u(this, "dropdownCleanup", null);
2757
+ u(this, "hintCleanup", null);
2758
+ u(this, "selectedPopoverCleanup", null);
2757
2759
  // All hover tooltips (badge text, badge-remove buttons, action buttons), keyed by id.
2758
- m(this, "tooltips", /* @__PURE__ */ new Map());
2760
+ u(this, "tooltips", /* @__PURE__ */ new Map());
2759
2761
  // Full-label reveal shown when a clipped row's info button is tapped (fullscreen
2760
2762
  // only). A manually-controlled popover — NOT a hover tooltip — so it stays put
2761
2763
  // until explicitly dismissed (a hover tooltip's synthetic mouseleave on touch
2762
2764
  // would flash it away). `labelRevealTrigger` tracks the button so a second tap
2763
2765
  // toggles it off. See toggleLabelReveal() / hideLabelReveal().
2764
- m(this, "labelRevealTrigger", null);
2765
- m(this, "labelRevealPanel", null);
2766
- m(this, "labelRevealPopover", null);
2766
+ u(this, "labelRevealTrigger", null);
2767
+ u(this, "labelRevealPanel", null);
2768
+ u(this, "labelRevealPopover", null);
2767
2769
  // Transient message ("toast") surface — see showMessage(). Rendered above the panel
2768
2770
  // so a veto reason (or any consumer feedback) is visible even in the fullscreen
2769
2771
  // overlay, where page-level UI is hidden behind the sheet.
2770
- m(this, "messageEl", null);
2771
- m(this, "messageCleanup", null);
2772
- m(this, "messageTimer", null);
2772
+ u(this, "messageEl", null);
2773
+ u(this, "messageCleanup", null);
2774
+ u(this, "messageTimer", null);
2773
2775
  // Dismiss option tooltips the instant the list scrolls. Without this, a shown
2774
2776
  // tooltip's floating-ui autoUpdate keeps chasing its anchor row as it scrolls
2775
2777
  // (most visible under virtual scroll, where the row also recycles), so the
2776
2778
  // tooltip visibly slides to the viewport edge before the next render clears it.
2777
2779
  // Capturing so it catches scroll from the inner options container (scroll
2778
2780
  // doesn't bubble). Same function ref → addEventListener dedupes across opens.
2779
- m(this, "onDropdownScroll", () => {
2781
+ u(this, "onDropdownScroll", () => {
2780
2782
  this.hideOptionTooltips(), this.hideLabelReveal();
2781
2783
  });
2782
2784
  // Virtual scroll instance
2783
- m(this, "virtualScroll", null);
2784
- m(this, "optionsContainer", null);
2785
- m(this, "selectedPopoverVirtualScroll", null);
2786
- m(this, "selectedPopoverContainer", null);
2785
+ u(this, "virtualScroll", null);
2786
+ u(this, "optionsContainer", null);
2787
+ u(this, "selectedPopoverVirtualScroll", null);
2788
+ u(this, "selectedPopoverContainer", null);
2787
2789
  // DOM elements
2788
- m(this, "input");
2789
- m(this, "dropdown");
2790
- m(this, "dropdownInner");
2791
- m(this, "badgesContainer");
2792
- m(this, "counter");
2793
- m(this, "hint");
2794
- m(this, "selectedPopover");
2790
+ u(this, "input");
2791
+ u(this, "dropdown");
2792
+ u(this, "dropdownInner");
2793
+ u(this, "badgesContainer");
2794
+ u(this, "counter");
2795
+ u(this, "hint");
2796
+ u(this, "selectedPopover");
2795
2797
  // Document-level event handlers (stored for cleanup)
2796
- m(this, "documentKeydownHandler", null);
2797
- m(this, "documentClickHandler", null);
2798
+ u(this, "documentKeydownHandler", null);
2799
+ u(this, "documentClickHandler", null);
2798
2800
  this.element = e, this.instanceId = `MS-${Math.random().toString(36).slice(2, 11)}`, this.options = {
2799
2801
  // String options
2800
2802
  searchHint: e.dataset.searchHint || "",
@@ -3335,9 +3337,9 @@ class xr {
3335
3337
  const t = this.options.actionsPosition === "bottom" ? "bottom" : "top", o = this.options.actionsAlign ?? "stretch", i = ` ms__actions--${t}`, r = this.options.isActionsSticky ? " ms__actions--sticky" : "", n = this.options.actionsLayout === "wrap" ? " ms__actions--wrap" : "", a = ` ms__actions--align-${o}`, l = /* @__PURE__ */ new Map();
3336
3338
  if (e.forEach((d, h) => {
3337
3339
  if (!(d.getIsVisibleCallback ? d.getIsVisibleCallback(this) : d.isVisible ?? !0)) return;
3338
- let u;
3339
- d.getIsDisabledCallback ? u = d.getIsDisabledCallback(this) : d.isDisabled !== void 0 ? u = d.isDisabled : u = this.getBuiltInActionDisabled(d.action);
3340
- const g = u ? " disabled" : "", b = d.getTextCallback ? d.getTextCallback(this) : d.text;
3340
+ let m;
3341
+ d.getIsDisabledCallback ? m = d.getIsDisabledCallback(this) : d.isDisabled !== void 0 ? m = d.isDisabled : m = this.getBuiltInActionDisabled(d.action);
3342
+ const g = m ? " disabled" : "", b = d.getTextCallback ? d.getTextCallback(this) : d.text;
3341
3343
  let y = "";
3342
3344
  if (d.getClassCallback) {
3343
3345
  const k = d.getClassCallback(this);
@@ -3353,8 +3355,8 @@ class xr {
3353
3355
  const o = this.getItemValue(e), i = this.getItemDisplayValue(e), r = this.getItemIcon(e), n = this.getItemSubtitle(e), a = this.getItemDisabled(e), l = this.selectedValues.has(String(o)), c = t === this.focusedIndex, d = this.matchingIndices.has(t), h = ["ms__option"];
3354
3356
  l && h.push("ms__option--selected"), c && h.push("ms__option--focused"), d && h.push("ms__option--matched"), a && h.push("ms__option--disabled");
3355
3357
  const f = this.options.checkboxAlign && this.options.checkboxAlign !== "center" ? ` data-checkbox-align="${this.options.checkboxAlign}"` : "";
3356
- let u = `<div class="${h.join(" ")}" data-value="${o}" data-index="${t}"${f}>`;
3357
- if (this.options.isCheckboxesShown && this.options.isMultipleEnabled && (u += `<input type="checkbox" class="ms__checkbox" ${l ? "checked" : ""} ${a ? "disabled" : ""}>`), u += '<div class="ms__option-content">', this.options.renderOptionContentCallback) {
3358
+ let m = `<div class="${h.join(" ")}" data-value="${o}" data-index="${t}"${f}>`;
3359
+ if (this.options.isCheckboxesShown && this.options.isMultipleEnabled && (m += `<input type="checkbox" class="ms__checkbox" ${l ? "checked" : ""} ${a ? "disabled" : ""}>`), m += '<div class="ms__option-content">', this.options.renderOptionContentCallback) {
3358
3360
  const g = {
3359
3361
  index: t,
3360
3362
  isSelected: l,
@@ -3364,10 +3366,10 @@ class xr {
3364
3366
  ...Ot(this.presentationMode),
3365
3367
  isTreeNode: !1
3366
3368
  }, b = this.options.renderOptionContentCallback(e, g);
3367
- typeof b == "string" ? u += b : u += b.outerHTML;
3369
+ typeof b == "string" ? m += b : m += b.outerHTML;
3368
3370
  } else
3369
- r && (u += `<span class="ms__option-icon">${r}</span>`), u += '<div class="ms__option-text">', u += `<div class="ms__option-title">${this.highlightMatch(i, this.searchTerm)}</div>`, n && (u += `<div class="ms__option-subtitle">${n}</div>`), u += "</div>";
3370
- return u += this.renderOptionInfoButton(), u += "</div>", u += "</div>", u;
3371
+ r && (m += `<span class="ms__option-icon">${r}</span>`), m += '<div class="ms__option-text">', m += `<div class="ms__option-title">${this.highlightMatch(i, this.searchTerm)}</div>`, n && (m += `<div class="ms__option-subtitle">${n}</div>`), m += "</div>";
3372
+ return m += this.renderOptionInfoButton(), m += "</div>", m += "</div>", m;
3371
3373
  }
3372
3374
  /**
3373
3375
  * Trailing info affordance for an option row, emitted only for the fullscreen
@@ -3388,15 +3390,15 @@ class xr {
3388
3390
  * chevron/toggle — every node is just a normal, selectable option.
3389
3391
  */
3390
3392
  renderTreeNode(e, t) {
3391
- const o = e.data, i = this.getItemValue(o), r = this.getItemDisplayValue(o), n = this.getItemIcon(o), a = this.getItemSubtitle(o), l = this.getItemDisabled(o), c = this.isCascadeMode() && this.cascadeIndex, d = c ? ts(this.cascadeIndex, e, this.cascadeCheckedAtoms) : null, h = c ? d === "checked" : this.selectedValues.has(String(i)), f = d === "indeterminate", u = t === this.focusedIndex, g = this.matchingIndices.has(t), b = e.isSelectable !== !1, y = e.level ?? 1, v = Math.max(0, y - 1), w = ["ms__option", "ms__option--tree"];
3392
- w.push(e.hasChildren ? "ms__option--tree-branch" : "ms__option--tree-leaf"), h && w.push("ms__option--selected"), f && w.push("ms__option--indeterminate"), u && w.push("ms__option--focused"), g && w.push("ms__option--matched"), l && w.push("ms__option--disabled"), b || w.push("ms__option--tree-unselectable");
3393
+ const o = e.data, i = this.getItemValue(o), r = this.getItemDisplayValue(o), n = this.getItemIcon(o), a = this.getItemSubtitle(o), l = this.getItemDisabled(o), c = this.isCascadeMode() && this.cascadeIndex, d = c ? ts(this.cascadeIndex, e, this.cascadeCheckedAtoms) : null, h = c ? d === "checked" : this.selectedValues.has(String(i)), f = d === "indeterminate", m = t === this.focusedIndex, g = this.matchingIndices.has(t), b = e.isSelectable !== !1, y = e.level ?? 1, v = Math.max(0, y - 1), w = ["ms__option", "ms__option--tree"];
3394
+ w.push(e.hasChildren ? "ms__option--tree-branch" : "ms__option--tree-leaf"), h && w.push("ms__option--selected"), f && w.push("ms__option--indeterminate"), m && w.push("ms__option--focused"), g && w.push("ms__option--matched"), l && w.push("ms__option--disabled"), b || w.push("ms__option--tree-unselectable");
3393
3395
  const k = this.options.checkboxAlign && this.options.checkboxAlign !== "center" ? ` data-checkbox-align="${this.options.checkboxAlign}"` : "", P = b ? "" : ' data-selectable="false"';
3394
3396
  let M = `<div class="${w.join(" ")}" data-value="${i}" data-index="${t}" data-path="${e.path}" data-level="${y}" style="--ms-tree-depth: ${v};"${k}${P}>`;
3395
3397
  if (this.options.isCheckboxesShown && this.options.isMultipleEnabled && b && (M += `<input type="checkbox" class="${f ? "ms__checkbox ms__checkbox--indeterminate" : "ms__checkbox"}" ${h ? "checked" : ""}${f ? ' aria-checked="mixed"' : ""} ${l ? "disabled" : ""}>`), M += '<div class="ms__option-content">', this.options.renderOptionContentCallback) {
3396
- const $ = {
3398
+ const D = {
3397
3399
  index: t,
3398
3400
  isSelected: h,
3399
- isFocused: u,
3401
+ isFocused: m,
3400
3402
  isMatched: g,
3401
3403
  isDisabled: l,
3402
3404
  ...Ot(this.presentationMode),
@@ -3411,7 +3413,7 @@ class xr {
3411
3413
  path: e.path,
3412
3414
  isSelectable: b,
3413
3415
  isIndeterminate: f
3414
- }, R = this.options.renderOptionContentCallback(o, $);
3416
+ }, R = this.options.renderOptionContentCallback(o, D);
3415
3417
  M += typeof R == "string" ? R : R.outerHTML;
3416
3418
  } else
3417
3419
  n && (M += `<span class="ms__option-icon">${n}</span>`), M += '<div class="ms__option-text">', M += `<div class="ms__option-title">${this.highlightMatch(r, this.searchTerm)}</div>`, a && (M += `<div class="ms__option-subtitle">${a}</div>`), M += "</div>";
@@ -3638,45 +3640,67 @@ class xr {
3638
3640
  }
3639
3641
  handleKeydown(e) {
3640
3642
  var t;
3641
- if (!this.isOpen) {
3642
- (e.key === "Enter" || e.key === "ArrowDown") && (e.preventDefault(), this.open());
3643
- return;
3644
- }
3645
- if (!this.options.isSearchEnabled) {
3646
- const o = e.key.length === 1 || e.key === "Backspace" || e.key === "Delete", i = ["ArrowUp", "ArrowDown", "PageUp", "PageDown", "Home", "End", "Enter", "Escape", "Tab"].includes(e.key);
3647
- if (o && !i) {
3648
- e.preventDefault();
3643
+ if (!(this.options.keydownCallback && this.options.keydownCallback({
3644
+ event: e,
3645
+ key: e.key,
3646
+ isOpen: this.isOpen,
3647
+ presentation: this.presentationMode,
3648
+ searchTerm: this.searchTerm,
3649
+ focusedIndex: this.focusedIndex,
3650
+ focusedOption: (this.focusedIndex >= 0 ? this.filteredOptions[this.focusedIndex] : null) ?? null,
3651
+ filteredOptions: this.filteredOptions,
3652
+ selectedValues: [...this.selectedValues],
3653
+ controller: this.getKeyboardController()
3654
+ }) === !0)) {
3655
+ if (!this.isOpen) {
3656
+ (e.key === "Enter" || e.key === "ArrowDown") && (e.preventDefault(), this.open());
3649
3657
  return;
3650
3658
  }
3651
- }
3652
- switch (e.key) {
3653
- case "ArrowDown":
3654
- e.preventDefault(), e.ctrlKey || e.metaKey ? this.focusNextMatch() : this.focusNext();
3655
- break;
3656
- case "ArrowUp":
3657
- e.preventDefault(), e.ctrlKey || e.metaKey ? this.focusPreviousMatch() : this.focusPrevious();
3658
- break;
3659
- case "Enter":
3660
- e.preventDefault(), this.focusedIndex >= 0 ? this.toggleOption(this.filteredOptions[this.focusedIndex]) : this.options.isAddNewAllowed && this.options.addNewCallback && this.input.value.trim() && this.handleAddNew(this.input.value.trim()), this.presentationMode === "fullscreen" && ((t = this.fullscreenSearchInput) == null || t.blur());
3661
- break;
3662
- case "Escape":
3663
- e.preventDefault(), this.showSelectedPopover ? this.hideSelectedPopover() : this.input.value ? (this.input.value = "", this.searchTerm = "", this.resetVisibleToAll(), this.matchingIndices.clear(), this.focusedIndex = -1, this.renderDropdown()) : this.close();
3664
- break;
3665
- case "Tab":
3666
- this.close();
3667
- break;
3668
- case "PageUp":
3669
- e.preventDefault(), this.focusPageUp();
3670
- break;
3671
- case "PageDown":
3672
- e.preventDefault(), this.focusPageDown();
3673
- break;
3674
- case "Home":
3675
- e.preventDefault(), this.focusFirst();
3676
- break;
3677
- case "End":
3678
- e.preventDefault(), this.focusLast();
3679
- break;
3659
+ if (!this.options.isSearchEnabled) {
3660
+ const o = e.key.length === 1 || e.key === "Backspace" || e.key === "Delete", i = ["ArrowUp", "ArrowDown", "PageUp", "PageDown", "Home", "End", "Enter", "Escape", "Tab"].includes(e.key);
3661
+ if (o && !i) {
3662
+ e.preventDefault();
3663
+ return;
3664
+ }
3665
+ }
3666
+ switch (e.key) {
3667
+ case "ArrowDown":
3668
+ e.preventDefault(), e.ctrlKey || e.metaKey ? this.focusNextMatch() : this.focusNext();
3669
+ break;
3670
+ case "ArrowUp":
3671
+ e.preventDefault(), e.ctrlKey || e.metaKey ? this.focusPreviousMatch() : this.focusPrevious();
3672
+ break;
3673
+ case "Enter":
3674
+ e.preventDefault(), this.focusedIndex >= 0 ? this.toggleOption(this.filteredOptions[this.focusedIndex]) : this.options.isAddNewAllowed && this.options.addNewCallback && this.input.value.trim() && this.handleAddNew(this.input.value.trim()), this.presentationMode === "fullscreen" && ((t = this.fullscreenSearchInput) == null || t.blur());
3675
+ break;
3676
+ case "Escape":
3677
+ e.preventDefault(), this.showSelectedPopover ? this.hideSelectedPopover() : this.input.value ? this.clearSearch() : this.close();
3678
+ break;
3679
+ case "Tab":
3680
+ this.close();
3681
+ break;
3682
+ case "PageUp":
3683
+ e.preventDefault(), this.focusPageUp();
3684
+ break;
3685
+ case "PageDown":
3686
+ e.preventDefault(), this.focusPageDown();
3687
+ break;
3688
+ case "Home":
3689
+ case "End": {
3690
+ const o = e.target instanceof HTMLInputElement ? e.target : null;
3691
+ let i;
3692
+ if (!o)
3693
+ i = !0;
3694
+ else if (o.selectionStart !== o.selectionEnd)
3695
+ i = !1;
3696
+ else {
3697
+ const r = o.selectionStart ?? 0;
3698
+ i = e.key === "Home" ? r === 0 : r === o.value.length;
3699
+ }
3700
+ i && (e.preventDefault(), e.key === "Home" ? this.focusFirst() : this.focusLast());
3701
+ break;
3702
+ }
3703
+ }
3680
3704
  }
3681
3705
  }
3682
3706
  handleDropdownClick(e) {
@@ -3818,6 +3842,49 @@ class xr {
3818
3842
  const e = Array.from(this.matchingIndices).sort((i, r) => i - r), t = e.findIndex((i) => i === this.focusedIndex), o = t <= 0 ? e.length - 1 : t - 1;
3819
3843
  this.focusBy(() => e[o]), W.debug(`[${this.instanceId}] Jumped to previous match: index ${this.focusedIndex} (${t + 1} of ${e.length})`);
3820
3844
  }
3845
+ /** Lazily build (and cache) the imperative facade passed to `keydownCallback`. Bound to the
3846
+ * same private actions the built-in key handling uses, so consumer shortcuts behave identically. */
3847
+ getKeyboardController() {
3848
+ return this.keyboardController ? this.keyboardController : (this.keyboardController = {
3849
+ focusNext: () => this.focusNext(),
3850
+ focusPrevious: () => this.focusPrevious(),
3851
+ focusFirst: () => this.focusFirst(),
3852
+ focusLast: () => this.focusLast(),
3853
+ focusPageUp: () => this.focusPageUp(),
3854
+ focusPageDown: () => this.focusPageDown(),
3855
+ focusNextMatch: () => this.focusNextMatch(),
3856
+ focusPreviousMatch: () => this.focusPreviousMatch(),
3857
+ focusIndex: (e) => this.focusBy(() => e, 1),
3858
+ toggleFocused: () => {
3859
+ this.focusedIndex >= 0 && this.toggleOption(this.filteredOptions[this.focusedIndex]);
3860
+ },
3861
+ toggleValue: (e) => {
3862
+ const t = this.allOptions.find((o) => String(this.getItemValue(o)) === String(e));
3863
+ t && this.toggleOption(t);
3864
+ },
3865
+ selectValue: (e) => {
3866
+ if (this.selectedValues.has(String(e))) return;
3867
+ const t = this.allOptions.find((o) => String(this.getItemValue(o)) === String(e));
3868
+ t && this.toggleOption(t);
3869
+ },
3870
+ deselectValue: (e) => {
3871
+ if (!this.selectedValues.has(String(e))) return;
3872
+ const t = this.selectedOptions.get(String(e)) ?? this.allOptions.find((o) => String(this.getItemValue(o)) === String(e));
3873
+ t && this.toggleOption(t);
3874
+ },
3875
+ open: () => this.open(),
3876
+ close: () => this.close(),
3877
+ setSearch: (e) => {
3878
+ this.input.value = e, this.fullscreenSearchInput && (this.fullscreenSearchInput.value = e), this.handleSearch(e);
3879
+ },
3880
+ clearSearch: () => this.clearSearch()
3881
+ }, this.keyboardController);
3882
+ }
3883
+ /** Clear the search box (both the main input and the fullscreen search) and reset the visible
3884
+ * list. Shared by Escape and the keyboard controller. */
3885
+ clearSearch() {
3886
+ this.input.value = "", this.fullscreenSearchInput && (this.fullscreenSearchInput.value = ""), this.searchTerm = "", this.resetVisibleToAll(), this.matchingIndices.clear(), this.focusedIndex = -1, this.renderDropdown(), this.updateFullscreenNav(), this.updateFullscreenSearchClear();
3887
+ }
3821
3888
  scrollToFocused() {
3822
3889
  if (this.virtualScroll && this.focusedIndex >= 0) {
3823
3890
  this.virtualScroll.scrollToIndex(this.focusedIndex);
@@ -4581,11 +4648,11 @@ ${o}` : t;
4581
4648
  trigger: f,
4582
4649
  content: this.buildBadgeTooltipContent(c)
4583
4650
  });
4584
- const u = this.getItemBadgeDisplayValue(c);
4651
+ const m = this.getItemBadgeDisplayValue(c);
4585
4652
  this.spawnTooltip({
4586
4653
  id: h,
4587
4654
  trigger: a,
4588
- content: this.buildRemoveButtonTooltipText(u, c),
4655
+ content: this.buildRemoveButtonTooltipText(m, c),
4589
4656
  // Keep parent badge tooltip from overlapping the remove-button tooltip.
4590
4657
  onBeforeShow: () => {
4591
4658
  var g;
@@ -4873,7 +4940,7 @@ function Or(s, e, t) {
4873
4940
  }
4874
4941
  return i.push(r), o.push(i), o;
4875
4942
  }
4876
- const Zs = `@layer variables,component,overrides;@layer variables{:host{display:block;--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));--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, light-dark(#eff6ff, #1e3a5f));--ms-accent-color-light-hover: var(--base-accent-color-light-hover, light-dark(#e0f2fe, #264a73));--ms-text-color-1: var(--base-text-color-1, light-dark(#111827, #f5f5f5));--ms-text-color-2: var(--base-text-color-2, light-dark(#353b47, #d4d4d4));--ms-text-color-3: var(--base-text-color-3, light-dark(#6b7280, #a3a3a3));--ms-text-color-4: var(--base-text-color-4, light-dark(#a0a3a9, #737373));--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-hover-bg, color-mix(in srgb, var(--ms-text-color-1) 8%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-primary-bg-hover: var(--base-active-bg, color-mix(in srgb, var(--ms-text-color-1) 14%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-border-color: var(--base-border-color, light-dark(#cbd5e1, #52525b));--ms-border: var(--base-border, 1px solid var(--ms-border-color));--ms-input-bg: var(--base-input-bg, light-dark(#ffffff, #1a1a1a));--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, light-dark(#ffffff, #1a1a1a));--ms-hint-color: var(--ms-text-color-4);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--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, light-dark(#ffffff, #1a1a1a));--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-accent-color-light-hover));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-accent-color-light-hover));--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, var(--base-inverse-bg, light-dark(#333333, #f5f5f5)));--ms-tooltip-text-color: var(--base-tooltip-text-color, light-dark(#ffffff, #1a1a1a));--ms-selected-popover-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--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-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-input-current-width: auto;--ms-dropdown-width: var(--ms-input-current-width);--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-z-index-fullscreen: 10001;--ms-z-index-fullscreen-tooltip: 10002;--ms-fullscreen-rem: 12px;--ms-fullscreen-bg: var(--ms-dropdown-bg);--ms-fullscreen-text-color: var(--ms-dropdown-text-color);--ms-fullscreen-header-bg: var(--ms-dropdown-bg);--ms-fullscreen-header-border: 1px solid var(--ms-dropdown-border-color);--ms-fullscreen-header-gap: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-v: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-h: calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding: var(--ms-fullscreen-header-padding-v) var(--ms-fullscreen-header-padding-h);--ms-fullscreen-header-min-height: calc(5.6 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-size: calc(1.7 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-weight: var(--base-font-weight-semibold, 600);--ms-fullscreen-search-border: var(--ms-input-border);--ms-fullscreen-search-border-radius: var(--ms-input-border-radius);--ms-fullscreen-search-padding: calc(.8 * var(--ms-fullscreen-rem)) calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-search-font-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-icon-size: calc(1.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-inset: calc(.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-gutter: calc(3.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-search-clear-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-mode-toggle-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-icon-size: calc(1.5 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-gap: calc(.4 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-mode-toggle-bg: transparent;--ms-fullscreen-mode-toggle-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-size: calc(3.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-color: var(--ms-dropdown-text-color);--ms-fullscreen-close-bg: transparent;--ms-fullscreen-close-border: none;--ms-fullscreen-close-border-radius: 50%;--ms-fullscreen-close-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-edge-nudge: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-icon-size: calc(1.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-color: var(--ms-accent-color);--ms-fullscreen-info-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-gap: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-padding-top: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-font-size: calc(1.3 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-nav-btn-size: calc(3.2 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-color: var(--ms-dropdown-text-color);--ms-fullscreen-nav-btn-bg: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-btn-bg-hover: color-mix(in srgb, var(--ms-accent-color) 22%, transparent);--ms-icon-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 15l7-7 7 7' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");--ms-icon-info: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/><circle cx='12' cy='7.5' r='1.3' fill='black'/><path d='M12 11v6' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/></svg>");--ms-fullscreen-tree-base-indent: calc(.7 * var(--ms-fullscreen-rem));--ms-fullscreen-tree-indent: calc(1.2 * var(--ms-fullscreen-rem));--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-min-height: auto;--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-title-white-space: normal;--ms-option-title-overflow: visible;--ms-option-title-text-overflow: clip;--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: 0;--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-width: 1px;--ms-checkbox-border-color: var(--base-checkbox-border-color, #8f8f8f);--ms-checkbox-border: var(--ms-checkbox-border-width) solid var(--ms-checkbox-border-color);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checkmark-thickness: 2.5px;--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: var(--ms-checkbox-border-width) 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-checkbox-border-width) solid var(--ms-border-color);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--ms-state-min-height: calc(8 * var(--ms-rem));--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)) calc(1.2 * 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-icon-search-clear: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m13.5 8.5-5 5'/><path d='m8.5 8.5 5 5'/><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-search: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/></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-option-tooltip-bg: var(--ms-tooltip-bg);--ms-option-tooltip-text-color: var(--ms-tooltip-text-color);--ms-option-tooltip-padding: var(--ms-tooltip-padding);--ms-option-tooltip-border-radius: var(--ms-tooltip-border-radius);--ms-option-tooltip-font-size: var(--ms-tooltip-font-size);--ms-option-tooltip-max-width: var(--ms-tooltip-max-width);--ms-option-tooltip-shadow: var(--ms-tooltip-shadow);--ms-option-tooltip-z-index: var(--ms-tooltip-z-index);--ms-message-bg: var(--ms-message-info-bg);--ms-message-color: var(--ms-message-info-color);--ms-message-border: 1px solid transparent;--ms-message-border-radius: var(--ms-border-radius-lg);--ms-message-padding: calc(1 * var(--ms-rem)) calc(1.4 * var(--ms-rem));--ms-message-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-message-font-weight: var(--base-font-weight-medium, 500);--ms-message-max-width: calc(40 * var(--ms-rem));--ms-message-shadow: 0 4px 16px rgb(0 0 0 / .18);--ms-message-fullscreen-offset: calc(2.4 * var(--ms-fullscreen-rem));--ms-message-z-index: var(--ms-z-index-fullscreen-tooltip);--ms-message-info-bg: var(--ms-tooltip-bg);--ms-message-info-color: var(--ms-tooltip-text-color);--ms-message-warning-bg: var(--base-warning-bg, #f59e0b);--ms-message-warning-color: var(--base-warning-color, #1a1a1a);--ms-message-error-bg: var(--base-danger-bg, #ef4444);--ms-message-error-color: var(--base-danger-color, #ffffff);--ms-message-success-bg: var(--base-success-bg, #10b981);--ms-message-success-color: var(--base-success-color, #ffffff);--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;--ms-debug-bg: var(--base-elevated-bg, light-dark(#f9fafb, #2b2b2b));--ms-debug-border-color: var(--ms-border-color);--ms-debug-text-color: var(--ms-text-color-1);--ms-debug-border-radius: var(--ms-border-radius-md);--ms-debug-summary-color: var(--ms-accent-color);--ms-debug-summary-bg-hover: var(--ms-primary-bg);--ms-debug-summary-outline-color: var(--ms-accent-color);--ms-debug-summary-border-radius: var(--ms-border-radius-sm);--ms-debug-stats-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-debug-stats-border-radius: var(--ms-border-radius-sm);--ms-debug-bullet-color: var(--ms-accent-color)}}@layer component{web-multiselect:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}:host{-webkit-tap-highlight-color: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%}}@layer component{.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-inline-end: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__toggle{position:absolute;inset-inline-end: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;inset-inline-end: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__actions{display:flex;flex-direction:column;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding)}.ms__actions--top{border-bottom:var(--ms-actions-border-bottom)}.ms__actions--bottom{flex-direction:column-reverse;border-top:var(--ms-actions-border-bottom)}.ms__actions-row{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap)}.ms__actions--wrap .ms__actions-row{flex-wrap:wrap}.ms__actions--sticky{position:sticky;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__actions--sticky.ms__actions--top{top:0}.ms__actions--sticky.ms__actions--bottom{bottom:0}.ms__actions--align-stretch .ms__action-btn{flex:1}.ms__actions--align-left .ms__actions-row{justify-content:flex-start}.ms__actions--align-right .ms__actions-row{justify-content:flex-end}.ms__actions--align-center .ms__actions-row{justify-content:center}.ms__actions--align-space-between .ms__actions-row{justify-content:space-between}.ms__action-btn{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)}@media (hover: hover){.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}}@layer component{.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);width:var(--ms-dropdown-width);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--fullscreen,.ms__selected-popover--fullscreen{--ms-rem: var(--ms-fullscreen-rem);--ms-option-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-option-gap: calc(.8 * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-icon-font-size: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-group-label-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-padding: calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tree-base-indent: var(--ms-fullscreen-tree-base-indent);--ms-tree-indent: var(--ms-fullscreen-tree-indent)}.ms__selected-popover--fullscreen{--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(4.2 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-badge-text-padding: 0 calc(1.2 * var(--ms-rem));--ms-badge-remove-width: calc(3.6 * var(--ms-rem));--ms-badge-remove-icon-size: calc(1.2 * var(--ms-rem));--ms-badge-remove-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-action-btn-padding: calc(.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{position:fixed;top:0;inset-inline-start:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__dropdown--fullscreen .ms__dropdown-inner{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;overflow:hidden}.ms__dropdown--fullscreen .ms__options{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow-y:auto;padding-bottom:var(--ms-option-gap)}.ms__dropdown--fullscreen .ms__actions{flex:0 0 auto}.ms__fullscreen-header,.ms__selected-popover--fullscreen .ms__selected-popover-header{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--ms-fullscreen-header-gap);min-height:var(--ms-fullscreen-header-min-height);padding:var(--ms-fullscreen-header-padding);background:var(--ms-fullscreen-header-bg);border-bottom:var(--ms-fullscreen-header-border)}.ms__fullscreen-header{align-content:flex-start}.ms__fullscreen-header>.ms__fullscreen-search-wrapper{min-height:var(--ms-fullscreen-header-min-height)}.ms__fullscreen-nav{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;gap:var(--ms-fullscreen-nav-gap);padding-top:var(--ms-fullscreen-nav-padding-top)}.ms__fullscreen-nav-count{font-size:var(--ms-fullscreen-nav-count-font-size);color:var(--ms-fullscreen-nav-count-color)}.ms__fullscreen-nav-controls{display:flex;align-items:center;gap:var(--ms-fullscreen-nav-gap)}.ms__fullscreen-nav-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-nav-btn-size);height:var(--ms-fullscreen-nav-btn-size);padding:0;color:var(--ms-fullscreen-nav-btn-color);background:var(--ms-fullscreen-nav-btn-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-nav-btn:hover:not(:disabled){background:var(--ms-fullscreen-nav-btn-bg-hover)}.ms__fullscreen-nav-btn:disabled{opacity:.4;cursor:default}.ms__fullscreen-nav-btn:before{content:"";display:block;width:var(--ms-fullscreen-nav-btn-icon-size);height:var(--ms-fullscreen-nav-btn-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-chevron) center / contain no-repeat;mask:var(--ms-icon-chevron) center / contain no-repeat}.ms__fullscreen-nav-btn--next:before{transform:scaleY(-1)}.ms__fullscreen-header>.ms__fullscreen-search-wrapper,.ms__selected-popover--fullscreen .ms__selected-popover-header>span{flex:1 1 auto;min-width:0}.ms__fullscreen-search-wrapper{position:relative;display:flex;align-items:center}.ms__selected-popover--fullscreen .ms__selected-popover-header{font-size:var(--ms-fullscreen-title-font-size);font-weight:var(--ms-fullscreen-title-font-weight);color:var(--ms-fullscreen-text-color)}.ms__fullscreen-search{flex:1 1 auto;min-width:0;font-family:inherit;font-size:var(--ms-fullscreen-search-font-size);color:inherit;background:transparent;border:var(--ms-fullscreen-search-border);border-radius:var(--ms-fullscreen-search-border-radius);padding:var(--ms-fullscreen-search-padding);padding-inline-end:var(--ms-fullscreen-search-clear-gutter)}.ms__fullscreen-search:focus{outline:none;border:var(--ms-input-border-focus)}.ms__fullscreen-search-clear{position:absolute;inset-inline-end:var(--ms-fullscreen-search-clear-inset);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-search-clear-size);height:var(--ms-fullscreen-search-clear-size);padding:0;color:var(--ms-fullscreen-search-clear-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-search-clear:hover{background:var(--ms-fullscreen-search-clear-bg-hover)}.ms__fullscreen-search-clear:before{content:"";display:block;width:var(--ms-fullscreen-search-clear-icon-size);height:var(--ms-fullscreen-search-clear-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-search-clear) center / contain no-repeat;mask:var(--ms-icon-search-clear) center / contain no-repeat}.ms__fullscreen-mode-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-mode-toggle-size);height:var(--ms-fullscreen-mode-toggle-size);margin-inline-end:var(--ms-fullscreen-mode-toggle-gap);padding:0;color:var(--ms-fullscreen-mode-toggle-color);background:var(--ms-fullscreen-mode-toggle-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-mode-toggle:hover{background:var(--ms-fullscreen-mode-toggle-bg-hover)}.ms__fullscreen-mode-toggle:before{content:"";display:block;width:var(--ms-fullscreen-mode-toggle-icon-size);height:var(--ms-fullscreen-mode-toggle-icon-size);background-color:currentColor;-webkit-mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat;mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat}.ms__fullscreen-mode-toggle[data-mode=navigate]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-search)}.ms__fullscreen-mode-toggle[data-mode=filter]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-filter)}.ms__fullscreen-close,.ms__selected-popover--fullscreen .ms__selected-popover-close{flex:0 0 auto;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-close-size);height:var(--ms-fullscreen-close-size);margin-inline-end:calc(-1 * var(--ms-fullscreen-close-edge-nudge));padding:0;color:var(--ms-fullscreen-close-color);background:var(--ms-fullscreen-close-bg);border:var(--ms-fullscreen-close-border);border-radius:var(--ms-fullscreen-close-border-radius);cursor:pointer}.ms__fullscreen-close:after,.ms__selected-popover--fullscreen .ms__selected-popover-close:after{content:"";position:absolute;inset-block-start:calc(-1 * var(--ms-fullscreen-close-size));inset-block-end:calc(-1 * var(--ms-fullscreen-header-padding-v));inset-inline-end:calc(-1 * var(--ms-fullscreen-header-padding-h));inset-inline-start:calc(-1 * var(--ms-fullscreen-header-gap))}.ms__fullscreen-close:hover,.ms__selected-popover--fullscreen .ms__selected-popover-close:hover{background:var(--ms-fullscreen-close-bg-hover);color:var(--ms-fullscreen-close-color)}.ms__fullscreen-close:before,.ms__selected-popover--fullscreen .ms__selected-popover-close:before{content:"";display:block;width:var(--ms-fullscreen-close-icon-size);height:var(--ms-fullscreen-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__dropdown--fullscreen .ms__option-info{flex:0 0 auto;display:none;align-items:center;justify-content:center;width:var(--ms-fullscreen-info-size);height:var(--ms-fullscreen-info-size);margin-inline-start:var(--ms-option-gap);padding:0;color:var(--ms-fullscreen-info-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__dropdown--fullscreen .ms__option--truncated .ms__option-info{display:inline-flex}@media (hover: hover){.ms__dropdown--fullscreen .ms__option-info:hover{background:var(--ms-fullscreen-info-bg-hover)}}.ms__dropdown--fullscreen .ms__option-info:before{content:"";display:block;width:var(--ms-fullscreen-info-icon-size);height:var(--ms-fullscreen-info-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-info) center / contain no-repeat;mask:var(--ms-icon-info) center / contain no-repeat}.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__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__option-tooltip{position:fixed;z-index:var(--ms-option-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-option-tooltip-bg);color:var(--ms-option-tooltip-text-color);padding:var(--ms-option-tooltip-padding);border-radius:var(--ms-option-tooltip-border-radius);font-size:var(--ms-option-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-option-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-option-tooltip-shadow);pointer-events:none}.ms__option-tooltip--visible{opacity:1;visibility:visible}.ms__option-tooltip--fullscreen{z-index:var(--ms-z-index-fullscreen-tooltip)}.ms__message{position:fixed;z-index:var(--ms-message-z-index);box-sizing:border-box;max-width:var(--ms-message-max-width);padding:var(--ms-message-padding);font-family:inherit;font-size:var(--ms-message-font-size);font-weight:var(--ms-message-font-weight);line-height:var(--ms-line-height-normal);color:var(--ms-message-color);background:var(--ms-message-bg);border:var(--ms-message-border);border-radius:var(--ms-message-border-radius);box-shadow:var(--ms-message-shadow);cursor:pointer;opacity:0;transition:opacity var(--ms-transition-normal) ease;-webkit-tap-highlight-color:transparent}.ms__message--visible{opacity:1}.ms__message--info{background:var(--ms-message-info-bg);color:var(--ms-message-info-color)}.ms__message--warning{background:var(--ms-message-warning-bg);color:var(--ms-message-warning-color)}.ms__message--error{background:var(--ms-message-error-bg);color:var(--ms-message-error-color)}.ms__message--success{background:var(--ms-message-success-bg);color:var(--ms-message-success-color)}.ms__message--fullscreen{left:50%;right:auto;bottom:calc(var(--ms-message-fullscreen-offset) + env(safe-area-inset-bottom));transform:translate(-50%);max-width:min(var(--ms-message-max-width),calc(100vw - 4 * var(--ms-fullscreen-rem)));padding:calc(1 * var(--ms-fullscreen-rem)) calc(1.4 * var(--ms-fullscreen-rem));font-size:calc(var(--base-font-size-sm, 1.4) * var(--ms-fullscreen-rem))}.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--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;overflow:hidden;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__selected-popover--fullscreen .ms__selected-popover-body{flex:1 1 0;min-height:0;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);flex-shrink:0}.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}}@layer component{.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-inline-start:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-inline-start:0}}@layer component;@layer component{.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__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-inline-end:none;border-start-start-radius:var(--ms-badge-border-radius);border-end-start-radius:var(--ms-badge-border-radius);border-start-end-radius:0;border-end-end-radius:0;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-inline-start:none;border-start-end-radius:var(--ms-badge-border-radius);border-end-end-radius:var(--ms-badge-border-radius);border-start-start-radius:0;border-end-start-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-inline-end: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-inline-start: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}}@layer component{.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}}@layer component{.ms__debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:var(--ms-debug-bg);border:1px solid var(--ms-debug-border-color);border-radius:var(--ms-debug-border-radius);font-size:calc(1.2 * var(--ms-rem));color:var(--ms-debug-text-color)}.ms__debug-info details summary{cursor:pointer;font-weight:600;color:var(--ms-debug-summary-color);-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:var(--ms-debug-summary-border-radius)}.ms__debug-info details summary:hover{background-color:var(--ms-debug-summary-bg-hover)}.ms__debug-info details summary:focus{outline:2px solid var(--ms-debug-summary-outline-color);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:var(--ms-debug-stats-bg);border-radius:var(--ms-debug-stats-border-radius)}.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-inline-end:calc(.4 * var(--ms-rem));color:var(--ms-debug-bullet-color)}}@layer component{.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,.ms__options--fixed-height .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);position:relative;min-height:var(--ms-option-min-height, auto);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer;user-select:none;-webkit-user-select:none}@media (hover: hover){.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)}.ms__option--matched:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;border-inline-start:var(--ms-option-border-matched);pointer-events:none}.ms__option--selected{background:var(--ms-option-bg-selected)}@media (hover: hover){.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)}@media (hover: hover){.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)}.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-checkbox-margin-top: calc(.2 * var(--ms-rem))}.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-inline-end:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-inline-start: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 var(--ms-checkbox-checkmark-thickness, 2px) var(--ms-checkbox-checkmark-thickness, 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--indeterminate{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox--indeterminate:after{display:block;top:50%;left:50%;width:55%;height:0;transform:translate(-50%,-50%);border:none;border-bottom:var(--ms-checkbox-checkmark-thickness, 2px) solid var(--ms-checkbox-checkmark-color)}.ms__checkbox--indeterminate:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.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);white-space:var(--ms-option-title-white-space, normal);overflow:var(--ms-option-title-overflow, visible);text-overflow:var(--ms-option-title-text-overflow, clip)}@media (hover: hover){.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))}@media (hover: hover){.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)}@media (hover: hover){.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))}@media (hover: hover){.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{display:flex;align-items:center;justify-content:center;min-height:var(--ms-state-min-height);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;min-height:var(--ms-state-min-height);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)}}@layer component{.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__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)}}@layer component{.ms__option--tree{padding-inline-start:calc(var(--ms-tree-base-indent, .75rem) + var(--ms-tree-depth, 0) * var(--ms-tree-indent, 1.25rem))}.ms__option--tree-unselectable{cursor:default}.ms__option--tree-unselectable:hover{background:transparent}}@layer overrides{:host-context([data-theme="dark"]),:host-context([data-bs-theme="dark"]),:host-context(.dark){color-scheme:dark}:host-context([data-theme="light"]),:host-context([data-bs-theme="light"]),:host-context(.light){color-scheme:light}:host([data-theme="dark"]){color-scheme:dark}:host([data-theme="light"]){color-scheme:light}}`, Os = [
4943
+ const Zs = `@layer variables,component,overrides;@layer variables{:host{display:block;--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));--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, light-dark(#eff6ff, #1e3a5f));--ms-accent-color-light-hover: var(--base-accent-color-light-hover, light-dark(#e0f2fe, #264a73));--ms-text-color-1: var(--base-text-color-1, light-dark(#111827, #f5f5f5));--ms-text-color-2: var(--base-text-color-2, light-dark(#353b47, #d4d4d4));--ms-text-color-3: var(--base-text-color-3, light-dark(#6b7280, #a3a3a3));--ms-text-color-4: var(--base-text-color-4, light-dark(#a0a3a9, #737373));--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-hover-bg, color-mix(in srgb, var(--ms-text-color-1) 8%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-primary-bg-hover: var(--base-active-bg, color-mix(in srgb, var(--ms-text-color-1) 14%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-border-color: var(--base-border-color, light-dark(#cbd5e1, #52525b));--ms-border: var(--base-border, 1px solid var(--ms-border-color));--ms-input-bg: var(--base-input-bg, light-dark(#ffffff, #1a1a1a));--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, light-dark(#ffffff, #1a1a1a));--ms-hint-color: var(--ms-text-color-4);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--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, light-dark(#ffffff, #1a1a1a));--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-accent-color-light-hover));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-accent-color-light-hover));--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, var(--base-inverse-bg, light-dark(#333333, #f5f5f5)));--ms-tooltip-text-color: var(--base-tooltip-text-color, light-dark(#ffffff, #1a1a1a));--ms-selected-popover-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--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-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-input-current-width: auto;--ms-dropdown-width: var(--ms-input-current-width);--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-z-index-fullscreen: 10001;--ms-z-index-fullscreen-tooltip: 10002;--ms-fullscreen-rem: 12px;--ms-fullscreen-bg: var(--ms-dropdown-bg);--ms-fullscreen-text-color: var(--ms-dropdown-text-color);--ms-fullscreen-header-bg: var(--ms-dropdown-bg);--ms-fullscreen-header-border: 1px solid var(--ms-dropdown-border-color);--ms-fullscreen-header-gap: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-v: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-h: calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding: var(--ms-fullscreen-header-padding-v) var(--ms-fullscreen-header-padding-h);--ms-fullscreen-header-min-height: calc(5.6 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-size: calc(1.7 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-weight: var(--base-font-weight-semibold, 600);--ms-fullscreen-search-border: var(--ms-input-border);--ms-fullscreen-search-border-radius: var(--ms-input-border-radius);--ms-fullscreen-search-padding: calc(.8 * var(--ms-fullscreen-rem)) calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-search-font-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-icon-size: calc(1.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-inset: calc(.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-gutter: calc(3.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-search-clear-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-mode-toggle-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-icon-size: calc(1.5 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-gap: var(--ms-fullscreen-header-gap);--ms-fullscreen-mode-toggle-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-mode-toggle-bg: transparent;--ms-fullscreen-mode-toggle-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-size: calc(3.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-color: var(--ms-dropdown-text-color);--ms-fullscreen-close-bg: transparent;--ms-fullscreen-close-border: none;--ms-fullscreen-close-border-radius: 50%;--ms-fullscreen-close-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-edge-nudge: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-icon-size: calc(1.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-color: var(--ms-accent-color);--ms-fullscreen-info-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-gap: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-padding-top: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-font-size: calc(1.3 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-nav-btn-size: calc(3.2 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-color: var(--ms-dropdown-text-color);--ms-fullscreen-nav-btn-bg: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-btn-bg-hover: color-mix(in srgb, var(--ms-accent-color) 22%, transparent);--ms-icon-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 15l7-7 7 7' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");--ms-icon-info: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/><circle cx='12' cy='7.5' r='1.3' fill='black'/><path d='M12 11v6' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/></svg>");--ms-fullscreen-tree-base-indent: calc(.7 * var(--ms-fullscreen-rem));--ms-fullscreen-tree-indent: calc(1.2 * var(--ms-fullscreen-rem));--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-min-height: auto;--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-title-white-space: normal;--ms-option-title-overflow: visible;--ms-option-title-text-overflow: clip;--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: 0;--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-width: 1px;--ms-checkbox-border-color: var(--base-checkbox-border-color, #8f8f8f);--ms-checkbox-border: var(--ms-checkbox-border-width) solid var(--ms-checkbox-border-color);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checkmark-thickness: 2.5px;--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: var(--ms-checkbox-border-width) 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-checkbox-border-width) solid var(--ms-border-color);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--ms-state-min-height: calc(8 * var(--ms-rem));--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)) calc(1.2 * 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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 6 6 18'/><path d='m6 6 12 12'/></svg>");--ms-icon-search-clear: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m13.5 8.5-5 5'/><path d='m8.5 8.5 5 5'/><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-search: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/></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-option-tooltip-bg: var(--ms-tooltip-bg);--ms-option-tooltip-text-color: var(--ms-tooltip-text-color);--ms-option-tooltip-padding: var(--ms-tooltip-padding);--ms-option-tooltip-border-radius: var(--ms-tooltip-border-radius);--ms-option-tooltip-font-size: var(--ms-tooltip-font-size);--ms-option-tooltip-max-width: var(--ms-tooltip-max-width);--ms-option-tooltip-shadow: var(--ms-tooltip-shadow);--ms-option-tooltip-z-index: var(--ms-tooltip-z-index);--ms-message-bg: var(--ms-message-info-bg);--ms-message-color: var(--ms-message-info-color);--ms-message-border: 1px solid transparent;--ms-message-border-radius: var(--ms-border-radius-lg);--ms-message-padding: calc(1 * var(--ms-rem)) calc(1.4 * var(--ms-rem));--ms-message-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-message-font-weight: var(--base-font-weight-medium, 500);--ms-message-max-width: calc(40 * var(--ms-rem));--ms-message-shadow: 0 4px 16px rgb(0 0 0 / .18);--ms-message-fullscreen-offset: calc(2.4 * var(--ms-fullscreen-rem));--ms-message-z-index: var(--ms-z-index-fullscreen-tooltip);--ms-message-info-bg: var(--ms-tooltip-bg);--ms-message-info-color: var(--ms-tooltip-text-color);--ms-message-warning-bg: var(--base-warning-bg, #f59e0b);--ms-message-warning-color: var(--base-warning-color, #1a1a1a);--ms-message-error-bg: var(--base-danger-bg, #ef4444);--ms-message-error-color: var(--base-danger-color, #ffffff);--ms-message-success-bg: var(--base-success-bg, #10b981);--ms-message-success-color: var(--base-success-color, #ffffff);--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;--ms-debug-bg: var(--base-elevated-bg, light-dark(#f9fafb, #2b2b2b));--ms-debug-border-color: var(--ms-border-color);--ms-debug-text-color: var(--ms-text-color-1);--ms-debug-border-radius: var(--ms-border-radius-md);--ms-debug-summary-color: var(--ms-accent-color);--ms-debug-summary-bg-hover: var(--ms-primary-bg);--ms-debug-summary-outline-color: var(--ms-accent-color);--ms-debug-summary-border-radius: var(--ms-border-radius-sm);--ms-debug-stats-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-debug-stats-border-radius: var(--ms-border-radius-sm);--ms-debug-bullet-color: var(--ms-accent-color)}}@layer component{web-multiselect:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}:host{-webkit-tap-highlight-color: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%}}@layer component{.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-inline-end: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__toggle{position:absolute;inset-inline-end: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;inset-inline-end: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__actions{display:flex;flex-direction:column;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding)}.ms__actions--top{border-bottom:var(--ms-actions-border-bottom)}.ms__actions--bottom{flex-direction:column-reverse;border-top:var(--ms-actions-border-bottom)}.ms__actions-row{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap)}.ms__actions--wrap .ms__actions-row{flex-wrap:wrap}.ms__actions--sticky{position:sticky;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__actions--sticky.ms__actions--top{top:0}.ms__actions--sticky.ms__actions--bottom{bottom:0}.ms__actions--align-stretch .ms__action-btn{flex:1}.ms__actions--align-left .ms__actions-row{justify-content:flex-start}.ms__actions--align-right .ms__actions-row{justify-content:flex-end}.ms__actions--align-center .ms__actions-row{justify-content:center}.ms__actions--align-space-between .ms__actions-row{justify-content:space-between}.ms__action-btn{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)}@media (hover: hover){.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}}@layer component{.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);width:var(--ms-dropdown-width);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--fullscreen,.ms__selected-popover--fullscreen{--ms-rem: var(--ms-fullscreen-rem);--ms-option-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-option-gap: calc(.8 * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-icon-font-size: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-group-label-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-padding: calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tree-base-indent: var(--ms-fullscreen-tree-base-indent);--ms-tree-indent: var(--ms-fullscreen-tree-indent)}.ms__selected-popover--fullscreen{--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(4.2 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-badge-text-padding: 0 calc(1.2 * var(--ms-rem));--ms-badge-remove-width: calc(3.6 * var(--ms-rem));--ms-badge-remove-icon-size: calc(1.2 * var(--ms-rem));--ms-badge-remove-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-action-btn-padding: calc(.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{position:fixed;top:0;inset-inline-start:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__dropdown--fullscreen .ms__dropdown-inner{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;overflow:hidden}.ms__dropdown--fullscreen .ms__options{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow-y:auto;padding-bottom:var(--ms-option-gap)}.ms__dropdown--fullscreen .ms__actions{flex:0 0 auto}.ms__fullscreen-header,.ms__selected-popover--fullscreen .ms__selected-popover-header{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--ms-fullscreen-header-gap);min-height:var(--ms-fullscreen-header-min-height);padding:var(--ms-fullscreen-header-padding);background:var(--ms-fullscreen-header-bg);border-bottom:var(--ms-fullscreen-header-border)}.ms__fullscreen-header{align-content:flex-start}.ms__fullscreen-header>.ms__fullscreen-search-wrapper{min-height:var(--ms-fullscreen-header-min-height)}.ms__fullscreen-nav{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;gap:var(--ms-fullscreen-nav-gap);padding-top:var(--ms-fullscreen-nav-padding-top)}.ms__fullscreen-nav-count{font-size:var(--ms-fullscreen-nav-count-font-size);color:var(--ms-fullscreen-nav-count-color)}.ms__fullscreen-nav-controls{display:flex;align-items:center;gap:var(--ms-fullscreen-nav-gap)}.ms__fullscreen-nav-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-nav-btn-size);height:var(--ms-fullscreen-nav-btn-size);padding:0;color:var(--ms-fullscreen-nav-btn-color);background:var(--ms-fullscreen-nav-btn-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-nav-btn:hover:not(:disabled){background:var(--ms-fullscreen-nav-btn-bg-hover)}.ms__fullscreen-nav-btn:disabled{opacity:.4;cursor:default}.ms__fullscreen-nav-btn:before{content:"";display:block;width:var(--ms-fullscreen-nav-btn-icon-size);height:var(--ms-fullscreen-nav-btn-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-chevron) center / contain no-repeat;mask:var(--ms-icon-chevron) center / contain no-repeat}.ms__fullscreen-nav-btn--next:before{transform:scaleY(-1)}.ms__fullscreen-header>.ms__fullscreen-search-wrapper,.ms__selected-popover--fullscreen .ms__selected-popover-header>span{flex:1 1 0;min-width:0}.ms__fullscreen-search-wrapper{position:relative;display:flex;align-items:center}.ms__selected-popover--fullscreen .ms__selected-popover-header{font-size:var(--ms-fullscreen-title-font-size);font-weight:var(--ms-fullscreen-title-font-weight);color:var(--ms-fullscreen-text-color)}.ms__fullscreen-search{flex:1 1 auto;min-width:0;font-family:inherit;font-size:var(--ms-fullscreen-search-font-size);color:inherit;background:transparent;border:var(--ms-fullscreen-search-border);border-radius:var(--ms-fullscreen-search-border-radius);padding:var(--ms-fullscreen-search-padding);padding-inline-end:var(--ms-fullscreen-search-clear-gutter)}.ms__fullscreen-search:focus{outline:none;border:var(--ms-input-border-focus)}.ms__fullscreen-search-clear{position:absolute;inset-inline-end:var(--ms-fullscreen-search-clear-inset);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-search-clear-size);height:var(--ms-fullscreen-search-clear-size);padding:0;color:var(--ms-fullscreen-search-clear-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-search-clear:hover{background:var(--ms-fullscreen-search-clear-bg-hover)}.ms__fullscreen-search-clear:before{content:"";display:block;width:var(--ms-fullscreen-search-clear-icon-size);height:var(--ms-fullscreen-search-clear-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-search-clear) center / contain no-repeat;mask:var(--ms-icon-search-clear) center / contain no-repeat}.ms__fullscreen-mode-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-mode-toggle-size);height:var(--ms-fullscreen-mode-toggle-size);margin-inline-end:var(--ms-fullscreen-mode-toggle-gap);margin-inline-start:calc((var(--ms-fullscreen-close-size) - var(--ms-fullscreen-mode-toggle-size)) / 2 - var(--ms-fullscreen-close-edge-nudge));padding:0;color:var(--ms-fullscreen-mode-toggle-color);background:var(--ms-fullscreen-mode-toggle-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-mode-toggle:hover{background:var(--ms-fullscreen-mode-toggle-bg-hover)}.ms__fullscreen-mode-toggle:before{content:"";display:block;width:var(--ms-fullscreen-mode-toggle-icon-size);height:var(--ms-fullscreen-mode-toggle-icon-size);background-color:currentColor;-webkit-mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat;mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat}.ms__fullscreen-mode-toggle[data-mode=navigate]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-search)}.ms__fullscreen-mode-toggle[data-mode=filter]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-filter)}.ms__fullscreen-close,.ms__selected-popover--fullscreen .ms__selected-popover-close{flex:0 0 auto;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-close-size);height:var(--ms-fullscreen-close-size);margin-inline-end:calc(-1 * var(--ms-fullscreen-close-edge-nudge));padding:0;color:var(--ms-fullscreen-close-color);background:var(--ms-fullscreen-close-bg);border:var(--ms-fullscreen-close-border);border-radius:var(--ms-fullscreen-close-border-radius);cursor:pointer}.ms__fullscreen-close:after,.ms__selected-popover--fullscreen .ms__selected-popover-close:after{content:"";position:absolute;inset-block-start:calc(-1 * var(--ms-fullscreen-close-size));inset-block-end:calc(-1 * var(--ms-fullscreen-header-padding-v));inset-inline-end:calc(-1 * var(--ms-fullscreen-header-padding-h));inset-inline-start:calc(-1 * var(--ms-fullscreen-header-gap))}.ms__fullscreen-close:hover,.ms__selected-popover--fullscreen .ms__selected-popover-close:hover{background:var(--ms-fullscreen-close-bg-hover);color:var(--ms-fullscreen-close-color)}.ms__fullscreen-close:before,.ms__selected-popover--fullscreen .ms__selected-popover-close:before{content:"";display:block;width:var(--ms-fullscreen-close-icon-size);height:var(--ms-fullscreen-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__dropdown--fullscreen .ms__option-info{flex:0 0 auto;display:none;align-items:center;justify-content:center;width:var(--ms-fullscreen-info-size);height:var(--ms-fullscreen-info-size);margin-inline-start:var(--ms-option-gap);padding:0;color:var(--ms-fullscreen-info-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__dropdown--fullscreen .ms__option--truncated .ms__option-info{display:inline-flex}@media (hover: hover){.ms__dropdown--fullscreen .ms__option-info:hover{background:var(--ms-fullscreen-info-bg-hover)}}.ms__dropdown--fullscreen .ms__option-info:before{content:"";display:block;width:var(--ms-fullscreen-info-icon-size);height:var(--ms-fullscreen-info-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-info) center / contain no-repeat;mask:var(--ms-icon-info) center / contain no-repeat}.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__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__option-tooltip{position:fixed;z-index:var(--ms-option-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-option-tooltip-bg);color:var(--ms-option-tooltip-text-color);padding:var(--ms-option-tooltip-padding);border-radius:var(--ms-option-tooltip-border-radius);font-size:var(--ms-option-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-option-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-option-tooltip-shadow);pointer-events:none}.ms__option-tooltip--visible{opacity:1;visibility:visible}.ms__option-tooltip--fullscreen{z-index:var(--ms-z-index-fullscreen-tooltip)}.ms__message{position:fixed;z-index:var(--ms-message-z-index);box-sizing:border-box;max-width:var(--ms-message-max-width);padding:var(--ms-message-padding);font-family:inherit;font-size:var(--ms-message-font-size);font-weight:var(--ms-message-font-weight);line-height:var(--ms-line-height-normal);color:var(--ms-message-color);background:var(--ms-message-bg);border:var(--ms-message-border);border-radius:var(--ms-message-border-radius);box-shadow:var(--ms-message-shadow);cursor:pointer;opacity:0;transition:opacity var(--ms-transition-normal) ease;-webkit-tap-highlight-color:transparent}.ms__message--visible{opacity:1}.ms__message--info{background:var(--ms-message-info-bg);color:var(--ms-message-info-color)}.ms__message--warning{background:var(--ms-message-warning-bg);color:var(--ms-message-warning-color)}.ms__message--error{background:var(--ms-message-error-bg);color:var(--ms-message-error-color)}.ms__message--success{background:var(--ms-message-success-bg);color:var(--ms-message-success-color)}.ms__message--fullscreen{left:50%;right:auto;bottom:calc(var(--ms-message-fullscreen-offset) + env(safe-area-inset-bottom));transform:translate(-50%);max-width:min(var(--ms-message-max-width),calc(100vw - 4 * var(--ms-fullscreen-rem)));padding:calc(1 * var(--ms-fullscreen-rem)) calc(1.4 * var(--ms-fullscreen-rem));font-size:calc(var(--base-font-size-sm, 1.4) * var(--ms-fullscreen-rem))}.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--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;overflow:hidden;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__selected-popover--fullscreen .ms__selected-popover-body{flex:1 1 0;min-height:0;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);flex-shrink:0}.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}}@layer component{.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-inline-start:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-inline-start:0}}@layer component;@layer component{.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__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-inline-end:none;border-start-start-radius:var(--ms-badge-border-radius);border-end-start-radius:var(--ms-badge-border-radius);border-start-end-radius:0;border-end-end-radius:0;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-inline-start:none;border-start-end-radius:var(--ms-badge-border-radius);border-end-end-radius:var(--ms-badge-border-radius);border-start-start-radius:0;border-end-start-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-inline-end: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-inline-start: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}}@layer component{.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}}@layer component{.ms__debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:var(--ms-debug-bg);border:1px solid var(--ms-debug-border-color);border-radius:var(--ms-debug-border-radius);font-size:calc(1.2 * var(--ms-rem));color:var(--ms-debug-text-color)}.ms__debug-info details summary{cursor:pointer;font-weight:600;color:var(--ms-debug-summary-color);-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:var(--ms-debug-summary-border-radius)}.ms__debug-info details summary:hover{background-color:var(--ms-debug-summary-bg-hover)}.ms__debug-info details summary:focus{outline:2px solid var(--ms-debug-summary-outline-color);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:var(--ms-debug-stats-bg);border-radius:var(--ms-debug-stats-border-radius)}.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-inline-end:calc(.4 * var(--ms-rem));color:var(--ms-debug-bullet-color)}}@layer component{.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,.ms__options--fixed-height .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);position:relative;min-height:var(--ms-option-min-height, auto);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer;user-select:none;-webkit-user-select:none}@media (hover: hover){.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)}.ms__option--matched:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;border-inline-start:var(--ms-option-border-matched);pointer-events:none}.ms__option--selected{background:var(--ms-option-bg-selected)}@media (hover: hover){.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)}@media (hover: hover){.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)}.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-checkbox-margin-top: calc(.2 * var(--ms-rem))}.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-inline-end:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-inline-start: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 var(--ms-checkbox-checkmark-thickness, 2px) var(--ms-checkbox-checkmark-thickness, 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--indeterminate{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox--indeterminate:after{display:block;top:50%;left:50%;width:55%;height:0;transform:translate(-50%,-50%);border:none;border-bottom:var(--ms-checkbox-checkmark-thickness, 2px) solid var(--ms-checkbox-checkmark-color)}.ms__checkbox--indeterminate:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.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);white-space:var(--ms-option-title-white-space, normal);overflow:var(--ms-option-title-overflow, visible);text-overflow:var(--ms-option-title-text-overflow, clip)}@media (hover: hover){.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))}@media (hover: hover){.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)}@media (hover: hover){.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))}@media (hover: hover){.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{display:flex;align-items:center;justify-content:center;min-height:var(--ms-state-min-height);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;min-height:var(--ms-state-min-height);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)}}@layer component{.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__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)}}@layer component{.ms__option--tree{padding-inline-start:calc(var(--ms-tree-base-indent, .75rem) + var(--ms-tree-depth, 0) * var(--ms-tree-indent, 1.25rem))}.ms__option--tree-unselectable{cursor:default}.ms__option--tree-unselectable:hover{background:transparent}}@layer overrides{:host-context([data-theme="dark"]),:host-context([data-bs-theme="dark"]),:host-context(.dark){color-scheme:dark}:host-context([data-theme="light"]),:host-context([data-bs-theme="light"]),:host-context(.light){color-scheme:light}:host([data-theme="dark"]){color-scheme:dark}:host([data-theme="light"]){color-scheme:light}}`, Os = [
4877
4944
  "top",
4878
4945
  "top-start",
4879
4946
  "top-end",
@@ -4886,7 +4953,7 @@ const Zs = `@layer variables,component,overrides;@layer variables{:host{display:
4886
4953
  "right",
4887
4954
  "right-start",
4888
4955
  "right-end"
4889
- ], D = () => go(), Pr = [
4956
+ ], z = () => go(), Pr = [
4890
4957
  // ── Strings (cosmetic → update). Optional ones are nullable: absent → null ─
4891
4958
  { configKey: "searchHint", attribute: "search-hint", converter: A({ isNullable: !0 }), on: "update", description: "Small hint text shown beneath the search input." },
4892
4959
  { configKey: "searchPlaceholder", attribute: "search-placeholder", converter: A({ isNullable: !0 }), on: "update", description: 'Placeholder text for the search input. When unset it defaults to "Search..."; if `show-search-mode-toggle` is on, the default instead becomes mode-aware ("Search…" in navigate, "Filter…" in filter). An explicit value always wins and stays fixed.' },
@@ -5007,37 +5074,38 @@ const Zs = `@layer variables,component,overrides;@layer variables{:host{display:
5007
5074
  ` }), on: "reinit", type: "string", description: 'Row/record delimiter for the `csv` and `plain` `data-options` formats. Default newline. Escapes honoured (e.g. `data-options-row-splitter=";"` for single-line data). Ignored for `json`.' },
5008
5075
  { configKey: "actionButtons", converter: po({ validate: (s) => Array.isArray(s) }), on: "reinit", type: "Array<Record<string, unknown>>", description: "Custom action buttons for the dropdown footer/header. Property-only; when unset the default Select-All / Clear buttons apply." },
5009
5076
  // ── Callbacks: data shape (structural → reinit) ──────────────────────────
5010
- { configKey: "getValueCallback", converter: D(), on: "reinit", type: "(item: unknown) => string | number", description: "Extract an option value (overrides valueMember)." },
5011
- { configKey: "getPathCallback", converter: D(), on: "reinit", type: "(item: unknown) => string", description: "Extract a node tree path (enables tree mode; overrides pathMember)." },
5012
- { configKey: "getGroupCallback", converter: D(), on: "reinit", type: "(item: unknown) => string", description: "Extract the group name from an option (overrides groupMember)." },
5013
- { configKey: "getDisabledCallback", converter: D(), on: "reinit", type: "(item: unknown) => boolean", description: "Whether an option is disabled (overrides disabledMember)." },
5014
- { configKey: "getIsSelectableCallback", converter: D(), on: "reinit", type: "(node: unknown) => boolean", description: "Whether a tree node can be selected (overrides is-selectable-member)." },
5015
- { configKey: "getSearchValueCallback", converter: D(), on: "reinit", type: "(item: unknown) => string", description: "Text an option is searched against (overrides searchValueMember)." },
5016
- { configKey: "searchCallback", converter: D(), on: "reinit", type: "(searchTerm: string, signal?: AbortSignal) => Promise<unknown[]>", description: "Custom / async search; return the filtered options." },
5077
+ { configKey: "getValueCallback", converter: z(), on: "reinit", type: "(item: unknown) => string | number", description: "Extract an option value (overrides valueMember)." },
5078
+ { configKey: "getPathCallback", converter: z(), on: "reinit", type: "(item: unknown) => string", description: "Extract a node tree path (enables tree mode; overrides pathMember)." },
5079
+ { configKey: "getGroupCallback", converter: z(), on: "reinit", type: "(item: unknown) => string", description: "Extract the group name from an option (overrides groupMember)." },
5080
+ { configKey: "getDisabledCallback", converter: z(), on: "reinit", type: "(item: unknown) => boolean", description: "Whether an option is disabled (overrides disabledMember)." },
5081
+ { configKey: "getIsSelectableCallback", converter: z(), on: "reinit", type: "(node: unknown) => boolean", description: "Whether a tree node can be selected (overrides is-selectable-member)." },
5082
+ { configKey: "getSearchValueCallback", converter: z(), on: "reinit", type: "(item: unknown) => string", description: "Text an option is searched against (overrides searchValueMember)." },
5083
+ { configKey: "searchCallback", converter: z(), on: "reinit", type: "(searchTerm: string, signal?: AbortSignal) => Promise<unknown[]>", description: "Custom / async search; return the filtered options." },
5017
5084
  // ── Callbacks: display / render (cosmetic → update) ──────────────────────
5018
- { configKey: "getDisplayValueCallback", converter: D(), on: "update", type: "(item: unknown) => string", description: "Compute the display label for an option (overrides displayValueMember)." },
5019
- { configKey: "getBadgeDisplayCallback", converter: D(), on: "update", type: "(item: unknown) => string", description: "Compute the text shown on an option badge." },
5020
- { configKey: "getBadgeClassCallback", converter: D(), on: "update", type: "(item: unknown) => string | string[]", description: "Extra CSS class(es) for an option badge." },
5021
- { configKey: "getIconCallback", converter: D(), on: "update", type: "(item: unknown) => string", description: "Icon for an option (overrides iconMember)." },
5022
- { configKey: "getSubtitleCallback", converter: D(), on: "update", type: "(item: unknown) => string", description: "Subtitle for an option (overrides subtitleMember)." },
5023
- { configKey: "getFullTitleCallback", converter: D(), on: "update", type: "(item: unknown) => string", description: "Full title for an option (used by badges when show-badge-full-title is on)." },
5024
- { configKey: "getCounterCallback", converter: D(), on: "update", type: "(count: number, moreCount?: number) => string", description: "Render the selected-count label." },
5025
- { configKey: "getValueFormatCallback", converter: D(), on: "update", type: "(selectedValues: (string | number)[]) => string", description: "Serialize the selected values for form submission." },
5026
- { configKey: "getBadgeTooltipCallback", converter: D(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Tooltip content for an option badge." },
5027
- { configKey: "getOptionTooltipCallback", converter: D(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Tooltip content for an option row." },
5028
- { configKey: "getRemoveButtonTooltipCallback", converter: D(), on: "update", type: "(item: unknown) => string", description: "Tooltip text for a badge remove button." },
5029
- { configKey: "getSelectedItemClassCallback", converter: D(), on: "update", type: "(item: unknown) => string | string[]", description: "Extra CSS class(es) for a selected item." },
5030
- { configKey: "renderOptionContentCallback", converter: D(), on: "update", type: "(item: unknown, context: OptionContentRenderContext) => string | HTMLElement", description: "Custom render for an option row; may return HTML or an element." },
5031
- { configKey: "renderBadgeContentCallback", converter: D(), on: "update", type: "(item: unknown, context: BadgeContentRenderContext) => string | HTMLElement", description: "Custom render for a badge; may return HTML or an element." },
5032
- { configKey: "renderGroupLabelContentCallback", converter: D(), on: "update", type: "(groupName: string) => string | HTMLElement", description: "Customize a group label; may return an HTML string or element." },
5033
- { configKey: "renderSelectedContentCallback", converter: D(), on: "update", type: "(item: unknown) => string", description: "Custom render for the whole selected area." },
5034
- { configKey: "renderSelectedItemContentCallback", converter: D(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Custom render for one selected item." },
5035
- { configKey: "customStylesCallback", converter: D(), on: "update", type: "() => string", description: "Returns a CSS string injected into the component via a replaceable style slot (§12.8)." },
5085
+ { configKey: "getDisplayValueCallback", converter: z(), on: "update", type: "(item: unknown) => string", description: "Compute the display label for an option (overrides displayValueMember)." },
5086
+ { configKey: "getBadgeDisplayCallback", converter: z(), on: "update", type: "(item: unknown) => string", description: "Compute the text shown on an option badge." },
5087
+ { configKey: "getBadgeClassCallback", converter: z(), on: "update", type: "(item: unknown) => string | string[]", description: "Extra CSS class(es) for an option badge." },
5088
+ { configKey: "getIconCallback", converter: z(), on: "update", type: "(item: unknown) => string", description: "Icon for an option (overrides iconMember)." },
5089
+ { configKey: "getSubtitleCallback", converter: z(), on: "update", type: "(item: unknown) => string", description: "Subtitle for an option (overrides subtitleMember)." },
5090
+ { configKey: "getFullTitleCallback", converter: z(), on: "update", type: "(item: unknown) => string", description: "Full title for an option (used by badges when show-badge-full-title is on)." },
5091
+ { configKey: "getCounterCallback", converter: z(), on: "update", type: "(count: number, moreCount?: number) => string", description: "Render the selected-count label." },
5092
+ { configKey: "getValueFormatCallback", converter: z(), on: "update", type: "(selectedValues: (string | number)[]) => string", description: "Serialize the selected values for form submission." },
5093
+ { configKey: "getBadgeTooltipCallback", converter: z(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Tooltip content for an option badge." },
5094
+ { configKey: "getOptionTooltipCallback", converter: z(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Tooltip content for an option row." },
5095
+ { configKey: "getRemoveButtonTooltipCallback", converter: z(), on: "update", type: "(item: unknown) => string", description: "Tooltip text for a badge remove button." },
5096
+ { configKey: "getSelectedItemClassCallback", converter: z(), on: "update", type: "(item: unknown) => string | string[]", description: "Extra CSS class(es) for a selected item." },
5097
+ { configKey: "renderOptionContentCallback", converter: z(), on: "update", type: "(item: unknown, context: OptionContentRenderContext) => string | HTMLElement", description: "Custom render for an option row; may return HTML or an element." },
5098
+ { configKey: "renderBadgeContentCallback", converter: z(), on: "update", type: "(item: unknown, context: BadgeContentRenderContext) => string | HTMLElement", description: "Custom render for a badge; may return HTML or an element." },
5099
+ { configKey: "renderGroupLabelContentCallback", converter: z(), on: "update", type: "(groupName: string) => string | HTMLElement", description: "Customize a group label; may return an HTML string or element." },
5100
+ { configKey: "renderSelectedContentCallback", converter: z(), on: "update", type: "(item: unknown) => string", description: "Custom render for the whole selected area." },
5101
+ { configKey: "renderSelectedItemContentCallback", converter: z(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Custom render for one selected item." },
5102
+ { configKey: "customStylesCallback", converter: z(), on: "update", type: "() => string", description: "Returns a CSS string injected into the component via a replaceable style slot (§12.8)." },
5036
5103
  // ── Callbacks: before-hooks (behavior-shaping) ───────────────────────────
5037
- { configKey: "beforeSearchCallback", converter: D(), on: "update", type: "(searchTerm: string) => string | null", description: "Runs before a search; return a rewritten term or null to veto." },
5038
- { configKey: "beforeSelectCallback", converter: D(), on: "update", type: "(option: unknown, selectedOptions: unknown[]) => boolean | string | void", description: "Runs before selecting; return false to veto, or a string to veto and show it as a message." },
5039
- { configKey: "beforeDeselectCallback", converter: D(), on: "update", type: "(option: unknown, selectedOptions: unknown[]) => boolean | string | void", description: "Runs before deselecting; return false to veto, or a string to veto and show it as a message." },
5040
- { configKey: "addNewCallback", converter: D(), on: "update", type: "(value: string) => unknown | Promise<unknown>", description: "Create a new option from the typed text." }
5104
+ { configKey: "beforeSearchCallback", converter: z(), on: "update", type: "(searchTerm: string) => string | null", description: "Runs before a search; return a rewritten term or null to veto." },
5105
+ { configKey: "beforeSelectCallback", converter: z(), on: "update", type: "(option: unknown, selectedOptions: unknown[]) => boolean | string | void", description: "Runs before selecting; return false to veto, or a string to veto and show it as a message." },
5106
+ { configKey: "beforeDeselectCallback", converter: z(), on: "update", type: "(option: unknown, selectedOptions: unknown[]) => boolean | string | void", description: "Runs before deselecting; return false to veto, or a string to veto and show it as a message." },
5107
+ { configKey: "addNewCallback", converter: z(), on: "update", type: "(value: string) => unknown | Promise<unknown>", description: "Create a new option from the typed text." },
5108
+ { configKey: "keydownCallback", converter: z(), on: "update", type: "(context: MultiSelectKeydownContext) => boolean | void", description: "Intercept keydown before built-in handling; return true to suppress the default. Gets the event, current state, and an imperative controller." }
5041
5109
  ], Mr = [
5042
5110
  { name: "select", description: "An option was selected. `detail.option` is the selected option; `detail.selectedOptions`/`detail.selectedValues` are the full selection." },
5043
5111
  { name: "deselect", description: "An option was removed from the selection. `detail.option` is that option." },
@@ -5058,13 +5126,13 @@ const Ar = [
5058
5126
  { key: "subtitleMember", member: "subtitle", callbackKey: "getSubtitleCallback" },
5059
5127
  { key: "disabledMember", member: "disabled", callbackKey: "getDisabledCallback" }
5060
5128
  ];
5061
- var J, z, me, et, tt, st, ze, Ne, ke, _, ct, Kt, Ft, eo, to, so, dt, Wt, oo, io, ro, jt, no, ao, Ut, Gt;
5129
+ var J, N, me, et, tt, st, ze, Ne, ke, _, ct, Kt, Ft, eo, to, so, dt, Wt, oo, io, ro, jt, no, ao, Ut, Gt;
5062
5130
  class Ge extends Nt {
5063
5131
  constructor() {
5064
5132
  super();
5065
5133
  E(this, _);
5066
5134
  E(this, J);
5067
- E(this, z);
5135
+ E(this, N);
5068
5136
  E(this, me);
5069
5137
  E(this, et, null);
5070
5138
  // Dev-mode customStylesCallback lint: unknown --ms-* names already warned about.
@@ -5074,7 +5142,7 @@ class Ge extends Nt {
5074
5142
  E(this, ze, !1);
5075
5143
  E(this, Ne);
5076
5144
  E(this, ke);
5077
- N(this, J, this.attachShadow({ mode: "open" })), Yo(p(this, J), Zs), typeof requestAnimationFrame == "function" ? requestAnimationFrame(() => this.setAttribute("data-ready", "")) : this.setAttribute("data-ready", "");
5145
+ V(this, J, this.attachShadow({ mode: "open" })), Yo(p(this, J), Zs), typeof requestAnimationFrame == "function" ? requestAnimationFrame(() => this.setAttribute("data-ready", "")) : this.setAttribute("data-ready", "");
5078
5146
  }
5079
5147
  /**
5080
5148
  * Called by the browser when the surrounding <form> is reset. Clears the
@@ -5082,7 +5150,7 @@ class Ge extends Nt {
5082
5150
  */
5083
5151
  formResetCallback() {
5084
5152
  var t;
5085
- (t = p(this, z)) == null || t.clearAll();
5153
+ (t = p(this, N)) == null || t.clearAll();
5086
5154
  }
5087
5155
  // ── core lifecycle hooks ──────────────────────────────────────────────────
5088
5156
  /** Runtime writing-direction switch (core observes `dir`): re-mirror the live
@@ -5091,7 +5159,7 @@ class Ge extends Nt {
5091
5159
  * and the panels' explicit `dir`). The initial direction is read by the build. */
5092
5160
  directionChanged(t) {
5093
5161
  var o;
5094
- (o = p(this, z)) == null || o.refreshDirection();
5162
+ (o = p(this, N)) == null || o.refreshDirection();
5095
5163
  }
5096
5164
  /** Structural change (or first connect): mirror CSS vars, then (re)build the picker. */
5097
5165
  reinit() {
@@ -5103,16 +5171,16 @@ class Ge extends Nt {
5103
5171
  const o = {};
5104
5172
  for (const [i, r] of Object.entries(t))
5105
5173
  Ps.has(i) || (o[i] = r === null ? void 0 : r);
5106
- p(this, z) && Object.keys(o).length > 0 && (p(this, z).updateOptions(o) || x(this, _, Kt).call(this)), "mobilePresentation" in t && x(this, _, ct).call(this, zt());
5174
+ p(this, N) && Object.keys(o).length > 0 && (p(this, N).updateOptions(o) || x(this, _, Kt).call(this)), "mobilePresentation" in t && x(this, _, ct).call(this, zt());
5107
5175
  }
5108
5176
  /** Activate: ensure the picker exists (a DOM move destroyed it in disconnect()). */
5109
5177
  connect() {
5110
- p(this, z) || x(this, _, Ft).call(this);
5178
+ p(this, N) || x(this, _, Ft).call(this);
5111
5179
  }
5112
5180
  /** Deactivate: tear the picker down (rebuilt on the next connect). */
5113
5181
  disconnect() {
5114
5182
  var t;
5115
- (t = p(this, z)) == null || t.destroy(), N(this, z, void 0);
5183
+ (t = p(this, N)) == null || t.destroy(), V(this, N, void 0);
5116
5184
  }
5117
5185
  /**
5118
5186
  * Device/viewport/orientation changed (core §12.9). Overriding this opts the
@@ -5135,21 +5203,21 @@ class Ge extends Nt {
5135
5203
  }
5136
5204
  get selectedValue() {
5137
5205
  var t;
5138
- return this.flush(), ((t = p(this, z)) == null ? void 0 : t.selectedValue) ?? null;
5206
+ return this.flush(), ((t = p(this, N)) == null ? void 0 : t.selectedValue) ?? null;
5139
5207
  }
5140
5208
  get selectedItem() {
5141
5209
  var t;
5142
- return this.flush(), ((t = p(this, z)) == null ? void 0 : t.selectedItem) ?? null;
5210
+ return this.flush(), ((t = p(this, N)) == null ? void 0 : t.selectedItem) ?? null;
5143
5211
  }
5144
5212
  getSelected() {
5145
- return this.flush(), p(this, z) ? p(this, z).getSelected() : [];
5213
+ return this.flush(), p(this, N) ? p(this, N).getSelected() : [];
5146
5214
  }
5147
5215
  setSelected(t, o = {}) {
5148
5216
  var i;
5149
- this.flush(), (i = p(this, z)) == null || i.setSelected(t, o);
5217
+ this.flush(), (i = p(this, N)) == null || i.setSelected(t, o);
5150
5218
  }
5151
5219
  getValue() {
5152
- return this.flush(), p(this, z) ? p(this, z).getValue() : null;
5220
+ return this.flush(), p(this, N) ? p(this, N).getValue() : null;
5153
5221
  }
5154
5222
  /**
5155
5223
  * Surface a transient message ("toast") on top of the component — visible even in the
@@ -5160,35 +5228,35 @@ class Ge extends Nt {
5160
5228
  */
5161
5229
  showMessage(t, o) {
5162
5230
  var i;
5163
- this.flush(), (i = p(this, z)) == null || i.showMessage(t, o);
5231
+ this.flush(), (i = p(this, N)) == null || i.showMessage(t, o);
5164
5232
  }
5165
5233
  /** Dismiss the transient message shown by {@link showMessage}, if any. */
5166
5234
  hideMessage() {
5167
5235
  var t;
5168
- (t = p(this, z)) == null || t.hideMessage();
5236
+ (t = p(this, N)) == null || t.hideMessage();
5169
5237
  }
5170
5238
  destroy() {
5171
5239
  var t;
5172
- (t = p(this, z)) == null || t.destroy();
5240
+ (t = p(this, N)) == null || t.destroy();
5173
5241
  }
5174
5242
  }
5175
- J = new WeakMap(), z = new WeakMap(), me = new WeakMap(), et = new WeakMap(), tt = new WeakMap(), st = new WeakMap(), ze = new WeakMap(), Ne = new WeakMap(), ke = new WeakMap(), _ = new WeakSet(), /** Resolve `mobile-presentation` against `env` and relay it to the live picker. */
5243
+ J = new WeakMap(), N = new WeakMap(), me = new WeakMap(), et = new WeakMap(), tt = new WeakMap(), st = new WeakMap(), ze = new WeakMap(), Ne = new WeakMap(), ke = new WeakMap(), _ = new WeakSet(), /** Resolve `mobile-presentation` against `env` and relay it to the live picker. */
5176
5244
  ct = function(t) {
5177
5245
  var r;
5178
5246
  const o = this.config.mobilePresentation ?? "auto", i = oi(o, t);
5179
- (r = p(this, z)) == null || r.setPresentation(i === "modal" ? "fullscreen" : i);
5247
+ (r = p(this, N)) == null || r.setPresentation(i === "modal" ? "fullscreen" : i);
5180
5248
  }, // ── picker lifecycle ──────────────────────────────────────────────────────
5181
5249
  Kt = function() {
5182
5250
  var t;
5183
- (t = p(this, z)) == null || t.destroy(), N(this, z, void 0), x(this, _, Ft).call(this);
5251
+ (t = p(this, N)) == null || t.destroy(), V(this, N, void 0), x(this, _, Ft).call(this);
5184
5252
  }, Ft = function() {
5185
5253
  x(this, _, eo).call(this), x(this, _, no).call(this);
5186
5254
  const t = x(this, _, to).call(this), o = x(this, _, so).call(this);
5187
- o && o.length > 0 ? p(this, me).dataset.initialValues = JSON.stringify(o) : delete p(this, me).dataset.initialValues, N(this, z, new xr(p(this, me), t)), x(this, _, Wt).call(this), x(this, _, Ut).call(this), x(this, _, ct).call(this, zt());
5255
+ o && o.length > 0 ? p(this, me).dataset.initialValues = JSON.stringify(o) : delete p(this, me).dataset.initialValues, V(this, N, new xr(p(this, me), t)), x(this, _, Wt).call(this), x(this, _, Ut).call(this), x(this, _, ct).call(this, zt());
5188
5256
  }, eo = function() {
5189
5257
  if (p(this, me)) return;
5190
5258
  const t = document.createElement("div");
5191
- t.setAttribute("data-multiselect", ""), this.className && (t.className = this.className), p(this, J).appendChild(t), N(this, et, Jo(p(this, J), { position: "first", className: "ms-custom-styles" })), N(this, me, t);
5259
+ t.setAttribute("data-multiselect", ""), this.className && (t.className = this.className), p(this, J).appendChild(t), V(this, et, Jo(p(this, J), { position: "first", className: "ms-custom-styles" })), V(this, me, t);
5192
5260
  }, /**
5193
5261
  * Build the picker config from the merged `this.config`, minus the keys the
5194
5262
  * picker doesn't own, plus the runtime wiring (event bridges, container, host,
@@ -5219,14 +5287,14 @@ to = function() {
5219
5287
  var r;
5220
5288
  this.emit("select", {
5221
5289
  option: i,
5222
- selectedOptions: ((r = p(this, z)) == null ? void 0 : r.getSelected()) ?? [],
5290
+ selectedOptions: ((r = p(this, N)) == null ? void 0 : r.getSelected()) ?? [],
5223
5291
  selectedValues: x(this, _, dt).call(this)
5224
5292
  });
5225
5293
  }, t.onDeselect = (i) => {
5226
5294
  var r;
5227
5295
  this.emit("deselect", {
5228
5296
  option: i,
5229
- selectedOptions: ((r = p(this, z)) == null ? void 0 : r.getSelected()) ?? [],
5297
+ selectedOptions: ((r = p(this, N)) == null ? void 0 : r.getSelected()) ?? [],
5230
5298
  selectedValues: x(this, _, dt).call(this)
5231
5299
  });
5232
5300
  }, t.onChange = (i) => {
@@ -5242,7 +5310,7 @@ to = function() {
5242
5310
  return t && t.length > 0 ? t : void 0;
5243
5311
  }, dt = function() {
5244
5312
  var o;
5245
- const t = (o = p(this, z)) == null ? void 0 : o.getValue();
5313
+ const t = (o = p(this, N)) == null ? void 0 : o.getValue();
5246
5314
  return t == null ? [] : Array.isArray(t) ? t : [t];
5247
5315
  }, // ── §12.8 custom styles ───────────────────────────────────────────────────
5248
5316
  Wt = function() {
@@ -5286,9 +5354,9 @@ io = function() {
5286
5354
  }, // ── declarative <option> parsing (light DOM, once) ────────────────────────
5287
5355
  no = function() {
5288
5356
  if (p(this, st)) return;
5289
- N(this, st, !0);
5357
+ V(this, st, !0);
5290
5358
  const t = x(this, _, ao).call(this);
5291
- t && (N(this, Ne, t), N(this, ze, !0));
5359
+ t && (V(this, Ne, t), V(this, ze, !0));
5292
5360
  }, ao = function() {
5293
5361
  const t = Array.from(this.children);
5294
5362
  if (t.length === 0) return null;
@@ -5300,7 +5368,7 @@ no = function() {
5300
5368
  value: n.value || ((c = n.textContent) == null ? void 0 : c.trim()) || "",
5301
5369
  label: ((d = n.textContent) == null ? void 0 : d.trim()) || n.value || ""
5302
5370
  };
5303
- a && (l.group = a), n.hasAttribute("selected") && (p(this, ke) ?? N(this, ke, [])).push(l.value), n.hasAttribute("disabled") && (l.disabled = !0), n.hasAttribute("data-icon") && (l.icon = n.getAttribute("data-icon")), n.hasAttribute("data-subtitle") && (l.subtitle = n.getAttribute("data-subtitle")), o.push(l), i = !0;
5371
+ a && (l.group = a), n.hasAttribute("selected") && (p(this, ke) ?? V(this, ke, [])).push(l.value), n.hasAttribute("disabled") && (l.disabled = !0), n.hasAttribute("data-icon") && (l.icon = n.getAttribute("data-icon")), n.hasAttribute("data-subtitle") && (l.subtitle = n.getAttribute("data-subtitle")), o.push(l), i = !0;
5304
5372
  };
5305
5373
  for (const n of t)
5306
5374
  if (n.tagName === "OPTION")
@@ -5328,8 +5396,8 @@ Ut = function() {
5328
5396
  }, Gt = function() {
5329
5397
  var l, c, d, h;
5330
5398
  const t = p(this, J).querySelector(".ms__debug-stats");
5331
- if (!t || !p(this, z)) return;
5332
- const o = "2.0.0-rc07", i = typeof window < "u" && ((c = (l = window.components) == null ? void 0 : l["web-multiselect"]) == null ? void 0 : c.getInstances().length) || 0, r = p(this, z).getSelected().length, n = ((d = this.config.options) == null ? void 0 : d.length) || 0, a = p(this, z);
5399
+ if (!t || !p(this, N)) return;
5400
+ const o = "2.0.0-rc09", i = typeof window < "u" && ((c = (l = window.components) == null ? void 0 : l["web-multiselect"]) == null ? void 0 : c.getInstances().length) || 0, r = p(this, N).getSelected().length, n = ((d = this.config.options) == null ? void 0 : d.length) || 0, a = p(this, N);
5333
5401
  t.innerHTML = `
5334
5402
  <span>Version: ${o}</span>
5335
5403
  <span>Total Instances: ${i}</span>
@@ -5344,12 +5412,12 @@ Ut = function() {
5344
5412
  }, 500);
5345
5413
  }, // Opt into the form-associated custom element lifecycle so form.reset() and
5346
5414
  // form.elements see the control.
5347
- m(Ge, "formAssociated", !0), m(Ge, "inputs", Pr), m(Ge, "events", Mr);
5415
+ u(Ge, "formAssociated", !0), u(Ge, "inputs", Pr), u(Ge, "events", Mr);
5348
5416
  typeof customElements < "u" && !customElements.get("web-multiselect") && customElements.define("web-multiselect", Ge);
5349
5417
  Xo("web-multiselect", Ge, {
5350
5418
  config: {
5351
5419
  name: "@keenmate/web-multiselect",
5352
- version: "2.0.0-rc07",
5420
+ version: "2.0.0-rc09",
5353
5421
  author: "Keenmate",
5354
5422
  license: "MIT",
5355
5423
  repository: "git+https://github.com/keenmate/web-multiselect.git",
@@ -5363,12 +5431,12 @@ export {
5363
5431
  kr as OPTIONS_FORMATS,
5364
5432
  xr as WebMultiSelect,
5365
5433
  K as dataLogger,
5366
- $r as disableLogging,
5367
- Dr as enableLogging,
5434
+ Dr as disableLogging,
5435
+ Vr as enableLogging,
5368
5436
  nt as initLogger,
5369
5437
  W as interactionLogger,
5370
5438
  Cr as parseOptionsData,
5371
5439
  Rr as setCategoryLevel,
5372
- Vr as setLogLevel,
5440
+ $r as setLogLevel,
5373
5441
  Q as uiLogger
5374
5442
  };