@drjoshcsimmons/scl 0.1.2 → 0.1.4

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 (100) hide show
  1. package/README.md +202 -13
  2. package/dist/index100.js +13 -217
  3. package/dist/index101.js +8 -649
  4. package/dist/index102.js +48 -179
  5. package/dist/index103.js +218 -3
  6. package/dist/index106.js +21 -12
  7. package/dist/index107.js +3 -15
  8. package/dist/index108.js +32 -3
  9. package/dist/index109.js +12 -32
  10. package/dist/index11.js +1 -1
  11. package/dist/index110.js +12 -18
  12. package/dist/index115.js +1 -1
  13. package/dist/index116.js +1 -1
  14. package/dist/index117.js +2 -25
  15. package/dist/index118.js +2 -29
  16. package/dist/index119.js +25 -5
  17. package/dist/index12.js +1 -1
  18. package/dist/index120.js +29 -2
  19. package/dist/index121.js +5 -2
  20. package/dist/index125.js +1 -1
  21. package/dist/index126.js +1 -1
  22. package/dist/index13.js +2 -2
  23. package/dist/index130.js +1 -1
  24. package/dist/index14.js +2 -2
  25. package/dist/index15.js +2 -2
  26. package/dist/index17.js +4 -4
  27. package/dist/index18.js +2 -2
  28. package/dist/index20.js +2 -2
  29. package/dist/index21.js +1 -1
  30. package/dist/index22.js +1 -1
  31. package/dist/index23.js +1 -1
  32. package/dist/index25.js +3 -3
  33. package/dist/index26.js +1 -1
  34. package/dist/index27.js +3 -3
  35. package/dist/index29.js +1 -1
  36. package/dist/index31.js +1 -1
  37. package/dist/index33.js +1 -1
  38. package/dist/index36.js +2 -2
  39. package/dist/index37.js +1 -1
  40. package/dist/index45.js +8 -8
  41. package/dist/index46.js +1 -1
  42. package/dist/index47.js +435 -33
  43. package/dist/index48.js +141 -98
  44. package/dist/index49.js +302 -65
  45. package/dist/index5.js +1 -1
  46. package/dist/index50.js +12 -310
  47. package/dist/index51.js +33 -12
  48. package/dist/index52.js +104 -246
  49. package/dist/index53.js +73 -12
  50. package/dist/index54.js +12 -60
  51. package/dist/index55.js +9 -254
  52. package/dist/index56.js +7 -7
  53. package/dist/index57.js +60 -9
  54. package/dist/index58.js +210 -110
  55. package/dist/index59.js +4 -5
  56. package/dist/index6.js +1 -1
  57. package/dist/index60.js +11 -18
  58. package/dist/index61.js +110 -210
  59. package/dist/index62.js +260 -11
  60. package/dist/index63.js +5 -4
  61. package/dist/index64.js +71 -230
  62. package/dist/index65.js +9 -9
  63. package/dist/index66.js +8 -8
  64. package/dist/index67.js +21 -160
  65. package/dist/index68.js +835 -105
  66. package/dist/index69.js +9 -336
  67. package/dist/index7.js +1 -1
  68. package/dist/index70.js +248 -76
  69. package/dist/index71.js +30 -434
  70. package/dist/index72.js +332 -18
  71. package/dist/index73.js +204 -823
  72. package/dist/index74.js +18 -9
  73. package/dist/index75.js +130 -31
  74. package/dist/index76.js +66 -5
  75. package/dist/index77.js +42 -64
  76. package/dist/index78.js +24 -49
  77. package/dist/index79.js +7 -4
  78. package/dist/index8.js +1 -1
  79. package/dist/index80.js +49 -24
  80. package/dist/index81.js +1 -1
  81. package/dist/index82.js +10 -68
  82. package/dist/index83.js +7 -10
  83. package/dist/index84.js +3 -54
  84. package/dist/index85.js +5 -10
  85. package/dist/index86.js +25 -30
  86. package/dist/index87.js +178 -10
  87. package/dist/index88.js +66 -43
  88. package/dist/index89.js +14 -7
  89. package/dist/index9.js +2 -2
  90. package/dist/index90.js +30 -15
  91. package/dist/index91.js +48 -118
  92. package/dist/index92.js +10 -134
  93. package/dist/index93.js +4 -14
  94. package/dist/index94.js +11 -13
  95. package/dist/index95.js +54 -9
  96. package/dist/index96.js +648 -48
  97. package/dist/index97.js +120 -49
  98. package/dist/index98.js +134 -5
  99. package/dist/index99.js +14 -25
  100. package/package.json +1 -1
