@epilot/volt-ui 1.1.2-alpha.7 → 1.1.2

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 (91) hide show
  1. package/dist/index.cjs34.js +1 -1
  2. package/dist/index.cjs35.js +1 -1
  3. package/dist/index.cjs36.js +1 -1
  4. package/dist/index.cjs37.js +1 -1
  5. package/dist/index.cjs38.js +1 -1
  6. package/dist/index.cjs39.js +1 -1
  7. package/dist/index.cjs40.js +1 -1
  8. package/dist/index.cjs41.js +1 -1
  9. package/dist/index.cjs42.js +1 -1
  10. package/dist/index.cjs43.js +1 -1
  11. package/dist/index.cjs44.js +1 -1
  12. package/dist/index.cjs45.js +1 -1
  13. package/dist/index.cjs46.js +1 -1
  14. package/dist/index.cjs48.js +1 -1
  15. package/dist/index.cjs49.js +1 -1
  16. package/dist/index.cjs50.js +1 -1
  17. package/dist/index.cjs51.js +1 -1
  18. package/dist/index.cjs52.js +1 -1
  19. package/dist/index.cjs53.js +1 -1
  20. package/dist/index.cjs54.js +1 -1
  21. package/dist/index.cjs55.js +1 -1
  22. package/dist/index.cjs56.js +1 -1
  23. package/dist/index.cjs57.js +1 -1
  24. package/dist/index.cjs58.js +1 -1
  25. package/dist/index.cjs59.js +1 -1
  26. package/dist/index.cjs60.js +1 -1
  27. package/dist/index.cjs61.js +1 -1
  28. package/dist/index.cjs62.js +1 -1
  29. package/dist/index.cjs63.js +1 -1
  30. package/dist/index.cjs64.js +1 -1
  31. package/dist/index.cjs65.js +1 -1
  32. package/dist/index.cjs66.js +1 -1
  33. package/dist/index.cjs67.js +1 -1
  34. package/dist/index.cjs68.js +1 -1
  35. package/dist/index.cjs69.js +1 -1
  36. package/dist/index.cjs70.js +1 -1
  37. package/dist/index.cjs71.js +1 -1
  38. package/dist/index.cjs72.js +1 -1
  39. package/dist/index.cjs74.js +1 -1
  40. package/dist/index.cjs75.js +1 -1
  41. package/dist/index.cjs76.js +1 -1
  42. package/dist/index.cjs77.js +1 -1
  43. package/dist/index.cjs78.js +1 -1
  44. package/dist/index.cjs80.js +1 -1
  45. package/dist/index.cjs82.js +1 -1
  46. package/dist/index.es34.js +1 -1
  47. package/dist/index.es35.js +20 -20
  48. package/dist/index.es36.js +1 -1
  49. package/dist/index.es37.js +10 -10
  50. package/dist/index.es38.js +6 -6
  51. package/dist/index.es39.js +1 -1
  52. package/dist/index.es40.js +14 -14
  53. package/dist/index.es41.js +13 -13
  54. package/dist/index.es42.js +7 -7
  55. package/dist/index.es43.js +9 -9
  56. package/dist/index.es44.js +8 -8
  57. package/dist/index.es45.js +3 -3
  58. package/dist/index.es46.js +8 -8
  59. package/dist/index.es48.js +7 -30
  60. package/dist/index.es49.js +66 -5
  61. package/dist/index.es50.js +118 -61
  62. package/dist/index.es51.js +12 -122
  63. package/dist/index.es52.js +134 -10
  64. package/dist/index.es53.js +10 -218
  65. package/dist/index.es54.js +216 -66
  66. package/dist/index.es55.js +13 -33
  67. package/dist/index.es56.js +68 -8
  68. package/dist/index.es57.js +33 -51
  69. package/dist/index.es58.js +47 -29
  70. package/dist/index.es59.js +48 -177
  71. package/dist/index.es60.js +50 -8
  72. package/dist/index.es61.js +9 -25
  73. package/dist/index.es62.js +8 -5
  74. package/dist/index.es63.js +29 -134
  75. package/dist/index.es64.js +30 -14
  76. package/dist/index.es65.js +45 -14
  77. package/dist/index.es66.js +117 -8
  78. package/dist/index.es67.js +8 -50
  79. package/dist/index.es68.js +176 -43
  80. package/dist/index.es69.js +5 -45
  81. package/dist/index.es70.js +24 -117
  82. package/dist/index.es71.js +310 -30
  83. package/dist/index.es72.js +3 -8
  84. package/dist/index.es74.js +10 -3
  85. package/dist/index.es75.js +4 -48
  86. package/dist/index.es76.js +47 -10
  87. package/dist/index.es77.js +30 -4
  88. package/dist/index.es78.js +8 -309
  89. package/dist/index.es80.js +1 -1
  90. package/dist/index.es82.js +1 -1
  91. package/package.json +1 -1
