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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
- var lo = Object.defineProperty;
2
- var ts = (s) => {
1
+ var co = Object.defineProperty;
2
+ var ss = (s) => {
3
3
  throw TypeError(s);
4
4
  };
5
- var co = (s, e, t) => e in s ? lo(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
- var m = (s, e, t) => co(s, typeof e != "symbol" ? e + "" : e, t), Tt = (s, e, t) => e.has(s) || ts("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) ? ts("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), D = (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);
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);
8
8
  function F(s, e = {}) {
9
9
  const t = new Set(s), o = e.shouldNullOnInvalid ? null : e.default ?? null;
10
10
  return {
@@ -54,11 +54,11 @@ function A(s = {}) {
54
54
  }
55
55
  };
56
56
  }
57
- const ho = /* @__PURE__ */ new Set(["", "true", "1", "yes", "on"]), uo = /* @__PURE__ */ new Set(["false", "0", "no", "off"]);
57
+ const uo = /* @__PURE__ */ new Set(["", "true", "1", "yes", "on"]), mo = /* @__PURE__ */ new Set(["false", "0", "no", "off"]);
58
58
  function B(s = "presence") {
59
59
  const e = (t) => {
60
60
  const o = t.trim().toLowerCase();
61
- return ho.has(o) ? !0 : uo.has(o) ? !1 : null;
61
+ return uo.has(o) ? !0 : mo.has(o) ? !1 : null;
62
62
  };
63
63
  return {
64
64
  fromAttribute(t) {
@@ -81,7 +81,7 @@ function B(s = "presence") {
81
81
  }
82
82
  };
83
83
  }
84
- function mo(s = {}) {
84
+ function po(s = {}) {
85
85
  const e = s.default;
86
86
  return {
87
87
  fromAttribute(t) {
@@ -101,7 +101,7 @@ function mo(s = {}) {
101
101
  }
102
102
  };
103
103
  }
104
- function po(s = {}) {
104
+ function fo(s = {}) {
105
105
  const e = s.default ?? [], t = (o) => Array.isArray(o) && (!s.validateItem || o.every(s.validateItem));
106
106
  return {
107
107
  fromAttribute(o) {
@@ -121,22 +121,22 @@ function po(s = {}) {
121
121
  }
122
122
  };
123
123
  }
124
- function fo() {
124
+ function go() {
125
125
  return {
126
126
  validate(s) {
127
127
  return s == null || typeof s == "function";
128
128
  }
129
129
  };
130
130
  }
131
- function go(s, e, t) {
131
+ function bo(s, e, t) {
132
132
  const o = s.converter, i = o != null && o.fromAttribute ? o.fromAttribute(e, t, s.attribute ?? s.configKey) : e ?? s.default;
133
133
  return { configKey: s.configKey, field: s.field, value: i, on: s.on ?? "update" };
134
134
  }
135
- function bo(s, e) {
135
+ function vo(s, e) {
136
136
  const t = s.converter;
137
137
  return t != null && t.validate && !t.validate(e) ? null : { configKey: s.configKey, field: s.field, value: e, on: s.on ?? "update" };
138
138
  }
139
- function vo() {
139
+ function yo() {
140
140
  const s = /* @__PURE__ */ new Set();
141
141
  let e = !1;
142
142
  const t = () => {
@@ -164,7 +164,7 @@ function vo() {
164
164
  }
165
165
  };
166
166
  }
167
- const Ps = {
167
+ const Ms = {
168
168
  pointer: "fine",
169
169
  hasCoarsePointer: !1,
170
170
  canHover: !0,
@@ -176,27 +176,27 @@ const Ps = {
176
176
  os: "unknown",
177
177
  isApple: !1,
178
178
  isAndroid: !1
179
- }, yo = { mobile: 640, tablet: 1024, desktop: 1 / 0 };
180
- let Ot = wo(yo);
179
+ }, wo = { mobile: 640, tablet: 1024, desktop: 1 / 0 };
180
+ let It = xo(wo);
181
181
  const Fe = /* @__PURE__ */ new Set();
182
182
  let Ce = null, ht = [], lt = !1;
183
- function wo(s) {
183
+ function xo(s) {
184
184
  return Object.entries(s).sort((e, t) => e[1] - t[1]);
185
185
  }
186
- function xo(s) {
187
- for (const [t, o] of Ot)
186
+ function _o(s) {
187
+ for (const [t, o] of It)
188
188
  if (s <= o)
189
189
  return t;
190
- const e = Ot[Ot.length - 1];
190
+ const e = It[It.length - 1];
191
191
  return e ? e[0] : "desktop";
192
192
  }
193
- function Gt() {
193
+ function Xt() {
194
194
  return typeof window < "u" && typeof window.matchMedia == "function";
195
195
  }
196
- function ss() {
196
+ function os() {
197
197
  return typeof navigator < "u" && (navigator.maxTouchPoints ?? 0) > 1;
198
198
  }
199
- function _o() {
199
+ function ko() {
200
200
  var o;
201
201
  if (typeof navigator > "u")
202
202
  return "unknown";
@@ -207,26 +207,26 @@ function _o() {
207
207
  if (e.includes("ios"))
208
208
  return "ios";
209
209
  if (e.includes("mac"))
210
- return ss() ? "ios" : "macos";
210
+ return os() ? "ios" : "macos";
211
211
  if (e.includes("windows"))
212
212
  return "windows";
213
213
  if (e.includes("linux"))
214
214
  return "linux";
215
215
  }
216
216
  const t = navigator.userAgent ?? "";
217
- return /android/i.test(t) ? "android" : /iphone|ipod|ipad/i.test(t) ? "ios" : /macintosh|mac os x/i.test(t) ? ss() ? "ios" : "macos" : /windows/i.test(t) ? "windows" : /linux/i.test(t) ? "linux" : "unknown";
217
+ return /android/i.test(t) ? "android" : /iphone|ipod|ipad/i.test(t) ? "ios" : /macintosh|mac os x/i.test(t) ? os() ? "ios" : "macos" : /windows/i.test(t) ? "windows" : /linux/i.test(t) ? "linux" : "unknown";
218
218
  }
219
- let ko;
220
- function Co() {
221
- return ko ?? (ko = _o());
219
+ let Co;
220
+ function So() {
221
+ return Co ?? (Co = ko());
222
222
  }
223
223
  function Re(s) {
224
- return Gt() && window.matchMedia(s).matches;
224
+ return Xt() && window.matchMedia(s).matches;
225
225
  }
226
- function Xt() {
227
- if (!Gt())
228
- return { ...Ps };
229
- const s = Re("(any-pointer: coarse)"), e = Re("(pointer: coarse)"), t = Re("(pointer: fine)"), o = Re("(hover: hover)"), i = e ? "coarse" : t ? "fine" : "none", r = window.innerWidth, n = window.innerHeight, a = Co();
226
+ function qt() {
227
+ if (!Xt())
228
+ return { ...Ms };
229
+ const s = Re("(any-pointer: coarse)"), e = Re("(pointer: coarse)"), t = Re("(pointer: fine)"), o = Re("(hover: hover)"), i = e ? "coarse" : t ? "fine" : "none", r = window.innerWidth, n = window.innerHeight, a = So();
230
230
  return {
231
231
  pointer: i,
232
232
  hasCoarsePointer: s,
@@ -235,42 +235,42 @@ function Xt() {
235
235
  orientation: Re("(orientation: portrait)") ? "portrait" : "landscape",
236
236
  viewportWidth: r,
237
237
  viewportHeight: n,
238
- breakpoint: xo(r),
238
+ breakpoint: _o(r),
239
239
  os: a,
240
240
  isApple: a === "ios" || a === "macos",
241
241
  isAndroid: a === "android"
242
242
  };
243
243
  }
244
- function So(s, e) {
244
+ function To(s, e) {
245
245
  return s.pointer === e.pointer && s.hasCoarsePointer === e.hasCoarsePointer && s.canHover === e.canHover && s.isTouchPrimary === e.isTouchPrimary && s.orientation === e.orientation && s.viewportWidth === e.viewportWidth && s.viewportHeight === e.viewportHeight && s.breakpoint === e.breakpoint;
246
246
  }
247
- function Et() {
248
- const s = Xt();
249
- if (!(Ce && So(Ce, s))) {
247
+ function At() {
248
+ const s = qt();
249
+ if (!(Ce && To(Ce, s))) {
250
250
  Ce = s;
251
251
  for (const e of [...Fe])
252
252
  e(s);
253
253
  }
254
254
  }
255
- const ut = () => Et(), Ms = () => {
255
+ const ut = () => At(), Ls = () => {
256
256
  if (typeof requestAnimationFrame == "function") {
257
257
  if (lt)
258
258
  return;
259
259
  lt = !0, requestAnimationFrame(() => {
260
- lt = !1, Et();
260
+ lt = !1, At();
261
261
  });
262
262
  } else
263
- Et();
263
+ At();
264
264
  };
265
- function To(s) {
265
+ function Io(s) {
266
266
  typeof s.addEventListener == "function" ? s.addEventListener("change", ut) : typeof s.addListener == "function" && s.addListener(ut);
267
267
  }
268
268
  function Oo(s) {
269
269
  typeof s.removeEventListener == "function" ? s.removeEventListener("change", ut) : typeof s.removeListener == "function" && s.removeListener(ut);
270
270
  }
271
- function Io() {
272
- if (!Gt()) {
273
- Ce = { ...Ps };
271
+ function Po() {
272
+ if (!Xt()) {
273
+ Ce = { ...Ms };
274
274
  return;
275
275
  }
276
276
  ht = [
@@ -281,49 +281,49 @@ function Io() {
281
281
  window.matchMedia("(orientation: portrait)")
282
282
  ];
283
283
  for (const s of ht)
284
- To(s);
285
- typeof window.addEventListener == "function" && window.addEventListener("resize", Ms), Ce = Xt();
284
+ Io(s);
285
+ typeof window.addEventListener == "function" && window.addEventListener("resize", Ls), Ce = qt();
286
286
  }
287
- function Po() {
287
+ function Mo() {
288
288
  for (const s of ht)
289
289
  Oo(s);
290
- ht = [], typeof window < "u" && typeof window.removeEventListener == "function" && window.removeEventListener("resize", Ms), lt = !1, Ce = null;
290
+ ht = [], typeof window < "u" && typeof window.removeEventListener == "function" && window.removeEventListener("resize", Ls), lt = !1, Ce = null;
291
291
  }
292
- function At() {
293
- return Ce ?? Xt();
292
+ function zt() {
293
+ return Ce ?? qt();
294
294
  }
295
- function Mo(s, e = {}) {
295
+ function Lo(s, e = {}) {
296
296
  const t = Fe.size === 0;
297
- Fe.add(s), t && Io(), e.immediate !== !1 && s(At());
297
+ Fe.add(s), t && Po(), e.immediate !== !1 && s(zt());
298
298
  let o = !0;
299
299
  return () => {
300
- o && (o = !1, Fe.delete(s), Fe.size === 0 && Po());
300
+ o && (o = !1, Fe.delete(s), Fe.size === 0 && Mo());
301
301
  };
302
302
  }
303
- const Lo = 600;
304
- function Eo(s) {
305
- return s.isTouchPrimary ? Math.min(s.viewportWidth, s.viewportHeight) < Lo ? "mobile" : "tablet" : "desktop";
303
+ const Eo = 600;
304
+ function Ao(s) {
305
+ return s.isTouchPrimary ? Math.min(s.viewportWidth, s.viewportHeight) < Eo ? "mobile" : "tablet" : "desktop";
306
306
  }
307
307
  const mt = /* @__PURE__ */ new Map();
308
- function Ao(s, e) {
308
+ function zo(s, e) {
309
309
  let t = mt.get(s);
310
310
  t || mt.set(s, t = /* @__PURE__ */ new Set()), t.add(e);
311
311
  }
312
- function zo(s, e) {
312
+ function No(s, e) {
313
313
  var t;
314
314
  (t = mt.get(s)) == null || t.delete(e);
315
315
  }
316
316
  function Do(s) {
317
317
  return Array.from(mt.get(s) ?? []);
318
318
  }
319
- const Ls = /* @__PURE__ */ new Map();
319
+ const Es = /* @__PURE__ */ new Map();
320
320
  function $o(s, e) {
321
- Ls.set(s.toLowerCase(), e);
321
+ Es.set(s.toLowerCase(), e);
322
322
  }
323
323
  function Vo(s) {
324
- return Ls.get(s.toLowerCase());
324
+ return Es.get(s.toLowerCase());
325
325
  }
326
- function No(s, e, t, o = {}) {
326
+ function Ro(s, e, t, o = {}) {
327
327
  return s.dispatchEvent(new CustomEvent(e, {
328
328
  detail: t,
329
329
  bubbles: o.bubbles ?? !0,
@@ -331,29 +331,29 @@ function No(s, e, t, o = {}) {
331
331
  cancelable: o.cancelable ?? !1
332
332
  }));
333
333
  }
334
- function Ro(s) {
335
- return s.split(/[-_]/).filter(Boolean).map((e) => e[0].toUpperCase() + e.slice(1)).join("");
336
- }
337
334
  function Ho(s) {
338
- return `on${Ro(s)}`;
335
+ return s.split(/[-_]/).filter(Boolean).map((e) => e[0].toUpperCase() + e.slice(1)).join("");
339
336
  }
340
337
  function Bo(s) {
338
+ return `on${Ho(s)}`;
339
+ }
340
+ function Ko(s) {
341
341
  return s ? s.map((e) => {
342
- const t = typeof e == "string" ? { name: e } : e, o = t.property === !1 ? null : t.property ?? Ho(t.name);
342
+ const t = typeof e == "string" ? { name: e } : e, o = t.property === !1 ? null : t.property ?? Bo(t.name);
343
343
  return { name: t.name, property: o, bubbles: t.bubbles, composed: t.composed, cancelable: t.cancelable };
344
344
  }) : [];
345
345
  }
346
- const Ko = typeof HTMLElement < "u" ? HTMLElement : class {
347
- }, os = /* @__PURE__ */ new WeakSet();
348
- let Fo = 0;
349
- const Wo = { trace() {
346
+ const Fo = typeof HTMLElement < "u" ? HTMLElement : class {
347
+ }, is = /* @__PURE__ */ new WeakSet();
348
+ let Wo = 0;
349
+ const jo = { trace() {
350
350
  }, debug() {
351
351
  }, info() {
352
352
  }, warn() {
353
353
  }, error() {
354
- } }, jo = new Proxy({}, { get: () => Wo });
355
- var he, Je, ve, Qe, ye, Ze, yt, we, ue, xe, _e, Pe, Me, Le, Ee, wt, se, Ae, T, Es, As, zs, Y, Ds, $s, Dt, $t, We, Vt, Vs;
356
- const Xe = class Xe extends Ko {
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;
356
+ const Xe = class Xe extends Fo {
357
357
  constructor() {
358
358
  super();
359
359
  E(this, T);
@@ -363,7 +363,7 @@ const Xe = class Xe extends Ko {
363
363
  E(this, Qe, /* @__PURE__ */ new Map());
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
- E(this, Ze, vo());
366
+ E(this, Ze, yo());
367
367
  E(this, yt, () => x(this, T, Vt).call(this));
368
368
  E(this, we, null);
369
369
  E(this, ue, !1);
@@ -386,13 +386,13 @@ const Xe = class Xe extends Ko {
386
386
  E(this, wt);
387
387
  E(this, se);
388
388
  E(this, Ae);
389
- const t = this.constructor, o = t.inputs ?? [], i = Bo(t.events);
390
- x(this, T, zs).call(this, o, i);
389
+ const t = this.constructor, o = t.inputs ?? [], i = Ko(t.events);
390
+ x(this, T, Ns).call(this, o, i);
391
391
  for (const r of o)
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, Es).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, Ds).call(this, o), x(this, T, $s).call(this, i);
396
396
  }
397
397
  static get observedAttributes() {
398
398
  const t = (this.inputs ?? []).filter((o) => o.attribute).map((o) => o.attribute);
@@ -412,18 +412,18 @@ const Xe = class Xe extends Ko {
412
412
  return;
413
413
  let n;
414
414
  try {
415
- n = go(r, i, this);
415
+ n = bo(r, i, this);
416
416
  } catch (l) {
417
- x(this, T, Y).call(this, `converter for "${r.configKey}" threw parsing attribute ${t}="${i}"; using default`, l), n = x(this, T, As).call(this, r);
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
419
  x(this, T, $t).call(this, n);
420
420
  }
421
421
  connectedCallback() {
422
- Ao(this.localName, this), p(this, _e) || (D(this, _e, !0), D(this, Pe, null), D(this, ue, !0)), x(this, T, We).call(this), this.connect(), this.environmentChanged !== Xe.prototype.environmentChanged && D(this, Le, Mo((t) => this.environmentChanged(t)));
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)));
423
423
  }
424
424
  disconnectedCallback() {
425
425
  var t;
426
- zo(this.localName, this), (t = p(this, Le)) == null || t.call(this), D(this, Le, void 0), this.disconnect();
426
+ No(this.localName, this), (t = p(this, Le)) == null || t.call(this), N(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. */
@@ -492,9 +492,9 @@ const Xe = class Xe extends Ko {
492
492
  return p(this, Ae);
493
493
  const t = Vo(this.localName);
494
494
  if (!t)
495
- return jo;
496
- const o = p(this, wt) ?? D(this, wt, `${this.localName}#${this.id || ++Fo}`);
497
- return D(this, Ae, t.forInstance(o, () => p(this, se)));
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)));
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 Ko {
502
502
  * picks one instance. Pairs with {@link disableLogging}.
503
503
  */
504
504
  enableLogging(t = "debug") {
505
- D(this, se, t);
505
+ N(this, se, t);
506
506
  }
507
507
  /** Clear this element's logging override (falls back to the type-level level). */
508
508
  disableLogging() {
509
- D(this, se, void 0);
509
+ N(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 Ko {
596
596
  if (typeof this.attachInternals != "function")
597
597
  return null;
598
598
  try {
599
- return D(this, Ee, this.attachInternals());
599
+ return N(this, Ee, this.attachInternals());
600
600
  } catch {
601
601
  return null;
602
602
  }
@@ -627,7 +627,7 @@ const Xe = class Xe extends Ko {
627
627
  */
628
628
  emit(t, o, i) {
629
629
  const r = p(this, Qe).get(t);
630
- return No(this, t, o, {
630
+ return Ro(this, t, o, {
631
631
  bubbles: (i == null ? void 0 : i.bubbles) ?? (r == null ? void 0 : r.bubbles),
632
632
  composed: (i == null ? void 0 : i.composed) ?? (r == null ? void 0 : r.composed),
633
633
  cancelable: (i == null ? void 0 : i.cancelable) ?? (r == null ? void 0 : r.cancelable)
@@ -666,7 +666,7 @@ const Xe = class Xe extends Ko {
666
666
  }
667
667
  };
668
668
  he = new WeakMap(), Je = new WeakMap(), ve = new WeakMap(), Qe = new WeakMap(), ye = new WeakMap(), Ze = new WeakMap(), yt = new WeakMap(), we = new WeakMap(), ue = new WeakMap(), xe = new WeakMap(), _e = new WeakMap(), Pe = new WeakMap(), Me = new WeakMap(), Le = new WeakMap(), Ee = new WeakMap(), wt = new WeakMap(), se = new WeakMap(), Ae = new WeakMap(), T = new WeakSet(), // ── internals ─────────────────────────────────────────────────────────────
669
- Es = function(t) {
669
+ As = function(t) {
670
670
  var o;
671
671
  for (const i of t) {
672
672
  let r = i.default;
@@ -678,15 +678,15 @@ Es = function(t) {
678
678
  }
679
679
  p(this, he)[i.configKey] = r, i.field && (this[i.field] = r);
680
680
  }
681
- }, As = function(t) {
681
+ }, zs = function(t) {
682
682
  return { configKey: t.configKey, field: t.field, value: t.default, on: t.on ?? "update" };
683
683
  }, /** Sanity-check the input + event tables once per class; warn (never throw) on mistakes. */
684
- zs = function(t, o) {
684
+ Ns = function(t, o) {
685
685
  var l;
686
686
  const i = this.constructor;
687
- if (os.has(i))
687
+ if (is.has(i))
688
688
  return;
689
- os.add(i);
689
+ is.add(i);
690
690
  const r = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
691
691
  for (const c of t)
692
692
  r.has(c.configKey) && x(this, T, Y).call(this, `invalid input table: duplicate configKey "${c.configKey}"`), r.add(c.configKey), c.attribute && (n.has(c.attribute) && x(this, T, Y).call(this, `invalid input table: duplicate attribute "${c.attribute}"`), n.add(c.attribute)), c.reflect && !c.attribute && x(this, T, Y).call(this, `invalid input table: "${c.configKey}" has reflect:true but no attribute to reflect to`), c.reflect && !((l = c.converter) != null && l.toAttribute) && x(this, T, Y).call(this, `invalid input table: "${c.configKey}" has reflect:true but its converter has no toAttribute`);
@@ -708,7 +708,7 @@ Y = function(t, ...o) {
708
708
  enumerable: !0,
709
709
  get: () => p(this, he)[i],
710
710
  set: (a) => x(this, T, Dt).call(this, o, a)
711
- }), r && ((p(this, Pe) ?? D(this, Pe, /* @__PURE__ */ new Set())).add(i), this[i] = n);
711
+ }), r && ((p(this, Pe) ?? N(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
@@ -737,22 +737,22 @@ $s = function(t) {
737
737
  }
738
738
  }, Dt = function(t, o) {
739
739
  var r;
740
- const i = bo(t, o);
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
745
  if (x(this, T, $t).call(this, i), t.reflect && t.attribute && ((r = t.converter) != null && r.toAttribute)) {
746
746
  const n = t.converter.toAttribute(i.value);
747
- D(this, Me, !0);
747
+ N(this, Me, !0);
748
748
  try {
749
749
  n === null ? this.removeAttribute(t.attribute) : this.setAttribute(t.attribute, n);
750
750
  } finally {
751
- D(this, Me, !1);
751
+ N(this, Me, !1);
752
752
  }
753
753
  }
754
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" && D(this, ue, !0), (p(this, we) ?? D(this, we, {}))[t.configKey] = t.value, p(this, Ze).schedule(p(this, yt)));
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)));
756
756
  }, /** Cancel any queued microtask and flush pending changes synchronously now. */
757
757
  We = function() {
758
758
  p(this, Ze).cancel(), x(this, T, Vt).call(this);
@@ -760,13 +760,13 @@ We = function() {
760
760
  if (!this.isConnected)
761
761
  return;
762
762
  const t = p(this, ue), o = p(this, we);
763
- D(this, ue, !1), D(this, we, null), t ? this.reinit() : o && Object.keys(o).length > 0 && this.update(o), x(this, T, Vs).call(this);
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);
764
764
  }, /** Resolve everyone awaiting {@link whenSettled} for the flush that just ran. */
765
765
  Vs = function() {
766
766
  if (p(this, xe).length === 0)
767
767
  return;
768
768
  const t = p(this, xe);
769
- D(this, xe, []);
769
+ N(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. */
@@ -776,11 +776,11 @@ m(Xe, "inputs"), /**
776
776
  * {@link emit} can fire and installs a managed `on<Name>` handler property.
777
777
  */
778
778
  m(Xe, "events");
779
- let zt = Xe;
780
- function is(s, e, t) {
779
+ let Nt = Xe;
780
+ function rs(s, e, t) {
781
781
  typeof customElements > "u" || customElements.get(s) || customElements.define(s, e, t);
782
782
  }
783
- function Uo(s) {
783
+ function Go(s) {
784
784
  return {
785
785
  enableLogging: (e) => s.enableLogging(e),
786
786
  disableLogging: () => s.disableLogging(),
@@ -789,21 +789,21 @@ function Uo(s) {
789
789
  getCategories: () => [...s.LOGGING_CATEGORIES]
790
790
  };
791
791
  }
792
- function Go(s, e, t) {
792
+ function Xo(s, e, t) {
793
793
  const { config: o, logging: i, shouldAutoDefine: r = !0 } = t;
794
794
  i && $o(s, i);
795
795
  const n = {
796
796
  version: () => o.version,
797
797
  config: o,
798
- ...i ? { logging: Uo(i) } : {},
799
- register: () => is(s, e),
798
+ ...i ? { logging: Go(i) } : {},
799
+ register: () => rs(s, e),
800
800
  getInstances: () => Do(s)
801
801
  };
802
- return typeof window < "u" && ((window.components ?? (window.components = {}))[s] = n), r && is(s, e), n;
802
+ return typeof window < "u" && ((window.components ?? (window.components = {}))[s] = n), r && rs(s, e), n;
803
803
  }
804
- const rs = /* @__PURE__ */ new Map(), ns = /* @__PURE__ */ new WeakMap();
804
+ const ns = /* @__PURE__ */ new Map(), as = /* @__PURE__ */ new WeakMap();
805
805
  let ot;
806
- function Xo(s) {
806
+ function qo(s) {
807
807
  if (typeof CSSStyleSheet > "u" || !("adoptedStyleSheets" in s))
808
808
  return !1;
809
809
  if (ot === void 0)
@@ -814,20 +814,20 @@ function Xo(s) {
814
814
  }
815
815
  return ot;
816
816
  }
817
- function qo(s, ...e) {
817
+ function Yo(s, ...e) {
818
818
  if (typeof document > "u")
819
819
  return;
820
- let t = ns.get(s);
821
- t || ns.set(s, t = /* @__PURE__ */ new Set());
820
+ let t = as.get(s);
821
+ t || as.set(s, t = /* @__PURE__ */ new Set());
822
822
  const o = e.filter((r) => r && !t.has(r));
823
823
  if (o.length === 0)
824
824
  return;
825
825
  for (const r of o)
826
826
  t.add(r);
827
- if (Xo(s)) {
827
+ if (qo(s)) {
828
828
  const r = o.map((n) => {
829
- let a = rs.get(n);
830
- return a || (a = new CSSStyleSheet(), a.replaceSync(n), rs.set(n, a)), a;
829
+ let a = ns.get(n);
830
+ return a || (a = new CSSStyleSheet(), a.replaceSync(n), ns.set(n, a)), a;
831
831
  });
832
832
  s.adoptedStyleSheets = [...s.adoptedStyleSheets, ...r];
833
833
  return;
@@ -838,7 +838,7 @@ function qo(s, ...e) {
838
838
  n.textContent = r, i.appendChild(n);
839
839
  }
840
840
  }
841
- function Yo(s, e = {}) {
841
+ function Jo(s, e = {}) {
842
842
  const t = e.position ?? "last", o = s.head ?? s;
843
843
  let i = null;
844
844
  const r = () => typeof document > "u" ? null : (i || (i = document.createElement("style"), e.className && (i.className = e.className)), i.parentNode !== o && (t === "first" && o.firstChild ? o.insertBefore(i, o.firstChild) : o.appendChild(i)), i), n = () => {
@@ -859,48 +859,55 @@ function Yo(s, e = {}) {
859
859
  }
860
860
  };
861
861
  }
862
- function Ns(s) {
862
+ function Rs(s) {
863
863
  return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
864
864
  }
865
- function Jo(s, e) {
866
- const t = /* @__PURE__ */ new Set(), o = new RegExp(`var\\(\\s*(${Ns(e)}[a-z0-9-]+)`, "gi");
865
+ function Qo(s, e) {
866
+ const t = /* @__PURE__ */ new Set(), o = new RegExp(`var\\(\\s*(${Rs(e)}[a-z0-9-]+)`, "gi");
867
867
  let i;
868
868
  for (; i = o.exec(s); )
869
869
  i[1] && t.add(i[1]);
870
870
  return t;
871
871
  }
872
- function Qo(s, e) {
873
- const t = /* @__PURE__ */ new Set(), o = new RegExp(`(${Ns(e)}[a-z0-9-]+)\\s*:`, "gi");
872
+ function Zo(s, e) {
873
+ const t = /* @__PURE__ */ new Set(), o = new RegExp(`(${Rs(e)}[a-z0-9-]+)\\s*:`, "gi");
874
874
  let i;
875
875
  for (; i = o.exec(s); )
876
876
  i[1] && t.add(i[1]);
877
877
  return [...t];
878
878
  }
879
- function Zo(s, e, t = {}) {
879
+ function ei(s, e, t = {}) {
880
880
  const o = t.minScore ?? 3, i = t.limit ?? 3, r = new Set(s.split("-").filter(Boolean));
881
881
  return [...e].map((n) => ({ k: n, score: n.split("-").filter((a) => r.has(a)).length })).filter((n) => n.score >= o).sort((n, a) => a.score - n.score).slice(0, i).map((n) => n.k);
882
882
  }
883
- function ei(s, e) {
883
+ function ti(s, e) {
884
884
  if (e.consumed.size === 0)
885
885
  return [];
886
886
  const t = [];
887
- for (const o of Qo(s, e.prefix))
888
- e.consumed.has(o) || t.push({ name: o, suggestions: Zo(o, e.consumed, { minScore: e.minScore }) });
887
+ for (const o of Zo(s, e.prefix))
888
+ e.consumed.has(o) || t.push({ name: o, suggestions: ei(o, e.consumed, { minScore: e.minScore }) });
889
889
  return t;
890
890
  }
891
- const ti = {
891
+ const si = {
892
892
  mobile: "fullscreen",
893
893
  tablet: "floating",
894
894
  desktop: "floating"
895
895
  };
896
- function si(s, e, t = {}) {
896
+ function oi(s, e, t = {}) {
897
897
  if (s !== "auto")
898
898
  return s;
899
- const o = Eo(e);
900
- return t[o] ?? ti[o];
899
+ const o = Ao(e);
900
+ return t[o] ?? si[o];
901
+ }
902
+ function Ot(s) {
903
+ return {
904
+ presentation: s,
905
+ isFullscreen: s === "fullscreen",
906
+ isModal: s === "modal"
907
+ };
901
908
  }
902
909
  let He = 0, it = null;
903
- function oi() {
910
+ function ii() {
904
911
  if (typeof document > "u")
905
912
  return () => {
906
913
  };
@@ -910,7 +917,7 @@ function oi() {
910
917
  s || (s = !0, He = Math.max(0, He - 1), He === 0 && it !== null && (document.body.style.overflow = it, it = null));
911
918
  };
912
919
  }
913
- function ii(s) {
920
+ function ri(s) {
914
921
  const e = typeof window < "u" ? window.visualViewport : null;
915
922
  if (!e)
916
923
  return () => {
@@ -932,20 +939,20 @@ const j = {
932
939
  WARN: 3,
933
940
  ERROR: 4,
934
941
  SILENT: 5
935
- }, as = ["trace", "debug", "info", "warn", "error"], pt = () => {
942
+ }, ls = ["trace", "debug", "info", "warn", "error"], pt = () => {
936
943
  };
937
- let ri = "km-log";
938
- function ls(s) {
944
+ let ni = "km-log";
945
+ function cs(s) {
939
946
  const t = console[s];
940
947
  return typeof t == "function" ? t.bind(console) : pt;
941
948
  }
942
- function ni(s) {
949
+ function ai(s) {
943
950
  if (s === "debug" && (s = "log"), typeof console > "u")
944
951
  return pt;
945
952
  const e = console;
946
- return e[s] !== void 0 ? ls(s) : e.log !== void 0 ? ls("log") : pt;
953
+ return e[s] !== void 0 ? cs(s) : e.log !== void 0 ? cs("log") : pt;
947
954
  }
948
- const ai = (s) => ni(s);
955
+ const li = (s) => ai(s);
949
956
  function Be(s) {
950
957
  let e = s;
951
958
  const t = j;
@@ -955,7 +962,7 @@ function Be(s) {
955
962
  }
956
963
  let de;
957
964
  const ft = {};
958
- class Rs {
965
+ class Hs {
959
966
  constructor(e, t) {
960
967
  m(this, "name");
961
968
  m(this, "levels", j);
@@ -978,13 +985,13 @@ class Rs {
978
985
  o != null && (this.userLevel = Be(o)), this.replaceLoggingMethods();
979
986
  }
980
987
  storageKey() {
981
- return typeof this.name == "string" ? `${ri}:${this.name}` : void 0;
988
+ return typeof this.name == "string" ? `${ni}:${this.name}` : void 0;
982
989
  }
983
990
  persist(e) {
984
991
  const t = this.storageKey();
985
992
  if (typeof window > "u" || !t)
986
993
  return;
987
- const o = (as[e] ?? "silent").toUpperCase();
994
+ const o = (ls[e] ?? "silent").toUpperCase();
988
995
  try {
989
996
  window.localStorage[t] = o;
990
997
  } catch {
@@ -1012,7 +1019,7 @@ class Rs {
1012
1019
  }
1013
1020
  replaceLoggingMethods() {
1014
1021
  const e = this.getLevel();
1015
- as.forEach((t, o) => {
1022
+ ls.forEach((t, o) => {
1016
1023
  this[t] = o < e ? pt : this.methodFactory(t, e, this.name);
1017
1024
  }), this.log = this.debug;
1018
1025
  }
@@ -1040,14 +1047,14 @@ class Rs {
1040
1047
  ft[e].rebuild();
1041
1048
  }
1042
1049
  }
1043
- de = new Rs(void 0, ai);
1044
- function li(s) {
1050
+ de = new Hs(void 0, li);
1051
+ function ci(s) {
1045
1052
  if (typeof s != "string" || s === "")
1046
1053
  throw new TypeError("You must supply a non-empty name when creating a logger.");
1047
1054
  let e = ft[s];
1048
- return e || (e = ft[s] = new Rs(s, de.methodFactory)), e;
1055
+ return e || (e = ft[s] = new Hs(s, de.methodFactory)), e;
1049
1056
  }
1050
- const ci = ["INIT", "DATA", "UI"], di = "debug", cs = [
1057
+ const di = ["INIT", "DATA", "UI"], hi = "debug", ds = [
1051
1058
  "#4c8bf5",
1052
1059
  // blue
1053
1060
  "#2ea043",
@@ -1064,43 +1071,43 @@ const ci = ["INIT", "DATA", "UI"], di = "debug", cs = [
1064
1071
  // teal
1065
1072
  "#8a6d3b"
1066
1073
  // brown
1067
- ], ds = /* @__PURE__ */ new WeakSet();
1068
- function hi(s, e, t) {
1069
- if (ds.has(s))
1074
+ ], hs = /* @__PURE__ */ new WeakSet();
1075
+ function ui(s, e, t) {
1076
+ if (hs.has(s))
1070
1077
  return;
1071
- ds.add(s);
1078
+ hs.add(s);
1072
1079
  const o = s.methodFactory, i = `color:${t};font-weight:bold`;
1073
1080
  s.methodFactory = (r, n, a) => {
1074
1081
  const l = o(r, n, a);
1075
1082
  return (...c) => l(`%c[${e}]`, i, ...c);
1076
1083
  }, s.setLevel(s.getLevel(), !1);
1077
1084
  }
1078
- function ui(s) {
1085
+ function mi(s) {
1079
1086
  return typeof s == "number" ? s : j[s.toUpperCase()] ?? j.SILENT;
1080
1087
  }
1081
- const mi = [
1088
+ const pi = [
1082
1089
  ["trace", j.TRACE, "debug"],
1083
1090
  ["debug", j.DEBUG, "debug"],
1084
1091
  ["info", j.INFO, "info"],
1085
1092
  ["warn", j.WARN, "warn"],
1086
1093
  ["error", j.ERROR, "error"]
1087
1094
  ];
1088
- function pi(s, e, t) {
1095
+ function fi(s, e, t) {
1089
1096
  const o = `color:${s.color};font-weight:bold`, i = "color:#888", r = {};
1090
- for (const [n, a, l] of mi)
1097
+ for (const [n, a, l] of pi)
1091
1098
  r[n] = (...c) => {
1092
- const d = t(), h = Math.min(s.logger.getLevel(), d == null ? j.SILENT : ui(d));
1099
+ const d = t(), h = Math.min(s.logger.getLevel(), d == null ? j.SILENT : mi(d));
1093
1100
  if (a < h)
1094
1101
  return;
1095
1102
  (console[l] ?? console.log).bind(console)(`%c[${s.label}]%c ${e}`, o, i, ...c);
1096
1103
  };
1097
1104
  return r;
1098
1105
  }
1099
- function fi(s, e = ci) {
1106
+ function gi(s, e = di) {
1100
1107
  const t = {}, o = {};
1101
1108
  e.forEach((r, n) => {
1102
- const a = `${s}:${r}`, l = cs[n % cs.length], c = li(a);
1103
- hi(c, a, l), t[r] = c, o[r] = { label: a, color: l, logger: c };
1109
+ const a = `${s}:${r}`, l = ds[n % ds.length], c = ci(a);
1110
+ ui(c, a, l), t[r] = c, o[r] = { label: a, color: l, logger: c };
1104
1111
  });
1105
1112
  const i = (r) => {
1106
1113
  for (const n of e)
@@ -1109,7 +1116,7 @@ function fi(s, e = ci) {
1109
1116
  return {
1110
1117
  loggers: t,
1111
1118
  LOGGING_CATEGORIES: e,
1112
- enableLogging(r = di) {
1119
+ enableLogging(r = hi) {
1113
1120
  i(r);
1114
1121
  },
1115
1122
  disableLogging() {
@@ -1125,7 +1132,7 @@ function fi(s, e = ci) {
1125
1132
  forInstance(r, n) {
1126
1133
  const a = {};
1127
1134
  for (const l of e)
1128
- a[l] = pi(o[l], r, n);
1135
+ a[l] = fi(o[l], r, n);
1129
1136
  return a;
1130
1137
  }
1131
1138
  };
@@ -1133,73 +1140,73 @@ function fi(s, e = ci) {
1133
1140
  const pe = Math.min, ie = Math.max, gt = Math.round, rt = Math.floor, re = (s) => ({
1134
1141
  x: s,
1135
1142
  y: s
1136
- }), gi = {
1143
+ }), bi = {
1137
1144
  left: "right",
1138
1145
  right: "left",
1139
1146
  bottom: "top",
1140
1147
  top: "bottom"
1141
1148
  };
1142
- function Hs(s, e, t) {
1149
+ function Bs(s, e, t) {
1143
1150
  return ie(s, pe(e, t));
1144
1151
  }
1145
- function $e(s, e) {
1152
+ function De(s, e) {
1146
1153
  return typeof s == "function" ? s(e) : s;
1147
1154
  }
1148
1155
  function Se(s) {
1149
1156
  return s.split("-")[0];
1150
1157
  }
1151
- function Ve(s) {
1158
+ function $e(s) {
1152
1159
  return s.split("-")[1];
1153
1160
  }
1154
- function Bs(s) {
1161
+ function Ks(s) {
1155
1162
  return s === "x" ? "y" : "x";
1156
1163
  }
1157
- function qt(s) {
1164
+ function Yt(s) {
1158
1165
  return s === "y" ? "height" : "width";
1159
1166
  }
1160
1167
  function oe(s) {
1161
1168
  const e = s[0];
1162
1169
  return e === "t" || e === "b" ? "y" : "x";
1163
1170
  }
1164
- function Yt(s) {
1165
- return Bs(oe(s));
1171
+ function Jt(s) {
1172
+ return Ks(oe(s));
1166
1173
  }
1167
- function bi(s, e, t) {
1174
+ function vi(s, e, t) {
1168
1175
  t === void 0 && (t = !1);
1169
- const o = Ve(s), i = Yt(s), r = qt(i);
1176
+ const o = $e(s), i = Jt(s), r = Yt(i);
1170
1177
  let n = i === "x" ? o === (t ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
1171
1178
  return e.reference[r] > e.floating[r] && (n = bt(n)), [n, bt(n)];
1172
1179
  }
1173
- function vi(s) {
1180
+ function yi(s) {
1174
1181
  const e = bt(s);
1175
- return [Nt(s), e, Nt(e)];
1182
+ return [Rt(s), e, Rt(e)];
1176
1183
  }
1177
- function Nt(s) {
1184
+ function Rt(s) {
1178
1185
  return s.includes("start") ? s.replace("start", "end") : s.replace("end", "start");
1179
1186
  }
1180
- const hs = ["left", "right"], us = ["right", "left"], yi = ["top", "bottom"], wi = ["bottom", "top"];
1181
- function xi(s, e, t) {
1187
+ const us = ["left", "right"], ms = ["right", "left"], wi = ["top", "bottom"], xi = ["bottom", "top"];
1188
+ function _i(s, e, t) {
1182
1189
  switch (s) {
1183
1190
  case "top":
1184
1191
  case "bottom":
1185
- return t ? e ? us : hs : e ? hs : us;
1192
+ return t ? e ? ms : us : e ? us : ms;
1186
1193
  case "left":
1187
1194
  case "right":
1188
- return e ? yi : wi;
1195
+ return e ? wi : xi;
1189
1196
  default:
1190
1197
  return [];
1191
1198
  }
1192
1199
  }
1193
- function _i(s, e, t, o) {
1194
- const i = Ve(s);
1195
- let r = xi(Se(s), t === "start", o);
1196
- return i && (r = r.map((n) => n + "-" + i), e && (r = r.concat(r.map(Nt)))), r;
1200
+ function ki(s, e, t, o) {
1201
+ const i = $e(s);
1202
+ let r = _i(Se(s), t === "start", o);
1203
+ return i && (r = r.map((n) => n + "-" + i), e && (r = r.concat(r.map(Rt)))), r;
1197
1204
  }
1198
1205
  function bt(s) {
1199
1206
  const e = Se(s);
1200
- return gi[e] + s.slice(e.length);
1207
+ return bi[e] + s.slice(e.length);
1201
1208
  }
1202
- function ki(s) {
1209
+ function Ci(s) {
1203
1210
  var e, t, o, i;
1204
1211
  return {
1205
1212
  top: (e = s.top) != null ? e : 0,
@@ -1208,8 +1215,8 @@ function ki(s) {
1208
1215
  left: (i = s.left) != null ? i : 0
1209
1216
  };
1210
1217
  }
1211
- function Ks(s) {
1212
- return typeof s != "number" ? ki(s) : {
1218
+ function Fs(s) {
1219
+ return typeof s != "number" ? Ci(s) : {
1213
1220
  top: s,
1214
1221
  right: s,
1215
1222
  bottom: s,
@@ -1234,12 +1241,12 @@ function vt(s) {
1234
1241
  y: t
1235
1242
  };
1236
1243
  }
1237
- function ms(s, e, t) {
1244
+ function ps(s, e, t) {
1238
1245
  let {
1239
1246
  reference: o,
1240
1247
  floating: i
1241
1248
  } = s;
1242
- const r = oe(e), n = Yt(e), a = qt(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;
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;
1243
1250
  let u;
1244
1251
  switch (l) {
1245
1252
  case "top":
@@ -1272,10 +1279,10 @@ function ms(s, e, t) {
1272
1279
  y: o.y
1273
1280
  };
1274
1281
  }
1275
- const g = Ve(e);
1282
+ const g = $e(e);
1276
1283
  return g && (u[n] += f * (g === "end" ? 1 : -1) * (t && c ? -1 : 1)), u;
1277
1284
  }
1278
- async function Ci(s, e) {
1285
+ async function Si(s, e) {
1279
1286
  var t;
1280
1287
  e === void 0 && (e = {});
1281
1288
  const {
@@ -1291,7 +1298,7 @@ async function Ci(s, e) {
1291
1298
  elementContext: h = "floating",
1292
1299
  altBoundary: f = !1,
1293
1300
  padding: u = 0
1294
- } = $e(e, s), g = Ks(u), y = a[f ? h === "floating" ? "reference" : "floating" : h], v = vt(await r.getClippingRect({
1301
+ } = De(e, s), g = Fs(u), y = a[f ? h === "floating" ? "reference" : "floating" : h], v = vt(await r.getClippingRect({
1295
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)),
1296
1303
  boundary: c,
1297
1304
  rootBoundary: d,
@@ -1317,7 +1324,7 @@ async function Ci(s, e) {
1317
1324
  right: (M.right - v.right + g.right) / P.x
1318
1325
  };
1319
1326
  }
1320
- const Si = 50, Ti = async (s, e, t) => {
1327
+ const Ti = 50, Ii = async (s, e, t) => {
1321
1328
  const {
1322
1329
  placement: o = "bottom",
1323
1330
  strategy: i = "absolute",
@@ -1325,7 +1332,7 @@ const Si = 50, Ti = async (s, e, t) => {
1325
1332
  platform: n
1326
1333
  } = t, a = n.detectOverflow ? n : {
1327
1334
  ...n,
1328
- detectOverflow: Ci
1335
+ detectOverflow: Si
1329
1336
  }, l = await (n.isRTL == null ? void 0 : n.isRTL(e));
1330
1337
  let c = await n.getElementRects({
1331
1338
  reference: s,
@@ -1334,7 +1341,7 @@ const Si = 50, Ti = async (s, e, t) => {
1334
1341
  }), {
1335
1342
  x: d,
1336
1343
  y: h
1337
- } = ms(c, o, l), f = o, u = 0;
1344
+ } = ps(c, o, l), f = o, u = 0;
1338
1345
  const g = {};
1339
1346
  for (let b = 0; b < r.length; b++) {
1340
1347
  const y = r[b];
@@ -1347,7 +1354,7 @@ const Si = 50, Ti = async (s, e, t) => {
1347
1354
  x: k,
1348
1355
  y: P,
1349
1356
  data: M,
1350
- reset: V
1357
+ reset: $
1351
1358
  } = await w({
1352
1359
  x: d,
1353
1360
  y: h,
@@ -1365,14 +1372,14 @@ const Si = 50, Ti = async (s, e, t) => {
1365
1372
  d = k ?? d, h = P ?? h, g[v] = {
1366
1373
  ...g[v],
1367
1374
  ...M
1368
- }, V && u < Si && (u++, typeof V == "object" && (V.placement && (f = V.placement), V.rects && (c = V.rects === !0 ? await n.getElementRects({
1375
+ }, $ && u < Ti && (u++, typeof $ == "object" && ($.placement && (f = $.placement), $.rects && (c = $.rects === !0 ? await n.getElementRects({
1369
1376
  reference: s,
1370
1377
  floating: e,
1371
1378
  strategy: i
1372
- }) : V.rects), {
1379
+ }) : $.rects), {
1373
1380
  x: d,
1374
1381
  y: h
1375
- } = ms(c, f, l)), b = -1);
1382
+ } = ps(c, f, l)), b = -1);
1376
1383
  }
1377
1384
  return {
1378
1385
  x: d,
@@ -1396,21 +1403,21 @@ const Si = 50, Ti = async (s, e, t) => {
1396
1403
  } = e, {
1397
1404
  element: c,
1398
1405
  padding: d = 0
1399
- } = $e(s, e) || {};
1406
+ } = De(s, e) || {};
1400
1407
  if (c == null)
1401
1408
  return {};
1402
- const h = Ks(d), f = {
1409
+ const h = Fs(d), f = {
1403
1410
  x: t,
1404
1411
  y: o
1405
- }, u = Yt(i), g = qt(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], V = await (n.getOffsetParent == null ? void 0 : n.getOffsetParent(c));
1406
- let R = V ? V[k] : 0;
1407
- (!R || !await (n.isElement == null ? void 0 : n.isElement(V))) && (R = a.floating[k] || r.floating[g]);
1408
- const G = P / 2 - M / 2, L = R / 2 - b[g] / 2 - 1, C = pe(h[v], L), O = pe(h[w], L), I = R - b[g] - O, N = R / 2 - b[g] / 2 + G, S = Hs(C, N, I), H = !l.arrow && Ve(i) != null && N !== S && r.reference[g] / 2 - (N < C ? C : O) - b[g] / 2 < 0, te = H ? N < C ? N - C : N - I : 0;
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;
1409
1416
  return {
1410
1417
  [u]: f[u] + te,
1411
1418
  data: {
1412
1419
  [u]: S,
1413
- centerOffset: N - S - te,
1420
+ centerOffset: V - S - te,
1414
1421
  ...H && {
1415
1422
  alignmentOffset: te
1416
1423
  }
@@ -1418,7 +1425,7 @@ const Si = 50, Ti = async (s, e, t) => {
1418
1425
  reset: H
1419
1426
  };
1420
1427
  }
1421
- }), Ii = function(s) {
1428
+ }), Pi = function(s) {
1422
1429
  return s === void 0 && (s = {}), {
1423
1430
  name: "flip",
1424
1431
  options: s,
@@ -1439,23 +1446,23 @@ const Si = 50, Ti = async (s, e, t) => {
1439
1446
  fallbackAxisSideDirection: g = "none",
1440
1447
  flipAlignment: b = !0,
1441
1448
  ...y
1442
- } = $e(s, e);
1449
+ } = De(s, e);
1443
1450
  if ((t = r.arrow) != null && t.alignmentOffset)
1444
1451
  return {};
1445
- 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)] : vi(a)), V = g !== "none";
1446
- !f && V && M.push(..._i(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)), $ = g !== "none";
1453
+ !f && $ && M.push(...ki(a, b, g, P));
1447
1454
  const R = [a, ...M], G = await l.detectOverflow(e, y), L = [];
1448
1455
  let C = ((o = r.flip) == null ? void 0 : o.overflows) || [];
1449
1456
  if (d && L.push(G[v]), h) {
1450
- const S = bi(i, n, P);
1457
+ const S = vi(i, n, P);
1451
1458
  L.push(G[S[0]], G[S[1]]);
1452
1459
  }
1453
1460
  if (C = [...C, {
1454
1461
  placement: i,
1455
1462
  overflows: L
1456
1463
  }], !L.every((S) => S <= 0)) {
1457
- var O, I;
1458
- const S = (((O = r.flip) == null ? void 0 : O.index) || 0) + 1, H = R[S];
1464
+ var I, O;
1465
+ const S = (((I = r.flip) == null ? void 0 : I.index) || 0) + 1, H = R[S];
1459
1466
  if (H && (!(h === "alignment" ? w !== oe(H) : !1) || // We leave the current main axis only if every placement on that axis
1460
1467
  // overflows the main axis.
1461
1468
  C.every((q) => oe(q.placement) === w ? q.overflows[0] > 0 : !0)))
@@ -1468,20 +1475,20 @@ const Si = 50, Ti = async (s, e, t) => {
1468
1475
  placement: H
1469
1476
  }
1470
1477
  };
1471
- let te = (I = C.filter((ge) => ge.overflows[0] <= 0).sort((ge, q) => ge.overflows[1] - q.overflows[1])[0]) == null ? void 0 : I.placement;
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;
1472
1479
  if (!te)
1473
1480
  switch (u) {
1474
1481
  case "bestFit": {
1475
- var N;
1476
- const ge = (N = C.filter((q) => {
1477
- if (V) {
1482
+ var V;
1483
+ const ge = (V = C.filter((q) => {
1484
+ if ($) {
1478
1485
  const le = oe(q.placement);
1479
1486
  return le === w || // Create a bias to the `y` side axis due to horizontal
1480
1487
  // reading directions favoring greater width.
1481
1488
  le === "y";
1482
1489
  }
1483
1490
  return !0;
1484
- }).map((q) => [q.placement, q.overflows.filter((le) => le > 0).reduce((le, ao) => le + ao, 0)]).sort((q, le) => q[1] - le[1])[0]) == null ? void 0 : N[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];
1485
1492
  ge && (te = ge);
1486
1493
  break;
1487
1494
  }
@@ -1499,13 +1506,13 @@ const Si = 50, Ti = async (s, e, t) => {
1499
1506
  return {};
1500
1507
  }
1501
1508
  };
1502
- }, Pi = /* @__PURE__ */ new Set(["left", "top"]);
1503
- async function Mi(s, e) {
1509
+ }, Mi = /* @__PURE__ */ new Set(["left", "top"]);
1510
+ async function Li(s, e) {
1504
1511
  const {
1505
1512
  placement: t,
1506
1513
  platform: o,
1507
1514
  elements: i
1508
- } = s, r = await (o.isRTL == null ? void 0 : o.isRTL(i.floating)), n = Se(t), a = Ve(t), l = oe(t) === "y", c = Pi.has(n) ? -1 : 1, d = r && l ? -1 : 1, h = $e(e, s);
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);
1509
1516
  let {
1510
1517
  mainAxis: f,
1511
1518
  crossAxis: u,
@@ -1527,7 +1534,7 @@ async function Mi(s, e) {
1527
1534
  y: u * d
1528
1535
  };
1529
1536
  }
1530
- const Li = function(s) {
1537
+ const Ei = function(s) {
1531
1538
  return s === void 0 && (s = 0), {
1532
1539
  name: "offset",
1533
1540
  options: s,
@@ -1538,7 +1545,7 @@ const Li = function(s) {
1538
1545
  y: r,
1539
1546
  placement: n,
1540
1547
  middlewareData: a
1541
- } = e, l = await Mi(e, s);
1548
+ } = e, l = await Li(e, s);
1542
1549
  return n === ((t = a.offset) == null ? void 0 : t.placement) && (o = a.arrow) != null && o.alignmentOffset ? {} : {
1543
1550
  x: i + l.x,
1544
1551
  y: r + l.y,
@@ -1549,7 +1556,7 @@ const Li = function(s) {
1549
1556
  };
1550
1557
  }
1551
1558
  };
1552
- }, Ei = function(s) {
1559
+ }, Ai = function(s) {
1553
1560
  return s === void 0 && (s = {}), {
1554
1561
  name: "shift",
1555
1562
  options: s,
@@ -1575,12 +1582,12 @@ const Li = function(s) {
1575
1582
  }
1576
1583
  },
1577
1584
  ...c
1578
- } = $e(s, e), d = {
1585
+ } = De(s, e), d = {
1579
1586
  x: t,
1580
1587
  y: o
1581
- }, h = await r.detectOverflow(e, c), f = oe(i), u = Bs(f);
1588
+ }, h = await r.detectOverflow(e, c), f = oe(i), u = Ks(f);
1582
1589
  let g = d[u], b = d[f];
1583
- const y = (w, k) => Hs(k + h[w === "y" ? "top" : "left"], k, k - h[w === "y" ? "bottom" : "right"]);
1590
+ const y = (w, k) => Bs(k + h[w === "y" ? "top" : "left"], k, k - h[w === "y" ? "bottom" : "right"]);
1584
1591
  n && (g = y(u, g)), a && (b = y(f, b));
1585
1592
  const v = l.fn({
1586
1593
  ...e,
@@ -1600,7 +1607,7 @@ const Li = function(s) {
1600
1607
  };
1601
1608
  }
1602
1609
  };
1603
- }, Ai = function(s) {
1610
+ }, zi = function(s) {
1604
1611
  return s === void 0 && (s = {}), {
1605
1612
  name: "size",
1606
1613
  options: s,
@@ -1614,18 +1621,18 @@ const Li = function(s) {
1614
1621
  apply: n = () => {
1615
1622
  },
1616
1623
  ...a
1617
- } = $e(s, e), l = await i.detectOverflow(e, a), c = Se(t), d = Ve(t), h = oe(t) === "y", {
1624
+ } = De(s, e), l = await i.detectOverflow(e, a), c = Se(t), d = $e(t), h = oe(t) === "y", {
1618
1625
  width: f,
1619
1626
  height: u
1620
1627
  } = o.floating;
1621
1628
  let g, b;
1622
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");
1623
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;
1624
- let V = w, R = k;
1625
- P != null && P.enabled.x && (R = v), P != null && P.enabled.y && (V = y), M && !d && (h ? R = f - 2 * ie(l.left, l.right) : V = u - 2 * ie(l.top, l.bottom)), await n({
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({
1626
1633
  ...e,
1627
1634
  availableWidth: R,
1628
- availableHeight: V
1635
+ availableHeight: $
1629
1636
  });
1630
1637
  const G = await i.getDimensions(r.floating);
1631
1638
  return f !== G.width || u !== G.height ? {
@@ -1639,8 +1646,8 @@ const Li = function(s) {
1639
1646
  function xt() {
1640
1647
  return typeof window < "u";
1641
1648
  }
1642
- function Ne(s) {
1643
- return Fs(s) ? (s.nodeName || "").toLowerCase() : "#document";
1649
+ function Ve(s) {
1650
+ return Ws(s) ? (s.nodeName || "").toLowerCase() : "#document";
1644
1651
  }
1645
1652
  function U(s) {
1646
1653
  var e;
@@ -1648,9 +1655,9 @@ function U(s) {
1648
1655
  }
1649
1656
  function ne(s) {
1650
1657
  var e;
1651
- return (e = (Fs(s) ? s.ownerDocument : s.document) || window.document) == null ? void 0 : e.documentElement;
1658
+ return (e = (Ws(s) ? s.ownerDocument : s.document) || window.document) == null ? void 0 : e.documentElement;
1652
1659
  }
1653
- function Fs(s) {
1660
+ function Ws(s) {
1654
1661
  return xt() ? s instanceof Node || s instanceof U(s).Node : !1;
1655
1662
  }
1656
1663
  function Z(s) {
@@ -1659,7 +1666,7 @@ function Z(s) {
1659
1666
  function fe(s) {
1660
1667
  return xt() ? s instanceof HTMLElement || s instanceof U(s).HTMLElement : !1;
1661
1668
  }
1662
- function ps(s) {
1669
+ function fs(s) {
1663
1670
  return !xt() || typeof ShadowRoot > "u" ? !1 : s instanceof ShadowRoot || s instanceof U(s).ShadowRoot;
1664
1671
  }
1665
1672
  function _t(s) {
@@ -1671,8 +1678,8 @@ function _t(s) {
1671
1678
  } = ee(s);
1672
1679
  return /auto|scroll|overlay|hidden|clip/.test(e + o + t) && i !== "inline" && i !== "contents";
1673
1680
  }
1674
- function zi(s) {
1675
- return /^(table|td|th)$/.test(Ne(s));
1681
+ function Ni(s) {
1682
+ return /^(table|td|th)$/.test(Ve(s));
1676
1683
  }
1677
1684
  function kt(s) {
1678
1685
  try {
@@ -1687,15 +1694,15 @@ function kt(s) {
1687
1694
  }
1688
1695
  }
1689
1696
  const Di = /transform|translate|scale|rotate|perspective|filter/, $i = /paint|layout|strict|content/, be = (s) => !!s && s !== "none";
1690
- let It;
1691
- function Jt(s) {
1697
+ let Pt;
1698
+ function Qt(s) {
1692
1699
  const e = Z(s) ? ee(s) : s;
1693
- return be(e.transform) || be(e.translate) || be(e.scale) || be(e.rotate) || be(e.perspective) || !Qt() && (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)) || Di.test(e.willChange || "") || $i.test(e.contain || "");
1694
1701
  }
1695
1702
  function Vi(s) {
1696
1703
  let e = Te(s);
1697
1704
  for (; fe(e) && !qe(e); ) {
1698
- if (Jt(e))
1705
+ if (Qt(e))
1699
1706
  return e;
1700
1707
  if (kt(e))
1701
1708
  return null;
@@ -1703,11 +1710,11 @@ function Vi(s) {
1703
1710
  }
1704
1711
  return null;
1705
1712
  }
1706
- function Qt() {
1707
- return It == null && (It = typeof CSS < "u" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none")), It;
1713
+ function Zt() {
1714
+ return Pt == null && (Pt = typeof CSS < "u" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none")), Pt;
1708
1715
  }
1709
1716
  function qe(s) {
1710
- return /^(html|body|#document)$/.test(Ne(s));
1717
+ return /^(html|body|#document)$/.test(Ve(s));
1711
1718
  }
1712
1719
  function ee(s) {
1713
1720
  return U(s).getComputedStyle(s);
@@ -1722,35 +1729,35 @@ function Ct(s) {
1722
1729
  };
1723
1730
  }
1724
1731
  function Te(s) {
1725
- if (Ne(s) === "html")
1732
+ if (Ve(s) === "html")
1726
1733
  return s;
1727
1734
  const e = (
1728
1735
  // Step into the shadow DOM of the parent of a slotted node.
1729
1736
  s.assignedSlot || // DOM Element detected.
1730
1737
  s.parentNode || // ShadowRoot detected.
1731
- ps(s) && s.host || // Fallback.
1738
+ fs(s) && s.host || // Fallback.
1732
1739
  ne(s)
1733
1740
  );
1734
- return ps(e) ? e.host : e;
1741
+ return fs(e) ? e.host : e;
1735
1742
  }
1736
- function Ws(s) {
1743
+ function js(s) {
1737
1744
  const e = Te(s);
1738
- return qe(e) ? (s.ownerDocument || s).body : fe(e) && _t(e) ? e : Ws(e);
1745
+ return qe(e) ? (s.ownerDocument || s).body : fe(e) && _t(e) ? e : js(e);
1739
1746
  }
1740
1747
  function Ye(s, e, t) {
1741
1748
  var o;
1742
1749
  e === void 0 && (e = []), t === void 0 && (t = !0);
1743
- const i = Ws(s), r = i === ((o = s.ownerDocument) == null ? void 0 : o.body), n = U(i);
1750
+ const i = js(s), r = i === ((o = s.ownerDocument) == null ? void 0 : o.body), n = U(i);
1744
1751
  if (r) {
1745
- const a = Rt(n);
1752
+ const a = Ht(n);
1746
1753
  return e.concat(n, n.visualViewport || [], _t(i) ? i : [], a && t ? Ye(a) : []);
1747
1754
  } else
1748
1755
  return e.concat(i, Ye(i, [], t));
1749
1756
  }
1750
- function Rt(s) {
1757
+ function Ht(s) {
1751
1758
  return s.parent && Object.getPrototypeOf(s.parent) ? s.frameElement : null;
1752
1759
  }
1753
- function js(s) {
1760
+ function Us(s) {
1754
1761
  const e = ee(s);
1755
1762
  let t = parseFloat(e.width) || 0, o = parseFloat(e.height) || 0;
1756
1763
  const i = fe(s), r = i ? s.offsetWidth : t, n = i ? s.offsetHeight : o, a = gt(t) !== r || gt(o) !== n;
@@ -1760,48 +1767,48 @@ function js(s) {
1760
1767
  $: a
1761
1768
  };
1762
1769
  }
1763
- function Zt(s) {
1770
+ function es(s) {
1764
1771
  return Z(s) ? s : s.contextElement;
1765
1772
  }
1766
- function Ie(s) {
1767
- const e = Zt(s);
1773
+ function Oe(s) {
1774
+ const e = es(s);
1768
1775
  if (!fe(e))
1769
1776
  return re(1);
1770
1777
  const t = e.getBoundingClientRect(), {
1771
1778
  width: o,
1772
1779
  height: i,
1773
1780
  $: r
1774
- } = js(e);
1781
+ } = Us(e);
1775
1782
  let n = (r ? gt(t.width) : t.width) / o, a = (r ? gt(t.height) : t.height) / i;
1776
1783
  return (!n || !Number.isFinite(n)) && (n = 1), (!a || !Number.isFinite(a)) && (a = 1), {
1777
1784
  x: n,
1778
1785
  y: a
1779
1786
  };
1780
1787
  }
1781
- const Ni = /* @__PURE__ */ re(0);
1782
- function Us(s) {
1788
+ const Ri = /* @__PURE__ */ re(0);
1789
+ function Gs(s) {
1783
1790
  const e = U(s);
1784
- return !Qt() || !e.visualViewport ? Ni : {
1791
+ return !Zt() || !e.visualViewport ? Ri : {
1785
1792
  x: e.visualViewport.offsetLeft,
1786
1793
  y: e.visualViewport.offsetTop
1787
1794
  };
1788
1795
  }
1789
- function Ri(s, e, t) {
1796
+ function Hi(s, e, t) {
1790
1797
  return e === void 0 && (e = !1), !!t && e && t === U(s);
1791
1798
  }
1792
- function Oe(s, e, t, o) {
1799
+ function Ie(s, e, t, o) {
1793
1800
  e === void 0 && (e = !1), t === void 0 && (t = !1);
1794
- const i = s.getBoundingClientRect(), r = Zt(s);
1801
+ const i = s.getBoundingClientRect(), r = es(s);
1795
1802
  let n = re(1);
1796
- e && (o ? Z(o) && (n = Ie(o)) : n = Ie(s));
1797
- const a = Ri(r, t, o) ? Us(r) : re(0);
1803
+ e && (o ? Z(o) && (n = Oe(o)) : n = Oe(s));
1804
+ const a = Hi(r, t, o) ? Gs(r) : re(0);
1798
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;
1799
1806
  if (r && o) {
1800
1807
  const f = U(r), u = Z(o) ? U(o) : o;
1801
- let g = f, b = Rt(g);
1808
+ let g = f, b = Ht(g);
1802
1809
  for (; b && u !== g; ) {
1803
- const y = Ie(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;
1804
- l *= y.x, c *= y.y, d *= y.x, h *= y.y, l += k, c += P, g = U(b), b = Rt(g);
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
+ l *= y.x, c *= y.y, d *= y.x, h *= y.y, l += k, c += P, g = U(b), b = Ht(g);
1805
1812
  }
1806
1813
  }
1807
1814
  return vt({
@@ -1813,16 +1820,16 @@ function Oe(s, e, t, o) {
1813
1820
  }
1814
1821
  function St(s, e) {
1815
1822
  const t = Ct(s).scrollLeft;
1816
- return e ? e.left + t : Oe(ne(s)).left + t;
1823
+ return e ? e.left + t : Ie(ne(s)).left + t;
1817
1824
  }
1818
- function Gs(s, e) {
1825
+ function Xs(s, e) {
1819
1826
  const t = s.getBoundingClientRect(), o = t.left + e.scrollLeft - St(s, t), i = t.top + e.scrollTop;
1820
1827
  return {
1821
1828
  x: o,
1822
1829
  y: i
1823
1830
  };
1824
1831
  }
1825
- function Hi(s) {
1832
+ function Bi(s) {
1826
1833
  let {
1827
1834
  elements: e,
1828
1835
  rect: t,
@@ -1837,11 +1844,11 @@ function Hi(s) {
1837
1844
  scrollTop: 0
1838
1845
  }, c = re(1);
1839
1846
  const d = re(0), h = fe(o);
1840
- if ((h || !r) && ((Ne(o) !== "body" || _t(n)) && (l = Ct(o)), h)) {
1841
- const u = Oe(o);
1842
- c = Ie(o), d.x = u.x + o.clientLeft, d.y = u.y + o.clientTop;
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;
1843
1850
  }
1844
- const f = n && !h && !r ? Gs(n, l) : re(0);
1851
+ const f = n && !h && !r ? Xs(n, l) : re(0);
1845
1852
  return {
1846
1853
  width: t.width * c.x,
1847
1854
  height: t.height * c.y,
@@ -1849,10 +1856,10 @@ function Hi(s) {
1849
1856
  y: t.y * c.y - l.scrollTop * c.y + d.y + f.y
1850
1857
  };
1851
1858
  }
1852
- function Bi(s) {
1859
+ function Ki(s) {
1853
1860
  return s.getClientRects ? Array.from(s.getClientRects()) : [];
1854
1861
  }
1855
- function Ki(s) {
1862
+ function Fi(s) {
1856
1863
  const e = Ct(s), t = s.ownerDocument.body, o = ie(s.scrollWidth, s.clientWidth, t.scrollWidth, t.clientWidth), i = ie(s.scrollHeight, s.clientHeight, t.scrollHeight, t.clientHeight);
1857
1864
  let r = -e.scrollLeft + St(s);
1858
1865
  const n = -e.scrollTop;
@@ -1863,18 +1870,18 @@ function Ki(s) {
1863
1870
  y: n
1864
1871
  };
1865
1872
  }
1866
- const Fi = 25;
1867
- function Wi(s, e, t) {
1873
+ const Wi = 25;
1874
+ function ji(s, e, t) {
1868
1875
  t === void 0 && (t = "viewport");
1869
1876
  const o = t === "layoutViewport", i = U(s), r = ne(s), n = i.visualViewport;
1870
1877
  let a = r.clientWidth, l = r.clientHeight, c = 0, d = 0;
1871
1878
  if (n) {
1872
- const f = !Qt() || e === "fixed";
1879
+ const f = !Zt() || e === "fixed";
1873
1880
  o ? f || (c = -n.offsetLeft, d = -n.offsetTop) : (a = n.width, l = n.height, f && (c = n.offsetLeft, d = n.offsetTop));
1874
1881
  }
1875
1882
  if (St(r) <= 0) {
1876
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;
1877
- v <= Fi && (a -= v);
1884
+ v <= Wi && (a -= v);
1878
1885
  }
1879
1886
  return {
1880
1887
  width: a,
@@ -1883,8 +1890,8 @@ function Wi(s, e, t) {
1883
1890
  y: d
1884
1891
  };
1885
1892
  }
1886
- function ji(s, e) {
1887
- const t = Oe(s, !0, e === "fixed"), o = t.top + s.clientTop, i = t.left + s.clientLeft, r = Ie(s), n = s.clientWidth * r.x, a = s.clientHeight * r.y, l = i * r.x, c = o * r.y;
1893
+ function Ui(s, e) {
1894
+ const t = Ie(s, !0, e === "fixed"), o = t.top + s.clientTop, i = t.left + s.clientLeft, r = Oe(s), n = s.clientWidth * r.x, a = s.clientHeight * r.y, l = i * r.x, c = o * r.y;
1888
1895
  return {
1889
1896
  width: n,
1890
1897
  height: a,
@@ -1892,16 +1899,16 @@ function ji(s, e) {
1892
1899
  y: c
1893
1900
  };
1894
1901
  }
1895
- function fs(s, e, t) {
1902
+ function gs(s, e, t) {
1896
1903
  let o;
1897
1904
  if (e === "viewport" || e === "layoutViewport")
1898
- o = Wi(s, t, e);
1905
+ o = ji(s, t, e);
1899
1906
  else if (e === "document")
1900
- o = Ki(ne(s));
1907
+ o = Fi(ne(s));
1901
1908
  else if (Z(e))
1902
- o = ji(e, t);
1909
+ o = Ui(e, t);
1903
1910
  else {
1904
- const i = Us(s);
1911
+ const i = Gs(s);
1905
1912
  o = {
1906
1913
  x: e.x - i.x,
1907
1914
  y: e.y - i.y,
@@ -1911,30 +1918,30 @@ function fs(s, e, t) {
1911
1918
  }
1912
1919
  return vt(o);
1913
1920
  }
1914
- function Ui(s, e) {
1921
+ function Gi(s, e) {
1915
1922
  const t = e.get(s);
1916
1923
  if (t)
1917
1924
  return t;
1918
- let o = Ye(s, [], !1).filter((a) => Z(a) && Ne(a) !== "body"), i = null;
1925
+ let o = Ye(s, [], !1).filter((a) => Z(a) && Ve(a) !== "body"), i = null;
1919
1926
  const r = ee(s).position === "fixed";
1920
1927
  let n = r ? Te(s) : s;
1921
1928
  for (; Z(n) && !qe(n); ) {
1922
- const a = ee(n), l = Jt(n), c = i ? i.position : r ? "fixed" : "";
1929
+ const a = ee(n), l = Qt(n), c = i ? i.position : r ? "fixed" : "";
1923
1930
  !l && (c === "fixed" || c === "absolute" && a.position === "static") ? o = o.filter((h) => h !== n) : i = a, n = Te(n);
1924
1931
  }
1925
1932
  return e.set(s, o), o;
1926
1933
  }
1927
- function Gi(s) {
1934
+ function Xi(s) {
1928
1935
  let {
1929
1936
  element: e,
1930
1937
  boundary: t,
1931
1938
  rootBoundary: o,
1932
1939
  strategy: i
1933
1940
  } = s;
1934
- const n = [...t === "clippingAncestors" ? kt(e) ? [] : Ui(e, this._c) : [].concat(t), o], a = fs(e, n[0], i);
1941
+ const n = [...t === "clippingAncestors" ? kt(e) ? [] : Gi(e, this._c) : [].concat(t), o], a = gs(e, n[0], i);
1935
1942
  let l = a.top, c = a.right, d = a.bottom, h = a.left;
1936
1943
  for (let f = 1; f < n.length; f++) {
1937
- const u = fs(e, n[f], i);
1944
+ const u = gs(e, n[f], i);
1938
1945
  l = ie(u.top, l), c = pe(u.right, c), d = pe(u.bottom, d), h = ie(u.left, h);
1939
1946
  }
1940
1947
  return {
@@ -1944,29 +1951,29 @@ function Gi(s) {
1944
1951
  y: l
1945
1952
  };
1946
1953
  }
1947
- function Xi(s) {
1954
+ function qi(s) {
1948
1955
  const {
1949
1956
  width: e,
1950
1957
  height: t
1951
- } = js(s);
1958
+ } = Us(s);
1952
1959
  return {
1953
1960
  width: e,
1954
1961
  height: t
1955
1962
  };
1956
1963
  }
1957
- function qi(s, e, t) {
1958
- const o = fe(e), i = ne(e), r = t === "fixed", n = Oe(s, !0, r, e);
1964
+ function Yi(s, e, t) {
1965
+ const o = fe(e), i = ne(e), r = t === "fixed", n = Ie(s, !0, r, e);
1959
1966
  let a = {
1960
1967
  scrollLeft: 0,
1961
1968
  scrollTop: 0
1962
1969
  };
1963
1970
  const l = re(0);
1964
- if ((o || !r) && ((Ne(e) !== "body" || _t(i)) && (a = Ct(e)), o)) {
1965
- const f = Oe(e, !0, r, e);
1971
+ if ((o || !r) && ((Ve(e) !== "body" || _t(i)) && (a = Ct(e)), o)) {
1972
+ const f = Ie(e, !0, r, e);
1966
1973
  l.x = f.x + e.clientLeft, l.y = f.y + e.clientTop;
1967
1974
  }
1968
1975
  !o && i && (l.x = St(i));
1969
- const c = i && !o && !r ? Gs(i, a) : re(0), d = n.left + a.scrollLeft - l.x - c.x, h = n.top + a.scrollTop - l.y - c.y;
1976
+ const c = i && !o && !r ? Xs(i, a) : re(0), d = n.left + a.scrollLeft - l.x - c.x, h = n.top + a.scrollTop - l.y - c.y;
1970
1977
  return {
1971
1978
  x: d,
1972
1979
  y: h,
@@ -1974,10 +1981,10 @@ function qi(s, e, t) {
1974
1981
  height: n.height
1975
1982
  };
1976
1983
  }
1977
- function Pt(s) {
1984
+ function Mt(s) {
1978
1985
  return ee(s).position === "static";
1979
1986
  }
1980
- function gs(s, e) {
1987
+ function bs(s, e) {
1981
1988
  if (!fe(s) || ee(s).position === "fixed")
1982
1989
  return null;
1983
1990
  if (e)
@@ -1985,28 +1992,28 @@ function gs(s, e) {
1985
1992
  let t = s.offsetParent;
1986
1993
  return ne(s) === t && (t = t.ownerDocument.body), t;
1987
1994
  }
1988
- function Xs(s, e) {
1995
+ function qs(s, e) {
1989
1996
  const t = U(s);
1990
1997
  if (kt(s))
1991
1998
  return t;
1992
1999
  if (!fe(s)) {
1993
2000
  let i = Te(s);
1994
2001
  for (; i && !qe(i); ) {
1995
- if (Z(i) && !Pt(i))
2002
+ if (Z(i) && !Mt(i))
1996
2003
  return i;
1997
2004
  i = Te(i);
1998
2005
  }
1999
2006
  return t;
2000
2007
  }
2001
- let o = gs(s, e);
2002
- for (; o && zi(o) && Pt(o); )
2003
- o = gs(o, e);
2004
- return o && qe(o) && Pt(o) && !Jt(o) ? t : o || Vi(s) || t;
2008
+ let o = bs(s, e);
2009
+ for (; o && Ni(o) && Mt(o); )
2010
+ o = bs(o, e);
2011
+ return o && qe(o) && Mt(o) && !Qt(o) ? t : o || Vi(s) || t;
2005
2012
  }
2006
- const Yi = async function(s) {
2007
- const e = this.getOffsetParent || Xs, t = this.getDimensions, o = await t(s.floating);
2013
+ const Ji = async function(s) {
2014
+ const e = this.getOffsetParent || qs, t = this.getDimensions, o = await t(s.floating);
2008
2015
  return {
2009
- reference: qi(s.reference, await e(s.floating), s.strategy),
2016
+ reference: Yi(s.reference, await e(s.floating), s.strategy),
2010
2017
  floating: {
2011
2018
  x: 0,
2012
2019
  y: 0,
@@ -2015,25 +2022,25 @@ const Yi = async function(s) {
2015
2022
  }
2016
2023
  };
2017
2024
  };
2018
- function Ji(s) {
2025
+ function Qi(s) {
2019
2026
  return ee(s).direction === "rtl";
2020
2027
  }
2021
- const qs = {
2022
- convertOffsetParentRelativeRectToViewportRelativeRect: Hi,
2028
+ const Ys = {
2029
+ convertOffsetParentRelativeRectToViewportRelativeRect: Bi,
2023
2030
  getDocumentElement: ne,
2024
- getClippingRect: Gi,
2025
- getOffsetParent: Xs,
2026
- getElementRects: Yi,
2027
- getClientRects: Bi,
2028
- getDimensions: Xi,
2029
- getScale: Ie,
2031
+ getClippingRect: Xi,
2032
+ getOffsetParent: qs,
2033
+ getElementRects: Ji,
2034
+ getClientRects: Ki,
2035
+ getDimensions: qi,
2036
+ getScale: Oe,
2030
2037
  isElement: Z,
2031
- isRTL: Ji
2038
+ isRTL: Qi
2032
2039
  };
2033
- function Ys(s, e) {
2040
+ function Js(s, e) {
2034
2041
  return s.x === e.x && s.y === e.y && s.width === e.width && s.height === e.height;
2035
2042
  }
2036
- function Qi(s, e, t) {
2043
+ function Zi(s, e, t) {
2037
2044
  let o = null, i;
2038
2045
  const r = ne(s);
2039
2046
  function n() {
@@ -2050,14 +2057,14 @@ function Qi(s, e, t) {
2050
2057
  } = f;
2051
2058
  if (d || e(), !b || !y)
2052
2059
  return;
2053
- const v = rt(g), w = rt(r.clientWidth - (u + b)), k = rt(r.clientHeight - (g + y)), P = rt(u), V = {
2060
+ const v = rt(g), w = rt(r.clientWidth - (u + b)), k = rt(r.clientHeight - (g + y)), P = rt(u), $ = {
2054
2061
  rootMargin: -v + "px " + -w + "px " + -k + "px " + -P + "px",
2055
2062
  threshold: ie(0, pe(1, h)) || 1
2056
2063
  };
2057
2064
  let R = !0;
2058
2065
  function G(L) {
2059
2066
  const C = L[0].intersectionRatio;
2060
- if (!Ys(f, s.getBoundingClientRect()))
2067
+ if (!Js(f, s.getBoundingClientRect()))
2061
2068
  return a();
2062
2069
  if (C !== h) {
2063
2070
  if (!R)
@@ -2070,12 +2077,12 @@ function Qi(s, e, t) {
2070
2077
  }
2071
2078
  try {
2072
2079
  o = new IntersectionObserver(G, {
2073
- ...V,
2080
+ ...$,
2074
2081
  // Handle <iframe>s
2075
2082
  root: r.ownerDocument
2076
2083
  });
2077
2084
  } catch {
2078
- o = new IntersectionObserver(G, V);
2085
+ o = new IntersectionObserver(G, $);
2079
2086
  }
2080
2087
  o.observe(s);
2081
2088
  }
@@ -2084,7 +2091,7 @@ function Qi(s, e, t) {
2084
2091
  l.removeEventListener("resize", c), n();
2085
2092
  };
2086
2093
  }
2087
- function Zi(s, e, t, o) {
2094
+ function er(s, e, t, o) {
2088
2095
  o === void 0 && (o = {});
2089
2096
  const {
2090
2097
  ancestorScroll: i = !0,
@@ -2092,11 +2099,11 @@ function Zi(s, e, t, o) {
2092
2099
  elementResize: n = typeof ResizeObserver == "function",
2093
2100
  layoutShift: a = typeof IntersectionObserver == "function",
2094
2101
  animationFrame: l = !1
2095
- } = o, c = Zt(s), d = i || r ? [...c ? Ye(c) : [], ...e ? Ye(e) : []] : [];
2102
+ } = o, c = es(s), d = i || r ? [...c ? Ye(c) : [], ...e ? Ye(e) : []] : [];
2096
2103
  d.forEach((v) => {
2097
2104
  i && v.addEventListener("scroll", t), r && v.addEventListener("resize", t);
2098
2105
  });
2099
- const h = c && a ? Qi(c, t, r) : null;
2106
+ const h = c && a ? Zi(c, t, r) : null;
2100
2107
  let f = -1, u = null;
2101
2108
  n && (u = new ResizeObserver((v) => {
2102
2109
  let [w] = v;
@@ -2105,11 +2112,11 @@ function Zi(s, e, t, o) {
2105
2112
  (k = u) == null || k.observe(e);
2106
2113
  })), t();
2107
2114
  }), c && !l && u.observe(c), e && u.observe(e));
2108
- let g, b = l ? Oe(s) : null;
2115
+ let g, b = l ? Ie(s) : null;
2109
2116
  l && y();
2110
2117
  function y() {
2111
- const v = Oe(s);
2112
- b && !Ys(b, v) && t(), b = v, g = requestAnimationFrame(y);
2118
+ const v = Ie(s);
2119
+ b && !Js(b, v) && t(), b = v, g = requestAnimationFrame(y);
2113
2120
  }
2114
2121
  return t(), () => {
2115
2122
  var v;
@@ -2118,37 +2125,37 @@ function Zi(s, e, t, o) {
2118
2125
  }), h == null || h(), (v = u) == null || v.disconnect(), u = null, l && cancelAnimationFrame(g);
2119
2126
  };
2120
2127
  }
2121
- const er = Li, tr = Ei, sr = Ii, Mt = Ai, or = Oi, ir = (s, e, t) => {
2128
+ const tr = Ei, sr = Ai, or = Pi, Lt = zi, ir = Oi, rr = (s, e, t) => {
2122
2129
  const o = /* @__PURE__ */ new Map(), i = t ?? {}, r = {
2123
- ...qs,
2130
+ ...Ys,
2124
2131
  ...i.platform,
2125
2132
  _c: o
2126
2133
  };
2127
- return Ti(s, e, {
2134
+ return Ii(s, e, {
2128
2135
  ...i,
2129
2136
  platform: r
2130
2137
  });
2131
2138
  };
2132
- function Ht(s) {
2139
+ function Bt(s) {
2133
2140
  const e = s.parentNode ?? null;
2134
2141
  return e instanceof ShadowRoot ? e.host : e;
2135
2142
  }
2136
- function rr(s) {
2143
+ function nr(s) {
2137
2144
  if (s.transform !== "none" || s.perspective !== "none" || s.filter !== "none")
2138
2145
  return !0;
2139
2146
  const e = s.backdropFilter;
2140
2147
  return !!(e && e !== "none" || s.willChange && /\b(transform|filter|perspective)\b/.test(s.willChange));
2141
2148
  }
2142
- function bs(s) {
2143
- let e = Ht(s);
2149
+ function vs(s) {
2150
+ let e = Bt(s);
2144
2151
  for (; e && !(e === document.body || e === document.documentElement); ) {
2145
- if (e instanceof Element && rr(getComputedStyle(e)))
2152
+ if (e instanceof Element && nr(getComputedStyle(e)))
2146
2153
  return e;
2147
- e = Ht(e);
2154
+ e = Bt(e);
2148
2155
  }
2149
2156
  return window;
2150
2157
  }
2151
- function nr(s, e, t) {
2158
+ function ar(s, e, t) {
2152
2159
  let o = s;
2153
2160
  for (; o && !(o === document.body || o === document.documentElement); ) {
2154
2161
  if (o instanceof Element) {
@@ -2156,11 +2163,11 @@ function nr(s, e, t) {
2156
2163
  if (Math.abs(i.x - e) < 2 && Math.abs(i.y - t) < 2)
2157
2164
  return o;
2158
2165
  }
2159
- o = Ht(o);
2166
+ o = Bt(o);
2160
2167
  }
2161
2168
  return null;
2162
2169
  }
2163
- function ar(s) {
2170
+ function lr(s) {
2164
2171
  const e = getComputedStyle(s), t = [];
2165
2172
  e.transform !== "none" && t.push(`transform: ${e.transform}`), e.perspective !== "none" && t.push(`perspective: ${e.perspective}`), e.filter !== "none" && t.push(`filter: ${e.filter}`);
2166
2173
  const o = e.backdropFilter;
@@ -2168,11 +2175,11 @@ function ar(s) {
2168
2175
  const i = e.containerType;
2169
2176
  return i && i !== "normal" && t.push(`container-type: ${i}`), t.join("; ");
2170
2177
  }
2171
- function lr(s) {
2178
+ function cr(s) {
2172
2179
  const e = s.id ? `#${s.id}` : "", t = typeof s.className == "string" && s.className ? "." + s.className.split(/\s+/).filter(Boolean).slice(0, 2).join(".") : "";
2173
2180
  return `<${s.tagName.toLowerCase()}${e}${t}>`;
2174
2181
  }
2175
- function cr(s) {
2182
+ function dr(s) {
2176
2183
  const e = s.tolerance ?? 1.5;
2177
2184
  let t = 0, o = 0;
2178
2185
  if (s.offsetParent instanceof Element) {
@@ -2182,46 +2189,46 @@ function cr(s) {
2182
2189
  const i = s.panel.getBoundingClientRect(), r = i.x - (t + s.expectedX), n = i.y - (o + s.expectedY);
2183
2190
  if (Math.abs(r) < e && Math.abs(n) < e)
2184
2191
  return null;
2185
- const a = nr(s.reference, r, n);
2192
+ const a = ar(s.reference, r, n);
2186
2193
  return {
2187
2194
  driftX: r,
2188
2195
  driftY: n,
2189
2196
  culprit: a,
2190
- culpritDescription: a ? lr(a) : "an ancestor element (could not auto-identify)",
2191
- culpritCss: a ? ar(a) : ""
2197
+ culpritDescription: a ? cr(a) : "an ancestor element (could not auto-identify)",
2198
+ culpritCss: a ? lr(a) : ""
2192
2199
  };
2193
2200
  }
2194
- function dr(s, e) {
2201
+ function hr(s, e) {
2195
2202
  var i;
2196
2203
  const t = (i = s.closest) == null ? void 0 : i.call(s, "[data-theme]"), o = t == null ? void 0 : t.getAttribute("data-theme");
2197
2204
  o != null && e.setAttribute("data-theme", o);
2198
2205
  }
2199
- const hr = { top: "bottom", right: "left", bottom: "top", left: "right" };
2200
- function ur(s, e, t) {
2206
+ const ur = { top: "bottom", right: "left", bottom: "top", left: "right" };
2207
+ function mr(s, e, t) {
2201
2208
  if (!t)
2202
2209
  return;
2203
- const o = e.split("-")[0], i = hr[o];
2210
+ const o = e.split("-")[0], i = ur[o];
2204
2211
  s.style.left = t.x != null ? `${t.x}px` : "", s.style.top = t.y != null ? `${t.y}px` : "", s.style.right = "", s.style.bottom = "", s.style[i] = `-${s.offsetWidth / 2}px`;
2205
2212
  }
2206
- function vs(s, e) {
2207
- const t = [er(s.offset ?? 4)];
2213
+ function ys(s, e) {
2214
+ const t = [tr(s.offset ?? 4)];
2208
2215
  if (s.matchWidth) {
2209
2216
  const i = s.matchWidth;
2210
- t.push(Mt({
2217
+ t.push(Lt({
2211
2218
  apply({ rects: r, elements: n }) {
2212
2219
  const a = `${r.reference.width}px`;
2213
2220
  i === "exact" ? n.floating.style.width = a : n.floating.style.minWidth = a;
2214
2221
  }
2215
2222
  }));
2216
2223
  }
2217
- e && t.push(sr({
2224
+ e && t.push(or({
2218
2225
  ...s.lockPlacement === !0 ? { fallbackStrategy: "initialPlacement" } : {},
2219
2226
  ...s.flipPadding != null ? { padding: s.flipPadding } : {}
2220
2227
  }));
2221
2228
  const o = s.shift ?? 8;
2222
- if (o !== !1 && t.push(tr({ padding: o })), s.maxHeight) {
2229
+ if (o !== !1 && t.push(sr({ padding: o })), s.maxHeight) {
2223
2230
  const i = typeof s.maxHeight == "object" ? s.maxHeight.padding : void 0;
2224
- t.push(Mt({
2231
+ t.push(Lt({
2225
2232
  padding: i,
2226
2233
  apply({ availableHeight: r, elements: n }) {
2227
2234
  n.floating.style.maxHeight = `${Math.max(0, r)}px`;
@@ -2230,49 +2237,49 @@ function vs(s, e) {
2230
2237
  }
2231
2238
  if (s.maxWidth) {
2232
2239
  const i = typeof s.maxWidth == "object" ? s.maxWidth.padding : void 0;
2233
- t.push(Mt({
2240
+ t.push(Lt({
2234
2241
  padding: i,
2235
2242
  apply({ availableWidth: r, elements: n }) {
2236
2243
  n.floating.style.maxWidth = `${Math.max(0, r)}px`;
2237
2244
  }
2238
2245
  }));
2239
2246
  }
2240
- return s.arrow && t.push(or({ element: s.arrow.element, padding: s.arrow.padding })), t;
2247
+ return s.arrow && t.push(ir({ element: s.arrow.element, padding: s.arrow.padding })), t;
2241
2248
  }
2242
2249
  function Ue(s, e, t = {}) {
2243
2250
  const o = t.strategy ?? "fixed";
2244
- t.inheritThemeFrom && dr(t.inheritThemeFrom, s), s.style.position = o, s.style.left = "0", s.style.top = "0";
2245
- let i = t.placement ?? "bottom-start", r = t.flip ?? !0, n = vs(t, r);
2251
+ t.inheritThemeFrom && hr(t.inheritThemeFrom, s), s.style.position = o, s.style.left = "0", s.style.top = "0";
2252
+ let i = t.placement ?? "bottom-start", r = t.flip ?? !0, n = ys(t, r);
2246
2253
  const a = t.lockPlacement === "freeze";
2247
2254
  let l = !1;
2248
- const c = !!t.fixedContainingBlock && !t.platform, d = t.platform ?? (c ? { ...qs, getOffsetParent: () => bs(s) } : void 0), h = () => {
2255
+ const c = !!t.fixedContainingBlock && !t.platform, d = t.platform ?? (c ? { ...Ys, getOffsetParent: () => vs(s) } : void 0), h = () => {
2249
2256
  var u;
2250
- (u = t.beforeCompute) == null || u.call(t), ir(e, s, {
2257
+ (u = t.beforeCompute) == null || u.call(t), rr(e, s, {
2251
2258
  placement: i,
2252
2259
  strategy: o,
2253
2260
  middleware: n,
2254
2261
  ...d ? { platform: d } : {}
2255
2262
  }).then(({ x: g, y: b, placement: y, middlewareData: v }) => {
2256
2263
  var w, k;
2257
- if (s.style.left = `${g}px`, s.style.top = `${b}px`, t.arrow && ur(t.arrow.element, y, v.arrow), a && !l && (l = !0, i = y, r = !1, n = vs(t, !1)), (w = t.onPlaced) == null || w.call(t, y), (k = t.onComputed) == null || k.call(t, { x: g, y: b, placement: y }), t.onDrift && e instanceof Element) {
2258
- const P = c ? bs(s) : window, M = cr({ panel: s, reference: e, expectedX: g, expectedY: b, offsetParent: P });
2264
+ if (s.style.left = `${g}px`, s.style.top = `${b}px`, t.arrow && mr(t.arrow.element, y, v.arrow), a && !l && (l = !0, i = y, r = !1, n = ys(t, !1)), (w = t.onPlaced) == null || w.call(t, y), (k = t.onComputed) == null || k.call(t, { x: g, y: b, placement: y }), t.onDrift && e instanceof Element) {
2265
+ const P = c ? vs(s) : window, M = dr({ panel: s, reference: e, expectedX: g, expectedY: b, offsetParent: P });
2259
2266
  M && t.onDrift(M);
2260
2267
  }
2261
2268
  });
2262
2269
  };
2263
2270
  let f;
2264
- return t.autoUpdate ?? !0 ? f = Zi(e, s, h, t.autoUpdateOptions) : h(), {
2271
+ return t.autoUpdate ?? !0 ? f = er(e, s, h, t.autoUpdateOptions) : h(), {
2265
2272
  update: h,
2266
2273
  destroy() {
2267
2274
  f == null || f(), f = void 0;
2268
2275
  }
2269
2276
  };
2270
2277
  }
2271
- function mr(s) {
2278
+ function pr(s) {
2272
2279
  return typeof s == "number" ? { show: s, hide: s } : { show: (s == null ? void 0 : s.show) ?? 0, hide: (s == null ? void 0 : s.hide) ?? 0 };
2273
2280
  }
2274
- function pr(s) {
2275
- const e = s.container ?? document.body, t = s.placement ?? "top", o = s.visibleClass ?? "is-visible", i = mr(s.delay), r = document.createElement("div");
2281
+ function fr(s) {
2282
+ const e = s.container ?? document.body, t = s.placement ?? "top", o = s.visibleClass ?? "is-visible", i = pr(s.delay), r = document.createElement("div");
2276
2283
  r.setAttribute("role", "tooltip"), s.cssClass && (r.className = s.cssClass), typeof s.content == "string" ? r.textContent = s.content : r.append(s.content);
2277
2284
  let n, a = !1, l, c, d;
2278
2285
  const h = {
@@ -2313,7 +2320,7 @@ function pr(s) {
2313
2320
  }
2314
2321
  };
2315
2322
  }
2316
- function fr(s) {
2323
+ function gr(s) {
2317
2324
  const e = s.container ?? document.body;
2318
2325
  let t, o = !1;
2319
2326
  const i = s.inheritThemeFrom ?? (s.reference instanceof HTMLElement ? s.reference : void 0);
@@ -2348,7 +2355,7 @@ function fr(s) {
2348
2355
  }
2349
2356
  };
2350
2357
  }
2351
- const Js = ["INIT", "DATA", "UI", "INTERACTION"], ae = fi("MULTISELECT", Js), nt = ae.loggers.INIT, K = ae.loggers.DATA, Q = ae.loggers.UI, W = ae.loggers.INTERACTION, zr = Js.map((s) => `MULTISELECT:${s}`);
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}`);
2352
2359
  function Dr() {
2353
2360
  ae.enableLogging();
2354
2361
  }
@@ -2358,11 +2365,11 @@ function $r() {
2358
2365
  function Vr(s) {
2359
2366
  ae.setLogLevel(s);
2360
2367
  }
2361
- function Nr(s, e) {
2368
+ function Rr(s, e) {
2362
2369
  const t = s.includes(":") ? s.split(":").pop() : s;
2363
2370
  ae.setCategoryLevel(t, e);
2364
2371
  }
2365
- class ys {
2372
+ class ws {
2366
2373
  constructor(e) {
2367
2374
  m(this, "container");
2368
2375
  m(this, "wrapper");
@@ -2484,7 +2491,7 @@ class ys {
2484
2491
  this.container.removeEventListener("scroll", this.scrollHandler), this.resizeObserver && this.resizeObserver.disconnect(), this.container.innerHTML = "";
2485
2492
  }
2486
2493
  }
2487
- function ws(s) {
2494
+ function xs(s) {
2488
2495
  return {
2489
2496
  treeId: "",
2490
2497
  id: -1,
@@ -2500,27 +2507,27 @@ function ws(s) {
2500
2507
  };
2501
2508
  }
2502
2509
  const je = (s) => !s || typeof s == "string" && s.trim() === "";
2503
- function gr(s, e = ".") {
2510
+ function br(s, e = ".") {
2504
2511
  if (!s || typeof s != "string") return null;
2505
2512
  const t = s.lastIndexOf(e);
2506
2513
  return t === -1 ? "" : s.substring(0, t);
2507
2514
  }
2508
- function xs(s, e, t = ".") {
2515
+ function _s(s, e, t = ".") {
2509
2516
  return je(e) ? s : s.startsWith(e + t) ? s.substring(e.length + t.length) : s;
2510
2517
  }
2511
- function _s(s, e = 0, t = 1, o = ".") {
2518
+ function ks(s, e = 0, t = 1, o = ".") {
2512
2519
  return s.split(o).slice(e, e + t).join(o);
2513
2520
  }
2514
- function br(s, e) {
2521
+ function vr(s, e) {
2515
2522
  return s.split(e).length;
2516
2523
  }
2517
2524
  function ce(s, e) {
2518
2525
  return s[e];
2519
2526
  }
2520
- function vr(s = {}) {
2521
- 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 = ws();
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();
2522
2529
  let k = 0, P = null;
2523
- const M = (L) => o ? o(L) : t ? ce(L, t) : void 0, V = {
2530
+ const M = (L) => o ? o(L) : t ? ce(L, t) : void 0, $ = {
2524
2531
  treePathSeparator: v,
2525
2532
  root: w,
2526
2533
  get tree() {
@@ -2532,82 +2539,82 @@ function vr(s = {}) {
2532
2539
  */
2533
2540
  get flatNodes() {
2534
2541
  if (P) return P;
2535
- const L = [], C = s.isSorted ?? !1, O = s.sortCallback;
2536
- function I(N) {
2537
- let S = Object.values(N.children);
2538
- C && O && S.length > 0 && (S = O(S));
2542
+ const L = [], C = s.isSorted ?? !1, I = s.sortCallback;
2543
+ function O(V) {
2544
+ let S = Object.values(V.children);
2545
+ C && I && S.length > 0 && (S = I(S));
2539
2546
  for (const H of S)
2540
- L.push(H), H.hasChildren && I(H);
2547
+ L.push(H), H.hasChildren && O(H);
2541
2548
  }
2542
- return I(w), P = L, L;
2549
+ return O(w), P = L, L;
2543
2550
  },
2544
2551
  insertArray(L) {
2545
2552
  L = L || [], w.children = {}, k = 0, P = null;
2546
2553
  const C = [];
2547
- let O = L.map((I, N) => {
2548
- const S = ws();
2549
- S.treeId = c, S.id = e ? ce(I, e) : void 0;
2550
- const H = M(I);
2551
- return H == null || H === "" || typeof H != "string" ? (C.push(`index ${N}`), null) : (S.path = H, (S.id === void 0 || S.id === -1) && (S.id = H), f ? S.parentPath = gr(S.path, v) : S.parentPath = ce(I, i), S.pathSegment = _s(
2552
- xs(S.path, S.parentPath ?? "", v),
2554
+ let I = L.map((O, V) => {
2555
+ const S = xs();
2556
+ S.treeId = c, S.id = e ? ce(O, e) : void 0;
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(
2559
+ _s(S.path, S.parentPath ?? "", v),
2553
2560
  0,
2554
2561
  1,
2555
2562
  v
2556
- ), u ? S.level = br(S.path, v) : S.level = ce(I, r), g || (S.hasChildren = ce(I, n)), S.data = I, S);
2557
- }).filter((I) => I !== null);
2558
- s.isSorted || (s.sortCallback ? O = s.sortCallback(O) : O = G(O));
2559
- for (const I of O)
2560
- R(I.parentPath ?? "", I);
2563
+ ), u ? S.level = vr(S.path, v) : S.level = ce(O, r), g || (S.hasChildren = ce(O, n)), S.data = O, S);
2564
+ }).filter((O) => O !== null);
2565
+ s.isSorted || (s.sortCallback ? I = s.sortCallback(I) : I = G(I));
2566
+ for (const O of I)
2567
+ R(O.parentPath ?? "", O);
2561
2568
  if (l || !b)
2562
- for (const I of O)
2569
+ for (const O of I)
2563
2570
  if (l)
2564
- I.isSelectable = l(I) !== !1;
2571
+ O.isSelectable = l(O) !== !1;
2565
2572
  else {
2566
- const N = ce(I.data, a);
2567
- I.isSelectable = N == null ? !0 : !!N;
2573
+ const V = ce(O.data, a);
2574
+ O.isSelectable = V == null ? !0 : !!V;
2568
2575
  }
2569
2576
  C.length > 0 && console.warn(
2570
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 ? ", …" : "")
2571
2578
  );
2572
2579
  },
2573
2580
  getNodeByPath(L, C) {
2574
- let O = C || w;
2581
+ let I = C || w;
2575
2582
  if (L) {
2576
- const I = L.split(v);
2577
- for (let N = 0; N < I.length; N++) {
2578
- const S = y + I[N];
2579
- if (!O.children.hasOwnProperty(S))
2583
+ const O = L.split(v);
2584
+ for (let V = 0; V < O.length; V++) {
2585
+ const S = y + O[V];
2586
+ if (!I.children.hasOwnProperty(S))
2580
2587
  return null;
2581
- O = O.children[S];
2588
+ I = I.children[S];
2582
2589
  }
2583
2590
  }
2584
- return O;
2591
+ return I;
2585
2592
  }
2586
2593
  };
2587
2594
  function R(L, C) {
2588
- const O = V.getNodeByPath(L);
2589
- if (!O)
2595
+ const I = $.getNodeByPath(L);
2596
+ if (!I)
2590
2597
  return `Node: ${C.path} - Could not find parent node: ${L}`;
2591
- u && (C.level = (O.level || 0) + 1);
2592
- const I = y + _s(xs(C.path, L, v), 0, 1, v);
2593
- return O.children.hasOwnProperty(I) || (O.children[I] = C, g && !O.hasChildren && (O.hasChildren = !0), k = Math.max(k, C.level || 0)), null;
2598
+ u && (C.level = (I.level || 0) + 1);
2599
+ const O = y + ks(_s(C.path, L, v), 0, 1, v);
2600
+ return I.children.hasOwnProperty(O) || (I.children[O] = C, g && !I.hasChildren && (I.hasChildren = !0), k = Math.max(k, C.level || 0)), null;
2594
2601
  }
2595
2602
  function G(L) {
2596
- return L.sort((C, O) => {
2597
- const I = C.level || 0, N = O.level || 0;
2598
- if (I !== N) return I - N;
2599
- if (C.parentPath !== O.parentPath)
2600
- return C.parentPath ? O.parentPath ? C.parentPath.localeCompare(O.parentPath) : 1 : -1;
2601
- if (d && C.data && O.data) {
2602
- const S = ce(C.data, d) ?? 0, H = ce(O.data, d) ?? 0;
2603
+ return L.sort((C, I) => {
2604
+ const O = C.level || 0, V = I.level || 0;
2605
+ if (O !== V) return O - V;
2606
+ if (C.parentPath !== I.parentPath)
2607
+ return C.parentPath ? I.parentPath ? C.parentPath.localeCompare(I.parentPath) : 1 : -1;
2608
+ if (d && C.data && I.data) {
2609
+ const S = ce(C.data, d) ?? 0, H = ce(I.data, d) ?? 0;
2603
2610
  if (S !== H) return S - H;
2604
2611
  }
2605
- return h ? h(C).localeCompare(h(O)) : C.path.localeCompare(O.path);
2612
+ return h ? h(C).localeCompare(h(I)) : C.path.localeCompare(I.path);
2606
2613
  });
2607
2614
  }
2608
- return V;
2615
+ return $;
2609
2616
  }
2610
- function ks(s, e) {
2617
+ function Cs(s, e) {
2611
2618
  const t = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), r = (l) => String(e(l.data)), n = (l) => {
2612
2619
  t.set(r(l), l);
2613
2620
  const c = [];
@@ -2619,7 +2626,7 @@ function ks(s, e) {
2619
2626
  for (const l of a) n(l);
2620
2627
  return { nodeByValue: t, atomsUnder: o, atomPaths: i, roots: a };
2621
2628
  }
2622
- function es(s, e, t) {
2629
+ function ts(s, e, t) {
2623
2630
  const o = s.atomsUnder.get(e.path);
2624
2631
  if (!o || o.length === 0) return "unchecked";
2625
2632
  let i = 0;
@@ -2635,17 +2642,17 @@ function Ke(s, e) {
2635
2642
  }
2636
2643
  return t;
2637
2644
  }
2638
- function yr(s, e, t) {
2639
- const o = s.atomsUnder.get(e.path) ?? [], i = new Set(t), r = es(s, e, t), n = [], a = [];
2645
+ function wr(s, e, t) {
2646
+ const o = s.atomsUnder.get(e.path) ?? [], i = new Set(t), r = ts(s, e, t), n = [], a = [];
2640
2647
  if (r === "checked")
2641
2648
  for (const l of o) i.delete(l) && a.push(l);
2642
2649
  else
2643
2650
  for (const l of o) i.has(l) || (i.add(l), n.push(l));
2644
2651
  return { checkedAtoms: i, addedAtoms: n, removedAtoms: a };
2645
2652
  }
2646
- function Lt(s, e, t, o) {
2653
+ function Et(s, e, t, o) {
2647
2654
  const i = (a) => String(o(a.data)), r = [], n = (a) => {
2648
- const l = es(s, a, e);
2655
+ const l = ts(s, a, e);
2649
2656
  if (l === "unchecked") return;
2650
2657
  const c = a.isSelectable !== !1, d = Object.values(a.children);
2651
2658
  if (t === "leaves") {
@@ -2667,7 +2674,7 @@ function Lt(s, e, t, o) {
2667
2674
  for (const a of s.roots) n(a);
2668
2675
  return r;
2669
2676
  }
2670
- class wr {
2677
+ class xr {
2671
2678
  constructor(e, t = {}) {
2672
2679
  m(this, "element");
2673
2680
  m(this, "instanceId");
@@ -2717,6 +2724,10 @@ class wr {
2717
2724
  // Inline ✕ inside the fullscreen search box that clears the term. Shown only while
2718
2725
  // there's text; touch has no keyboard Escape, so this is the way to reset a search.
2719
2726
  m(this, "fullscreenSearchClear", null);
2727
+ // Leading mode toggle inside the fullscreen search box (opt-in via
2728
+ // isSearchModeToggleShown) that flips searchMode filter<->navigate live. Its icon
2729
+ // reflects the current mode; clicking re-projects the current term in place.
2730
+ m(this, "fullscreenModeToggle", null);
2720
2731
  // Navigate-mode match navigator shown under the fullscreen search box: a result
2721
2732
  // count ("3 of 12") plus prev/next buttons that step through matches. Touch has no
2722
2733
  // Ctrl+Arrow shortcut, so these buttons are the on-screen substitute. Only built in
@@ -2787,7 +2798,7 @@ class wr {
2787
2798
  this.element = e, this.instanceId = `MS-${Math.random().toString(36).slice(2, 11)}`, this.options = {
2788
2799
  // String options
2789
2800
  searchHint: e.dataset.searchHint || "",
2790
- searchPlaceholder: e.dataset.searchPlaceholder || "Search...",
2801
+ searchPlaceholder: e.dataset.searchPlaceholder || void 0,
2791
2802
  selectPlaceholder: e.dataset.selectPlaceholder || "Pick an option...",
2792
2803
  noDataPlaceholder: e.dataset.noDataPlaceholder || void 0,
2793
2804
  dropdownMinWidth: e.dataset.dropdownMinWidth || void 0,
@@ -2814,6 +2825,7 @@ class wr {
2814
2825
  isSearchEnabled: e.dataset.enableSearch !== "false",
2815
2826
  isAddNewAllowed: e.dataset.allowAddNew === "true",
2816
2827
  isCounterShown: e.dataset.showCounter === "true",
2828
+ isSearchModeToggleShown: e.dataset.showSearchModeToggle === "true",
2817
2829
  isKeepOptionsOnSearch: e.dataset.keepOptionsOnSearch !== "false",
2818
2830
  shouldKeepSearchOnClose: e.dataset.keepSearchOnClose !== "false",
2819
2831
  // Data and callbacks
@@ -2988,7 +3000,7 @@ class wr {
2988
3000
  }
2989
3001
  /** (Re)build the ltree from `allOptions` and derive the visible flat list. */
2990
3002
  buildTree() {
2991
- this.tree = vr({
3003
+ this.tree = yr({
2992
3004
  idMember: this.options.valueMember,
2993
3005
  pathMember: this.options.pathMember,
2994
3006
  getPathCallback: this.options.getPathCallback,
@@ -3000,7 +3012,7 @@ class wr {
3000
3012
  treePathSeparator: this.options.treePathSeparator,
3001
3013
  treeId: this.instanceId,
3002
3014
  getDisplayValueCallback: (e) => this.getItemDisplayValue(e.data)
3003
- }), this.tree.insertArray(this.allOptions), this.cascadeIndex = this.isCascadeMode() ? ks(this.tree, (e) => String(this.getItemValue(e))) : null, this.rebuildTreeVisible();
3015
+ }), this.tree.insertArray(this.allOptions), this.cascadeIndex = this.isCascadeMode() ? Cs(this.tree, (e) => String(this.getItemValue(e))) : null, this.rebuildTreeVisible();
3004
3016
  }
3005
3017
  /**
3006
3018
  * Whether cascade checkbox mode is active: a multi-select tree with
@@ -3023,7 +3035,7 @@ class wr {
3023
3035
  * so badges / form / change events reflect the policy (rolled-up branches, etc.).
3024
3036
  */
3025
3037
  toggleTreeCascade(e) {
3026
- const t = this.cascadeIndex, o = Ke(t, this.selectedValues), { checkedAtoms: i } = yr(t, e, o);
3038
+ const t = this.cascadeIndex, o = Ke(t, this.selectedValues), { checkedAtoms: i } = wr(t, e, o);
3027
3039
  this.commitCascadeAtoms(i);
3028
3040
  }
3029
3041
  /**
@@ -3034,7 +3046,7 @@ class wr {
3034
3046
  */
3035
3047
  commitCascadeAtoms(e) {
3036
3048
  var l;
3037
- const t = this.cascadeIndex, o = Lt(
3049
+ const t = this.cascadeIndex, o = Et(
3038
3050
  t,
3039
3051
  e,
3040
3052
  this.cascadePolicy(),
@@ -3059,7 +3071,7 @@ class wr {
3059
3071
  */
3060
3072
  counterSelection() {
3061
3073
  if (this.isCascadeMode() && this.cascadeIndex) {
3062
- const e = Lt(
3074
+ const e = Et(
3063
3075
  this.cascadeIndex,
3064
3076
  this.cascadeCheckedAtoms,
3065
3077
  "rolled-up",
@@ -3291,7 +3303,7 @@ class wr {
3291
3303
  }
3292
3304
  const e = this.scaledOptionHeight(), t = this.options.virtualScrollBuffer ?? 10;
3293
3305
  requestAnimationFrame(() => {
3294
- this.optionsContainer && (this.virtualScroll ? (this.virtualScroll.setItemHeight(e), this.virtualScroll.setItems(this.filteredOptions)) : this.virtualScroll = new ys({
3306
+ this.optionsContainer && (this.virtualScroll ? (this.virtualScroll.setItemHeight(e), this.virtualScroll.setItems(this.filteredOptions)) : this.virtualScroll = new ws({
3295
3307
  container: this.optionsContainer,
3296
3308
  itemHeight: e,
3297
3309
  items: this.filteredOptions,
@@ -3349,6 +3361,7 @@ class wr {
3349
3361
  isFocused: c,
3350
3362
  isMatched: d,
3351
3363
  isDisabled: a,
3364
+ ...Ot(this.presentationMode),
3352
3365
  isTreeNode: !1
3353
3366
  }, b = this.options.renderOptionContentCallback(e, g);
3354
3367
  typeof b == "string" ? u += b : u += b.outerHTML;
@@ -3375,17 +3388,18 @@ class wr {
3375
3388
  * chevron/toggle — every node is just a normal, selectable option.
3376
3389
  */
3377
3390
  renderTreeNode(e, t) {
3378
- 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 ? es(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"];
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"];
3379
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");
3380
3393
  const k = this.options.checkboxAlign && this.options.checkboxAlign !== "center" ? ` data-checkbox-align="${this.options.checkboxAlign}"` : "", P = b ? "" : ' data-selectable="false"';
3381
3394
  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}>`;
3382
3395
  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) {
3383
- const V = {
3396
+ const $ = {
3384
3397
  index: t,
3385
3398
  isSelected: h,
3386
3399
  isFocused: u,
3387
3400
  isMatched: g,
3388
3401
  isDisabled: l,
3402
+ ...Ot(this.presentationMode),
3389
3403
  // Tree metadata — lets the callback branch on depth / branch-vs-leaf /
3390
3404
  // tristate without re-deriving any of it from the raw data item.
3391
3405
  isTreeNode: !0,
@@ -3397,7 +3411,7 @@ class wr {
3397
3411
  path: e.path,
3398
3412
  isSelectable: b,
3399
3413
  isIndeterminate: f
3400
- }, R = this.options.renderOptionContentCallback(o, V);
3414
+ }, R = this.options.renderOptionContentCallback(o, $);
3401
3415
  M += typeof R == "string" ? R : R.outerHTML;
3402
3416
  } else
3403
3417
  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>";
@@ -3425,7 +3439,22 @@ class wr {
3425
3439
  * search is unusable → the search placeholder.
3426
3440
  */
3427
3441
  getPlaceholderText() {
3428
- return this.options.noDataPlaceholder && this.allOptions.length === 0 ? this.options.noDataPlaceholder : this.isSearchUsable ? this.options.searchPlaceholder : this.options.selectPlaceholder || this.options.searchPlaceholder;
3442
+ return this.options.noDataPlaceholder && this.allOptions.length === 0 ? this.options.noDataPlaceholder : this.isSearchUsable ? this.getSearchPlaceholder() : this.options.selectPlaceholder || this.getSearchPlaceholder();
3443
+ }
3444
+ /**
3445
+ * The search field placeholder. An explicit `searchPlaceholder` always wins and stays
3446
+ * fixed. Otherwise the default is "Search..." — except when the in-overlay mode toggle
3447
+ * is enabled (`isSearchModeToggleShown`), where it becomes mode-aware so the field labels
3448
+ * the current behavior: "Search…" in navigate mode, "Filter…" in filter mode. Refreshed
3449
+ * on a live mode switch (see setSearchModeLive → refreshSearchPlaceholder).
3450
+ */
3451
+ getSearchPlaceholder() {
3452
+ return this.options.searchPlaceholder ? this.options.searchPlaceholder : this.options.isSearchModeToggleShown ? (this.options.searchMode || "filter") === "navigate" ? "Search…" : "Filter…" : "Search...";
3453
+ }
3454
+ /** Re-apply the (possibly mode-aware) placeholder to the live inputs after a mode switch. */
3455
+ refreshSearchPlaceholder() {
3456
+ const e = this.getPlaceholderText();
3457
+ this.input && (this.input.placeholder = e), this.fullscreenSearchInput && (this.fullscreenSearchInput.placeholder = e);
3429
3458
  }
3430
3459
  renderBadges() {
3431
3460
  this.destroyAllBadgeTooltips();
@@ -3553,14 +3582,14 @@ class wr {
3553
3582
  if (this.isTreeMode()) {
3554
3583
  if ((this.options.searchMode || "filter") === "navigate") {
3555
3584
  const o = this.rebuildTreeVisibleForNavigate();
3556
- this.searchTerm.trim() ? o >= 0 && (this.focusedIndex = o) : this.focusedIndex = this.filteredOptions.length > 0 ? 0 : -1, this.renderDropdown(), this.focusedIndex >= 0 && this.scrollToFocused(), this.updateFullscreenNav();
3585
+ this.searchTerm.trim() ? o >= 0 && (this.focusedIndex = o) : this.focusedIndex = -1, this.renderDropdown(), this.focusedIndex >= 0 && this.scrollToFocused(), this.updateFullscreenNav();
3557
3586
  return;
3558
3587
  }
3559
- this.rebuildTreeVisible(), this.matchingIndices.clear(), this.focusedIndex = this.filteredOptions.length > 0 ? 0 : -1, this.renderDropdown();
3588
+ this.rebuildTreeVisible(), this.matchingIndices.clear(), this.focusedIndex = this.searchTerm.trim() && this.filteredOptions.length > 0 ? 0 : -1, this.renderDropdown();
3560
3589
  return;
3561
3590
  }
3562
3591
  if (!t)
3563
- this.filteredOptions = [...this.allOptions], this.matchingIndices.clear(), this.focusedIndex = this.filteredOptions.length > 0 ? 0 : -1;
3592
+ this.filteredOptions = [...this.allOptions], this.matchingIndices.clear(), this.focusedIndex = -1;
3564
3593
  else {
3565
3594
  const o = this.options.searchMode || "filter", i = t.toLowerCase();
3566
3595
  if (o === "filter")
@@ -3996,7 +4025,7 @@ class wr {
3996
4025
  * and a redundant call is a no-op rather than acquiring a second.
3997
4026
  */
3998
4027
  lockBodyScroll() {
3999
- this.bodyScrollUnlock || (this.bodyScrollUnlock = oi());
4028
+ this.bodyScrollUnlock || (this.bodyScrollUnlock = ii());
4000
4029
  }
4001
4030
  /** Restore page scroll (no-op if it wasn't locked). */
4002
4031
  unlockBodyScroll() {
@@ -4035,7 +4064,7 @@ class wr {
4035
4064
  * we just hold the returned cleanup. No-op where `visualViewport` is unavailable.
4036
4065
  */
4037
4066
  observeKeyboardInset() {
4038
- this.keyboardInsetCleanup = ii(this.dropdown);
4067
+ this.keyboardInsetCleanup = ri(this.dropdown);
4039
4068
  }
4040
4069
  /** Detach keyboard-inset tracking and restore the panel's CSS-driven geometry. */
4041
4070
  unobserveKeyboardInset() {
@@ -4100,7 +4129,7 @@ class wr {
4100
4129
  }
4101
4130
  /** Tear down the fullscreen dropdown chrome and restore page scroll (no-op if floating). */
4102
4131
  exitFullscreen() {
4103
- this.unobserveKeyboardInset(), this.popOverlayHistory(), this.dropdown.classList.remove("ms__dropdown--fullscreen"), this.fullscreenHeader && (this.fullscreenHeader.remove(), this.fullscreenHeader = null, this.fullscreenSearchInput = null, this.fullscreenSearchClear = null, this.fullscreenNav = null, this.fullscreenNavCount = null, this.fullscreenNavPrev = null, this.fullscreenNavNext = null), this.unlockBodyScroll(), this.releaseDocumentOverflowX();
4132
+ this.unobserveKeyboardInset(), this.popOverlayHistory(), this.dropdown.classList.remove("ms__dropdown--fullscreen"), this.fullscreenHeader && (this.fullscreenHeader.remove(), this.fullscreenHeader = null, this.fullscreenSearchInput = null, this.fullscreenSearchClear = null, this.fullscreenModeToggle = null, this.fullscreenNav = null, this.fullscreenNavCount = null, this.fullscreenNavPrev = null, this.fullscreenNavNext = null), this.unlockBodyScroll(), this.releaseDocumentOverflowX();
4104
4133
  }
4105
4134
  /**
4106
4135
  * Back-gesture handling for the fullscreen sheet. On open we push a history entry
@@ -4135,7 +4164,10 @@ class wr {
4135
4164
  const e = document.createElement("div");
4136
4165
  if (e.className = "ms__fullscreen-header", this.options.isSearchEnabled && this.options.searchInputMode !== "hidden") {
4137
4166
  const o = document.createElement("div");
4138
- o.className = "ms__fullscreen-search-wrapper";
4167
+ if (o.className = "ms__fullscreen-search-wrapper", this.options.isSearchModeToggleShown) {
4168
+ const r = document.createElement("button");
4169
+ r.type = "button", r.className = "ms__fullscreen-mode-toggle", r.addEventListener("mousedown", (n) => n.preventDefault()), r.addEventListener("click", () => this.toggleSearchModeLive()), o.appendChild(r), this.fullscreenModeToggle = r;
4170
+ }
4139
4171
  const i = document.createElement("input");
4140
4172
  if (i.type = "text", i.className = "ms__fullscreen-search", i.placeholder = this.getPlaceholderText(), i.autocomplete = "off", this.options.searchInputMode === "readonly" && (i.readOnly = !0), i.addEventListener("input", (r) => {
4141
4173
  const n = r.target.value;
@@ -4147,19 +4179,53 @@ class wr {
4147
4179
  e.appendChild(o);
4148
4180
  }
4149
4181
  const t = document.createElement("button");
4150
- if (t.type = "button", t.className = "ms__fullscreen-close", t.setAttribute("aria-label", "Close"), t.addEventListener("click", () => this.close()), e.appendChild(t), this.options.isSearchEnabled && (this.options.searchMode || "filter") === "navigate") {
4151
- const o = document.createElement("div");
4152
- o.className = "ms__fullscreen-nav";
4153
- const i = document.createElement("span");
4154
- i.className = "ms__fullscreen-nav-count", o.appendChild(i);
4155
- const r = document.createElement("div");
4156
- r.className = "ms__fullscreen-nav-controls";
4157
- const n = document.createElement("button");
4158
- n.type = "button", n.className = "ms__fullscreen-nav-btn ms__fullscreen-nav-btn--prev", n.setAttribute("aria-label", "Previous match"), n.addEventListener("click", () => this.focusPreviousMatch());
4159
- const a = document.createElement("button");
4160
- a.type = "button", a.className = "ms__fullscreen-nav-btn ms__fullscreen-nav-btn--next", a.setAttribute("aria-label", "Next match"), a.addEventListener("click", () => this.focusNextMatch()), r.appendChild(n), r.appendChild(a), o.appendChild(r), e.appendChild(o), this.fullscreenNav = o, this.fullscreenNavCount = i, this.fullscreenNavPrev = n, this.fullscreenNavNext = a;
4161
- }
4162
- this.dropdown.insertBefore(e, this.dropdownInner), this.fullscreenHeader = e, this.updateFullscreenNav(), this.updateFullscreenSearchClear();
4182
+ t.type = "button", t.className = "ms__fullscreen-close", t.setAttribute("aria-label", "Close"), t.addEventListener("click", () => this.close()), e.appendChild(t), this.dropdown.insertBefore(e, this.dropdownInner), this.fullscreenHeader = e, this.options.isSearchEnabled && (this.options.searchMode || "filter") === "navigate" && this.ensureFullscreenNav(), this.updateFullscreenModeToggle(), this.updateFullscreenNav(), this.updateFullscreenSearchClear();
4183
+ }
4184
+ /** Build the navigate-mode match navigator (count + prev/next) and append it to the
4185
+ * fullscreen header, once. No-op if already built or the header isn't present. The
4186
+ * nav wraps onto its own full-width row under the search box (header is flex-wrap;
4187
+ * the nav takes 100% basis). */
4188
+ ensureFullscreenNav() {
4189
+ if (this.fullscreenNav || !this.fullscreenHeader) return;
4190
+ const e = document.createElement("div");
4191
+ e.className = "ms__fullscreen-nav";
4192
+ const t = document.createElement("span");
4193
+ t.className = "ms__fullscreen-nav-count", e.appendChild(t);
4194
+ const o = document.createElement("div");
4195
+ o.className = "ms__fullscreen-nav-controls";
4196
+ const i = document.createElement("button");
4197
+ i.type = "button", i.className = "ms__fullscreen-nav-btn ms__fullscreen-nav-btn--prev", i.setAttribute("aria-label", "Previous match"), i.addEventListener("click", () => this.focusPreviousMatch());
4198
+ const r = document.createElement("button");
4199
+ r.type = "button", r.className = "ms__fullscreen-nav-btn ms__fullscreen-nav-btn--next", r.setAttribute("aria-label", "Next match"), r.addEventListener("click", () => this.focusNextMatch()), o.appendChild(i), o.appendChild(r), e.appendChild(o), this.fullscreenHeader.appendChild(e), this.fullscreenNav = e, this.fullscreenNavCount = t, this.fullscreenNavPrev = i, this.fullscreenNavNext = r;
4200
+ }
4201
+ /** Remove the match navigator (switching to filter mode, which has no jump UI). */
4202
+ removeFullscreenNav() {
4203
+ this.fullscreenNav && (this.fullscreenNav.remove(), this.fullscreenNav = null, this.fullscreenNavCount = null, this.fullscreenNavPrev = null, this.fullscreenNavNext = null);
4204
+ }
4205
+ /** Flip searchMode filter<->navigate from the in-overlay toggle. */
4206
+ toggleSearchModeLive() {
4207
+ const e = (this.options.searchMode || "filter") === "navigate" ? "filter" : "navigate";
4208
+ this.setSearchModeLive(e);
4209
+ }
4210
+ /**
4211
+ * Switch searchMode in place — the overlay's toggle path. The `search-mode` attribute
4212
+ * is reinit-on-change (it rebuilds and closes the overlay); this instead mutates the
4213
+ * live config, adds/removes the match navigator to match, and re-projects the current
4214
+ * term under the new mode (filter narrows the list / navigate keeps all + highlights),
4215
+ * all without tearing the open sheet down. Focus stays on the search field.
4216
+ */
4217
+ setSearchModeLive(e) {
4218
+ var t;
4219
+ (this.options.searchMode || "filter") !== e && (this.options.searchMode = e, e === "navigate" ? this.ensureFullscreenNav() : this.removeFullscreenNav(), this.updateFullscreenModeToggle(), this.refreshSearchPlaceholder(), this.handleSearch(this.searchTerm), (t = this.fullscreenSearchInput) == null || t.focus());
4220
+ }
4221
+ /** Sync the mode toggle's icon (via data-mode) and labels with the current searchMode.
4222
+ * No-op when the toggle isn't built (opt-out, floating panel, or search hidden). */
4223
+ updateFullscreenModeToggle() {
4224
+ if (!this.fullscreenModeToggle) return;
4225
+ const e = this.options.searchMode || "filter";
4226
+ this.fullscreenModeToggle.dataset.mode = e;
4227
+ const t = e === "navigate" ? "filter" : "navigate";
4228
+ this.fullscreenModeToggle.setAttribute("aria-label", `Switch to ${t} mode`), this.fullscreenModeToggle.setAttribute("title", `Switch to ${t} mode`), this.fullscreenModeToggle.setAttribute("aria-pressed", String(e === "navigate"));
4163
4229
  }
4164
4230
  /**
4165
4231
  * Sync the fullscreen match navigator (navigate mode only) with the current search
@@ -4286,7 +4352,7 @@ class wr {
4286
4352
  if (!this.selectedPopoverContainer) return;
4287
4353
  const o = this.scaledBadgeHeight(), i = Math.round(4 * this.fullscreenScale()), r = o + i, n = this.options.virtualScrollBuffer ?? 10;
4288
4354
  requestAnimationFrame(() => {
4289
- this.selectedPopoverContainer && (this.selectedPopoverVirtualScroll ? this.selectedPopoverVirtualScroll.setItems(e) : this.selectedPopoverVirtualScroll = new ys({
4355
+ this.selectedPopoverContainer && (this.selectedPopoverVirtualScroll ? this.selectedPopoverVirtualScroll.setItems(e) : this.selectedPopoverVirtualScroll = new ws({
4290
4356
  container: this.selectedPopoverContainer,
4291
4357
  itemHeight: r,
4292
4358
  items: e,
@@ -4308,28 +4374,31 @@ class wr {
4308
4374
  * accessible name stay in sync.
4309
4375
  */
4310
4376
  renderBadgeHTML(e, t) {
4311
- const o = this.getItemValue(e);
4312
- let i;
4313
- const r = t.isInPopover ? this.options.renderSelectedItemContentCallback : void 0;
4314
- if (r) {
4315
- const c = r(e);
4316
- i = typeof c == "string" ? c : c.outerHTML;
4377
+ const o = this.getItemValue(e), i = {
4378
+ ...t,
4379
+ ...Ot(this.presentationMode)
4380
+ };
4381
+ let r;
4382
+ const n = t.isInPopover ? this.options.renderSelectedItemContentCallback : void 0;
4383
+ if (n) {
4384
+ const d = n(e);
4385
+ r = typeof d == "string" ? d : d.outerHTML;
4317
4386
  } else if (this.options.renderBadgeContentCallback) {
4318
- const c = this.options.renderBadgeContentCallback(e, t);
4319
- i = typeof c == "string" ? c : c.outerHTML;
4387
+ const d = this.options.renderBadgeContentCallback(e, i);
4388
+ r = typeof d == "string" ? d : d.outerHTML;
4320
4389
  } else
4321
- i = this.getItemBadgeDisplayValue(e);
4322
- const n = t.isInPopover ? this.options.getSelectedItemClassCallback || this.options.getBadgeClassCallback : this.options.getBadgeClassCallback;
4323
- let a = "ms__badge";
4324
- if (n) {
4325
- const c = n(e), d = Array.isArray(c) ? c : [c];
4326
- a += " " + d.filter((h) => h).join(" ");
4390
+ r = this.getItemBadgeDisplayValue(e);
4391
+ const a = t.isInPopover ? this.options.getSelectedItemClassCallback || this.options.getBadgeClassCallback : this.options.getBadgeClassCallback;
4392
+ let l = "ms__badge";
4393
+ if (a) {
4394
+ const d = a(e), h = Array.isArray(d) ? d : [d];
4395
+ l += " " + h.filter((f) => f).join(" ");
4327
4396
  }
4328
- const l = this.getItemBadgeDisplayValue(e);
4397
+ const c = this.getItemBadgeDisplayValue(e);
4329
4398
  return `
4330
- <div class="${a}">
4331
- <span class="ms__badge-text">${i}</span>
4332
- <button type="button" class="ms__badge-remove" data-value="${o}" aria-label="Remove ${l}"></button>
4399
+ <div class="${l}">
4400
+ <span class="ms__badge-text">${r}</span>
4401
+ <button type="button" class="ms__badge-remove" data-value="${o}" aria-label="Remove ${c}"></button>
4333
4402
  </div>
4334
4403
  `;
4335
4404
  }
@@ -4412,9 +4481,9 @@ class wr {
4412
4481
  if (t !== o) return !1;
4413
4482
  Object.assign(this.options, e);
4414
4483
  const i = "pathMember" in e || "getPathCallback" in e || "parentPathMember" in e || "levelMember" in e || "hasChildrenMember" in e || "treePathSeparator" in e || "isTreeEnabled" in e || "isSelectableMember" in e || "getIsSelectableCallback" in e;
4415
- if ("options" in e && e.options !== void 0 ? (this.allOptions = e.options, this.reconcileSelectedOptions(), this.isTreeMode() ? this.buildTree() : this.filteredOptions = this.searchTerm ? this.filteredOptions : [...this.allOptions]) : i && (this.isTreeMode() ? this.buildTree() : this.filteredOptions = this.searchTerm ? this.filteredOptions : [...this.allOptions]), ("checkboxMode" in e || "cascadeSelectPolicy" in e) && !i && !("options" in e) && this.isTreeMode() && (this.cascadeIndex = this.isCascadeMode() ? ks(this.tree, (a) => String(this.getItemValue(a))) : null, this.isCascadeMode() && this.cascadeIndex)) {
4484
+ if ("options" in e && e.options !== void 0 ? (this.allOptions = e.options, this.reconcileSelectedOptions(), this.isTreeMode() ? this.buildTree() : this.filteredOptions = this.searchTerm ? this.filteredOptions : [...this.allOptions]) : i && (this.isTreeMode() ? this.buildTree() : this.filteredOptions = this.searchTerm ? this.filteredOptions : [...this.allOptions]), ("checkboxMode" in e || "cascadeSelectPolicy" in e) && !i && !("options" in e) && this.isTreeMode() && (this.cascadeIndex = this.isCascadeMode() ? Cs(this.tree, (a) => String(this.getItemValue(a))) : null, this.isCascadeMode() && this.cascadeIndex)) {
4416
4485
  this.cascadeCheckedAtoms = Ke(this.cascadeIndex, this.selectedValues);
4417
- const a = Lt(
4486
+ const a = Et(
4418
4487
  this.cascadeIndex,
4419
4488
  this.cascadeCheckedAtoms,
4420
4489
  this.cascadePolicy(),
@@ -4466,7 +4535,7 @@ class wr {
4466
4535
  spawnTooltip(e) {
4467
4536
  var r;
4468
4537
  (r = this.tooltips.get(e.id)) == null || r.destroy();
4469
- const t = this.element.getRootNode(), o = t instanceof ShadowRoot ? t : null, i = pr({
4538
+ const t = this.element.getRootNode(), o = t instanceof ShadowRoot ? t : null, i = fr({
4470
4539
  trigger: e.trigger,
4471
4540
  container: this.options.container ?? o ?? document.body,
4472
4541
  content: e.content,
@@ -4613,7 +4682,7 @@ ${o}` : t;
4613
4682
  const n = document.createElement("div");
4614
4683
  n.className = "ms__option-tooltip ms__option-tooltip--fullscreen", typeof r == "string" ? n.textContent = r : n.appendChild(r);
4615
4684
  const a = this.element.getRootNode(), l = a instanceof ShadowRoot ? a : null, c = this.options.container ?? l ?? document.body;
4616
- this.labelRevealTrigger = e, this.labelRevealPanel = n, this.labelRevealPopover = fr({
4685
+ this.labelRevealTrigger = e, this.labelRevealPanel = n, this.labelRevealPopover = gr({
4617
4686
  reference: e,
4618
4687
  panel: n,
4619
4688
  container: c,
@@ -4724,7 +4793,7 @@ ${o}` : t;
4724
4793
  this.destroyAllTooltips(), this.hideLabelReveal(), this.hideMessage(), this.searchDebounceTimer && (clearTimeout(this.searchDebounceTimer), this.searchDebounceTimer = void 0), this.abortInFlightSearch(), this.dropdownCleanup && this.dropdownCleanup(), this.hintCleanup && this.hintCleanup(), this.selectedPopoverCleanup && this.selectedPopoverCleanup(), this.overlayHistoryActive && (this.overlayHistoryActive = !1, typeof window < "u" && window.removeEventListener("popstate", this.onOverlayPopstate)), this.exitFullscreen(), this.documentClickHandler && (document.removeEventListener("click", this.documentClickHandler), this.documentClickHandler = null), this.documentKeydownHandler && (document.removeEventListener("keydown", this.documentKeydownHandler), this.documentKeydownHandler = null), this.virtualScroll && (this.virtualScroll.destroy(), this.virtualScroll = null), this.dropdown && this.dropdown.remove(), this.hint && this.hint.remove(), this.selectedPopover && this.selectedPopover.remove(), this.element.innerHTML = "", this.element.classList.remove("ms", "ms--open", "ms--no-checkboxes"), nt.info(`[${this.instanceId}] Component destroyed`);
4725
4794
  }
4726
4795
  }
4727
- function xr() {
4796
+ function _r() {
4728
4797
  return {
4729
4798
  fromAttribute(s) {
4730
4799
  if (s === null || s.trim() === "") return [];
@@ -4745,29 +4814,29 @@ function xr() {
4745
4814
  }
4746
4815
  };
4747
4816
  }
4748
- const _r = ["json", "csv", "plain"], Cs = ",", Ss = `
4817
+ const kr = ["json", "csv", "plain"], Ss = ",", Ts = `
4749
4818
  `;
4750
- function kr(s, e, t = {}) {
4819
+ function Cr(s, e, t = {}) {
4751
4820
  if (s == null || s.trim() === "") return { options: [] };
4752
- const o = Ts(t.splitter ?? Cs) || Cs, i = Ts(t.rowSplitter ?? Ss) || Ss;
4821
+ const o = Is(t.splitter ?? Ss) || Ss, i = Is(t.rowSplitter ?? Ts) || Ts;
4753
4822
  switch (e) {
4754
4823
  case "csv":
4755
- return Tr(s, o, i);
4824
+ return Ir(s, o, i);
4756
4825
  case "plain":
4757
- return Sr(s, o, i);
4826
+ return Tr(s, o, i);
4758
4827
  case "json":
4759
4828
  default:
4760
- return Cr(s);
4829
+ return Sr(s);
4761
4830
  }
4762
4831
  }
4763
- function Ts(s) {
4832
+ function Is(s) {
4764
4833
  return s.replace(
4765
4834
  /\\[ntr\\]/g,
4766
4835
  (e) => e === "\\n" ? `
4767
4836
  ` : e === "\\t" ? " " : e === "\\r" ? "\r" : "\\"
4768
4837
  );
4769
4838
  }
4770
- function Cr(s) {
4839
+ function Sr(s) {
4771
4840
  let e;
4772
4841
  try {
4773
4842
  e = JSON.parse(s);
@@ -4776,10 +4845,10 @@ function Cr(s) {
4776
4845
  }
4777
4846
  return Array.isArray(e) ? { options: e } : { options: [], error: "data-options JSON must be an array" };
4778
4847
  }
4779
- function Sr(s, e, t) {
4848
+ function Tr(s, e, t) {
4780
4849
  return { options: s.split(t).flatMap((i) => i.split(e)).map((i) => i.trim()).filter((i) => i.length > 0).map((i) => [i, i]) };
4781
4850
  }
4782
- function Tr(s, e, t) {
4851
+ function Ir(s, e, t) {
4783
4852
  const o = Or(s, e, t).filter((n) => !(n.length === 1 && n[0].trim() === ""));
4784
4853
  if (o.length < 2)
4785
4854
  return { options: [], error: "data-options CSV needs a header row and at least one data row" };
@@ -4804,7 +4873,7 @@ function Or(s, e, t) {
4804
4873
  }
4805
4874
  return i.push(r), o.push(i), o;
4806
4875
  }
4807
- const Qs = `@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(#e5e7eb, #3a3a3a));--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-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: var(--ms-accent-color-light, var(--ms-option-bg-matched, 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: calc(.2 * var(--ms-rem));--ms-checkbox-margin-right: 0;--ms-checkbox-margin-bottom: 0;--ms-checkbox-margin-left: 0;--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-checkbox-scale: 1;--ms-checkbox-align: center;--ms-checkbox-bg: var(--ms-input-bg);--ms-checkbox-border-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-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-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}.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-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__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 = [
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 = [
4808
4877
  "top",
4809
4878
  "top-start",
4810
4879
  "top-end",
@@ -4817,10 +4886,10 @@ const Qs = `@layer variables,component,overrides;@layer variables{:host{display:
4817
4886
  "right",
4818
4887
  "right-start",
4819
4888
  "right-end"
4820
- ], $ = () => fo(), Ir = [
4889
+ ], D = () => go(), Pr = [
4821
4890
  // ── Strings (cosmetic → update). Optional ones are nullable: absent → null ─
4822
4891
  { configKey: "searchHint", attribute: "search-hint", converter: A({ isNullable: !0 }), on: "update", description: "Small hint text shown beneath the search input." },
4823
- { configKey: "searchPlaceholder", attribute: "search-placeholder", converter: A({ default: "Search..." }), on: "update", description: "Placeholder text for the search input." },
4892
+ { 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.' },
4824
4893
  { configKey: "selectPlaceholder", attribute: "select-placeholder", converter: A({ default: "Pick an option..." }), on: "update", description: "Placeholder shown on the control when nothing is selected." },
4825
4894
  { configKey: "noDataPlaceholder", attribute: "no-data-placeholder", converter: A({ isNullable: !0 }), on: "update", description: "Text shown when there are no options at all." },
4826
4895
  { configKey: "dropdownMinWidth", attribute: "dropdown-min-width", converter: A({ isNullable: !0 }), on: "update", description: "Minimum width of the dropdown panel (any CSS length)." },
@@ -4925,62 +4994,63 @@ const Qs = `@layer variables,component,overrides;@layer variables{:host{display:
4925
4994
  { configKey: "isBadgeTooltipsEnabled", attribute: "enable-badge-tooltips", converter: B("default-false"), on: "update", description: "Enable tooltips on badges." },
4926
4995
  { configKey: "isOptionTooltipsEnabled", attribute: "enable-option-tooltips", converter: B("default-false"), on: "update", description: "Enable tooltips on options." },
4927
4996
  { configKey: "isOptionTooltipFollowCursor", attribute: "option-tooltip-follow-cursor", converter: B("default-false"), on: "update", description: "Make option tooltips follow the pointer." },
4997
+ { configKey: "isSearchModeToggleShown", attribute: "show-search-mode-toggle", converter: B("default-false"), on: "update", description: "Show a clickable toggle in the phone fullscreen overlay search header that flips `search-mode` between `filter` and `navigate` live. Fullscreen-only; no effect in the floating presentation or when search is disabled." },
4928
4998
  // ── Special attributes ───────────────────────────────────────────────────
4929
- { configKey: "initialValues", attribute: "initial-values", converter: xr(), default: [], on: "reinit", type: "Array<string | number>", description: 'Values selected on first render. Accepts a JSON array (`["a","b"]`) or a bare CSV (`a,b,c`).' },
4999
+ { configKey: "initialValues", attribute: "initial-values", converter: _r(), default: [], on: "reinit", type: "Array<string | number>", description: 'Values selected on first render. Accepts a JSON array (`["a","b"]`) or a bare CSV (`a,b,c`).' },
4930
5000
  { configKey: "showDebugInfo", attribute: "show-debug-info", converter: B("default-false"), on: "update", description: "Render an in-component debug panel.", deprecated: "Use per-instance logging (el.enableLogging()) instead." },
4931
5001
  // ── Complex property (data) ──────────────────────────────────────────────
4932
- { configKey: "options", converter: po(), on: "reinit", type: "ReadonlyArray<Record<string, unknown>>", description: "The array of option objects to render. The JS API — assign `el.options` directly. For HTML authoring use the `data-options` attribute (parsed per `data-options-format`) or declarative <option> children; both feed the same list and take precedence over this property in the order: <option> children > property > data-options." },
5002
+ { configKey: "options", converter: fo(), on: "reinit", type: "ReadonlyArray<Record<string, unknown>>", description: "The array of option objects to render. The JS API — assign `el.options` directly. For HTML authoring use the `data-options` attribute (parsed per `data-options-format`) or declarative <option> children; both feed the same list and take precedence over this property in the order: <option> children > property > data-options." },
4933
5003
  { configKey: "optionsSource", attribute: "data-options", converter: A({ isNullable: !0 }), on: "reinit", type: "string", description: "HTML-authoring source for the option list, parsed per `data-options-format`. Reactive: changing either attribute re-renders. Prefer the `options` property in JS; a set `options` property and declarative <option> children both win over this." },
4934
- { configKey: "optionsFormat", attribute: "data-options-format", converter: F(_r, { default: "json" }), on: "reinit", type: "'json' | 'csv' | 'plain'", description: "How to parse the `data-options` attribute: `json` (a JSON array of objects or [value, label] tuples), `csv` (rows split on `data-options-row-splitter`, cells on `data-options-splitter`; the first row is a header — map columns via *-member), or `plain` (bare values split on both splitters -> [value, label] tuples, value === label). Default `json`." },
5004
+ { configKey: "optionsFormat", attribute: "data-options-format", converter: F(kr, { default: "json" }), on: "reinit", type: "'json' | 'csv' | 'plain'", description: "How to parse the `data-options` attribute: `json` (a JSON array of objects or [value, label] tuples), `csv` (rows split on `data-options-row-splitter`, cells on `data-options-splitter`; the first row is a header — map columns via *-member), or `plain` (bare values split on both splitters -> [value, label] tuples, value === label). Default `json`." },
4935
5005
  { configKey: "optionsSplitter", attribute: "data-options-splitter", converter: A({ default: "," }), on: "reinit", type: "string", description: 'Field/cell delimiter for the `csv` and `plain` `data-options` formats. Default `,`. Escapes `\\t` `\\n` `\\r` are honoured (e.g. `data-options-splitter="\\t"` for TSV). Ignored for `json`.' },
4936
5006
  { configKey: "optionsRowSplitter", attribute: "data-options-row-splitter", converter: A({ default: `
4937
5007
  ` }), 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`.' },
4938
- { configKey: "actionButtons", converter: mo({ 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." },
5008
+ { 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." },
4939
5009
  // ── Callbacks: data shape (structural → reinit) ──────────────────────────
4940
- { configKey: "getValueCallback", converter: $(), on: "reinit", type: "(item: unknown) => string | number", description: "Extract an option value (overrides valueMember)." },
4941
- { configKey: "getPathCallback", converter: $(), on: "reinit", type: "(item: unknown) => string", description: "Extract a node tree path (enables tree mode; overrides pathMember)." },
4942
- { configKey: "getGroupCallback", converter: $(), on: "reinit", type: "(item: unknown) => string", description: "Extract the group name from an option (overrides groupMember)." },
4943
- { configKey: "getDisabledCallback", converter: $(), on: "reinit", type: "(item: unknown) => boolean", description: "Whether an option is disabled (overrides disabledMember)." },
4944
- { configKey: "getIsSelectableCallback", converter: $(), on: "reinit", type: "(node: unknown) => boolean", description: "Whether a tree node can be selected (overrides is-selectable-member)." },
4945
- { configKey: "getSearchValueCallback", converter: $(), on: "reinit", type: "(item: unknown) => string", description: "Text an option is searched against (overrides searchValueMember)." },
4946
- { configKey: "searchCallback", converter: $(), on: "reinit", type: "(searchTerm: string, signal?: AbortSignal) => Promise<unknown[]>", description: "Custom / async search; return the filtered options." },
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." },
4947
5017
  // ── Callbacks: display / render (cosmetic → update) ──────────────────────
4948
- { configKey: "getDisplayValueCallback", converter: $(), on: "update", type: "(item: unknown) => string", description: "Compute the display label for an option (overrides displayValueMember)." },
4949
- { configKey: "getBadgeDisplayCallback", converter: $(), on: "update", type: "(item: unknown) => string", description: "Compute the text shown on an option badge." },
4950
- { configKey: "getBadgeClassCallback", converter: $(), on: "update", type: "(item: unknown) => string | string[]", description: "Extra CSS class(es) for an option badge." },
4951
- { configKey: "getIconCallback", converter: $(), on: "update", type: "(item: unknown) => string", description: "Icon for an option (overrides iconMember)." },
4952
- { configKey: "getSubtitleCallback", converter: $(), on: "update", type: "(item: unknown) => string", description: "Subtitle for an option (overrides subtitleMember)." },
4953
- { configKey: "getFullTitleCallback", converter: $(), on: "update", type: "(item: unknown) => string", description: "Full title for an option (used by badges when show-badge-full-title is on)." },
4954
- { configKey: "getCounterCallback", converter: $(), on: "update", type: "(count: number, moreCount?: number) => string", description: "Render the selected-count label." },
4955
- { configKey: "getValueFormatCallback", converter: $(), on: "update", type: "(selectedValues: (string | number)[]) => string", description: "Serialize the selected values for form submission." },
4956
- { configKey: "getBadgeTooltipCallback", converter: $(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Tooltip content for an option badge." },
4957
- { configKey: "getOptionTooltipCallback", converter: $(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Tooltip content for an option row." },
4958
- { configKey: "getRemoveButtonTooltipCallback", converter: $(), on: "update", type: "(item: unknown) => string", description: "Tooltip text for a badge remove button." },
4959
- { configKey: "getSelectedItemClassCallback", converter: $(), on: "update", type: "(item: unknown) => string | string[]", description: "Extra CSS class(es) for a selected item." },
4960
- { configKey: "renderOptionContentCallback", converter: $(), on: "update", type: "(item: unknown, context: OptionContentRenderContext) => string | HTMLElement", description: "Custom render for an option row; may return HTML or an element." },
4961
- { configKey: "renderBadgeContentCallback", converter: $(), on: "update", type: "(item: unknown, context: BadgeContentRenderContext) => string | HTMLElement", description: "Custom render for a badge; may return HTML or an element." },
4962
- { configKey: "renderGroupLabelContentCallback", converter: $(), on: "update", type: "(groupName: string) => string | HTMLElement", description: "Customize a group label; may return an HTML string or element." },
4963
- { configKey: "renderSelectedContentCallback", converter: $(), on: "update", type: "(item: unknown) => string", description: "Custom render for the whole selected area." },
4964
- { configKey: "renderSelectedItemContentCallback", converter: $(), on: "update", type: "(item: unknown) => string | HTMLElement", description: "Custom render for one selected item." },
4965
- { configKey: "customStylesCallback", converter: $(), on: "update", type: "() => string", description: "Returns a CSS string injected into the component via a replaceable style slot (§12.8)." },
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)." },
4966
5036
  // ── Callbacks: before-hooks (behavior-shaping) ───────────────────────────
4967
- { configKey: "beforeSearchCallback", converter: $(), on: "update", type: "(searchTerm: string) => string | null", description: "Runs before a search; return a rewritten term or null to veto." },
4968
- { configKey: "beforeSelectCallback", converter: $(), 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." },
4969
- { configKey: "beforeDeselectCallback", converter: $(), 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." },
4970
- { configKey: "addNewCallback", converter: $(), on: "update", type: "(value: string) => unknown | Promise<unknown>", description: "Create a new option from the typed text." }
4971
- ], Pr = [
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." }
5041
+ ], Mr = [
4972
5042
  { name: "select", description: "An option was selected. `detail.option` is the selected option; `detail.selectedOptions`/`detail.selectedValues` are the full selection." },
4973
5043
  { name: "deselect", description: "An option was removed from the selection. `detail.option` is that option." },
4974
5044
  { name: "change", description: "The selection changed. `detail.selectedOptions`/`detail.selectedValues` are the full selection." }
4975
- ], Is = /* @__PURE__ */ new Set(["dropdownWidth", "selectedPopoverWidth", "showDebugInfo", "initialValues", "optionsSource", "optionsFormat", "optionsSplitter", "optionsRowSplitter", "mobilePresentation"]), at = {
5045
+ ], Ps = /* @__PURE__ */ new Set(["dropdownWidth", "selectedPopoverWidth", "showDebugInfo", "initialValues", "optionsSource", "optionsFormat", "optionsSplitter", "optionsRowSplitter", "mobilePresentation"]), at = {
4976
5046
  dropdownWidth: "--ms-dropdown-width",
4977
5047
  selectedPopoverWidth: "--ms-selected-popover-width"
4978
5048
  };
4979
- let Mr = null;
4980
- function Lr() {
4981
- return Mr ?? (Mr = Jo(Qs, "--ms-"));
5049
+ let Lr = null;
5050
+ function Er() {
5051
+ return Lr ?? (Lr = Qo(Zs, "--ms-"));
4982
5052
  }
4983
- const Er = [
5053
+ const Ar = [
4984
5054
  { key: "valueMember", member: "value", callbackKey: "getValueCallback" },
4985
5055
  { key: "displayValueMember", member: "label", callbackKey: "getDisplayValueCallback" },
4986
5056
  { key: "groupMember", member: "group", callbackKey: "getGroupCallback" },
@@ -4988,8 +5058,8 @@ const Er = [
4988
5058
  { key: "subtitleMember", member: "subtitle", callbackKey: "getSubtitleCallback" },
4989
5059
  { key: "disabledMember", member: "disabled", callbackKey: "getDisabledCallback" }
4990
5060
  ];
4991
- var J, z, me, et, tt, st, ze, De, ke, _, ct, Bt, Kt, Zs, eo, to, dt, Ft, so, oo, io, Wt, ro, no, jt, Ut;
4992
- class Ge extends zt {
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;
5062
+ class Ge extends Nt {
4993
5063
  constructor() {
4994
5064
  super();
4995
5065
  E(this, _);
@@ -5002,9 +5072,9 @@ class Ge extends zt {
5002
5072
  // Declarative <option>/<optgroup> state (parsed once from light DOM).
5003
5073
  E(this, st, !1);
5004
5074
  E(this, ze, !1);
5005
- E(this, De);
5075
+ E(this, Ne);
5006
5076
  E(this, ke);
5007
- D(this, J, this.attachShadow({ mode: "open" })), qo(p(this, J), Qs), typeof requestAnimationFrame == "function" ? requestAnimationFrame(() => this.setAttribute("data-ready", "")) : this.setAttribute("data-ready", "");
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", "");
5008
5078
  }
5009
5079
  /**
5010
5080
  * Called by the browser when the surrounding <form> is reset. Clears the
@@ -5025,24 +5095,24 @@ class Ge extends zt {
5025
5095
  }
5026
5096
  /** Structural change (or first connect): mirror CSS vars, then (re)build the picker. */
5027
5097
  reinit() {
5028
- x(this, _, oo).call(this), this.isConnected && x(this, _, Bt).call(this);
5098
+ x(this, _, io).call(this), this.isConnected && x(this, _, Kt).call(this);
5029
5099
  }
5030
5100
  /** Cosmetic change: mirror CSS vars / custom styles / debug, patch the picker in place. */
5031
5101
  update(t) {
5032
- x(this, _, io).call(this, t), "customStylesCallback" in t && x(this, _, Ft).call(this), "showDebugInfo" in t && x(this, _, jt).call(this);
5102
+ x(this, _, ro).call(this, t), "customStylesCallback" in t && x(this, _, Wt).call(this), "showDebugInfo" in t && x(this, _, Ut).call(this);
5033
5103
  const o = {};
5034
5104
  for (const [i, r] of Object.entries(t))
5035
- Is.has(i) || (o[i] = r === null ? void 0 : r);
5036
- p(this, z) && Object.keys(o).length > 0 && (p(this, z).updateOptions(o) || x(this, _, Bt).call(this)), "mobilePresentation" in t && x(this, _, ct).call(this, At());
5105
+ 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());
5037
5107
  }
5038
5108
  /** Activate: ensure the picker exists (a DOM move destroyed it in disconnect()). */
5039
5109
  connect() {
5040
- p(this, z) || x(this, _, Kt).call(this);
5110
+ p(this, z) || x(this, _, Ft).call(this);
5041
5111
  }
5042
5112
  /** Deactivate: tear the picker down (rebuilt on the next connect). */
5043
5113
  disconnect() {
5044
5114
  var t;
5045
- (t = p(this, z)) == null || t.destroy(), D(this, z, void 0);
5115
+ (t = p(this, z)) == null || t.destroy(), N(this, z, void 0);
5046
5116
  }
5047
5117
  /**
5048
5118
  * Device/viewport/orientation changed (core §12.9). Overriding this opts the
@@ -5102,40 +5172,40 @@ class Ge extends zt {
5102
5172
  (t = p(this, z)) == null || t.destroy();
5103
5173
  }
5104
5174
  }
5105
- J = new WeakMap(), z = new WeakMap(), me = new WeakMap(), et = new WeakMap(), tt = new WeakMap(), st = new WeakMap(), ze = new WeakMap(), De = new WeakMap(), ke = new WeakMap(), _ = new WeakSet(), /** Resolve `mobile-presentation` against `env` and relay it to the live picker. */
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. */
5106
5176
  ct = function(t) {
5107
5177
  var r;
5108
- const o = this.config.mobilePresentation ?? "auto", i = si(o, t);
5178
+ const o = this.config.mobilePresentation ?? "auto", i = oi(o, t);
5109
5179
  (r = p(this, z)) == null || r.setPresentation(i === "modal" ? "fullscreen" : i);
5110
5180
  }, // ── picker lifecycle ──────────────────────────────────────────────────────
5111
- Bt = function() {
5181
+ Kt = function() {
5112
5182
  var t;
5113
- (t = p(this, z)) == null || t.destroy(), D(this, z, void 0), x(this, _, Kt).call(this);
5114
- }, Kt = function() {
5115
- x(this, _, Zs).call(this), x(this, _, ro).call(this);
5116
- const t = x(this, _, eo).call(this), o = x(this, _, to).call(this);
5117
- o && o.length > 0 ? p(this, me).dataset.initialValues = JSON.stringify(o) : delete p(this, me).dataset.initialValues, D(this, z, new wr(p(this, me), t)), x(this, _, Ft).call(this), x(this, _, jt).call(this), x(this, _, ct).call(this, At());
5118
- }, Zs = function() {
5183
+ (t = p(this, z)) == null || t.destroy(), N(this, z, void 0), x(this, _, Ft).call(this);
5184
+ }, Ft = function() {
5185
+ x(this, _, eo).call(this), x(this, _, no).call(this);
5186
+ 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());
5188
+ }, eo = function() {
5119
5189
  if (p(this, me)) return;
5120
5190
  const t = document.createElement("div");
5121
- t.setAttribute("data-multiselect", ""), this.className && (t.className = this.className), p(this, J).appendChild(t), D(this, et, Yo(p(this, J), { position: "first", className: "ms-custom-styles" })), D(this, me, t);
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);
5122
5192
  }, /**
5123
5193
  * Build the picker config from the merged `this.config`, minus the keys the
5124
5194
  * picker doesn't own, plus the runtime wiring (event bridges, container, host,
5125
5195
  * declarative option data + member defaults, counter default).
5126
5196
  */
5127
- eo = function() {
5197
+ to = function() {
5128
5198
  const t = { ...this.config };
5129
- for (const i of Is) delete t[i];
5199
+ for (const i of Ps) delete t[i];
5130
5200
  for (const i of Object.keys(t))
5131
5201
  t[i] === null && delete t[i];
5132
5202
  let o = t.options;
5133
- if (p(this, ze) && p(this, De))
5134
- o && o.length > 0 && K.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."), o = p(this, De);
5203
+ if (p(this, ze) && p(this, Ne))
5204
+ o && o.length > 0 && K.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."), o = p(this, Ne);
5135
5205
  else if (!o || o.length === 0) {
5136
5206
  const i = this.config.optionsSource;
5137
5207
  if (i != null) {
5138
- const r = this.config.optionsFormat ?? "json", { options: n, error: a } = kr(i, r, {
5208
+ const r = this.config.optionsFormat ?? "json", { options: n, error: a } = Cr(i, r, {
5139
5209
  splitter: this.config.optionsSplitter,
5140
5210
  rowSplitter: this.config.optionsRowSplitter
5141
5211
  });
@@ -5143,7 +5213,7 @@ eo = function() {
5143
5213
  }
5144
5214
  }
5145
5215
  if (t.options = o, p(this, ze))
5146
- for (const { key: i, member: r, callbackKey: n } of Er)
5216
+ for (const { key: i, member: r, callbackKey: n } of Ar)
5147
5217
  t[i] === void 0 && !t[n] && (t[i] = r);
5148
5218
  return t.getCounterCallback || (t.getCounterCallback = (i, r) => r !== void 0 ? `+${r} more` : `${i} selected`), t.onSelect = (i) => {
5149
5219
  var r;
@@ -5165,7 +5235,7 @@ eo = function() {
5165
5235
  selectedValues: x(this, _, dt).call(this)
5166
5236
  });
5167
5237
  }, t.container = p(this, J), t.hostElement = this, t;
5168
- }, to = function() {
5238
+ }, so = function() {
5169
5239
  if (p(this, ke) && p(this, ke).length > 0)
5170
5240
  return p(this, ke);
5171
5241
  const t = this.config.initialValues;
@@ -5175,7 +5245,7 @@ eo = function() {
5175
5245
  const t = (o = p(this, z)) == null ? void 0 : o.getValue();
5176
5246
  return t == null ? [] : Array.isArray(t) ? t : [t];
5177
5247
  }, // ── §12.8 custom styles ───────────────────────────────────────────────────
5178
- Ft = function() {
5248
+ Wt = function() {
5179
5249
  const t = p(this, et);
5180
5250
  if (!t) return;
5181
5251
  const o = this.config.customStylesCallback;
@@ -5185,7 +5255,7 @@ Ft = function() {
5185
5255
  }
5186
5256
  try {
5187
5257
  const i = o();
5188
- t.set(i), i && x(this, _, so).call(this, i);
5258
+ t.set(i), i && x(this, _, oo).call(this, i);
5189
5259
  } catch (i) {
5190
5260
  K.warn("[MultiSelectElement] customStylesCallback threw", i), t.clear();
5191
5261
  }
@@ -5198,28 +5268,28 @@ Ft = function() {
5198
5268
  * De-duped per instance. If you genuinely define a `--ms-*` var for your own
5199
5269
  * custom-rendered content, ignore the warning (or use a different prefix).
5200
5270
  */
5201
- so = function(t) {
5202
- const o = Lr();
5271
+ oo = function(t) {
5272
+ const o = Er();
5203
5273
  if (o.size !== 0)
5204
- for (const { name: i, suggestions: r } of ei(t, { prefix: "--ms-", consumed: o }))
5274
+ for (const { name: i, suggestions: r } of ti(t, { prefix: "--ms-", consumed: o }))
5205
5275
  p(this, tt).has(i) || (p(this, tt).add(i), console.warn(
5206
5276
  `[web-multiselect] customStylesCallback sets "${i}", which no web-multiselect style consumes — it will have no effect.` + (r.length ? ` Did you mean: ${r.join(", ")}?` : "") + " (If it's for your own custom-rendered content, ignore this.)"
5207
5277
  ));
5208
5278
  }, // ── CSS-var sugar ─────────────────────────────────────────────────────────
5209
- oo = function() {
5210
- for (const t of Object.keys(at)) x(this, _, Wt).call(this, at[t], this.config[t]);
5211
- }, io = function(t) {
5279
+ io = function() {
5280
+ for (const t of Object.keys(at)) x(this, _, jt).call(this, at[t], this.config[t]);
5281
+ }, ro = function(t) {
5212
5282
  for (const o of Object.keys(at))
5213
- o in t && x(this, _, Wt).call(this, at[o], t[o]);
5214
- }, Wt = function(t, o) {
5283
+ o in t && x(this, _, jt).call(this, at[o], t[o]);
5284
+ }, jt = function(t, o) {
5215
5285
  o == null || o === "" ? this.style.removeProperty(t) : this.style.setProperty(t, String(o));
5216
5286
  }, // ── declarative <option> parsing (light DOM, once) ────────────────────────
5217
- ro = function() {
5287
+ no = function() {
5218
5288
  if (p(this, st)) return;
5219
- D(this, st, !0);
5220
- const t = x(this, _, no).call(this);
5221
- t && (D(this, De, t), D(this, ze, !0));
5222
- }, no = function() {
5289
+ N(this, st, !0);
5290
+ const t = x(this, _, ao).call(this);
5291
+ t && (N(this, Ne, t), N(this, ze, !0));
5292
+ }, ao = function() {
5223
5293
  const t = Array.from(this.children);
5224
5294
  if (t.length === 0) return null;
5225
5295
  const o = [];
@@ -5230,7 +5300,7 @@ ro = function() {
5230
5300
  value: n.value || ((c = n.textContent) == null ? void 0 : c.trim()) || "",
5231
5301
  label: ((d = n.textContent) == null ? void 0 : d.trim()) || n.value || ""
5232
5302
  };
5233
- a && (l.group = a), n.hasAttribute("selected") && (p(this, ke) ?? D(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;
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;
5234
5304
  };
5235
5305
  for (const n of t)
5236
5306
  if (n.tagName === "OPTION")
@@ -5246,7 +5316,7 @@ ro = function() {
5246
5316
  (n.tagName === "OPTION" || n.tagName === "OPTGROUP") && n.remove();
5247
5317
  return o;
5248
5318
  }, // ── debug panel (deprecated; kept for back-compat) ────────────────────────
5249
- jt = function() {
5319
+ Ut = function() {
5250
5320
  const t = p(this, J).querySelector(".ms__debug-info");
5251
5321
  if (t && t.remove(), !this.config.showDebugInfo) return;
5252
5322
  const o = document.createElement("div");
@@ -5254,12 +5324,12 @@ jt = function() {
5254
5324
  const i = document.createElement("details"), r = document.createElement("summary");
5255
5325
  r.textContent = "Debug Info";
5256
5326
  const n = document.createElement("div");
5257
- n.className = "ms__debug-stats", i.appendChild(r), i.appendChild(n), o.appendChild(i), p(this, J).appendChild(o), x(this, _, Ut).call(this);
5258
- }, Ut = function() {
5327
+ n.className = "ms__debug-stats", i.appendChild(r), i.appendChild(n), o.appendChild(i), p(this, J).appendChild(o), x(this, _, Gt).call(this);
5328
+ }, Gt = function() {
5259
5329
  var l, c, d, h;
5260
5330
  const t = p(this, J).querySelector(".ms__debug-stats");
5261
5331
  if (!t || !p(this, z)) return;
5262
- const o = "2.0.0-rc06", 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);
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);
5263
5333
  t.innerHTML = `
5264
5334
  <span>Version: ${o}</span>
5265
5335
  <span>Total Instances: ${i}</span>
@@ -5270,16 +5340,16 @@ jt = function() {
5270
5340
  <span>Search: ${a.searchTerm || "none"}</span>
5271
5341
  <span>Loading: ${a.isLoading ? "Yes" : "No"}</span>
5272
5342
  `, setTimeout(() => {
5273
- this.config.showDebugInfo && x(this, _, Ut).call(this);
5343
+ this.config.showDebugInfo && x(this, _, Gt).call(this);
5274
5344
  }, 500);
5275
5345
  }, // Opt into the form-associated custom element lifecycle so form.reset() and
5276
5346
  // form.elements see the control.
5277
- m(Ge, "formAssociated", !0), m(Ge, "inputs", Ir), m(Ge, "events", Pr);
5347
+ m(Ge, "formAssociated", !0), m(Ge, "inputs", Pr), m(Ge, "events", Mr);
5278
5348
  typeof customElements < "u" && !customElements.get("web-multiselect") && customElements.define("web-multiselect", Ge);
5279
- Go("web-multiselect", Ge, {
5349
+ Xo("web-multiselect", Ge, {
5280
5350
  config: {
5281
5351
  name: "@keenmate/web-multiselect",
5282
- version: "2.0.0-rc06",
5352
+ version: "2.0.0-rc07",
5283
5353
  author: "Keenmate",
5284
5354
  license: "MIT",
5285
5355
  repository: "git+https://github.com/keenmate/web-multiselect.git",
@@ -5288,17 +5358,17 @@ Go("web-multiselect", Ge, {
5288
5358
  logging: ae
5289
5359
  });
5290
5360
  export {
5291
- zr as LOGGING_CATEGORIES,
5361
+ Nr as LOGGING_CATEGORIES,
5292
5362
  Ge as MultiSelectElement,
5293
- _r as OPTIONS_FORMATS,
5294
- wr as WebMultiSelect,
5363
+ kr as OPTIONS_FORMATS,
5364
+ xr as WebMultiSelect,
5295
5365
  K as dataLogger,
5296
5366
  $r as disableLogging,
5297
5367
  Dr as enableLogging,
5298
5368
  nt as initLogger,
5299
5369
  W as interactionLogger,
5300
- kr as parseOptionsData,
5301
- Nr as setCategoryLevel,
5370
+ Cr as parseOptionsData,
5371
+ Rr as setCategoryLevel,
5302
5372
  Vr as setLogLevel,
5303
5373
  Q as uiLogger
5304
5374
  };