package/dist/index74.js CHANGED
@@ -1,11 +1,20 @@
1
- import e from "./index107.js";
2
- /**
3
- * @license lucide-react v0.460.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- const r = e("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
1
+ import * as i from "react";
2
+ import { Primitive as f } from "./index90.js";
3
+ import { jsx as l } from "react/jsx-runtime";
4
+ var m = "Label", r = i.forwardRef((e, o) => /* @__PURE__ */ l(
5
+ f.label,
6
+ {
7
+ ...e,
8
+ ref: o,
9
+ onMouseDown: (t) => {
10
+ var a;
11
+ t.target.closest("button, input, select, textarea") || ((a = e.onMouseDown) == null || a.call(e, t), !t.defaultPrevented && t.detail > 1 && t.preventDefault());
12
+ }
13
+ }
14
+ ));
15
+ r.displayName = m;
16
+ var b = r;
9
17
  export {
10
- r as default
18
+ r as Label,
19
+ b as Root
11
20
  };
package/dist/index75.js CHANGED
@@ -1,33 +1,132 @@
1
- import * as f from "react";
2
- import { composeEventHandlers as m } from "./index76.js";
3
- import { useControllableState as p } from "./index78.js";
4
- import { Primitive as b } from "./index81.js";
5
- import { jsx as c } from "react/jsx-runtime";
6
- var r = "Toggle", t = f.forwardRef((e, a) => {
7
- const { pressed: s, defaultPressed: d, onPressedChange: i, ...l } = e, [o, n] = p({
8
- prop: s,
9
- onChange: i,
10
- defaultProp: d ?? !1,
11
- caller: r
12
- });
13
- return /* @__PURE__ */ c(
14
- b.button,
15
- {
16
- type: "button",
17
- "aria-pressed": o,
18
- "data-state": o ? "on" : "off",
19
- "data-disabled": e.disabled ? "" : void 0,
20
- ...l,
21
- ref: a,
22
- onClick: m(e.onClick, () => {
23
- e.disabled || n(!o);
24
- })
25
- }
26
- );
27
- });
28
- t.displayName = r;
29
- var C = t;
1
+ import * as r from "react";
2
+ import { composeEventHandlers as T } from "./index79.js";
3
+ import { useComposedRefs as P } from "./index78.js";
4
+ import { createContextScope as I } from "./index76.js";
5
+ import { useControllableState as M } from "./index80.js";
6
+ import { usePrevious as H } from "./index85.js";
7
+ import { useSize as j } from "./index86.js";
8
+ import { Primitive as y } from "./index81.js";
9
+ import { jsxs as A, jsx as m } from "react/jsx-runtime";
10
+ var h = "Switch", [U] = I(h), [q, z] = U(h), R = r.forwardRef(
11
+ (t, a) => {
12
+ const {
13
+ __scopeSwitch: e,
14
+ name: c,
15
+ checked: o,
16
+ defaultChecked: v,
17
+ required: i,
18
+ disabled: n,
19
+ value: p = "on",
20
+ onCheckedChange: w,
21
+ form: s,
22
+ ...S
23
+ } = t, [d, u] = r.useState(null), b = P(a, (f) => u(f)), C = r.useRef(!1), k = d ? s || !!d.closest("form") : !0, [l, B] = M({
24
+ prop: o,
25
+ defaultProp: v ?? !1,
26
+ onChange: w,
27
+ caller: h
28
+ });
29
+ return /* @__PURE__ */ A(q, { scope: e, checked: l, disabled: n, children: [
30
+ /* @__PURE__ */ m(
31
+ y.button,
32
+ {
33
+ type: "button",
34
+ role: "switch",
35
+ "aria-checked": l,
36
+ "aria-required": i,
37
+ "data-state": g(l),
38
+ "data-disabled": n ? "" : void 0,
39
+ disabled: n,
40
+ value: p,
41
+ ...S,
42
+ ref: b,
43
+ onClick: T(t.onClick, (f) => {
44
+ B((N) => !N), k && (C.current = f.isPropagationStopped(), C.current || f.stopPropagation());
45
+ })
46
+ }
47
+ ),
48
+ k && /* @__PURE__ */ m(
49
+ x,
50
+ {
51
+ control: d,
52
+ bubbles: !C.current,
53
+ name: c,
54
+ value: p,
55
+ checked: l,
56
+ required: i,
57
+ disabled: n,
58
+ form: s,
59
+ style: { transform: "translateX(-100%)" }
60
+ }
61
+ )
62
+ ] });
63
+ }
64
+ );
65
+ R.displayName = h;
66
+ var E = "SwitchThumb", _ = r.forwardRef(
67
+ (t, a) => {
68
+ const { __scopeSwitch: e, ...c } = t, o = z(E, e);
69
+ return /* @__PURE__ */ m(
70
+ y.span,
71
+ {
72
+ "data-state": g(o.checked),
73
+ "data-disabled": o.disabled ? "" : void 0,
74
+ ...c,
75
+ ref: a
76
+ }
77
+ );
78
+ }
79
+ );
80
+ _.displayName = E;
81
+ var L = "SwitchBubbleInput", x = r.forwardRef(
82
+ ({
83
+ __scopeSwitch: t,
84
+ control: a,
85
+ checked: e,
86
+ bubbles: c = !0,
87
+ ...o
88
+ }, v) => {
89
+ const i = r.useRef(null), n = P(i, v), p = H(e), w = j(a);
90
+ return r.useEffect(() => {
91
+ const s = i.current;
92
+ if (!s) return;
93
+ const S = window.HTMLInputElement.prototype, u = Object.getOwnPropertyDescriptor(
94
+ S,
95
+ "checked"
96
+ ).set;
97
+ if (p !== e && u) {
98
+ const b = new Event("click", { bubbles: c });
99
+ u.call(s, e), s.dispatchEvent(b);
100
+ }
101
+ }, [p, e, c]), /* @__PURE__ */ m(
102
+ "input",
103
+ {
104
+ type: "checkbox",
105
+ "aria-hidden": !0,
106
+ defaultChecked: e,
107
+ ...o,
108
+ tabIndex: -1,
109
+ ref: n,
110
+ style: {
111
+ ...o.style,
112
+ ...w,
113
+ position: "absolute",
114
+ pointerEvents: "none",
115
+ opacity: 0,
116
+ margin: 0
117
+ }
118
+ }
119
+ );
120
+ }
121
+ );
122
+ x.displayName = L;
123
+ function g(t) {
124
+ return t ? "checked" : "unchecked";
125
+ }
126
+ var Q = R, V = _;
30
127
  export {
31
- C as Root,
32
- t as Toggle
128
+ Q as Root,
129
+ R as Switch,
130
+ _ as SwitchThumb,
131
+ V as Thumb
33
132
  };
