@datawire-ai/busyfile-design-library 1.30.4 → 1.30.6

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 (227) hide show
  1. package/dist/index10.js +28 -25
  2. package/dist/index100.js +5 -10
  3. package/dist/index101.js +24 -219
  4. package/dist/index102.js +181 -14
  5. package/dist/index103.js +8 -30
  6. package/dist/index104.js +10 -135
  7. package/dist/index105.js +4 -16
  8. package/dist/index106.js +13 -9
  9. package/dist/index107.js +134 -48
  10. package/dist/index108.js +13 -8
  11. package/dist/index109.js +9 -4
  12. package/dist/index110.js +50 -13
  13. package/dist/index113.js +13 -14
  14. package/dist/index114.js +221 -645
  15. package/dist/index115.js +650 -13
  16. package/dist/index116.js +14 -226
  17. package/dist/index121.js +1 -1
  18. package/dist/index123.js +1 -1
  19. package/dist/index125.js +3 -3
  20. package/dist/index126.js +2 -25
  21. package/dist/index127.js +53 -29
  22. package/dist/index128.js +65 -5
  23. package/dist/index129.js +52 -2
  24. package/dist/index130.js +4 -52
  25. package/dist/index131.js +4 -64
  26. package/dist/index132.js +16 -52
  27. package/dist/index133.js +5 -4
  28. package/dist/index134.js +8 -4
  29. package/dist/index135.js +14 -13
  30. package/dist/index136.js +4 -5
  31. package/dist/index137.js +4 -8
  32. package/dist/index138.js +5 -16
  33. package/dist/index139.js +5 -4
  34. package/dist/index140.js +4 -4
  35. package/dist/index141.js +4 -5
  36. package/dist/index142.js +6 -5
  37. package/dist/index143.js +24 -4
  38. package/dist/index144.js +6 -4
  39. package/dist/index145.js +3 -5
  40. package/dist/index146.js +6 -24
  41. package/dist/index147.js +5 -6
  42. package/dist/index148.js +4 -4
  43. package/dist/index149.js +5 -6
  44. package/dist/index150.js +4 -5
  45. package/dist/index151.js +8 -4
  46. package/dist/index152.js +2 -2
  47. package/dist/index153.js +1 -1
  48. package/dist/index154.js +4 -8
  49. package/dist/index155.js +5 -4
  50. package/dist/index156.js +58 -4
  51. package/dist/index157.js +66 -4
  52. package/dist/index158.js +240 -6
  53. package/dist/index159.js +37 -56
  54. package/dist/index160.js +4 -66
  55. package/dist/index161.js +7 -240
  56. package/dist/index162.js +12 -38
  57. package/dist/index163.js +7 -4
  58. package/dist/index164.js +10 -7
  59. package/dist/index165.js +9 -12
  60. package/dist/index166.js +8 -7
  61. package/dist/index167.js +15 -9
  62. package/dist/index168.js +24 -11
  63. package/dist/index169.js +20 -9
  64. package/dist/index170.js +52 -15
  65. package/dist/index171.js +42 -24
  66. package/dist/index172.js +10 -20
  67. package/dist/index173.js +18 -51
  68. package/dist/index174.js +15 -40
  69. package/dist/index175.js +6 -9
  70. package/dist/index176.js +23 -20
  71. package/dist/index177.js +18 -16
  72. package/dist/index178.js +16 -7
  73. package/dist/index179.js +6 -23
  74. package/dist/index180.js +5 -19
  75. package/dist/index181.js +5 -16
  76. package/dist/index182.js +4 -6
  77. package/dist/index183.js +4 -4
  78. package/dist/index184.js +3 -4
  79. package/dist/index185.js +6 -4
  80. package/dist/index186.js +7 -4
  81. package/dist/index187.js +6 -3
  82. package/dist/index188.js +5 -6
  83. package/dist/index189.js +3 -7
  84. package/dist/index190.js +3 -6
  85. package/dist/index191.js +3 -5
  86. package/dist/index192.js +3 -3
  87. package/dist/index193.js +4 -3
  88. package/dist/index194.js +3 -3
  89. package/dist/index195.js +3 -3
  90. package/dist/index196.js +3 -4
  91. package/dist/index197.js +24 -3
  92. package/dist/index198.js +29 -4
  93. package/dist/index199.js +5 -4
  94. package/dist/index203.js +2 -5
  95. package/dist/index204.js +2 -3
  96. package/dist/index205.js +8 -23
  97. package/dist/index206.js +18 -108
  98. package/dist/index207.js +16 -15
  99. package/dist/index208.js +6 -2
  100. package/dist/index209.js +6 -2
  101. package/dist/index210.js +6 -8
  102. package/dist/index211.js +4 -19
  103. package/dist/index212.js +7 -16
  104. package/dist/index213.js +17 -5
  105. package/dist/index214.js +5 -5
  106. package/dist/index215.js +5 -6
  107. package/dist/index216.js +13 -4
  108. package/dist/index217.js +10 -7
  109. package/dist/index218.js +14 -17
  110. package/dist/index219.js +5 -5
  111. package/dist/index220.js +6 -5
  112. package/dist/index221.js +8 -13
  113. package/dist/index222.js +6 -10
  114. package/dist/index223.js +56 -14
  115. package/dist/index224.js +9 -5
  116. package/dist/index225.js +5 -6
  117. package/dist/index226.js +5 -8
  118. package/dist/index227.js +9 -6
  119. package/dist/index228.js +5 -56
  120. package/dist/index229.js +5 -9
  121. package/dist/index230.js +4 -5
  122. package/dist/index231.js +11 -5
  123. package/dist/index232.js +10 -9
  124. package/dist/index233.js +9 -4
  125. package/dist/index234.js +11 -5
  126. package/dist/index235.js +11 -4
  127. package/dist/index236.js +10 -11
  128. package/dist/index237.js +7 -10
  129. package/dist/index238.js +6 -10
  130. package/dist/index239.js +5 -11
  131. package/dist/index240.js +6 -11
  132. package/dist/index241.js +8 -10
  133. package/dist/index242.js +6 -7
  134. package/dist/index243.js +23 -6
  135. package/dist/index244.js +18 -5
  136. package/dist/index245.js +7 -6
  137. package/dist/index246.js +10 -8
  138. package/dist/index247.js +10 -6
  139. package/dist/index248.js +20 -22
  140. package/dist/index249.js +10 -18
  141. package/dist/index250.js +9 -7
  142. package/dist/index251.js +9 -10
  143. package/dist/index252.js +4 -10
  144. package/dist/index253.js +5 -21
  145. package/dist/index254.js +16 -10
  146. package/dist/index255.js +8 -8
  147. package/dist/index256.js +18 -9
  148. package/dist/index257.js +15 -4
  149. package/dist/index258.js +12 -5
  150. package/dist/index259.js +28 -15
  151. package/dist/index260.js +12 -9
  152. package/dist/index261.js +25 -18
  153. package/dist/index262.js +5 -15
  154. package/dist/index263.js +5 -13
  155. package/dist/index264.js +3 -30
  156. package/dist/index265.js +23 -12
  157. package/dist/index266.js +108 -24
  158. package/dist/index267.js +15 -5
  159. package/dist/index268.js +68 -65
  160. package/dist/index269.js +30 -68
  161. package/dist/index270.js +9 -9
  162. package/dist/index271.js +152 -13
  163. package/dist/index272.js +107 -65
  164. package/dist/index273.js +5 -68
  165. package/dist/index274.js +13 -31
  166. package/dist/index275.js +65 -9
  167. package/dist/index276.js +66 -150
  168. package/dist/index277.js +8 -107
  169. package/dist/index278.js +14 -5
  170. package/dist/index279.js +66 -13
  171. package/dist/index280.js +5 -3
  172. package/dist/index281.js +5 -22
  173. package/dist/index282.js +4 -6
  174. package/dist/index283.js +15 -5
  175. package/dist/index284.js +9 -4
  176. package/dist/index285.js +5 -15
  177. package/dist/index286.js +4 -8
  178. package/dist/index287.js +512 -5
  179. package/dist/index288.js +50 -5
  180. package/dist/index289.js +15 -510
  181. package/dist/index290.js +7 -50
  182. package/dist/index291.js +8 -17
  183. package/dist/index292.js +7 -6
  184. package/dist/index293.js +8 -8
  185. package/dist/index294.js +12 -7
  186. package/dist/index295.js +10 -8
  187. package/dist/index296.js +14 -12
  188. package/dist/index297.js +6 -10
  189. package/dist/index298.js +15 -14
  190. package/dist/index299.js +27 -5
  191. package/dist/index300.js +11 -14
  192. package/dist/index301.js +3 -28
  193. package/dist/index302.js +22 -12
  194. package/dist/index303.js +5 -23
  195. package/dist/index304.js +56 -12
  196. package/dist/index305.js +11 -26
  197. package/dist/index306.js +27 -4
  198. package/dist/index307.js +5 -5
  199. package/dist/index308.js +22 -56
  200. package/dist/index33.js +89 -73
  201. package/dist/index41.js +1 -1
  202. package/dist/index42.js +4 -4
  203. package/dist/index44.js +7 -7
  204. package/dist/index46.js +5 -5
  205. package/dist/index49.js +10 -10
  206. package/dist/index52.js +8 -8
  207. package/dist/index59.js +4 -4
  208. package/dist/index63.js +1 -1
  209. package/dist/index74.js +1 -1
  210. package/dist/index75.js +6 -6
  211. package/dist/index80.js +2 -2
  212. package/dist/index82.js +16 -16
  213. package/dist/index83.js +5 -5
  214. package/dist/index85.js +11 -11
  215. package/dist/index86.js +3 -3
  216. package/dist/index87.js +4 -4
  217. package/dist/index92.js +120 -46
  218. package/dist/index93.js +10 -5
  219. package/dist/index94.js +219 -24
  220. package/dist/index95.js +14 -33
  221. package/dist/index96.js +65 -177
  222. package/dist/index97.js +33 -7
  223. package/dist/index98.js +48 -66
  224. package/dist/index99.js +29 -125
  225. package/dist/style.css +1 -1
  226. package/dist/types/index.d.ts +4 -1
  227. package/package.json +1 -1
