@drjoshcsimmons/scl 0.1.3 → 0.1.5

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 (92) hide show
  1. package/README.md +35 -35
  2. package/dist/index100.js +9 -50
  3. package/dist/index101.js +50 -9
  4. package/dist/index102.js +196 -627
  5. package/dist/index103.js +27 -178
  6. package/dist/index104.js +178 -12
  7. package/dist/index11.js +2 -2
  8. package/dist/index110.js +1 -1
  9. package/dist/index112.js +1 -1
  10. package/dist/index12.js +1 -1
  11. package/dist/index13.js +2 -2
  12. package/dist/index131.js +1 -1
  13. package/dist/index132.js +1 -1
  14. package/dist/index137.js +11 -21
  15. package/dist/index138.js +26 -11
  16. package/dist/index139.js +4 -27
  17. package/dist/index14.js +2 -2
  18. package/dist/index140.js +22 -4
  19. package/dist/index15.js +2 -2
  20. package/dist/index17.js +4 -4
  21. package/dist/index18.js +2 -2
  22. package/dist/index20.js +2 -2
  23. package/dist/index21.js +1 -1
  24. package/dist/index22.js +1 -1
  25. package/dist/index23.js +2 -2
  26. package/dist/index24.js +1 -1
  27. package/dist/index25.js +4 -4
  28. package/dist/index26.js +1 -1
  29. package/dist/index27.js +3 -3
  30. package/dist/index29.js +1 -1
  31. package/dist/index31.js +1 -1
  32. package/dist/index33.js +1 -1
  33. package/dist/index36.js +2 -2
  34. package/dist/index37.js +1 -1
  35. package/dist/index4.js +2 -2
  36. package/dist/index45.js +220 -108
  37. package/dist/index46.js +11 -33
  38. package/dist/index47.js +33 -118
  39. package/dist/index48.js +116 -64
  40. package/dist/index49.js +61 -237
  41. package/dist/index5.js +1 -1
  42. package/dist/index50.js +60 -9
  43. package/dist/index51.js +247 -230
  44. package/dist/index52.js +118 -11
  45. package/dist/index53.js +308 -16
  46. package/dist/index54.js +12 -860
  47. package/dist/index55.js +5 -2
  48. package/dist/index56.js +9 -225
  49. package/dist/index57.js +435 -11
  50. package/dist/index58.js +225 -11
  51. package/dist/index59.js +11 -60
  52. package/dist/index6.js +1 -1
  53. package/dist/index60.js +11 -254
  54. package/dist/index61.js +237 -507
  55. package/dist/index62.js +12 -241
  56. package/dist/index63.js +822 -222
  57. package/dist/index64.js +2 -5
  58. package/dist/index65.js +530 -12
  59. package/dist/index66.js +129 -403
  60. package/dist/index67.js +16 -159
  61. package/dist/index68.js +18 -332
  62. package/dist/index69.js +320 -66
  63. package/dist/index7.js +1 -1
  64. package/dist/index70.js +121 -301
  65. package/dist/index71.js +82 -12
  66. package/dist/index72.js +238 -19
  67. package/dist/index73.js +225 -212
  68. package/dist/index74.js +31 -130
  69. package/dist/index75.js +236 -31
  70. package/dist/index8.js +1 -1
  71. package/dist/index80.js +52 -49
  72. package/dist/index81.js +11 -4
  73. package/dist/index82.js +4 -34
  74. package/dist/index83.js +29 -68
  75. package/dist/index84.js +12 -10
  76. package/dist/index85.js +49 -52
  77. package/dist/index86.js +33 -10
  78. package/dist/index87.js +68 -29
  79. package/dist/index88.js +10 -12
  80. package/dist/index89.js +14 -5
  81. package/dist/index9.js +2 -2
  82. package/dist/index90.js +45 -24
  83. package/dist/index91.js +7 -45
  84. package/dist/index92.js +3 -7
  85. package/dist/index93.js +5 -3
  86. package/dist/index94.js +23 -123
  87. package/dist/index95.js +646 -11
  88. package/dist/index96.js +115 -125
  89. package/dist/index97.js +128 -212
  90. package/dist/index98.js +2 -2
  91. package/dist/index99.js +15 -30
  92. package/package.json +1 -1
