@box-kite/react 2.2.7 → 2.2.9

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.
Files changed (96) hide show
  1. package/BOX_AI_CONTEXT.md +76 -0
  2. package/BOX_KITE_AI_CONTEXT.md +76 -0
  3. package/analytics.cjs +1 -0
  4. package/analytics.d.ts +10 -0
  5. package/analytics.mjs +121 -0
  6. package/behavior.cjs +1 -1
  7. package/behavior.mjs +42 -38
  8. package/box.cjs +1 -1
  9. package/box.d.ts +9 -0
  10. package/box.mjs +17 -16
  11. package/catalog.cjs +1 -1
  12. package/catalog.mjs +8 -0
  13. package/client.cjs +1 -1
  14. package/client.mjs +120 -120
  15. package/components/accordion.cjs +1 -1
  16. package/components/accordion.mjs +19 -10
  17. package/components/agent.cjs +1 -1
  18. package/components/agent.mjs +21 -8
  19. package/components/calendar.cjs +1 -1
  20. package/components/calendar.d.ts +3 -1
  21. package/components/calendar.mjs +154 -142
  22. package/components/combobox.cjs +1 -1
  23. package/components/combobox.mjs +184 -174
  24. package/components/dashboard.cjs +1 -1
  25. package/components/dashboard.mjs +183 -170
  26. package/components/dataGrid/models/columnModel.d.ts +1 -0
  27. package/components/dataGrid/models/gridModel.d.ts +18 -0
  28. package/components/dataGrid/models/rangeModel.d.ts +3 -0
  29. package/components/dataGrid.cjs +3 -3
  30. package/components/dataGrid.mjs +987 -896
  31. package/components/dateField.cjs +1 -1
  32. package/components/dateField.mjs +160 -149
  33. package/components/datePicker.cjs +1 -1
  34. package/components/datePicker.mjs +226 -206
  35. package/components/dialog.cjs +1 -1
  36. package/components/dialog.mjs +38 -33
  37. package/components/dropdown.cjs +1 -1
  38. package/components/dropdown.mjs +107 -93
  39. package/components/form.cjs +1 -1
  40. package/components/form.mjs +22 -18
  41. package/components/menu.cjs +1 -1
  42. package/components/menu.d.ts +2 -0
  43. package/components/menu.mjs +196 -175
  44. package/components/overlay.cjs +1 -1
  45. package/components/overlay.mjs +7 -7
  46. package/components/popover.cjs +1 -1
  47. package/components/popover.mjs +4 -0
  48. package/components/radioGroup.cjs +1 -1
  49. package/components/radioGroup.mjs +10 -5
  50. package/components/slider.cjs +1 -1
  51. package/components/slider.mjs +84 -83
  52. package/components/sortableList.cjs +1 -1
  53. package/components/sortableList.mjs +158 -150
  54. package/components/swipeItem.cjs +1 -1
  55. package/components/swipeItem.mjs +92 -84
  56. package/components/tabs.cjs +1 -1
  57. package/components/tabs.mjs +10 -5
  58. package/components/timeZoneSelect.cjs +1 -1
  59. package/components/timeZoneSelect.mjs +40 -35
  60. package/components/toaster.cjs +1 -1
  61. package/components/toaster.mjs +151 -113
  62. package/dataGridDateParts.cjs +1 -1
  63. package/dataGridDateParts.mjs +56 -55
  64. package/dataGridList.cjs +1 -1
  65. package/dataGridList.mjs +430 -429
  66. package/effects.cjs +1 -1
  67. package/effects.mjs +1 -1
  68. package/interactionListening.cjs +1 -0
  69. package/interactionListening.mjs +117 -0
  70. package/interactions.cjs +1 -0
  71. package/interactions.mjs +25 -0
  72. package/layer.cjs +1 -1
  73. package/layer.mjs +68 -66
  74. package/package.json +132 -68
  75. package/placement.cjs +1 -1
  76. package/placement.mjs +10 -10
  77. package/platform.cjs +1 -1
  78. package/platform.mjs +44 -25
  79. package/react/interactions/interactions.d.ts +30 -0
  80. package/react/popover/usePopoverLayer.d.ts +3 -0
  81. package/react/useStyles.d.ts +8 -1
  82. package/react-shared.cjs +1 -1
  83. package/react-shared.mjs +49 -48
  84. package/reporting.cjs +1 -0
  85. package/reporting.mjs +51 -0
  86. package/scrolling.cjs +1 -1
  87. package/scrolling.mjs +1 -1
  88. package/supabase/functions/collect/index.d.ts +30 -0
  89. package/supabase/functions/collect/index.test.d.ts +1 -0
  90. package/utils/analytics/analytics.d.ts +72 -0
  91. package/utils/analytics/analyticsIdentity.d.ts +13 -0
  92. package/utils/interactions/componentAttribute.d.ts +6 -0
  93. package/utils/interactions/interactionChannel.d.ts +35 -0
  94. package/utils/interactions/interactionJson.d.ts +6 -0
  95. package/utils/interactions/interactionListening.d.ts +6 -0
  96. package/utils/interactions/interactionTypes.d.ts +224 -0
@@ -3,14 +3,15 @@ import { f as e } from "../react-shared.mjs";
3
3
  import { n as t } from "../effects.mjs";
4
4
  import { useBoxElement as n } from "../box.mjs";
5
5
  import { a as r, o as i } from "../behavior.mjs";
6
- import { Circle as a, Svg as o } from "./svg.mjs";
7
- import s from "./visuallyHidden.mjs";
8
- import { t as c } from "../scrolling.mjs";
9
- import l from "./list.mjs";
10
- import { createContext as u, useCallback as d, useContext as f, useEffect as p, useId as ee, useMemo as m, useRef as h, useState as g } from "react";
11
- import { jsx as _, jsxs as te } from "react/jsx-runtime";
6
+ import { i as a, r as o } from "../reporting.mjs";
7
+ import { Circle as s, Svg as c } from "./svg.mjs";
8
+ import l from "./visuallyHidden.mjs";
9
+ import { t as u } from "../scrolling.mjs";
10
+ import d from "./list.mjs";
11
+ import { createContext as f, useCallback as ee, useContext as p, useEffect as m, useId as te, useMemo as h, useRef as g, useState as _ } from "react";
12
+ import { jsx as v, jsxs as ne } from "react/jsx-runtime";
12
13
  //#region src/utils/sortable/sortableUtils.ts