package/dist/index96.js CHANGED
@@ -1,184 +1,72 @@
1
1
  "use client";
2
- import * as c from "react";
3
- import { composeEventHandlers as p } from "./index89.js";
4
- import { createCollection as V } from "./index112.js";
5
- import { useComposedRefs as j } from "./index90.js";
6
- import { createContextScope as z } from "./index91.js";
7
- import { useId as q } from "./index100.js";
8
- import { Primitive as G } from "./index95.js";
9
- import { useCallbackRef as J } from "./index108.js";
10
- import { useControllableState as Q } from "./index92.js";
11
- import { useDirection as W } from "./index97.js";
12
- import { jsx as d } from "react/jsx-runtime";
13
- var y = "rovingFocusGroup.onEntryFocus", X = { bubbles: !1, cancelable: !0 }, I = "RovingFocusGroup", [D, N, Z] = V(I), [$, Fe] = z(
14
- I,
15
- [Z]
16
- ), [ee, oe] = $(I), O = c.forwardRef(
17
- (e, r) => /* @__PURE__ */ d(D.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ d(D.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ d(te, { ...e, ref: r }) }) })
18
- );
19
- O.displayName = I;
20
- var te = c.forwardRef((e, r) => {
21
- const {
22
- __scopeRovingFocusGroup: s,
23
- orientation: o,
24
- loop: T = !1,
25
- dir: w,
26
- currentTabStopId: v,
27
- defaultCurrentTabStopId: C,
28
- onCurrentTabStopIdChange: S,
29
- onEntryFocus: m,
30
- preventScrollOnEntryFocus: u = !1,
31
- ...b
32
- } = e, F = c.useRef(null), g = j(r, F), R = W(w), [E, t] = Q({
33
- prop: v,
34
- defaultProp: C ?? null,
35
- onChange: S,
36
- caller: I
37
- }), [i, h] = c.useState(!1), a = J(m), l = N(s), A = c.useRef(!1), [L, P] = c.useState(0);
38
- return c.useEffect(() => {
39
- const n = F.current;
40
- if (n)
41
- return n.addEventListener(y, a), () => n.removeEventListener(y, a);
42
- }, [a]), /* @__PURE__ */ d(
43
- ee,
44
- {
45
- scope: s,
46
- orientation: o,
47
- dir: R,
48
- loop: T,
49
- currentTabStopId: E,
50
- onItemFocus: c.useCallback(
51
- (n) => t(n),
52
- [t]
53
- ),
54
- onItemShiftTab: c.useCallback(() => h(!0), []),
55
- onFocusableItemAdd: c.useCallback(
56
- () => P((n) => n + 1),
57
- []
58
- ),
59
- onFocusableItemRemove: c.useCallback(
60
- () => P((n) => n - 1),
61
- []
62
- ),
63
- children: /* @__PURE__ */ d(
64
- G.div,
65
- {
66
- tabIndex: i || L === 0 ? -1 : 0,
67
- "data-orientation": o,
68
- ...b,
69
- ref: g,
70
- style: { outline: "none", ...e.style },
71
- onMouseDown: p(e.onMouseDown, () => {
72
- A.current = !0;
73
- }),
74
- onFocus: p(e.onFocus, (n) => {
75
- const U = !A.current;
76
- if (n.target === n.currentTarget && U && !i) {
77
- const x = new CustomEvent(y, X);
78
- if (n.currentTarget.dispatchEvent(x), !x.defaultPrevented) {
79
- const _ = l().filter((f) => f.focusable), B = _.find((f) => f.active), Y = _.find((f) => f.id === E), H = [B, Y, ..._].filter(
80
- Boolean
81
- ).map((f) => f.ref.current);
82
- k(H, u);
83
- }
84
- }
85
- A.current = !1;
86
- }),
87
- onBlur: p(e.onBlur, () => h(!1))
88
- }
89
- )
90
- }
91
- );
92
- }), K = "RovingFocusGroupItem", M = c.forwardRef(
93
- (e, r) => {
94
- const {
95
- __scopeRovingFocusGroup: s,
96
- focusable: o = !0,
97
- active: T = !1,
98
- tabStopId: w,
99
- children: v,
100
- ...C
101
- } = e, S = q(), m = w || S, u = oe(K, s), b = u.currentTabStopId === m, F = N(s), { onFocusableItemAdd: g, onFocusableItemRemove: R, currentTabStopId: E } = u;
102
- return c.useEffect(() => {
103
- if (o)
104
- return g(), () => R();
105
- }, [o, g, R]), /* @__PURE__ */ d(
106
- D.ItemSlot,
107
- {
108
- scope: s,
109
- id: m,
110
- focusable: o,
111
- active: T,
112
- children: /* @__PURE__ */ d(
113
- G.span,
114
- {
115
- tabIndex: b ? 0 : -1,
116
- "data-orientation": u.orientation,
117
- ...C,
118
- ref: r,
119
- onMouseDown: p(e.onMouseDown, (t) => {
120
- o ? u.onItemFocus(m) : t.preventDefault();
121
- }),
122
- onFocus: p(e.onFocus, () => u.onItemFocus(m)),
123
- onKeyDown: p(e.onKeyDown, (t) => {
124
- if (t.key === "Tab" && t.shiftKey) {
125
- u.onItemShiftTab();
126
- return;
127
- }
128
- if (t.target !== t.currentTarget) return;
129
- const i = ce(t, u.orientation, u.dir);
130
- if (i !== void 0) {
131
- if (t.metaKey || t.ctrlKey || t.altKey || t.shiftKey) return;
132
- t.preventDefault();
133
- let a = F().filter((l) => l.focusable).map((l) => l.ref.current);
134
- if (i === "last") a.reverse();
135
- else if (i === "prev" || i === "next") {
136
- i === "prev" && a.reverse();
137
- const l = a.indexOf(t.currentTarget);
138
- a = u.loop ? se(a, l + 1) : a.slice(l + 1);
139
- }
140
- setTimeout(() => k(a));
141
- }
142
- }),
143
- children: typeof v == "function" ? v({ isCurrentTabStop: b, hasTabStop: E != null }) : v
144
- }
145
- )
146
- }
147
- );
148
- }
149
- );
150
- M.displayName = K;
151
- var re = {
152
- ArrowLeft: "prev",
153
- ArrowUp: "prev",
154
- ArrowRight: "next",
155
- ArrowDown: "next",
156
- PageUp: "first",
157
- Home: "first",
158
- PageDown: "last",
159
- End: "last"
160
- };
161
- function ne(e, r) {
162
- return r !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
2
+ import * as a from "react";
3
+ import { useComposedRefs as E } from "./index90.js";
4
+ import { useLayoutEffect as A } from "./index105.js";
5
+ function T(n, e) {
6
+ return a.useReducer((r, t) => e[r][t] ?? r, n);
163
7
  }
164
- function ce(e, r, s) {
165
- const o = ne(e.key, s);
166
- if (!(r === "vertical" && ["ArrowLeft", "ArrowRight"].includes(o)) && !(r === "horizontal" && ["ArrowUp", "ArrowDown"].includes(o)))
167
- return re[o];
8
+ var R = (n) => {
9
+ const { present: e, children: r } = n, t = v(e), i = typeof r == "function" ? r({ present: t.isPresent }) : a.Children.only(r), c = E(t.ref, P(i));
10
+ return typeof r == "function" || t.isPresent ? a.cloneElement(i, { ref: c }) : null;
11
+ };
12
+ R.displayName = "Presence";
13
+ function v(n) {
14
+ const [e, r] = a.useState(), t = a.useRef(null), i = a.useRef(n), c = a.useRef("none"), p = n ? "mounted" : "unmounted", [N, s] = T(p, {
15
+ mounted: {
16
+ UNMOUNT: "unmounted",
17
+ ANIMATION_OUT: "unmountSuspended"
18
+ },
19
+ unmountSuspended: {
20
+ MOUNT: "mounted",
21
+ ANIMATION_END: "unmounted"
22
+ },
23
+ unmounted: {
24
+ MOUNT: "mounted"
25
+ }
26
+ });
27
+ return a.useEffect(() => {
28
+ const o = l(t.current);
29
+ c.current = N === "mounted" ? o : "none";
30
+ }, [N]), A(() => {
31
+ const o = t.current, m = i.current;
32
+ if (m !== n) {
33
+ const f = c.current, u = l(o);
34
+ n ? s("MOUNT") : u === "none" || (o == null ? void 0 : o.display) === "none" ? s("UNMOUNT") : s(m && f !== u ? "ANIMATION_OUT" : "UNMOUNT"), i.current = n;
35
+ }
36
+ }, [n, s]), A(() => {
37
+ if (e) {
38
+ let o;
39
+ const m = e.ownerDocument.defaultView ?? window, d = (u) => {
40
+ const g = l(t.current).includes(CSS.escape(u.animationName));
41
+ if (u.target === e && g && (s("ANIMATION_END"), !i.current)) {
42
+ const O = e.style.animationFillMode;
43
+ e.style.animationFillMode = "forwards", o = m.setTimeout(() => {
44
+ e.style.animationFillMode === "forwards" && (e.style.animationFillMode = O);
45
+ });
46
+ }
47
+ }, f = (u) => {
48
+ u.target === e && (c.current = l(t.current));
49
+ };
50
+ return e.addEventListener("animationstart", f), e.addEventListener("animationcancel", d), e.addEventListener("animationend", d), () => {
51
+ m.clearTimeout(o), e.removeEventListener("animationstart", f), e.removeEventListener("animationcancel", d), e.removeEventListener("animationend", d);
52
+ };
53
+ } else
54
+ s("ANIMATION_END");
55
+ }, [e, s]), {
56
+ isPresent: ["mounted", "unmountSuspended"].includes(N),
57
+ ref: a.useCallback((o) => {
58
+ t.current = o ? getComputedStyle(o) : null, r(o);
59
+ }, [])
60
+ };
168
61
  }
169
- function k(e, r = !1) {
170
- const s = document.activeElement;
171
- for (const o of e)
172
- if (o === s || (o.focus({ preventScroll: r }), document.activeElement !== s)) return;
62
+ function l(n) {
63
+ return (n == null ? void 0 : n.animationName) || "none";
173
64
  }
174
- function se(e, r) {
175
- return e.map((s, o) => e[(r + o) % e.length]);
65
+ function P(n) {
66
+ var t, i;
67
+ let e = (t = Object.getOwnPropertyDescriptor(n.props, "ref")) == null ? void 0 : t.get, r = e && "isReactWarning" in e && e.isReactWarning;
68
+ return r ? n.ref : (e = (i = Object.getOwnPropertyDescriptor(n, "ref")) == null ? void 0 : i.get, r = e && "isReactWarning" in e && e.isReactWarning, r ? n.props.ref : n.props.ref || n.ref);
176
69
  }
177
- var ge = O, Re = M;
178
70
  export {
179
- Re as Item,
180
- ge as Root,
181
- O as RovingFocusGroup,
182
- M as RovingFocusGroupItem,
183
- Fe as createRovingFocusGroupScope
71
+ R as Presence
184
72
  };
package/dist/index97.js CHANGED
@@ -1,10 +1,36 @@
1
- import * as t from "react";
2
- import "react/jsx-runtime";
3
- var r = t.createContext(void 0);
4
- function n(o) {
5
- const e = t.useContext(r);
6
- return o || e || "ltr";
1
+ import * as f from "react";
2
+ import * as p from "react-dom";
3
+ import { createSlot as c } from "./index40.js";
4
+ import { jsx as l } from "react/jsx-runtime";
5
+ var u = [
6
+ "a",
7
+ "button",
8
+ "div",
9
+ "form",
10
+ "h2",
11
+ "h3",
12
+ "img",
13
+ "input",
14
+ "label",
15
+ "li",
16
+ "nav",
17
+ "ol",
18
+ "p",
19
+ "select",
20
+ "span",
21
+ "svg",
22
+ "ul"
23
+ ], h = u.reduce((t, i) => {
24
+ const o = c(`Primitive.${i}`), r = f.forwardRef((e, m) => {
25
+ const { asChild: s, ...a } = e, n = s ? o : i;
26
+ return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ l(n, { ...a, ref: m });
27
+ });
28
+ return r.displayName = `Primitive.${i}`, { ...t, [i]: r };
29
+ }, {});
30
+ function w(t, i) {
31
+ t && p.flushSync(() => t.dispatchEvent(i));
7
32
  }
8
33
  export {
9
- n as useDirection
34
+ h as Primitive,
35
+ w as dispatchDiscreteCustomEvent
10
36
  };
package/dist/index98.js CHANGED
@@ -1,72 +1,54 @@
1
- "use client";
2
- import * as a from "react";
3
- import { useComposedRefs as E } from "./index90.js";
4
- import { useLayoutEffect as A } from "./index109.js";
5
- function T(n, e) {
6
- return a.useReducer((r, t) => e[r][t] ?? r, n);
7
- }
8
- var R = (n) => {
9
- const { present: e, children: r } = n, t = v(e), i = typeof r == "function" ? r({ present: t.isPresent }) : a.Children.only(r), c = E(t.ref, P(i));
10
- return typeof r == "function" || t.isPresent ? a.cloneElement(i, { ref: c }) : null;
11
- };
12
- R.displayName = "Presence";
13
- function v(n) {
14
- const [e, r] = a.useState(), t = a.useRef(null), i = a.useRef(n), c = a.useRef("none"), p = n ? "mounted" : "unmounted", [N, s] = T(p, {
15
- mounted: {
16
- UNMOUNT: "unmounted",
17
- ANIMATION_OUT: "unmountSuspended"
18
- },
19
- unmountSuspended: {
20
- MOUNT: "mounted",
21
- ANIMATION_END: "unmounted"
1
+ import * as n from "react";
2
+ import { useLayoutEffect as v } from "./index105.js";
3
+ var E = n[" useInsertionEffect ".trim().toString()] || v;
4
+ function y({
5
+ prop: t,
6
+ defaultProp: u,
7
+ onChange: o = () => {
8
+ },
9
+ caller: i
10
+ }) {
11
+ const [l, e, r] = w({
12
+ defaultProp: u,
13
+ onChange: o
14
+ }), c = t !== void 0, a = c ? t : l;
15
+ {
16
+ const s = n.useRef(t !== void 0);
17
+ n.useEffect(() => {
18
+ const f = s.current;
19
+ f !== c && console.warn(
20
+ `${i} is changing from ${f ? "controlled" : "uncontrolled"} to ${c ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
21
+ ), s.current = c;
22
+ }, [c, i]);
23
+ }
24
+ const m = n.useCallback(
25
+ (s) => {
26
+ var f;
27
+ if (c) {
28
+ const d = R(s) ? s(t) : s;
29
+ d !== t && ((f = r.current) == null || f.call(r, d));
30
+ } else
31
+ e(s);
22
32
  },
23
- unmounted: {
24
- MOUNT: "mounted"
25
- }
26
- });
27
- return a.useEffect(() => {
28
- const o = l(t.current);
29
- c.current = N === "mounted" ? o : "none";
30
- }, [N]), A(() => {
31
- const o = t.current, m = i.current;
32
- if (m !== n) {
33
- const f = c.current, u = l(o);
34
- n ? s("MOUNT") : u === "none" || (o == null ? void 0 : o.display) === "none" ? s("UNMOUNT") : s(m && f !== u ? "ANIMATION_OUT" : "UNMOUNT"), i.current = n;
35
- }
36
- }, [n, s]), A(() => {
37
- if (e) {
38
- let o;
39
- const m = e.ownerDocument.defaultView ?? window, d = (u) => {
40
- const g = l(t.current).includes(CSS.escape(u.animationName));
41
- if (u.target === e && g && (s("ANIMATION_END"), !i.current)) {
42
- const O = e.style.animationFillMode;
43
- e.style.animationFillMode = "forwards", o = m.setTimeout(() => {
44
- e.style.animationFillMode === "forwards" && (e.style.animationFillMode = O);
45
- });
46
- }
47
- }, f = (u) => {
48
- u.target === e && (c.current = l(t.current));
49
- };
50
- return e.addEventListener("animationstart", f), e.addEventListener("animationcancel", d), e.addEventListener("animationend", d), () => {
51
- m.clearTimeout(o), e.removeEventListener("animationstart", f), e.removeEventListener("animationcancel", d), e.removeEventListener("animationend", d);
52
- };
53
- } else
54
- s("ANIMATION_END");
55
- }, [e, s]), {
56
- isPresent: ["mounted", "unmountSuspended"].includes(N),
57
- ref: a.useCallback((o) => {
58
- t.current = o ? getComputedStyle(o) : null, r(o);
59
- }, [])
60
- };
33
+ [c, t, e, r]
34
+ );
35
+ return [a, m];
61
36
  }
62
- function l(n) {
63
- return (n == null ? void 0 : n.animationName) || "none";
37
+ function w({
38
+ defaultProp: t,
39
+ onChange: u
40
+ }) {
41
+ const [o, i] = n.useState(t), l = n.useRef(o), e = n.useRef(u);
42
+ return E(() => {
43
+ e.current = u;
44
+ }, [u]), n.useEffect(() => {
45
+ var r;
46
+ l.current !== o && ((r = e.current) == null || r.call(e, o), l.current = o);
47
+ }, [o, l]), [o, i, e];
64
48
  }
65
- function P(n) {
66
- var t, i;
67
- let e = (t = Object.getOwnPropertyDescriptor(n.props, "ref")) == null ? void 0 : t.get, r = e && "isReactWarning" in e && e.isReactWarning;
68
- return r ? n.ref : (e = (i = Object.getOwnPropertyDescriptor(n, "ref")) == null ? void 0 : i.get, r = e && "isReactWarning" in e && e.isReactWarning, r ? n.props.ref : n.props.ref || n.ref);
49
+ function R(t) {
50
+ return typeof t == "function";
69
51
  }
70
52
  export {
71
- R as Presence
53
+ y as useControllableState
72
54
  };
package/dist/index99.js CHANGED
@@ -1,128 +1,32 @@
1
- "use client";
2
- import * as n from "react";
3
- import { composeEventHandlers as m } from "./index89.js";
4
- import { Primitive as g, dispatchDiscreteCustomEvent as k } from "./index95.js";
5
- import { useComposedRefs as R } from "./index90.js";
6
- import { useCallbackRef as w } from "./index108.js";
7
- import { useEscapeKeydown as U } from "./index121.js";
8
- import { jsx as T } from "react/jsx-runtime";
9
- var z = "DismissableLayer", y = "dismissableLayer.update", H = "dismissableLayer.pointerDownOutside", M = "dismissableLayer.focusOutside", L, B = n.createContext({
10
- layers: /* @__PURE__ */ new Set(),
11
- layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
12
- branches: /* @__PURE__ */ new Set()
13
- }), j = n.forwardRef(
14
- (r, e) => {
15
- const {
16
- disableOutsidePointerEvents: i = !1,
17
- onEscapeKeyDown: o,
18
- onPointerDownOutside: t,
19
- onFocusOutside: a,
20
- onInteractOutside: l,
21
- onDismiss: d,
22
- ...v
23
- } = r, c = n.useContext(B), [u, S] = n.useState(null), f = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, F] = n.useState({}), W = R(e, (s) => S(s)), p = Array.from(c.layers), [A] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), N = p.indexOf(A), b = u ? p.indexOf(u) : -1, I = c.layersWithOutsidePointerEventsDisabled.size > 0, P = b >= N, _ = q((s) => {
24
- const E = s.target, C = [...c.branches].some((h) => h.contains(E));
25
- !P || C || (t == null || t(s), l == null || l(s), s.defaultPrevented || d == null || d());
26
- }, f), D = G((s) => {
27
- const E = s.target;
28
- [...c.branches].some((h) => h.contains(E)) || (a == null || a(s), l == null || l(s), s.defaultPrevented || d == null || d());
29
- }, f);
30
- return U((s) => {
31
- b === c.layers.size - 1 && (o == null || o(s), !s.defaultPrevented && d && (s.preventDefault(), d()));
32
- }, f), n.useEffect(() => {
33
- if (u)
34
- return i && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (L = f.body.style.pointerEvents, f.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(u)), c.layers.add(u), O(), () => {
35
- i && c.layersWithOutsidePointerEventsDisabled.size === 1 && (f.body.style.pointerEvents = L);
36
- };
37
- }, [u, f, i, c]), n.useEffect(() => () => {
38
- u && (c.layers.delete(u), c.layersWithOutsidePointerEventsDisabled.delete(u), O());
39
- }, [u, c]), n.useEffect(() => {
40
- const s = () => F({});
41
- return document.addEventListener(y, s), () => document.removeEventListener(y, s);
42
- }, []), /* @__PURE__ */ T(
43
- g.div,
44
- {
45
- ...v,
46
- ref: W,
47
- style: {
48
- pointerEvents: I ? P ? "auto" : "none" : void 0,
49
- ...r.style
50
- },
51
- onFocusCapture: m(r.onFocusCapture, D.onFocusCapture),
52
- onBlurCapture: m(r.onBlurCapture, D.onBlurCapture),
53
- onPointerDownCapture: m(
54
- r.onPointerDownCapture,
55
- _.onPointerDownCapture
56
- )
57
- }
58
- );
59
- }
1
+ import * as a from "react";
2
+ import { Primitive as o } from "./index97.js";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ var d = Object.freeze({
5
+ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
6
+ position: "absolute",
7
+ border: 0,
8
+ width: 1,
9
+ height: 1,
10
+ padding: 0,
11
+ margin: -1,
12
+ overflow: "hidden",
13
+ clip: "rect(0, 0, 0, 0)",
14
+ whiteSpace: "nowrap",
15
+ wordWrap: "normal"
16
+ }), l = "VisuallyHidden", e = a.forwardRef(
17
+ (r, i) => /* @__PURE__ */ t(
18
+ o.span,
19
+ {
20
+ ...r,
21
+ ref: i,
22
+ style: { ...d, ...r.style }
23
+ }
24
+ )
60
25
  );
61
- j.displayName = z;
62
- var X = "DismissableLayerBranch", Y = n.forwardRef((r, e) => {
63
- const i = n.useContext(B), o = n.useRef(null), t = R(e, o);
64
- return n.useEffect(() => {
65
- const a = o.current;
66
- if (a)
67
- return i.branches.add(a), () => {
68
- i.branches.delete(a);
69
- };
70
- }, [i.branches]), /* @__PURE__ */ T(g.div, { ...r, ref: t });
71
- });
72
- Y.displayName = X;
73
- function q(r, e = globalThis == null ? void 0 : globalThis.document) {
74
- const i = w(r), o = n.useRef(!1), t = n.useRef(() => {
75
- });
76
- return n.useEffect(() => {
77
- const a = (d) => {
78
- if (d.target && !o.current) {
79
- let v = function() {
80
- x(
81
- H,
82
- i,
83
- c,
84
- { discrete: !0 }
85
- );
86
- };
87
- const c = { originalEvent: d };
88
- d.pointerType === "touch" ? (e.removeEventListener("click", t.current), t.current = v, e.addEventListener("click", t.current, { once: !0 })) : v();
89
- } else
90
- e.removeEventListener("click", t.current);
91
- o.current = !1;
92
- }, l = window.setTimeout(() => {
93
- e.addEventListener("pointerdown", a);
94
- }, 0);
95
- return () => {
96
- window.clearTimeout(l), e.removeEventListener("pointerdown", a), e.removeEventListener("click", t.current);
97
- };
98
- }, [e, i]), {
99
- // ensures we check React component tree (not just DOM tree)
100
- onPointerDownCapture: () => o.current = !0
101
- };
102
- }
103
- function G(r, e = globalThis == null ? void 0 : globalThis.document) {
104
- const i = w(r), o = n.useRef(!1);
105
- return n.useEffect(() => {
106
- const t = (a) => {
107
- a.target && !o.current && x(M, i, { originalEvent: a }, {
108
- discrete: !1
109
- });
110
- };
111
- return e.addEventListener("focusin", t), () => e.removeEventListener("focusin", t);
112
- }, [e, i]), {
113
- onFocusCapture: () => o.current = !0,
114
- onBlurCapture: () => o.current = !1
115
- };
116
- }
117
- function O() {
118
- const r = new CustomEvent(y);
119
- document.dispatchEvent(r);
120
- }
121
- function x(r, e, i, { discrete: o }) {
122
- const t = i.originalEvent.target, a = new CustomEvent(r, { bubbles: !1, cancelable: !0, detail: i });
123
- e && t.addEventListener(r, e, { once: !0 }), o ? k(t, a) : t.dispatchEvent(a);
124
- }
26
+ e.displayName = l;
27
+ var p = e;
125
28
  export {
126
- j as DismissableLayer,
127
- Y as DismissableLayerBranch
29
+ p as Root,
30
+ d as VISUALLY_HIDDEN_STYLES,
31
+ e as VisuallyHidden
128
32
  };