@@ -1,50 +1,183 @@
1
- import * as l from "react";
2
- import { composeRefs as m } from "./index.es47.js";
3
- import { jsx as u } from "react/jsx-runtime";
4
- // @__NO_SIDE_EFFECTS__
5
- function b(e) {
6
- const n = /* @__PURE__ */ y(e), o = l.forwardRef((t, r) => {
7
- const { children: i, ...c } = t, s = l.Children.toArray(i), a = s.find(E);
8
- if (a) {
9
- const f = a.props.children, d = s.map((p) => p === a ? l.Children.count(f) > 1 ? l.Children.only(null) : l.isValidElement(f) ? f.props.children : null : p);
10
- return /* @__PURE__ */ u(n, { ...c, ref: r, children: l.isValidElement(f) ? l.cloneElement(f, void 0, d) : null });
1
+ import * as c from "react";
2
+ import { composeEventHandlers as p } from "./index.es48.js";
3
+ import { createCollection as V } from "./index.es65.js";
4
+ import { useComposedRefs as j } from "./index.es47.js";
5
+ import { createContextScope as z } from "./index.es49.js";
6
+ import { useId as q } from "./index.es53.js";
7
+ import { Primitive as G } from "./index.es57.js";
8
+ import { useCallbackRef as J } from "./index.es74.js";
9
+ import { useControllableState as Q } from "./index.es59.js";
10
+ import { useDirection as W } from "./index.es67.js";
11
+ import { jsx as d } from "react/jsx-runtime";
12
+ var y = "rovingFocusGroup.onEntryFocus", X = { bubbles: !1, cancelable: !0 }, I = "RovingFocusGroup", [D, N, Z] = V(I), [$, Fe] = z(
13
+ I,
14
+ [Z]
15
+ ), [ee, oe] = $(I), O = c.forwardRef(
16
+ (e, r) => /* @__PURE__ */ d(D.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ d(D.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ d(te, { ...e, ref: r }) }) })
17
+ );
18
+ O.displayName = I;
19
+ var te = c.forwardRef((e, r) => {
20
+ const {
21
+ __scopeRovingFocusGroup: s,
22
+ orientation: o,
23
+ loop: T = !1,
24
+ dir: w,
25
+ currentTabStopId: v,
26
+ defaultCurrentTabStopId: C,
27
+ onCurrentTabStopIdChange: S,
28
+ onEntryFocus: m,
29
+ preventScrollOnEntryFocus: u = !1,
30
+ ...b
31
+ } = e, F = c.useRef(null), g = j(r, F), R = W(w), [E, t] = Q({
32
+ prop: v,
33
+ defaultProp: C ?? null,
34
+ onChange: S,
35
+ caller: I
36
+ }), [i, h] = c.useState(!1), a = J(m), l = N(s), A = c.useRef(!1), [L, P] = c.useState(0);
37
+ return c.useEffect(() => {
38
+ const n = F.current;
39
+ if (n)
40
+ return n.addEventListener(y, a), () => n.removeEventListener(y, a);
41
+ }, [a]), /* @__PURE__ */ d(
42
+ ee,
43
+ {
44
+ scope: s,
45
+ orientation: o,
46
+ dir: R,
47
+ loop: T,
48
+ currentTabStopId: E,
49
+ onItemFocus: c.useCallback(
50
+ (n) => t(n),
51
+ [t]
52
+ ),
53
+ onItemShiftTab: c.useCallback(() => h(!0), []),
54
+ onFocusableItemAdd: c.useCallback(
55
+ () => P((n) => n + 1),
56
+ []
57
+ ),
58
+ onFocusableItemRemove: c.useCallback(
59
+ () => P((n) => n - 1),
60
+ []
61
+ ),
62
+ children: /* @__PURE__ */ d(
63
+ G.div,
64
+ {
65
+ tabIndex: i || L === 0 ? -1 : 0,
66
+ "data-orientation": o,
67
+ ...b,
68
+ ref: g,
69
+ style: { outline: "none", ...e.style },
70
+ onMouseDown: p(e.onMouseDown, () => {
71
+ A.current = !0;
72
+ }),
73
+ onFocus: p(e.onFocus, (n) => {
74
+ const U = !A.current;
75
+ if (n.target === n.currentTarget && U && !i) {
76
+ const x = new CustomEvent(y, X);
77
+ if (n.currentTarget.dispatchEvent(x), !x.defaultPrevented) {
78
+ const _ = l().filter((f) => f.focusable), B = _.find((f) => f.active), Y = _.find((f) => f.id === E), H = [B, Y, ..._].filter(
79
+ Boolean
80
+ ).map((f) => f.ref.current);
81
+ k(H, u);
82
+ }
83
+ }
84
+ A.current = !1;
85
+ }),
86
+ onBlur: p(e.onBlur, () => h(!1))
87
+ }
88
+ )
11
89
  }
12
- return /* @__PURE__ */ u(n, { ...c, ref: r, children: i });
13
- });
14
- return o.displayName = `${e}.Slot`, o;
15
- }
16
- // @__NO_SIDE_EFFECTS__
17
- function y(e) {
18
- const n = l.forwardRef((o, t) => {
19
- const { children: r, ...i } = o;
20
- if (l.isValidElement(r)) {
21
- const c = S(r), s = C(i, r.props);
22
- return r.type !== l.Fragment && (s.ref = t ? m(t, c) : c), l.cloneElement(r, s);
23
- }
24
- return l.Children.count(r) > 1 ? l.Children.only(null) : null;
25
- });
26
- return n.displayName = `${e}.SlotClone`, n;
90
+ );
91
+ }), K = "RovingFocusGroupItem", M = c.forwardRef(
92
+ (e, r) => {
93
+ const {
94
+ __scopeRovingFocusGroup: s,
95
+ focusable: o = !0,
96
+ active: T = !1,
97
+ tabStopId: w,
98
+ children: v,
99
+ ...C
100
+ } = e, S = q(), m = w || S, u = oe(K, s), b = u.currentTabStopId === m, F = N(s), { onFocusableItemAdd: g, onFocusableItemRemove: R, currentTabStopId: E } = u;
101
+ return c.useEffect(() => {
102
+ if (o)
103
+ return g(), () => R();
104
+ }, [o, g, R]), /* @__PURE__ */ d(
105
+ D.ItemSlot,
106
+ {
107
+ scope: s,
108
+ id: m,
109
+ focusable: o,
110
+ active: T,
111
+ children: /* @__PURE__ */ d(
112
+ G.span,
113
+ {
114
+ tabIndex: b ? 0 : -1,
115
+ "data-orientation": u.orientation,
116
+ ...C,
117
+ ref: r,
118
+ onMouseDown: p(e.onMouseDown, (t) => {
119
+ o ? u.onItemFocus(m) : t.preventDefault();
120
+ }),
121
+ onFocus: p(e.onFocus, () => u.onItemFocus(m)),
122
+ onKeyDown: p(e.onKeyDown, (t) => {
123
+ if (t.key === "Tab" && t.shiftKey) {
124
+ u.onItemShiftTab();
125
+ return;
126
+ }
127
+ if (t.target !== t.currentTarget) return;
128
+ const i = ce(t, u.orientation, u.dir);
129
+ if (i !== void 0) {
130
+ if (t.metaKey || t.ctrlKey || t.altKey || t.shiftKey) return;
131
+ t.preventDefault();
132
+ let a = F().filter((l) => l.focusable).map((l) => l.ref.current);
133
+ if (i === "last") a.reverse();
134
+ else if (i === "prev" || i === "next") {
135
+ i === "prev" && a.reverse();
136
+ const l = a.indexOf(t.currentTarget);
137
+ a = u.loop ? se(a, l + 1) : a.slice(l + 1);
138
+ }
139
+ setTimeout(() => k(a));
140
+ }
141
+ }),
142
+ children: typeof v == "function" ? v({ isCurrentTabStop: b, hasTabStop: E != null }) : v
143
+ }
144
+ )
145
+ }
146
+ );
147
+ }
148
+ );
149
+ M.displayName = K;
150
+ var re = {
151
+ ArrowLeft: "prev",
152
+ ArrowUp: "prev",
153
+ ArrowRight: "next",
154
+ ArrowDown: "next",
155
+ PageUp: "first",
156
+ Home: "first",
157
+ PageDown: "last",
158
+ End: "last"
159
+ };
160
+ function ne(e, r) {
161
+ return r !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
27
162
  }
