@drjoshcsimmons/scl 0.1.1 → 0.1.3

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 (83) hide show
  1. package/README.md +202 -13
  2. package/dist/index100.js +50 -9
  3. package/dist/index101.js +9 -50
  4. package/dist/index102.js +627 -196
  5. package/dist/index103.js +180 -3
  6. package/dist/index104.js +15 -30
  7. package/dist/index11.js +2 -2
  8. package/dist/index110.js +1 -1
  9. package/dist/index12.js +1 -1
  10. package/dist/index13.js +2 -2
  11. package/dist/index14.js +2 -2
  12. package/dist/index15.js +2 -2
  13. package/dist/index17.js +3 -3
  14. package/dist/index18.js +2 -2
  15. package/dist/index20.js +2 -2
  16. package/dist/index21.js +1 -1
  17. package/dist/index22.js +1 -1
  18. package/dist/index23.js +2 -2
  19. package/dist/index24.js +1 -1
  20. package/dist/index25.js +4 -4
  21. package/dist/index26.js +1 -1
  22. package/dist/index27.js +3 -3
  23. package/dist/index29.js +1 -1
  24. package/dist/index31.js +1 -1
  25. package/dist/index33.js +1 -1
  26. package/dist/index36.js +2 -2
  27. package/dist/index37.js +1 -1
  28. package/dist/index4.js +2 -2
  29. package/dist/index45.js +124 -32
  30. package/dist/index46.js +32 -124
  31. package/dist/index47.js +100 -219
  32. package/dist/index48.js +73 -11
  33. package/dist/index49.js +244 -55
  34. package/dist/index5.js +1 -1
  35. package/dist/index50.js +9 -249
  36. package/dist/index51.js +237 -9
  37. package/dist/index52.js +11 -73
  38. package/dist/index53.js +16 -234
  39. package/dist/index54.js +860 -11
  40. package/dist/index55.js +9 -310
  41. package/dist/index56.js +225 -12
  42. package/dist/index57.js +11 -225
  43. package/dist/index59.js +58 -29
  44. package/dist/index6.js +1 -1
  45. package/dist/index60.js +248 -254
  46. package/dist/index61.js +530 -12
  47. package/dist/index62.js +224 -101
  48. package/dist/index63.js +260 -12
  49. package/dist/index64.js +12 -22
  50. package/dist/index65.js +12 -18
  51. package/dist/index66.js +407 -213
  52. package/dist/index67.js +143 -112
  53. package/dist/index68.js +317 -142
  54. package/dist/index69.js +76 -248
  55. package/dist/index7.js +1 -1
  56. package/dist/index70.js +299 -71
  57. package/dist/index71.js +12 -530
  58. package/dist/index72.js +20 -433
  59. package/dist/index73.js +216 -316
  60. package/dist/index74.js +105 -835
  61. package/dist/index75.js +31 -9
  62. package/dist/index8.js +1 -1
  63. package/dist/index80.js +50 -44
  64. package/dist/index81.js +4 -52
  65. package/dist/index83.js +68 -10
  66. package/dist/index84.js +10 -7
  67. package/dist/index85.js +54 -5
  68. package/dist/index86.js +10 -24
  69. package/dist/index87.js +29 -68
  70. package/dist/index88.js +10 -52
  71. package/dist/index89.js +5 -10
  72. package/dist/index9.js +2 -2
  73. package/dist/index90.js +25 -4
  74. package/dist/index91.js +46 -30
  75. package/dist/index92.js +7 -12
  76. package/dist/index93.js +3 -180
  77. package/dist/index94.js +122 -12
  78. package/dist/index95.js +11 -646
  79. package/dist/index96.js +125 -115
  80. package/dist/index97.js +212 -128
  81. package/dist/index98.js +1 -1
  82. package/dist/index99.js +30 -15
  83. package/package.json +3 -2
package/dist/index46.js CHANGED
@@ -1,127 +1,35 @@
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 "./index60.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 });
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);
13
31
  };
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
- $,
39
- {
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
- ) })
62
- }
63
- );
64
- }
65
- );
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 });
71
- }
72
- );
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 });
90
- }
91
- );
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;
108
32
  export {
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
33
+ j as cva,
34
+ y as cx
127
35
  };
