@keenmate/web-multiselect 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  var lt = Object.defineProperty;
2
- var ct = (o, e, t) => e in o ? lt(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
- var p = (o, e, t) => ct(o, typeof e != "symbol" ? e + "" : e, t);
4
- const ce = Math.min, H = Math.max, de = Math.round, ae = Math.floor, E = (o) => ({
5
- x: o,
6
- y: o
2
+ var ct = (s, e, t) => e in s ? lt(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
+ var h = (s, e, t) => ct(s, typeof e != "symbol" ? e + "" : e, t);
4
+ const ce = Math.min, H = Math.max, de = Math.round, ae = Math.floor, E = (s) => ({
5
+ x: s,
6
+ y: s
7
7
  }), dt = {
8
8
  left: "right",
9
9
  right: "left",
@@ -13,232 +13,232 @@ const ce = Math.min, H = Math.max, de = Math.round, ae = Math.floor, E = (o) =>
13
13
  start: "end",
14
14
  end: "start"
15
15
  };
16
- function Ee(o, e, t) {
17
- return H(o, ce(e, t));
16
+ function Ee(s, e, t) {
17
+ return H(s, ce(e, t));
18
18
  }
19
- function he(o, e) {
20
- return typeof o == "function" ? o(e) : o;
19
+ function pe(s, e) {
20
+ return typeof s == "function" ? s(e) : s;
21
21
  }
22
- function F(o) {
23
- return o.split("-")[0];
22
+ function F(s) {
23
+ return s.split("-")[0];
24
24
  }
25
- function ue(o) {
26
- return o.split("-")[1];
25
+ function ue(s) {
26
+ return s.split("-")[1];
27
27
  }
28
- function Fe(o) {
29
- return o === "x" ? "y" : "x";
28
+ function Fe(s) {
29
+ return s === "x" ? "y" : "x";
30
30
  }
31
- function Ge(o) {
32
- return o === "y" ? "height" : "width";
31
+ function Ge(s) {
32
+ return s === "y" ? "height" : "width";
33
33
  }
34
- const pt = /* @__PURE__ */ new Set(["top", "bottom"]);
35
- function P(o) {
36
- return pt.has(F(o)) ? "y" : "x";
34
+ const ht = /* @__PURE__ */ new Set(["top", "bottom"]);
35
+ function z(s) {
36
+ return ht.has(F(s)) ? "y" : "x";
37
37
  }
38
- function We(o) {
39
- return Fe(P(o));
38
+ function We(s) {
39
+ return Fe(z(s));
40
40
  }
41
- function ht(o, e, t) {
41
+ function pt(s, e, t) {
42
42
  t === void 0 && (t = !1);
43
- const s = ue(o), i = We(o), r = Ge(i);
44
- let a = i === "x" ? s === (t ? "end" : "start") ? "right" : "left" : s === "start" ? "bottom" : "top";
43
+ const o = ue(s), i = We(s), r = Ge(i);
44
+ let a = i === "x" ? o === (t ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
45
45
  return e.reference[r] > e.floating[r] && (a = me(a)), [a, me(a)];
46
46
  }
47
- function ut(o) {
48
- const e = me(o);
49
- return [ke(o), e, ke(e)];
47
+ function ut(s) {
48
+ const e = me(s);
49
+ return [ke(s), e, ke(e)];
50
50
  }
51
- function ke(o) {
52
- return o.replace(/start|end/g, (e) => mt[e]);
51
+ function ke(s) {
52
+ return s.replace(/start|end/g, (e) => mt[e]);
53
53
  }
54
- const ze = ["left", "right"], Me = ["right", "left"], gt = ["top", "bottom"], bt = ["bottom", "top"];
55
- function ft(o, e, t) {
56
- switch (o) {
54
+ const Me = ["left", "right"], Ve = ["right", "left"], bt = ["top", "bottom"], gt = ["bottom", "top"];
55
+ function ft(s, e, t) {
56
+ switch (s) {
57
57
  case "top":
58
58
  case "bottom":
59
- return t ? e ? Me : ze : e ? ze : Me;
59
+ return t ? e ? Ve : Me : e ? Me : Ve;
60
60
  case "left":
61
61
  case "right":
62
- return e ? gt : bt;
62
+ return e ? bt : gt;
63
63
  default:
64
64
  return [];
65
65
  }
66
66
  }
67
- function vt(o, e, t, s) {
68
- const i = ue(o);
69
- let r = ft(F(o), t === "start", s);
67
+ function vt(s, e, t, o) {
68
+ const i = ue(s);
69
+ let r = ft(F(s), t === "start", o);
70
70
  return i && (r = r.map((a) => a + "-" + i), e && (r = r.concat(r.map(ke)))), r;
71
71
  }
72
- function me(o) {
73
- return o.replace(/left|right|bottom|top/g, (e) => dt[e]);
72
+ function me(s) {
73
+ return s.replace(/left|right|bottom|top/g, (e) => dt[e]);
74
74
  }
75
- function _t(o) {
75
+ function _t(s) {
76
76
  return {
77
77
  top: 0,
78
78
  right: 0,
79
79
  bottom: 0,
80
80
  left: 0,
81
- ...o
81
+ ...s
82
82
  };
83
83
  }
84
- function wt(o) {
85
- return typeof o != "number" ? _t(o) : {
86
- top: o,
87
- right: o,
88
- bottom: o,
89
- left: o
84
+ function wt(s) {
85
+ return typeof s != "number" ? _t(s) : {
86
+ top: s,
87
+ right: s,
88
+ bottom: s,
89
+ left: s
90
90
  };
91
91
  }
92
- function pe(o) {
92
+ function he(s) {
93
93
  const {
94
94
  x: e,
95
95
  y: t,
96
- width: s,
96
+ width: o,
97
97
  height: i
98
- } = o;
98
+ } = s;
99
99
  return {
100
- width: s,
100
+ width: o,
101
101
  height: i,
102
102
  top: t,
103
103
  left: e,
104
- right: e + s,
104
+ right: e + o,
105
105
  bottom: t + i,
106
106
  x: e,
107
107
  y: t
108
108
  };
109
109
  }
110
- function Ve(o, e, t) {
110
+ function Pe(s, e, t) {
111
111
  let {
112
- reference: s,
112
+ reference: o,
113
113
  floating: i
114
- } = o;
115
- const r = P(e), a = We(e), n = Ge(a), l = F(e), c = r === "y", d = s.x + s.width / 2 - i.width / 2, h = s.y + s.height / 2 - i.height / 2, u = s[n] / 2 - i[n] / 2;
114
+ } = s;
115
+ const r = z(e), a = We(e), n = Ge(a), l = F(e), d = r === "y", c = o.x + o.width / 2 - i.width / 2, p = o.y + o.height / 2 - i.height / 2, u = o[n] / 2 - i[n] / 2;
116
116
  let m;
117
117
  switch (l) {
118
118
  case "top":
119
119
  m = {
120
- x: d,
121
- y: s.y - i.height
120
+ x: c,
121
+ y: o.y - i.height
122
122
  };
123
123
  break;
124
124
  case "bottom":
125
125
  m = {
126
- x: d,
127
- y: s.y + s.height
126
+ x: c,
127
+ y: o.y + o.height
128
128
  };
129
129
  break;
130
130
  case "right":
131
131
  m = {
132
- x: s.x + s.width,
133
- y: h
132
+ x: o.x + o.width,
133
+ y: p
134
134
  };
135
135
  break;
136
136
  case "left":
137
137
  m = {
138
- x: s.x - i.width,
139
- y: h
138
+ x: o.x - i.width,
139
+ y: p
140
140
  };
141
141
  break;
142
142
  default:
143
143
  m = {
144
- x: s.x,
145
- y: s.y
144
+ x: o.x,
145
+ y: o.y
146
146
  };
147
147
  }
148
148
  switch (ue(e)) {
149
149
  case "start":
150
- m[a] -= u * (t && c ? -1 : 1);
150
+ m[a] -= u * (t && d ? -1 : 1);
151
151
  break;
152
152
  case "end":
153
- m[a] += u * (t && c ? -1 : 1);
153
+ m[a] += u * (t && d ? -1 : 1);
154
154
  break;
155
155
  }
156
156
  return m;
157
157
  }
158
- const xt = async (o, e, t) => {
158
+ const xt = async (s, e, t) => {
159
159
  const {
160
- placement: s = "bottom",
160
+ placement: o = "bottom",
161
161
  strategy: i = "absolute",
162
162
  middleware: r = [],
163
163
  platform: a
164
164
  } = t, n = r.filter(Boolean), l = await (a.isRTL == null ? void 0 : a.isRTL(e));
165
- let c = await a.getElementRects({
166
- reference: o,
165
+ let d = await a.getElementRects({
166
+ reference: s,
167
167
  floating: e,
168
168
  strategy: i
169
169
  }), {
170
- x: d,
171
- y: h
172
- } = Ve(c, s, l), u = s, m = {}, g = 0;
173
- for (let b = 0; b < n.length; b++) {
170
+ x: c,
171
+ y: p
172
+ } = Pe(d, o, l), u = o, m = {}, b = 0;
173
+ for (let g = 0; g < n.length; g++) {
174
174
  const {
175
175
  name: v,
176
176
  fn: _
177
- } = n[b], {
177
+ } = n[g], {
178
178
  x: w,
179
179
  y: k,
180
180
  data: C,
181
181
  reset: y
182
182
  } = await _({
183
- x: d,
184
- y: h,
185
- initialPlacement: s,
183
+ x: c,
184
+ y: p,
185
+ initialPlacement: o,
186
186
  placement: u,
187
187
  strategy: i,
188
188
  middlewareData: m,
189
- rects: c,
189
+ rects: d,
190
190
  platform: a,
191
191
  elements: {
192
- reference: o,
192
+ reference: s,
193
193
  floating: e
194
194
  }
195
195
  });
196
- d = w ?? d, h = k ?? h, m = {
196
+ c = w ?? c, p = k ?? p, m = {
197
197
  ...m,
198
198
  [v]: {
199
199
  ...m[v],
200
200
  ...C
201
201
  }
202
- }, y && g <= 50 && (g++, typeof y == "object" && (y.placement && (u = y.placement), y.rects && (c = y.rects === !0 ? await a.getElementRects({
203
- reference: o,
202
+ }, y && b <= 50 && (b++, typeof y == "object" && (y.placement && (u = y.placement), y.rects && (d = y.rects === !0 ? await a.getElementRects({
203
+ reference: s,
204
204
  floating: e,
205
205
  strategy: i
206
206
  }) : y.rects), {
207
- x: d,
208
- y: h
209
- } = Ve(c, u, l)), b = -1);
207
+ x: c,
208
+ y: p
209
+ } = Pe(d, u, l)), g = -1);
210
210
  }
211
211
  return {
212
- x: d,
213
- y: h,
212
+ x: c,
213
+ y: p,
214
214
  placement: u,
215
215
  strategy: i,
216
216
  middlewareData: m
217
217
  };
218
218
  };
219
- async function je(o, e) {
219
+ async function je(s, e) {
220
220
  var t;
221
221
  e === void 0 && (e = {});
222
222
  const {
223
- x: s,
223
+ x: o,
224
224
  y: i,
225
225
  platform: r,
226
226
  rects: a,
227
227
  elements: n,
228
228
  strategy: l
229
- } = o, {
230
- boundary: c = "clippingAncestors",
231
- rootBoundary: d = "viewport",
232
- elementContext: h = "floating",
229
+ } = s, {
230
+ boundary: d = "clippingAncestors",
231
+ rootBoundary: c = "viewport",
232
+ elementContext: p = "floating",
233
233
  altBoundary: u = !1,
234
234
  padding: m = 0
235
- } = he(e, o), g = wt(m), v = n[u ? h === "floating" ? "reference" : "floating" : h], _ = pe(await r.getClippingRect({
235
+ } = pe(e, s), b = wt(m), v = n[u ? p === "floating" ? "reference" : "floating" : p], _ = he(await r.getClippingRect({
236
236
  element: (t = await (r.isElement == null ? void 0 : r.isElement(v))) == null || t ? v : v.contextElement || await (r.getDocumentElement == null ? void 0 : r.getDocumentElement(n.floating)),
237
- boundary: c,
238
- rootBoundary: d,
237
+ boundary: d,
238
+ rootBoundary: c,
239
239
  strategy: l
240
- })), w = h === "floating" ? {
241
- x: s,
240
+ })), w = p === "floating" ? {
241
+ x: o,
242
242
  y: i,
243
243
  width: a.floating.width,
244
244
  height: a.floating.height
@@ -248,49 +248,49 @@ async function je(o, e) {
248
248
  } : {
249
249
  x: 1,
250
250
  y: 1
251
- }, y = pe(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({
251
+ }, y = he(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({
252
252
  elements: n,
253
253
  rect: w,
254
254
  offsetParent: k,
255
255
  strategy: l
256
256
  }) : w);
257
257
  return {
258
- top: (_.top - y.top + g.top) / C.y,
259
- bottom: (y.bottom - _.bottom + g.bottom) / C.y,
260
- left: (_.left - y.left + g.left) / C.x,
261
- right: (y.right - _.right + g.right) / C.x
258
+ top: (_.top - y.top + b.top) / C.y,
259
+ bottom: (y.bottom - _.bottom + b.bottom) / C.y,
260
+ left: (_.left - y.left + b.left) / C.x,
261
+ right: (y.right - _.right + b.right) / C.x
262
262
  };
263
263
  }
264
- const kt = function(o) {
265
- return o === void 0 && (o = {}), {
264
+ const kt = function(s) {
265
+ return s === void 0 && (s = {}), {
266
266
  name: "flip",
267
- options: o,
267
+ options: s,
268
268
  async fn(e) {
269
- var t, s;
269
+ var t, o;
270
270
  const {
271
271
  placement: i,
272
272
  middlewareData: r,
273
273
  rects: a,
274
274
  initialPlacement: n,
275
275
  platform: l,
276
- elements: c
276
+ elements: d
277
277
  } = e, {
278
- mainAxis: d = !0,
279
- crossAxis: h = !0,
278
+ mainAxis: c = !0,
279
+ crossAxis: p = !0,
280
280
  fallbackPlacements: u,
281
281
  fallbackStrategy: m = "bestFit",
282
- fallbackAxisSideDirection: g = "none",
283
- flipAlignment: b = !0,
282
+ fallbackAxisSideDirection: b = "none",
283
+ flipAlignment: g = !0,
284
284
  ...v
285
- } = he(o, e);
285
+ } = pe(s, e);
286
286
  if ((t = r.arrow) != null && t.alignmentOffset)
287
287
  return {};
288
- const _ = F(i), w = P(n), k = F(n) === n, C = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), y = u || (k || !b ? [me(n)] : ut(n)), J = g !== "none";
289
- !u && J && y.push(...vt(n, b, g, C));
288
+ const _ = F(i), w = z(n), k = F(n) === n, C = await (l.isRTL == null ? void 0 : l.isRTL(d.floating)), y = u || (k || !g ? [me(n)] : ut(n)), J = b !== "none";
289
+ !u && J && y.push(...vt(n, g, b, C));
290
290
  const W = [n, ...y], _e = await je(e, v), re = [];
291
- let j = ((s = r.flip) == null ? void 0 : s.overflows) || [];
292
- if (d && re.push(_e[_]), h) {
293
- const D = ht(i, a, C);
291
+ let j = ((o = r.flip) == null ? void 0 : o.overflows) || [];
292
+ if (c && re.push(_e[_]), p) {
293
+ const D = pt(i, a, C);
294
294
  re.push(_e[D[0]], _e[D[1]]);
295
295
  }
296
296
  if (j = [...j, {
@@ -299,9 +299,9 @@ const kt = function(o) {
299
299
  }], !re.every((D) => D <= 0)) {
300
300
  var Oe, Le;
301
301
  const D = (((Oe = r.flip) == null ? void 0 : Oe.index) || 0) + 1, we = W[D];
302
- if (we && (!(h === "alignment" ? w !== P(we) : !1) || // We leave the current main axis only if every placement on that axis
302
+ if (we && (!(p === "alignment" ? w !== z(we) : !1) || // We leave the current main axis only if every placement on that axis
303
303
  // overflows the main axis.
304
- j.every((T) => P(T.placement) === w ? T.overflows[0] > 0 : !0)))
304
+ j.every((T) => z(T.placement) === w ? T.overflows[0] > 0 : !0)))
305
305
  return {
306
306
  data: {
307
307
  index: D,
@@ -318,13 +318,13 @@ const kt = function(o) {
318
318
  var $e;
319
319
  const R = ($e = j.filter((T) => {
320
320
  if (J) {
321
- const V = P(T.placement);
322
- return V === w || // Create a bias to the `y` side axis due to horizontal
321
+ const P = z(T.placement);
322
+ return P === w || // Create a bias to the `y` side axis due to horizontal
323
323
  // reading directions favoring greater width.
324
- V === "y";
324
+ P === "y";
325
325
  }
326
326
  return !0;
327
- }).map((T) => [T.placement, T.overflows.filter((V) => V > 0).reduce((V, nt) => V + nt, 0)]).sort((T, V) => T[1] - V[1])[0]) == null ? void 0 : $e[0];
327
+ }).map((T) => [T.placement, T.overflows.filter((P) => P > 0).reduce((P, nt) => P + nt, 0)]).sort((T, P) => T[1] - P[1])[0]) == null ? void 0 : $e[0];
328
328
  R && (X = R);
329
329
  break;
330
330
  }
@@ -343,46 +343,46 @@ const kt = function(o) {
343
343
  }
344
344
  };
345
345
  }, yt = /* @__PURE__ */ new Set(["left", "top"]);
346
- async function Ct(o, e) {
346
+ async function Ct(s, e) {
347
347
  const {
348
348
  placement: t,
349
- platform: s,
349
+ platform: o,
350
350
  elements: i
351
- } = o, r = await (s.isRTL == null ? void 0 : s.isRTL(i.floating)), a = F(t), n = ue(t), l = P(t) === "y", c = yt.has(a) ? -1 : 1, d = r && l ? -1 : 1, h = he(e, o);
351
+ } = s, r = await (o.isRTL == null ? void 0 : o.isRTL(i.floating)), a = F(t), n = ue(t), l = z(t) === "y", d = yt.has(a) ? -1 : 1, c = r && l ? -1 : 1, p = pe(e, s);
352
352
  let {
353
353
  mainAxis: u,
354
354
  crossAxis: m,
355
- alignmentAxis: g
356
- } = typeof h == "number" ? {
357
- mainAxis: h,
355
+ alignmentAxis: b
356
+ } = typeof p == "number" ? {
357
+ mainAxis: p,
358
358
  crossAxis: 0,
359
359
  alignmentAxis: null
360
360
  } : {
361
- mainAxis: h.mainAxis || 0,
362
- crossAxis: h.crossAxis || 0,
363
- alignmentAxis: h.alignmentAxis
361
+ mainAxis: p.mainAxis || 0,
362
+ crossAxis: p.crossAxis || 0,
363
+ alignmentAxis: p.alignmentAxis
364
364
  };
365
- return n && typeof g == "number" && (m = n === "end" ? g * -1 : g), l ? {
366
- x: m * d,
367
- y: u * c
365
+ return n && typeof b == "number" && (m = n === "end" ? b * -1 : b), l ? {
366
+ x: m * c,
367
+ y: u * d
368
368
  } : {
369
- x: u * c,
370
- y: m * d
369
+ x: u * d,
370
+ y: m * c
371
371
  };
372
372
  }
373
- const St = function(o) {
374
- return o === void 0 && (o = 0), {
373
+ const St = function(s) {
374
+ return s === void 0 && (s = 0), {
375
375
  name: "offset",
376
- options: o,
376
+ options: s,
377
377
  async fn(e) {
378
- var t, s;
378
+ var t, o;
379
379
  const {
380
380
  x: i,
381
381
  y: r,
382
382
  placement: a,
383
383
  middlewareData: n
384
- } = e, l = await Ct(e, o);
385
- return a === ((t = n.offset) == null ? void 0 : t.placement) && (s = n.arrow) != null && s.alignmentOffset ? {} : {
384
+ } = e, l = await Ct(e, s);
385
+ return a === ((t = n.offset) == null ? void 0 : t.placement) && (o = n.arrow) != null && o.alignmentOffset ? {} : {
386
386
  x: i + l.x,
387
387
  y: r + l.y,
388
388
  data: {
@@ -392,14 +392,14 @@ const St = function(o) {
392
392
  };
393
393
  }
394
394
  };
395
- }, At = function(o) {
396
- return o === void 0 && (o = {}), {
395
+ }, At = function(s) {
396
+ return s === void 0 && (s = {}), {
397
397
  name: "shift",
398
- options: o,
398
+ options: s,
399
399
  async fn(e) {
400
400
  const {
401
401
  x: t,
402
- y: s,
402
+ y: o,
403
403
  placement: i
404
404
  } = e, {
405
405
  mainAxis: r = !0,
@@ -417,99 +417,99 @@ const St = function(o) {
417
417
  }
418
418
  },
419
419
  ...l
420
- } = he(o, e), c = {
420
+ } = pe(s, e), d = {
421
421
  x: t,
422
- y: s
423
- }, d = await je(e, l), h = P(F(i)), u = Fe(h);
424
- let m = c[u], g = c[h];
422
+ y: o
423
+ }, c = await je(e, l), p = z(F(i)), u = Fe(p);
424
+ let m = d[u], b = d[p];
425
425
  if (r) {
426
- const v = u === "y" ? "top" : "left", _ = u === "y" ? "bottom" : "right", w = m + d[v], k = m - d[_];
426
+ const v = u === "y" ? "top" : "left", _ = u === "y" ? "bottom" : "right", w = m + c[v], k = m - c[_];
427
427
  m = Ee(w, m, k);
428
428
  }
429
429
  if (a) {
430
- const v = h === "y" ? "top" : "left", _ = h === "y" ? "bottom" : "right", w = g + d[v], k = g - d[_];
431
- g = Ee(w, g, k);
430
+ const v = p === "y" ? "top" : "left", _ = p === "y" ? "bottom" : "right", w = b + c[v], k = b - c[_];
431
+ b = Ee(w, b, k);
432
432
  }
433
- const b = n.fn({
433
+ const g = n.fn({
434
434
  ...e,
435
435
  [u]: m,
436
- [h]: g
436
+ [p]: b
437
437
  });
438
438
  return {
439
- ...b,
439
+ ...g,
440
440
  data: {
441
- x: b.x - t,
442
- y: b.y - s,
441
+ x: g.x - t,
442
+ y: g.y - o,
443
443
  enabled: {
444
444
  [u]: r,
445
- [h]: a
445
+ [p]: a
446
446
  }
447
447
  }
448
448
  };
449
449
  }
450
450
  };
451
451
  };
452
- function ge() {
452
+ function be() {
453
453
  return typeof window < "u";
454
454
  }
455
- function Y(o) {
456
- return Ue(o) ? (o.nodeName || "").toLowerCase() : "#document";
455
+ function Y(s) {
456
+ return Ue(s) ? (s.nodeName || "").toLowerCase() : "#document";
457
457
  }
458
- function I(o) {
458
+ function I(s) {
459
459
  var e;
460
- return (o == null || (e = o.ownerDocument) == null ? void 0 : e.defaultView) || window;
460
+ return (s == null || (e = s.ownerDocument) == null ? void 0 : e.defaultView) || window;
461
461
  }
462
- function M(o) {
462
+ function V(s) {
463
463
  var e;
464
- return (e = (Ue(o) ? o.ownerDocument : o.document) || window.document) == null ? void 0 : e.documentElement;
464
+ return (e = (Ue(s) ? s.ownerDocument : s.document) || window.document) == null ? void 0 : e.documentElement;
465
465
  }
466
- function Ue(o) {
467
- return ge() ? o instanceof Node || o instanceof I(o).Node : !1;
466
+ function Ue(s) {
467
+ return be() ? s instanceof Node || s instanceof I(s).Node : !1;
468
468
  }
469
- function L(o) {
470
- return ge() ? o instanceof Element || o instanceof I(o).Element : !1;
469
+ function L(s) {
470
+ return be() ? s instanceof Element || s instanceof I(s).Element : !1;
471
471
  }
472
- function z(o) {
473
- return ge() ? o instanceof HTMLElement || o instanceof I(o).HTMLElement : !1;
472
+ function M(s) {
473
+ return be() ? s instanceof HTMLElement || s instanceof I(s).HTMLElement : !1;
474
474
  }
475
- function Pe(o) {
476
- return !ge() || typeof ShadowRoot > "u" ? !1 : o instanceof ShadowRoot || o instanceof I(o).ShadowRoot;
475
+ function ze(s) {
476
+ return !be() || typeof ShadowRoot > "u" ? !1 : s instanceof ShadowRoot || s instanceof I(s).ShadowRoot;
477
477
  }
478
478
  const It = /* @__PURE__ */ new Set(["inline", "contents"]);
479
- function ie(o) {
479
+ function ie(s) {
480
480
  const {
481
481
  overflow: e,
482
482
  overflowX: t,
483
- overflowY: s,
483
+ overflowY: o,
484
484
  display: i
485
- } = $(o);
486
- return /auto|scroll|overlay|hidden|clip/.test(e + s + t) && !It.has(i);
485
+ } = $(s);
486
+ return /auto|scroll|overlay|hidden|clip/.test(e + o + t) && !It.has(i);
487
487
  }
488
488
  const Tt = /* @__PURE__ */ new Set(["table", "td", "th"]);
489
- function Ot(o) {
490
- return Tt.has(Y(o));
489
+ function Ot(s) {
490
+ return Tt.has(Y(s));
491
491
  }
492
492
  const Lt = [":popover-open", ":modal"];
493
- function be(o) {
493
+ function ge(s) {
494
494
  return Lt.some((e) => {
495
495
  try {
496
- return o.matches(e);
496
+ return s.matches(e);
497
497
  } catch {
498
498
  return !1;
499
499
  }
500
500
  });
501
501
  }
502
- const $t = ["transform", "translate", "scale", "rotate", "perspective"], Et = ["transform", "translate", "scale", "rotate", "perspective", "filter"], zt = ["paint", "layout", "strict", "content"];
503
- function Ae(o) {
504
- const e = Ie(), t = L(o) ? $(o) : o;
505
- return $t.some((s) => t[s] ? t[s] !== "none" : !1) || (t.containerType ? t.containerType !== "normal" : !1) || !e && (t.backdropFilter ? t.backdropFilter !== "none" : !1) || !e && (t.filter ? t.filter !== "none" : !1) || Et.some((s) => (t.willChange || "").includes(s)) || zt.some((s) => (t.contain || "").includes(s));
502
+ const $t = ["transform", "translate", "scale", "rotate", "perspective"], Et = ["transform", "translate", "scale", "rotate", "perspective", "filter"], Mt = ["paint", "layout", "strict", "content"];
503
+ function Ae(s) {
504
+ const e = Ie(), t = L(s) ? $(s) : s;
505
+ return $t.some((o) => t[o] ? t[o] !== "none" : !1) || (t.containerType ? t.containerType !== "normal" : !1) || !e && (t.backdropFilter ? t.backdropFilter !== "none" : !1) || !e && (t.filter ? t.filter !== "none" : !1) || Et.some((o) => (t.willChange || "").includes(o)) || Mt.some((o) => (t.contain || "").includes(o));
506
506
  }
507
- function Mt(o) {
508
- let e = B(o);
509
- for (; z(e) && !K(e); ) {
507
+ function Vt(s) {
508
+ let e = B(s);
509
+ for (; M(e) && !K(e); ) {
510
510
  if (Ae(e))
511
511
  return e;
512
- if (be(e))
512
+ if (ge(e))
513
513
  return null;
514
514
  e = B(e);
515
515
  }
@@ -518,158 +518,158 @@ function Mt(o) {
518
518
  function Ie() {
519
519
  return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
520
520
  }
521
- const Vt = /* @__PURE__ */ new Set(["html", "body", "#document"]);
522
- function K(o) {
523
- return Vt.has(Y(o));
521
+ const Pt = /* @__PURE__ */ new Set(["html", "body", "#document"]);
522
+ function K(s) {
523
+ return Pt.has(Y(s));
524
524
  }
525
- function $(o) {
526
- return I(o).getComputedStyle(o);
525
+ function $(s) {
526
+ return I(s).getComputedStyle(s);
527
527
  }
528
- function fe(o) {
529
- return L(o) ? {
530
- scrollLeft: o.scrollLeft,
531
- scrollTop: o.scrollTop
528
+ function fe(s) {
529
+ return L(s) ? {
530
+ scrollLeft: s.scrollLeft,
531
+ scrollTop: s.scrollTop
532
532
  } : {
533
- scrollLeft: o.scrollX,
534
- scrollTop: o.scrollY
533
+ scrollLeft: s.scrollX,
534
+ scrollTop: s.scrollY
535
535
  };
536
536
  }
537
- function B(o) {
538
- if (Y(o) === "html")
539
- return o;
537
+ function B(s) {
538
+ if (Y(s) === "html")
539
+ return s;
540
540
  const e = (
541
541
  // Step into the shadow DOM of the parent of a slotted node.
542
- o.assignedSlot || // DOM Element detected.
543
- o.parentNode || // ShadowRoot detected.
544
- Pe(o) && o.host || // Fallback.
545
- M(o)
542
+ s.assignedSlot || // DOM Element detected.
543
+ s.parentNode || // ShadowRoot detected.
544
+ ze(s) && s.host || // Fallback.
545
+ V(s)
546
546
  );
547
- return Pe(e) ? e.host : e;
547
+ return ze(e) ? e.host : e;
548
548
  }
549
- function Ke(o) {
550
- const e = B(o);
551
- return K(e) ? o.ownerDocument ? o.ownerDocument.body : o.body : z(e) && ie(e) ? e : Ke(e);
549
+ function Ke(s) {
550
+ const e = B(s);
551
+ return K(e) ? s.ownerDocument ? s.ownerDocument.body : s.body : M(e) && ie(e) ? e : Ke(e);
552
552
  }
553
- function se(o, e, t) {
554
- var s;
553
+ function se(s, e, t) {
554
+ var o;
555
555
  e === void 0 && (e = []), t === void 0 && (t = !0);
556
- const i = Ke(o), r = i === ((s = o.ownerDocument) == null ? void 0 : s.body), a = I(i);
556
+ const i = Ke(s), r = i === ((o = s.ownerDocument) == null ? void 0 : o.body), a = I(i);
557
557
  if (r) {
558
558
  const n = ye(a);
559
559
  return e.concat(a, a.visualViewport || [], ie(i) ? i : [], n && t ? se(n) : []);
560
560
  }
561
561
  return e.concat(i, se(i, [], t));
562
562
  }
563
- function ye(o) {
564
- return o.parent && Object.getPrototypeOf(o.parent) ? o.frameElement : null;
563
+ function ye(s) {
564
+ return s.parent && Object.getPrototypeOf(s.parent) ? s.frameElement : null;
565
565
  }
566
- function Ye(o) {
567
- const e = $(o);
568
- let t = parseFloat(e.width) || 0, s = parseFloat(e.height) || 0;
569
- const i = z(o), r = i ? o.offsetWidth : t, a = i ? o.offsetHeight : s, n = de(t) !== r || de(s) !== a;
570
- return n && (t = r, s = a), {
566
+ function Ye(s) {
567
+ const e = $(s);
568
+ let t = parseFloat(e.width) || 0, o = parseFloat(e.height) || 0;
569
+ const i = M(s), r = i ? s.offsetWidth : t, a = i ? s.offsetHeight : o, n = de(t) !== r || de(o) !== a;
570
+ return n && (t = r, o = a), {
571
571
  width: t,
572
- height: s,
572
+ height: o,
573
573
  $: n
574
574
  };
575
575
  }
576
- function Te(o) {
577
- return L(o) ? o : o.contextElement;
576
+ function Te(s) {
577
+ return L(s) ? s : s.contextElement;
578
578
  }
579
- function U(o) {
580
- const e = Te(o);
581
- if (!z(e))
579
+ function U(s) {
580
+ const e = Te(s);
581
+ if (!M(e))
582
582
  return E(1);
583
583
  const t = e.getBoundingClientRect(), {
584
- width: s,
584
+ width: o,
585
585
  height: i,
586
586
  $: r
587
587
  } = Ye(e);
588
- let a = (r ? de(t.width) : t.width) / s, n = (r ? de(t.height) : t.height) / i;
588
+ let a = (r ? de(t.width) : t.width) / o, n = (r ? de(t.height) : t.height) / i;
589
589
  return (!a || !Number.isFinite(a)) && (a = 1), (!n || !Number.isFinite(n)) && (n = 1), {
590
590
  x: a,
591
591
  y: n
592
592
  };
593
593
  }
594
- const Pt = /* @__PURE__ */ E(0);
595
- function Je(o) {
596
- const e = I(o);
597
- return !Ie() || !e.visualViewport ? Pt : {
594
+ const zt = /* @__PURE__ */ E(0);
595
+ function Je(s) {
596
+ const e = I(s);
597
+ return !Ie() || !e.visualViewport ? zt : {
598
598
  x: e.visualViewport.offsetLeft,
599
599
  y: e.visualViewport.offsetTop
600
600
  };
601
601
  }
602
- function Bt(o, e, t) {
603
- return e === void 0 && (e = !1), !t || e && t !== I(o) ? !1 : e;
602
+ function Bt(s, e, t) {
603
+ return e === void 0 && (e = !1), !t || e && t !== I(s) ? !1 : e;
604
604
  }
605
- function G(o, e, t, s) {
605
+ function G(s, e, t, o) {
606
606
  e === void 0 && (e = !1), t === void 0 && (t = !1);
607
- const i = o.getBoundingClientRect(), r = Te(o);
607
+ const i = s.getBoundingClientRect(), r = Te(s);
608
608
  let a = E(1);
609
- e && (s ? L(s) && (a = U(s)) : a = U(o));
610
- const n = Bt(r, t, s) ? Je(r) : E(0);
611
- let l = (i.left + n.x) / a.x, c = (i.top + n.y) / a.y, d = i.width / a.x, h = i.height / a.y;
609
+ e && (o ? L(o) && (a = U(o)) : a = U(s));
610
+ const n = Bt(r, t, o) ? Je(r) : E(0);
611
+ let l = (i.left + n.x) / a.x, d = (i.top + n.y) / a.y, c = i.width / a.x, p = i.height / a.y;
612
612
  if (r) {
613
- const u = I(r), m = s && L(s) ? I(s) : s;
614
- let g = u, b = ye(g);
615
- for (; b && s && m !== g; ) {
616
- const v = U(b), _ = b.getBoundingClientRect(), w = $(b), k = _.left + (b.clientLeft + parseFloat(w.paddingLeft)) * v.x, C = _.top + (b.clientTop + parseFloat(w.paddingTop)) * v.y;
617
- l *= v.x, c *= v.y, d *= v.x, h *= v.y, l += k, c += C, g = I(b), b = ye(g);
613
+ const u = I(r), m = o && L(o) ? I(o) : o;
614
+ let b = u, g = ye(b);
615
+ for (; g && o && m !== b; ) {
616
+ const v = U(g), _ = g.getBoundingClientRect(), w = $(g), k = _.left + (g.clientLeft + parseFloat(w.paddingLeft)) * v.x, C = _.top + (g.clientTop + parseFloat(w.paddingTop)) * v.y;
617
+ l *= v.x, d *= v.y, c *= v.x, p *= v.y, l += k, d += C, b = I(g), g = ye(b);
618
618
  }
619
619
  }
620
- return pe({
621
- width: d,
622
- height: h,
620
+ return he({
621
+ width: c,
622
+ height: p,
623
623
  x: l,
624
- y: c
624
+ y: d
625
625
  });
626
626
  }
627
- function ve(o, e) {
628
- const t = fe(o).scrollLeft;
629
- return e ? e.left + t : G(M(o)).left + t;
627
+ function ve(s, e) {
628
+ const t = fe(s).scrollLeft;
629
+ return e ? e.left + t : G(V(s)).left + t;
630
630
  }
631
- function Xe(o, e) {
632
- const t = o.getBoundingClientRect(), s = t.left + e.scrollLeft - ve(o, t), i = t.top + e.scrollTop;
631
+ function Xe(s, e) {
632
+ const t = s.getBoundingClientRect(), o = t.left + e.scrollLeft - ve(s, t), i = t.top + e.scrollTop;
633
633
  return {
634
- x: s,
634
+ x: o,
635
635
  y: i
636
636
  };
637
637
  }
638
- function Dt(o) {
638
+ function Dt(s) {
639
639
  let {
640
640
  elements: e,
641
641
  rect: t,
642
- offsetParent: s,
642
+ offsetParent: o,
643
643
  strategy: i
644
- } = o;
645
- const r = i === "fixed", a = M(s), n = e ? be(e.floating) : !1;
646
- if (s === a || n && r)
644
+ } = s;
645
+ const r = i === "fixed", a = V(o), n = e ? ge(e.floating) : !1;
646
+ if (o === a || n && r)
647
647
  return t;
648
648
  let l = {
649
649
  scrollLeft: 0,
650
650
  scrollTop: 0
651
- }, c = E(1);
652
- const d = E(0), h = z(s);
653
- if ((h || !h && !r) && ((Y(s) !== "body" || ie(a)) && (l = fe(s)), z(s))) {
654
- const m = G(s);
655
- c = U(s), d.x = m.x + s.clientLeft, d.y = m.y + s.clientTop;
651
+ }, d = E(1);
652
+ const c = E(0), p = M(o);
653
+ if ((p || !p && !r) && ((Y(o) !== "body" || ie(a)) && (l = fe(o)), M(o))) {
654
+ const m = G(o);
655
+ d = U(o), c.x = m.x + o.clientLeft, c.y = m.y + o.clientTop;
656
656
  }
657
- const u = a && !h && !r ? Xe(a, l) : E(0);
657
+ const u = a && !p && !r ? Xe(a, l) : E(0);
658
658
  return {
659
- width: t.width * c.x,
660
- height: t.height * c.y,
661
- x: t.x * c.x - l.scrollLeft * c.x + d.x + u.x,
662
- y: t.y * c.y - l.scrollTop * c.y + d.y + u.y
659
+ width: t.width * d.x,
660
+ height: t.height * d.y,
661
+ x: t.x * d.x - l.scrollLeft * d.x + c.x + u.x,
662
+ y: t.y * d.y - l.scrollTop * d.y + c.y + u.y
663
663
  };
664
664
  }
665
- function Rt(o) {
666
- return Array.from(o.getClientRects());
665
+ function Rt(s) {
666
+ return Array.from(s.getClientRects());
667
667
  }
668
- function Nt(o) {
669
- const e = M(o), t = fe(o), s = o.ownerDocument.body, i = H(e.scrollWidth, e.clientWidth, s.scrollWidth, s.clientWidth), r = H(e.scrollHeight, e.clientHeight, s.scrollHeight, s.clientHeight);
670
- let a = -t.scrollLeft + ve(o);
668
+ function Nt(s) {
669
+ const e = V(s), t = fe(s), o = s.ownerDocument.body, i = H(e.scrollWidth, e.clientWidth, o.scrollWidth, o.clientWidth), r = H(e.scrollHeight, e.clientHeight, o.scrollHeight, o.clientHeight);
670
+ let a = -t.scrollLeft + ve(s);
671
671
  const n = -t.scrollTop;
672
- return $(s).direction === "rtl" && (a += H(e.clientWidth, s.clientWidth) - i), {
672
+ return $(o).direction === "rtl" && (a += H(e.clientWidth, o.clientWidth) - i), {
673
673
  width: i,
674
674
  height: r,
675
675
  x: a,
@@ -677,19 +677,19 @@ function Nt(o) {
677
677
  };
678
678
  }
679
679
  const Be = 25;
680
- function Ht(o, e) {
681
- const t = I(o), s = M(o), i = t.visualViewport;
682
- let r = s.clientWidth, a = s.clientHeight, n = 0, l = 0;
680
+ function Ht(s, e) {
681
+ const t = I(s), o = V(s), i = t.visualViewport;
682
+ let r = o.clientWidth, a = o.clientHeight, n = 0, l = 0;
683
683
  if (i) {
684
684
  r = i.width, a = i.height;
685
- const d = Ie();
686
- (!d || d && e === "fixed") && (n = i.offsetLeft, l = i.offsetTop);
687
- }
688
- const c = ve(s);
689
- if (c <= 0) {
690
- const d = s.ownerDocument, h = d.body, u = getComputedStyle(h), m = d.compatMode === "CSS1Compat" && parseFloat(u.marginLeft) + parseFloat(u.marginRight) || 0, g = Math.abs(s.clientWidth - h.clientWidth - m);
691
- g <= Be && (r -= g);
692
- } else c <= Be && (r += c);
685
+ const c = Ie();
686
+ (!c || c && e === "fixed") && (n = i.offsetLeft, l = i.offsetTop);
687
+ }
688
+ const d = ve(o);
689
+ if (d <= 0) {
690
+ const c = o.ownerDocument, p = c.body, u = getComputedStyle(p), m = c.compatMode === "CSS1Compat" && parseFloat(u.marginLeft) + parseFloat(u.marginRight) || 0, b = Math.abs(o.clientWidth - p.clientWidth - m);
691
+ b <= Be && (r -= b);
692
+ } else d <= Be && (r += d);
693
693
  return {
694
694
  width: r,
695
695
  height: a,
@@ -698,61 +698,61 @@ function Ht(o, e) {
698
698
  };
699
699
  }
700
700
  const Ft = /* @__PURE__ */ new Set(["absolute", "fixed"]);
701
- function Gt(o, e) {
702
- const t = G(o, !0, e === "fixed"), s = t.top + o.clientTop, i = t.left + o.clientLeft, r = z(o) ? U(o) : E(1), a = o.clientWidth * r.x, n = o.clientHeight * r.y, l = i * r.x, c = s * r.y;
701
+ function Gt(s, e) {
702
+ const t = G(s, !0, e === "fixed"), o = t.top + s.clientTop, i = t.left + s.clientLeft, r = M(s) ? U(s) : E(1), a = s.clientWidth * r.x, n = s.clientHeight * r.y, l = i * r.x, d = o * r.y;
703
703
  return {
704
704
  width: a,
705
705
  height: n,
706
706
  x: l,
707
- y: c
707
+ y: d
708
708
  };
709
709
  }
710
- function De(o, e, t) {
711
- let s;
710
+ function De(s, e, t) {
711
+ let o;
712
712
  if (e === "viewport")
713
- s = Ht(o, t);
713
+ o = Ht(s, t);
714
714
  else if (e === "document")
715
- s = Nt(M(o));
715
+ o = Nt(V(s));
716
716
  else if (L(e))
717
- s = Gt(e, t);
717
+ o = Gt(e, t);
718
718
  else {
719
- const i = Je(o);
720
- s = {
719
+ const i = Je(s);
720
+ o = {
721
721
  x: e.x - i.x,
722
722
  y: e.y - i.y,
723
723
  width: e.width,
724
724
  height: e.height
725
725
  };
726
726
  }
727
- return pe(s);
727
+ return he(o);
728
728
  }
729
- function qe(o, e) {
730
- const t = B(o);
729
+ function qe(s, e) {
730
+ const t = B(s);
731
731
  return t === e || !L(t) || K(t) ? !1 : $(t).position === "fixed" || qe(t, e);
732
732
  }
733
- function Wt(o, e) {
734
- const t = e.get(o);
733
+ function Wt(s, e) {
734
+ const t = e.get(s);
735
735
  if (t)
736
736
  return t;
737
- let s = se(o, [], !1).filter((n) => L(n) && Y(n) !== "body"), i = null;
738
- const r = $(o).position === "fixed";
739
- let a = r ? B(o) : o;
737
+ let o = se(s, [], !1).filter((n) => L(n) && Y(n) !== "body"), i = null;
738
+ const r = $(s).position === "fixed";
739
+ let a = r ? B(s) : s;
740
740
  for (; L(a) && !K(a); ) {
741
741
  const n = $(a), l = Ae(a);
742
- !l && n.position === "fixed" && (i = null), (r ? !l && !i : !l && n.position === "static" && !!i && Ft.has(i.position) || ie(a) && !l && qe(o, a)) ? s = s.filter((d) => d !== a) : i = n, a = B(a);
742
+ !l && n.position === "fixed" && (i = null), (r ? !l && !i : !l && n.position === "static" && !!i && Ft.has(i.position) || ie(a) && !l && qe(s, a)) ? o = o.filter((c) => c !== a) : i = n, a = B(a);
743
743
  }
744
- return e.set(o, s), s;
744
+ return e.set(s, o), o;
745
745
  }
746
- function jt(o) {
746
+ function jt(s) {
747
747
  let {
748
748
  element: e,
749
749
  boundary: t,
750
- rootBoundary: s,
750
+ rootBoundary: o,
751
751
  strategy: i
752
- } = o;
753
- const a = [...t === "clippingAncestors" ? be(e) ? [] : Wt(e, this._c) : [].concat(t), s], n = a[0], l = a.reduce((c, d) => {
754
- const h = De(e, d, i);
755
- return c.top = H(h.top, c.top), c.right = ce(h.right, c.right), c.bottom = ce(h.bottom, c.bottom), c.left = H(h.left, c.left), c;
752
+ } = s;
753
+ const a = [...t === "clippingAncestors" ? ge(e) ? [] : Wt(e, this._c) : [].concat(t), o], n = a[0], l = a.reduce((d, c) => {
754
+ const p = De(e, c, i);
755
+ return d.top = H(p.top, d.top), d.right = ce(p.right, d.right), d.bottom = ce(p.bottom, d.bottom), d.left = H(p.left, d.left), d;
756
756
  }, De(e, n, i));
757
757
  return {
758
758
  width: l.right - l.left,
@@ -761,57 +761,57 @@ function jt(o) {
761
761
  y: l.top
762
762
  };
763
763
  }
764
- function Ut(o) {
764
+ function Ut(s) {
765
765
  const {
766
766
  width: e,
767
767
  height: t
768
- } = Ye(o);
768
+ } = Ye(s);
769
769
  return {
770
770
  width: e,
771
771
  height: t
772
772
  };
773
773
  }
774
- function Kt(o, e, t) {
775
- const s = z(e), i = M(e), r = t === "fixed", a = G(o, !0, r, e);
774
+ function Kt(s, e, t) {
775
+ const o = M(e), i = V(e), r = t === "fixed", a = G(s, !0, r, e);
776
776
  let n = {
777
777
  scrollLeft: 0,
778
778
  scrollTop: 0
779
779
  };
780
780
  const l = E(0);
781
- function c() {
781
+ function d() {
782
782
  l.x = ve(i);
783
783
  }
784
- if (s || !s && !r)
785
- if ((Y(e) !== "body" || ie(i)) && (n = fe(e)), s) {
784
+ if (o || !o && !r)
785
+ if ((Y(e) !== "body" || ie(i)) && (n = fe(e)), o) {
786
786
  const m = G(e, !0, r, e);
787
787
  l.x = m.x + e.clientLeft, l.y = m.y + e.clientTop;
788
- } else i && c();
789
- r && !s && i && c();
790
- const d = i && !s && !r ? Xe(i, n) : E(0), h = a.left + n.scrollLeft - l.x - d.x, u = a.top + n.scrollTop - l.y - d.y;
788
+ } else i && d();
789
+ r && !o && i && d();
790
+ const c = i && !o && !r ? Xe(i, n) : E(0), p = a.left + n.scrollLeft - l.x - c.x, u = a.top + n.scrollTop - l.y - c.y;
791
791
  return {
792
- x: h,
792
+ x: p,
793
793
  y: u,
794
794
  width: a.width,
795
795
  height: a.height
796
796
  };
797
797
  }
798
- function xe(o) {
799
- return $(o).position === "static";
798
+ function xe(s) {
799
+ return $(s).position === "static";
800
800
  }
801
- function Re(o, e) {
802
- if (!z(o) || $(o).position === "fixed")
801
+ function Re(s, e) {
802
+ if (!M(s) || $(s).position === "fixed")
803
803
  return null;
804
804
  if (e)
805
- return e(o);
806
- let t = o.offsetParent;
807
- return M(o) === t && (t = t.ownerDocument.body), t;
805
+ return e(s);
806
+ let t = s.offsetParent;
807
+ return V(s) === t && (t = t.ownerDocument.body), t;
808
808
  }
809
- function Ze(o, e) {
810
- const t = I(o);
811
- if (be(o))
809
+ function Ze(s, e) {
810
+ const t = I(s);
811
+ if (ge(s))
812
812
  return t;
813
- if (!z(o)) {
814
- let i = B(o);
813
+ if (!M(s)) {
814
+ let i = B(s);
815
815
  for (; i && !K(i); ) {
816
816
  if (L(i) && !xe(i))
817
817
  return i;
@@ -819,29 +819,29 @@ function Ze(o, e) {
819
819
  }
820
820
  return t;
821
821
  }
822
- let s = Re(o, e);
823
- for (; s && Ot(s) && xe(s); )
824
- s = Re(s, e);
825
- return s && K(s) && xe(s) && !Ae(s) ? t : s || Mt(o) || t;
822
+ let o = Re(s, e);
823
+ for (; o && Ot(o) && xe(o); )
824
+ o = Re(o, e);
825
+ return o && K(o) && xe(o) && !Ae(o) ? t : o || Vt(s) || t;
826
826
  }
827
- const Yt = async function(o) {
828
- const e = this.getOffsetParent || Ze, t = this.getDimensions, s = await t(o.floating);
827
+ const Yt = async function(s) {
828
+ const e = this.getOffsetParent || Ze, t = this.getDimensions, o = await t(s.floating);
829
829
  return {
830
- reference: Kt(o.reference, await e(o.floating), o.strategy),
830
+ reference: Kt(s.reference, await e(s.floating), s.strategy),
831
831
  floating: {
832
832
  x: 0,
833
833
  y: 0,
834
- width: s.width,
835
- height: s.height
834
+ width: o.width,
835
+ height: o.height
836
836
  }
837
837
  };
838
838
  };
839
- function Jt(o) {
840
- return $(o).direction === "rtl";
839
+ function Jt(s) {
840
+ return $(s).direction === "rtl";
841
841
  }
842
842
  const Xt = {
843
843
  convertOffsetParentRelativeRectToViewportRelativeRect: Dt,
844
- getDocumentElement: M,
844
+ getDocumentElement: V,
845
845
  getClippingRect: jt,
846
846
  getOffsetParent: Ze,
847
847
  getElementRects: Yt,
@@ -851,28 +851,28 @@ const Xt = {
851
851
  isElement: L,
852
852
  isRTL: Jt
853
853
  };
854
- function Qe(o, e) {
855
- return o.x === e.x && o.y === e.y && o.width === e.width && o.height === e.height;
854
+ function Qe(s, e) {
855
+ return s.x === e.x && s.y === e.y && s.width === e.width && s.height === e.height;
856
856
  }
857
- function qt(o, e) {
858
- let t = null, s;
859
- const i = M(o);
857
+ function qt(s, e) {
858
+ let t = null, o;
859
+ const i = V(s);
860
860
  function r() {
861
861
  var n;
862
- clearTimeout(s), (n = t) == null || n.disconnect(), t = null;
862
+ clearTimeout(o), (n = t) == null || n.disconnect(), t = null;
863
863
  }
864
864
  function a(n, l) {
865
865
  n === void 0 && (n = !1), l === void 0 && (l = 1), r();
866
- const c = o.getBoundingClientRect(), {
867
- left: d,
868
- top: h,
866
+ const d = s.getBoundingClientRect(), {
867
+ left: c,
868
+ top: p,
869
869
  width: u,
870
870
  height: m
871
- } = c;
871
+ } = d;
872
872
  if (n || e(), !u || !m)
873
873
  return;
874
- const g = ae(h), b = ae(i.clientWidth - (d + u)), v = ae(i.clientHeight - (h + m)), _ = ae(d), k = {
875
- rootMargin: -g + "px " + -b + "px " + -v + "px " + -_ + "px",
874
+ const b = ae(p), g = ae(i.clientWidth - (c + u)), v = ae(i.clientHeight - (p + m)), _ = ae(c), k = {
875
+ rootMargin: -b + "px " + -g + "px " + -v + "px " + -_ + "px",
876
876
  threshold: H(0, ce(1, l)) || 1
877
877
  };
878
878
  let C = !0;
@@ -881,11 +881,11 @@ function qt(o, e) {
881
881
  if (W !== l) {
882
882
  if (!C)
883
883
  return a();
884
- W ? a(!1, W) : s = setTimeout(() => {
884
+ W ? a(!1, W) : o = setTimeout(() => {
885
885
  a(!1, 1e-7);
886
886
  }, 1e3);
887
887
  }
888
- W === 1 && !Qe(c, o.getBoundingClientRect()) && a(), C = !1;
888
+ W === 1 && !Qe(d, s.getBoundingClientRect()) && a(), C = !1;
889
889
  }
890
890
  try {
891
891
  t = new IntersectionObserver(y, {
@@ -896,55 +896,55 @@ function qt(o, e) {
896
896
  } catch {
897
897
  t = new IntersectionObserver(y, k);
898
898
  }
899
- t.observe(o);
899
+ t.observe(s);
900
900
  }
901
901
  return a(!0), r;
902
902
  }
903
- function q(o, e, t, s) {
904
- s === void 0 && (s = {});
903
+ function q(s, e, t, o) {
904
+ o === void 0 && (o = {});
905
905
  const {
906
906
  ancestorScroll: i = !0,
907
907
  ancestorResize: r = !0,
908
908
  elementResize: a = typeof ResizeObserver == "function",
909
909
  layoutShift: n = typeof IntersectionObserver == "function",
910
910
  animationFrame: l = !1
911
- } = s, c = Te(o), d = i || r ? [...c ? se(c) : [], ...se(e)] : [];
912
- d.forEach((_) => {
911
+ } = o, d = Te(s), c = i || r ? [...d ? se(d) : [], ...se(e)] : [];
912
+ c.forEach((_) => {
913
913
  i && _.addEventListener("scroll", t, {
914
914
  passive: !0
915
915
  }), r && _.addEventListener("resize", t);
916
916
  });
917
- const h = c && n ? qt(c, t) : null;
917
+ const p = d && n ? qt(d, t) : null;
918
918
  let u = -1, m = null;
919
919
  a && (m = new ResizeObserver((_) => {
920
920
  let [w] = _;
921
- w && w.target === c && m && (m.unobserve(e), cancelAnimationFrame(u), u = requestAnimationFrame(() => {
921
+ w && w.target === d && m && (m.unobserve(e), cancelAnimationFrame(u), u = requestAnimationFrame(() => {
922
922
  var k;
923
923
  (k = m) == null || k.observe(e);
924
924
  })), t();
925
- }), c && !l && m.observe(c), m.observe(e));
926
- let g, b = l ? G(o) : null;
925
+ }), d && !l && m.observe(d), m.observe(e));
926
+ let b, g = l ? G(s) : null;
927
927
  l && v();
928
928
  function v() {
929
- const _ = G(o);
930
- b && !Qe(b, _) && t(), b = _, g = requestAnimationFrame(v);
929
+ const _ = G(s);
930
+ g && !Qe(g, _) && t(), g = _, b = requestAnimationFrame(v);
931
931
  }
932
932
  return t(), () => {
933
933
  var _;
934
- d.forEach((w) => {
934
+ c.forEach((w) => {
935
935
  i && w.removeEventListener("scroll", t), r && w.removeEventListener("resize", t);
936
- }), h == null || h(), (_ = m) == null || _.disconnect(), m = null, l && cancelAnimationFrame(g);
936
+ }), p == null || p(), (_ = m) == null || _.disconnect(), m = null, l && cancelAnimationFrame(b);
937
937
  };
938
938
  }
939
- const Z = St, Q = At, ne = kt, ee = (o, e, t) => {
940
- const s = /* @__PURE__ */ new Map(), i = {
939
+ const Z = St, Q = At, ne = kt, ee = (s, e, t) => {
940
+ const o = /* @__PURE__ */ new Map(), i = {
941
941
  platform: Xt,
942
942
  ...t
943
943
  }, r = {
944
944
  ...i.platform,
945
- _c: s
945
+ _c: o
946
946
  };
947
- return xt(o, e, {
947
+ return xt(s, e, {
948
948
  ...i,
949
949
  platform: r
950
950
  });
@@ -957,43 +957,43 @@ var et = function() {
957
957
  "warn",
958
958
  "error"
959
959
  ], oe = {}, x = null;
960
- function Ne(o, e) {
961
- var t = o[e];
960
+ function Ne(s, e) {
961
+ var t = s[e];
962
962
  if (typeof t.bind == "function")
963
- return t.bind(o);
963
+ return t.bind(s);
964
964
  try {
965
- return Function.prototype.bind.call(t, o);
965
+ return Function.prototype.bind.call(t, s);
966
966
  } catch {
967
967
  return function() {
968
- return Function.prototype.apply.apply(t, [o, arguments]);
968
+ return Function.prototype.apply.apply(t, [s, arguments]);
969
969
  };
970
970
  }
971
971
  }
972
972
  function Qt() {
973
973
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
974
974
  }
975
- function es(o) {
976
- return o === "debug" && (o = "log"), typeof console === O ? !1 : o === "trace" && Zt ? Qt : console[o] !== void 0 ? Ne(console, o) : console.log !== void 0 ? Ne(console, "log") : et;
975
+ function es(s) {
976
+ return s === "debug" && (s = "log"), typeof console === O ? !1 : s === "trace" && Zt ? Qt : console[s] !== void 0 ? Ne(console, s) : console.log !== void 0 ? Ne(console, "log") : et;
977
977
  }
978
978
  function te() {
979
- for (var o = this.getLevel(), e = 0; e < Ce.length; e++) {
979
+ for (var s = this.getLevel(), e = 0; e < Ce.length; e++) {
980
980
  var t = Ce[e];
981
- this[t] = e < o ? et : this.methodFactory(t, o, this.name);
981
+ this[t] = e < s ? et : this.methodFactory(t, s, this.name);
982
982
  }
983
- if (this.log = this.debug, typeof console === O && o < this.levels.SILENT)
983
+ if (this.log = this.debug, typeof console === O && s < this.levels.SILENT)
984
984
  return "No console available for logging";
985
985
  }
986
- function ts(o) {
986
+ function ts(s) {
987
987
  return function() {
988
- typeof console !== O && (te.call(this), this[o].apply(this, arguments));
988
+ typeof console !== O && (te.call(this), this[s].apply(this, arguments));
989
989
  };
990
990
  }
991
- function ss(o, e, t) {
992
- return es(o) || ts.apply(this, arguments);
991
+ function ss(s, e, t) {
992
+ return es(s) || ts.apply(this, arguments);
993
993
  }
994
- function tt(o, e) {
995
- var t = this, s, i, r, a = "loglevel";
996
- typeof o == "string" ? a += ":" + o : typeof o == "symbol" && (a = void 0);
994
+ function tt(s, e) {
995
+ var t = this, o, i, r, a = "loglevel";
996
+ typeof s == "string" ? a += ":" + s : typeof s == "symbol" && (a = void 0);
997
997
  function n(u) {
998
998
  var m = (Ce[u] || "silent").toUpperCase();
999
999
  if (!(typeof window === O || !a)) {
@@ -1017,16 +1017,16 @@ function tt(o, e) {
1017
1017
  }
1018
1018
  if (typeof u === O)
1019
1019
  try {
1020
- var m = window.document.cookie, g = encodeURIComponent(a), b = m.indexOf(g + "=");
1021
- b !== -1 && (u = /^([^;]+)/.exec(
1022
- m.slice(b + g.length + 1)
1020
+ var m = window.document.cookie, b = encodeURIComponent(a), g = m.indexOf(b + "=");
1021
+ g !== -1 && (u = /^([^;]+)/.exec(
1022
+ m.slice(g + b.length + 1)
1023
1023
  )[1]);
1024
1024
  } catch {
1025
1025
  }
1026
1026
  return t.levels[u] === void 0 && (u = void 0), u;
1027
1027
  }
1028
1028
  }
1029
- function c() {
1029
+ function d() {
1030
1030
  if (!(typeof window === O || !a)) {
1031
1031
  try {
1032
1032
  window.localStorage.removeItem(a);
@@ -1038,13 +1038,13 @@ function tt(o, e) {
1038
1038
  }
1039
1039
  }
1040
1040
  }
1041
- function d(u) {
1041
+ function c(u) {
1042
1042
  var m = u;
1043
1043
  if (typeof m == "string" && t.levels[m.toUpperCase()] !== void 0 && (m = t.levels[m.toUpperCase()]), typeof m == "number" && m >= 0 && m <= t.levels.SILENT)
1044
1044
  return m;
1045
1045
  throw new TypeError("log.setLevel() called with invalid level: " + u);
1046
1046
  }
1047
- t.name = o, t.levels = {
1047
+ t.name = s, t.levels = {
1048
1048
  TRACE: 0,
1049
1049
  DEBUG: 1,
1050
1050
  INFO: 2,
@@ -1052,26 +1052,26 @@ function tt(o, e) {
1052
1052
  ERROR: 4,
1053
1053
  SILENT: 5
1054
1054
  }, t.methodFactory = e || ss, t.getLevel = function() {
1055
- return r ?? i ?? s;
1055
+ return r ?? i ?? o;
1056
1056
  }, t.setLevel = function(u, m) {
1057
- return r = d(u), m !== !1 && n(r), te.call(t);
1057
+ return r = c(u), m !== !1 && n(r), te.call(t);
1058
1058
  }, t.setDefaultLevel = function(u) {
1059
- i = d(u), l() || t.setLevel(u, !1);
1059
+ i = c(u), l() || t.setLevel(u, !1);
1060
1060
  }, t.resetLevel = function() {
1061
- r = null, c(), te.call(t);
1061
+ r = null, d(), te.call(t);
1062
1062
  }, t.enableAll = function(u) {
1063
1063
  t.setLevel(t.levels.TRACE, u);
1064
1064
  }, t.disableAll = function(u) {
1065
1065
  t.setLevel(t.levels.SILENT, u);
1066
1066
  }, t.rebuild = function() {
1067
- if (x !== t && (s = d(x.getLevel())), te.call(t), x === t)
1067
+ if (x !== t && (o = c(x.getLevel())), te.call(t), x === t)
1068
1068
  for (var u in oe)
1069
1069
  oe[u].rebuild();
1070
- }, s = d(
1070
+ }, o = c(
1071
1071
  x ? x.getLevel() : "WARN"
1072
1072
  );
1073
- var h = l();
1074
- h != null && (r = d(h)), te.call(t);
1073
+ var p = l();
1074
+ p != null && (r = c(p)), te.call(t);
1075
1075
  }
1076
1076
  x = new tt();
1077
1077
  x.getLogger = function(e) {
@@ -1091,46 +1091,46 @@ x.getLoggers = function() {
1091
1091
  return oe;
1092
1092
  };
1093
1093
  x.default = x;
1094
- var is = function(o) {
1095
- for (var e = 1, t = arguments.length, s; e < t; e++)
1096
- for (s in arguments[e])
1097
- Object.prototype.hasOwnProperty.call(arguments[e], s) && (o[s] = arguments[e][s]);
1098
- return o;
1094
+ var is = function(s) {
1095
+ for (var e = 1, t = arguments.length, o; e < t; e++)
1096
+ for (o in arguments[e])
1097
+ Object.prototype.hasOwnProperty.call(arguments[e], o) && (s[o] = arguments[e][o]);
1098
+ return s;
1099
1099
  }, rs = {
1100
1100
  template: "[%t] %l:",
1101
- levelFormatter: function(o) {
1102
- return o.toUpperCase();
1101
+ levelFormatter: function(s) {
1102
+ return s.toUpperCase();
1103
1103
  },
1104
- nameFormatter: function(o) {
1105
- return o || "root";
1104
+ nameFormatter: function(s) {
1105
+ return s || "root";
1106
1106
  },
1107
- timestampFormatter: function(o) {
1108
- return o.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");
1107
+ timestampFormatter: function(s) {
1108
+ return s.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");
1109
1109
  },
1110
1110
  format: void 0
1111
- }, st, N = {}, as = function(o) {
1112
- if (!o || !o.getLogger)
1111
+ }, st, N = {}, as = function(s) {
1112
+ if (!s || !s.getLogger)
1113
1113
  throw new TypeError("Argument is not a root logger");
1114
- st = o;
1115
- }, ns = function(o, e) {
1116
- if (!o || !o.setLevel)
1114
+ st = s;
1115
+ }, ns = function(s, e) {
1116
+ if (!s || !s.setLevel)
1117
1117
  throw new TypeError("Argument is not a logger");
1118
- var t = o.methodFactory, s = o.name || "", i = N[s] || N[""] || rs;
1118
+ var t = s.methodFactory, o = s.name || "", i = N[o] || N[""] || rs;
1119
1119
  function r(a, n, l) {
1120
- var c = t(a, n, l), d = N[l] || N[""], h = d.template.indexOf("%t") !== -1, u = d.template.indexOf("%l") !== -1, m = d.template.indexOf("%n") !== -1;
1120
+ var d = t(a, n, l), c = N[l] || N[""], p = c.template.indexOf("%t") !== -1, u = c.template.indexOf("%l") !== -1, m = c.template.indexOf("%n") !== -1;
1121
1121
  return function() {
1122
- for (var g = "", b = arguments.length, v = Array(b), _ = 0; _ < b; _++)
1122
+ for (var b = "", g = arguments.length, v = Array(g), _ = 0; _ < g; _++)
1123
1123
  v[_] = arguments[_];
1124
- if (s || !N[l]) {
1125
- var w = d.timestampFormatter(/* @__PURE__ */ new Date()), k = d.levelFormatter(a), C = d.nameFormatter(l);
1126
- d.format ? g += d.format(k, C, w) : (g += d.template, h && (g = g.replace(/%t/, w)), u && (g = g.replace(/%l/, k)), m && (g = g.replace(/%n/, C))), v.length && typeof v[0] == "string" ? v[0] = g + " " + v[0] : v.unshift(g);
1124
+ if (o || !N[l]) {
1125
+ var w = c.timestampFormatter(/* @__PURE__ */ new Date()), k = c.levelFormatter(a), C = c.nameFormatter(l);
1126
+ c.format ? b += c.format(k, C, w) : (b += c.template, p && (b = b.replace(/%t/, w)), u && (b = b.replace(/%l/, k)), m && (b = b.replace(/%n/, C))), v.length && typeof v[0] == "string" ? v[0] = b + " " + v[0] : v.unshift(b);
1127
1127
  }
1128
- c.apply(void 0, v);
1128
+ d.apply(void 0, v);
1129
1129
  };
1130
1130
  }
1131
- return N[s] || (o.methodFactory = r), e = e || {}, e.template && (e.format = void 0), N[s] = is({}, i, e), o.setLevel(o.getLevel()), st || o.warn(
1131
+ return N[o] || (s.methodFactory = r), e = e || {}, e.template && (e.format = void 0), N[o] = is({}, i, e), s.setLevel(s.getLevel()), st || s.warn(
1132
1132
  "It is necessary to call the function reg() of loglevel-plugin-prefix before calling apply. From the next release, it will throw an error. See more: https://github.com/kutuluk/loglevel-plugin-prefix/blob/master/README.md"
1133
- ), o;
1133
+ ), s;
1134
1134
  }, ot = {
1135
1135
  reg: as,
1136
1136
  apply: ns
@@ -1147,19 +1147,19 @@ const it = {
1147
1147
  };
1148
1148
  ot.reg(x);
1149
1149
  ot.apply(x, {
1150
- format(o, e, t) {
1151
- return it[o.toLowerCase()], `%c[${t}]%c %c[${o}]%c ${e ? `%c[${e}]%c ` : ""}`;
1150
+ format(s, e, t) {
1151
+ return it[s.toLowerCase()], `%c[${t}]%c %c[${s}]%c ${e ? `%c[${e}]%c ` : ""}`;
1152
1152
  },
1153
- timestampFormatter(o) {
1154
- return o.toTimeString().split(" ")[0] + "." + o.getMilliseconds().toString().padStart(3, "0");
1153
+ timestampFormatter(s) {
1154
+ return s.toTimeString().split(" ")[0] + "." + s.getMilliseconds().toString().padStart(3, "0");
1155
1155
  }
1156
1156
  });
1157
1157
  const ls = x.methodFactory;
1158
- x.methodFactory = function(o, e, t) {
1159
- const s = ls(o, e, t);
1158
+ x.methodFactory = function(s, e, t) {
1159
+ const o = ls(s, e, t);
1160
1160
  return function(...i) {
1161
1161
  if (i.length > 0 && typeof i[0] == "string" && i[0].includes("%c")) {
1162
- const r = it[o] || "#666", a = [
1162
+ const r = it[s] || "#666", a = [
1163
1163
  i[0],
1164
1164
  `color: ${r}; font-weight: bold;`,
1165
1165
  // timestamp color
@@ -1177,9 +1177,9 @@ x.methodFactory = function(o, e, t) {
1177
1177
  ] : [],
1178
1178
  ...i.slice(1)
1179
1179
  ];
1180
- s(...a);
1180
+ o(...a);
1181
1181
  } else
1182
- s(...i);
1182
+ o(...i);
1183
1183
  };
1184
1184
  };
1185
1185
  x.setLevel("silent");
@@ -1195,29 +1195,29 @@ function ds() {
1195
1195
  function ms() {
1196
1196
  x.setLevel("silent");
1197
1197
  }
1198
- function ps(o) {
1199
- x.setLevel(o);
1198
+ function hs(s) {
1199
+ x.setLevel(s);
1200
1200
  }
1201
- function hs(o, e) {
1202
- x.getLogger(o).setLevel(e);
1201
+ function ps(s, e) {
1202
+ x.getLogger(s).setLevel(e);
1203
1203
  }
1204
1204
  class He {
1205
1205
  constructor(e) {
1206
- p(this, "container");
1207
- p(this, "wrapper");
1208
- p(this, "viewport");
1209
- p(this, "itemHeight");
1210
- p(this, "items");
1211
- p(this, "renderItem");
1212
- p(this, "bufferSize");
1213
- p(this, "onVisibleRangeChange");
1214
- p(this, "onScroll");
1215
- p(this, "scrollTop", 0);
1216
- p(this, "viewportHeight", 0);
1217
- p(this, "visibleStart", 0);
1218
- p(this, "visibleEnd", 0);
1219
- p(this, "scrollHandler");
1220
- p(this, "resizeObserver");
1206
+ h(this, "container");
1207
+ h(this, "wrapper");
1208
+ h(this, "viewport");
1209
+ h(this, "itemHeight");
1210
+ h(this, "items");
1211
+ h(this, "renderItem");
1212
+ h(this, "bufferSize");
1213
+ h(this, "onVisibleRangeChange");
1214
+ h(this, "onScroll");
1215
+ h(this, "scrollTop", 0);
1216
+ h(this, "viewportHeight", 0);
1217
+ h(this, "visibleStart", 0);
1218
+ h(this, "visibleEnd", 0);
1219
+ h(this, "scrollHandler");
1220
+ h(this, "resizeObserver");
1221
1221
  this.container = e.container, this.itemHeight = e.itemHeight, this.items = e.items, this.renderItem = e.renderItem, this.bufferSize = e.bufferSize ?? 10, this.onVisibleRangeChange = e.onVisibleRangeChange, this.onScroll = e.onScroll, this.scrollHandler = this.handleScroll.bind(this), this.init();
1222
1222
  }
1223
1223
  /**
@@ -1250,8 +1250,8 @@ class He {
1250
1250
  * Calculate visible range based on scroll position
1251
1251
  */
1252
1252
  calculateVisibleRange() {
1253
- const e = Math.floor(this.scrollTop / this.itemHeight), t = Math.ceil((this.scrollTop + this.viewportHeight) / this.itemHeight), s = Math.max(0, e - this.bufferSize), i = Math.min(this.items.length, t + this.bufferSize);
1254
- return { start: s, end: i };
1253
+ const e = Math.floor(this.scrollTop / this.itemHeight), t = Math.ceil((this.scrollTop + this.viewportHeight) / this.itemHeight), o = Math.max(0, e - this.bufferSize), i = Math.min(this.items.length, t + this.bufferSize);
1254
+ return { start: o, end: i };
1255
1255
  }
1256
1256
  /**
1257
1257
  * Render visible items
@@ -1261,12 +1261,12 @@ class He {
1261
1261
  if (e === this.visibleStart && t === this.visibleEnd)
1262
1262
  return;
1263
1263
  this.visibleStart = e, this.visibleEnd = t, this.onVisibleRangeChange && this.onVisibleRangeChange(e, t);
1264
- let s = "";
1264
+ let o = "";
1265
1265
  for (let i = e; i < t; i++) {
1266
1266
  const r = this.items[i], a = this.renderItem(r, i), n = i * this.itemHeight;
1267
- s += `<div class="ms__virtual-item" style="position: absolute; top: ${n}px; left: 0; right: 0; height: ${this.itemHeight}px;" data-index="${i}">`, s += a, s += "</div>";
1267
+ o += `<div class="ms__virtual-item" style="position: absolute; top: ${n}px; left: 0; right: 0; height: ${this.itemHeight}px;" data-index="${i}">`, o += a, o += "</div>";
1268
1268
  }
1269
- this.viewport.innerHTML = s;
1269
+ this.viewport.innerHTML = o;
1270
1270
  }
1271
1271
  /**
1272
1272
  * Update items and re-render
@@ -1322,47 +1322,47 @@ class He {
1322
1322
  }
1323
1323
  class us {
1324
1324
  constructor(e, t = {}) {
1325
- p(this, "element");
1326
- p(this, "instanceId");
1327
- p(this, "options");
1328
- p(this, "isOpen", !1);
1329
- p(this, "selectedValues", /* @__PURE__ */ new Set());
1330
- p(this, "selectedOptions", /* @__PURE__ */ new Map());
1331
- p(this, "allOptions", []);
1332
- p(this, "filteredOptions", []);
1333
- p(this, "hiddenInputs", []);
1334
- p(this, "focusedIndex", -1);
1335
- p(this, "matchingIndices", /* @__PURE__ */ new Set());
1336
- p(this, "searchTerm", "");
1337
- p(this, "isLoading", !1);
1338
- p(this, "showSelectedPopover", !1);
1339
- p(this, "selectedPopoverPlacement", null);
1340
- p(this, "dropdownPlacement", null);
1341
- p(this, "isRTL", !1);
1342
- p(this, "effectiveBadgesPosition", "bottom");
1343
- p(this, "justClosedViaClick", !1);
1325
+ h(this, "element");
1326
+ h(this, "instanceId");
1327
+ h(this, "options");
1328
+ h(this, "isOpen", !1);
1329
+ h(this, "selectedValues", /* @__PURE__ */ new Set());
1330
+ h(this, "selectedOptions", /* @__PURE__ */ new Map());
1331
+ h(this, "allOptions", []);
1332
+ h(this, "filteredOptions", []);
1333
+ h(this, "hiddenInputs", []);
1334
+ h(this, "focusedIndex", -1);
1335
+ h(this, "matchingIndices", /* @__PURE__ */ new Set());
1336
+ h(this, "searchTerm", "");
1337
+ h(this, "isLoading", !1);
1338
+ h(this, "showSelectedPopover", !1);
1339
+ h(this, "selectedPopoverPlacement", null);
1340
+ h(this, "dropdownPlacement", null);
1341
+ h(this, "isRTL", !1);
1342
+ h(this, "effectiveBadgesPosition", "bottom");
1343
+ h(this, "justClosedViaClick", !1);
1344
1344
  // Floating UI cleanup functions
1345
- p(this, "dropdownCleanup", null);
1346
- p(this, "hintCleanup", null);
1347
- p(this, "selectedPopoverCleanup", null);
1345
+ h(this, "dropdownCleanup", null);
1346
+ h(this, "hintCleanup", null);
1347
+ h(this, "selectedPopoverCleanup", null);
1348
1348
  // Badge tooltip storage
1349
- p(this, "badgeTooltips", /* @__PURE__ */ new Map());
1350
- p(this, "badgeTooltipCleanups", /* @__PURE__ */ new Map());
1349
+ h(this, "badgeTooltips", /* @__PURE__ */ new Map());
1350
+ h(this, "badgeTooltipCleanups", /* @__PURE__ */ new Map());
1351
1351
  // Action button tooltip storage
1352
- p(this, "actionButtonTooltips", /* @__PURE__ */ new Map());
1353
- p(this, "actionButtonTooltipCleanups", /* @__PURE__ */ new Map());
1352
+ h(this, "actionButtonTooltips", /* @__PURE__ */ new Map());
1353
+ h(this, "actionButtonTooltipCleanups", /* @__PURE__ */ new Map());
1354
1354
  // Virtual scroll instance
1355
- p(this, "virtualScroll", null);
1356
- p(this, "optionsContainer", null);
1357
- p(this, "selectedPopoverVirtualScroll", null);
1358
- p(this, "selectedPopoverContainer", null);
1355
+ h(this, "virtualScroll", null);
1356
+ h(this, "optionsContainer", null);
1357
+ h(this, "selectedPopoverVirtualScroll", null);
1358
+ h(this, "selectedPopoverContainer", null);
1359
1359
  // DOM elements
1360
- p(this, "input");
1361
- p(this, "dropdown");
1362
- p(this, "badgesContainer");
1363
- p(this, "counter");
1364
- p(this, "hint");
1365
- p(this, "selectedPopover");
1360
+ h(this, "input");
1361
+ h(this, "dropdown");
1362
+ h(this, "badgesContainer");
1363
+ h(this, "counter");
1364
+ h(this, "hint");
1365
+ h(this, "selectedPopover");
1366
1366
  this.element = e, this.instanceId = `MS-${Math.random().toString(36).substr(2, 9)}`, this.options = {
1367
1367
  // String options
1368
1368
  searchHint: e.dataset.searchHint || "",
@@ -1488,21 +1488,21 @@ class us {
1488
1488
  this.filteredOptions = [...this.allOptions];
1489
1489
  }
1490
1490
  buildHTML() {
1491
- const e = this.options.container || document.body, t = this.element.getRootNode(), s = t instanceof ShadowRoot ? t.host : this.element, i = s.getAttribute("dir") === "rtl", r = s.closest('[dir="rtl"]') !== null;
1491
+ const e = this.options.container || document.body, t = this.element.getRootNode(), o = t instanceof ShadowRoot ? t.host : this.element, i = o.getAttribute("dir") === "rtl", r = o.closest('[dir="rtl"]') !== null;
1492
1492
  this.isRTL = i || r, le.debug(`[${this.instanceId}] RTL Debug:`, {
1493
1493
  isShadowRoot: t instanceof ShadowRoot,
1494
- hostElement: s,
1495
- elementDir: s.getAttribute("dir"),
1494
+ hostElement: o,
1495
+ elementDir: o.getAttribute("dir"),
1496
1496
  hasElementDir: i,
1497
1497
  hasAncestorDir: r,
1498
1498
  isRTL: this.isRTL
1499
- }), this.effectiveBadgesPosition = this.options.badgesPosition || "bottom", this.isRTL && (this.effectiveBadgesPosition === "left" ? this.effectiveBadgesPosition = "right" : this.effectiveBadgesPosition === "right" && (this.effectiveBadgesPosition = "left")), this.element.classList.add("ml"), this.isRTL && (this.element.classList.add("ms--rtl"), le.debug(`[${this.instanceId}] Added ms--rtl class to element`)), (!this.options.isCheckboxesShown || !this.options.isMultipleEnabled) && this.element.classList.add("ms--no-checkboxes");
1499
+ }), this.effectiveBadgesPosition = this.options.badgesPosition || "bottom", this.isRTL && (this.effectiveBadgesPosition === "left" ? this.effectiveBadgesPosition = "right" : this.effectiveBadgesPosition === "right" && (this.effectiveBadgesPosition = "left")), this.element.classList.add("ms"), this.isRTL && (this.element.classList.add("ms--rtl"), le.debug(`[${this.instanceId}] Added ms--rtl class to element`)), (!this.options.isCheckboxesShown || !this.options.isMultipleEnabled) && this.element.classList.add("ms--no-checkboxes");
1500
1500
  const a = document.createElement("div");
1501
1501
  a.className = "ms__input-wrapper", this.input = document.createElement("input"), this.input.type = "text", this.input.className = "ms__input", this.input.placeholder = this.options.searchPlaceholder, this.input.autocomplete = "off", this.options.searchInputMode === "readonly" ? this.input.readOnly = !0 : this.options.searchInputMode === "hidden" && (this.input.style.display = "none");
1502
1502
  const n = document.createElement("span");
1503
1503
  n.className = "ms__toggle", n.innerHTML = "▼", this.counter = document.createElement("span"), this.counter.className = "ms__counter", this.counter.style.display = "none", a.appendChild(this.input), a.appendChild(this.counter), a.appendChild(n), this.badgesContainer = document.createElement("div"), this.badgesContainer.className = "ms__badges";
1504
1504
  const l = document.createElement("div");
1505
- l.className = "ml-wrapper", (this.effectiveBadgesPosition === "left" || this.effectiveBadgesPosition === "right") && l.classList.add("ml-wrapper--inline"), l.appendChild(a), l.appendChild(this.badgesContainer), this.element.appendChild(l), this.dropdown = document.createElement("div"), this.dropdown.className = "ms__dropdown", e.appendChild(this.dropdown), this.options.searchHint && (this.hint = document.createElement("div"), this.hint.className = "ms__hint", this.hint.textContent = this.options.searchHint, e.appendChild(this.hint)), this.selectedPopover = document.createElement("div"), this.selectedPopover.className = "ms__selected-popover", e.appendChild(this.selectedPopover), this.renderDropdown();
1505
+ l.className = "ms-wrapper", (this.effectiveBadgesPosition === "left" || this.effectiveBadgesPosition === "right") && l.classList.add("ms-wrapper--inline"), l.appendChild(a), l.appendChild(this.badgesContainer), this.element.appendChild(l), this.dropdown = document.createElement("div"), this.dropdown.className = "ms__dropdown", e.appendChild(this.dropdown), this.options.searchHint && (this.hint = document.createElement("div"), this.hint.className = "ms__hint", this.hint.textContent = this.options.searchHint, e.appendChild(this.hint)), this.selectedPopover = document.createElement("div"), this.selectedPopover.className = "ms__selected-popover", e.appendChild(this.selectedPopover), this.renderDropdown();
1506
1506
  }
1507
1507
  /**
1508
1508
  * Check if virtual scroll should be used
@@ -1533,41 +1533,41 @@ class us {
1533
1533
  return;
1534
1534
  }
1535
1535
  if (this.options.isMultipleEnabled && this.options.actionButtons && this.options.actionButtons.length > 0) {
1536
- const t = this.options.isActionsSticky ? " ms__actions--sticky" : "", s = this.options.actionsLayout === "wrap" ? " ms__actions--wrap" : "";
1537
- e += `<div class="ms__actions${t}${s}">`, this.options.actionButtons.forEach((i) => {
1536
+ const t = this.options.isActionsSticky ? " ms__actions--sticky" : "", o = this.options.actionsLayout === "wrap" ? " ms__actions--wrap" : "";
1537
+ e += `<div class="ms__actions${t}${o}">`, this.options.actionButtons.forEach((i) => {
1538
1538
  if (!(i.isVisibleCallback ? i.isVisibleCallback(this) : i.isVisible ?? !0))
1539
1539
  return;
1540
1540
  const n = (i.isDisabledCallback ? i.isDisabledCallback(this) : i.isDisabled ?? !1) ? " disabled" : "", l = i.getTextCallback ? i.getTextCallback(this) : i.text;
1541
- let c = "";
1541
+ let d = "";
1542
1542
  if (i.getClassCallback) {
1543
- const d = i.getClassCallback(this);
1544
- c = Array.isArray(d) ? ` ${d.join(" ")}` : d ? ` ${d}` : "";
1545
- } else i.cssClass && (c = ` ${i.cssClass}`);
1546
- e += `<button type="button"${n} class="ms__action-btn${c}" data-action="${i.action}">${l}</button>`;
1543
+ const c = i.getClassCallback(this);
1544
+ d = Array.isArray(c) ? ` ${c.join(" ")}` : c ? ` ${c}` : "";
1545
+ } else i.cssClass && (d = ` ${i.cssClass}`);
1546
+ e += `<button type="button"${n} class="ms__action-btn${d}" data-action="${i.action}">${l}</button>`;
1547
1547
  }), e += "</div>";
1548
1548
  }
1549
1549
  if (e += '<div class="ms__options">', this.filteredOptions.length === 0)
1550
1550
  e += `<div class="ms__empty">${this.options.emptyMessage}</div>`;
1551
1551
  else if (this.options.isGroupsAllowed) {
1552
1552
  const t = this.groupOptions(this.filteredOptions);
1553
- Object.keys(t).forEach((s) => {
1554
- if (e += '<div class="ms__group">', s !== "__ungrouped__")
1553
+ Object.keys(t).forEach((o) => {
1554
+ if (e += '<div class="ms__group">', o !== "__ungrouped__")
1555
1555
  if (this.options.renderGroupLabelContentCallback) {
1556
- const i = this.options.renderGroupLabelContentCallback(s);
1556
+ const i = this.options.renderGroupLabelContentCallback(o);
1557
1557
  if (i instanceof HTMLElement) {
1558
1558
  const r = document.createElement("div");
1559
1559
  r.className = "ms__group-label", r.appendChild(i), e += r.outerHTML;
1560
1560
  } else
1561
1561
  e += `<div class="ms__group-label">${i}</div>`;
1562
1562
  } else
1563
- e += `<div class="ms__group-label">${s}</div>`;
1564
- t[s].forEach((i, r) => {
1563
+ e += `<div class="ms__group-label">${o}</div>`;
1564
+ t[o].forEach((i, r) => {
1565
1565
  e += this.renderOption(i, r);
1566
1566
  }), e += "</div>";
1567
1567
  });
1568
1568
  } else
1569
- this.filteredOptions.forEach((t, s) => {
1570
- e += this.renderOption(t, s);
1569
+ this.filteredOptions.forEach((t, o) => {
1570
+ e += this.renderOption(t, o);
1571
1571
  });
1572
1572
  e += "</div>", this.dropdown.innerHTML = e, this.attachActionButtonTooltips();
1573
1573
  }
@@ -1576,23 +1576,23 @@ class us {
1576
1576
  */
1577
1577
  renderDropdownVirtual() {
1578
1578
  if (this.destroyAllActionButtonTooltips(), !this.virtualScroll) {
1579
- let s = "";
1579
+ let o = "";
1580
1580
  if (this.options.isMultipleEnabled && this.options.actionButtons && this.options.actionButtons.length > 0) {
1581
1581
  const a = this.options.isActionsSticky ? " ms__actions--sticky" : "", n = this.options.actionsLayout === "wrap" ? " ms__actions--wrap" : "";
1582
- s += `<div class="ms__actions${a}${n}">`, this.options.actionButtons.forEach((l) => {
1582
+ o += `<div class="ms__actions${a}${n}">`, this.options.actionButtons.forEach((l) => {
1583
1583
  if (!(l.isVisibleCallback ? l.isVisibleCallback(this) : l.isVisible ?? !0))
1584
1584
  return;
1585
- const h = (l.isDisabledCallback ? l.isDisabledCallback(this) : l.isDisabled ?? !1) ? " disabled" : "", u = l.getTextCallback ? l.getTextCallback(this) : l.text;
1585
+ const p = (l.isDisabledCallback ? l.isDisabledCallback(this) : l.isDisabled ?? !1) ? " disabled" : "", u = l.getTextCallback ? l.getTextCallback(this) : l.text;
1586
1586
  let m = "";
1587
1587
  if (l.getClassCallback) {
1588
- const g = l.getClassCallback(this);
1589
- m = Array.isArray(g) ? ` ${g.join(" ")}` : g ? ` ${g}` : "";
1588
+ const b = l.getClassCallback(this);
1589
+ m = Array.isArray(b) ? ` ${b.join(" ")}` : b ? ` ${b}` : "";
1590
1590
  } else l.cssClass && (m = ` ${l.cssClass}`);
1591
- s += `<button type="button"${h} class="ms__action-btn${m}" data-action="${l.action}">${u}</button>`;
1592
- }), s += "</div>";
1591
+ o += `<button type="button"${p} class="ms__action-btn${m}" data-action="${l.action}">${u}</button>`;
1592
+ }), o += "</div>";
1593
1593
  }
1594
1594
  const i = this.options.maxHeight || "20rem", r = this.options.optionHeight ?? 50;
1595
- s += `<div class="ms__options ms__options--virtual" style="height: ${i}; max-height: ${i}; overflow-y: auto; position: relative; --ml-option-height: ${r}px;"></div>`, this.dropdown.innerHTML = s, this.optionsContainer = this.dropdown.querySelector(".ms__options");
1595
+ o += `<div class="ms__options ms__options--virtual" style="height: ${i}; max-height: ${i}; overflow-y: auto; position: relative; --ms-option-height: ${r}px;"></div>`, this.dropdown.innerHTML = o, this.optionsContainer = this.dropdown.querySelector(".ms__options");
1596
1596
  }
1597
1597
  if (this.filteredOptions.length === 0) {
1598
1598
  this.optionsContainer.innerHTML = `<div class="ms__empty">${this.options.emptyMessage}</div>`;
@@ -1604,39 +1604,39 @@ class us {
1604
1604
  container: this.optionsContainer,
1605
1605
  itemHeight: e,
1606
1606
  items: this.filteredOptions,
1607
- renderItem: (s, i) => this.renderOption(s, i),
1607
+ renderItem: (o, i) => this.renderOption(o, i),
1608
1608
  bufferSize: t
1609
1609
  }), this.attachActionButtonTooltips());
1610
1610
  });
1611
1611
  }
1612
1612
  renderOption(e, t) {
1613
- const s = this.getItemValue(e), i = this.getItemDisplayValue(e), r = this.getItemIcon(e), a = this.getItemSubtitle(e), n = this.getItemDisabled(e), l = this.selectedValues.has(String(s)), c = t === this.focusedIndex, d = this.matchingIndices.has(t), h = ["ms__option"];
1614
- l && h.push("ms__option--selected"), c && h.push("ms__option--focused"), d && h.push("ms__option--matched"), n && h.push("ms__option--disabled");
1615
- const u = this.options.checkboxAlign && this.options.checkboxAlign !== "top" ? ` data-checkbox-align="${this.options.checkboxAlign}"` : "";
1616
- let m = `<div class="${h.join(" ")}" data-value="${s}" data-index="${t}"${u}>`;
1613
+ const o = this.getItemValue(e), i = this.getItemDisplayValue(e), r = this.getItemIcon(e), a = this.getItemSubtitle(e), n = this.getItemDisabled(e), l = this.selectedValues.has(String(o)), d = t === this.focusedIndex, c = this.matchingIndices.has(t), p = ["ms__option"];
1614
+ l && p.push("ms__option--selected"), d && p.push("ms__option--focused"), c && p.push("ms__option--matched"), n && p.push("ms__option--disabled");
1615
+ const u = this.options.checkboxAlign && this.options.checkboxAlign !== "center" ? ` data-checkbox-align="${this.options.checkboxAlign}"` : "";
1616
+ let m = `<div class="${p.join(" ")}" data-value="${o}" data-index="${t}"${u}>`;
1617
1617
  if (this.options.isCheckboxesShown && this.options.isMultipleEnabled && (m += `<input type="checkbox" class="ms__checkbox" ${l ? "checked" : ""} ${n ? "disabled" : ""}>`), m += '<div class="ms__option-content">', this.options.renderOptionContentCallback) {
1618
- const g = {
1618
+ const b = {
1619
1619
  index: t,
1620
1620
  isSelected: l,
1621
- isFocused: c,
1622
- isMatched: d,
1621
+ isFocused: d,
1622
+ isMatched: c,
1623
1623
  isDisabled: n
1624
- }, b = this.options.renderOptionContentCallback(e, g);
1625
- typeof b == "string" ? m += b : m += b.outerHTML;
1624
+ }, g = this.options.renderOptionContentCallback(e, b);
1625
+ typeof g == "string" ? m += g : m += g.outerHTML;
1626
1626
  } else
1627
1627
  r && (m += `<span class="ms__option-icon">${r}</span>`), m += '<div class="ms__option-text">', m += `<div class="ms__option-title">${this.highlightMatch(i, this.searchTerm)}</div>`, a && (m += `<div class="ms__option-subtitle">${a}</div>`), m += "</div>";
1628
1628
  return m += "</div>", m += "</div>", m;
1629
1629
  }
1630
1630
  highlightMatch(e, t) {
1631
1631
  if (!t) return e;
1632
- const s = new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")})`, "gi");
1633
- return e.replace(s, "<mark>$1</mark>");
1632
+ const o = new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")})`, "gi");
1633
+ return e.replace(o, "<mark>$1</mark>");
1634
1634
  }
1635
1635
  groupOptions(e) {
1636
1636
  const t = {};
1637
- return e.forEach((s) => {
1638
- const i = this.getItemGroup(s) || "__ungrouped__";
1639
- t[i] || (t[i] = []), t[i].push(s);
1637
+ return e.forEach((o) => {
1638
+ const i = this.getItemGroup(o) || "__ungrouped__";
1639
+ t[i] || (t[i] = []), t[i].push(o);
1640
1640
  }), t;
1641
1641
  }
1642
1642
  renderBadges() {
@@ -1654,33 +1654,33 @@ class us {
1654
1654
  }), !this.isOpen && t > 0 && e.length > 0 ? (f.info(`[${this.instanceId}] ✅ SETTING input.value = "${r}"`), this.input.value = r, f.info(`[${this.instanceId}] 🔍 VERIFY input.value = "${this.input.value}"`)) : this.isOpen ? f.info(`[${this.instanceId}] ⏭️ SKIPPING input update (dropdown is open)`) : (f.info(`[${this.instanceId}] ❌ CLEARING input.value (no selection)`), this.input.value = "");
1655
1655
  return;
1656
1656
  }
1657
- let s = this.options.badgesDisplayMode;
1658
- if (this.options.badgesThreshold !== null && t > this.options.badgesThreshold && s !== "none" && (s = this.options.badgesThresholdMode || "count"), !this.isOpen)
1659
- if (t > 0 && s === "count") {
1657
+ let o = this.options.badgesDisplayMode;
1658
+ if (this.options.badgesThreshold !== null && t > this.options.badgesThreshold && o !== "none" && (o = this.options.badgesThresholdMode || "count"), !this.isOpen)
1659
+ if (t > 0 && o === "count") {
1660
1660
  const r = this.options.getCounterCallback ? this.options.getCounterCallback(t) : `${t} selected`;
1661
1661
  this.input.placeholder = r;
1662
1662
  } else
1663
1663
  this.input.placeholder = this.options.searchPlaceholder;
1664
- if (this.options.isCounterShown && t > 0 ? (this.counter.textContent = `[${t}]`, this.counter.style.display = "") : this.counter.style.display = "none", s === "none") {
1664
+ if (this.options.isCounterShown && t > 0 ? (this.counter.textContent = `[${t}]`, this.counter.style.display = "") : this.counter.style.display = "none", o === "none") {
1665
1665
  this.badgesContainer.innerHTML = "";
1666
1666
  return;
1667
1667
  }
1668
- if (s === "badges")
1668
+ if (o === "badges")
1669
1669
  this.badgesContainer.className = `ms__badges ms__badges--${this.effectiveBadgesPosition}`, this.badgesContainer.innerHTML = e.map((r) => {
1670
1670
  const a = this.getItemValue(r);
1671
1671
  let n;
1672
1672
  if (this.options.renderBadgeContentCallback) {
1673
- const c = {
1673
+ const d = {
1674
1674
  displayMode: "badges",
1675
1675
  isInPopover: !1
1676
- }, d = this.options.renderBadgeContentCallback(r, c);
1677
- n = typeof d == "string" ? d : d.outerHTML;
1676
+ }, c = this.options.renderBadgeContentCallback(r, d);
1677
+ n = typeof c == "string" ? c : c.outerHTML;
1678
1678
  } else
1679
1679
  n = this.getItemBadgeDisplayValue(r);
1680
1680
  let l = "ms__badge";
1681
1681
  if (this.options.getBadgeClassCallback) {
1682
- const c = this.options.getBadgeClassCallback(r), d = Array.isArray(c) ? c : [c];
1683
- l += " " + d.filter((h) => h).join(" ");
1682
+ const d = this.options.getBadgeClassCallback(r), c = Array.isArray(d) ? d : [d];
1683
+ l += " " + c.filter((p) => p).join(" ");
1684
1684
  }
1685
1685
  return `
1686
1686
  <div class="${l}">
@@ -1689,45 +1689,45 @@ class us {
1689
1689
  </div>
1690
1690
  `;
1691
1691
  }).join("");
1692
- else if (s === "partial") {
1692
+ else if (o === "partial") {
1693
1693
  this.badgesContainer.className = `ms__badges ms__badges--${this.effectiveBadgesPosition}`;
1694
- const r = this.options.badgesMaxVisible || 3, a = e.slice(0, r), n = t - r, l = a.map((d) => {
1695
- const h = this.getItemValue(d);
1694
+ const r = this.options.badgesMaxVisible || 3, a = e.slice(0, r), n = t - r, l = a.map((c) => {
1695
+ const p = this.getItemValue(c);
1696
1696
  let u;
1697
1697
  if (this.options.renderBadgeContentCallback) {
1698
- const g = {
1698
+ const b = {
1699
1699
  displayMode: "partial",
1700
1700
  isInPopover: !1
1701
- }, b = this.options.renderBadgeContentCallback(d, g);
1702
- u = typeof b == "string" ? b : b.outerHTML;
1701
+ }, g = this.options.renderBadgeContentCallback(c, b);
1702
+ u = typeof g == "string" ? g : g.outerHTML;
1703
1703
  } else
1704
- u = this.getItemBadgeDisplayValue(d);
1704
+ u = this.getItemBadgeDisplayValue(c);
1705
1705
  let m = "ms__badge";
1706
1706
  if (this.options.getBadgeClassCallback) {
1707
- const g = this.options.getBadgeClassCallback(d), b = Array.isArray(g) ? g : [g];
1708
- m += " " + b.filter((v) => v).join(" ");
1707
+ const b = this.options.getBadgeClassCallback(c), g = Array.isArray(b) ? b : [b];
1708
+ m += " " + g.filter((v) => v).join(" ");
1709
1709
  }
1710
1710
  return `
1711
1711
  <div class="${m}">
1712
1712
  <span class="ms__badge-text">${u}</span>
1713
- <button type="button" class="ms__badge-remove" data-value="${h}" aria-label="Remove ${this.getItemBadgeDisplayValue(d)}"></button>
1713
+ <button type="button" class="ms__badge-remove" data-value="${p}" aria-label="Remove ${this.getItemBadgeDisplayValue(c)}"></button>
1714
1714
  </div>
1715
1715
  `;
1716
1716
  }).join("");
1717
- let c = "";
1718
- n > 0 && (c = `
1717
+ let d = "";
1718
+ n > 0 && (d = `
1719
1719
  <div class="ms__badge ms__badge--counter ms__badge--more" data-action="show-selected">
1720
1720
  <span class="ms__badge-text">${this.options.getCounterCallback ? this.options.getCounterCallback(t, n) : `+${n} more`}</span>
1721
1721
  <button type="button" class="ms__badge-remove" data-action="remove-hidden" aria-label="Remove ${n} hidden items"></button>
1722
1722
  </div>
1723
- `), this.badgesContainer.innerHTML = l + c;
1724
- } else if (s === "compact")
1723
+ `), this.badgesContainer.innerHTML = l + d;
1724
+ } else if (o === "compact")
1725
1725
  if (this.badgesContainer.className = `ms__badges ms__badges--${this.effectiveBadgesPosition}`, t > 0) {
1726
1726
  const r = e[0], a = this.getItemBadgeDisplayValue(r), n = t - 1;
1727
1727
  let l = a;
1728
1728
  if (n > 0) {
1729
- const c = this.options.getCounterCallback ? this.options.getCounterCallback(t, n) : `+${n} more`;
1730
- l = `${a} (${c})`;
1729
+ const d = this.options.getCounterCallback ? this.options.getCounterCallback(t, n) : `+${n} more`;
1730
+ l = `${a} (${d})`;
1731
1731
  }
1732
1732
  this.badgesContainer.innerHTML = `
1733
1733
  <div class="ms__badge ms__badge--counter" data-action="show-selected">
@@ -1764,8 +1764,8 @@ class us {
1764
1764
  }, 0), this.dropdown.addEventListener("click", (e) => this.handleDropdownClick(e)), this.dropdown.addEventListener("wheel", (e) => {
1765
1765
  if (this.virtualScroll)
1766
1766
  return;
1767
- const t = e.currentTarget, s = t.scrollTop === 0, i = t.scrollTop + t.clientHeight >= t.scrollHeight;
1768
- (e.deltaY < 0 && s || e.deltaY > 0 && i) && e.preventDefault(), e.stopPropagation();
1767
+ const t = e.currentTarget, o = t.scrollTop === 0, i = t.scrollTop + t.clientHeight >= t.scrollHeight;
1768
+ (e.deltaY < 0 && o || e.deltaY > 0 && i) && e.preventDefault(), e.stopPropagation();
1769
1769
  }, { passive: !1 }), this.badgesContainer.addEventListener("mousedown", (e) => {
1770
1770
  e.target.closest('[data-action="show-selected"]') && !this.showSelectedPopover && e.stopPropagation();
1771
1771
  }), this.badgesContainer.addEventListener("click", (e) => this.handleBadgeClick(e)), this.counter.addEventListener("mousedown", (e) => {
@@ -1779,12 +1779,12 @@ class us {
1779
1779
  return;
1780
1780
  let t = e;
1781
1781
  if (this.options.beforeSearchCallback) {
1782
- const s = this.options.beforeSearchCallback(e);
1783
- if (s === null) {
1782
+ const o = this.options.beforeSearchCallback(e);
1783
+ if (o === null) {
1784
1784
  S.debug(`[${this.instanceId}] beforeSearchCallback blocked search for term:`, e), this.filteredOptions = [...this.allOptions], this.matchingIndices.clear(), this.renderDropdown();
1785
1785
  return;
1786
1786
  }
1787
- t = s, t !== e && S.debug(`[${this.instanceId}] beforeSearchCallback transformed: "${e}" -> "${t}"`);
1787
+ t = o, t !== e && S.debug(`[${this.instanceId}] beforeSearchCallback transformed: "${e}" -> "${t}"`);
1788
1788
  }
1789
1789
  if (this.options.searchCallback) {
1790
1790
  if (t.length < this.options.minSearchLength) {
@@ -1793,20 +1793,20 @@ class us {
1793
1793
  }
1794
1794
  this.isLoading = !0, this.renderDropdown(), S.debug(`[${this.instanceId}] Loading data for search term:`, t);
1795
1795
  try {
1796
- const s = await this.options.searchCallback(t);
1796
+ const o = await this.options.searchCallback(t);
1797
1797
  if (this.searchTerm === e) {
1798
- const i = s || [];
1798
+ const i = o || [];
1799
1799
  this.filteredOptions = [...i], this.isLoading = !1, this.matchingIndices.clear(), this.focusedIndex = this.options.isSearchEnabled && this.filteredOptions.length > 0 ? 0 : -1, this.renderDropdown(), S.debug(`[${this.instanceId}] Loaded ${i.length} results`);
1800
1800
  }
1801
- } catch (s) {
1802
- S.error(`[${this.instanceId}] Error loading data:`, s), this.isLoading = !1, this.options.isKeepOptionsOnSearch ? this.filteredOptions = [...this.allOptions] : this.filteredOptions = [], this.matchingIndices.clear(), this.renderDropdown();
1801
+ } catch (o) {
1802
+ S.error(`[${this.instanceId}] Error loading data:`, o), this.isLoading = !1, this.options.isKeepOptionsOnSearch ? this.filteredOptions = [...this.allOptions] : this.filteredOptions = [], this.matchingIndices.clear(), this.renderDropdown();
1803
1803
  }
1804
1804
  } else {
1805
1805
  if (!t)
1806
1806
  this.filteredOptions = [...this.allOptions], this.matchingIndices.clear(), this.focusedIndex = this.filteredOptions.length > 0 ? 0 : -1;
1807
1807
  else {
1808
- const s = this.options.searchMode || "filter", i = t.toLowerCase();
1809
- if (s === "filter")
1808
+ const o = this.options.searchMode || "filter", i = t.toLowerCase();
1809
+ if (o === "filter")
1810
1810
  this.filteredOptions = this.allOptions.filter((r) => this.getItemSearchValue(r).toLowerCase().includes(i)), this.matchingIndices.clear(), this.focusedIndex = this.filteredOptions.length > 0 ? 0 : -1, S.debug(`[${this.instanceId}] Filter mode: ${this.filteredOptions.length} matches for "${t}"`);
1811
1811
  else {
1812
1812
  this.filteredOptions = [...this.allOptions], this.matchingIndices.clear();
@@ -1825,8 +1825,8 @@ class us {
1825
1825
  return;
1826
1826
  }
1827
1827
  if (!this.options.isSearchEnabled) {
1828
- const t = e.key.length === 1 || e.key === "Backspace" || e.key === "Delete", s = ["ArrowUp", "ArrowDown", "PageUp", "PageDown", "Home", "End", "Enter", "Escape", "Tab"].includes(e.key);
1829
- if (t && !s) {
1828
+ const t = e.key.length === 1 || e.key === "Backspace" || e.key === "Delete", o = ["ArrowUp", "ArrowDown", "PageUp", "PageDown", "Home", "End", "Enter", "Escape", "Tab"].includes(e.key);
1829
+ if (t && !o) {
1830
1830
  e.preventDefault();
1831
1831
  return;
1832
1832
  }
@@ -1883,10 +1883,10 @@ class us {
1883
1883
  }
1884
1884
  return;
1885
1885
  }
1886
- const s = e.target.closest(".ms__option");
1887
- if (s && !s.classList.contains("ms__option--disabled")) {
1886
+ const o = e.target.closest(".ms__option");
1887
+ if (o && !o.classList.contains("ms__option--disabled")) {
1888
1888
  e.preventDefault();
1889
- const r = s.dataset.value, a = this.filteredOptions.find((n) => String(this.getItemValue(n)) === r);
1889
+ const r = o.dataset.value, a = this.filteredOptions.find((n) => String(this.getItemValue(n)) === r);
1890
1890
  A.debug(`[${this.instanceId}] Option clicked:`, {
1891
1891
  value: r,
1892
1892
  closeOnSelect: this.options.isCloseOnSelect,
@@ -1908,7 +1908,7 @@ class us {
1908
1908
  if (e.preventDefault(), e.stopPropagation(), i.dataset.action === "remove-hidden") {
1909
1909
  A.debug(`[${this.instanceId}] Remove hidden items button clicked`);
1910
1910
  const l = this.options.badgesMaxVisible || 3;
1911
- Array.from(this.selectedOptions.values()).slice(l).forEach((h) => this.deselectOption(h));
1911
+ Array.from(this.selectedOptions.values()).slice(l).forEach((p) => this.deselectOption(p));
1912
1912
  return;
1913
1913
  }
1914
1914
  const a = i.dataset.value, n = this.selectedOptions.get(a);
@@ -1930,19 +1930,19 @@ class us {
1930
1930
  return;
1931
1931
  }
1932
1932
  if (!this.isOpen) return;
1933
- const s = t.some(
1933
+ const o = t.some(
1934
1934
  (r) => r instanceof Node && (this.element.contains(r) || this.dropdown.contains(r) || this.hint && this.hint.contains(r))
1935
1935
  );
1936
1936
  A.debug(`[${this.instanceId}] handleClickOutside`, {
1937
1937
  target: e.target.className,
1938
1938
  targetTag: e.target.tagName,
1939
- clickedInside: s,
1939
+ clickedInside: o,
1940
1940
  pathLength: t.length,
1941
1941
  firstInPath: (i = t[0]) == null ? void 0 : i.tagName,
1942
1942
  elementContains: t.some((r) => r instanceof Node && this.element.contains(r)),
1943
1943
  dropdownContains: t.some((r) => r instanceof Node && this.dropdown.contains(r)),
1944
1944
  isConnected: this.dropdown.isConnected
1945
- }), s || (A.warn(`[${this.instanceId}] Closing dropdown due to click outside`), this.close());
1945
+ }), o || (A.warn(`[${this.instanceId}] Closing dropdown due to click outside`), this.close());
1946
1946
  }
1947
1947
  focusNext() {
1948
1948
  this.filteredOptions.length !== 0 && (this.focusedIndex = Math.min(this.filteredOptions.length - 1, this.focusedIndex + 1), this.renderDropdown(), this.scrollToFocused());
@@ -1958,13 +1958,13 @@ class us {
1958
1958
  }
1959
1959
  focusNextMatch() {
1960
1960
  if (this.matchingIndices.size === 0) return;
1961
- const e = Array.from(this.matchingIndices).sort((i, r) => i - r), t = e.findIndex((i) => i === this.focusedIndex), s = (t + 1) % e.length;
1962
- this.focusedIndex = e[s], this.renderDropdown(), this.scrollToFocused(), A.debug(`[${this.instanceId}] Jumped to next match: index ${this.focusedIndex} (${t + 1} of ${e.length})`);
1961
+ const e = Array.from(this.matchingIndices).sort((i, r) => i - r), t = e.findIndex((i) => i === this.focusedIndex), o = (t + 1) % e.length;
1962
+ this.focusedIndex = e[o], this.renderDropdown(), this.scrollToFocused(), A.debug(`[${this.instanceId}] Jumped to next match: index ${this.focusedIndex} (${t + 1} of ${e.length})`);
1963
1963
  }
1964
1964
  focusPreviousMatch() {
1965
1965
  if (this.matchingIndices.size === 0) return;
1966
- const e = Array.from(this.matchingIndices).sort((i, r) => i - r), t = e.findIndex((i) => i === this.focusedIndex), s = t <= 0 ? e.length - 1 : t - 1;
1967
- this.focusedIndex = e[s], this.renderDropdown(), this.scrollToFocused(), A.debug(`[${this.instanceId}] Jumped to previous match: index ${this.focusedIndex} (${t + 1} of ${e.length})`);
1966
+ const e = Array.from(this.matchingIndices).sort((i, r) => i - r), t = e.findIndex((i) => i === this.focusedIndex), o = t <= 0 ? e.length - 1 : t - 1;
1967
+ this.focusedIndex = e[o], this.renderDropdown(), this.scrollToFocused(), A.debug(`[${this.instanceId}] Jumped to previous match: index ${this.focusedIndex} (${t + 1} of ${e.length})`);
1968
1968
  }
1969
1969
  focusPageUp() {
1970
1970
  this.filteredOptions.length !== 0 && (this.focusedIndex = Math.max(0, this.focusedIndex - 10), this.renderDropdown(), this.scrollToFocused());
@@ -1981,12 +1981,12 @@ class us {
1981
1981
  }
1982
1982
  }
1983
1983
  toggleOption(e) {
1984
- const t = this.getItemValue(e), s = String(t);
1984
+ const t = this.getItemValue(e), o = String(t);
1985
1985
  if (A.debug(`[${this.instanceId}] toggleOption called`, { value: t, multiple: this.options.isMultipleEnabled }), !this.options.isMultipleEnabled) {
1986
- this.selectedValues.has(s) ? (A.debug(`[${this.instanceId}] Deselecting option in single-select mode`, { value: t }), this.deselectOption(e)) : (A.debug(`[${this.instanceId}] Clearing previous selections and selecting new option`, { value: t }), this.selectedValues.clear(), this.selectedOptions.clear(), this.selectOption(e)), f.info(`[${this.instanceId}] ❌ Closing dropdown (single-select mode)`), this.close();
1986
+ this.selectedValues.has(o) ? (A.debug(`[${this.instanceId}] Deselecting option in single-select mode`, { value: t }), this.deselectOption(e)) : (A.debug(`[${this.instanceId}] Clearing previous selections and selecting new option`, { value: t }), this.selectedValues.clear(), this.selectedOptions.clear(), this.selectOption(e)), f.info(`[${this.instanceId}] ❌ Closing dropdown (single-select mode)`), this.close();
1987
1987
  return;
1988
1988
  }
1989
- this.selectedValues.has(s) ? (A.debug(`[${this.instanceId}] Deselecting option`, { value: t }), this.deselectOption(e)) : (A.debug(`[${this.instanceId}] Selecting option`, { value: t }), this.selectOption(e)), A.debug(`[${this.instanceId}] Checking closeOnSelect`, {
1989
+ this.selectedValues.has(o) ? (A.debug(`[${this.instanceId}] Deselecting option`, { value: t }), this.deselectOption(e)) : (A.debug(`[${this.instanceId}] Selecting option`, { value: t }), this.selectOption(e)), A.debug(`[${this.instanceId}] Checking closeOnSelect`, {
1990
1990
  closeOnSelect: this.options.isCloseOnSelect,
1991
1991
  willClose: this.options.isCloseOnSelect === !0,
1992
1992
  placeholder: this.options.searchPlaceholder
@@ -2003,18 +2003,18 @@ class us {
2003
2003
  }
2004
2004
  }
2005
2005
  selectOption(e) {
2006
- const t = this.getItemValue(e), s = String(t);
2007
- this.selectedValues.add(s), this.selectedOptions.set(s, e), this.renderDropdown(), this.renderBadges(), this.updateHiddenInput(), this.options.selectCallback && this.options.selectCallback(e), this.options.changeCallback && this.options.changeCallback(this.getSelected());
2006
+ const t = this.getItemValue(e), o = String(t);
2007
+ this.selectedValues.add(o), this.selectedOptions.set(o, e), this.renderDropdown(), this.renderBadges(), this.updateHiddenInput(), this.options.selectCallback && this.options.selectCallback(e), this.options.changeCallback && this.options.changeCallback(this.getSelected());
2008
2008
  }
2009
2009
  deselectOption(e) {
2010
- const t = this.getItemValue(e), s = String(t);
2011
- this.selectedValues.delete(s), this.selectedOptions.delete(s), this.renderDropdown(), this.renderBadges(), this.updateHiddenInput(), this.options.deselectCallback && this.options.deselectCallback(e), this.options.changeCallback && this.options.changeCallback(this.getSelected());
2010
+ const t = this.getItemValue(e), o = String(t);
2011
+ this.selectedValues.delete(o), this.selectedOptions.delete(o), this.renderDropdown(), this.renderBadges(), this.updateHiddenInput(), this.options.deselectCallback && this.options.deselectCallback(e), this.options.changeCallback && this.options.changeCallback(this.getSelected());
2012
2012
  }
2013
2013
  selectAll() {
2014
2014
  this.filteredOptions.forEach((e) => {
2015
2015
  if (!this.getItemDisabled(e)) {
2016
- const t = this.getItemValue(e), s = String(t);
2017
- this.selectedValues.add(s), this.selectedOptions.set(s, e);
2016
+ const t = this.getItemValue(e), o = String(t);
2017
+ this.selectedValues.add(o), this.selectedOptions.set(o, e);
2018
2018
  }
2019
2019
  }), this.renderDropdown(), this.renderBadges(), this.updateHiddenInput(), this.options.changeCallback && this.options.changeCallback(this.getSelected());
2020
2020
  }
@@ -2048,10 +2048,10 @@ class us {
2048
2048
  ee(this.input, this.dropdown, {
2049
2049
  placement: e,
2050
2050
  middleware: t
2051
- }).then(({ x: s, y: i, placement: r }) => {
2051
+ }).then(({ x: o, y: i, placement: r }) => {
2052
2052
  this.options.isPlacementLocked && !this.dropdownPlacement && (this.dropdownPlacement = r, f.debug(`[${this.instanceId}] Locked dropdown placement:`, r));
2053
2053
  const a = {
2054
- left: `${s}px`,
2054
+ left: `${o}px`,
2055
2055
  top: `${i}px`,
2056
2056
  width: `${this.input.offsetWidth}px`
2057
2057
  };
@@ -2073,10 +2073,10 @@ class us {
2073
2073
  // Don't use flip() - we want hint to stay opposite of dropdown
2074
2074
  Q({ padding: 8 })
2075
2075
  ]
2076
- }).then(({ x: t, y: s }) => {
2076
+ }).then(({ x: t, y: o }) => {
2077
2077
  Object.assign(this.hint.style, {
2078
2078
  left: `${t}px`,
2079
- top: `${s}px`
2079
+ top: `${o}px`
2080
2080
  });
2081
2081
  });
2082
2082
  }
@@ -2086,8 +2086,8 @@ class us {
2086
2086
  const e = this.element.dataset.initialValues;
2087
2087
  if (e)
2088
2088
  try {
2089
- JSON.parse(e).forEach((s) => {
2090
- const i = String(s);
2089
+ JSON.parse(e).forEach((o) => {
2090
+ const i = String(o);
2091
2091
  this.selectedValues.add(i);
2092
2092
  const r = this.allOptions.find((a) => String(this.getItemValue(a)) === i);
2093
2093
  r && this.selectedOptions.set(i, r);
@@ -2119,7 +2119,7 @@ class us {
2119
2119
  <div class="ms__selected-popover-body">
2120
2120
  ${e.map((i) => this.renderBadgeForPopover(i)).join("")}
2121
2121
  </div>
2122
- `;
2122
+ `, this.attachBadgeTooltips(this.selectedPopover);
2123
2123
  }
2124
2124
  renderSelectedPopoverVirtual(e, t) {
2125
2125
  if (this.selectedPopoverVirtualScroll) {
@@ -2143,24 +2143,27 @@ class us {
2143
2143
  itemHeight: r,
2144
2144
  items: e,
2145
2145
  renderItem: (n) => this.renderBadgeForPopover(n),
2146
- bufferSize: a
2146
+ bufferSize: a,
2147
+ onVisibleRangeChange: () => {
2148
+ this.attachBadgeTooltips(this.selectedPopoverContainer);
2149
+ }
2147
2150
  }));
2148
2151
  });
2149
2152
  }
2150
2153
  renderBadgeForPopover(e) {
2151
2154
  const t = this.getItemValue(e);
2152
- let s;
2155
+ let o;
2153
2156
  if (this.options.renderSelectedItemContentCallback) {
2154
2157
  const a = this.options.renderSelectedItemContentCallback(e);
2155
- s = typeof a == "string" ? a : a.outerHTML;
2158
+ o = typeof a == "string" ? a : a.outerHTML;
2156
2159
  } else if (this.options.renderBadgeContentCallback) {
2157
2160
  const a = {
2158
2161
  displayMode: this.options.badgesDisplayMode || "badges",
2159
2162
  isInPopover: !0
2160
2163
  }, n = this.options.renderBadgeContentCallback(e, a);
2161
- s = typeof n == "string" ? n : n.outerHTML;
2164
+ o = typeof n == "string" ? n : n.outerHTML;
2162
2165
  } else
2163
- s = this.getItemBadgeDisplayValue(e);
2166
+ o = this.getItemBadgeDisplayValue(e);
2164
2167
  let i = "ms__badge";
2165
2168
  const r = this.options.getSelectedItemClassCallback || this.options.getBadgeClassCallback;
2166
2169
  if (r) {
@@ -2169,7 +2172,7 @@ class us {
2169
2172
  }
2170
2173
  return `
2171
2174
  <div class="${i}">
2172
- <span class="ms__badge-text">${s}</span>
2175
+ <span class="ms__badge-text">${o}</span>
2173
2176
  <button type="button" class="ms__badge-remove" data-value="${t}" aria-label="Remove ${this.getItemBadgeDisplayValue(e)}"></button>
2174
2177
  </div>
2175
2178
  `;
@@ -2179,10 +2182,10 @@ class us {
2179
2182
  e.preventDefault(), this.hideSelectedPopover();
2180
2183
  return;
2181
2184
  }
2182
- const s = e.target.closest(".ms__badge-remove");
2183
- if (s) {
2185
+ const o = e.target.closest(".ms__badge-remove");
2186
+ if (o) {
2184
2187
  e.preventDefault();
2185
- const i = s.dataset.value, r = this.selectedOptions.get(i);
2188
+ const i = o.dataset.value, r = this.selectedOptions.get(i);
2186
2189
  r && (this.deselectOption(r), this.renderSelectedPopover(), this.selectedValues.size === 0 && this.hideSelectedPopover());
2187
2190
  }
2188
2191
  }
@@ -2199,11 +2202,11 @@ class us {
2199
2202
  ...this.selectedPopoverPlacement ? [] : [ne()],
2200
2203
  Q({ padding: 8 })
2201
2204
  ]
2202
- }).then(({ x: t, y: s, placement: i }) => {
2205
+ }).then(({ x: t, y: o, placement: i }) => {
2203
2206
  this.selectedPopoverPlacement || (this.selectedPopoverPlacement = i, f.debug(`[${this.instanceId}] Locked popover placement:`, i));
2204
2207
  const r = {
2205
2208
  left: `${t}px`,
2206
- top: `${s}px`,
2209
+ top: `${o}px`,
2207
2210
  width: `${this.input.offsetWidth}px`
2208
2211
  };
2209
2212
  this.options.dropdownMinWidth && (r.minWidth = this.options.dropdownMinWidth), Object.assign(this.selectedPopover.style, r);
@@ -2217,19 +2220,19 @@ class us {
2217
2220
  updateHiddenInput() {
2218
2221
  if (!this.options.formFieldId) return;
2219
2222
  this.hiddenInputs.forEach((i) => i.remove()), this.hiddenInputs = [];
2220
- const e = this.options.valueFormat || "json", t = Array.from(this.selectedOptions.values()).map((i) => this.getItemValue(i)), s = this.options.hostElement || this.element;
2223
+ const e = this.options.valueFormat || "json", t = Array.from(this.selectedOptions.values()).map((i) => this.getItemValue(i)), o = this.options.hostElement || this.element;
2221
2224
  if (e === "array")
2222
2225
  t.forEach((i) => {
2223
2226
  const r = document.createElement("input");
2224
- r.type = "hidden", r.name = `${this.options.formFieldId}[]`, r.value = String(i), s.appendChild(r), this.hiddenInputs.push(r);
2227
+ r.type = "hidden", r.name = `${this.options.formFieldId}[]`, r.value = String(i), o.appendChild(r), this.hiddenInputs.push(r);
2225
2228
  });
2226
2229
  else {
2227
2230
  const i = document.createElement("input");
2228
- i.type = "hidden", i.name = this.options.formFieldId, i.id = this.options.formFieldId, i.value = this.getFormValue(), s.appendChild(i), this.hiddenInputs.push(i);
2231
+ i.type = "hidden", i.name = this.options.formFieldId, i.id = this.options.formFieldId, i.value = this.getFormValue(), o.appendChild(i), this.hiddenInputs.push(i);
2229
2232
  }
2230
2233
  }
2231
2234
  getFormValue() {
2232
- const e = Array.from(this.selectedOptions.values()).map((s) => this.getItemValue(s));
2235
+ const e = Array.from(this.selectedOptions.values()).map((o) => this.getItemValue(o));
2233
2236
  return this.options.getValueFormatCallback ? this.options.getValueFormatCallback(e) : (this.options.valueFormat || "json") === "csv" ? e.join(",") : JSON.stringify(e);
2234
2237
  }
2235
2238
  // ========================================================================
@@ -2240,8 +2243,8 @@ class us {
2240
2243
  }
2241
2244
  setSelected(e) {
2242
2245
  this.selectedValues = new Set(e.map((t) => String(t))), this.selectedOptions.clear(), e.forEach((t) => {
2243
- const s = String(t), i = this.allOptions.find((r) => String(this.getItemValue(r)) === s);
2244
- i && this.selectedOptions.set(s, i);
2246
+ const o = String(t), i = this.allOptions.find((r) => String(this.getItemValue(r)) === o);
2247
+ i && this.selectedOptions.set(o, i);
2245
2248
  }), this.renderDropdown(), this.renderBadges(), this.updateHiddenInput();
2246
2249
  }
2247
2250
  get selectedItem() {
@@ -2264,75 +2267,76 @@ class us {
2264
2267
  // ========================================================================
2265
2268
  // BADGE TOOLTIP METHODS
2266
2269
  // ========================================================================
2267
- attachBadgeTooltips() {
2270
+ attachBadgeTooltips(e) {
2268
2271
  if (!this.options.isBadgeTooltipsEnabled) {
2269
2272
  f.debug(`[${this.instanceId}] Tooltips disabled - isBadgeTooltipsEnabled is false`);
2270
2273
  return;
2271
2274
  }
2272
- const e = this.badgesContainer.querySelectorAll(".ms__badge:not(.ms__badge--more)");
2273
- f.debug(`[${this.instanceId}] Found ${e.length} badges to attach tooltips to`), e.forEach((s) => {
2274
- const i = s, r = i.querySelector(".ms__badge-remove");
2275
- if (!r) return;
2276
- const a = r.dataset.value, n = this.selectedOptions.get(a);
2277
- if (!n) return;
2278
- const l = i.querySelector(".ms__badge-text");
2279
- l && this.createTooltipForElement(l, n, a);
2280
- const c = this.getItemBadgeDisplayValue(n);
2281
- this.createRemoveButtonTooltip(r, c, a);
2282
- });
2283
- const t = this.badgesContainer.querySelector(".ms__badge--more");
2284
- if (t) {
2285
- const s = t.querySelector(".ms__badge-remove");
2286
- if (s && s.dataset.action === "remove-hidden") {
2287
- const i = this.options.badgesMaxVisible || 3, a = Array.from(this.selectedOptions.values()).length - i;
2288
- this.createRemoveButtonTooltip(s, `${a} hidden items`, "more-badge-remove");
2275
+ const o = (e || this.badgesContainer).querySelectorAll(".ms__badge:not(.ms__badge--more)");
2276
+ if (f.debug(`[${this.instanceId}] Found ${o.length} badges to attach tooltips to`), o.forEach((i) => {
2277
+ const r = i, a = r.querySelector(".ms__badge-remove");
2278
+ if (!a) return;
2279
+ const n = a.dataset.value, l = this.selectedOptions.get(n);
2280
+ if (!l) return;
2281
+ const d = r.querySelector(".ms__badge-text");
2282
+ d && this.createTooltipForElement(d, l, n);
2283
+ const c = this.getItemBadgeDisplayValue(l);
2284
+ this.createRemoveButtonTooltip(a, c, n);
2285
+ }), !e) {
2286
+ const i = this.badgesContainer.querySelector(".ms__badge--more");
2287
+ if (i) {
2288
+ const r = i.querySelector(".ms__badge-remove");
2289
+ if (r && r.dataset.action === "remove-hidden") {
2290
+ const a = this.options.badgesMaxVisible || 3, l = Array.from(this.selectedOptions.values()).length - a;
2291
+ this.createRemoveButtonTooltip(r, `${l} hidden items`, "more-badge-remove");
2292
+ }
2289
2293
  }
2290
2294
  }
2291
2295
  }
2292
- createTooltipForElement(e, t, s) {
2296
+ createTooltipForElement(e, t, o) {
2293
2297
  const i = document.createElement("div");
2294
2298
  i.className = "ms__badge-tooltip";
2295
2299
  let r;
2296
2300
  if (this.options.getBadgeTooltipCallback)
2297
2301
  r = this.options.getBadgeTooltipCallback(t), f.debug(`[${this.instanceId}] Using custom callback for tooltip content`);
2298
2302
  else {
2299
- const h = this.getItemBadgeDisplayValue(t), u = this.getItemSubtitle(t);
2300
- r = u ? `${h}
2301
- ${u}` : h, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2303
+ const p = this.getItemBadgeDisplayValue(t), u = this.getItemSubtitle(t);
2304
+ r = u ? `${p}
2305
+ ${u}` : p, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2302
2306
  }
2303
- typeof r == "string" ? i.textContent = r : i.appendChild(r), (this.options.container || document.body).appendChild(i), f.debug(`[${this.instanceId}] Tooltip element created and appended for "${s}"`), this.badgeTooltips.set(s, i);
2307
+ typeof r == "string" ? i.textContent = r : i.appendChild(r), (this.options.container || document.body).appendChild(i), f.debug(`[${this.instanceId}] Tooltip element created and appended for "${o}"`), this.badgeTooltips.set(o, i);
2304
2308
  let n, l;
2305
- const c = () => {
2306
- clearTimeout(l), f.debug(`[${this.instanceId}] Mouse entered badge "${s}", will show tooltip in ${this.options.badgeTooltipDelay || 300}ms`), n = window.setTimeout(() => {
2307
- f.debug(`[${this.instanceId}] Showing tooltip for "${s}"`), i.classList.add("ms__badge-tooltip--visible"), this.positionBadgeTooltip(e, i, s);
2308
- }, this.options.badgeTooltipDelay || 300);
2309
- }, d = () => {
2309
+ const d = () => {
2310
+ clearTimeout(l), f.debug(`[${this.instanceId}] Mouse entered badge "${o}", will show tooltip in ${this.options.badgeTooltipDelay ?? 100}ms`), n = window.setTimeout(() => {
2311
+ f.debug(`[${this.instanceId}] Showing tooltip for "${o}"`), i.classList.add("ms__badge-tooltip--visible"), this.positionBadgeTooltip(e, i, o);
2312
+ }, this.options.badgeTooltipDelay ?? 100);
2313
+ }, c = () => {
2310
2314
  clearTimeout(n), l = window.setTimeout(() => {
2311
- i.classList.remove("ms__badge-tooltip--visible"), this.cleanupBadgeTooltip(s);
2315
+ i.classList.remove("ms__badge-tooltip--visible"), this.cleanupBadgeTooltip(o);
2312
2316
  }, 100);
2313
2317
  };
2314
- e.addEventListener("mouseenter", c), e.addEventListener("mouseleave", d);
2318
+ e.addEventListener("mouseenter", d), e.addEventListener("mouseleave", c);
2315
2319
  }
2316
- createRemoveButtonTooltip(e, t, s) {
2320
+ createRemoveButtonTooltip(e, t, o) {
2317
2321
  const i = document.createElement("div");
2318
2322
  i.className = "ms__badge-tooltip", i.textContent = `Remove ${t}`, (this.options.container || document.body).appendChild(i);
2319
- const a = `${s}-remove`;
2323
+ const a = `${o}-remove`;
2320
2324
  this.badgeTooltips.set(a, i);
2321
2325
  let n, l;
2322
- const c = () => {
2326
+ const d = () => {
2323
2327
  clearTimeout(l);
2324
- const h = this.badgeTooltips.get(s);
2325
- h && h.classList.remove("ms__badge-tooltip--visible"), n = window.setTimeout(() => {
2328
+ const p = this.badgeTooltips.get(o);
2329
+ p && p.classList.remove("ms__badge-tooltip--visible"), n = window.setTimeout(() => {
2326
2330
  i.classList.add("ms__badge-tooltip--visible"), this.positionBadgeTooltip(e, i, a);
2327
- }, this.options.badgeTooltipDelay || 300);
2328
- }, d = () => {
2331
+ }, this.options.badgeTooltipDelay ?? 100);
2332
+ }, c = () => {
2329
2333
  clearTimeout(n), l = window.setTimeout(() => {
2330
2334
  i.classList.remove("ms__badge-tooltip--visible"), this.cleanupBadgeTooltip(a);
2331
2335
  }, 100);
2332
2336
  };
2333
- e.addEventListener("mouseenter", c), e.addEventListener("mouseleave", d);
2337
+ e.addEventListener("mouseenter", d), e.addEventListener("mouseleave", c);
2334
2338
  }
2335
- positionBadgeTooltip(e, t, s) {
2339
+ positionBadgeTooltip(e, t, o) {
2336
2340
  const i = q(e, t, () => {
2337
2341
  ee(e, t, {
2338
2342
  placement: this.options.badgeTooltipPlacement || "top",
@@ -2346,7 +2350,7 @@ ${u}` : h, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2346
2350
  Object.assign(t.style, {
2347
2351
  left: `${r}px`,
2348
2352
  top: `${a}px`
2349
- }), f.debug(`[${this.instanceId}] Positioned tooltip "${s}" at x:${r}, y:${a}`, {
2353
+ }), f.debug(`[${this.instanceId}] Positioned tooltip "${o}" at x:${r}, y:${a}`, {
2350
2354
  placement: this.options.badgeTooltipPlacement || "top",
2351
2355
  tooltipClasses: t.className,
2352
2356
  tooltipDisplay: window.getComputedStyle(t).display,
@@ -2357,7 +2361,7 @@ ${u}` : h, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2357
2361
  });
2358
2362
  });
2359
2363
  });
2360
- this.badgeTooltipCleanups.set(s, i);
2364
+ this.badgeTooltipCleanups.set(o, i);
2361
2365
  }
2362
2366
  cleanupBadgeTooltip(e) {
2363
2367
  const t = this.badgeTooltipCleanups.get(e);
@@ -2373,9 +2377,9 @@ ${u}` : h, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2373
2377
  const e = this.dropdown.querySelectorAll(".ms__action-btn");
2374
2378
  f.debug(`[${this.instanceId}] Found ${e.length} action buttons to attach tooltips to`), e.forEach((t) => {
2375
2379
  var l;
2376
- const s = t, i = s.dataset.action;
2380
+ const o = t, i = o.dataset.action;
2377
2381
  if (!i) return;
2378
- const r = (l = this.options.actionButtons) == null ? void 0 : l.find((c) => c.action === "custom" ? s.dataset.customAction === s.dataset.action : c.action === i);
2382
+ const r = (l = this.options.actionButtons) == null ? void 0 : l.find((d) => d.action === "custom" ? o.dataset.customAction === o.dataset.action : d.action === i);
2379
2383
  if (!r) return;
2380
2384
  let a;
2381
2385
  if (r.getTooltipCallback ? (a = r.getTooltipCallback(this), f.debug(`[${this.instanceId}] Using getTooltipCallback for action button "${i}": "${a}"`)) : (a = r.tooltip, f.debug(`[${this.instanceId}] Using static tooltip for action button "${i}": "${a}"`)), !a) {
@@ -2383,25 +2387,25 @@ ${u}` : h, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2383
2387
  return;
2384
2388
  }
2385
2389
  const n = `action-${i}-${Date.now()}`;
2386
- this.createActionButtonTooltip(s, a, n);
2390
+ this.createActionButtonTooltip(o, a, n);
2387
2391
  });
2388
2392
  }
2389
- createActionButtonTooltip(e, t, s) {
2393
+ createActionButtonTooltip(e, t, o) {
2390
2394
  const i = document.createElement("div");
2391
- i.className = "ms__badge-tooltip", i.textContent = t, (this.options.container || document.body).appendChild(i), f.debug(`[${this.instanceId}] Tooltip element created for action button "${s}"`), this.actionButtonTooltips.set(s, i);
2395
+ i.className = "ms__badge-tooltip", i.textContent = t, (this.options.container || document.body).appendChild(i), f.debug(`[${this.instanceId}] Tooltip element created for action button "${o}"`), this.actionButtonTooltips.set(o, i);
2392
2396
  let a, n;
2393
2397
  const l = () => {
2394
- clearTimeout(n), f.debug(`[${this.instanceId}] Mouse entered action button "${s}", will show tooltip in ${this.options.badgeTooltipDelay || 300}ms`), a = window.setTimeout(() => {
2395
- f.debug(`[${this.instanceId}] Showing tooltip for action button "${s}"`), i.classList.add("ms__badge-tooltip--visible"), this.positionActionButtonTooltip(e, i, s);
2396
- }, this.options.badgeTooltipDelay || 300);
2397
- }, c = () => {
2398
+ clearTimeout(n), f.debug(`[${this.instanceId}] Mouse entered action button "${o}", will show tooltip in ${this.options.badgeTooltipDelay ?? 100}ms`), a = window.setTimeout(() => {
2399
+ f.debug(`[${this.instanceId}] Showing tooltip for action button "${o}"`), i.classList.add("ms__badge-tooltip--visible"), this.positionActionButtonTooltip(e, i, o);
2400
+ }, this.options.badgeTooltipDelay ?? 100);
2401
+ }, d = () => {
2398
2402
  clearTimeout(a), n = window.setTimeout(() => {
2399
- i.classList.remove("ms__badge-tooltip--visible"), this.cleanupActionButtonTooltip(s);
2403
+ i.classList.remove("ms__badge-tooltip--visible"), this.cleanupActionButtonTooltip(o);
2400
2404
  }, 100);
2401
2405
  };
2402
- e.addEventListener("mouseenter", l), e.addEventListener("mouseleave", c);
2406
+ e.addEventListener("mouseenter", l), e.addEventListener("mouseleave", d);
2403
2407
  }
2404
- positionActionButtonTooltip(e, t, s) {
2408
+ positionActionButtonTooltip(e, t, o) {
2405
2409
  const i = q(e, t, () => {
2406
2410
  ee(e, t, {
2407
2411
  placement: this.options.badgeTooltipPlacement || "top",
@@ -2415,10 +2419,10 @@ ${u}` : h, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2415
2419
  Object.assign(t.style, {
2416
2420
  left: `${r}px`,
2417
2421
  top: `${a}px`
2418
- }), f.debug(`[${this.instanceId}] Positioned action button tooltip "${s}" at x:${r}, y:${a}`);
2422
+ }), f.debug(`[${this.instanceId}] Positioned action button tooltip "${o}" at x:${r}, y:${a}`);
2419
2423
  });
2420
2424
  });
2421
- this.actionButtonTooltipCleanups.set(s, i);
2425
+ this.actionButtonTooltipCleanups.set(o, i);
2422
2426
  }
2423
2427
  cleanupActionButtonTooltip(e) {
2424
2428
  const t = this.actionButtonTooltipCleanups.get(e);
@@ -2431,66 +2435,66 @@ ${u}` : h, f.debug(`[${this.instanceId}] Using default content: "${r}"`);
2431
2435
  // PUBLIC API
2432
2436
  // ========================================================================
2433
2437
  destroy() {
2434
- this.destroyAllBadgeTooltips(), this.destroyAllActionButtonTooltips(), this.dropdownCleanup && this.dropdownCleanup(), this.hintCleanup && this.hintCleanup(), this.selectedPopoverCleanup && this.selectedPopoverCleanup(), 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("ml", "ms--open", "ms--no-checkboxes"), le.info(`[${this.instanceId}] Component destroyed`);
2438
+ this.destroyAllBadgeTooltips(), this.destroyAllActionButtonTooltips(), this.dropdownCleanup && this.dropdownCleanup(), this.hintCleanup && this.hintCleanup(), this.selectedPopoverCleanup && this.selectedPopoverCleanup(), 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"), le.info(`[${this.instanceId}] Component destroyed`);
2435
2439
  }
2436
2440
  }
2437
- const gs = '@charset "UTF-8";:host{--ms-rem: 10px;--ms-accent-color: #3b82f6;--ms-accent-color-hover: #2563eb;--ms-accent-color-active: #1d4ed8;--ms-text-primary: #111827;--ms-text-secondary: #6b7280;--ms-text-on-accent: #ffffff;--ms-primary-bg: #f3f4f6;--ms-primary-bg-hover: #e5e7eb;--ms-border-color: #e5e7eb;--ms-input-background: var(--ms-input-bg);--ms-input-color: var(--ms-text-primary);--ms-input-border-color: var(--ms-border-color);--ms-input-border-color-hover: var(--ms-text-secondary);--ms-input-border-color-focus: var(--ms-accent-color);--ms-input-placeholder-color: var(--ms-text-secondary);--ms-input-background-disabled: var(--ms-input-bg-disabled);--ms-toggle-icon-color: var(--ms-text-secondary);--ms-toggle-icon-color-open: var(--ms-text-secondary);--ms-counter-badge-background: var(--ms-accent-color);--ms-counter-badge-background-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-on-accent);--ms-hint-background: var(--ms-hint-bg);--ms-hint-color: var(--ms-text-secondary);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-background: var(--ms-dropdown-bg);--ms-dropdown-text-color: var(--ms-text-primary);--ms-dropdown-border-color: var(--ms-border-color);--ms-actions-background: var(--ms-dropdown-bg);--ms-actions-border-color: var(--ms-border-color);--ms-action-button-background: transparent;--ms-action-button-background-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-primary);--ms-group-border-color: var(--ms-border-color);--ms-group-label-color: var(--ms-text-secondary);--ms-option-text-color: var(--ms-text-primary);--ms-option-background: transparent;--ms-option-background-hover: var(--ms-primary-bg);--ms-option-color-hover: inherit;--ms-option-background-focused: var(--ms-primary-bg);--ms-option-color-focused: inherit;--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-background-selected: var(--ms-option-bg-selected);--ms-option-color-selected: inherit;--ms-option-color-selected-hover: var(--ms-option-color-selected);--ms-option-background-matched: var(--ms-option-bg-matched);--ms-option-color-matched: inherit;--ms-option-border-matched-color: var(--ms-option-border-matched);--ms-option-title-color: var(--ms-text-primary);--ms-option-subtitle-color: var(--ms-text-secondary);--ms-option-mark-background: var(--ms-option-mark-bg);--ms-empty-color: var(--ms-text-secondary);--ms-loading-color: var(--ms-text-secondary);--ms-badge-background: var(--ms-badge-bg);--ms-badge-background-hover: var(--ms-badge-bg-hover);--ms-badge-background-active: var(--ms-badge-bg-active);--ms-badge-text-background: var(--ms-badge-text-bg);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-text-background-hover: var(--ms-badge-bg-hover);--ms-badge-text-color-hover: var(--ms-badge-text-color);--ms-badge-remove-background: var(--ms-accent-color);--ms-badge-remove-background-hover: var(--ms-accent-color-hover);--ms-badge-remove-color: var(--ms-text-on-accent);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-background: var(--ms-badge-counter-text-bg);--ms-badge-counter-text-color: var(--ms-text-secondary);--ms-badge-counter-remove-background: var(--ms-badge-counter-remove-bg);--ms-badge-counter-remove-background-hover: var(--ms-badge-counter-remove-bg-hover);--ms-badge-counter-remove-color: var(--ms-badge-counter-remove-color);--ms-counter-wrapper-background: transparent;--ms-counter-wrapper-background-hover: var(--ms-primary-bg);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-color: var(--ms-text-primary);--ms-count-clear-background: transparent;--ms-count-clear-background-hover: var(--ms-accent-color);--ms-count-clear-color: var(--ms-text-secondary);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-tooltip-background: var(--ms-tooltip-bg);--ms-tooltip-text-color: var(--ms-tooltip-color);--ms-selected-popover-background: var(--ms-dropdown-bg);--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-background: var(--ms-selected-popover-header-bg);--ms-selected-popover-header-color: var(--ms-text-primary);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-background: transparent;--ms-selected-popover-close-background-hover: var(--ms-accent-color);--ms-selected-popover-close-color: var(--ms-text-secondary);--ms-selected-popover-close-color-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-font-size: calc(1.4 * var(--ms-rem));--ms-input-border-style: 1px solid #d1d5db;--ms-input-border-radius: calc(.6 * var(--ms-rem));--ms-input-bg: #ffffff;--ms-input-text: #111827;--ms-input-focus-border-color: #3b82f6;--ms-input-placeholder-color: #6b7280;--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-input-size-xs-font: calc(1.2 * var(--ms-rem));--ms-input-size-xs-padding-v: calc(.4 * var(--ms-rem));--ms-input-size-xs-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-xs-height: calc(3.1 * var(--ms-rem));--ms-input-size-sm-font: calc(1.3 * var(--ms-rem));--ms-input-size-sm-padding-v: calc(.5 * var(--ms-rem));--ms-input-size-sm-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-sm-height: calc(3.3 * var(--ms-rem));--ms-input-size-md-font: calc(1.4 * var(--ms-rem));--ms-input-size-md-padding-v: calc(.8 * var(--ms-rem));--ms-input-size-md-padding-h: calc(1.2 * var(--ms-rem));--ms-input-size-md-height: calc(3.5 * var(--ms-rem));--ms-input-size-lg-font: calc(1.6 * var(--ms-rem));--ms-input-size-lg-padding-v: calc(1 * var(--ms-rem));--ms-input-size-lg-padding-h: calc(1.4 * var(--ms-rem));--ms-input-size-lg-height: calc(3.8 * var(--ms-rem));--ms-input-size-xl-font: calc(1.8 * var(--ms-rem));--ms-input-size-xl-padding-v: calc(1.2 * var(--ms-rem));--ms-input-size-xl-padding-h: calc(1.6 * var(--ms-rem));--ms-input-size-xl-height: calc(4.1 * var(--ms-rem));--ms-toggle-right: calc(1.2 * var(--ms-rem));--ms-toggle-color: #6b7280;--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: #3b82f6;--ms-counter-color: #ffffff;--ms-counter-font-size: calc(1.2 * var(--ms-rem));--ms-counter-font-weight: 600;--ms-counter-border-radius: calc(.4 * var(--ms-rem));--ms-counter-bg-hover: #2563eb;--ms-transform-scale-hover: 1.1;--ms-hint-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-hint-bg: #ffffff;--ms-hint-border: 1px solid #e5e7eb;--ms-hint-border-radius: calc(.6 * var(--ms-rem));--ms-hint-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--ms-hint-font-size: calc(1.2 * var(--ms-rem));--ms-hint-color: #6b7280;--ms-line-height-relaxed: 1.4;--ms-dropdown-bg: #ffffff;--ms-dropdown-border: 1px solid #e5e7eb;--ms-dropdown-border-radius: calc(.6 * var(--ms-rem));--ms-dropdown-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ms-options-max-height: calc(32 * var(--ms-rem));--ms-option-color: #111827;--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-actions-border-bottom: 1px solid #e5e7eb;--ms-actions-bg: #ffffff;--ms-action-btn-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-action-btn-font-size: calc(1.2 * var(--ms-rem));--ms-action-btn-border: 1px solid #e5e7eb;--ms-action-btn-border-radius: calc(.4 * var(--ms-rem));--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: #f3f4f6;--ms-action-btn-border-color-hover: #3b82f6;--ms-transform-scale-active: .98;--ms-options-padding: calc(.4 * var(--ms-rem)) 0;--ms-group-border-top: 1px solid #e5e7eb;--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(1.2 * var(--ms-rem));--ms-group-label-font-weight: 600;--ms-group-label-color: #6b7280;--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-bg: transparent;--ms-option-bg-hover: #f9fafb;--ms-option-bg-focused: #f9fafb;--ms-option-outline-focused: 2px solid #3b82f6;--ms-option-focus-outline-offset: -2px;--ms-option-bg-matched: rgba(59, 130, 246, .08);--ms-option-border-matched: 3px solid rgba(59, 130, 246, .4);--ms-option-bg-selected: rgba(59, 130, 246, .1);--ms-option-bg-focused-hover: #f9fafb;--ms-option-bg-matched-hover: rgba(59, 130, 246, .12);--ms-option-bg-selected-focused: rgba(59, 130, 246, .15);--ms-option-bg-selected-matched: rgba(59, 130, 246, .15);--ms-option-bg-disabled-selected: rgba(59, 130, 246, .1);--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(1.6 * var(--ms-rem));--ms-option-title-font-size: calc(1.4 * var(--ms-rem));--ms-option-title-color: inherit;--ms-option-mark-bg: rgba(59, 130, 246, .2);--ms-option-mark-color: inherit;--ms-option-mark-font-weight: 600;--ms-option-subtitle-margin-top: calc(.4 * var(--ms-rem));--ms-option-subtitle-font-size: calc(1.2 * var(--ms-rem));--ms-option-subtitle-color: #6b7280;--ms-option-subtitle-line-height: 1.3;--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: flex-start;--ms-checkbox-bg: #ffffff;--ms-checkbox-border: 1px solid #d1d5db;--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checked-bg: #3b82f6;--ms-checkbox-checked-border: 1px solid #3b82f6;--ms-checkbox-checkmark-color: #ffffff;--ms-checkbox-hover-border-color: #3b82f6;--ms-checkbox-disabled-bg: #e5e7eb;--ms-checkbox-disabled-border: 1px solid #e5e7eb;--ms-checkbox-checked-bg-hover: #2563eb;--ms-checkbox-checked-border-color-hover: #2563eb;--ms-empty-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-empty-font-size: calc(1.4 * var(--ms-rem));--ms-empty-color: #6b7280;--ms-loader-padding: calc(1.6 * var(--ms-rem));--ms-loader-gap: calc(.8 * var(--ms-rem));--ms-loading-text-font-size: calc(1.4 * var(--ms-rem));--ms-loading-text-color: #6b7280;--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-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(2.7 * var(--ms-rem));--ms-badge-font-size: calc(1.2 * var(--ms-rem));--ms-badge-font-weight: 600;--ms-badge-border-radius: calc(.6 * var(--ms-rem));--ms-badge-bg: #eff6ff;--ms-badge-bg-hover: #ffffff;--ms-badge-bg-active: #e0f2fe;--ms-order-first: -1;--ms-badge-text-padding: 0 calc(.8 * var(--ms-rem));--ms-badge-text-bg: #eff6ff;--ms-badge-text-color: #3b82f6;--ms-badge-text-border: none;--ms-badge-remove-width: calc(2.7 * var(--ms-rem));--ms-badge-remove-bg: #3b82f6;--ms-badge-remove-color: #ffffff;--ms-badge-remove-border: none;--ms-badge-remove-font-size: calc(1.2 * var(--ms-rem));--ms-badge-remove-bg-hover: #2563eb;--ms-badge-remove-box-shadow-focus: 0 0 0 2px rgba(59, 130, 246, .5);--ms-icon-remove: "×";--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid #e5e7eb;--ms-badge-counter-border-radius: calc(.4 * var(--ms-rem));--ms-badge-counter-text-color: #6b7280;--ms-badge-counter-text-bg: #d1d5db;--ms-badge-counter-remove-bg: #6b7280;--ms-badge-counter-remove-color: #ffffff;--ms-badge-counter-remove-bg-hover: #111827;--ms-more-badge-bg: #eff6ff;--ms-more-badge-hover-bg: #ffffff;--ms-more-badge-active-bg: #e0f2fe;--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: 1px solid #e5e7eb;--ms-counter-wrapper-border-radius: calc(.4 * var(--ms-rem));--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: #f9fafb;--ms-counter-wrapper-border-color-hover: #3b82f6;--ms-count-text-bg: transparent;--ms-count-text-border: none;--ms-count-text-font-size: calc(1.4 * var(--ms-rem));--ms-count-text-color: #111827;--ms-count-clear-size: calc(1.6 * var(--ms-rem));--ms-count-clear-bg: transparent;--ms-count-clear-color: #6b7280;--ms-count-clear-font-size: calc(1.8 * var(--ms-rem));--ms-count-clear-border-radius: 50%;--ms-count-clear-bg-hover: rgba(59, 130, 246, .2);--ms-count-clear-color-hover: #3b82f6;--ms-icon-clear: "×";--ms-tooltip-bg: #333;--ms-tooltip-color: #fff;--ms-tooltip-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tooltip-border-radius: calc(.6 * var(--ms-rem));--ms-tooltip-font-size: calc(1.4 * var(--ms-rem));--ms-tooltip-max-width: calc(32 * var(--ms-rem));--ms-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, .15);--ms-tooltip-z-index: 10000;--ms-z-index-popover: 10000;--ms-selected-popover-width: calc(32 * var(--ms-rem));--ms-selected-popover-max-height: calc(32 * var(--ms-rem));--ms-selected-popover-bg: #ffffff;--ms-selected-popover-border: 1px solid #e5e7eb;--ms-selected-popover-border-radius: calc(.6 * var(--ms-rem));--ms-selected-popover-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(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: rgba(59, 130, 246, .1);--ms-selected-popover-header-border-bottom: 1px solid #e5e7eb;--ms-selected-popover-header-font-size: calc(1.4 * var(--ms-rem));--ms-selected-popover-header-font-weight: 600;--ms-selected-popover-header-color: #111827;--ms-popover-close-size: calc(2.4 * var(--ms-rem));--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: #6b7280;--ms-selected-popover-close-font-size: calc(2 * var(--ms-rem));--ms-selected-popover-close-border-radius: 50%;--ms-selected-popover-close-bg-hover: rgba(59, 130, 246, .2);--ms-selected-popover-close-color-hover: #3b82f6;--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(1 * var(--ms-rem));--ms-font-size-xs: calc(1.2 * var(--ms-rem));--ms-font-size-sm: calc(1.4 * var(--ms-rem));--ms-font-size-base: calc(1.6 * var(--ms-rem));--ms-font-size-lg: calc(1.8 * var(--ms-rem));--ms-font-weight-medium: 500;--ms-font-weight-semibold: 600;--ms-line-height-none: 1;--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: #d1d5db;--ms-scrollbar-thumb-bg-hover: #6b7280;--ms-scrollbar-thumb-border-radius: 4px}multi-select:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}.ml-wrapper{display:flex;flex-direction:column;align-items:stretch}.ml-wrapper--inline{flex-direction:row;align-items:flex-start}.ml{position:relative;width:100%}.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{box-sizing:border-box;width:100%;height:var(--ms-input-size-md-height, calc(3.5 * var(--ms-rem)));padding:var(--ms-input-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));padding-right:var(--ms-input-padding-right, calc(4 * var(--ms-rem)));font-size:var(--ms-input-font-size, calc(1.4 * var(--ms-rem)));border:var(--ms-input-border-style, 1px solid #d1d5db);border-radius:var(--ms-input-border-radius, calc(.6 * var(--ms-rem)));background:var(--ms-input-background, #ffffff);color:var(--ms-input-color, #111827);cursor:pointer;transition:border-color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__input:hover:not(:focus):not(:disabled){border-color:var(--ms-input-border-color-hover, var(--ms-input-border-color, #d1d5db))}.ms__input:focus{outline:none;border-color:var(--ms-input-border-color-focus, #3b82f6)}.ms__input::placeholder{color:var(--ms-input-placeholder-color, #6b7280);opacity:0;transition:opacity var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity, .6)}.ms__input.ms__input--xs{font-size:var(--ms-input-size-xs-font);padding:var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);padding-right:calc(var(--ms-input-size-xs-padding-h) * 2.5);height:var(--ms-input-size-xs-height)}.ms__input.ms__input--sm{font-size:var(--ms-input-size-sm-font);padding:var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);padding-right:calc(var(--ms-input-size-sm-padding-h) * 2.5);height:var(--ms-input-size-sm-height)}.ms__input.ms__input--lg{font-size:var(--ms-input-size-lg-font);padding:var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);padding-right:calc(var(--ms-input-size-lg-padding-h) * 2.5);height:var(--ms-input-size-lg-height)}.ms__input.ms__input--xl{font-size:var(--ms-input-size-xl-font);padding:var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);padding-right:calc(var(--ms-input-size-xl-padding-h) * 2.5);height:var(--ms-input-size-xl-height)}.ms__toggle{position:absolute;right:var(--ms-toggle-right, calc(1.2 * var(--ms-rem)));top:50%;transform:var(--ms-transform-center-y, translateY(-50%));pointer-events:none;color:var(--ms-toggle-icon-color, #6b7280);transition:transform var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms--open .ms__toggle{transform:var(--ms-transform-center-y, translateY(-50%)) rotate(var(--ms-transform-rotate-180, 180deg));color:var(--ms-toggle-icon-color-open, #6b7280)}.ms__counter{position:absolute;right:var(--ms-counter-offset, calc(3.2 * var(--ms-rem)));top:50%;transform:var(--ms-transform-center-y, translateY(-50%));padding:var(--ms-counter-padding, calc(.2 * var(--ms-rem)) calc(.4 * var(--ms-rem)));background:var(--ms-counter-badge-background, #3b82f6);color:var(--ms-counter-badge-color, #ffffff);font-size:var(--ms-counter-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-counter-font-weight, 600);border-radius:var(--ms-counter-border-radius, calc(.4 * var(--ms-rem)));cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter:hover{background:var(--ms-counter-badge-background-hover, #2563eb);transform:var(--ms-transform-center-y, translateY(-50%)) scale(var(--ms-transform-scale-hover, 1.1))}.ms__hint{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);padding:var(--ms-hint-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));background:var(--ms-hint-background, #ffffff);border:var(--ms-hint-border, 1px solid #e5e7eb);border-radius:var(--ms-hint-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-hint-box-shadow, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1));font-size:var(--ms-hint-font-size, calc(1.2 * var(--ms-rem)));color:var(--ms-hint-color, #6b7280);line-height:var(--ms-line-height-relaxed, 1.4);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:absolute;z-index:var(--ms-z-index-dropdown, 9999);background:var(--ms-dropdown-background, #ffffff);border:var(--ms-dropdown-border, 1px solid #e5e7eb);border-radius:var(--ms-dropdown-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-dropdown-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));max-height:var(--ms-options-max-height, calc(32 * var(--ms-rem)));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:var(--ms-dropdown-text-color, #111827);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__dropdown::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__dropdown::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__dropdown::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__dropdown::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__dropdown--visible{display:block}.ms__dropdown--virtual{overflow-y:visible;max-height:none}.ms__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap, calc(.4 * var(--ms-rem)));padding:var(--ms-actions-padding, calc(.8 * var(--ms-rem)));border-bottom:var(--ms-actions-border-bottom, 1px solid #e5e7eb)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky, 1);background:var(--ms-actions-background, #ffffff)}.ms__action-btn{flex:1;padding:var(--ms-action-btn-padding, calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem)));font-size:var(--ms-action-btn-font-size, calc(1.2 * var(--ms-rem)));border:var(--ms-action-btn-border, 1px solid #e5e7eb);border-radius:var(--ms-action-btn-border-radius, calc(.4 * var(--ms-rem)));background:var(--ms-action-button-background, transparent);color:var(--ms-action-button-color, inherit);cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__action-btn:hover{background:var(--ms-action-button-background-hover, #f3f4f6);border-color:var(--ms-action-button-border-color-hover, #3b82f6)}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active, .98))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed;pointer-events:none}.ms__options{padding:var(--ms-options-padding, calc(.4 * var(--ms-rem)) 0);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__options::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__options::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__options::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__options::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__options--virtual .ms__option{height:var(--ms-option-height, 50px);min-height:var(--ms-option-height, 50px);max-height:var(--ms-option-height, 50px);overflow:hidden;box-sizing:border-box}.ms__group+.ms__group{border-top:var(--ms-group-border-top, 1px solid #e5e7eb);margin-top:var(--ms-group-margin-top, calc(.4 * var(--ms-rem)));padding-top:var(--ms-group-padding-top, calc(.4 * var(--ms-rem)))}.ms__group-label{padding:var(--ms-group-label-padding, calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));font-size:var(--ms-group-label-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-group-label-font-weight, 600);color:var(--ms-group-label-color, #6b7280);text-transform:var(--ms-group-label-transform, uppercase);letter-spacing:var(--ms-group-label-letter-spacing, .05em)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, flex-start);gap:var(--ms-option-gap, calc(.8 * var(--ms-rem)));padding:var(--ms-option-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));color:var(--ms-option-text-color, #111827);background:var(--ms-option-background, transparent);cursor:pointer;transition:background-color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__option:hover{background:var(--ms-option-background-hover, #f9fafb);color:var(--ms-option-color-hover, inherit)}.ms__option--focused{background:var(--ms-option-background-focused, #f9fafb);color:var(--ms-option-color-focused, inherit);outline:var(--ms-option-outline-focused, 2px solid #3b82f6);outline-offset:var(--ms-option-focus-outline-offset, -2px)}.ms__option--matched{background:var(--ms-option-background-matched, rgba(59, 130, 246, .08));color:var(--ms-option-color-matched, inherit);border-left:var(--ms-option-border-matched, 3px solid rgba(59, 130, 246, .4))}.ms__option--selected{background:var(--ms-option-background-selected, rgba(59, 130, 246, .1));color:var(--ms-option-color-selected, inherit)}.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-background-selected, rgba(59, 130, 246, .1)));color:var(--ms-option-color-selected-hover, var(--ms-option-color-selected, inherit))}.ms__option--disabled{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed}.ms__option--disabled:hover{background:var(--ms-option-background, transparent)}.ms__option--focused:hover{background:var(--ms-option-bg-focused-hover, #f9fafb);color:var(--ms-option-color-focused-hover, var(--ms-option-color-focused, var(--ms-option-text-color, #111827)))}.ms__option--matched:hover{background:var(--ms-option-bg-matched-hover, rgba(59, 130, 246, .12));color:var(--ms-option-color-matched-hover, var(--ms-option-color-matched, var(--ms-option-text-color, #111827)))}.ms__option--selected.ms__option--focused{background:var(--ms-option-bg-selected-focused, rgba(59, 130, 246, .15));color:var(--ms-option-color-selected-focused, var(--ms-option-color-selected, var(--ms-option-text-color, #111827)));outline:var(--ms-option-outline-focused, 2px solid #3b82f6);outline-offset:var(--ms-option-focus-outline-offset, -2px)}.ms__option--selected.ms__option--matched{background:var(--ms-option-bg-selected-matched, rgba(59, 130, 246, .15));color:var(--ms-option-color-selected-matched, var(--ms-option-color-selected, var(--ms-option-text-color, #111827)));border-left:var(--ms-option-border-matched, 3px solid rgba(59, 130, 246, .4))}.ms__option--disabled.ms__option--selected{background:var(--ms-option-bg-disabled-selected, rgba(59, 130, 246, .1));color:var(--ms-option-color-disabled-selected, var(--ms-option-color-selected, var(--ms-option-text-color, #111827)))}.ms__option--disabled.ms__option--focused{outline:none}.ms__option[data-checkbox-align=center]{--ms-checkbox-align: center}.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, calc(.2 * var(--ms-rem)));margin-right:var(--ms-checkbox-margin-right, 0);margin-bottom:var(--ms-checkbox-margin-bottom, 0);margin-left:var(--ms-checkbox-margin-left, 0);width:var(--ms-checkbox-size, calc(1.6 * var(--ms-rem)));height:var(--ms-checkbox-size, calc(1.6 * var(--ms-rem)));transform:scale(var(--ms-checkbox-scale, 1));transform-origin:top left;cursor:pointer;background:var(--ms-checkbox-bg, #ffffff);border:var(--ms-checkbox-border, 1px solid #d1d5db);border-radius:var(--ms-checkbox-border-radius, calc(.3 * var(--ms-rem)));transition:background-color .15s ease,border-color .15s ease}.ms__checkbox:after{content:"";position:absolute;display:none;left:50%;top:45%;width:30%;height:55%;transform:translate(-50%,-50%) rotate(45deg);border:solid var(--ms-checkbox-checkmark-color, #ffffff);border-width:0 2px 2px 0}.ms__checkbox:hover:not(:disabled){border-color:var(--ms-checkbox-hover-border-color, #3b82f6)}.ms__checkbox:checked{background:var(--ms-checkbox-checked-bg, #3b82f6);border:var(--ms-checkbox-checked-border, 1px solid #3b82f6)}.ms__checkbox:checked:after{display:block}.ms__checkbox:checked:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover, #2563eb);border-color:var(--ms-checkbox-checked-border-color-hover, #2563eb)}.ms__checkbox:focus-visible{outline:2px solid var(--ms-checkbox-checked-bg, #3b82f6);outline-offset:2px}.ms__checkbox:disabled{cursor:not-allowed;background:var(--ms-checkbox-disabled-bg, #e5e7eb);border:var(--ms-checkbox-disabled-border, 1px solid #e5e7eb);opacity:.6}.ms__checkbox:disabled:checked{background:var(--ms-checkbox-disabled-bg, #e5e7eb)}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:flex-start;gap:var(--ms-option-content-gap, calc(.8 * var(--ms-rem)));min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size, calc(2 * var(--ms-rem)));height:var(--ms-option-icon-size, calc(2 * var(--ms-rem)));display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size, calc(1.6 * var(--ms-rem)))}.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, calc(1.4 * var(--ms-rem)));color:var(--ms-option-title-color, inherit);line-height:var(--ms-line-height-relaxed, 1.4)}.ms__option-title mark{background:var(--ms-option-mark-background, rgba(59, 130, 246, .2));color:var(--ms-option-mark-color, inherit);font-weight:var(--ms-option-mark-font-weight, 600)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top, calc(.4 * var(--ms-rem)));font-size:var(--ms-option-subtitle-font-size, calc(1.2 * var(--ms-rem)));color:var(--ms-option-subtitle-color, #6b7280);line-height:var(--ms-option-subtitle-line-height, 1.3)}.ms__option:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-hover, var(--ms-option-subtitle-color, #6b7280))}.ms__option--selected .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color, #6b7280))}.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, #6b7280)))}.ms__empty{padding:var(--ms-empty-padding, calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));text-align:center;font-size:var(--ms-empty-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-empty-color, #6b7280)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ms-loader-padding, calc(1.6 * var(--ms-rem)));gap:var(--ms-loader-gap, calc(.8 * var(--ms-rem)))}.ms__loading-text{font-size:var(--ms-loading-text-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-loading-color, #6b7280)}.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap, calc(.8 * var(--ms-rem)));padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom, calc(.8 * var(--ms-rem)))}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top, calc(.8 * var(--ms-rem)));order:var(--ms-order-first, -1)}.ms__badges--left{order:var(--ms-order-first, -1);margin-right:var(--ms-badges-margin-left, calc(.4 * var(--ms-rem)));justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right, calc(.4 * var(--ms-rem)));justify-content:flex-start}.ms__count-display{display:flex;align-items:center}.ms__count-display:empty{display:none}.ms__count-display--bottom{margin-top:var(--ms-count-display-margin-bottom, calc(.8 * var(--ms-rem)))}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top, calc(.8 * var(--ms-rem)));order:var(--ms-order-first, -1)}.ms__count-display--left{order:var(--ms-order-first, -1);margin-right:var(--ms-count-display-margin-left, calc(.8 * var(--ms-rem)));justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right, calc(.8 * var(--ms-rem)));justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap, calc(.4 * var(--ms-rem)));background:var(--ms-counter-wrapper-background, transparent);border:var(--ms-counter-wrapper-border, 1px solid #e5e7eb);border-radius:var(--ms-counter-wrapper-border-radius, calc(.4 * var(--ms-rem)));padding:var(--ms-counter-wrapper-padding, calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem)));transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-background-hover, #f9fafb);border-color:var(--ms-counter-wrapper-border-color-hover, #3b82f6)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg, transparent);border:var(--ms-count-text-border, none);padding:0;font-size:var(--ms-count-text-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-count-text-color, #111827);cursor:pointer;transition:color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size, calc(1.6 * var(--ms-rem)));height:var(--ms-count-clear-size, calc(1.6 * var(--ms-rem)));padding:0;border:none;background:var(--ms-count-clear-background, transparent);color:var(--ms-count-clear-color, #6b7280);font-size:var(--ms-count-clear-font-size, calc(1.8 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-count-clear-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear:hover{background:var(--ms-count-clear-background-hover, rgba(59, 130, 246, .2));color:var(--ms-count-clear-color-hover, #3b82f6)}.ms__count-clear:before{content:var(--ms-icon-clear, "×")}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height, calc(2.7 * var(--ms-rem)));font-size:var(--ms-badge-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-badge-font-weight, 600);line-height:var(--ms-line-height-none, 1);border-radius:var(--ms-badge-border-radius, calc(.6 * var(--ms-rem)));overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;height:100%;padding:var(--ms-badge-text-padding, 0 calc(.8 * var(--ms-rem)));background:var(--ms-badge-text-background, #eff6ff);color:var(--ms-badge-text-color, #3b82f6);border:var(--ms-badge-text-border, none);border-right:none;border-radius:var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0 0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem)));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal, .2s) ease,color var(--ms-transition-normal, .2s) ease}.ms__badge:hover .ms__badge-text{background:var(--ms-badge-text-background-hover, var(--ms-badge-text-background, #eff6ff));color:var(--ms-badge-text-color-hover, var(--ms-badge-text-color, #3b82f6))}.ms__badge-remove{display:flex;align-items:center;justify-content:center;width:var(--ms-badge-remove-width, calc(2.7 * var(--ms-rem)));height:100%;flex-shrink:0;background:var(--ms-badge-remove-background, #3b82f6);color:var(--ms-badge-remove-color, #ffffff);border:var(--ms-badge-remove-border, none);border-left:none;border-radius:0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0;cursor:pointer;transition:background-color var(--ms-transition-normal, .2s) ease;font-size:var(--ms-badge-remove-font-size, calc(1.2 * var(--ms-rem)))}.ms__badge-remove:hover{background:var(--ms-badge-remove-background-hover, #2563eb)}.ms__badge-remove:focus{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus, 0 0 0 2px rgba(59, 130, 246, .5))}.ms__badge-remove:before{content:var(--ms-icon-remove, "×");font-size:var(--ms-font-size-base, calc(1.6 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1)}.ms__badge--counter{cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-background, #d1d5db);color:var(--ms-badge-counter-text-color, #6b7280);border:var(--ms-badge-counter-border, 1px solid #e5e7eb);border-right:none}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-background, #6b7280);color:var(--ms-badge-counter-remove-color, #ffffff);border:var(--ms-badge-counter-border, 1px solid #e5e7eb);border-left:none}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-background-hover, #111827)}.ms__badge--more{cursor:pointer}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index, 10000);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal, .2s) ease,visibility var(--ms-transition-normal, .2s) ease;background:var(--ms-tooltip-background, #333);color:var(--ms-tooltip-text-color, #fff);padding:var(--ms-tooltip-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));border-radius:var(--ms-tooltip-border-radius, calc(.6 * var(--ms-rem)));font-size:var(--ms-tooltip-font-size, calc(1.4 * var(--ms-rem)));line-height:var(--ms-line-height-relaxed, 1.4);max-width:var(--ms-tooltip-max-width, calc(32 * var(--ms-rem)));word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, .15));pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__selected-popover{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);background:var(--ms-selected-popover-background, #ffffff);border:var(--ms-selected-popover-border, 1px solid #e5e7eb);border-radius:var(--ms-selected-popover-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-selected-popover-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));width:var(--ms-selected-popover-width, calc(32 * var(--ms-rem)));max-height:var(--ms-selected-popover-max-height, calc(32 * var(--ms-rem)));overflow:hidden}.ms__selected-popover--visible{display:flex;flex-direction:column}.ms__selected-popover--virtual{display:block;overflow:visible;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));background:var(--ms-selected-popover-header-background, rgba(59, 130, 246, .1));border-bottom:var(--ms-selected-popover-header-border-bottom, 1px solid #e5e7eb);font-size:var(--ms-selected-popover-header-font-size, calc(1.4 * var(--ms-rem)));font-weight:var(--ms-selected-popover-header-font-weight, 600);color:var(--ms-selected-popover-header-color, #111827)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size, calc(2.4 * var(--ms-rem)));height:var(--ms-popover-close-size, calc(2.4 * var(--ms-rem)));padding:0;border:none;background:var(--ms-selected-popover-close-background, transparent);color:var(--ms-selected-popover-close-color, #6b7280);font-size:var(--ms-selected-popover-close-font-size, calc(2 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-background-hover, rgba(59, 130, 246, .2));color:var(--ms-selected-popover-close-color-hover, #3b82f6)}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap, calc(.4 * var(--ms-rem)));padding:var(--ms-selected-popover-body-padding, calc(.8 * var(--ms-rem)));overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height, calc(28.8 * var(--ms-rem)));scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__selected-popover-body::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__selected-popover-body::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__selected-popover-body::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__selected-popover-body::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed, 1.4)}.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, calc(.4 * var(--ms-rem)));overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right, calc(4 * var(--ms-rem)));padding-right:var(--ms-input-padding-h, calc(1.2 * var(--ms-rem)))}.ms--rtl .ms__toggle{left:var(--ms-toggle-right, calc(1.2 * var(--ms-rem)))!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset, calc(3.2 * var(--ms-rem)))!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm, calc(.8 * var(--ms-rem)));margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs, calc(.4 * var(--ms-rem)));margin-right:0}.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0 0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem)));border-left:var(--ms-badge-remove-border, none);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0;border-right:var(--ms-badge-text-border, none);border-left:none}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--xs .ms__input{font-size:var(--ms-font-size-xs, calc(1.2 * var(--ms-rem)))}.ms--xs .ms__option{padding:var(--ms-spacing-xs, calc(.4 * var(--ms-rem))) var(--ms-spacing-sm, calc(.8 * var(--ms-rem)))}.ms--xs .ms__option-title{font-size:var(--ms-font-size-xs, calc(1.2 * var(--ms-rem)))}.ms--xs .ms__badge{font-size:var(--ms-font-size-2xs, calc(1 * var(--ms-rem)))}.ms--sm .ms__input,.ms--sm .ms__option-title{font-size:var(--ms-font-size-xs, calc(1.2 * var(--ms-rem)))}.ms--lg .ms__input,.ms--lg .ms__option-title{font-size:var(--ms-font-size-base, calc(1.6 * var(--ms-rem)))}.ms--lg .ms__badge{font-size:var(--ms-font-size-sm, calc(1.4 * var(--ms-rem)))}.ms--xl .ms__input,.ms--xl .ms__option-title{font-size:var(--ms-font-size-lg, calc(1.8 * var(--ms-rem)))}.ms--xl .ms__badge{font-size:var(--ms-font-size-base, calc(1.6 * var(--ms-rem)))}.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity, .6);cursor:not-allowed;background:var(--ms-input-bg-disabled, rgba(107, 114, 128, .05))}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity, .6)}.ms--no-checkboxes .ms__option{gap:0;padding-left:var(--ms-option-padding-h, calc(1.2 * var(--ms-rem)))}.ms--no-checkboxes .ms__option-content{padding-left:0}.ml-debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:calc(.6 * var(--ms-rem));font-size:calc(1.2 * var(--ms-rem));color:#111827}.ml-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:calc(.4 * var(--ms-rem))}.ml-debug-info details summary:hover{background-color:#f3f4f6}.ml-debug-info details summary:focus{outline:2px solid #3b82f6;outline-offset:2px}.ml-debug-info .ml-debug-stats{display:flex;flex-direction:column;gap:calc(.4 * var(--ms-rem));margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#fff;border-radius:calc(.4 * var(--ms-rem))}.ml-debug-info .ml-debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:calc(1 * var(--ms-rem))}.ml-debug-info .ml-debug-stats span:before{content:"•";margin-right:calc(.4 * var(--ms-rem));color:#3b82f6}', bs = typeof HTMLElement < "u" ? HTMLElement : class {
2441
+ const bs = '@charset "UTF-8";:host{--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));--ms-accent-color: #3b82f6;--ms-accent-color-hover: #2563eb;--ms-accent-color-active: #1d4ed8;--ms-text-primary: #111827;--ms-text-secondary: #6b7280;--ms-text-on-accent: #ffffff;--ms-primary-bg: #f3f4f6;--ms-primary-bg-hover: #e5e7eb;--ms-border-color: #e5e7eb;--ms-input-background: var(--ms-input-bg);--ms-input-color: var(--ms-text-primary);--ms-input-border-color: var(--ms-border-color);--ms-input-border-color-hover: var(--ms-text-secondary);--ms-input-border-color-focus: var(--ms-accent-color);--ms-input-placeholder-color: var(--ms-text-secondary);--ms-input-background-disabled: var(--ms-input-bg-disabled);--ms-toggle-icon-color: var(--ms-text-secondary);--ms-toggle-icon-color-open: var(--ms-text-secondary);--ms-counter-badge-background: var(--ms-accent-color);--ms-counter-badge-background-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-on-accent);--ms-hint-background: var(--ms-hint-bg);--ms-hint-color: var(--ms-text-secondary);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-background: var(--ms-dropdown-bg);--ms-dropdown-text-color: var(--ms-text-primary);--ms-dropdown-border-color: var(--ms-border-color);--ms-actions-background: var(--ms-dropdown-bg);--ms-actions-border-color: var(--ms-border-color);--ms-action-button-background: transparent;--ms-action-button-background-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-primary);--ms-group-border-color: var(--ms-border-color);--ms-group-label-color: var(--ms-text-secondary);--ms-option-text-color: var(--ms-text-primary);--ms-option-background: transparent;--ms-option-background-hover: var(--ms-primary-bg);--ms-option-color-hover: inherit;--ms-option-background-focused: var(--ms-primary-bg);--ms-option-color-focused: inherit;--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-background-selected: var(--ms-option-bg-selected);--ms-option-color-selected: inherit;--ms-option-color-selected-hover: var(--ms-option-color-selected);--ms-option-background-matched: var(--ms-option-bg-matched);--ms-option-color-matched: inherit;--ms-option-border-matched-color: var(--ms-option-border-matched);--ms-option-title-color: var(--ms-text-primary);--ms-option-subtitle-color: var(--ms-text-secondary);--ms-option-mark-background: var(--ms-option-mark-bg);--ms-empty-color: var(--ms-text-secondary);--ms-loading-color: var(--ms-text-secondary);--ms-badge-background: var(--ms-badge-bg);--ms-badge-background-hover: var(--ms-badge-bg-hover);--ms-badge-background-active: var(--ms-badge-bg-active);--ms-badge-text-background: var(--ms-badge-text-bg);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-text-background-hover: var(--ms-badge-bg-hover);--ms-badge-text-color-hover: var(--ms-badge-text-color);--ms-badge-remove-background: var(--ms-accent-color);--ms-badge-remove-background-hover: var(--ms-accent-color-hover);--ms-badge-remove-color: var(--ms-text-on-accent);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-background: var(--ms-badge-counter-text-bg);--ms-badge-counter-text-color: var(--ms-text-secondary);--ms-badge-counter-remove-background: var(--ms-badge-counter-remove-bg);--ms-badge-counter-remove-background-hover: var(--ms-badge-counter-remove-bg-hover);--ms-badge-counter-remove-color: var(--ms-badge-counter-remove-color);--ms-counter-wrapper-background: transparent;--ms-counter-wrapper-background-hover: var(--ms-primary-bg);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-color: var(--ms-text-primary);--ms-count-clear-background: transparent;--ms-count-clear-background-hover: var(--ms-accent-color);--ms-count-clear-color: var(--ms-text-secondary);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-tooltip-background: var(--ms-tooltip-bg);--ms-tooltip-text-color: var(--ms-tooltip-color);--ms-selected-popover-background: var(--ms-dropdown-bg);--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-background: var(--ms-selected-popover-header-bg);--ms-selected-popover-header-color: var(--ms-text-primary);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-background: transparent;--ms-selected-popover-close-background-hover: var(--ms-accent-color);--ms-selected-popover-close-color: var(--ms-text-secondary);--ms-selected-popover-close-color-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-height: calc(3.5 * var(--ms-rem));--ms-input-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-border-style: 1px solid #d1d5db;--ms-input-border-radius: calc(.6 * var(--ms-rem));--ms-input-bg: #ffffff;--ms-input-text: #111827;--ms-input-focus-border-color: #3b82f6;--ms-input-placeholder-color: #6b7280;--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-toggle-right: calc(1.2 * var(--ms-rem));--ms-toggle-color: #6b7280;--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: #3b82f6;--ms-counter-color: #ffffff;--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: calc(.4 * var(--ms-rem));--ms-counter-bg-hover: #2563eb;--ms-transform-scale-hover: 1.1;--ms-hint-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-hint-bg: #ffffff;--ms-hint-border: 1px solid #e5e7eb;--ms-hint-border-radius: calc(.6 * var(--ms-rem));--ms-hint-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--ms-hint-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-hint-color: #6b7280;--ms-dropdown-bg: #ffffff;--ms-dropdown-border: 1px solid #e5e7eb;--ms-dropdown-border-radius: calc(.6 * var(--ms-rem));--ms-dropdown-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ms-options-max-height: calc(32 * var(--ms-rem));--ms-option-color: #111827;--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-actions-border-bottom: 1px solid #e5e7eb;--ms-actions-bg: #ffffff;--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: 1px solid #e5e7eb;--ms-action-btn-border-radius: calc(.4 * var(--ms-rem));--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: #f3f4f6;--ms-action-btn-border-color-hover: #3b82f6;--ms-transform-scale-active: .98;--ms-options-padding: calc(.4 * var(--ms-rem)) 0;--ms-group-border-top: 1px solid #e5e7eb;--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: #6b7280;--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-bg: transparent;--ms-option-bg-hover: #f9fafb;--ms-option-bg-focused: #f9fafb;--ms-option-outline-focused: 2px solid #3b82f6;--ms-option-focus-outline-offset: -2px;--ms-option-bg-matched: rgba(59, 130, 246, .08);--ms-option-border-matched: 3px solid rgba(59, 130, 246, .4);--ms-option-bg-selected: rgba(59, 130, 246, .1);--ms-option-bg-focused-hover: #f9fafb;--ms-option-bg-matched-hover: rgba(59, 130, 246, .12);--ms-option-bg-selected-focused: rgba(59, 130, 246, .15);--ms-option-bg-selected-matched: rgba(59, 130, 246, .15);--ms-option-bg-disabled-selected: rgba(59, 130, 246, .1);--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-title-color: inherit;--ms-option-mark-bg: rgba(59, 130, 246, .2);--ms-option-mark-color: inherit;--ms-option-mark-font-weight: var(--base-font-weight-semibold, 600);--ms-option-subtitle-margin-top: calc(.4 * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-subtitle-color: #6b7280;--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: #ffffff;--ms-checkbox-border: 1px solid #d1d5db;--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checked-bg: #3b82f6;--ms-checkbox-checked-border: 1px solid #3b82f6;--ms-checkbox-checkmark-color: #ffffff;--ms-checkbox-hover-border-color: #3b82f6;--ms-checkbox-disabled-bg: #e5e7eb;--ms-checkbox-disabled-border: 1px solid #e5e7eb;--ms-checkbox-checked-bg-hover: #2563eb;--ms-checkbox-checked-border-color-hover: #2563eb;--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: #6b7280;--ms-loader-padding: calc(1.6 * var(--ms-rem));--ms-loader-gap: calc(.8 * var(--ms-rem));--ms-loading-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-loading-text-color: #6b7280;--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-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: calc(.6 * var(--ms-rem));--ms-badge-bg: #eff6ff;--ms-badge-bg-hover: #ffffff;--ms-badge-bg-active: #e0f2fe;--ms-order-first: -1;--ms-badge-text-padding: 0 calc(.8 * var(--ms-rem));--ms-badge-text-bg: #eff6ff;--ms-badge-text-color: #3b82f6;--ms-badge-text-border: none;--ms-badge-remove-width: calc(2.7 * var(--ms-rem));--ms-badge-remove-bg: #3b82f6;--ms-badge-remove-color: #ffffff;--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: #2563eb;--ms-badge-remove-box-shadow-focus: 0 0 0 2px rgba(59, 130, 246, .5);--ms-icon-remove: "×";--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid #e5e7eb;--ms-badge-counter-border-radius: calc(.4 * var(--ms-rem));--ms-badge-counter-text-color: #6b7280;--ms-badge-counter-text-bg: #d1d5db;--ms-badge-counter-remove-bg: #6b7280;--ms-badge-counter-remove-color: #ffffff;--ms-badge-counter-remove-bg-hover: #111827;--ms-more-badge-bg: #eff6ff;--ms-more-badge-hover-bg: #ffffff;--ms-more-badge-active-bg: #e0f2fe;--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: 1px solid #e5e7eb;--ms-counter-wrapper-border-radius: calc(.4 * var(--ms-rem));--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: #f9fafb;--ms-counter-wrapper-border-color-hover: #3b82f6;--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: #111827;--ms-count-clear-size: calc(1.6 * var(--ms-rem));--ms-count-clear-bg: transparent;--ms-count-clear-color: #6b7280;--ms-count-clear-font-size: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-count-clear-border-radius: 50%;--ms-count-clear-bg-hover: rgba(59, 130, 246, .2);--ms-count-clear-color-hover: #3b82f6;--ms-icon-clear: "×";--ms-tooltip-bg: #333;--ms-tooltip-color: #fff;--ms-tooltip-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tooltip-border-radius: calc(.6 * var(--ms-rem));--ms-tooltip-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-tooltip-max-width: calc(32 * var(--ms-rem));--ms-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, .15);--ms-tooltip-z-index: 10000;--ms-z-index-popover: 10000;--ms-selected-popover-width: calc(32 * var(--ms-rem));--ms-selected-popover-max-height: calc(32 * var(--ms-rem));--ms-selected-popover-bg: #ffffff;--ms-selected-popover-border: 1px solid #e5e7eb;--ms-selected-popover-border-radius: calc(.6 * var(--ms-rem));--ms-selected-popover-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(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: rgba(59, 130, 246, .1);--ms-selected-popover-header-border-bottom: 1px solid #e5e7eb;--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: #111827;--ms-popover-close-size: calc(2.4 * var(--ms-rem));--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: #6b7280;--ms-selected-popover-close-font-size: calc(var(--base-font-size-xl, 2) * var(--ms-rem));--ms-selected-popover-close-border-radius: 50%;--ms-selected-popover-close-bg-hover: rgba(59, 130, 246, .2);--ms-selected-popover-close-color-hover: #3b82f6;--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-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: #d1d5db;--ms-scrollbar-thumb-bg-hover: #6b7280;--ms-scrollbar-thumb-border-radius: 4px}multi-select:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}.ms-wrapper{display:flex;flex-direction:column;align-items:stretch}.ms-wrapper--inline{flex-direction:row;align-items:flex-start}.ms{position:relative;width:100%}.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{box-sizing:border-box;width:100%;font-family:inherit;height:var(--ms-input-height, calc(3.5 * var(--ms-rem)));padding:var(--ms-input-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));padding-right:var(--ms-input-padding-right, calc(4 * var(--ms-rem)));font-size:var(--ms-input-font-size, calc(1.4 * var(--ms-rem)));border:var(--ms-input-border-style, 1px solid #d1d5db);border-radius:var(--ms-input-border-radius, calc(.6 * var(--ms-rem)));background:var(--ms-input-background, #ffffff);color:var(--ms-input-color, #111827);cursor:pointer;transition:border-color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__input:hover:not(:focus):not(:disabled){border-color:var(--ms-input-border-color-hover, var(--ms-input-border-color, #d1d5db))}.ms__input:focus{outline:none;border-color:var(--ms-input-border-color-focus, #3b82f6)}.ms__input::placeholder{color:var(--ms-input-placeholder-color, #6b7280);opacity:0;transition:opacity var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity, .6)}.ms__input.ms__input--xs{font-size:var(--ms-input-size-xs-font);padding:var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);padding-right:calc(var(--ms-input-size-xs-padding-h) * 2.5);height:var(--ms-input-size-xs-height)}.ms__input.ms__input--sm{font-size:var(--ms-input-size-sm-font);padding:var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);padding-right:calc(var(--ms-input-size-sm-padding-h) * 2.5);height:var(--ms-input-size-sm-height)}.ms__input.ms__input--lg{font-size:var(--ms-input-size-lg-font);padding:var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);padding-right:calc(var(--ms-input-size-lg-padding-h) * 2.5);height:var(--ms-input-size-lg-height)}.ms__input.ms__input--xl{font-size:var(--ms-input-size-xl-font);padding:var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);padding-right:calc(var(--ms-input-size-xl-padding-h) * 2.5);height:var(--ms-input-size-xl-height)}.ms__toggle{position:absolute;right:var(--ms-toggle-right, calc(1.2 * var(--ms-rem)));top:50%;transform:var(--ms-transform-center-y, translateY(-50%));pointer-events:none;color:var(--ms-toggle-icon-color, #6b7280);transition:transform var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms--open .ms__toggle{transform:var(--ms-transform-center-y, translateY(-50%)) rotate(var(--ms-transform-rotate-180, 180deg));color:var(--ms-toggle-icon-color-open, #6b7280)}.ms__counter{position:absolute;right:var(--ms-counter-offset, calc(3.2 * var(--ms-rem)));top:50%;transform:var(--ms-transform-center-y, translateY(-50%));padding:var(--ms-counter-padding, calc(.2 * var(--ms-rem)) calc(.4 * var(--ms-rem)));background:var(--ms-counter-badge-background, #3b82f6);color:var(--ms-counter-badge-color, #ffffff);font-size:var(--ms-counter-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-counter-font-weight, 600);border-radius:var(--ms-counter-border-radius, calc(.4 * var(--ms-rem)));cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter:hover{background:var(--ms-counter-badge-background-hover, #2563eb);transform:var(--ms-transform-center-y, translateY(-50%)) scale(var(--ms-transform-scale-hover, 1.1))}.ms__hint{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);padding:var(--ms-hint-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));background:var(--ms-hint-background, #ffffff);border:var(--ms-hint-border, 1px solid #e5e7eb);border-radius:var(--ms-hint-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-hint-box-shadow, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1));font-size:var(--ms-hint-font-size, calc(1.2 * var(--ms-rem)));color:var(--ms-hint-color, #6b7280);line-height:var(--ms-line-height-relaxed, 1.75);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:absolute;font-family:inherit;z-index:var(--ms-z-index-dropdown, 9999);background:var(--ms-dropdown-background, #ffffff);border:var(--ms-dropdown-border, 1px solid #e5e7eb);border-radius:var(--ms-dropdown-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-dropdown-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));max-height:var(--ms-options-max-height, calc(32 * var(--ms-rem)));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:var(--ms-dropdown-text-color, #111827);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__dropdown::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__dropdown::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__dropdown::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__dropdown::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__dropdown--visible{display:block}.ms__dropdown--virtual{overflow-y:visible;max-height:none}.ms__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap, calc(.4 * var(--ms-rem)));padding:var(--ms-actions-padding, calc(.8 * var(--ms-rem)));border-bottom:var(--ms-actions-border-bottom, 1px solid #e5e7eb)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky, 1);background:var(--ms-actions-background, #ffffff)}.ms__action-btn{flex:1;font-family:inherit;padding:var(--ms-action-btn-padding, calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem)));font-size:var(--ms-action-btn-font-size, calc(1.2 * var(--ms-rem)));border:var(--ms-action-btn-border, 1px solid #e5e7eb);border-radius:var(--ms-action-btn-border-radius, calc(.4 * var(--ms-rem)));background:var(--ms-action-button-background, transparent);color:var(--ms-action-button-color, inherit);cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__action-btn:hover{background:var(--ms-action-button-background-hover, #f3f4f6);border-color:var(--ms-action-button-border-color-hover, #3b82f6)}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active, .98))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed;pointer-events:none}.ms__options{padding:var(--ms-options-padding, calc(.4 * var(--ms-rem)) 0);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__options::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__options::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__options::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__options::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__options--virtual .ms__option{height:var(--ms-option-height, 50px);min-height:var(--ms-option-height, 50px);max-height:var(--ms-option-height, 50px);overflow:hidden;box-sizing:border-box}.ms__group+.ms__group{border-top:var(--ms-group-border-top, 1px solid #e5e7eb);margin-top:var(--ms-group-margin-top, calc(.4 * var(--ms-rem)));padding-top:var(--ms-group-padding-top, calc(.4 * var(--ms-rem)))}.ms__group-label{padding:var(--ms-group-label-padding, calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));font-size:var(--ms-group-label-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-group-label-font-weight, 600);color:var(--ms-group-label-color, #6b7280);text-transform:var(--ms-group-label-transform, uppercase);letter-spacing:var(--ms-group-label-letter-spacing, .05em)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, flex-start);gap:var(--ms-option-gap, calc(.8 * var(--ms-rem)));padding:var(--ms-option-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));color:var(--ms-option-text-color, #111827);background:var(--ms-option-background, transparent);cursor:pointer}.ms__option:hover{background:var(--ms-option-background-hover, #f9fafb);color:var(--ms-option-color-hover, inherit)}.ms__option--focused{background:var(--ms-option-background-focused, #f9fafb);color:var(--ms-option-color-focused, inherit);outline:var(--ms-option-outline-focused, 2px solid #3b82f6);outline-offset:var(--ms-option-focus-outline-offset, -2px)}.ms__option--matched{background:var(--ms-option-background-matched, rgba(59, 130, 246, .08));color:var(--ms-option-color-matched, inherit);border-left:var(--ms-option-border-matched, 3px solid rgba(59, 130, 246, .4))}.ms__option--selected{background:var(--ms-option-background-selected, rgba(59, 130, 246, .1));color:var(--ms-option-color-selected, inherit)}.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-background-selected, rgba(59, 130, 246, .1)));color:var(--ms-option-color-selected-hover, var(--ms-option-color-selected, inherit))}.ms__option--disabled{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed}.ms__option--disabled:hover{background:var(--ms-option-background, transparent)}.ms__option--focused:hover{background:var(--ms-option-bg-focused-hover, #f9fafb);color:var(--ms-option-color-focused-hover, var(--ms-option-color-focused, var(--ms-option-text-color, #111827)))}.ms__option--matched:hover{background:var(--ms-option-bg-matched-hover, rgba(59, 130, 246, .12));color:var(--ms-option-color-matched-hover, var(--ms-option-color-matched, var(--ms-option-text-color, #111827)))}.ms__option--selected.ms__option--focused{background:var(--ms-option-bg-selected-focused, rgba(59, 130, 246, .15));color:var(--ms-option-color-selected-focused, var(--ms-option-color-selected, var(--ms-option-text-color, #111827)));outline:var(--ms-option-outline-focused, 2px solid #3b82f6);outline-offset:var(--ms-option-focus-outline-offset, -2px)}.ms__option--selected.ms__option--matched{background:var(--ms-option-bg-selected-matched, rgba(59, 130, 246, .15));color:var(--ms-option-color-selected-matched, var(--ms-option-color-selected, var(--ms-option-text-color, #111827)));border-left:var(--ms-option-border-matched, 3px solid rgba(59, 130, 246, .4))}.ms__option--disabled.ms__option--selected{background:var(--ms-option-bg-disabled-selected, rgba(59, 130, 246, .1));color:var(--ms-option-color-disabled-selected, var(--ms-option-color-selected, var(--ms-option-text-color, #111827)))}.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, calc(.2 * var(--ms-rem)));margin-right:var(--ms-checkbox-margin-right, 0);margin-bottom:var(--ms-checkbox-margin-bottom, 0);margin-left:var(--ms-checkbox-margin-left, 0);width:var(--ms-checkbox-size, calc(1.6 * var(--ms-rem)));height:var(--ms-checkbox-size, calc(1.6 * var(--ms-rem)));transform:scale(var(--ms-checkbox-scale, 1));transform-origin:top left;cursor:pointer;background:var(--ms-checkbox-bg, #ffffff);border:var(--ms-checkbox-border, 1px solid #d1d5db);border-radius:var(--ms-checkbox-border-radius, calc(.3 * var(--ms-rem)));transition:background-color .15s ease,border-color .15s ease}.ms__checkbox:after{content:"";position:absolute;display:none;left:50%;top:45%;width:30%;height:55%;transform:translate(-50%,-50%) rotate(45deg);border:solid var(--ms-checkbox-checkmark-color, #ffffff);border-width:0 2px 2px 0}.ms__checkbox:hover:not(:disabled){border-color:var(--ms-checkbox-hover-border-color, #3b82f6)}.ms__checkbox:checked{background:var(--ms-checkbox-checked-bg, #3b82f6);border:var(--ms-checkbox-checked-border, 1px solid #3b82f6)}.ms__checkbox:checked:after{display:block}.ms__checkbox:checked:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover, #2563eb);border-color:var(--ms-checkbox-checked-border-color-hover, #2563eb)}.ms__checkbox:focus-visible{outline:2px solid var(--ms-checkbox-checked-bg, #3b82f6);outline-offset:2px}.ms__checkbox:disabled{cursor:not-allowed;background:var(--ms-checkbox-disabled-bg, #e5e7eb);border:var(--ms-checkbox-disabled-border, 1px solid #e5e7eb);opacity:.6}.ms__checkbox:disabled:checked{background:var(--ms-checkbox-disabled-bg, #e5e7eb)}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:flex-start;gap:var(--ms-option-content-gap, calc(.8 * var(--ms-rem)));min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size, calc(2 * var(--ms-rem)));height:var(--ms-option-icon-size, calc(2 * var(--ms-rem)));display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size, calc(1.6 * var(--ms-rem)))}.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, calc(1.4 * var(--ms-rem)));color:var(--ms-option-title-color, inherit);line-height:var(--ms-line-height-relaxed, 1.75)}.ms__option-title mark{background:var(--ms-option-mark-background, rgba(59, 130, 246, .2));color:var(--ms-option-mark-color, inherit);font-weight:var(--ms-option-mark-font-weight, 600)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top, calc(.4 * var(--ms-rem)));font-size:var(--ms-option-subtitle-font-size, calc(1.2 * var(--ms-rem)));color:var(--ms-option-subtitle-color, #6b7280);line-height:var(--ms-option-subtitle-line-height, 1.25)}.ms__option:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-hover, var(--ms-option-subtitle-color, #6b7280))}.ms__option--selected .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color, #6b7280))}.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, #6b7280)))}.ms__empty{padding:var(--ms-empty-padding, calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));text-align:center;font-size:var(--ms-empty-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-empty-color, #6b7280)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ms-loader-padding, calc(1.6 * var(--ms-rem)));gap:var(--ms-loader-gap, calc(.8 * var(--ms-rem)))}.ms__loading-text{font-size:var(--ms-loading-text-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-loading-color, #6b7280)}.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap, calc(.8 * var(--ms-rem)));padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom, calc(.8 * var(--ms-rem)))}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top, calc(.8 * var(--ms-rem)));order:var(--ms-order-first, -1)}.ms__badges--left{order:var(--ms-order-first, -1);margin-right:var(--ms-badges-margin-left, calc(.4 * var(--ms-rem)));justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right, calc(.4 * var(--ms-rem)));justify-content:flex-start}.ms__count-display{display:flex;align-items:center}.ms__count-display:empty{display:none}.ms__count-display--bottom{margin-top:var(--ms-count-display-margin-bottom, calc(.8 * var(--ms-rem)))}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top, calc(.8 * var(--ms-rem)));order:var(--ms-order-first, -1)}.ms__count-display--left{order:var(--ms-order-first, -1);margin-right:var(--ms-count-display-margin-left, calc(.8 * var(--ms-rem)));justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right, calc(.8 * var(--ms-rem)));justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap, calc(.4 * var(--ms-rem)));background:var(--ms-counter-wrapper-background, transparent);border:var(--ms-counter-wrapper-border, 1px solid #e5e7eb);border-radius:var(--ms-counter-wrapper-border-radius, calc(.4 * var(--ms-rem)));padding:var(--ms-counter-wrapper-padding, calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem)));transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-background-hover, #f9fafb);border-color:var(--ms-counter-wrapper-border-color-hover, #3b82f6)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg, transparent);border:var(--ms-count-text-border, none);padding:0;font-size:var(--ms-count-text-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-count-text-color, #111827);cursor:pointer;transition:color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size, calc(1.6 * var(--ms-rem)));height:var(--ms-count-clear-size, calc(1.6 * var(--ms-rem)));padding:0;border:none;background:var(--ms-count-clear-background, transparent);color:var(--ms-count-clear-color, #6b7280);font-size:var(--ms-count-clear-font-size, calc(1.8 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-count-clear-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear:hover{background:var(--ms-count-clear-background-hover, rgba(59, 130, 246, .2));color:var(--ms-count-clear-color-hover, #3b82f6)}.ms__count-clear:before{content:var(--ms-icon-clear, "×")}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height, calc(2.7 * var(--ms-rem)));font-size:var(--ms-badge-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-badge-font-weight, 600);line-height:var(--ms-line-height-none, 1);border-radius:var(--ms-badge-border-radius, calc(.6 * var(--ms-rem)));overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;height:100%;padding:var(--ms-badge-text-padding, 0 calc(.8 * var(--ms-rem)));background:var(--ms-badge-text-background, #eff6ff);color:var(--ms-badge-text-color, #3b82f6);border:var(--ms-badge-text-border, none);border-right:none;border-radius:var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0 0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem)));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal, .2s) ease,color var(--ms-transition-normal, .2s) ease}.ms__badge:hover .ms__badge-text{background:var(--ms-badge-text-background-hover, var(--ms-badge-text-background, #eff6ff));color:var(--ms-badge-text-color-hover, var(--ms-badge-text-color, #3b82f6))}.ms__badge-remove{display:flex;align-items:center;justify-content:center;font-family:inherit;width:var(--ms-badge-remove-width, calc(2.7 * var(--ms-rem)));height:100%;flex-shrink:0;background:var(--ms-badge-remove-background, #3b82f6);color:var(--ms-badge-remove-color, #ffffff);border:var(--ms-badge-remove-border, none);border-left:none;border-radius:0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0;cursor:pointer;transition:background-color var(--ms-transition-normal, .2s) ease;font-size:var(--ms-badge-remove-font-size, calc(1.2 * var(--ms-rem)))}.ms__badge-remove:hover{background:var(--ms-badge-remove-background-hover, #2563eb)}.ms__badge-remove:focus{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus, 0 0 0 2px rgba(59, 130, 246, .5))}.ms__badge-remove:before{content:var(--ms-icon-remove, "×");font-size:var(--ms-font-size-base, calc(1.6 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1)}.ms__badge--counter{cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-background, #d1d5db);color:var(--ms-badge-counter-text-color, #6b7280);border:var(--ms-badge-counter-border, 1px solid #e5e7eb);border-right:none}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-background, #6b7280);color:var(--ms-badge-counter-remove-color, #ffffff);border:var(--ms-badge-counter-border, 1px solid #e5e7eb);border-left:none}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-background-hover, #111827)}.ms__badge--more{cursor:pointer}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index, 10000);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal, .2s) ease,visibility var(--ms-transition-normal, .2s) ease;background:var(--ms-tooltip-background, #333);color:var(--ms-tooltip-text-color, #fff);padding:var(--ms-tooltip-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));border-radius:var(--ms-tooltip-border-radius, calc(.6 * var(--ms-rem)));font-size:var(--ms-tooltip-font-size, calc(1.4 * var(--ms-rem)));line-height:var(--ms-line-height-relaxed, 1.75);max-width:var(--ms-tooltip-max-width, calc(32 * var(--ms-rem)));word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, .15));pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__selected-popover{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);background:var(--ms-selected-popover-background, #ffffff);border:var(--ms-selected-popover-border, 1px solid #e5e7eb);border-radius:var(--ms-selected-popover-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-selected-popover-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));width:var(--ms-selected-popover-width, calc(32 * var(--ms-rem)));max-height:var(--ms-selected-popover-max-height, calc(32 * var(--ms-rem)));overflow:hidden}.ms__selected-popover--visible{display:flex;flex-direction:column}.ms__selected-popover--virtual{display:block;overflow:visible;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));background:var(--ms-selected-popover-header-background, rgba(59, 130, 246, .1));border-bottom:var(--ms-selected-popover-header-border-bottom, 1px solid #e5e7eb);font-size:var(--ms-selected-popover-header-font-size, calc(1.4 * var(--ms-rem)));font-weight:var(--ms-selected-popover-header-font-weight, 600);color:var(--ms-selected-popover-header-color, #111827)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size, calc(2.4 * var(--ms-rem)));height:var(--ms-popover-close-size, calc(2.4 * var(--ms-rem)));padding:0;border:none;background:var(--ms-selected-popover-close-background, transparent);color:var(--ms-selected-popover-close-color, #6b7280);font-size:var(--ms-selected-popover-close-font-size, calc(2 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-background-hover, rgba(59, 130, 246, .2));color:var(--ms-selected-popover-close-color-hover, #3b82f6)}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap, calc(.4 * var(--ms-rem)));padding:var(--ms-selected-popover-body-padding, calc(.8 * var(--ms-rem)));overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height, calc(28.8 * var(--ms-rem)));scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__selected-popover-body::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__selected-popover-body::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__selected-popover-body::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__selected-popover-body::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed, 1.75)}.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, calc(.4 * var(--ms-rem)));overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right, calc(4 * var(--ms-rem)));padding-right:var(--ms-input-padding-h, calc(1.2 * var(--ms-rem)))}.ms--rtl .ms__toggle{left:var(--ms-toggle-right, calc(1.2 * var(--ms-rem)))!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset, calc(3.2 * var(--ms-rem)))!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm, calc(.8 * var(--ms-rem)));margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs, calc(.4 * var(--ms-rem)));margin-right:0}.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0 0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem)));border-left:var(--ms-badge-remove-border, none);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) var(--ms-badge-border-radius, calc(.6 * var(--ms-rem))) 0;border-right:var(--ms-badge-text-border, none);border-left:none}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity, .6);cursor:not-allowed;background:var(--ms-input-bg-disabled, rgba(107, 114, 128, .05))}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity, .6)}.ms--no-checkboxes .ms__option{gap:0;padding-left:var(--ms-option-padding-h, calc(1.2 * var(--ms-rem)))}.ms--no-checkboxes .ms__option-content{padding-left:0}.ms-debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:calc(.6 * var(--ms-rem));font-size:calc(1.2 * var(--ms-rem));color:#111827}.ms-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:calc(.4 * var(--ms-rem))}.ms-debug-info details summary:hover{background-color:#f3f4f6}.ms-debug-info details summary:focus{outline:2px solid #3b82f6;outline-offset:2px}.ms-debug-info .ms-debug-stats{display:flex;flex-direction:column;gap:calc(.4 * var(--ms-rem));margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#fff;border-radius:calc(.4 * var(--ms-rem))}.ms-debug-info .ms-debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:calc(1 * var(--ms-rem))}.ms-debug-info .ms-debug-stats span:before{content:"•";margin-right:calc(.4 * var(--ms-rem));color:#3b82f6}', gs = typeof HTMLElement < "u" ? HTMLElement : class {
2438
2442
  }, Se = /* @__PURE__ */ new Set();
2439
2443
  function rt() {
2440
2444
  return Array.from(Se);
2441
2445
  }
2442
- class at extends bs {
2446
+ class at extends gs {
2443
2447
  constructor() {
2444
2448
  super();
2445
- p(this, "picker");
2446
- p(this, "containerElement");
2447
- p(this, "shadow");
2449
+ h(this, "picker");
2450
+ h(this, "containerElement");
2451
+ h(this, "shadow");
2448
2452
  // Properties for complex data (not attributes)
2449
- p(this, "_options");
2453
+ h(this, "_options");
2450
2454
  // Member/Callback properties
2451
- p(this, "_valueMember");
2452
- p(this, "_getValueCallback");
2453
- p(this, "_displayValueMember");
2454
- p(this, "_getDisplayValueCallback");
2455
- p(this, "_getBadgeDisplayCallback");
2456
- p(this, "_getBadgeClassCallback");
2457
- p(this, "_customStylesCallback");
2458
- p(this, "_searchValueMember");
2459
- p(this, "_getSearchValueCallback");
2460
- p(this, "_iconMember");
2461
- p(this, "_getIconCallback");
2462
- p(this, "_subtitleMember");
2463
- p(this, "_getSubtitleCallback");
2464
- p(this, "_groupMember");
2465
- p(this, "_getGroupCallback");
2466
- p(this, "_renderGroupLabelContentCallback");
2467
- p(this, "_disabledMember");
2468
- p(this, "_getDisabledCallback");
2455
+ h(this, "_valueMember");
2456
+ h(this, "_getValueCallback");
2457
+ h(this, "_displayValueMember");
2458
+ h(this, "_getDisplayValueCallback");
2459
+ h(this, "_getBadgeDisplayCallback");
2460
+ h(this, "_getBadgeClassCallback");
2461
+ h(this, "_customStylesCallback");
2462
+ h(this, "_searchValueMember");
2463
+ h(this, "_getSearchValueCallback");
2464
+ h(this, "_iconMember");
2465
+ h(this, "_getIconCallback");
2466
+ h(this, "_subtitleMember");
2467
+ h(this, "_getSubtitleCallback");
2468
+ h(this, "_groupMember");
2469
+ h(this, "_getGroupCallback");
2470
+ h(this, "_renderGroupLabelContentCallback");
2471
+ h(this, "_disabledMember");
2472
+ h(this, "_getDisabledCallback");
2469
2473
  // Value formatting callbacks
2470
- p(this, "_getValueFormatCallback");
2474
+ h(this, "_getValueFormatCallback");
2471
2475
  // Tooltip callbacks
2472
- p(this, "_getBadgeTooltipCallback");
2476
+ h(this, "_getBadgeTooltipCallback");
2473
2477
  // Custom rendering callbacks
2474
- p(this, "_renderOptionContentCallback");
2475
- p(this, "_renderBadgeContentCallback");
2476
- p(this, "_renderSelectedItemContentCallback");
2477
- p(this, "_getSelectedItemClassCallback");
2478
- p(this, "_renderSelectedContentCallback");
2478
+ h(this, "_renderOptionContentCallback");
2479
+ h(this, "_renderBadgeContentCallback");
2480
+ h(this, "_renderSelectedItemContentCallback");
2481
+ h(this, "_getSelectedItemClassCallback");
2482
+ h(this, "_renderSelectedContentCallback");
2479
2483
  // Count badge callback
2480
- p(this, "_getCounterCallback");
2484
+ h(this, "_getCounterCallback");
2481
2485
  // Action buttons
2482
- p(this, "_actionButtons");
2486
+ h(this, "_actionButtons");
2483
2487
  // Event callbacks
2484
- p(this, "_beforeSearchCallback");
2485
- p(this, "_searchCallback");
2486
- p(this, "_addNewCallback");
2487
- p(this, "_selectCallback");
2488
- p(this, "_deselectCallback");
2489
- p(this, "_changeCallback");
2490
- p(this, "_declarativeSelectedValues");
2488
+ h(this, "_beforeSearchCallback");
2489
+ h(this, "_searchCallback");
2490
+ h(this, "_addNewCallback");
2491
+ h(this, "_selectCallback");
2492
+ h(this, "_deselectCallback");
2493
+ h(this, "_changeCallback");
2494
+ h(this, "_declarativeSelectedValues");
2491
2495
  this.shadow = this.attachShadow({ mode: "open" });
2492
2496
  const t = document.createElement("style");
2493
- t.textContent = gs, this.shadow.appendChild(t), requestAnimationFrame(() => {
2497
+ t.textContent = bs, this.shadow.appendChild(t), requestAnimationFrame(() => {
2494
2498
  this.setAttribute("data-ready", "");
2495
2499
  });
2496
2500
  }
@@ -2543,8 +2547,6 @@ class at extends bs {
2543
2547
  // Tooltip options
2544
2548
  "enable-badge-tooltips",
2545
2549
  "badge-tooltip-placement",
2546
- // Input size
2547
- "input-size",
2548
2550
  // Debug
2549
2551
  "show-debug-info"
2550
2552
  ];
@@ -2557,48 +2559,36 @@ class at extends bs {
2557
2559
  disconnectedCallback() {
2558
2560
  Se.delete(this), this.picker && this.picker.destroy();
2559
2561
  }
2560
- attributeChangedCallback(t, s, i) {
2561
- if (s !== i) {
2562
- if (t === "input-size") {
2563
- this.applyInputSizeStyles();
2564
- return;
2565
- }
2566
- this.picker && t !== "initial-values" && (this.picker.destroy(), this.initializePicker());
2567
- }
2568
- }
2569
- applyInputSizeStyles() {
2570
- const t = this.shadow.querySelector(".ms__input");
2571
- if (!t) return;
2572
- const s = this.getAttribute("input-size");
2573
- t.classList.remove("ms__input--xs", "ms__input--sm", "ms__input--lg", "ms__input--xl"), s && s !== "md" && t.classList.add(`ms__input--${s}`);
2562
+ attributeChangedCallback(t, o, i) {
2563
+ o !== i && this.picker && t !== "initial-values" && (this.picker.destroy(), this.initializePicker());
2574
2564
  }
2575
2565
  render() {
2576
2566
  this.containerElement = document.createElement("div"), this.containerElement.setAttribute("data-multiselect", ""), this.className && (this.containerElement.className = this.className), this.shadow.appendChild(this.containerElement), this.getAttribute("show-debug-info") === "true" && this.renderDebugInfo();
2577
2567
  }
2578
2568
  renderDebugInfo() {
2579
- const t = this.shadow.querySelector(".ml-debug-info");
2569
+ const t = this.shadow.querySelector(".ms-debug-info");
2580
2570
  t && t.remove();
2581
- const s = document.createElement("div");
2582
- s.className = "ml-debug-info";
2571
+ const o = document.createElement("div");
2572
+ o.className = "ms-debug-info";
2583
2573
  const i = document.createElement("details"), r = document.createElement("summary");
2584
2574
  r.textContent = "Debug Info";
2585
2575
  const a = document.createElement("div");
2586
- a.className = "ml-debug-stats", i.appendChild(r), i.appendChild(a), s.appendChild(i), this.shadow.appendChild(s), this.updateDebugInfo();
2576
+ a.className = "ms-debug-stats", i.appendChild(r), i.appendChild(a), o.appendChild(i), this.shadow.appendChild(o), this.updateDebugInfo();
2587
2577
  }
2588
2578
  updateDebugInfo() {
2589
- var m, g;
2590
- const t = this.shadow.querySelector(".ml-debug-stats");
2579
+ var m, b;
2580
+ const t = this.shadow.querySelector(".ms-debug-stats");
2591
2581
  if (!t || !this.picker) return;
2592
- const s = "1.4.0", i = rt().length, a = this.picker.getSelected().length, n = ((m = this._options) == null ? void 0 : m.length) || 0, l = this.picker, c = l.isOpen || !1, d = l.searchTerm || "", h = l.isLoading || !1, u = ((g = l.filteredOptions) == null ? void 0 : g.length) || 0;
2582
+ const o = "1.5.0", i = rt().length, a = this.picker.getSelected().length, n = ((m = this._options) == null ? void 0 : m.length) || 0, l = this.picker, d = l.isOpen || !1, c = l.searchTerm || "", p = l.isLoading || !1, u = ((b = l.filteredOptions) == null ? void 0 : b.length) || 0;
2593
2583
  t.innerHTML = `
2594
- <span>Version: ${s}</span>
2584
+ <span>Version: ${o}</span>
2595
2585
  <span>Total Instances: ${i}</span>
2596
2586
  <span>Options: ${n}</span>
2597
2587
  <span>Filtered: ${u}</span>
2598
2588
  <span>Selected: ${a}</span>
2599
- <span>Dropdown: ${c ? "Open" : "Closed"}</span>
2600
- <span>Search: ${d || "none"}</span>
2601
- <span>Loading: ${h ? "Yes" : "No"}</span>
2589
+ <span>Dropdown: ${d ? "Open" : "Closed"}</span>
2590
+ <span>Search: ${c || "none"}</span>
2591
+ <span>Loading: ${p ? "Yes" : "No"}</span>
2602
2592
  `, setTimeout(() => {
2603
2593
  this.getAttribute("show-debug-info") === "true" && this.updateDebugInfo();
2604
2594
  }, 500);
@@ -2609,30 +2599,30 @@ class at extends bs {
2609
2599
  */
2610
2600
  parseDeclarativeOptions() {
2611
2601
  var r, a, n, l;
2612
- const t = [], s = Array.from(this.children);
2613
- if (s.length === 0)
2602
+ const t = [], o = Array.from(this.children);
2603
+ if (o.length === 0)
2614
2604
  return null;
2615
2605
  let i = !1;
2616
- for (const c of s)
2617
- if (c.tagName === "OPTION") {
2618
- const d = c, h = {
2619
- value: d.value || ((r = d.textContent) == null ? void 0 : r.trim()) || "",
2620
- label: ((a = d.textContent) == null ? void 0 : a.trim()) || d.value || ""
2606
+ for (const d of o)
2607
+ if (d.tagName === "OPTION") {
2608
+ const c = d, p = {
2609
+ value: c.value || ((r = c.textContent) == null ? void 0 : r.trim()) || "",
2610
+ label: ((a = c.textContent) == null ? void 0 : a.trim()) || c.value || ""
2621
2611
  };
2622
- d.hasAttribute("selected") && (this._declarativeSelectedValues || (this._declarativeSelectedValues = []), this._declarativeSelectedValues.push(h.value)), d.hasAttribute("disabled") && (h.disabled = !0), d.hasAttribute("data-icon") && (h.icon = d.getAttribute("data-icon")), d.hasAttribute("data-subtitle") && (h.subtitle = d.getAttribute("data-subtitle")), t.push(h), i = !0;
2623
- } else if (c.tagName === "OPTGROUP") {
2624
- const d = c, h = d.label || d.getAttribute("label") || "Group", u = Array.from(d.querySelectorAll("option"));
2612
+ c.hasAttribute("selected") && (this._declarativeSelectedValues || (this._declarativeSelectedValues = []), this._declarativeSelectedValues.push(p.value)), c.hasAttribute("disabled") && (p.disabled = !0), c.hasAttribute("data-icon") && (p.icon = c.getAttribute("data-icon")), c.hasAttribute("data-subtitle") && (p.subtitle = c.getAttribute("data-subtitle")), t.push(p), i = !0;
2613
+ } else if (d.tagName === "OPTGROUP") {
2614
+ const c = d, p = c.label || c.getAttribute("label") || "Group", u = Array.from(c.querySelectorAll("option"));
2625
2615
  for (const m of u) {
2626
- const g = {
2616
+ const b = {
2627
2617
  value: m.value || ((n = m.textContent) == null ? void 0 : n.trim()) || "",
2628
2618
  label: ((l = m.textContent) == null ? void 0 : l.trim()) || m.value || "",
2629
- group: h
2619
+ group: p
2630
2620
  };
2631
- m.hasAttribute("selected") && (this._declarativeSelectedValues || (this._declarativeSelectedValues = []), this._declarativeSelectedValues.push(g.value)), m.hasAttribute("disabled") && (g.disabled = !0), m.hasAttribute("data-icon") && (g.icon = m.getAttribute("data-icon")), m.hasAttribute("data-subtitle") && (g.subtitle = m.getAttribute("data-subtitle")), t.push(g), i = !0;
2621
+ m.hasAttribute("selected") && (this._declarativeSelectedValues || (this._declarativeSelectedValues = []), this._declarativeSelectedValues.push(b.value)), m.hasAttribute("disabled") && (b.disabled = !0), m.hasAttribute("data-icon") && (b.icon = m.getAttribute("data-icon")), m.hasAttribute("data-subtitle") && (b.subtitle = m.getAttribute("data-subtitle")), t.push(b), i = !0;
2632
2622
  }
2633
2623
  }
2634
- return i ? (S.debug(`[MultiSelectElement] Parsed ${t.length} declarative options from Light DOM`), s.forEach((c) => {
2635
- (c.tagName === "OPTION" || c.tagName === "OPTGROUP") && c.remove();
2624
+ return i ? (S.debug(`[MultiSelectElement] Parsed ${t.length} declarative options from Light DOM`), o.forEach((d) => {
2625
+ (d.tagName === "OPTION" || d.tagName === "OPTGROUP") && d.remove();
2636
2626
  }), t) : null;
2637
2627
  }
2638
2628
  initializePicker() {
@@ -2649,7 +2639,7 @@ class at extends bs {
2649
2639
  S.error("[MultiSelectElement] Failed to parse initial-values:", r);
2650
2640
  }
2651
2641
  }
2652
- const s = {
2642
+ const o = {
2653
2643
  // String options
2654
2644
  searchHint: this.getAttribute("search-hint") || void 0,
2655
2645
  searchPlaceholder: this.getAttribute("search-placeholder") || "Search...",
@@ -2722,7 +2712,7 @@ class at extends bs {
2722
2712
  isBadgeTooltipsEnabled: this.getAttribute("enable-badge-tooltips") === "true",
2723
2713
  getBadgeTooltipCallback: this._getBadgeTooltipCallback,
2724
2714
  badgeTooltipPlacement: this.getAttribute("badge-tooltip-placement") || "top",
2725
- badgeTooltipDelay: parseInt(this.getAttribute("badge-tooltip-delay") || "300"),
2715
+ badgeTooltipDelay: parseInt(this.getAttribute("badge-tooltip-delay") || "100"),
2726
2716
  badgeTooltipOffset: parseInt(this.getAttribute("badge-tooltip-offset") || "8"),
2727
2717
  // Count badge callback
2728
2718
  getCounterCallback: this._getCounterCallback || ((i, r) => r !== void 0 ? `+${r} more` : `${i} selected`),
@@ -2776,14 +2766,13 @@ class at extends bs {
2776
2766
  // Pass host element (this) for hidden inputs in light DOM
2777
2767
  hostElement: this
2778
2768
  };
2779
- if (t && (this.containerElement.dataset.initialValues = JSON.stringify(t)), this.picker = new us(this.containerElement, s), this._customStylesCallback) {
2769
+ if (t && (this.containerElement.dataset.initialValues = JSON.stringify(t)), this.picker = new us(this.containerElement, o), this._customStylesCallback) {
2780
2770
  const i = this._customStylesCallback();
2781
2771
  if (i) {
2782
2772
  const r = document.createElement("style");
2783
- r.className = "ml-custom-styles", r.textContent = i, this.shadow.appendChild(r);
2773
+ r.className = "ms-custom-styles", r.textContent = i, this.shadow.insertBefore(r, this.shadow.firstChild);
2784
2774
  }
2785
2775
  }
2786
- setTimeout(() => this.applyInputSizeStyles(), 0);
2787
2776
  }
2788
2777
  reinitialize() {
2789
2778
  this.picker && (this.picker.destroy(), this.initializePicker());
@@ -2868,12 +2857,12 @@ class at extends bs {
2868
2857
  }
2869
2858
  set customStylesCallback(t) {
2870
2859
  if (this._customStylesCallback = t, this.picker && t) {
2871
- const s = t();
2872
- if (s) {
2873
- const i = this.shadow.querySelector("style.ml-custom-styles");
2860
+ const o = t();
2861
+ if (o) {
2862
+ const i = this.shadow.querySelector("style.ms-custom-styles");
2874
2863
  i && i.remove();
2875
2864
  const r = document.createElement("style");
2876
- r.className = "ml-custom-styles", r.textContent = s, this.shadow.appendChild(r), this.picker.renderBadges();
2865
+ r.className = "ms-custom-styles", r.textContent = o, this.shadow.appendChild(r), this.picker.renderBadges();
2877
2866
  }
2878
2867
  }
2879
2868
  }
@@ -3000,13 +2989,6 @@ class at extends bs {
3000
2989
  get badgeTooltipPlacement() {
3001
2990
  return this.getAttribute("badge-tooltip-placement");
3002
2991
  }
3003
- // Input size
3004
- get inputSize() {
3005
- return this.getAttribute("input-size") || "md";
3006
- }
3007
- set inputSize(t) {
3008
- this.setAttribute("input-size", t);
3009
- }
3010
2992
  set getBadgeTooltipCallback(t) {
3011
2993
  this._getBadgeTooltipCallback = t, this.reinitialize();
3012
2994
  }
@@ -3090,10 +3072,10 @@ class at extends bs {
3090
3072
  }
3091
3073
  typeof window < "u" && typeof customElements < "u" && (customElements.get("web-multiselect") || customElements.define("web-multiselect", at));
3092
3074
  typeof window < "u" && (window.components = window.components || {}, window.components["web-multiselect"] = {
3093
- version: () => "1.4.0",
3075
+ version: () => "1.5.0",
3094
3076
  config: {
3095
3077
  name: "@keenmate/web-multiselect",
3096
- version: "1.4.0",
3078
+ version: "1.5.0",
3097
3079
  author: "Keenmate",
3098
3080
  license: "MIT",
3099
3081
  repository: "git+https://github.com/keenmate/web-multiselect.git",
@@ -3102,8 +3084,8 @@ typeof window < "u" && (window.components = window.components || {}, window.comp
3102
3084
  logging: {
3103
3085
  enableLogging: ds,
3104
3086
  disableLogging: ms,
3105
- setLogLevel: ps,
3106
- setCategoryLevel: hs,
3087
+ setLogLevel: hs,
3088
+ setCategoryLevel: ps,
3107
3089
  getCategories: () => [...cs]
3108
3090
  },
3109
3091
  register: () => {
@@ -3120,7 +3102,7 @@ export {
3120
3102
  ds as enableLogging,
3121
3103
  le as initLogger,
3122
3104
  A as interactionLogger,
3123
- hs as setCategoryLevel,
3124
- ps as setLogLevel,
3105
+ ps as setCategoryLevel,
3106
+ hs as setLogLevel,
3125
3107
  f as uiLogger
3126
3108
  };