28
- var g = Symbol("radix.slottable");
29
- function E(e) {
30
- return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === g;
163
+ function ce(e, r, s) {
164
+ const o = ne(e.key, s);
165
+ if (!(r === "vertical" && ["ArrowLeft", "ArrowRight"].includes(o)) && !(r === "horizontal" && ["ArrowUp", "ArrowDown"].includes(o)))
166
+ return re[o];
31
167
  }
32
- function C(e, n) {
33
- const o = { ...n };
34
- for (const t in n) {
35
- const r = e[t], i = n[t];
36
- /^on[A-Z]/.test(t) ? r && i ? o[t] = (...s) => {
37
- const a = i(...s);
38
- return r(...s), a;
39
- } : r && (o[t] = r) : t === "style" ? o[t] = { ...r, ...i } : t === "className" && (o[t] = [r, i].filter(Boolean).join(" "));
40
- }
41
- return { ...e, ...o };
168
+ function k(e, r = !1) {
169
+ const s = document.activeElement;
170
+ for (const o of e)
171
+ if (o === s || (o.focus({ preventScroll: r }), document.activeElement !== s)) return;
42
172
  }
43
- function S(e) {
44
- var t, r;
45
- let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
46
- return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
173
+ function se(e, r) {
174
+ return e.map((s, o) => e[(r + o) % e.length]);
47
175
  }
176
+ var ge = O, Re = M;
48
177
  export {
49
- b as createSlot
178
+ Re as Item,
179
+ ge as Root,
180
+ O as RovingFocusGroup,
181
+ M as RovingFocusGroupItem,
182
+ Fe as createRovingFocusGroupScope
50
183
  };
@@ -1,48 +1,8 @@
1
- import r from "react";
2
- import { createContextScope as y } from "./index.es50.js";
3
- import { useComposedRefs as M } from "./index.es47.js";
4
- import { createSlot as x } from "./index.es79.js";
5
- import { jsx as u } from "react/jsx-runtime";
6
- function g(s) {
7
- const m = s + "CollectionProvider", [A, N] = y(m), [_, f] = A(
8
- m,
9
- { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
10
- ), p = (c) => {
11
- const { scope: e, children: l } = c, o = r.useRef(null), t = r.useRef(/* @__PURE__ */ new Map()).current;
12
- return /* @__PURE__ */ u(_, { scope: e, itemMap: t, collectionRef: o, children: l });
13
- };
14
- p.displayName = m;
15
- const a = s + "CollectionSlot", E = x(a), C = r.forwardRef(
16
- (c, e) => {
17
- const { scope: l, children: o } = c, t = f(a, l), n = M(e, t.collectionRef);
18
- return /* @__PURE__ */ u(E, { ref: n, children: o });
19
- }
20
- );
21
- C.displayName = a;
22
- const d = s + "CollectionItemSlot", R = "data-radix-collection-item", T = x(d), I = r.forwardRef(
23
- (c, e) => {
24
- const { scope: l, children: o, ...t } = c, n = r.useRef(null), S = M(e, n), i = f(d, l);
25
- return r.useEffect(() => (i.itemMap.set(n, { ref: n, ...t }), () => void i.itemMap.delete(n))), /* @__PURE__ */ u(T, { [R]: "", ref: S, children: o });
26
- }
27
- );
28
- I.displayName = d;
29
- function O(c) {
30
- const e = f(s + "CollectionConsumer", c);
31
- return r.useCallback(() => {
32
- const o = e.collectionRef.current;
33
- if (!o) return [];
34
- const t = Array.from(o.querySelectorAll(`[${R}]`));
35
- return Array.from(e.itemMap.values()).sort(
36
- (i, v) => t.indexOf(i.ref.current) - t.indexOf(v.ref.current)
37
- );
38
- }, [e.collectionRef, e.itemMap]);
39
- }
40
- return [
41
- { Provider: p, Slot: C, ItemSlot: I },
42
- O,
43
- N
44
- ];
1
+ import * as u from "react";
2
+ function t(r) {
3
+ const e = u.useRef({ value: r, previous: r });
4
+ return u.useMemo(() => (e.current.value !== r && (e.current.previous = e.current.value, e.current.value = r), e.current.previous), [r]);
45
5
  }
46
6
  export {
47
- g as createCollection
7
+ t as usePrevious
48
8
  };
@@ -1,120 +1,27 @@
1
- import * as o from "react";
2
- import { composeEventHandlers as T } from "./index.es49.js";
3
- import { createContextScope as S } from "./index.es50.js";
4
- import { useControllableState as D } from "./index.es57.js";
5
- import { useLayoutEffect as L } from "./index.es77.js";
6
- import { useComposedRefs as M } from "./index.es47.js";
7
- import { Primitive as v } from "./index.es55.js";
8
- import { Presence as k } from "./index.es54.js";
9
- import { useId as F } from "./index.es52.js";
10
- import { jsx as c } from "react/jsx-runtime";
11
- var u = "Collapsible", [B, W] = S(u), [G, g] = B(u), w = o.forwardRef(
12
- (e, a) => {
13
- const {
14
- __scopeCollapsible: i,
15
- open: r,
16
- defaultOpen: t,
17
- disabled: l,
18
- onOpenChange: s,
19
- ...m
20
- } = e, [d, p] = D({
21
- prop: r,
22
- defaultProp: t ?? !1,
23
- onChange: s,
24
- caller: u
25
- });
26
- return /* @__PURE__ */ c(
27
- G,
28
- {
29
- scope: i,
30
- disabled: l,
31
- contentId: F(),
32
- open: d,
33
- onOpenToggle: o.useCallback(() => p((C) => !C), [p]),
34
- children: /* @__PURE__ */ c(
35
- v.div,
36
- {
37
- "data-state": h(d),
38
- "data-disabled": l ? "" : void 0,
39
- ...m,
40
- ref: a
41
- }
42
- )
43
- }
44
- );
45
- }
46
- );
47
- w.displayName = u;
48
- var A = "CollapsibleTrigger", I = o.forwardRef(
49
- (e, a) => {
50
- const { __scopeCollapsible: i, ...r } = e, t = g(A, i);
51
- return /* @__PURE__ */ c(
52
- v.button,
53
- {
54
- type: "button",
55
- "aria-controls": t.contentId,
56
- "aria-expanded": t.open || !1,
57
- "data-state": h(t.open),
58
- "data-disabled": t.disabled ? "" : void 0,
59
- disabled: t.disabled,
60
- ...r,
61
- ref: a,
62
- onClick: T(e.onClick, t.onOpenToggle)
63
- }
64
- );
65
- }
66
- );
67
- I.displayName = A;
68
- var R = "CollapsibleContent", O = o.forwardRef(
69
- (e, a) => {
70
- const { forceMount: i, ...r } = e, t = g(R, e.__scopeCollapsible);
71
- return /* @__PURE__ */ c(k, { present: i || t.open, children: ({ present: l }) => /* @__PURE__ */ c($, { ...r, ref: a, present: l }) });
72
- }
73
- );
74
- O.displayName = R;
75
- var $ = o.forwardRef((e, a) => {
76
- const { __scopeCollapsible: i, present: r, children: t, ...l } = e, s = g(R, i), [m, d] = o.useState(r), p = o.useRef(null), C = M(a, p), y = o.useRef(0), x = y.current, N = o.useRef(0), P = N.current, b = s.open || m, _ = o.useRef(b), f = o.useRef(void 0);
77
- return o.useEffect(() => {
78
- const n = requestAnimationFrame(() => _.current = !1);
79
- return () => cancelAnimationFrame(n);
80
- }, []), L(() => {
81
- const n = p.current;
82
- if (n) {
83
- f.current = f.current || {
84
- transitionDuration: n.style.transitionDuration,
85
- animationName: n.style.animationName
86
- }, n.style.transitionDuration = "0s", n.style.animationName = "none";
87
- const E = n.getBoundingClientRect();
88
- y.current = E.height, N.current = E.width, _.current || (n.style.transitionDuration = f.current.transitionDuration, n.style.animationName = f.current.animationName), d(r);
89
- }
90
- }, [s.open, r]), /* @__PURE__ */ c(
91
- v.div,
92
- {
93
- "data-state": h(s.open),
94
- "data-disabled": s.disabled ? "" : void 0,
95
- id: s.contentId,
96
- hidden: !b,
97
- ...l,
98
- ref: C,
99
- style: {
100
- "--radix-collapsible-content-height": x ? `${x}px` : void 0,
101
- "--radix-collapsible-content-width": P ? `${P}px` : void 0,
102
- ...e.style
103
- },
104
- children: b && t
105
- }
106
- );
107
- });
108
- function h(e) {
109
- return e ? "open" : "closed";
1
+ import * as h from "react";
2
+ import { useLayoutEffect as z } from "./index.es75.js";
3
+ function c(r) {
4
+ const [d, e] = h.useState(void 0);
5
+ return z(() => {
6
+ if (r) {
7
+ e({ width: r.offsetWidth, height: r.offsetHeight });
8
+ const f = new ResizeObserver((i) => {
9
+ if (!Array.isArray(i) || !i.length)
10
+ return;
11
+ const b = i[0];
12
+ let o, t;
13
+ if ("borderBoxSize" in b) {
14
+ const s = b.borderBoxSize, u = Array.isArray(s) ? s[0] : s;
15
+ o = u.inlineSize, t = u.blockSize;
16
+ } else
17
+ o = r.offsetWidth, t = r.offsetHeight;
18
+ e({ width: o, height: t });
19
+ });
20
+ return f.observe(r, { box: "border-box" }), () => f.unobserve(r);
21
+ } else
22
+ e(void 0);
23
+ }, [r]), d;
110
24
  }
111
- var X = w, Y = I, Z = O;
112
25
  export {
113
- w as Collapsible,
114
- O as CollapsibleContent,
115
- I as CollapsibleTrigger,
116
- Z as Content,
117
- X as Root,
118
- Y as Trigger,
119
- W as createCollapsibleScope
26
+ c as useSize
120
27
  };