mimir-ui-kit 1.38.6 → 1.38.7

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,34 +1,34 @@
1
- import { n as W, u as Le, d as xe, o as g, M as _e, W as ue, a as ne, H as ce, y as fe, p as Qe, $ as Ve, b as Be, D as Ie, I as Je, s as Ze, c as k } from "./keyboard-mgWkd2Vh.js";
1
+ import { n as H, u as Ne, d as xe, o as g, M as _e, W as ue, a as te, H as ce, y as fe, p as Qe, $ as Ve, b as Be, D as Ie, I as Je, s as Ze, c as k } from "./keyboard-B0lm_zyn.js";
2
2
  import * as se from "react";
3
- import $, { useRef as V, useEffect as je, useState as ye, createContext as Te, useReducer as et, createRef as tt, useCallback as Ee, useMemo as G, useId as he, useContext as Ce, Fragment as We } from "react";
3
+ import z, { useRef as V, useEffect as We, useState as Te, createContext as ye, useReducer as et, createRef as tt, useCallback as Ee, useMemo as G, useId as he, useContext as Ce, Fragment as He } from "react";
4
4
  import { flushSync as Z } from "react-dom";
5
- import { w as nt } from "./use-active-press-CqLGIFz7.js";
5
+ import { w as nt } from "./use-active-press-86hajhdd.js";
6
6
  import { u as ot } from "./use-by-comparator-CVuf9KBq.js";
7
- import { K as it, a as rt, b as st, T as lt, z as at, j as ut, u as ct, I as we, G as dt } from "./label-D4GFpe5F.js";
8
- import { c as pt, E as mt, R as ft, M as ht, y as vt, n as He, x as bt, a as gt, b as xt, m as Et, f as Ot, d as Pe, t as St, g as It } from "./portal-DPqg52FR.js";
9
- import { e as yt } from "./use-resolve-button-type-DhFdPxnv.js";
10
- import { c as Tt, i as me, u as Ct, x as wt, R as Mt } from "./open-closed-D2VjDhAN.js";
11
- import { f as Rt, _ as $t } from "./focus-management-BtPpk3D1.js";
7
+ import { K as it, a as rt, b as st, T as lt, z as at, j as ut, u as ct, I as we, G as dt } from "./label-y3ANLTNC.js";
8
+ import { c as pt, E as mt, R as ft, v as ht, y as vt, n as je, x as bt, a as gt, b as xt, m as Et, f as Ot, d as Pe, t as St, g as It } from "./portal-WDFNoIMz.js";
9
+ import { e as Tt } from "./use-resolve-button-type-DhFdPxnv.js";
10
+ import { c as yt, i as me, u as Ct, R as wt, H as Mt } from "./open-closed-CdldUPoq.js";
11
+ import { f as Rt, _ as $t } from "./focus-management-DE4t_lW3.js";
12
12
  import { r as _t } from "./bugs-diTMAGNw.js";