package/dist/index47.js CHANGED
@@ -1,239 +1,120 @@
1
- import s from "react";
2
- import { createContextScope as X } from "./index76.js";
3
- import { createCollection as Z } from "./index80.js";
4
- import { useComposedRefs as $ } from "./index77.js";
5
- import { composeEventHandlers as ee } from "./index78.js";
6
- import { useControllableState as M } from "./index81.js";
7
- import { Primitive as V } from "./index82.js";
8
- import { createCollapsibleScope as H, Root as oe, Trigger as re, Content as te } from "./index62.js";
9
- import { useId as ne } from "./index83.js";
10
- import { useDirection as ce } from "./index84.js";
11
- import { jsx as n } from "react/jsx-runtime";
12
- var d = "Accordion", ie = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"], [E, ae, le] = Z(d), [b] = X(d, [
13
- le,
14
- H
15
- ]), S = H(), K = s.forwardRef(
16
- (o, c) => {
17
- const { type: e, ...t } = o, i = t, r = t;
18
- return /* @__PURE__ */ n(E.Provider, { scope: o.__scopeAccordion, children: e === "multiple" ? /* @__PURE__ */ n(fe, { ...r, ref: c }) : /* @__PURE__ */ n(pe, { ...i, ref: c }) });
19
- }
20
- );
21
- K.displayName = d;
22
- var [L, se] = b(d), [z, de] = b(
23
- d,
24
- { collapsible: !1 }
25
- ), pe = s.forwardRef(
26
- (o, c) => {
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) => {
27
13
  const {
28
- value: e,
29
- defaultValue: t,
30
- onValueChange: i = () => {
31
- },
32
- collapsible: r = !1,
33
- ...l
34
- } = o, [a, p] = M({
35
- prop: e,
36
- defaultProp: t ?? "",
37
- onChange: i,
38
- caller: d
39
- });
40
- return /* @__PURE__ */ n(
41
- L,
42
- {
43
- scope: o.__scopeAccordion,
44
- value: s.useMemo(() => a ? [a] : [], [a]),
45
- onItemOpen: p,
46
- onItemClose: s.useCallback(() => r && p(""), [r, p]),
47
- children: /* @__PURE__ */ n(z, { scope: o.__scopeAccordion, collapsible: r, children: /* @__PURE__ */ n(G, { ...l, ref: c }) })
48
- }
49
- );
50
- }
51
- ), fe = s.forwardRef((o, c) => {
52
- const {
53
- value: e,
54
- defaultValue: t,
55
- onValueChange: i = () => {
56
- },
57
- ...r
58
- } = o, [l, a] = M({
59
- prop: e,
60
- defaultProp: t ?? [],
61
- onChange: i,
62
- caller: d
63
- }), p = s.useCallback(
64
- (v) => a((u = []) => [...u, v]),
65
- [a]
66
- ), m = s.useCallback(
67
- (v) => a((u = []) => u.filter((h) => h !== v)),
68
- [a]
69
- );
70
- return /* @__PURE__ */ n(
71
- L,
72
- {
73
- scope: o.__scopeAccordion,
74
- value: l,
75
- onItemOpen: p,
76
- onItemClose: m,
77
- children: /* @__PURE__ */ n(z, { scope: o.__scopeAccordion, collapsible: !0, children: /* @__PURE__ */ n(G, { ...r, ref: c }) })
78
- }
79
- );
80
- }), [ue, I] = b(d), G = s.forwardRef(
81
- (o, c) => {
82
- const { __scopeAccordion: e, disabled: t, dir: i, orientation: r = "vertical", ...l } = o, a = s.useRef(null), p = $(a, c), m = ae(e), u = ce(i) === "ltr", h = ee(o.onKeyDown, (C) => {
83
- var O;
84
- if (!ie.includes(C.key)) return;
85
- const Q = C.target, x = m().filter((N) => {
86
- var T;
87
- return !((T = N.ref.current) != null && T.disabled);
88
- }), A = x.findIndex((N) => N.ref.current === Q), D = x.length;
89
- if (A === -1) return;
90
- C.preventDefault();
91
- let f = A;
92
- const _ = 0, w = D - 1, R = () => {
93
- f = A + 1, f > w && (f = _);
94
- }, P = () => {
95
- f = A - 1, f < _ && (f = w);
96
- };
97
- switch (C.key) {
98
- case "Home":
99
- f = _;
100
- break;
101
- case "End":
102
- f = w;
103
- break;
104
- case "ArrowRight":
105
- r === "horizontal" && (u ? R() : P());
106
- break;
107
- case "ArrowDown":
108
- r === "vertical" && R();
109
- break;
110
- case "ArrowLeft":
111
- r === "horizontal" && (u ? P() : R());
112
- break;
113
- case "ArrowUp":
114
- r === "vertical" && P();
115
- break;
116
- }
117
- const W = f % D;
118
- (O = x[W].ref.current) == null || O.focus();
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
119
25
  });
120
- return /* @__PURE__ */ n(
121
- ue,
26
+ return /* @__PURE__ */ c(
27
+ G,
122
28
  {
123
- scope: e,
124
- disabled: t,
125
- direction: i,
126
- orientation: r,
127
- children: /* @__PURE__ */ n(E.Slot, { scope: e, children: /* @__PURE__ */ n(
128
- V.div,
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,
129
36
  {
130
- ...l,
131
- "data-orientation": r,
132
- ref: p,
133
- onKeyDown: t ? void 0 : h
134
- }
135
- ) })
136
- }
137
- );
138
- }
139
- ), g = "AccordionItem", [me, k] = b(g), U = s.forwardRef(
140
- (o, c) => {
141
- const { __scopeAccordion: e, value: t, ...i } = o, r = I(g, e), l = se(g, e), a = S(e), p = ne(), m = t && l.value.includes(t) || !1, v = r.disabled || o.disabled;
142
- return /* @__PURE__ */ n(
143
- me,
144
- {
145
- scope: e,
146
- open: m,
147
- disabled: v,
148
- triggerId: p,
149
- children: /* @__PURE__ */ n(
150
- oe,
151
- {
152
- "data-orientation": r.orientation,
153
- "data-state": J(m),
154
- ...a,
155
- ...i,
156
- ref: c,
157
- disabled: v,
158
- open: m,
159
- onOpenChange: (u) => {
160
- u ? l.onItemOpen(t) : l.onItemClose(t);
161
- }
37
+ "data-state": h(d),
38
+ "data-disabled": l ? "" : void 0,
39
+ ...m,
40
+ ref: a
162
41
  }
163
42
  )
164
43
  }
165
44
  );
166
45
  }
167
46
  );
168
- U.displayName = g;
169
- var j = "AccordionHeader", Y = s.forwardRef(
170
- (o, c) => {
171
- const { __scopeAccordion: e, ...t } = o, i = I(d, e), r = k(j, e);
172
- return /* @__PURE__ */ n(
173
- V.h3,
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,
174
53
  {
175
- "data-orientation": i.orientation,
176
- "data-state": J(r.open),
177
- "data-disabled": r.disabled ? "" : void 0,
178
- ...t,
179
- ref: c
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)
180
63
  }
181
64
  );
182
65
  }
183
66
  );