13
- var v;
14
+ var y;
14
15
  (function(e) {
15
16
  e.SLOP = 4;
16
17
  function t(e) {
@@ -53,31 +54,31 @@ var v;
53
54
  }
54
55
  }
55
56
  e.keyTarget = o;
56
- })(v ||= {});
57
- var y = v, b = u(null), x = u(null), S = 48, ne = 12, C = ":scope > [data-sortable-value]";
58
- function w(e) {
59
- return e ? Array.from(e.querySelectorAll(C)) : [];
60
- }
57
+ })(y ||= {});
58
+ var b = y, x = f(null), S = f(null), C = 48, re = 12, w = ":scope > [data-sortable-value]";
61
59
  function T(e) {
62
- return w(e).map((e) => e.dataset.sortableValue ?? "");
60
+ return e ? Array.from(e.querySelectorAll(w)) : [];
63
61
  }
64
62
  function E(e) {
65
- return new Map(w(e).map((e) => [e.dataset.sortableValue ?? "", e.getBoundingClientRect().top]));
63
+ return T(e).map((e) => e.dataset.sortableValue ?? "");
64
+ }
65
+ function D(e) {
66
+ return new Map(T(e).map((e) => [e.dataset.sortableValue ?? "", e.getBoundingClientRect().top]));
66
67
  }