package/dist/index47.js CHANGED
@@ -1,120 +1,35 @@
1
- import * as o from "react";
2
- import { composeEventHandlers as T } from "./index78.js";
3
- import { createContextScope as S } from "./index76.js";
4
- import { useControllableState as D } from "./index80.js";
5
- import { useLayoutEffect as L } from "./index81.js";
6
- import { useComposedRefs as M } from "./index77.js";
7
- import { Primitive as v } from "./index82.js";
8
- import { Presence as k } from "./index83.js";
9
- import { useId as F } from "./index84.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";
110
- }
111
- var X = w, Y = I, Z = O;
1
+ import { clsx as O } from "./index43.js";
2
+ const m = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, y = O, j = (e, l) => (n) => {
3
+ var s;
4
+ if ((l == null ? void 0 : l.variants) == null) return y(e, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
5
+ const { variants: r, defaultVariants: d } = l, V = Object.keys(r).map((t) => {
6
+ const a = n == null ? void 0 : n[t], u = d == null ? void 0 : d[t];
7
+ if (a === null) return null;
8
+ const i = m(a) || m(u);
9
+ return r[t][i];
10
+ }), v = n && Object.entries(n).reduce((t, a) => {
11
+ let [u, i] = a;
12
+ return i === void 0 || (t[u] = i), t;
13
+ }, {}), N = l == null || (s = l.compoundVariants) === null || s === void 0 ? void 0 : s.reduce((t, a) => {
14
+ let { class: u, className: i, ...f } = a;
15
+ return Object.entries(f).every((C) => {
16
+ let [c, o] = C;
17
+ return Array.isArray(o) ? o.includes({
18
+ ...d,
19
+ ...v
20
+ }[c]) : {
21
+ ...d,
22
+ ...v
23
+ }[c] === o;
24
+ }) ? [
25
+ ...t,
26
+ u,
27
+ i
28
+ ] : t;
29
+ }, []);
30
+ return y(e, V, N, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
31
+ };
112
32
  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
33
+ j as cva,
34
+ y as cx
120
35
  };
package/dist/index48.js CHANGED
@@ -1,75 +1,127 @@
1
- import * as i from "react";
2
- import { createContextScope as C } from "./index85.js";
3
- import { useCallbackRef as h } from "./index86.js";
4
- import { useLayoutEffect as f } from "./index81.js";
5
- import { Primitive as m } from "./index87.js";
6
- import { useIsHydrated as _ } from "./index88.js";
7
- import { jsx as l } from "react/jsx-runtime";
8
- var v = "Avatar", [y] = C(v), [x, A] = y(v), L = i.forwardRef(
9
- (t, e) => {
10
- const { __scopeAvatar: o, ...r } = t, [n, a] = i.useState("idle");
11
- return /* @__PURE__ */ l(
12
- x,
1
+ import * as l from "react";
2
+ import { createContextScope as w } from "./index76.js";
3
+ import { useComposedRefs as v } from "./index77.js";
4
+ import { createDialogScope as A, Root as M, Portal as x, Trigger as I, Overlay as L, WarningProvider as $, Content as F, Title as G, Description as j, Close as f } from "./index61.js";
5
+ import { composeEventHandlers as W } from "./index78.js";
6
+ import { createSlottable as Y } from "./index79.js";
7
+ import { jsx as i, jsxs as q } from "react/jsx-runtime";
8
+ var D = "AlertDialog", [B] = w(D, [
9
+ A
10
+ ]), n = A(), m = (e) => {
11
+ const { __scopeAlertDialog: o, ...r } = e, t = n(o);
12
+ return /* @__PURE__ */ i(M, { ...t, ...r, modal: !0 });
13
+ };
14
+ m.displayName = D;
15
+ var H = "AlertDialogTrigger", y = l.forwardRef(
16
+ (e, o) => {
17
+ const { __scopeAlertDialog: r, ...t } = e, a = n(r);
18
+ return /* @__PURE__ */ i(I, { ...a, ...t, ref: o });
19
+ }
20
+ );
21
+ y.displayName = H;
22
+ var V = "AlertDialogPortal", _ = (e) => {
23
+ const { __scopeAlertDialog: o, ...r } = e, t = n(o);
24
+ return /* @__PURE__ */ i(x, { ...t, ...r });
25
+ };
26
+ _.displayName = V;
27
+ var k = "AlertDialogOverlay", N = l.forwardRef(
28
+ (e, o) => {
29
+ const { __scopeAlertDialog: r, ...t } = e, a = n(r);
30
+ return /* @__PURE__ */ i(L, { ...a, ...t, ref: o });
31
+ }
32
+ );
33
+ N.displayName = k;
34
+ var s = "AlertDialogContent", [z, J] = B(s), K = Y("AlertDialogContent"), R = l.forwardRef(
35
+ (e, o) => {
36
+ const { __scopeAlertDialog: r, children: t, ...a } = e, g = n(r), p = l.useRef(null), b = v(o, p), d = l.useRef(null);
37
+ return /* @__PURE__ */ i(
38
+ $,
13
39
  {
14
- scope: o,
15
- imageLoadingStatus: n,
16
- onImageLoadingStatusChange: a,
17
- children: /* @__PURE__ */ l(m.span, { ...r, ref: e })
40
+ contentName: s,
41
+ titleName: C,
42
+ docsSlug: "alert-dialog",
43
+ children: /* @__PURE__ */ i(z, { scope: r, cancelRef: d, children: /* @__PURE__ */ q(
44
+ F,
45
+ {
46
+ role: "alertdialog",
47
+ ...g,
48
+ ...a,
49
+ ref: b,
50
+ onOpenAutoFocus: W(a.onOpenAutoFocus, (c) => {
51
+ var u;
52
+ c.preventDefault(), (u = d.current) == null || u.focus({ preventScroll: !0 });
53
+ }),
54
+ onPointerDownOutside: (c) => c.preventDefault(),
55
+ onInteractOutside: (c) => c.preventDefault(),
56
+ children: [
57
+ /* @__PURE__ */ i(K, { children: t }),
58
+ /* @__PURE__ */ i(U, { contentRef: p })
59
+ ]
60
+ }
61
+ ) })
18
62
  }
19
63
  );
20
64
  }
21
65
  );
22
- L.displayName = v;
23
- var S = "AvatarImage", E = i.forwardRef(
24
- (t, e) => {
25
- const { __scopeAvatar: o, src: r, onLoadingStatusChange: n = () => {
26
- }, ...a } = t, u = A(S, o), s = N(r, a), d = h((c) => {
27
- n(c), u.onImageLoadingStatusChange(c);
28
- });
29
- return f(() => {
30
- s !== "idle" && d(s);
31
- }, [s, d]), s === "loaded" ? /* @__PURE__ */ l(m.img, { ...a, ref: e, src: r }) : null;
66
+ R.displayName = s;
67
+ var C = "AlertDialogTitle", h = l.forwardRef(
68
+ (e, o) => {
69
+ const { __scopeAlertDialog: r, ...t } = e, a = n(r);
70
+ return /* @__PURE__ */ i(G, { ...a, ...t, ref: o });
32
71
  }
33
72
  );
34
- E.displayName = S;
35
- var I = "AvatarFallback", R = i.forwardRef(
36
- (t, e) => {
37
- const { __scopeAvatar: o, delayMs: r, ...n } = t, a = A(I, o), [u, s] = i.useState(r === void 0);
38
- return i.useEffect(() => {
39
- if (r !== void 0) {
40
- const d = window.setTimeout(() => s(!0), r);
41
- return () => window.clearTimeout(d);
42
- }
43
- }, [r]), u && a.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ l(m.span, { ...n, ref: e }) : null;
73
+ h.displayName = C;
74
+ var E = "AlertDialogDescription", P = l.forwardRef((e, o) => {
75
+ const { __scopeAlertDialog: r, ...t } = e, a = n(r);
76
+ return /* @__PURE__ */ i(j, { ...a, ...t, ref: o });
77
+ });
78
+ P.displayName = E;
79
+ var Q = "AlertDialogAction", S = l.forwardRef(
80
+ (e, o) => {
81
+ const { __scopeAlertDialog: r, ...t } = e, a = n(r);
82
+ return /* @__PURE__ */ i(f, { ...a, ...t, ref: o });
83
+ }
84
+ );
85
+ S.displayName = Q;
86
+ var T = "AlertDialogCancel", O = l.forwardRef(
87
+ (e, o) => {
88
+ const { __scopeAlertDialog: r, ...t } = e, { cancelRef: a } = J(T, r), g = n(r), p = v(o, a);
89
+ return /* @__PURE__ */ i(f, { ...g, ...t, ref: p });
44
90
  }
45
91
  );
46
- R.displayName = I;
47
- function p(t, e) {
48
- return t ? e ? (t.src !== e && (t.src = e), t.complete && t.naturalWidth > 0 ? "loaded" : "loading") : "error" : "idle";
49
- }
50
- function N(t, { referrerPolicy: e, crossOrigin: o }) {
51
- const r = _(), n = i.useRef(null), a = r ? (n.current || (n.current = new window.Image()), n.current) : null, [u, s] = i.useState(
52
- () => p(a, t)
53
- );
54
- return f(() => {
55
- s(p(a, t));
56
- }, [a, t]), f(() => {
57
- const d = (w) => () => {
58
- s(w);
59
- };
60
- if (!a) return;
61
- const c = d("loaded"), g = d("error");
62
- return a.addEventListener("load", c), a.addEventListener("error", g), e && (a.referrerPolicy = e), typeof o == "string" && (a.crossOrigin = o), () => {
63
- a.removeEventListener("load", c), a.removeEventListener("error", g);
64
- };
65
- }, [a, o, e]), u;
66
- }
67
- var H = L, j = E, B = R;
92
+ O.displayName = T;
93
+ var U = ({ contentRef: e }) => {
94
+ const o = `\`${s}\` requires a description for the component to be accessible for screen reader users.
95
+
96
+ You can add a description to the \`${s}\` by passing a \`${E}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
97
+
98
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${s}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
99
+
100
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
101
+ return l.useEffect(() => {
102
+ var t;
103
+ document.getElementById(
104
+ (t = e.current) == null ? void 0 : t.getAttribute("aria-describedby")
105
+ ) || console.warn(o);
106
+ }, [o, e]), null;
107
+ }, ae = m, ie = y, le = _, ne = N, se = R, ce = S, pe = O, ge = h, de = P;
68
108
  export {
69
- L as Avatar,
70
- R as AvatarFallback,
71
- E as AvatarImage,
72
- B as Fallback,
73
- j as Image,
74
- H as Root
109
+ ce as Action,
110
+ m as AlertDialog,
111
+ S as AlertDialogAction,
112
+ O as AlertDialogCancel,
113
+ R as AlertDialogContent,
114
+ P as AlertDialogDescription,
115
+ N as AlertDialogOverlay,
116
+ _ as AlertDialogPortal,
117
+ h as AlertDialogTitle,
118
+ y as AlertDialogTrigger,
119
+ pe as Cancel,
120
+ se as Content,
121
+ de as Description,
122
+ ne as Overlay,
123
+ le as Portal,
124
+ ae as Root,
125
+ ge as Title,
126
+ ie as Trigger
75
127
  };
package/dist/index49.js CHANGED
@@ -1,251 +1,75 @@
1
- import * as s from "react";
2
- import { useComposedRefs as B } from "./index77.js";
3
- import { createContextScope as L } from "./index76.js";
4
- import { composeEventHandlers as S } from "./index78.js";
5
- import { useControllableState as O } from "./index80.js";
6
- import { usePrevious as j } from "./index89.js";
7
- import { useSize as H } from "./index90.js";
8
- import { Presence as z } from "./index83.js";
9
- import { Primitive as P } from "./index82.js";
10
- import { jsx as b, jsxs as G, Fragment as K } from "react/jsx-runtime";
11
- var g = "Checkbox", [U] = L(g), [X, E] = U(g);
12
- function J(t) {
13
- const {
14
- __scopeCheckbox: a,
15
- checked: c,
16
- children: u,
17
- defaultChecked: r,
18
- disabled: e,
19
- form: p,
20
- name: f,
21
- onCheckedChange: i,
22
- required: m,
23
- value: C = "on",
24
- // @ts-expect-error
25
- internal_do_not_use_render: d
26
- } = t, [l, v] = O({
27
- prop: c,
28
- defaultProp: r ?? !1,
29
- onChange: i,
30
- caller: g
31
- }), [k, x] = s.useState(null), [_, o] = s.useState(null), n = s.useRef(!1), I = k ? !!p || !!k.closest("form") : (
32
- // We set this to true by default so that events bubble to forms without JS (SSR)
33
- !0
34
- ), R = {
35
- checked: l,
36
- disabled: e,
37
- setChecked: v,
38
- control: k,
39
- setControl: x,
40
- name: f,
41
- form: p,
42
- value: C,
43
- hasConsumerStoppedPropagationRef: n,
44
- required: m,
45
- defaultChecked: h(r) ? !1 : r,
46
- isFormControl: I,
47
- bubbleInput: _,
48
- setBubbleInput: o
49
- };
50
- return /* @__PURE__ */ b(
51
- X,
52
- {
53
- scope: a,
54
- ...R,
55
- children: W(d) ? d(R) : u
56
- }
57
- );
58
- }
59
- var N = "CheckboxTrigger", w = s.forwardRef(
60
- ({ __scopeCheckbox: t, onKeyDown: a, onClick: c, ...u }, r) => {
61
- const {
62
- control: e,
63
- value: p,
64
- disabled: f,
65
- checked: i,
66
- required: m,
67
- setControl: C,
68
- setChecked: d,
69
- hasConsumerStoppedPropagationRef: l,
70
- isFormControl: v,
71
- bubbleInput: k
72
- } = E(N, t), x = B(r, C), _ = s.useRef(i);
73
- return s.useEffect(() => {
74
- const o = e == null ? void 0 : e.form;
75
- if (o) {
76
- const n = () => d(_.current);
77
- return o.addEventListener("reset", n), () => o.removeEventListener("reset", n);
78
- }
79
- }, [e, d]), /* @__PURE__ */ b(
80
- P.button,
81
- {
82
- type: "button",
83
- role: "checkbox",
84
- "aria-checked": h(i) ? "mixed" : i,
85
- "aria-required": m,
86
- "data-state": A(i),
87
- "data-disabled": f ? "" : void 0,
88
- disabled: f,
89
- value: p,
90
- ...u,
91
- ref: x,
92
- onKeyDown: S(a, (o) => {
93
- o.key === "Enter" && o.preventDefault();
94
- }),
95
- onClick: S(c, (o) => {
96
- d((n) => h(n) ? !0 : !n), k && v && (l.current = o.isPropagationStopped(), l.current || o.stopPropagation());
97
- })
98
- }
99
- );
100
- }
101
- );
102
- w.displayName = N;
103
- var Q = s.forwardRef(
104
- (t, a) => {
105
- const {
106
- __scopeCheckbox: c,
107
- name: u,
108
- checked: r,
109
- defaultChecked: e,
110
- required: p,
111
- disabled: f,
112
- value: i,
113
- onCheckedChange: m,
114
- form: C,
115
- ...d
116
- } = t;
117
- return /* @__PURE__ */ b(
118
- J,
1
+ import * as i from "react";
2
+ import { createContextScope as C } from "./index80.js";
3
+ import { useCallbackRef as h } from "./index81.js";
4
+ import { useLayoutEffect as f } from "./index82.js";
5
+ import { Primitive as m } from "./index83.js";
6
+ import { useIsHydrated as _ } from "./index84.js";
7
+ import { jsx as l } from "react/jsx-runtime";
8
+ var v = "Avatar", [y] = C(v), [x, A] = y(v), L = i.forwardRef(
9
+ (t, e) => {
10
+ const { __scopeAvatar: o, ...r } = t, [n, a] = i.useState("idle");
11
+ return /* @__PURE__ */ l(
12
+ x,
119
13
  {
120
- __scopeCheckbox: c,
121
- checked: r,
122
- defaultChecked: e,
123
- disabled: f,
124
- required: p,
125
- onCheckedChange: m,
126
- name: u,
127
- form: C,
128
- value: i,
129
- internal_do_not_use_render: ({ isFormControl: l }) => /* @__PURE__ */ G(K, { children: [
130
- /* @__PURE__ */ b(
131
- w,
132
- {
133
- ...d,
134
- ref: a,
135
- __scopeCheckbox: c
136
- }
137
- ),
138
- l && /* @__PURE__ */ b(
139
- q,
140
- {
141
- __scopeCheckbox: c
142
- }
143
- )
144
- ] })
14
+ scope: o,
15
+ imageLoadingStatus: n,
16
+ onImageLoadingStatusChange: a,
17
+ children: /* @__PURE__ */ l(m.span, { ...r, ref: e })
145
18
  }
146
19
  );
147
20
  }
148
21
  );
149
- Q.displayName = g;
150
- var T = "CheckboxIndicator", V = s.forwardRef(
151
- (t, a) => {
152
- const { __scopeCheckbox: c, forceMount: u, ...r } = t, e = E(T, c);
153
- return /* @__PURE__ */ b(
154
- z,
155
- {
156
- present: u || h(e.checked) || e.checked === !0,
157
- children: /* @__PURE__ */ b(
158
- P.span,
159
- {
160
- "data-state": A(e.checked),
161
- "data-disabled": e.disabled ? "" : void 0,
162
- ...r,
163
- ref: a,
164
- style: { pointerEvents: "none", ...t.style }
165
- }
166
- )
167
- }
168
- );
22
+ L.displayName = v;
23
+ var S = "AvatarImage", E = i.forwardRef(
24
+ (t, e) => {
25
+ const { __scopeAvatar: o, src: r, onLoadingStatusChange: n = () => {
26
+ }, ...a } = t, u = A(S, o), s = N(r, a), d = h((c) => {
27
+ n(c), u.onImageLoadingStatusChange(c);
28
+ });
29
+ return f(() => {
30
+ s !== "idle" && d(s);
31
+ }, [s, d]), s === "loaded" ? /* @__PURE__ */ l(m.img, { ...a, ref: e, src: r }) : null;
169
32
  }
170
33
  );
171
- V.displayName = T;
172
- var M = "CheckboxBubbleInput", q = s.forwardRef(
173
- ({ __scopeCheckbox: t, ...a }, c) => {
174
- const {
175
- control: u,
176
- hasConsumerStoppedPropagationRef: r,
177
- checked: e,
178
- defaultChecked: p,
179
- required: f,
180
- disabled: i,
181
- name: m,
182
- value: C,
183
- form: d,
184
- bubbleInput: l,
185
- setBubbleInput: v
186
- } = E(M, t), k = B(c, v), x = j(e), _ = H(u);
187
- s.useEffect(() => {
188
- const n = l;
189
- if (!n) return;
190
- const I = window.HTMLInputElement.prototype, y = Object.getOwnPropertyDescriptor(
191
- I,
192
- "checked"
193
- ).set, D = !r.current;
194
- if (x !== e && y) {
195
- const F = new Event("click", { bubbles: D });
196
- n.indeterminate = h(e), y.call(n, h(e) ? !1 : e), n.dispatchEvent(F);
197
- }
198
- }, [l, x, e, r]);
199
- const o = s.useRef(h(e) ? !1 : e);
200
- return /* @__PURE__ */ b(
201
- P.input,
202
- {
203
- type: "checkbox",
204
- "aria-hidden": !0,
205
- defaultChecked: p ?? o.current,
206
- required: f,
207
- disabled: i,
208
- name: m,
209
- value: C,
210
- form: d,
211
- ...a,
212
- tabIndex: -1,
213
- ref: k,
214
- style: {
215
- ...a.style,
216
- ..._,
217
- position: "absolute",
218
- pointerEvents: "none",
219
- opacity: 0,
220
- margin: 0,
221
- // We transform because the input is absolutely positioned but we have
222
- // rendered it **after** the button. This pulls it back to sit on top
223
- // of the button.
224
- transform: "translateX(-100%)"
225
- }
34
+ E.displayName = S;
35
+ var I = "AvatarFallback", R = i.forwardRef(
36
+ (t, e) => {
37
+ const { __scopeAvatar: o, delayMs: r, ...n } = t, a = A(I, o), [u, s] = i.useState(r === void 0);
38
+ return i.useEffect(() => {
39
+ if (r !== void 0) {
40
+ const d = window.setTimeout(() => s(!0), r);
41
+ return () => window.clearTimeout(d);
226
42
  }
227
- );
43
+ }, [r]), u && a.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ l(m.span, { ...n, ref: e }) : null;
228
44
  }
229
45
  );
230
- q.displayName = M;
231
- function W(t) {
232
- return typeof t == "function";
46
+ R.displayName = I;
47
+ function p(t, e) {
48
+ return t ? e ? (t.src !== e && (t.src = e), t.complete && t.naturalWidth > 0 ? "loaded" : "loading") : "error" : "idle";
233
49
  }
234
- function h(t) {
235
- return t === "indeterminate";
236
- }
237
- function A(t) {
238
- return h(t) ? "indeterminate" : t ? "checked" : "unchecked";
50
+ function N(t, { referrerPolicy: e, crossOrigin: o }) {
51
+ const r = _(), n = i.useRef(null), a = r ? (n.current || (n.current = new window.Image()), n.current) : null, [u, s] = i.useState(
52
+ () => p(a, t)
53
+ );
54
+ return f(() => {
55
+ s(p(a, t));
56
+ }, [a, t]), f(() => {
57
+ const d = (w) => () => {
58
+ s(w);
59
+ };
60
+ if (!a) return;
61
+ const c = d("loaded"), g = d("error");
62
+ return a.addEventListener("load", c), a.addEventListener("error", g), e && (a.referrerPolicy = e), typeof o == "string" && (a.crossOrigin = o), () => {
63
+ a.removeEventListener("load", c), a.removeEventListener("error", g);
64
+ };
65
+ }, [a, o, e]), u;
239
66
  }
67
+ var H = L, j = E, B = R;
240
68
  export {
241
- Q as Checkbox,
242
- V as CheckboxIndicator,
243
- V as Indicator,
244
- Q as Root,
245
- q as unstable_BubbleInput,
246
- q as unstable_CheckboxBubbleInput,
247
- J as unstable_CheckboxProvider,
248
- w as unstable_CheckboxTrigger,
249
- J as unstable_Provider,
250
- w as unstable_Trigger
69
+ L as Avatar,
70
+ R as AvatarFallback,
71
+ E as AvatarImage,
72
+ B as Fallback,
73
+ j as Image,
74
+ H as Root
251
75
  };
package/dist/index5.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import * as o from "react";
3
- import { cva as i } from "./index46.js";
3
+ import { cva as i } from "./index47.js";
4
4
  import { cn as s } from "./index2.js";
5
5
  const n = i(
6
6
  "relative w-full px-4 py-3 text-sm font-medium [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg~*]:pl-7",