184
- Y.displayName = j;
185
- var y = "AccordionTrigger", q = s.forwardRef(
186
- (o, c) => {
187
- const { __scopeAccordion: e, ...t } = o, i = I(d, e), r = k(y, e), l = de(y, e), a = S(e);
188
- return /* @__PURE__ */ n(E.ItemSlot, { scope: e, children: /* @__PURE__ */ n(
189
- re,
190
- {
191
- "aria-disabled": r.open && !l.collapsible || void 0,
192
- "data-orientation": i.orientation,
193
- id: r.triggerId,
194
- ...a,
195
- ...t,
196
- ref: c
197
- }
198
- ) });
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 }) });
199
72
  }
200
73
  );
201
- q.displayName = y;
202
- var B = "AccordionContent", F = s.forwardRef(
203
- (o, c) => {
204
- const { __scopeAccordion: e, ...t } = o, i = I(d, e), r = k(B, e), l = S(e);
205
- return /* @__PURE__ */ n(
206
- te,
207
- {
208
- role: "region",
209
- "aria-labelledby": r.triggerId,
210
- "data-orientation": i.orientation,
211
- ...l,
212
- ...t,
213
- ref: c,
214
- style: {
215
- "--radix-accordion-content-height": "var(--radix-collapsible-content-height)",
216
- "--radix-accordion-content-width": "var(--radix-collapsible-content-width)",
217
- ...o.style
218
- }
219
- }
220
- );
221
- }
222
- );
223
- F.displayName = B;
224
- function J(o) {
225
- return o ? "open" : "closed";
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";
226
110
  }
227
- var Pe = K, Ne = U, ye = Y, Ee = q, Se = F;
111
+ var X = w, Y = I, Z = O;
228
112
  export {
229
- K as Accordion,
230
- F as AccordionContent,
231
- Y as AccordionHeader,
232
- U as AccordionItem,
233
- q as AccordionTrigger,
234
- Se as Content,
235
- ye as Header,
236
- Ne as Item,
237
- Pe as Root,
238
- Ee as Trigger
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
239
120
  };
package/dist/index48.js CHANGED
@@ -1,13 +1,75 @@
1
- import o from "./index106.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 n = o("ChevronDown", [
9
- ["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]
10
- ]);
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,
13
+ {
14
+ scope: o,
15
+ imageLoadingStatus: n,
16
+ onImageLoadingStatusChange: a,
17
+ children: /* @__PURE__ */ l(m.span, { ...r, ref: e })
18
+ }
19
+ );
20
+ }
21
+ );
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;
32
+ }
33
+ );
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;
44
+ }
45
+ );
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;
11
68
  export {
12
- n as default
69
+ L as Avatar,
70
+ R as AvatarFallback,
71
+ E as AvatarImage,
72
+ B as Fallback,
73
+ j as Image,
74
+ H as Root
13
75
  };