package/dist/index76.js CHANGED
@@ -1,9 +1,70 @@
1
- function h(f, c, { checkForDefaultPrevented: p = !0 } = {}) {
2
- return function(s) {
3
- if (f == null || f(s), p === !1 || !s.defaultPrevented)
4
- return c == null ? void 0 : c(s);
1
+ import * as u from "react";
2
+ import { jsx as h } from "react/jsx-runtime";
3
+ function w(e, c) {
4
+ const o = u.createContext(c), a = (r) => {
5
+ const { children: t, ...n } = r, s = u.useMemo(() => n, Object.values(n));
6
+ return /* @__PURE__ */ h(o.Provider, { value: s, children: t });
5
7
  };
8
+ a.displayName = e + "Provider";
9
+ function i(r) {
10
+ const t = u.useContext(o);
11
+ if (t) return t;
12
+ if (c !== void 0) return c;
13
+ throw new Error(`\`${r}\` must be used within \`${e}\``);
14
+ }
15
+ return [a, i];
16
+ }
17
+ function _(e, c = []) {
18
+ let o = [];
19
+ function a(r, t) {
20
+ const n = u.createContext(t), s = o.length;
21
+ o = [...o, t];
22
+ const p = (d) => {
23
+ var S;
24
+ const { scope: x, children: C, ...m } = d, v = ((S = x == null ? void 0 : x[e]) == null ? void 0 : S[s]) || n, P = u.useMemo(() => m, Object.values(m));
25
+ return /* @__PURE__ */ h(v.Provider, { value: P, children: C });
26
+ };
27
+ p.displayName = r + "Provider";
28
+ function f(d, x) {
29
+ var v;
30
+ const C = ((v = x == null ? void 0 : x[e]) == null ? void 0 : v[s]) || n, m = u.useContext(C);
31
+ if (m) return m;
32
+ if (t !== void 0) return t;
33
+ throw new Error(`\`${d}\` must be used within \`${r}\``);
34
+ }
35
+ return [p, f];
36
+ }
37
+ const i = () => {
38
+ const r = o.map((t) => u.createContext(t));
39
+ return function(n) {
40
+ const s = (n == null ? void 0 : n[e]) || r;
41
+ return u.useMemo(
42
+ () => ({ [`__scope${e}`]: { ...n, [e]: s } }),
43
+ [n, s]
44
+ );
45
+ };
46
+ };
47
+ return i.scopeName = e, [a, l(i, ...c)];
48
+ }
49
+ function l(...e) {
50
+ const c = e[0];
51
+ if (e.length === 1) return c;
52
+ const o = () => {
53
+ const a = e.map((i) => ({
54
+ useScope: i(),
55
+ scopeName: i.scopeName
56
+ }));
57
+ return function(r) {
58
+ const t = a.reduce((n, { useScope: s, scopeName: p }) => {
59
+ const d = s(r)[`__scope${p}`];
60
+ return { ...n, ...d };
61
+ }, {});
62
+ return u.useMemo(() => ({ [`__scope${c.scopeName}`]: t }), [t]);
63
+ };
64
+ };
65
+ return o.scopeName = c.scopeName, o;
6
66
  }
7
67
  export {
8
- h as composeEventHandlers
68
+ w as createContext,
69
+ _ as createContextScope
9
70
  };
package/dist/index77.js CHANGED
@@ -1,70 +1,48 @@
1
- import * as u from "react";
2
- import { jsx as h } from "react/jsx-runtime";
3
- function w(e, c) {
4
- const o = u.createContext(c), a = (r) => {
5
- const { children: t, ...n } = r, s = u.useMemo(() => n, Object.values(n));
6
- return /* @__PURE__ */ h(o.Provider, { value: s, children: t });
1
+ import r from "react";
2
+ import { createContextScope as y } from "./index76.js";
3
+ import { useComposedRefs as M } from "./index78.js";
4
+ import { createSlot as x } from "./index95.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 });
7
13
  };
8
- a.displayName = e + "Provider";
9
- function i(r) {
10
- const t = u.useContext(o);
11
- if (t) return t;
12
- if (c !== void 0) return c;
13
- throw new Error(`\`${r}\` must be used within \`${e}\``);
14
- }
15
- return [a, i];
16
- }
17
- function _(e, c = []) {
18
- let o = [];
19
- function a(r, t) {
20
- const n = u.createContext(t), s = o.length;
21
- o = [...o, t];
22
- const p = (d) => {
23
- var S;
24
- const { scope: x, children: C, ...m } = d, v = ((S = x == null ? void 0 : x[e]) == null ? void 0 : S[s]) || n, P = u.useMemo(() => m, Object.values(m));
25
- return /* @__PURE__ */ h(v.Provider, { value: P, children: C });
26
- };
27
- p.displayName = r + "Provider";
28
- function f(d, x) {
29
- var v;
30
- const C = ((v = x == null ? void 0 : x[e]) == null ? void 0 : v[s]) || n, m = u.useContext(C);
31
- if (m) return m;
32
- if (t !== void 0) return t;
33
- throw new Error(`\`${d}\` must be used within \`${r}\``);
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 });
34
19
  }
35
- return [p, f];
36
- }
37
- const i = () => {
38
- const r = o.map((t) => u.createContext(t));
39
- return function(n) {
40
- const s = (n == null ? void 0 : n[e]) || r;
41
- return u.useMemo(
42
- () => ({ [`__scope${e}`]: { ...n, [e]: s } }),
43
- [n, s]
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)
44
37
  );
45
- };
46
- };
47
- return i.scopeName = e, [a, l(i, ...c)];
48
- }
49
- function l(...e) {
50
- const c = e[0];
51
- if (e.length === 1) return c;
52
- const o = () => {
53
- const a = e.map((i) => ({
54
- useScope: i(),
55
- scopeName: i.scopeName
56
- }));
57
- return function(r) {
58
- const t = a.reduce((n, { useScope: s, scopeName: p }) => {
59
- const d = s(r)[`__scope${p}`];
60
- return { ...n, ...d };
61
- }, {});
62
- return u.useMemo(() => ({ [`__scope${c.scopeName}`]: t }), [t]);
63
- };
64
- };
65
- return o.scopeName = c.scopeName, o;
38
+ }, [e.collectionRef, e.itemMap]);
39
+ }
40
+ return [
41
+ { Provider: p, Slot: C, ItemSlot: I },
42
+ O,
43
+ N
44
+ ];
66
45
  }