67
- function re(e, t) {
68
+ function ie(e, t) {
68
69
  return e.length === t.length && e.every((e, n) => e === t[n]);
69
70
  }
70
- function D(e, n) {
71
- let { onOrderChange: a, onOrderCommit: o, children: u, variant: f, props: v, ...x } = e, C = h(null), D = h(null), O = h(null), [k, A] = g(null), [j, M] = g(0), [N, P] = g(!1), [ie, F] = g(""), I = `${ee()}-sortable`, L = i(k), R = r(a), z = r(o), ae = d((e) => {
72
- C.current = e, typeof n == "function" ? n(e) : n && (n.current = e);
73
- }, [n]), B = (e, t) => `position ${e.indexOf(t) + 1} of ${e.length}`, V = (e, t) => {
74
- O.current = E(C.current), R(e, t);
71
+ function O(e, n) {
72
+ let { onOrderChange: s, onOrderCommit: c, children: f, variant: p, props: y, ...S } = e, w = g(null), O = g(null), k = g(null), [A, j] = _(null), [M, N] = _(0), [P, F] = _(!1), [ae, I] = _(""), L = `${te()}-sortable`, R = i(A), z = o(s, "sortableList", "orderChange"), B = o(c, "sortableList", "orderCommit"), V = a("sortableList"), oe = ee((e) => {
73
+ w.current = e, typeof n == "function" ? n(e) : n && (n.current = e);
74
+ }, [n]), H = (e, t) => `position ${e.indexOf(t) + 1} of ${e.length}`, U = (e, t) => {
75
+ k.current = D(w.current), z(e, t);
75
76
  };
76
77
  t(() => {
77
- let e = O.current;
78
+ let e = k.current;
78
79
  if (e) {
79
- O.current = null;
80
- for (let t of w(C.current)) {
80
+ k.current = null;
81
+ for (let t of T(w.current)) {
81
82
  let n = e.get(t.dataset.sortableValue ?? ""), r = n === void 0 ? 0 : n - t.getBoundingClientRect().top, i = parseFloat(getComputedStyle(t).transitionDuration) * 1e3 || 0;
82
83
  Math.abs(r) < 1 || i === 0 || typeof t.animate != "function" || t.animate([{ translate: `0 ${r}px` }, { translate: "0 0" }], {
83
84
  duration: i,
@@ -85,25 +86,25 @@ function D(e, n) {
85
86
  });
86
87
  }
87
88
  }
88
- }), p(() => {
89
- if (!N) return;
90
- let e = requestAnimationFrame(() => P(!1));
89
+ }), m(() => {
90
+ if (!P) return;
91
+ let e = requestAnimationFrame(() => F(!1));
91
92
  return () => cancelAnimationFrame(e);
92
- }, [N]), t(() => {
93
- if (!k || k.pointer) return;
94
- let e = w(C.current).find((e) => e.dataset.sortableValue === k.value)?.querySelector("[data-sortable-handle]");
93
+ }, [P]), t(() => {
94
+ if (!A || A.pointer) return;
95
+ let e = T(w.current).find((e) => e.dataset.sortableValue === A.value)?.querySelector("[data-sortable-handle]");
95
96
  e && e.ownerDocument.activeElement !== e && e.focus();
96
97
  });
97
- let H = r((e, t) => {
98
- let n = e.pointer, r = C.current;
98
+ let W = r((e, t) => {
99
+ let n = e.pointer, r = w.current;
99
100
  if (!n || !r) return;
100
101
  n.lastY = t;
101
102
  let i = t - r.getBoundingClientRect().top - (n.startY - n.startTop), a = n.order.indexOf(e.value);
102
- n.to = y.targetIndex(n.slots, a, i), M(i);
103
- }), oe = (e, t) => {
104
- let n = C.current;
103
+ n.to = b.targetIndex(n.slots, a, i), N(i);
104
+ }), se = (e, t) => {
105
+ let n = w.current;
105
106
  if (!n) return;
106
- let r = n.getBoundingClientRect().top, i = w(n), a = i.map((e) => e.dataset.sortableValue ?? ""), o = i.map((e) => {
107
+ let r = n.getBoundingClientRect().top, i = T(n), a = i.map((e) => e.dataset.sortableValue ?? ""), o = i.map((e) => {
107
108
  let t = e.getBoundingClientRect();
108
109
  return {
109
110
  top: t.top - r,
@@ -123,195 +124,202 @@ function D(e, n) {
123
124
  to: a.indexOf(t.value)
124
125
  }
125
126
  };
126
- A(s), H(s, e.clientY);
127
- }, U = k?.pointer !== void 0;
128
- p(() => {
129
- if (!U) return;
130
- let e = c(C.current), t = 0, n = () => {
131
- let r = L.current;
127
+ j(s), W(s, e.clientY);
128
+ }, G = A?.pointer !== void 0;
129
+ m(() => {
130
+ if (!G) return;
131
+ let e = u(w.current), t = 0, n = () => {
132
+ let r = R.current;
132
133
  if (r?.pointer) {
133
- let t = r.pointer.lastY, n = e ? e.getBoundingClientRect().top : 0, i = e ? e.getBoundingClientRect().bottom : window.innerHeight, a = t < n + S ? -12 : t > i - S ? ne : 0;
134
- a && ((e ?? window).scrollBy(0, a), H(r, t));
134
+ let t = r.pointer.lastY, n = e ? e.getBoundingClientRect().top : 0, i = e ? e.getBoundingClientRect().bottom : window.innerHeight, a = t < n + C ? -12 : t > i - C ? re : 0;
135
+ a && ((e ?? window).scrollBy(0, a), W(r, t));
135
136
  }
136
137
  t = requestAnimationFrame(n);
137
138
  };
138
139
  return t = requestAnimationFrame(n), () => cancelAnimationFrame(t);
139
140
  }, [
140
- U,
141
- H,
142
- L
141
+ G,
142
+ W,
143
+ R
143
144
  ]);
144
- let W = (e, t, n) => {
145
- let r = T(C.current);
146
- A({
145
+ let K = (e, t, n) => {
146
+ let r = E(w.current);
147
+ j({
147
148
  value: e,
148
149
  name: t,
149
150
  origin: r
150
- }), F(`${t} picked up at ${B(r, e)}. Use the arrow keys to move it, Enter to drop it.`), n.preventDefault();
151
- }, G = (e, t, n = T(C.current)) => {
151
+ }), V("grab", e, {
152
+ reason: n.type === "keydown" ? "keyboard" : "pointer",
153
+ event: n,
154
+ from: r.indexOf(e)
155
+ }), I(`${t} picked up at ${H(r, e)}. Use the arrow keys to move it, Enter to drop it.`), n.preventDefault();
156
+ }, q = (e, t, n = E(w.current)) => {
152
157
  let r = n.indexOf(e.value);
153
- A(null), z(n, {
158
+ j(null), B(n, {
154
159
  reason: "keyboard",
155
160
  event: t,
156
161
  value: e.value,
157
162
  from: e.origin.indexOf(e.value),
158
163
  to: r
159
- }), F(`${e.name} dropped at ${B(n, e.value)}.`);
160
- }, K = r((e, t) => {
161
- let n = T(C.current);
162
- A(null), M(0), re(n, e.origin) || V(e.origin, {
164
+ }), I(`${e.name} dropped at ${H(n, e.value)}.`);
165
+ }, J = r((e, t) => {
166
+ let n = E(w.current);
167
+ V("grabCancel", e.value, {
168
+ reason: t.type === "keydown" ? "escape" : t.type === "blur" ? "blur" : "pointercancel",
169
+ event: t
170
+ }), j(null), N(0), ie(n, e.origin) || U(e.origin, {
163
171
  reason: e.pointer ? "pointer" : "keyboard",
164
172
  event: t,
165
173
  value: e.value,
166
174
  from: n.indexOf(e.value),
167
175
  to: e.origin.indexOf(e.value)
168
- }), F(`${e.name} put back at ${B(e.origin, e.value)}.`);
169
- }), q = (e, t, n) => {
170
- let r = T(C.current), i = r.indexOf(e.value);
176
+ }), I(`${e.name} put back at ${H(e.origin, e.value)}.`);
177
+ }), Y = (e, t, n) => {
178
+ let r = E(w.current), i = r.indexOf(e.value);
171
179
  if (i < 0 || t === i) return r;
172
- let a = y.move(r, i, t);
173
- return V(a, {
180
+ let a = b.move(r, i, t);
181
+ return U(a, {
174
182
  reason: "keyboard",
175
183
  event: n,
176
184
  value: e.value,
177
185
  from: i,
178
186
  to: t
179
- }), F(`${e.name}, ${B(a, e.value)}.`), a;
180
- }, J = r((e, t, n) => {
181
- e.button !== 0 || e.defaultPrevented || (e.preventDefault(), e.currentTarget.focus(), e.currentTarget.setPointerCapture?.(e.pointerId), D.current = {
187
+ }), I(`${e.name}, ${H(a, e.value)}.`), a;
188
+ }, X = r((e, t, n) => {
189
+ e.button !== 0 || e.defaultPrevented || (e.preventDefault(), e.currentTarget.focus(), e.currentTarget.setPointerCapture?.(e.pointerId), O.current = {
182
190
  id: e.pointerId,
183
191
  x: e.clientX,
184
192
  y: e.clientY,
185
193
  value: t,
186
194
  name: n
187
195
  });
188
- }), Y = r((e) => {
189
- let t = L.current;
196
+ }), Z = r((e) => {
197
+ let t = R.current;
190
198
  if (t?.pointer && t.pointer.id === e.pointerId) {
191
- H(t, e.clientY);
199
+ W(t, e.clientY);
192
200
  return;
193
201
  }
194
- let n = D.current;
195
- !n || n.id !== e.pointerId || Math.hypot(e.clientX - n.x, e.clientY - n.y) < y.SLOP || (D.current = null, oe(e, n));
196
- }), X = r((e) => {
197
- let t = D.current;
198
- D.current = null;
199
- let n = L.current;
202
+ let n = O.current;
203
+ !n || n.id !== e.pointerId || Math.hypot(e.clientX - n.x, e.clientY - n.y) < b.SLOP || (O.current = null, se(e, n));
204
+ }), Q = r((e) => {
205
+ let t = O.current;
206
+ O.current = null;
207
+ let n = R.current;
200
208
  if (t && t.id === e.pointerId && e.type === "pointerup") {
201
- n && !n.pointer ? n.value === t.value && G(n, e) : W(t.value, t.name, e);
209
+ n && !n.pointer ? n.value === t.value && q(n, e) : K(t.value, t.name, e);
202
210
  return;
203
211
  }
204
212
  let r = n?.pointer;
205
213
  if (!n || !r || r.id !== e.pointerId) return;
206
- if (e.currentTarget.releasePointerCapture?.(e.pointerId), P(!0), e.type === "pointercancel") {
207
- O.current = E(C.current), K(n, e);
214
+ if (e.currentTarget.releasePointerCapture?.(e.pointerId), F(!0), e.type === "pointercancel") {
215
+ k.current = D(w.current), J(n, e);
208
216
  return;
209
217
  }
210
- let i = r.order.indexOf(n.value), a = y.move(r.order, i, r.to), o = {
218
+ let i = r.order.indexOf(n.value), a = b.move(r.order, i, r.to), o = {
211
219
  reason: "pointer",
212
220
  event: e,
213
221
  value: n.value,
214
222
  from: i,
215
223
  to: r.to
216
224
  };
217
- O.current = E(C.current), A(null), M(0), r.to !== i && R(a, o), z(a, o), F(`${n.name} dropped at ${B(a, n.value)}.`);
218
- }), Z = r((e, t, n) => {
225
+ k.current = D(w.current), j(null), N(0), r.to !== i && z(a, o), B(a, o), I(`${n.name} dropped at ${H(a, n.value)}.`);
226
+ }), $ = r((e, t, n) => {
219
227
  if (e.defaultPrevented) return;
220
- let r = L.current, i = r && r.value === t && !r.pointer ? r : void 0;
228
+ let r = R.current, i = r && r.value === t && !r.pointer ? r : void 0;
221
229
  if (!i) {
222
- (e.key === "Enter" || e.key === " ") && W(t, n, e);
230
+ (e.key === "Enter" || e.key === " ") && K(t, n, e);
223
231
  return;
224
232
  }
225
233
  if (e.key === "Escape") {
226
- e.preventDefault(), K(i, e);
234
+ e.preventDefault(), J(i, e);
227
235
  return;
228
236
  }
229
237
  if (e.key === "Enter" || e.key === " ") {
230
- e.preventDefault(), G(i, e);
238
+ e.preventDefault(), q(i, e);
231
239
  return;
232
240
  }
233
- let a = T(C.current), o = y.keyTarget(e.key, a.indexOf(t), a.length);
234
- o !== null && (e.preventDefault(), q(i, o, e));
235
- }), Q = r((e) => {
241
+ let a = E(w.current), o = b.keyTarget(e.key, a.indexOf(t), a.length);
242
+ o !== null && (e.preventDefault(), Y(i, o, e));
243
+ }), ce = r((e) => {
236
244
  setTimeout(() => {
237
- let t = L.current, n = C.current;
238
- !t || t.pointer || t.value !== e || !n || n.ownerDocument.activeElement?.closest("[data-sortable-value]")?.getAttribute("data-sortable-value") !== e && K(t, new Event("blur"));
245
+ let t = R.current, n = w.current;
246
+ !t || t.pointer || t.value !== e || !n || n.ownerDocument.activeElement?.closest("[data-sortable-value]")?.getAttribute("data-sortable-value") !== e && J(t, new Event("blur"));
239
247
  });
240
- }), $ = (e) => {
241
- let t = L.current;
248
+ }), le = (e) => {
249
+ let t = R.current;
242
250
  if (!t || t.pointer || !(e.target instanceof Element)) return null;
243
251
  let n = e.target.closest("[data-sortable-value]");
244
- return n && n.parentElement === C.current && n.dataset.sortableValue !== t.value ? n : null;
245
- }, se = (e) => {
246
- $(e) && e.preventDefault();
247
- }, ce = (e) => {
248
- let t = $(e), n = L.current;
249
- !t || !n || (e.preventDefault(), e.stopPropagation(), G(n, e, q(n, T(C.current).indexOf(t.dataset.sortableValue ?? ""), e)));
250
- }, le = m(() => {
251
- let e = k?.pointer, t = e ? e.order.indexOf(k.value) : -1;
252
+ return n && n.parentElement === w.current && n.dataset.sortableValue !== t.value ? n : null;
253
+ }, ue = (e) => {
254
+ le(e) && e.preventDefault();
255
+ }, de = (e) => {
256
+ let t = le(e), n = R.current;
257
+ !t || !n || (e.preventDefault(), e.stopPropagation(), q(n, e, Y(n, E(w.current).indexOf(t.dataset.sortableValue ?? ""), e)));
258
+ }, fe = h(() => {
259
+ let e = A?.pointer, t = e ? e.order.indexOf(A.value) : -1;
252
260
  return {
253
- heldOf: (e) => k && k.value === e ? k.pointer ? "pointer" : "keyboard" : void 0,
261
+ heldOf: (e) => A && A.value === e ? A.pointer ? "pointer" : "keyboard" : void 0,
254
262
  translateOf: (n) => {
255
263
  if (!e) return;
256
- if (n === k.value) return `0 ${Math.round(j)}px`;
257
- let r = y.shiftOf(e.slots, t, e.to, e.order.indexOf(n));
264
+ if (n === A.value) return `0 ${Math.round(M)}px`;
265
+ let r = b.shiftOf(e.slots, t, e.to, e.order.indexOf(n));
258
266
  return r ? `0 ${r}px` : void 0;
259
267
  },
260
- settling: N,
261
- instructionsId: I,
268
+ settling: P,
269
+ instructionsId: L,
262
270
  handleProps: (e, t) => ({
263
271
  type: "button",
264
272
  "data-sortable-handle": "",
265
273
  "aria-label": `Move ${t}`,
266
- "aria-pressed": k?.value === e,
267
- "aria-describedby": I,
268
- onPointerDown: (n) => J(n, e, t),
269
- onPointerMove: Y,
270
- onPointerUp: X,
271
- onPointerCancel: X,
272
- onKeyDown: (n) => Z(n, e, t),
273
- onBlur: () => Q(e)
274
+ "aria-pressed": A?.value === e,
275
+ "aria-describedby": L,
276
+ onPointerDown: (n) => X(n, e, t),
277
+ onPointerMove: Z,
278
+ onPointerUp: Q,
279
+ onPointerCancel: Q,
280
+ onKeyDown: (n) => $(n, e, t),
281
+ onBlur: () => ce(e)
274
282
  })
275
283
  };
276
284
  }, [
277
- k,
278
- j,
279
- N,
280
- I,
281
- J,
282
- Y,
285
+ A,
286
+ M,
287
+ P,
288
+ L,
283
289
  X,
284
290
  Z,
285
- Q
291
+ Q,
292
+ $,
293
+ ce
286
294
  ]);
287
- return /* @__PURE__ */ te(b.Provider, {
288
- value: le,
295
+ return /* @__PURE__ */ ne(x.Provider, {
296
+ value: fe,
289
297
  children: [
290
- /* @__PURE__ */ _(l, {
291
- ref: ae,
292
- ...x,
293
- variant: f,
294
- userSelect: U ? "none" : void 0,
298
+ /* @__PURE__ */ v(d, {
299
+ ref: oe,
300
+ ...S,
301
+ variant: p,
302
+ userSelect: G ? "none" : void 0,
295
303
  props: {
296
- ...v,
297
- onMouseDownCapture: se,
298
- onClickCapture: ce
304
+ ...y,
305
+ onMouseDownCapture: ue,
306
+ onClickCapture: de
299
307
  },
300
- children: u
308
+ children: f
301
309
  }),
302
- /* @__PURE__ */ _(s, {
310
+ /* @__PURE__ */ v(l, {
303
311
  props: { role: "status" },
304
- children: ie
312
+ children: ae
305
313
  }),
306
- /* @__PURE__ */ _(s, {
307
- id: I,
314
+ /* @__PURE__ */ v(l, {
315
+ id: L,
308
316
  children: "Press Enter or Space to pick the item up, the arrow keys to move it, Enter to drop it and Escape to put it back."
309
317
  })
310
318
  ]
311
319
  });
312
320
  }
313
- function O(e, t) {
314
- let { value: n, label: r, disabled: i = !1, variant: a, props: o, ...s } = e, c = f(b), u = c?.heldOf(n), d = c?.translateOf(n), p = m(() => ({
321
+ function k(e, t) {
322
+ let { value: n, label: r, disabled: i = !1, variant: a, props: o, ...s } = e, c = p(x), l = c?.heldOf(n), u = c?.translateOf(n), f = h(() => ({
315
323
  value: n,
316
324
  name: r ?? n,
317
325
  disabled: i
@@ -320,17 +328,17 @@ function O(e, t) {
320
328
  r,
321
329
  i
322
330
  ]);
323
- return /* @__PURE__ */ _(x.Provider, {
324
- value: p,
325
- children: /* @__PURE__ */ _(l.Item, {
331
+ return /* @__PURE__ */ v(S.Provider, {
332
+ value: f,
333
+ children: /* @__PURE__ */ v(d.Item, {
326
334
  ref: t,
327
335
  ...s,
328
336
  variant: [a, {
329
- lifted: u === "pointer",
330
- grabbed: u === "keyboard",
337
+ lifted: l === "pointer",
338
+ grabbed: l === "keyboard",
331
339
  settling: c?.settling ?? !1
332
340
  }],
333
- style: d ? { translate: d } : void 0,
341
+ style: u ? { translate: u } : void 0,
334
342
  props: {
335
343
  ...o,
336
344
  "data-sortable-value": n
@@ -338,8 +346,8 @@ function O(e, t) {
338
346
  })
339
347
  });
340
348
  }
341
- function k() {
342
- return /* @__PURE__ */ _(o, {
349
+ function A() {
350
+ return /* @__PURE__ */ v(c, {
343
351
  viewBox: "0 0 16 16",
344
352
  width: "1rem",
345
353
  fill: "currentColor",
@@ -347,15 +355,15 @@ function k() {
347
355
  3,
348
356
  8,
349
357
  13
350
- ].map((t) => /* @__PURE__ */ _(a, {
358
+ ].map((t) => /* @__PURE__ */ v(s, {
351
359
  cx: e,
352
360
  cy: t,
353
361
  r: 1.4
354
362
  }, `${e}-${t}`)))
355
363
  });
356
364
  }
357
- function A(e, t) {
358
- let { children: r, variant: i, props: a, ...o } = e, s = f(b), c = f(x), l = c && s ? s.handleProps(c.value, c.name) : {};
365
+ function j(e, t) {
366
+ let { children: r, variant: i, props: a, ...o } = e, s = p(x), c = p(S), l = c && s ? s.handleProps(c.value, c.name) : {};
359
367
  return n({
360
368
  tag: "button",
361
369
  component: "sortableList.handle",
@@ -375,10 +383,10 @@ function A(e, t) {
375
383
  ...c?.disabled ? { disabled: !0 } : {},
376
384
  ...a
377
385
  },
378
- children: r ?? /* @__PURE__ */ _(k, {})
386
+ children: r ?? /* @__PURE__ */ v(A, {})
379
387
  }, t);
380
388
  }
381
- var j = e(D, "SortableList");
382
- j.Item = e(O, "SortableList.Item"), j.Handle = e(A, "SortableList.Handle");
389
+ var M = e(O, "SortableList");
390
+ M.Item = e(k, "SortableList.Item"), M.Handle = e(j, "SortableList.Handle");
383
391
  //#endregion
384
- export { y as SortableUtils, j as default };
392
+ export { b as SortableUtils, M as default };
@@ -1 +1 @@
1
- "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../effects.cjs"),r=require("../box.cjs"),i=require("../behavior.cjs"),a=require("../motion.cjs"),o=require("./list.cjs");let s=require("react"),c=require("react/jsx-runtime");var l;(function(e){let t=e.SLOP=8,n=e.FLICK=.4,r=e.FULL_RATIO=.6;function i(e,n){return Math.max(Math.abs(e),Math.abs(n))<t?null:Math.abs(e)>Math.abs(n)?`swipe`:`scroll`}e.intent=i;function a(e,t){return(1-1/(e*.55/t+1))*t}function o(e,t,n,r,i){let o=e+t,s=o<0?-1:1,c=o<0?n.end:n.start,l=Math.abs(o);return c===0?0:l<=c?o:i?s*Math.min(l,r):s*(c+a(l-c,Math.max(r,1)))}e.offsetFor=o;function s(e,n,i,a){if(!a||e===0)return null;let o=e>0?`start`:`end`,s=n[o];return s===0?null:Math.abs(e)>=Math.max(s+t*4,i*r)?o:null}e.armed=s;function c(e,t,r,i,a){let o=s(e,r,i,a);if(o)return{open:null,full:o};if(e===0)return{open:null,full:null};let c=e>0?`start`:`end`,l=r[c];return l===0?{open:null,full:null}:Math.abs(t)>=n?{open:Math.sign(t)===Math.sign(e)?c:null,full:null}:{open:Math.abs(e)>=l/2?c:null,full:null}}e.settle=c;let l=e.VELOCITY_WINDOW=100;function u(e,t){return[...e.filter(e=>t.t-e.t<=l),t]}e.track=u;function d(e){let t=e[0],n=e[e.length-1];return!t||!n||n.t-t.t<16?0:(n.x-t.x)/(n.t-t.t)}e.velocity=d;function f(e,t){return e===`start`?t.start:e===`end`?-t.end:0}e.restOffset=f})(l||={});var u=l,d=(0,s.createContext)(null),f={start:0,end:0};function p(e,l){let{size:p=`md`,wrap:g=!1,selected:_=!1,chevron:v=!1,startActions:y,endActions:b,fullSwipe:x=!1,open:S,defaultOpen:ee=null,onOpenChange:te,variant:ne,children:C,props:w,...T}=e,E=(0,s.useRef)(null),D=(0,s.useRef)(null),O=(0,s.useRef)(null),k=(0,s.useRef)(null),A=(0,s.useRef)(!1),[j,M]=i.i({value:S,defaultValue:ee,onChange:te}),[N,P]=(0,s.useState)(null),[F,I]=(0,s.useState)(null),[L,re]=(0,s.useState)({trays:f,width:0,rtl:!1}),R=i.o(L),z=(0,s.useCallback)(e=>{E.current=e,typeof l==`function`?l(e):l&&(l.current=e)},[l]),B=i.a(()=>{let e=e=>e?.firstElementChild?.offsetWidth??0,n={trays:{start:y?e(D.current):0,end:b?e(O.current):0},width:E.current?.offsetWidth??0,rtl:t.d(E.current)},r=R.current;return(r.trays.start!==n.trays.start||r.trays.end!==n.trays.end||r.width!==n.width||r.rtl!==n.rtl)&&re(n),n});n.n(()=>{j&&B()},[j,B]);let V=i.a(e=>M(null,e));(0,s.useEffect)(()=>{let e=t.t();if(!j||!e)return;let n=e=>{t.u(e,[E])||V({reason:`outside-pointer`,event:e})};return e.addEventListener(`pointerdown`,n,!0),()=>e.removeEventListener(`pointerdown`,n,!0)},[j,V]),(0,s.useEffect)(()=>{if(!F)return;let e=(F===`start`?D:O).current,t=E.current?.firstElementChild,n=t&&typeof getComputedStyle==`function`?a.n.activeDuration(getComputedStyle(t)):0,r=setTimeout(()=>{I(null),e?.querySelector(`[data-swipe-action]`)?.click()},n+a.n.SETTLE_FRAME);return()=>clearTimeout(r)},[F]);let H=i.a(e=>{if(A.current=!1,e.button!==0||F||!y&&!b)return;let{trays:t}=B();k.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY,rest:u.restOffset(j,t),intent:null,samples:[{t:e.timeStamp,x:e.clientX}]}}),U=i.a(e=>{let n=k.current;if(!n||n.pointerId!==e.pointerId||n.intent===`scroll`)return;let r=e.clientX-n.x;if(!n.intent){if(n.intent=u.intent(r,e.clientY-n.y),n.intent!==`swipe`)return;e.currentTarget.setPointerCapture?.(e.pointerId),t.s(e.currentTarget)}let{trays:i,width:a,rtl:o}=R.current;n.samples=u.track(n.samples,{t:e.timeStamp,x:e.clientX}),P(u.offsetFor(n.rest,o?-r:r,i,a,x))}),W=i.a(e=>{let t=k.current;if(!t||t.pointerId!==e.pointerId||(k.current=null,t.intent!==`swipe`||N===null))return;e.currentTarget.releasePointerCapture?.(e.pointerId),A.current=!0;let{trays:n,width:r,rtl:i}=R.current,a=u.velocity(t.samples)*(i?-1:1),o=e.type===`pointercancel`?{open:j,full:null}:u.settle(N,a,n,r,x);P(null),o.full?(I(o.full),M(null,{reason:`swipe`,event:e})):M(o.open,{reason:`swipe`,event:e})}),G=i.a(e=>{if(A.current){A.current=!1,e.preventDefault(),e.stopPropagation();return}j&&(e.preventDefault(),e.stopPropagation(),V({reason:`outside-pointer`,event:e}))}),K=i.a(e=>{let t=D.current?.contains(e.target)?`start`:O.current?.contains(e.target)?`end`:null;t&&t!==j&&(B(),M(t,{reason:`focus`,event:e}))}),q=i.a(e=>{let t=e.relatedTarget;j&&(!t||!E.current?.contains(t))&&V({reason:`focus`,event:e})}),J=i.a(e=>{e.key!==`Escape`||!j||e.defaultPrevented||(e.preventDefault(),V({reason:`escape`,event:e}),E.current?.querySelector(`[data-list-action]`)?.focus())}),{trays:Y,width:X,rtl:ie}=L,Z=N??(F?F===`start`?X:-X:u.restOffset(j,Y)),ae=N===null?F:u.armed(N,Y,X,x),Q=N!==null,$=(e,t)=>(0,c.jsx)(h,{side:e,trayRef:e===`start`?D:O,width:e===`start`?Math.max(0,Z):Math.max(0,-Z),dragging:Q,children:(0,c.jsx)(d.Provider,{value:{side:e,armed:ae===e,close:V},children:t})});return r.useBoxElement({tag:`li`,component:`list.item`,...o.i({...o.t,css:{...o.t.css,overflow:`clip`}},T),variant:[ne,{selected:_}],props:{...w,onFocus:K,onBlur:q,onKeyDown:J},children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(m,{size:p,wrap:g,dragging:Q,translate:Z===0?void 0:`${Math.round(ie?-Z:Z)}px`,handlers:{onPointerDown:H,onPointerMove:U,onPointerUp:W,onPointerCancel:W,onClickCapture:G,onDragStart:e=>e.preventDefault()},children:[C,v&&(0,c.jsx)(o.default.Chevron,{})]}),y?$(`start`,y):null,b?$(`end`,b):null]})},z)}function m({size:e,wrap:t,dragging:n,translate:i,handlers:a,children:s}){return r.useBoxElement({component:`swipeItem.row`,...o.n,...o.r[e],...t?{flexWrap:`wrap`}:{},position:`relative`,css:{touchAction:`pan-y`},variant:{dragging:n},style:i?{translate:i}:void 0,props:a,children:s})}function h({side:e,trayRef:t,width:n,dragging:i,children:a}){let o=r.useBoxElement({display:`flex`,d:e===`end`?`row-reverse`:`row`,position:`absolute`,top:0,bottom:0,...e===`start`?{insetStart:0}:{insetEnd:0},minWidth:`fit`,css:{width:`max-content`},children:a});return r.useBoxElement({component:`swipeItem.tray`,position:`absolute`,top:0,bottom:0,...e===`start`?{insetStart:0}:{insetEnd:0},overflow:`hidden`,variant:{dragging:i},style:{width:`${Math.round(n)}px`},children:o},t)}function g(e,t){let{icon:n,onClick:i,closeOnSelect:a=!0,variant:o,children:l,props:u,...f}=e,p=(0,s.useContext)(d),m=e=>{i?.(e),a&&!e.defaultPrevented&&p?.close({reason:`action`,event:e})};return r.useBoxElement({tag:`button`,component:`swipeItem.action`,display:`flex`,d:`column`,ai:`center`,jc:`center`,gap:1,px:4,minWidth:18,flexGrow:1,flexShrink:0,fontSize:14,lineHeight:18,fontWeight:500,cursor:`pointer`,...f,variant:[o,{armed:p?.armed??!1}],props:{type:`button`,"data-swipe-action":``,...u,onClick:m},children:n?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(_,{children:n}),l]}):l},t)}function _({children:e}){return r.useBoxElement({tag:`span`,display:`flex`,props:{"aria-hidden":!0},children:e})}var v=e.f(p,`SwipeItem`);v.Action=e.f(g,`SwipeItem.Action`),exports.SwipeUtils=u,exports.default=v;
1
+ "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../effects.cjs"),r=require("../box.cjs"),i=require("../behavior.cjs"),a=require("../reporting.cjs"),o=require("../motion.cjs"),s=require("./list.cjs");let c=require("react"),l=require("react/jsx-runtime");var u;(function(e){let t=e.SLOP=8,n=e.FLICK=.4,r=e.FULL_RATIO=.6;function i(e,n){return Math.max(Math.abs(e),Math.abs(n))<t?null:Math.abs(e)>Math.abs(n)?`swipe`:`scroll`}e.intent=i;function a(e,t){return(1-1/(e*.55/t+1))*t}function o(e,t,n,r,i){let o=e+t,s=o<0?-1:1,c=o<0?n.end:n.start,l=Math.abs(o);return c===0?0:l<=c?o:i?s*Math.min(l,r):s*(c+a(l-c,Math.max(r,1)))}e.offsetFor=o;function s(e,n,i,a){if(!a||e===0)return null;let o=e>0?`start`:`end`,s=n[o];return s===0?null:Math.abs(e)>=Math.max(s+t*4,i*r)?o:null}e.armed=s;function c(e,t,r,i,a){let o=s(e,r,i,a);if(o)return{open:null,full:o};if(e===0)return{open:null,full:null};let c=e>0?`start`:`end`,l=r[c];return l===0?{open:null,full:null}:Math.abs(t)>=n?{open:Math.sign(t)===Math.sign(e)?c:null,full:null}:{open:Math.abs(e)>=l/2?c:null,full:null}}e.settle=c;let l=e.VELOCITY_WINDOW=100;function u(e,t){return[...e.filter(e=>t.t-e.t<=l),t]}e.track=u;function d(e){let t=e[0],n=e[e.length-1];return!t||!n||n.t-t.t<16?0:(n.x-t.x)/(n.t-t.t)}e.velocity=d;function f(e,t){return e===`start`?t.start:e===`end`?-t.end:0}e.restOffset=f})(u||={});var d=u,f=(0,c.createContext)(null),p={start:0,end:0};function m(e,u){let{size:m=`md`,wrap:h=!1,selected:g=!1,chevron:_=!1,startActions:v,endActions:y,fullSwipe:b=!1,open:ne,defaultOpen:x=null,onOpenChange:S,variant:C,children:w,props:T,...re}=e,E=(0,c.useRef)(null),D=(0,c.useRef)(null),O=(0,c.useRef)(null),k=(0,c.useRef)(null),A=(0,c.useRef)(!1),[j,M]=a.a({value:ne,defaultValue:x,onChange:S,interaction:{component:`swipeItem`,type:`openChange`}}),[N,P]=(0,c.useState)(null),[F,I]=(0,c.useState)(null),[L,ie]=(0,c.useState)({trays:p,width:0,rtl:!1}),R=i.o(L),z=(0,c.useCallback)(e=>{E.current=e,typeof u==`function`?u(e):u&&(u.current=e)},[u]),B=i.a(()=>{let e=e=>e?.firstElementChild?.offsetWidth??0,n={trays:{start:v?e(D.current):0,end:y?e(O.current):0},width:E.current?.offsetWidth??0,rtl:t.p(E.current)},r=R.current;return(r.trays.start!==n.trays.start||r.trays.end!==n.trays.end||r.width!==n.width||r.rtl!==n.rtl)&&ie(n),n});n.n(()=>{j&&B()},[j,B]);let V=i.a(e=>M(null,e)),H=a.i(`swipeItem`);(0,c.useEffect)(()=>{let e=t.t();if(!j||!e)return;let n=e=>{t.f(e,[E])||V({reason:`outside-pointer`,event:e})};return e.addEventListener(`pointerdown`,n,!0),()=>e.removeEventListener(`pointerdown`,n,!0)},[j,V]),(0,c.useEffect)(()=>{if(!F)return;let e=(F===`start`?D:O).current,t=E.current?.firstElementChild,n=t&&typeof getComputedStyle==`function`?o.n.activeDuration(getComputedStyle(t)):0,r=setTimeout(()=>{I(null),e?.querySelector(`[data-swipe-action]`)?.click()},n+o.n.SETTLE_FRAME);return()=>clearTimeout(r)},[F]);let U=i.a(e=>{if(A.current=!1,e.button!==0||F||!v&&!y)return;let{trays:t}=B();k.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY,rest:d.restOffset(j,t),intent:null,samples:[{t:e.timeStamp,x:e.clientX}]}}),W=i.a(e=>{let n=k.current;if(!n||n.pointerId!==e.pointerId||n.intent===`scroll`)return;let r=e.clientX-n.x;if(!n.intent){if(n.intent=d.intent(r,e.clientY-n.y),n.intent!==`swipe`)return;e.currentTarget.setPointerCapture?.(e.pointerId),t.l(e.currentTarget)}let{trays:i,width:a,rtl:o}=R.current;n.samples=d.track(n.samples,{t:e.timeStamp,x:e.clientX}),P(d.offsetFor(n.rest,o?-r:r,i,a,b))}),G=i.a(e=>{let t=k.current;if(!t||t.pointerId!==e.pointerId||(k.current=null,t.intent!==`swipe`||N===null))return;e.currentTarget.releasePointerCapture?.(e.pointerId),A.current=!0;let{trays:n,width:r,rtl:i}=R.current,a=d.velocity(t.samples)*(i?-1:1),o=e.type===`pointercancel`?{open:j,full:null}:d.settle(N,a,n,r,b);P(null),o.full?(I(o.full),H(`fullSwipe`,o.full,{reason:`swipe`,event:e}),M(null,{reason:`swipe`,event:e})):M(o.open,{reason:`swipe`,event:e})}),K=i.a(e=>{if(A.current){A.current=!1,e.preventDefault(),e.stopPropagation();return}j&&(e.preventDefault(),e.stopPropagation(),V({reason:`outside-pointer`,event:e}))}),q=i.a(e=>{let t=D.current?.contains(e.target)?`start`:O.current?.contains(e.target)?`end`:null;t&&t!==j&&(B(),M(t,{reason:`focus`,event:e}))}),J=i.a(e=>{let t=e.relatedTarget;j&&(!t||!E.current?.contains(t))&&V({reason:`focus`,event:e})}),ae=i.a(e=>{e.key!==`Escape`||!j||e.defaultPrevented||(e.preventDefault(),V({reason:`escape`,event:e}),E.current?.querySelector(`[data-list-action]`)?.focus())}),{trays:Y,width:X,rtl:oe}=L,Z=N??(F?F===`start`?X:-X:d.restOffset(j,Y)),se=N===null?F:d.armed(N,Y,X,b),Q=N!==null,$=(e,t)=>(0,l.jsx)(te,{side:e,trayRef:e===`start`?D:O,width:e===`start`?Math.max(0,Z):Math.max(0,-Z),dragging:Q,children:(0,l.jsx)(f.Provider,{value:{side:e,armed:se===e,close:V},children:t})});return r.useBoxElement({tag:`li`,component:`list.item`,...s.i({...s.t,css:{...s.t.css,overflow:`clip`}},re),variant:[C,{selected:g}],props:{...T,onFocus:q,onBlur:J,onKeyDown:ae},children:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(ee,{size:m,wrap:h,dragging:Q,translate:Z===0?void 0:`${Math.round(oe?-Z:Z)}px`,handlers:{onPointerDown:U,onPointerMove:W,onPointerUp:G,onPointerCancel:G,onClickCapture:K,onDragStart:e=>e.preventDefault()},children:[w,_&&(0,l.jsx)(s.default.Chevron,{})]}),v?$(`start`,v):null,y?$(`end`,y):null]})},z)}function ee({size:e,wrap:t,dragging:n,translate:i,handlers:a,children:o}){return r.useBoxElement({component:`swipeItem.row`,...s.n,...s.r[e],...t?{flexWrap:`wrap`}:{},position:`relative`,css:{touchAction:`pan-y`},variant:{dragging:n},style:i?{translate:i}:void 0,props:a,children:o})}function te({side:e,trayRef:t,width:n,dragging:i,children:a}){let o=r.useBoxElement({display:`flex`,d:e===`end`?`row-reverse`:`row`,position:`absolute`,top:0,bottom:0,...e===`start`?{insetStart:0}:{insetEnd:0},minWidth:`fit`,css:{width:`max-content`},children:a});return r.useBoxElement({component:`swipeItem.tray`,position:`absolute`,top:0,bottom:0,...e===`start`?{insetStart:0}:{insetEnd:0},overflow:`hidden`,variant:{dragging:i},style:{width:`${Math.round(n)}px`},children:o},t)}function h(e,t){let{icon:n,onClick:i,closeOnSelect:a=!0,variant:o,children:s,props:u,...d}=e,p=(0,c.useContext)(f),m=e=>{i?.(e),a&&!e.defaultPrevented&&p?.close({reason:`action`,event:e})};return r.useBoxElement({tag:`button`,component:`swipeItem.action`,display:`flex`,d:`column`,ai:`center`,jc:`center`,gap:1,px:4,minWidth:18,flexGrow:1,flexShrink:0,fontSize:14,lineHeight:18,fontWeight:500,cursor:`pointer`,...d,variant:[o,{armed:p?.armed??!1}],props:{type:`button`,"data-swipe-action":``,...u,onClick:m},children:n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(g,{children:n}),s]}):s},t)}function g({children:e}){return r.useBoxElement({tag:`span`,display:`flex`,props:{"aria-hidden":!0},children:e})}var _=e.f(m,`SwipeItem`);_.Action=e.f(h,`SwipeItem.Action`),exports.SwipeUtils=d,exports.default=_;