13
- function te(e, i, t) {
13
+ function re(e, i, t) {
14
14
  let n = t.initialDeps ?? [], o;
15
15
  return () => {
16
16
  var r, l, s, a;
17
17
  let c;
18
18
  t.key && ((r = t.debug) != null && r.call(t)) && (c = Date.now());
19
19
  const d = e();
20
- if (!(d.length !== n.length || d.some((u, E) => n[E] !== u)))
20
+ if (!(d.length !== n.length || d.some((u, x) => n[x] !== u)))
21
21
  return o;
22
22
  n = d;
23
23
  let b;
24
24
  if (t.key && ((l = t.debug) != null && l.call(t)) && (b = Date.now()), o = i(...d), t.key && ((s = t.debug) != null && s.call(t))) {
25
- const u = Math.round((Date.now() - c) * 100) / 100, E = Math.round((Date.now() - b) * 100) / 100, O = E / 16, h = (T, P) => {
26
- for (T = String(T); T.length < P; )
27
- T = " " + T;
28
- return T;
25
+ const u = Math.round((Date.now() - c) * 100) / 100, x = Math.round((Date.now() - b) * 100) / 100, O = x / 16, h = (y, $) => {
26
+ for (y = String(y); y.length < $; )
27
+ y = " " + y;
28
+ return y;
29
29
  };
30
30
  console.info(
31
- `%c⏱ ${h(E, 5)} /${h(u, 5)} ms`,
31
+ `%c⏱ ${h(x, 5)} /${h(u, 5)} ms`,
32
32
  `
33
33
  font-size: .6rem;
34
34
  font-weight: bold;
@@ -87,7 +87,7 @@ const Pt = (e, i) => Math.abs(e - i) < 1, zt = (e, i, t) => {
87
87
  };
88
88
  }, ze = {
89
89
  passive: !0
90
- }, At = typeof window > "u" ? !0 : "onscrollend" in window, Nt = (e, i) => {
90
+ }, At = typeof window > "u" ? !0 : "onscrollend" in window, Lt = (e, i) => {
91
91
  const t = e.scrollElement;
92
92
  if (!t)
93
93
  return;
@@ -103,13 +103,12 @@ const Pt = (e, i) => Math.abs(e - i) < 1, zt = (e, i, t) => {
103
103
  },
104
104
  e.options.isScrollingResetDelay
105
105
  ), l = (c) => () => {
106
- const { horizontal: d, isRtl: v } = e.options;
107
- o = d ? t.scrollLeft * (v && -1 || 1) : t.scrollTop, r(), i(o, c);
106
+ o = t[e.options.horizontal ? "scrollLeft" : "scrollTop"], r(), i(o, c);
108
107
  }, s = l(!0), a = l(!1);
109
108
  return a(), t.addEventListener("scroll", s, ze), t.addEventListener("scrollend", a, ze), () => {
110
109
  t.removeEventListener("scroll", s), t.removeEventListener("scrollend", a);
111
110
  };
112
- }, Lt = (e, i, t) => {
111
+ }, Nt = (e, i, t) => {
113
112
  if (i != null && i.borderBoxSize) {
114
113
  const n = i.borderBoxSize[0];
115
114
  if (n)
@@ -143,7 +142,7 @@ class Bt {
143
142
  return {
144
143
  disconnect: () => {
145
144
  var o;
146
- (o = n()) == null || o.disconnect(), t = null;
145
+ return (o = n()) == null ? void 0 : o.disconnect();
147
146
  },
148
147
  observe: (o) => {
149
148
  var r;
@@ -170,7 +169,7 @@ class Bt {
170
169
  rangeExtractor: Ft,
171
170
  onChange: () => {
172
171
  },
173
- measureElement: Lt,
172
+ measureElement: Nt,
174
173
  initialRect: { width: 0, height: 0 },
175
174
  scrollMargin: 0,
176
175
  gap: 0,
@@ -179,32 +178,17 @@ class Bt {
179
178
  lanes: 1,
180
179
  isScrollingResetDelay: 150,
181
180
  enabled: !0,
182
- isRtl: !1,
183
181
  ...t
184
182
  };
185
- }, this.notify = (t) => {
186
- var n, o;
187
- (o = (n = this.options).onChange) == null || o.call(n, this, t);
188
- }, this.maybeNotify = te(
189
- () => (this.calculateRange(), [
190
- this.isScrolling,
191
- this.range ? this.range.startIndex : null,
192
- this.range ? this.range.endIndex : null
193
- ]),
194
- (t) => {
195
- this.notify(t);
196
- },
197
- {
198
- key: process.env.NODE_ENV !== "production" && "maybeNotify",
199
- debug: () => this.options.debug,
200
- initialDeps: [
201
- this.isScrolling,
202
- this.range ? this.range.startIndex : null,
203
- this.range ? this.range.endIndex : null
204
- ]
205
- }
206
- ), this.cleanup = () => {
207
- this.unsubs.filter(Boolean).forEach((t) => t()), this.unsubs = [], this.observer.disconnect(), this.scrollElement = null, this.targetWindow = null;
183
+ }, this.notify = (t, n) => {
184
+ var o, r;
185
+ const { startIndex: l, endIndex: s } = this.range ?? {
186
+ startIndex: void 0,
187
+ endIndex: void 0
188
+ }, a = this.calculateRange();
189
+ (t || l !== (a == null ? void 0 : a.startIndex) || s !== (a == null ? void 0 : a.endIndex)) && ((r = (o = this.options).onChange) == null || r.call(o, this, n));
190
+ }, this.cleanup = () => {
191
+ this.unsubs.filter(Boolean).forEach((t) => t()), this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.observer.disconnect(), this.elementsCache.clear();
208
192
  }, this._didMount = () => () => {
209
193
  this.cleanup();
210
194
  }, this._willUpdate = () => {
@@ -212,21 +196,21 @@ class Bt {
212
196
  const n = this.options.enabled ? this.options.getScrollElement() : null;
213
197
  if (this.scrollElement !== n) {
214
198
  if (this.cleanup(), !n) {
215
- this.maybeNotify();
199
+ this.notify(!1, !1);
216
200
  return;
217
201
  }
218
- this.scrollElement = n, this.scrollElement && "ownerDocument" in this.scrollElement ? this.targetWindow = this.scrollElement.ownerDocument.defaultView : this.targetWindow = ((t = this.scrollElement) == null ? void 0 : t.window) ?? null, this.elementsCache.forEach((o) => {
219
- this.observer.observe(o);
220
- }), this._scrollToOffset(this.getScrollOffset(), {
202
+ this.scrollElement = n, this.scrollElement && "ownerDocument" in this.scrollElement ? this.targetWindow = this.scrollElement.ownerDocument.defaultView : this.targetWindow = ((t = this.scrollElement) == null ? void 0 : t.window) ?? null, this._scrollToOffset(this.getScrollOffset(), {
221
203
  adjustments: void 0,
222
204
  behavior: void 0
223
205
  }), this.unsubs.push(
224
206
  this.options.observeElementRect(this, (o) => {
225
- this.scrollRect = o, this.maybeNotify();
207
+ this.scrollRect = o, this.notify(!1, !1);
226
208
  })
227
209
  ), this.unsubs.push(
228
210
  this.options.observeElementOffset(this, (o, r) => {
229
- this.scrollAdjustments = 0, this.scrollDirection = r ? this.getScrollOffset() < o ? "forward" : "backward" : null, this.scrollOffset = o, this.isScrolling = r, this.maybeNotify();
211
+ this.scrollAdjustments = 0, this.scrollDirection = r ? this.getScrollOffset() < o ? "forward" : "backward" : null, this.scrollOffset = o;
212
+ const l = this.isScrolling;
213
+ this.isScrolling = r, this.notify(l !== r, r);
230
214
  })
231
215
  );
232
216
  }
@@ -243,7 +227,7 @@ class Bt {
243
227
  break;
244
228
  }
245
229
  return r.size === this.options.lanes ? Array.from(r.values()).sort((l, s) => l.end === s.end ? l.index - s.index : l.end - s.end)[0] : void 0;
246
- }, this.getMeasurementOptions = te(
230
+ }, this.getMeasurementOptions = re(
247
231
  () => [
248
232
  this.options.count,
249
233
  this.options.paddingStart,
@@ -261,37 +245,51 @@ class Bt {
261
245
  {
262
246
  key: !1
263
247
  }
264
- ), this.getMeasurements = te(
248
+ ), this.getMeasurements = re(
265
249
  () => [this.getMeasurementOptions(), this.itemSizeCache],
266
250
  ({ count: t, paddingStart: n, scrollMargin: o, getItemKey: r, enabled: l }, s) => {
251
+ var a;
267
252
  if (!l)
268
253
  return this.measurementsCache = [], this.itemSizeCache.clear(), [];
269
- this.measurementsCache.length === 0 && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((d) => {
270
- this.itemSizeCache.set(d.key, d.size);
254
+ this.measurementsCache.length === 0 && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((m) => {
255
+ this.itemSizeCache.set(m.key, m.size);
271
256
  }));
272
- const a = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
257
+ const c = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
273
258
  this.pendingMeasuredCacheIndexes = [];
274
- const c = this.measurementsCache.slice(0, a);
275
- for (let d = a; d < t; d++) {
276
- const v = r(d), b = this.options.lanes === 1 ? c[d - 1] : this.getFurthestMeasurement(c, d), u = b ? b.end + this.options.gap : n + o, E = s.get(v), O = typeof E == "number" ? E : this.options.estimateSize(d), h = u + O, T = b ? b.lane : d % this.options.lanes;
277
- c[d] = {
278
- index: d,
279
- start: u,
280
- size: O,
281
- end: h,
282
- key: v,
283
- lane: T
259
+ const d = this.measurementsCache.slice(0, c);
260
+ for (let m = c; m < t; m++) {
261
+ let b = (a = this.measurementsCache[m]) == null ? void 0 : a.measureElement;
262
+ b || (b = (S) => {
263
+ const w = r(m), I = this.elementsCache.get(w);
264
+ if (!S) {
265
+ I && (this.observer.unobserve(I), this.elementsCache.delete(w));
266
+ return;
267
+ }
268
+ I !== S && (I && this.observer.unobserve(I), this.observer.observe(S), this.elementsCache.set(w, S)), S.isConnected && this.resizeItem(
269
+ m,
270
+ this.options.measureElement(S, void 0, this)
271
+ );
272
+ });
273
+ const u = r(m), x = this.options.lanes === 1 ? d[m - 1] : this.getFurthestMeasurement(d, m), O = x ? x.end + this.options.gap : n + o, h = s.get(u), y = typeof h == "number" ? h : this.options.estimateSize(m), $ = O + y, _ = x ? x.lane : m % this.options.lanes;
274
+ d[m] = {
275
+ index: m,
276
+ start: O,
277
+ size: y,
278
+ end: $,
279
+ key: u,
280
+ lane: _,
281
+ measureElement: b
284
282
  };
285
283
  }
286
- return this.measurementsCache = c, c;
284
+ return this.measurementsCache = d, d;
287
285
  },
288
286
  {
289
287
  key: process.env.NODE_ENV !== "production" && "getMeasurements",
290
288
  debug: () => this.options.debug
291
289
  }
292
- ), this.calculateRange = te(
290
+ ), this.calculateRange = re(
293
291
  () => [this.getMeasurements(), this.getSize(), this.getScrollOffset()],
294
- (t, n, o) => this.range = t.length > 0 && n > 0 ? jt({
292
+ (t, n, o) => this.range = t.length > 0 && n > 0 ? Wt({
295
293
  measurements: t,
296
294
  outerSize: n,
297
295
  scrollOffset: o
@@ -300,7 +298,7 @@ class Bt {
300
298
  key: process.env.NODE_ENV !== "production" && "calculateRange",
301
299
  debug: () => this.options.debug
302
300
  }
303
- ), this.getIndexes = te(
301
+ ), this.getIndexes = re(
304
302
  () => [
305
303
  this.options.rangeExtractor,
306
304
  this.calculateRange(),
@@ -323,29 +321,27 @@ class Bt {
323
321
  `Missing attribute name '${n}={index}' on measured element.`
324
322
  ), -1);
325
323
  }, this._measureElement = (t, n) => {
326
- const o = this.indexFromElement(t), r = this.measurementsCache[o];
327
- if (!r)
324
+ const o = this.indexFromElement(t), r = this.getMeasurements()[o];
325
+ if (!r || !t.isConnected) {
326
+ this.elementsCache.forEach((s, a) => {
327
+ s === t && (this.observer.unobserve(t), this.elementsCache.delete(a));
328
+ });
328
329
  return;
329
- const l = r.key, s = this.elementsCache.get(l);
330
- s !== t && (s && this.observer.unobserve(s), this.observer.observe(t), this.elementsCache.set(l, t)), t.isConnected && this.resizeItem(o, this.options.measureElement(t, n, this));
330
+ }
331
+ const l = this.elementsCache.get(r.key);
332
+ l !== t && (l && this.observer.unobserve(l), this.observer.observe(t), this.elementsCache.set(r.key, t)), this.resizeItem(o, this.options.measureElement(t, n, this));
331
333
  }, this.resizeItem = (t, n) => {
332
- const o = this.measurementsCache[t];
334
+ const o = this.getMeasurements()[t];
333
335
  if (!o)
334
336
  return;
335
337
  const r = this.itemSizeCache.get(o.key) ?? o.size, l = n - r;
336
338
  l !== 0 && ((this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(o, l, this) : o.start < this.getScrollOffset() + this.scrollAdjustments) && (process.env.NODE_ENV !== "production" && this.options.debug && console.info("correction", l), this._scrollToOffset(this.getScrollOffset(), {
337
339
  adjustments: this.scrollAdjustments += l,
338
340
  behavior: void 0
339
- })), this.pendingMeasuredCacheIndexes.push(o.index), this.itemSizeCache = new Map(this.itemSizeCache.set(o.key, n)), this.notify(!1));
341
+ })), this.pendingMeasuredCacheIndexes.push(o.index), this.itemSizeCache = new Map(this.itemSizeCache.set(o.key, n)), this.notify(!0, !1));
340
342
  }, this.measureElement = (t) => {
341
- if (!t) {
342
- this.elementsCache.forEach((n, o) => {
343
- n.isConnected || (this.observer.unobserve(n), this.elementsCache.delete(o));
344
- });
345
- return;
346
- }
347
- this._measureElement(t, void 0);
348
- }, this.getVirtualItems = te(
343
+ t && this._measureElement(t, void 0);
344
+ }, this.getVirtualItems = re(
349
345
  () => [this.getIndexes(), this.getMeasurements()],
350
346
  (t, n) => {
351
347
  const o = [];
@@ -356,7 +352,7 @@ class Bt {
356
352
  return o;
357
353
  },
358
354
  {
359
- key: process.env.NODE_ENV !== "production" && "getVirtualItems",
355
+ key: process.env.NODE_ENV !== "production" && "getIndexes",
360
356
  debug: () => this.options.debug
361
357
  }
362
358
  ), this.getVirtualItemForOffset = (t) => {
@@ -377,7 +373,7 @@ class Bt {
377
373
  return Math.max(Math.min(a, t), 0);
378
374
  }, this.getOffsetForIndex = (t, n = "auto") => {
379
375
  t = Math.max(0, Math.min(t, this.options.count - 1));
380
- const o = this.measurementsCache[t];
376
+ const o = this.getMeasurements()[t];
381
377
  if (!o)
382
378
  return;
383
379
  const r = this.getSize(), l = this.getScrollOffset();
@@ -430,17 +426,15 @@ class Bt {
430
426
  let o;
431
427
  return n.length === 0 ? o = this.options.paddingStart : o = this.options.lanes === 1 ? ((t = n[n.length - 1]) == null ? void 0 : t.end) ?? 0 : Math.max(
432
428
  ...n.slice(-this.options.lanes).map((r) => r.end)
433
- ), Math.max(
434
- o - this.options.scrollMargin + this.options.paddingEnd,
435
- 0
436
- );
429
+ ), o - this.options.scrollMargin + this.options.paddingEnd;
437
430
  }, this._scrollToOffset = (t, {
438
431
  adjustments: n,
439
432
  behavior: o
440
433
  }) => {
441
434
  this.options.scrollToFn(t, { behavior: o, adjustments: n }, this);
442
435
  }, this.measure = () => {
443
- this.itemSizeCache = /* @__PURE__ */ new Map(), this.notify(!1);
436
+ var t, n;
437
+ this.itemSizeCache = /* @__PURE__ */ new Map(), (n = (t = this.options).onChange) == null || n.call(t, this, !1);
444
438
  }, this.setOptions(i);
445
439
  }
446
440
  }
@@ -456,7 +450,7 @@ const Ue = (e, i, t, n) => {
456
450
  }
457
451
  return e > 0 ? e - 1 : 0;
458
452
  };
459
- function jt({
453
+ function Wt({
460
454
  measurements: e,
461
455
  outerSize: i,
462
456
  scrollOffset: t
@@ -467,8 +461,8 @@ function jt({
467
461
  l++;
468
462
  return { startIndex: r, endIndex: l };
469
463
  }
470
- const Wt = typeof document < "u" ? se.useLayoutEffect : se.useEffect;
471
- function Ht(e) {
464
+ const Ht = typeof document < "u" ? se.useLayoutEffect : se.useEffect;
465
+ function jt(e) {
472
466
  const i = se.useReducer(() => ({}), {})[1], t = {
473
467
  ...e,
474
468
  onChange: (o, r) => {
@@ -478,12 +472,12 @@ function Ht(e) {
478
472
  }, [n] = se.useState(
479
473
  () => new Bt(t)
480
474
  );
481
- return n.setOptions(t), se.useEffect(() => n._didMount(), []), Wt(() => n._willUpdate()), n;
475
+ return n.setOptions(t), se.useEffect(() => n._didMount(), []), Ht(() => n._willUpdate()), n;
482
476
  }
483
477
  function Ut(e) {
484
- return Ht({
478
+ return jt({
485
479
  observeElementRect: kt,
486
- observeElementOffset: Nt,
480
+ observeElementOffset: Lt,
487
481
  scrollToFn: Vt,
488
482
  ...e
489
483
  });
@@ -503,7 +497,7 @@ function Fe(e) {
503
497
  }
504
498
  function Kt(e, { allowed: i, disallowed: t } = {}) {
505
499
  let n = pt(e, "inert-others");
506
- W(() => {
500
+ H(() => {
507
501
  var o, r;
508
502
  if (!n) return;
509
503
  let l = xe();
@@ -511,11 +505,11 @@ function Kt(e, { allowed: i, disallowed: t } = {}) {
511
505
  let s = (r = i == null ? void 0 : i()) != null ? r : [];
512
506
  for (let a of s) {
513
507
  if (!a) continue;
514
- let c = Le(a);
508
+ let c = Ne(a);
515
509
  if (!c) continue;
516
510
  let d = a.parentElement;
517
511
  for (; d && d !== c.body; ) {
518
- for (let v of d.children) s.some((b) => v.contains(b)) || l.add(De(v));
512
+ for (let m of d.children) s.some((b) => m.contains(b)) || l.add(De(m));
519
513
  d = d.parentElement;
520
514
  }
521
515
  }
@@ -552,19 +546,19 @@ function Gt() {
552
546
  }
553
547
  function qt(e, { container: i, accept: t, walk: n }) {
554
548
  let o = V(t), r = V(n);
555
- je(() => {
549
+ We(() => {
556
550
  o.current = t, r.current = n;
557
- }, [t, n]), W(() => {
551
+ }, [t, n]), H(() => {
558
552
  if (!i || !e) return;
559
- let l = Le(i);
553
+ let l = Ne(i);
560
554
  if (!l) return;
561
- let s = o.current, a = r.current, c = Object.assign((v) => s(v), { acceptNode: s }), d = l.createTreeWalker(i, NodeFilter.SHOW_ELEMENT, c, !1);
555
+ let s = o.current, a = r.current, c = Object.assign((m) => s(m), { acceptNode: s }), d = l.createTreeWalker(i, NodeFilter.SHOW_ELEMENT, c, !1);
562
556
  for (; d.nextNode(); ) a(d.currentNode);
563
557
  }, [i, e, o, r]);
564
558
  }
565
559
  function Ae(e, i) {
566
560
  let t = V([]), n = g(e);
567
- je(() => {
561
+ We(() => {
568
562
  let o = [...t.current];
569
563
  for (let [r, l] of i.entries()) if (t.current[r] !== l) {
570
564
  let s = n(i, o);
@@ -574,10 +568,10 @@ function Ae(e, i) {
574
568
  }
575
569
  function Yt({ children: e, freeze: i }) {
576
570
  let t = Se(i, e);
577
- return $.createElement($.Fragment, null, t);
571
+ return z.createElement(z.Fragment, null, t);
578
572
  }
579
573
  function Se(e, i) {
580
- let [t, n] = ye(i);
574
+ let [t, n] = Te(i);
581
575
  return !e && t !== i && n(i), e ? t : i;
582
576
  }
583
577
  function Xt(e) {
@@ -598,8 +592,8 @@ Xt(() => {
598
592
  function Qt(e) {
599
593
  throw new Error("Unexpected object: " + e);
600
594
  }
601
- var w = ((e) => (e[e.First = 0] = "First", e[e.Previous = 1] = "Previous", e[e.Next = 2] = "Next", e[e.Last = 3] = "Last", e[e.Specific = 4] = "Specific", e[e.Nothing = 5] = "Nothing", e))(w || {});
602
- function Ne(e, i) {
595
+ var M = ((e) => (e[e.First = 0] = "First", e[e.Previous = 1] = "Previous", e[e.Next = 2] = "Next", e[e.Last = 3] = "Last", e[e.Specific = 4] = "Specific", e[e.Nothing = 5] = "Nothing", e))(M || {});
596
+ function Le(e, i) {
603
597
  let t = i.resolveItems();
604
598
  if (t.length <= 0) return null;
605
599
  let n = i.resolveActiveIndex(), o = n ?? -1;
@@ -653,20 +647,20 @@ let nn = { 1(e) {
653
647
  var t, n, o, r;
654
648
  if ((t = e.dataRef.current) != null && t.disabled || e.optionsElement && !((n = e.dataRef.current) != null && n.optionsPropsRef.current.static) && e.comboboxState === 1) return e;
655
649
  if (e.virtual) {
656
- let { options: c, disabled: d } = e.virtual, v = i.focus === w.Specific ? i.idx : Ne(i, { resolveItems: () => c, resolveActiveIndex: () => {
657
- var u, E;
658
- return (E = (u = e.activeOptionIndex) != null ? u : c.findIndex((O) => !d(O))) != null ? E : null;
650
+ let { options: c, disabled: d } = e.virtual, m = i.focus === M.Specific ? i.idx : Le(i, { resolveItems: () => c, resolveActiveIndex: () => {
651
+ var u, x;
652
+ return (x = (u = e.activeOptionIndex) != null ? u : c.findIndex((O) => !d(O))) != null ? x : null;
659
653
  }, resolveDisabled: d, resolveId() {
660
654
  throw new Error("Function not implemented.");
661
655
  } }), b = (o = i.trigger) != null ? o : 2;
662
- return e.activeOptionIndex === v && e.activationTrigger === b ? e : { ...e, activeOptionIndex: v, activationTrigger: b, isTyping: !1, __demoMode: !1 };
656
+ return e.activeOptionIndex === m && e.activationTrigger === b ? e : { ...e, activeOptionIndex: m, activationTrigger: b, isTyping: !1, __demoMode: !1 };
663
657
  }
664
658
  let l = ge(e);
665
659
  if (l.activeOptionIndex === null) {
666
660
  let c = l.options.findIndex((d) => !d.dataRef.current.disabled);
667
661
  c !== -1 && (l.activeOptionIndex = c);
668
662
  }
669
- let s = i.focus === w.Specific ? i.idx : Ne(i, { resolveItems: () => l.options, resolveActiveIndex: () => l.activeOptionIndex, resolveId: (c) => c.id, resolveDisabled: (c) => c.dataRef.current.disabled }), a = (r = i.trigger) != null ? r : 2;
663
+ let s = i.focus === M.Specific ? i.idx : Le(i, { resolveItems: () => l.options, resolveActiveIndex: () => l.activeOptionIndex, resolveId: (c) => c.id, resolveDisabled: (c) => c.dataRef.current.disabled }), a = (r = i.trigger) != null ? r : 2;
670
664
  return e.activeOptionIndex === s && e.activationTrigger === a ? e : { ...e, ...l, isTyping: !1, activeOptionIndex: s, activationTrigger: a, __demoMode: !1 };
671
665
  }, 4: (e, i) => {
672
666
  var t, n, o;
@@ -693,7 +687,7 @@ let nn = { 1(e) {
693
687
  r !== -1 ? o = r : o = null;
694
688
  }
695
689
  return { ...e, activeOptionIndex: o, virtual: { options: i.options, disabled: (n = i.disabled) != null ? n : () => !1 } };
696
- }, 8: (e, i) => e.inputElement === i.element ? e : { ...e, inputElement: i.element }, 9: (e, i) => e.buttonElement === i.element ? e : { ...e, buttonElement: i.element }, 10: (e, i) => e.optionsElement === i.element ? e : { ...e, optionsElement: i.element } }, Re = Te(null);
690
+ }, 8: (e, i) => e.inputElement === i.element ? e : { ...e, inputElement: i.element }, 9: (e, i) => e.buttonElement === i.element ? e : { ...e, buttonElement: i.element }, 10: (e, i) => e.optionsElement === i.element ? e : { ...e, optionsElement: i.element } }, Re = ye(null);
697
691
  Re.displayName = "ComboboxActionsContext";
698
692
  function de(e) {
699
693
  let i = Ce(Re);
@@ -703,9 +697,9 @@ function de(e) {
703
697
  }
704
698
  return i;
705
699
  }
706
- let Ge = Te(null);
700
+ let Ge = ye(null);
707
701
  function on(e) {
708
- let i = oe("VirtualProvider"), { options: t } = i.virtual, [n, o] = G(() => {
702
+ let i = ne("VirtualProvider"), { options: t } = i.virtual, [n, o] = G(() => {
709
703
  let c = i.optionsElement;
710
704
  if (!c) return [0, 0];
711
705
  let d = window.getComputedStyle(c);
@@ -714,215 +708,218 @@ function on(e) {
714
708
  return 40;
715
709
  }, getScrollElement() {
716
710
  return i.optionsElement;
717
- }, overscan: 12 }), [l, s] = ye(0);
718
- W(() => {
711
+ }, overscan: 12 }), [l, s] = Te(0);
712
+ H(() => {
719
713
  s((c) => c + 1);
720
714
  }, [t]);
721
715
  let a = r.getVirtualItems();
722
- return a.length === 0 ? null : $.createElement(Ge.Provider, { value: r }, $.createElement("div", { style: { position: "relative", width: "100%", height: `${r.getTotalSize()}px` }, ref: (c) => {
723
- c && i.activationTrigger !== 0 && i.activeOptionIndex !== null && t.length > i.activeOptionIndex && r.scrollToIndex(i.activeOptionIndex);
716
+ return a.length === 0 ? null : z.createElement(Ge.Provider, { value: r }, z.createElement("div", { style: { position: "relative", width: "100%", height: `${r.getTotalSize()}px` }, ref: (c) => {
717
+ if (c) {
718
+ if (typeof process < "u" && process.env.JEST_WORKER_ID !== void 0 || i.activationTrigger === 0) return;
719
+ i.activeOptionIndex !== null && t.length > i.activeOptionIndex && r.scrollToIndex(i.activeOptionIndex);
720
+ }
724
721
  } }, a.map((c) => {
725
722
  var d;
726
- return $.createElement(We, { key: c.key }, $.cloneElement((d = e.children) == null ? void 0 : d.call(e, { ...e.slot, option: t[c.index] }), { key: `${l}-${c.key}`, "data-index": c.index, "aria-setsize": t.length, "aria-posinset": c.index + 1, style: { position: "absolute", top: 0, left: 0, transform: `translateY(${c.start}px)`, overflowAnchor: "none" } }));
723
+ return z.createElement(He, { key: c.key }, z.cloneElement((d = e.children) == null ? void 0 : d.call(e, { ...e.slot, option: t[c.index] }), { key: `${l}-${c.key}`, "data-index": c.index, "aria-setsize": t.length, "aria-posinset": c.index + 1, style: { position: "absolute", top: 0, left: 0, transform: `translateY(${c.start}px)`, overflowAnchor: "none" } }));
727
724
  })));
728
725
  }
729
- let ae = Te(null);
726
+ let ae = ye(null);
730
727
  ae.displayName = "ComboboxDataContext";
731
- function oe(e) {
728
+ function ne(e) {
732
729
  let i = Ce(ae);
733
730
  if (i === null) {
734
731
  let t = new Error(`<${e} /> is missing a parent <Combobox /> component.`);
735
- throw Error.captureStackTrace && Error.captureStackTrace(t, oe), t;
732
+ throw Error.captureStackTrace && Error.captureStackTrace(t, ne), t;
736
733
  }
737
734
  return i;
738
735
  }
739
736
  function rn(e, i) {
740
- return ne(i.type, nn, e, i);
737
+ return te(i.type, nn, e, i);
741
738
  }
742
- let sn = We;
739
+ let sn = He;
743
740
  function ln(e, i) {
744
741
  var t, n;
745
- let o = rt(), { value: r, defaultValue: l, onChange: s, form: a, name: c, by: d, disabled: v = o || !1, onClose: b, __demoMode: u = !1, multiple: E = !1, immediate: O = !1, virtual: h = null, nullable: T, ...P } = e, z = st(l), [C = E ? [] : void 0, _] = lt(r, s, z), [I, y] = et(rn, { dataRef: tt(), comboboxState: u ? 0 : 1, isTyping: !1, options: [], virtual: h ? { options: h.options, disabled: (t = h.disabled) != null ? t : () => !1 } : null, activeOptionIndex: null, activationTrigger: 2, inputElement: null, buttonElement: null, optionsElement: null, __demoMode: u }), x = V(!1), H = V({ static: !1, hold: !1 }), A = ot(d), U = g((f) => h ? d === null ? h.options.indexOf(f) : h.options.findIndex((S) => A(S, f)) : I.options.findIndex((S) => A(S.dataRef.current.value, f))), q = Ee((f) => ne(p.mode, { 1: () => C.some((S) => A(S, f)), 0: () => A(C, f) }), [C]), K = g((f) => I.activeOptionIndex === U(f)), p = G(() => ({ ...I, immediate: O, optionsPropsRef: H, value: C, defaultValue: z, disabled: v, mode: E ? 1 : 0, virtual: h ? I.virtual : null, get activeOptionIndex() {
746
- if (x.current && I.activeOptionIndex === null && (h ? h.options.length > 0 : I.options.length > 0)) {
742
+ let o = rt(), { value: r, defaultValue: l, onChange: s, form: a, name: c, by: d, disabled: m = o || !1, onClose: b, __demoMode: u = !1, multiple: x = !1, immediate: O = !1, virtual: h = null, nullable: y, ...$ } = e, _ = st(l), [S = x ? [] : void 0, w] = lt(r, s, _), [I, C] = et(rn, { dataRef: tt(), comboboxState: u ? 0 : 1, isTyping: !1, options: [], virtual: h ? { options: h.options, disabled: (t = h.disabled) != null ? t : () => !1 } : null, activeOptionIndex: null, activationTrigger: 2, inputElement: null, buttonElement: null, optionsElement: null, __demoMode: u }), E = V(!1), j = V({ static: !1, hold: !1 }), A = ot(d), U = g((v) => h ? d === null ? h.options.indexOf(v) : h.options.findIndex((T) => A(T, v)) : I.options.findIndex((T) => A(T.dataRef.current.value, v))), q = Ee((v) => te(p.mode, { 1: () => S.some((T) => A(T, v)), 0: () => A(S, v) }), [S]), K = g((v) => I.activeOptionIndex === U(v)), p = G(() => ({ ...I, immediate: O, optionsPropsRef: j, value: S, defaultValue: _, disabled: m, mode: x ? 1 : 0, virtual: h ? I.virtual : null, get activeOptionIndex() {
743
+ if (E.current && I.activeOptionIndex === null && (h ? h.options.length > 0 : I.options.length > 0)) {
747
744
  if (h) {
748
- let S = h.options.findIndex((j) => {
745
+ let T = h.options.findIndex((W) => {
749
746
  var pe, $e;
750
- return !(($e = (pe = h.disabled) == null ? void 0 : pe.call(h, j)) != null && $e);
747
+ return !(($e = (pe = h.disabled) == null ? void 0 : pe.call(h, W)) != null && $e);
751
748
  });
752
- if (S !== -1) return S;
749
+ if (T !== -1) return T;
753
750
  }
754
- let f = I.options.findIndex((S) => !S.dataRef.current.disabled);
755
- if (f !== -1) return f;
751
+ let v = I.options.findIndex((T) => !T.dataRef.current.disabled);
752
+ if (v !== -1) return v;
756
753
  }
757
754
  return I.activeOptionIndex;
758
- }, calculateIndex: U, compare: A, isSelected: q, isActive: K }), [C, z, v, E, u, I, h]);
759
- W(() => {
760
- var f;
761
- h && y({ type: 7, options: h.options, disabled: (f = h.disabled) != null ? f : null });
762
- }, [h, h == null ? void 0 : h.options, h == null ? void 0 : h.disabled]), W(() => {
755
+ }, calculateIndex: U, compare: A, isSelected: q, isActive: K }), [S, _, m, x, u, I, h]);
756
+ H(() => {
757
+ var v;
758
+ h && C({ type: 7, options: h.options, disabled: (v = h.disabled) != null ? v : null });
759
+ }, [h, h == null ? void 0 : h.options, h == null ? void 0 : h.disabled]), H(() => {
763
760
  I.dataRef.current = p;
764
761
  }, [p]);
765
762
  let B = p.comboboxState === 0;
766
763
  ft(B, [p.buttonElement, p.inputElement, p.optionsElement], () => F.closeCombobox());
767
- let ie = G(() => {
768
- var f, S, j;
769
- return { open: p.comboboxState === 0, disabled: v, activeIndex: p.activeOptionIndex, activeOption: p.activeOptionIndex === null ? null : p.virtual ? p.virtual.options[(f = p.activeOptionIndex) != null ? f : 0] : (j = (S = p.options[p.activeOptionIndex]) == null ? void 0 : S.dataRef.current.value) != null ? j : null, value: C };
770
- }, [p, v, C]), Y = g(() => {
764
+ let oe = G(() => {
765
+ var v, T, W;
766
+ return { open: p.comboboxState === 0, disabled: m, activeIndex: p.activeOptionIndex, activeOption: p.activeOptionIndex === null ? null : p.virtual ? p.virtual.options[(v = p.activeOptionIndex) != null ? v : 0] : (W = (T = p.options[p.activeOptionIndex]) == null ? void 0 : T.dataRef.current.value) != null ? W : null, value: S };
767
+ }, [p, m, S]), Y = g(() => {
771
768
  if (p.activeOptionIndex !== null) {
772
- if (F.setIsTyping(!1), p.virtual) m(p.virtual.options[p.activeOptionIndex]);
769
+ if (F.setIsTyping(!1), p.virtual) f(p.virtual.options[p.activeOptionIndex]);
773
770
  else {
774
- let { dataRef: f } = p.options[p.activeOptionIndex];
775
- m(f.current.value);
771
+ let { dataRef: v } = p.options[p.activeOptionIndex];
772
+ f(v.current.value);
776
773
  }
777
- F.goToOption(w.Specific, p.activeOptionIndex);
774
+ F.goToOption(M.Specific, p.activeOptionIndex);
778
775
  }
779
776
  }), X = g(() => {
780
- y({ type: 0 }), x.current = !0;
777
+ C({ type: 0 }), E.current = !0;
781
778
  }), ee = g(() => {
782
- y({ type: 1 }), x.current = !1, b == null || b();
783
- }), re = g((f) => {
784
- y({ type: 3, isTyping: f });
785
- }), D = g((f, S, j) => (x.current = !1, f === w.Specific ? y({ type: 2, focus: w.Specific, idx: S, trigger: j }) : y({ type: 2, focus: f, trigger: j }))), ve = g((f, S) => (y({ type: 4, payload: { id: f, dataRef: S } }), () => {
786
- p.isActive(S.current.value) && (x.current = !0), y({ type: 5, id: f });
787
- })), m = g((f) => ne(p.mode, { 0() {
788
- return _ == null ? void 0 : _(f);
779
+ C({ type: 1 }), E.current = !1, b == null || b();
780
+ }), ie = g((v) => {
781
+ C({ type: 3, isTyping: v });
782
+ }), D = g((v, T, W) => (E.current = !1, v === M.Specific ? C({ type: 2, focus: M.Specific, idx: T, trigger: W }) : C({ type: 2, focus: v, trigger: W }))), ve = g((v, T) => (C({ type: 4, payload: { id: v, dataRef: T } }), () => {
783
+ p.isActive(T.current.value) && (E.current = !0), C({ type: 5, id: v });
784
+ })), f = g((v) => te(p.mode, { 0() {
785
+ return w == null ? void 0 : w(v);
789
786
  }, 1() {
790
- let S = p.value.slice(), j = S.findIndex((pe) => A(pe, f));
791
- return j === -1 ? S.push(f) : S.splice(j, 1), _ == null ? void 0 : _(S);
792
- } })), N = g((f) => {
793
- y({ type: 6, trigger: f });
794
- }), R = g((f) => {
795
- y({ type: 8, element: f });
796
- }), L = g((f) => {
797
- y({ type: 9, element: f });
798
- }), M = g((f) => {
799
- y({ type: 10, element: f });
800
- }), F = G(() => ({ onChange: m, registerOption: ve, goToOption: D, setIsTyping: re, closeCombobox: ee, openCombobox: X, setActivationTrigger: N, selectActiveOption: Y, setInputElement: R, setButtonElement: L, setOptionsElement: M }), []), [Q, qe] = at(), Ye = i === null ? {} : { ref: i }, Xe = Ee(() => {
801
- if (z !== void 0) return _ == null ? void 0 : _(z);
802
- }, [_, z]);
803
- return $.createElement(qe, { value: Q, props: { htmlFor: (n = p.inputElement) == null ? void 0 : n.id }, slot: { open: p.comboboxState === 0, disabled: v } }, $.createElement(ht, null, $.createElement(Re.Provider, { value: F }, $.createElement(ae.Provider, { value: p }, $.createElement(Tt, { value: ne(p.comboboxState, { 0: me.Open, 1: me.Closed }) }, c != null && $.createElement(ut, { disabled: v, data: C != null ? { [c]: C } : {}, form: a, onReset: Xe }), ce({ ourProps: Ye, theirProps: P, slot: ie, defaultTag: sn, name: "Combobox" }))))));
787
+ let T = p.value.slice(), W = T.findIndex((pe) => A(pe, v));
788
+ return W === -1 ? T.push(v) : T.splice(W, 1), w == null ? void 0 : w(T);
789
+ } })), L = g((v) => {
790
+ C({ type: 6, trigger: v });
791
+ }), P = g((v) => {
792
+ C({ type: 8, element: v });
793
+ }), N = g((v) => {
794
+ C({ type: 9, element: v });
795
+ }), R = g((v) => {
796
+ C({ type: 10, element: v });
797
+ }), F = G(() => ({ onChange: f, registerOption: ve, goToOption: D, setIsTyping: ie, closeCombobox: ee, openCombobox: X, setActivationTrigger: L, selectActiveOption: Y, setInputElement: P, setButtonElement: N, setOptionsElement: R }), []), [Q, qe] = at(), Ye = i === null ? {} : { ref: i }, Xe = Ee(() => {
798
+ if (_ !== void 0) return w == null ? void 0 : w(_);
799
+ }, [w, _]);
800
+ return z.createElement(qe, { value: Q, props: { htmlFor: (n = p.inputElement) == null ? void 0 : n.id }, slot: { open: p.comboboxState === 0, disabled: m } }, z.createElement(ht, null, z.createElement(Re.Provider, { value: F }, z.createElement(ae.Provider, { value: p }, z.createElement(yt, { value: te(p.comboboxState, { 0: me.Open, 1: me.Closed }) }, c != null && z.createElement(ut, { disabled: m, data: S != null ? { [c]: S } : {}, form: a, onReset: Xe }), ce({ ourProps: Ye, theirProps: $, slot: oe, defaultTag: sn, name: "Combobox" }))))));
804
801
  }
805
802
  let an = "input";
806
803
  function un(e, i) {
807
804
  var t, n, o, r, l;
808
- let s = oe("Combobox.Input"), a = de("Combobox.Input"), c = he(), d = ct(), { id: v = d || `headlessui-combobox-input-${c}`, onChange: b, displayValue: u, disabled: E = s.disabled || !1, autoFocus: O = !1, type: h = "text", ...T } = e, P = V(null), z = fe(P, i, vt(), a.setInputElement), C = He(s.inputElement), _ = Qe(), I = g(() => {
809
- a.onChange(null), s.optionsElement && (s.optionsElement.scrollTop = 0), a.goToOption(w.Nothing);
810
- }), y = G(() => {
811
- var m;
812
- return typeof u == "function" && s.value !== void 0 ? (m = u(s.value)) != null ? m : "" : typeof s.value == "string" ? s.value : "";
805
+ let s = ne("Combobox.Input"), a = de("Combobox.Input"), c = he(), d = ct(), { id: m = d || `headlessui-combobox-input-${c}`, onChange: b, displayValue: u, disabled: x = s.disabled || !1, autoFocus: O = !1, type: h = "text", ...y } = e, $ = V(null), _ = fe($, i, vt(), a.setInputElement), S = je(s.inputElement), w = Qe(), I = g(() => {
806
+ a.onChange(null), s.optionsElement && (s.optionsElement.scrollTop = 0), a.goToOption(M.Nothing);
807
+ }), C = G(() => {
808
+ var f;
809
+ return typeof u == "function" && s.value !== void 0 ? (f = u(s.value)) != null ? f : "" : typeof s.value == "string" ? s.value : "";
813
810
  }, [s.value, u]);
814
- Ae(([m, N], [R, L]) => {
811
+ Ae(([f, L], [P, N]) => {
815
812
  if (s.isTyping) return;
816
- let M = P.current;
817
- M && ((L === 0 && N === 1 || m !== R) && (M.value = m), requestAnimationFrame(() => {
818
- if (s.isTyping || !M || (C == null ? void 0 : C.activeElement) !== M) return;
819
- let { selectionStart: F, selectionEnd: Q } = M;
820
- Math.abs((Q ?? 0) - (F ?? 0)) === 0 && F === 0 && M.setSelectionRange(M.value.length, M.value.length);
813
+ let R = $.current;
814
+ R && ((N === 0 && L === 1 || f !== P) && (R.value = f), requestAnimationFrame(() => {
815
+ if (s.isTyping || !R || (S == null ? void 0 : S.activeElement) !== R) return;
816
+ let { selectionStart: F, selectionEnd: Q } = R;
817
+ Math.abs((Q ?? 0) - (F ?? 0)) === 0 && F === 0 && R.setSelectionRange(R.value.length, R.value.length);
821
818
  }));
822
- }, [y, s.comboboxState, C, s.isTyping]), Ae(([m], [N]) => {
823
- if (m === 0 && N === 1) {
819
+ }, [C, s.comboboxState, S, s.isTyping]), Ae(([f], [L]) => {
820
+ if (f === 0 && L === 1) {
824
821
  if (s.isTyping) return;
825
- let R = P.current;
826
- if (!R) return;
827
- let L = R.value, { selectionStart: M, selectionEnd: F, selectionDirection: Q } = R;
828
- R.value = "", R.value = L, Q !== null ? R.setSelectionRange(M, F, Q) : R.setSelectionRange(M, F);
822
+ let P = $.current;
823
+ if (!P) return;
824
+ let N = P.value, { selectionStart: R, selectionEnd: F, selectionDirection: Q } = P;
825
+ P.value = "", P.value = N, Q !== null ? P.setSelectionRange(R, F, Q) : P.setSelectionRange(R, F);
829
826
  }
830
827
  }, [s.comboboxState]);
831
- let x = V(!1), H = g(() => {
832
- x.current = !0;
828
+ let E = V(!1), j = g(() => {
829
+ E.current = !0;
833
830
  }), A = g(() => {
834
- _.nextFrame(() => {
835
- x.current = !1;
831
+ w.nextFrame(() => {
832
+ E.current = !1;
836
833
  });
837
- }), U = g((m) => {
838
- switch (a.setIsTyping(!0), m.key) {
834
+ }), U = g((f) => {
835
+ switch (a.setIsTyping(!0), f.key) {
839
836
  case k.Enter:
840
- if (s.comboboxState !== 0 || x.current) return;
841
- if (m.preventDefault(), m.stopPropagation(), s.activeOptionIndex === null) {
837
+ if (s.comboboxState !== 0 || E.current) return;
838
+ if (f.preventDefault(), f.stopPropagation(), s.activeOptionIndex === null) {
842
839
  a.closeCombobox();
843
840
  return;
844
841
  }
845
842
  a.selectActiveOption(), s.mode === 0 && a.closeCombobox();
846
843
  break;
847
844
  case k.ArrowDown:
848
- return m.preventDefault(), m.stopPropagation(), ne(s.comboboxState, { 0: () => a.goToOption(w.Next), 1: () => a.openCombobox() });
845
+ return f.preventDefault(), f.stopPropagation(), te(s.comboboxState, { 0: () => a.goToOption(M.Next), 1: () => a.openCombobox() });
849
846
  case k.ArrowUp:
850
- return m.preventDefault(), m.stopPropagation(), ne(s.comboboxState, { 0: () => a.goToOption(w.Previous), 1: () => {
851
- Z(() => a.openCombobox()), s.value || a.goToOption(w.Last);
847
+ return f.preventDefault(), f.stopPropagation(), te(s.comboboxState, { 0: () => a.goToOption(M.Previous), 1: () => {
848
+ Z(() => a.openCombobox()), s.value || a.goToOption(M.Last);
852
849
  } });
853
850
  case k.Home:
854
- if (m.shiftKey) break;
855
- return m.preventDefault(), m.stopPropagation(), a.goToOption(w.First);
851
+ if (f.shiftKey) break;
852
+ return f.preventDefault(), f.stopPropagation(), a.goToOption(M.First);
856
853
  case k.PageUp:
857
- return m.preventDefault(), m.stopPropagation(), a.goToOption(w.First);
854
+ return f.preventDefault(), f.stopPropagation(), a.goToOption(M.First);
858
855
  case k.End:
859
- if (m.shiftKey) break;
860
- return m.preventDefault(), m.stopPropagation(), a.goToOption(w.Last);
856
+ if (f.shiftKey) break;
857
+ return f.preventDefault(), f.stopPropagation(), a.goToOption(M.Last);
861
858
  case k.PageDown:
862
- return m.preventDefault(), m.stopPropagation(), a.goToOption(w.Last);
859
+ return f.preventDefault(), f.stopPropagation(), a.goToOption(M.Last);
863
860
  case k.Escape:
864
- return s.comboboxState !== 0 ? void 0 : (m.preventDefault(), s.optionsElement && !s.optionsPropsRef.current.static && m.stopPropagation(), s.mode === 0 && s.value === null && I(), a.closeCombobox());
861
+ return s.comboboxState !== 0 ? void 0 : (f.preventDefault(), s.optionsElement && !s.optionsPropsRef.current.static && f.stopPropagation(), s.mode === 0 && s.value === null && I(), a.closeCombobox());
865
862
  case k.Tab:
866
863
  if (s.comboboxState !== 0) return;
867
864
  s.mode === 0 && s.activationTrigger !== 1 && a.selectActiveOption(), a.closeCombobox();
868
865
  break;
869
866
  }
870
- }), q = g((m) => {
871
- b == null || b(m), s.mode === 0 && m.target.value === "" && I(), a.openCombobox();
872
- }), K = g((m) => {
873
- var N, R, L;
874
- let M = (N = m.relatedTarget) != null ? N : J.find((F) => F !== m.currentTarget);
875
- if (!((R = s.optionsElement) != null && R.contains(M)) && !((L = s.buttonElement) != null && L.contains(M)) && s.comboboxState === 0) return m.preventDefault(), s.mode === 0 && s.value === null && I(), a.closeCombobox();
876
- }), p = g((m) => {
877
- var N, R, L;
878
- let M = (N = m.relatedTarget) != null ? N : J.find((F) => F !== m.currentTarget);
879
- (R = s.buttonElement) != null && R.contains(M) || (L = s.optionsElement) != null && L.contains(M) || s.disabled || s.immediate && s.comboboxState !== 0 && _.microTask(() => {
867
+ }), q = g((f) => {
868
+ b == null || b(f), s.mode === 0 && f.target.value === "" && I(), a.openCombobox();
869
+ }), K = g((f) => {
870
+ var L, P, N;
871
+ let R = (L = f.relatedTarget) != null ? L : J.find((F) => F !== f.currentTarget);
872
+ if (!((P = s.optionsElement) != null && P.contains(R)) && !((N = s.buttonElement) != null && N.contains(R)) && s.comboboxState === 0) return f.preventDefault(), s.mode === 0 && s.value === null && I(), a.closeCombobox();
873
+ }), p = g((f) => {
874
+ var L, P, N;
875
+ let R = (L = f.relatedTarget) != null ? L : J.find((F) => F !== f.currentTarget);
876
+ (P = s.buttonElement) != null && P.contains(R) || (N = s.optionsElement) != null && N.contains(R) || s.disabled || s.immediate && s.comboboxState !== 0 && w.microTask(() => {
880
877
  Z(() => a.openCombobox()), a.setActivationTrigger(1);
881
878
  });
882
- }), B = we(), ie = dt(), { isFocused: Y, focusProps: X } = Ve({ autoFocus: O }), { isHovered: ee, hoverProps: re } = Be({ isDisabled: E }), D = G(() => ({ open: s.comboboxState === 0, disabled: E, hover: ee, focus: Y, autofocus: O }), [s, ee, Y, O, E]), ve = Ie({ ref: z, id: v, role: "combobox", type: h, "aria-controls": (t = s.optionsElement) == null ? void 0 : t.id, "aria-expanded": s.comboboxState === 0, "aria-activedescendant": s.activeOptionIndex === null ? void 0 : s.virtual ? (n = s.options.find((m) => !m.dataRef.current.disabled && s.compare(m.dataRef.current.value, s.virtual.options[s.activeOptionIndex]))) == null ? void 0 : n.id : (o = s.options[s.activeOptionIndex]) == null ? void 0 : o.id, "aria-labelledby": B, "aria-describedby": ie, "aria-autocomplete": "list", defaultValue: (l = (r = e.defaultValue) != null ? r : s.defaultValue !== void 0 ? u == null ? void 0 : u(s.defaultValue) : null) != null ? l : s.defaultValue, disabled: E || void 0, autoFocus: O, onCompositionStart: H, onCompositionEnd: A, onKeyDown: U, onChange: q, onFocus: p, onBlur: K }, X, re);
883
- return ce({ ourProps: ve, theirProps: T, slot: D, defaultTag: an, name: "Combobox.Input" });
879
+ }), B = we(), oe = dt(), { isFocused: Y, focusProps: X } = Ve({ autoFocus: O }), { isHovered: ee, hoverProps: ie } = Be({ isDisabled: x }), D = G(() => ({ open: s.comboboxState === 0, disabled: x, hover: ee, focus: Y, autofocus: O }), [s, ee, Y, O, x]), ve = Ie({ ref: _, id: m, role: "combobox", type: h, "aria-controls": (t = s.optionsElement) == null ? void 0 : t.id, "aria-expanded": s.comboboxState === 0, "aria-activedescendant": s.activeOptionIndex === null ? void 0 : s.virtual ? (n = s.options.find((f) => !f.dataRef.current.disabled && s.compare(f.dataRef.current.value, s.virtual.options[s.activeOptionIndex]))) == null ? void 0 : n.id : (o = s.options[s.activeOptionIndex]) == null ? void 0 : o.id, "aria-labelledby": B, "aria-describedby": oe, "aria-autocomplete": "list", defaultValue: (l = (r = e.defaultValue) != null ? r : s.defaultValue !== void 0 ? u == null ? void 0 : u(s.defaultValue) : null) != null ? l : s.defaultValue, disabled: x || void 0, autoFocus: O, onCompositionStart: j, onCompositionEnd: A, onKeyDown: U, onChange: q, onFocus: p, onBlur: K }, X, ie);
880
+ return ce({ ourProps: ve, theirProps: y, slot: D, defaultTag: an, name: "Combobox.Input" });
884
881
  }
885
882
  let cn = "button";
886
883
  function dn(e, i) {
887
884
  var t;
888
- let n = oe("Combobox.Button"), o = de("Combobox.Button"), r = fe(i, o.setButtonElement), l = Je(), s = he(), { id: a = `headlessui-combobox-button-${s}`, disabled: c = n.disabled || !1, autoFocus: d = !1, ...v } = e, b = Ke(n.inputElement), u = g((x) => {
889
- switch (x.key) {
885
+ let n = ne("Combobox.Button"), o = de("Combobox.Button"), r = fe(i, o.setButtonElement), l = Je(), s = he(), { id: a = `headlessui-combobox-button-${s}`, disabled: c = n.disabled || !1, autoFocus: d = !1, ...m } = e, b = Ke(n.inputElement), u = g((E) => {
886
+ switch (E.key) {
890
887
  case k.Space:
891
888
  case k.Enter:
892
- x.preventDefault(), x.stopPropagation(), n.comboboxState === 1 && Z(() => o.openCombobox()), b();
889
+ E.preventDefault(), E.stopPropagation(), n.comboboxState === 1 && Z(() => o.openCombobox()), b();
893
890
  return;
894
891
  case k.ArrowDown:
895
- x.preventDefault(), x.stopPropagation(), n.comboboxState === 1 && (Z(() => o.openCombobox()), n.value || o.goToOption(w.First)), b();
892
+ E.preventDefault(), E.stopPropagation(), n.comboboxState === 1 && (Z(() => o.openCombobox()), n.value || o.goToOption(M.First)), b();
896
893
  return;
897
894
  case k.ArrowUp:
898
- x.preventDefault(), x.stopPropagation(), n.comboboxState === 1 && (Z(() => o.openCombobox()), n.value || o.goToOption(w.Last)), b();
895
+ E.preventDefault(), E.stopPropagation(), n.comboboxState === 1 && (Z(() => o.openCombobox()), n.value || o.goToOption(M.Last)), b();
899
896
  return;
900
897
  case k.Escape:
901
898
  if (n.comboboxState !== 0) return;
902
- x.preventDefault(), n.optionsElement && !n.optionsPropsRef.current.static && x.stopPropagation(), Z(() => o.closeCombobox()), b();
899
+ E.preventDefault(), n.optionsElement && !n.optionsPropsRef.current.static && E.stopPropagation(), Z(() => o.closeCombobox()), b();
903
900
  return;
904
901
  default:
905
902
  return;
906
903
  }
907
- }), E = g((x) => {
908
- x.preventDefault(), !_t(x.currentTarget) && (x.button === Me.Left && (n.comboboxState === 0 ? o.closeCombobox() : o.openCombobox()), b());
909
- }), O = we([a]), { isFocusVisible: h, focusProps: T } = Ve({ autoFocus: d }), { isHovered: P, hoverProps: z } = Be({ isDisabled: c }), { pressed: C, pressProps: _ } = nt({ disabled: c }), I = G(() => ({ open: n.comboboxState === 0, active: C || n.comboboxState === 0, disabled: c, value: n.value, hover: P, focus: h }), [n, P, h, C, c]), y = Ie({ ref: r, id: a, type: yt(e, n.buttonElement), tabIndex: -1, "aria-haspopup": "listbox", "aria-controls": (t = n.optionsElement) == null ? void 0 : t.id, "aria-expanded": n.comboboxState === 0, "aria-labelledby": O, disabled: c || void 0, autoFocus: d, onMouseDown: E, onKeyDown: u }, T, z, _);
910
- return ce({ mergeRefs: l, ourProps: y, theirProps: v, slot: I, defaultTag: cn, name: "Combobox.Button" });
904
+ }), x = g((E) => {
905
+ E.preventDefault(), !_t(E.currentTarget) && (E.button === Me.Left && (n.comboboxState === 0 ? o.closeCombobox() : o.openCombobox()), b());
906
+ }), O = we([a]), { isFocusVisible: h, focusProps: y } = Ve({ autoFocus: d }), { isHovered: $, hoverProps: _ } = Be({ isDisabled: c }), { pressed: S, pressProps: w } = nt({ disabled: c }), I = G(() => ({ open: n.comboboxState === 0, active: S || n.comboboxState === 0, disabled: c, value: n.value, hover: $, focus: h }), [n, $, h, S, c]), C = Ie({ ref: r, id: a, type: Tt(e, n.buttonElement), tabIndex: -1, "aria-haspopup": "listbox", "aria-controls": (t = n.optionsElement) == null ? void 0 : t.id, "aria-expanded": n.comboboxState === 0, "aria-labelledby": O, disabled: c || void 0, autoFocus: d, onMouseDown: x, onKeyDown: u }, y, _, w);
907
+ return ce({ mergeRefs: l, ourProps: C, theirProps: m, slot: I, defaultTag: cn, name: "Combobox.Button" });
911
908
  }
912
909
  let pn = "div", mn = _e.RenderStrategy | _e.Static;
913
910
  function fn(e, i) {
914
911
  var t, n, o;
915
- let r = he(), { id: l = `headlessui-combobox-options-${r}`, hold: s = !1, anchor: a, portal: c = !1, modal: d = !0, transition: v = !1, ...b } = e, u = oe("Combobox.Options"), E = de("Combobox.Options"), O = bt(a);
912
+ let r = he(), { id: l = `headlessui-combobox-options-${r}`, hold: s = !1, anchor: a, portal: c = !1, modal: d = !0, transition: m = !1, ...b } = e, u = ne("Combobox.Options"), x = de("Combobox.Options"), O = bt(a);
916
913
  O && (c = !0);
917
- let [h, T] = gt(O), [P, z] = ye(null), C = xt(), _ = fe(i, O ? h : null, E.setOptionsElement, z), I = He(u.optionsElement), y = Ct(), [x, H] = wt(v, P, y !== null ? (y & me.Open) === me.Open : u.comboboxState === 0);
918
- Et(x, u.inputElement, E.closeCombobox);
914
+ let [h, y] = gt(O), [$, _] = Te(null), S = xt(), w = fe(i, O ? h : null, x.setOptionsElement, _), I = je(u.optionsElement), C = Ct(), [E, j] = wt(m, $, C !== null ? (C & me.Open) === me.Open : u.comboboxState === 0);
915
+ Et(E, u.inputElement, x.closeCombobox);
919
916
  let A = u.__demoMode ? !1 : d && u.comboboxState === 0;
920
917
  Ot(A, I);
921
918
  let U = u.__demoMode ? !1 : d && u.comboboxState === 0;
922
- Kt(U, { allowed: Ee(() => [u.inputElement, u.buttonElement, u.optionsElement], [u.inputElement, u.buttonElement, u.optionsElement]) }), W(() => {
919
+ Kt(U, { allowed: Ee(() => [u.inputElement, u.buttonElement, u.optionsElement], [u.inputElement, u.buttonElement, u.optionsElement]) }), H(() => {
923
920
  var D;
924
921
  u.optionsPropsRef.current.static = (D = e.static) != null ? D : !1;
925
- }, [u.optionsPropsRef, e.static]), W(() => {
922
+ }, [u.optionsPropsRef, e.static]), H(() => {
926
923
  u.optionsPropsRef.current.hold = s;
927
924
  }, [u.optionsPropsRef, s]), qt(u.comboboxState === 0, { container: u.optionsElement, accept(D) {
928
925
  return D.getAttribute("role") === "option" ? NodeFilter.FILTER_REJECT : D.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
@@ -930,48 +927,48 @@ function fn(e, i) {
930
927
  D.setAttribute("role", "none");
931
928
  } });
932
929
  let q = we([(t = u.buttonElement) == null ? void 0 : t.id]), K = G(() => ({ open: u.comboboxState === 0, option: void 0 }), [u.comboboxState]), p = g(() => {
933
- E.setActivationTrigger(0);
930
+ x.setActivationTrigger(0);
934
931
  }), B = g((D) => {
935
- D.preventDefault(), E.setActivationTrigger(0);
936
- }), ie = Ie(O ? C() : {}, { "aria-labelledby": q, role: "listbox", "aria-multiselectable": u.mode === 1 ? !0 : void 0, id: l, ref: _, style: { ...b.style, ...T, "--input-width": Pe(u.inputElement, !0).width, "--button-width": Pe(u.buttonElement, !0).width }, onWheel: u.activationTrigger === 0 ? void 0 : p, onMouseDown: B, ...Mt(H) }), Y = x && u.comboboxState === 1, X = Se(Y, (n = u.virtual) == null ? void 0 : n.options), ee = Se(Y, u.value), re = g((D) => u.compare(ee, D));
932
+ D.preventDefault(), x.setActivationTrigger(0);
933
+ }), oe = Ie(O ? S() : {}, { "aria-labelledby": q, role: "listbox", "aria-multiselectable": u.mode === 1 ? !0 : void 0, id: l, ref: w, style: { ...b.style, ...y, "--input-width": Pe(u.inputElement, !0).width, "--button-width": Pe(u.buttonElement, !0).width }, onWheel: u.activationTrigger === 0 ? void 0 : p, onMouseDown: B, ...Mt(j) }), Y = E && u.comboboxState === 1, X = Se(Y, (n = u.virtual) == null ? void 0 : n.options), ee = Se(Y, u.value), ie = g((D) => u.compare(ee, D));
937
934
  if (u.virtual) {
938
935
  if (X === void 0) throw new Error("Missing `options` in virtual mode");
939
- Object.assign(b, { children: $.createElement(ae.Provider, { value: X !== u.virtual.options ? { ...u, virtual: { ...u.virtual, options: X } } : u }, $.createElement(on, { slot: K }, b.children)) });
936
+ Object.assign(b, { children: z.createElement(ae.Provider, { value: X !== u.virtual.options ? { ...u, virtual: { ...u.virtual, options: X } } : u }, z.createElement(on, { slot: K }, b.children)) });
940
937
  }
941
- return $.createElement(St, { enabled: c ? e.static || x : !1 }, $.createElement(ae.Provider, { value: u.mode === 1 ? u : { ...u, isSelected: re } }, ce({ ourProps: ie, theirProps: { ...b, children: $.createElement(Yt, { freeze: Y }, typeof b.children == "function" ? (o = b.children) == null ? void 0 : o.call(b, K) : b.children) }, slot: K, defaultTag: pn, features: mn, visible: x, name: "Combobox.Options" })));
938
+ return z.createElement(St, { enabled: c ? e.static || E : !1 }, z.createElement(ae.Provider, { value: u.mode === 1 ? u : { ...u, isSelected: ie } }, ce({ ourProps: oe, theirProps: { ...b, children: z.createElement(Yt, { freeze: Y }, typeof b.children == "function" ? (o = b.children) == null ? void 0 : o.call(b, K) : b.children) }, slot: K, defaultTag: pn, features: mn, visible: E, name: "Combobox.Options" })));
942
939
  }
943
940
  let hn = "div";
944
941
  function vn(e, i) {
945
942
  var t, n, o, r;
946
- let l = oe("Combobox.Option"), s = de("Combobox.Option"), a = he(), { id: c = `headlessui-combobox-option-${a}`, value: d, disabled: v = (o = (n = (t = l.virtual) == null ? void 0 : t.disabled) == null ? void 0 : n.call(t, d)) != null ? o : !1, order: b = null, ...u } = e, E = Ke(l.inputElement), O = l.virtual ? l.activeOptionIndex === l.calculateIndex(d) : l.activeOptionIndex === null ? !1 : ((r = l.options[l.activeOptionIndex]) == null ? void 0 : r.id) === c, h = l.isSelected(d), T = V(null), P = Ze({ disabled: v, value: d, domRef: T, order: b }), z = Ce(Ge), C = fe(i, T, z ? z.measureElement : null), _ = g(() => {
943
+ let l = ne("Combobox.Option"), s = de("Combobox.Option"), a = he(), { id: c = `headlessui-combobox-option-${a}`, value: d, disabled: m = (o = (n = (t = l.virtual) == null ? void 0 : t.disabled) == null ? void 0 : n.call(t, d)) != null ? o : !1, order: b = null, ...u } = e, x = Ke(l.inputElement), O = l.virtual ? l.activeOptionIndex === l.calculateIndex(d) : l.activeOptionIndex === null ? !1 : ((r = l.options[l.activeOptionIndex]) == null ? void 0 : r.id) === c, h = l.isSelected(d), y = V(null), $ = Ze({ disabled: m, value: d, domRef: y, order: b }), _ = Ce(Ge), S = fe(i, y, _ ? _.measureElement : null), w = g(() => {
947
944
  s.setIsTyping(!1), s.onChange(d);
948
945
  });
949
- W(() => s.registerOption(c, P), [P, c]);
946
+ H(() => s.registerOption(c, $), [$, c]);
950
947
  let I = V(!(l.virtual || l.__demoMode));
951
- W(() => {
948
+ H(() => {
952
949
  if (!l.virtual && !l.__demoMode) return xe().requestAnimationFrame(() => {
953
950
  I.current = !0;
954
951
  });
955
- }, [l.virtual, l.__demoMode]), W(() => {
952
+ }, [l.virtual, l.__demoMode]), H(() => {
956
953
  if (I.current && l.comboboxState === 0 && O && l.activationTrigger !== 0) return xe().requestAnimationFrame(() => {
957
954
  var p, B;
958
- (B = (p = T.current) == null ? void 0 : p.scrollIntoView) == null || B.call(p, { block: "nearest" });
955
+ (B = (p = y.current) == null ? void 0 : p.scrollIntoView) == null || B.call(p, { block: "nearest" });
959
956
  });
960
- }, [T, O, l.comboboxState, l.activationTrigger, l.activeOptionIndex]);
961
- let y = g((p) => {
962
- p.preventDefault(), p.button === Me.Left && (v || (_(), It() || requestAnimationFrame(() => E()), l.mode === 0 && s.closeCombobox()));
963
- }), x = g(() => {
964
- if (v) return s.goToOption(w.Nothing);
957
+ }, [y, O, l.comboboxState, l.activationTrigger, l.activeOptionIndex]);
958
+ let C = g((p) => {
959
+ p.preventDefault(), p.button === Me.Left && (m || (w(), It() || requestAnimationFrame(() => x()), l.mode === 0 && s.closeCombobox()));
960
+ }), E = g(() => {
961
+ if (m) return s.goToOption(M.Nothing);
965
962
  let p = l.calculateIndex(d);
966
- s.goToOption(w.Specific, p);
967
- }), H = Gt(), A = g((p) => H.update(p)), U = g((p) => {
968
- if (!H.wasMoved(p) || v || O) return;
963
+ s.goToOption(M.Specific, p);
964
+ }), j = Gt(), A = g((p) => j.update(p)), U = g((p) => {
965
+ if (!j.wasMoved(p) || m || O) return;
969
966
  let B = l.calculateIndex(d);
970
- s.goToOption(w.Specific, B, 0);
967
+ s.goToOption(M.Specific, B, 0);
971
968
  }), q = g((p) => {
972
- H.wasMoved(p) && (v || O && (l.optionsPropsRef.current.hold || s.goToOption(w.Nothing)));
973
- }), K = G(() => ({ active: O, focus: O, selected: h, disabled: v }), [O, h, v]);
974
- return ce({ ourProps: { id: c, ref: C, role: "option", tabIndex: v === !0 ? void 0 : -1, "aria-disabled": v === !0 ? !0 : void 0, "aria-selected": h, disabled: void 0, onMouseDown: y, onFocus: x, onPointerEnter: A, onMouseEnter: A, onPointerMove: U, onMouseMove: U, onPointerLeave: q, onMouseLeave: q }, theirProps: u, slot: K, defaultTag: hn, name: "Combobox.Option" });
969
+ j.wasMoved(p) && (m || O && (l.optionsPropsRef.current.hold || s.goToOption(M.Nothing)));
970
+ }), K = G(() => ({ active: O, focus: O, selected: h, disabled: m }), [O, h, m]);
971
+ return ce({ ourProps: { id: c, ref: S, role: "option", tabIndex: m === !0 ? void 0 : -1, "aria-disabled": m === !0 ? !0 : void 0, "aria-selected": h, disabled: void 0, onMouseDown: C, onFocus: E, onPointerEnter: A, onMouseEnter: A, onPointerMove: U, onMouseMove: U, onPointerLeave: q, onMouseLeave: q }, theirProps: u, slot: K, defaultTag: hn, name: "Combobox.Option" });
975
972
  }
976
973
  let bn = ue(ln), gn = ue(dn), xn = ue(un), En = it, On = ue(fn), Sn = ue(vn), Dn = Object.assign(bn, { Input: xn, Button: gn, Label: En, Options: On, Option: Sn });
977
974
  export {
@@ -979,5 +976,5 @@ export {
979
976
  Dn as H,
980
977
  On as K,
981
978
  gn as U,
982
- Sn as j
979
+ Sn as W
983
980
  };