67
46
  export {
68
- w as createContext,
69
- _ as createContextScope
47
+ g as createCollection
70
48
  };
package/dist/index78.js CHANGED
@@ -1,54 +1,29 @@
1
- import * as n from "react";
2
- import { useLayoutEffect as v } from "./index79.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);
32
- },
33
- [c, t, e, r]
34
- );
35
- return [a, m];
1
+ import * as f from "react";
2
+ function l(n, o) {
3
+ if (typeof n == "function")
4
+ return n(o);
5
+ n != null && (n.current = o);
36
6
  }
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];
7
+ function i(...n) {
8
+ return (o) => {
9
+ let u = !1;
10
+ const c = n.map((t) => {
11
+ const e = l(t, o);
12
+ return !u && typeof e == "function" && (u = !0), e;
13
+ });
14
+ if (u)
15
+ return () => {
16
+ for (let t = 0; t < c.length; t++) {
17
+ const e = c[t];
18
+ typeof e == "function" ? e() : l(n[t], null);
19
+ }
20
+ };
21
+ };
48
22
  }
49
- function R(t) {
50
- return typeof t == "function";
23
+ function s(...n) {
24
+ return f.useCallback(i(...n), n);
51
25
  }
52
26
  export {
53
- y as useControllableState
27
+ i as composeRefs,
28
+ s as useComposedRefs
54
29
  };
package/dist/index79.js CHANGED
@@ -1,6 +1,9 @@
1
- import * as t from "react";
2
- var e = globalThis != null && globalThis.document ? t.useLayoutEffect : () => {
3
- };
1
+ function h(f, c, { checkForDefaultPrevented: p = !0 } = {}) {
2
+ return function(s) {
3
+ if (f == null || f(s), p === !1 || !s.defaultPrevented)
4
+ return c == null ? void 0 : c(s);
5
+ };
6
+ }
4
7
  export {
5
- e as useLayoutEffect
8
+ h as composeEventHandlers
6
9
  };
package/dist/index8.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { cva as n } from "./index47.js";
2
+ import { cva as n } from "./index51.js";
3
3
  import { cn as a } from "./index2.js";
4
4
  const i = n(
5
5
  "inline-flex items-center border-2 px-2.5 py-0.5 text-xs font-semibold uppercase tracking-wider transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
package/dist/index80.js CHANGED
@@ -1,29 +1,54 @@
1
- import * as f from "react";
2
- function l(n, o) {
3
- if (typeof n == "function")
4
- return n(o);
5
- n != null && (n.current = o);
1
+ import * as n from "react";
2
+ import { useLayoutEffect as v } from "./index93.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);
32
+ },
33
+ [c, t, e, r]
34
+ );
35
+ return [a, m];
6
36
  }
7
- function i(...n) {
8
- return (o) => {
9
- let u = !1;
10
- const c = n.map((t) => {
11
- const e = l(t, o);
12
- return !u && typeof e == "function" && (u = !0), e;
13
- });
14
- if (u)
15
- return () => {
16
- for (let t = 0; t < c.length; t++) {
17
- const e = c[t];
18
- typeof e == "function" ? e() : l(n[t], null);
19
- }
20
- };
21
- };
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];
22
48
  }
23
- function s(...n) {
24
- return f.useCallback(i(...n), n);
49
+ function R(t) {
50
+ return typeof t == "function";
25
51
  }
26
52
  export {
27
- i as composeRefs,
28
- s as useComposedRefs
53
+ y as useControllableState
29
54
  };
package/dist/index81.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as f from "react";
2
2
  import * as p from "react-dom";
3
- import { createSlot as c } from "./index97.js";
3
+ import { createSlot as c } from "./index95.js";
4
4
  import { jsx as l } from "react/jsx-runtime";
5
5
  var u = [
6
6
  "a",
package/dist/index82.js CHANGED
@@ -1,71 +1,13 @@
1
- import * as a from "react";
2
- import { useComposedRefs as E } from "./index80.js";
3
- import { useLayoutEffect as A } from "./index79.js";
4
- function T(n, e) {
5
- return a.useReducer((r, t) => e[r][t] ?? r, n);
6
- }
7
- var R = (n) => {
8
- 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));
9
- return typeof r == "function" || t.isPresent ? a.cloneElement(i, { ref: c }) : null;
10
- };
11
- R.displayName = "Presence";
12
- function v(n) {
13
- 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, {
14
- mounted: {
15
- UNMOUNT: "unmounted",
16
- ANIMATION_OUT: "unmountSuspended"
17
- },
18
- unmountSuspended: {
19
- MOUNT: "mounted",
20
- ANIMATION_END: "unmounted"
21
- },
22
- unmounted: {
23
- MOUNT: "mounted"
24
- }
25
- });
26
- return a.useEffect(() => {
27
- const o = l(t.current);
28
- c.current = N === "mounted" ? o : "none";
29
- }, [N]), A(() => {
30
- const o = t.current, m = i.current;
31
- if (m !== n) {
32
- const f = c.current, u = l(o);
33
- n ? s("MOUNT") : u === "none" || (o == null ? void 0 : o.display) === "none" ? s("UNMOUNT") : s(m && f !== u ? "ANIMATION_OUT" : "UNMOUNT"), i.current = n;
34
- }
35
- }, [n, s]), A(() => {
36
- if (e) {
37
- let o;
38
- const m = e.ownerDocument.defaultView ?? window, d = (u) => {
39
- const g = l(t.current).includes(CSS.escape(u.animationName));
40
- if (u.target === e && g && (s("ANIMATION_END"), !i.current)) {
41
- const O = e.style.animationFillMode;
42
- e.style.animationFillMode = "forwards", o = m.setTimeout(() => {
43
- e.style.animationFillMode === "forwards" && (e.style.animationFillMode = O);
44
- });
45
- }
46
- }, f = (u) => {
47
- u.target === e && (c.current = l(t.current));
48
- };
49
- return e.addEventListener("animationstart", f), e.addEventListener("animationcancel", d), e.addEventListener("animationend", d), () => {
50
- m.clearTimeout(o), e.removeEventListener("animationstart", f), e.removeEventListener("animationcancel", d), e.removeEventListener("animationend", d);
51
- };
52
- } else
53
- s("ANIMATION_END");
54
- }, [e, s]), {
55
- isPresent: ["mounted", "unmountSuspended"].includes(N),
56
- ref: a.useCallback((o) => {
57
- t.current = o ? getComputedStyle(o) : null, r(o);
58
- }, [])
59
- };
60
- }
61
- function l(n) {
62
- return (n == null ? void 0 : n.animationName) || "none";
63
- }
64
- function P(n) {
65
- var t, i;
66
- let e = (t = Object.getOwnPropertyDescriptor(n.props, "ref")) == null ? void 0 : t.get, r = e && "isReactWarning" in e && e.isReactWarning;
67
- 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);
1
+ import * as o from "react";
2
+ import { useLayoutEffect as a } from "./index93.js";
3
+ var s = o[" useId ".trim().toString()] || (() => {
4
+ }), f = 0;
5
+ function i(t) {
6
+ const [e, r] = o.useState(s());
7
+ return a(() => {
8
+ r((u) => u ?? String(f++));
9
+ }, [t]), t || (e ? `radix-${e}` : "");
68
10
  }
69
11
  export {
70
- R as Presence
12
+ i as useId
71
13
  };