@drjoshcsimmons/scl 0.1.4 → 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 (88) hide show
  1. package/dist/index100.js +8 -14
  2. package/dist/index101.js +50 -9
  3. package/dist/index102.js +218 -49
  4. package/dist/index103.js +29 -218
  5. package/dist/index104.js +178 -27
  6. package/dist/index11.js +2 -2
  7. package/dist/index110.js +1 -1
  8. package/dist/index112.js +1 -1
  9. package/dist/index13.js +2 -2
  10. package/dist/index131.js +1 -1
  11. package/dist/index132.js +1 -1
  12. package/dist/index137.js +11 -21
  13. package/dist/index138.js +26 -11
  14. package/dist/index139.js +4 -27
  15. package/dist/index14.js +2 -2
  16. package/dist/index140.js +22 -4
  17. package/dist/index15.js +2 -2
  18. package/dist/index17.js +1 -1
  19. package/dist/index18.js +2 -2
  20. package/dist/index20.js +2 -2
  21. package/dist/index21.js +1 -1
  22. package/dist/index22.js +1 -1
  23. package/dist/index23.js +1 -1
  24. package/dist/index24.js +1 -1
  25. package/dist/index25.js +3 -3
  26. package/dist/index26.js +1 -1
  27. package/dist/index27.js +3 -3
  28. package/dist/index29.js +1 -1
  29. package/dist/index31.js +1 -1
  30. package/dist/index33.js +1 -1
  31. package/dist/index36.js +2 -2
  32. package/dist/index37.js +1 -1
  33. package/dist/index45.js +7 -7
  34. package/dist/index47.js +33 -435
  35. package/dist/index48.js +111 -147
  36. package/dist/index49.js +65 -302
  37. package/dist/index5.js +1 -1
  38. package/dist/index50.js +60 -12
  39. package/dist/index51.js +253 -32
  40. package/dist/index52.js +7 -7
  41. package/dist/index53.js +302 -65
  42. package/dist/index54.js +4 -4
  43. package/dist/index55.js +4 -1
  44. package/dist/index56.js +9 -249
  45. package/dist/index57.js +432 -57
  46. package/dist/index58.js +6 -6
  47. package/dist/index6.js +1 -1
  48. package/dist/index61.js +234 -99
  49. package/dist/index62.js +12 -260
  50. package/dist/index63.js +860 -12
  51. package/dist/index64.js +9 -82
  52. package/dist/index65.js +505 -211
  53. package/dist/index66.js +138 -507
  54. package/dist/index67.js +17 -21
  55. package/dist/index68.js +16 -854
  56. package/dist/index69.js +336 -9
  57. package/dist/index7.js +1 -1
  58. package/dist/index70.js +126 -250
  59. package/dist/index71.js +82 -31
  60. package/dist/index72.js +216 -311
  61. package/dist/index73.js +222 -214
  62. package/dist/index74.js +30 -17
  63. package/dist/index75.js +197 -91
  64. package/dist/index77.js +25 -44
  65. package/dist/index78.js +5 -25
  66. package/dist/index79.js +53 -6
  67. package/dist/index8.js +1 -1
  68. package/dist/index80.js +52 -49
  69. package/dist/index81.js +10 -33
  70. package/dist/index82.js +4 -11
  71. package/dist/index83.js +30 -8
  72. package/dist/index84.js +12 -3
  73. package/dist/index85.js +51 -5
  74. package/dist/index86.js +33 -24
  75. package/dist/index87.js +65 -177
  76. package/dist/index88.js +10 -68
  77. package/dist/index9.js +2 -2
  78. package/dist/index90.js +46 -30
  79. package/dist/index91.js +7 -54
  80. package/dist/index92.js +3 -10
  81. package/dist/index93.js +6 -4
  82. package/dist/index94.js +24 -12
  83. package/dist/index95.js +647 -51
  84. package/dist/index96.js +112 -637
  85. package/dist/index97.js +126 -116
  86. package/dist/index98.js +13 -134
  87. package/dist/index99.js +14 -13
  88. package/package.json +1 -1
package/dist/index48.js CHANGED
@@ -1,163 +1,127 @@
1
- import * as v from "react";
2
- import { composeEventHandlers as g } from "./index79.js";
3
- import { createContextScope as x } from "./index76.js";
4
- import { createRovingFocusGroupScope as C, Root as E, Item as F } from "./index87.js";
5
- import { Presence as w } from "./index88.js";
6
- import { Primitive as b } from "./index81.js";
7
- import { useDirection as D } from "./index83.js";
8
- import { useControllableState as V } from "./index80.js";
9
- import { useId as G } from "./index82.js";
10
- import { jsx as l } from "react/jsx-runtime";
11
- var p = "Tabs", [L] = x(p, [
12
- C
13
- ]), h = C(), [$, T] = L(p), I = v.forwardRef(
14
- (e, r) => {
15
- const {
16
- __scopeTabs: s,
17
- value: t,
18
- onValueChange: n,
19
- defaultValue: c,
20
- orientation: o = "horizontal",
21
- dir: d,
22
- activationMode: f = "automatic",
23
- ...m
24
- } = e, i = D(d), [a, u] = V({
25
- prop: t,
26
- onChange: n,
27
- defaultProp: c ?? "",
28
- caller: p
29
- });
30
- return /* @__PURE__ */ l(
31
- $,
32
- {
33
- scope: s,
34
- baseId: G(),
35
- value: a,
36
- onValueChange: u,
37
- orientation: o,
38
- dir: i,
39
- activationMode: f,
40
- children: /* @__PURE__ */ l(
41
- b.div,
42
- {
43
- dir: i,
44
- "data-orientation": o,
45
- ...m,
46
- ref: r
47
- }
48
- )
49
- }
50
- );
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 });
51
19
  }
52
20
  );
53
- I.displayName = p;
54
- var R = "TabsList", _ = v.forwardRef(
55
- (e, r) => {
56
- const { __scopeTabs: s, loop: t = !0, ...n } = e, c = T(R, s), o = h(s);
57
- return /* @__PURE__ */ l(
58
- E,
59
- {
60
- asChild: !0,
61
- ...o,
62
- orientation: c.orientation,
63
- dir: c.dir,
64
- loop: t,
65
- children: /* @__PURE__ */ l(
66
- b.div,
67
- {
68
- role: "tablist",
69
- "aria-orientation": c.orientation,
70
- ...n,
71
- ref: r
72
- }
73
- )
74
- }
75
- );
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 });
76
31
  }
77
32
  );
78
- _.displayName = R;
79
- var y = "TabsTrigger", A = v.forwardRef(
80
- (e, r) => {
81
- const { __scopeTabs: s, value: t, disabled: n = !1, ...c } = e, o = T(y, s), d = h(s), f = P(o.baseId, t), m = S(o.baseId, t), i = t === o.value;
82
- return /* @__PURE__ */ l(
83
- F,
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
+ $,
84
39
  {
85
- asChild: !0,
86
- ...d,
87
- focusable: !n,
88
- active: i,
89
- children: /* @__PURE__ */ l(
90
- b.button,
40
+ contentName: s,
41
+ titleName: C,
42
+ docsSlug: "alert-dialog",
43
+ children: /* @__PURE__ */ i(z, { scope: r, cancelRef: d, children: /* @__PURE__ */ q(
44
+ F,
91
45
  {
92
- type: "button",
93
- role: "tab",
94
- "aria-selected": i,
95
- "aria-controls": m,
96
- "data-state": i ? "active" : "inactive",
97
- "data-disabled": n ? "" : void 0,
98
- disabled: n,
99
- id: f,
100
- ...c,
101
- ref: r,
102
- onMouseDown: g(e.onMouseDown, (a) => {
103
- !n && a.button === 0 && a.ctrlKey === !1 ? o.onValueChange(t) : a.preventDefault();
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 });
104
53
  }),
105
- onKeyDown: g(e.onKeyDown, (a) => {
106
- [" ", "Enter"].includes(a.key) && o.onValueChange(t);
107
- }),
108
- onFocus: g(e.onFocus, () => {
109
- const a = o.activationMode !== "manual";
110
- !i && !n && a && o.onValueChange(t);
111
- })
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
+ ]
112
60
  }
113
- )
61
+ ) })
114
62
  }
115
63
  );
116
64
  }
117
65
  );
118
- A.displayName = y;
119
- var M = "TabsContent", N = v.forwardRef(
120
- (e, r) => {
121
- const { __scopeTabs: s, value: t, forceMount: n, children: c, ...o } = e, d = T(M, s), f = P(d.baseId, t), m = S(d.baseId, t), i = t === d.value, a = v.useRef(i);
122
- return v.useEffect(() => {
123
- const u = requestAnimationFrame(() => a.current = !1);
124
- return () => cancelAnimationFrame(u);
125
- }, []), /* @__PURE__ */ l(w, { present: n || i, children: ({ present: u }) => /* @__PURE__ */ l(
126
- b.div,
127
- {
128
- "data-state": i ? "active" : "inactive",
129
- "data-orientation": d.orientation,
130
- role: "tabpanel",
131
- "aria-labelledby": f,
132
- hidden: !u,
133
- id: m,
134
- tabIndex: 0,
135
- ...o,
136
- ref: r,
137
- style: {
138
- ...e.style,
139
- animationDuration: a.current ? "0s" : void 0
140
- },
141
- children: u && c
142
- }
143
- ) });
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 });
144
90
  }
145
91
  );
146
- N.displayName = M;
147
- function P(e, r) {
148
- return `${e}-trigger-${r}`;
149
- }
150
- function S(e, r) {
151
- return `${e}-content-${r}`;
152
- }
153
- var Q = I, U = _, W = A, X = N;
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;
154
108
  export {
155
- X as Content,
156
- U as List,
157
- Q as Root,
158
- I as Tabs,
159
- N as TabsContent,
160
- _ as TabsList,
161
- A as TabsTrigger,
162
- W as Trigger
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
163
127
  };
package/dist/index49.js CHANGED
@@ -1,312 +1,75 @@
1
- import { a as pe } from "./index89.js";
2
- import { Root as ge, Portal as he, Overlay as be, Content as Ee } from "./index62.js";
3
- import * as n from "react";
4
- import { Primitive as I } from "./index90.js";
5
- import { useId as K } from "./index82.js";
6
- import { composeRefs as q } from "./index78.js";
7
- var $ = '[cmdk-group=""]', X = '[cmdk-group-items=""]', ye = '[cmdk-group-heading=""]', oe = '[cmdk-item=""]', ie = `${oe}:not([aria-disabled="true"])`, Y = "cmdk-item-select", D = "data-value", Ce = (t, a, r) => pe(t, a, r), ce = n.createContext(void 0), O = () => n.useContext(ce), de = n.createContext(void 0), Z = () => n.useContext(de), se = n.createContext(void 0), fe = n.forwardRef((t, a) => {
8
- let r = F(() => {
9
- var e, u;
10
- return { search: "", value: (u = (e = t.value) != null ? e : t.defaultValue) != null ? u : "", selectedItemId: void 0, filtered: { count: 0, items: /* @__PURE__ */ new Map(), groups: /* @__PURE__ */ new Set() } };
11
- }), v = F(() => /* @__PURE__ */ new Set()), i = F(() => /* @__PURE__ */ new Map()), c = F(() => /* @__PURE__ */ new Map()), d = F(() => /* @__PURE__ */ new Set()), m = me(t), { label: b, children: s, value: h, onValueChange: R, filter: k, shouldFilter: w, loop: V, disablePointerSelection: B = !1, vimBindings: x = !0, ...j } = t, U = K(), ee = K(), W = K(), A = n.useRef(null), g = Fe();
12
- M(() => {
13
- if (h !== void 0) {
14
- let e = h.trim();
15
- r.current.value = e, y.emit();
16
- }
17
- }, [h]), M(() => {
18
- g(6, re);
19
- }, []);
20
- let y = n.useMemo(() => ({ subscribe: (e) => (d.current.add(e), () => d.current.delete(e)), snapshot: () => r.current, setState: (e, u, o) => {
21
- var l, f, p, C;
22
- if (!Object.is(r.current[e], u)) {
23
- if (r.current[e] = u, e === "search") T(), G(), g(1, H);
24
- else if (e === "value") {
25
- if (document.activeElement.hasAttribute("cmdk-input") || document.activeElement.hasAttribute("cmdk-root")) {
26
- let E = document.getElementById(W);
27
- E ? E.focus() : (l = document.getElementById(U)) == null || l.focus();
28
- }
29
- if (g(7, () => {
30
- var E;
31
- r.current.selectedItemId = (E = P()) == null ? void 0 : E.id, y.emit();
32
- }), o || g(5, re), ((f = m.current) == null ? void 0 : f.value) !== void 0) {
33
- let E = u ?? "";
34
- (C = (p = m.current).onValueChange) == null || C.call(p, E);
35
- return;
36
- }
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,
13
+ {
14
+ scope: o,
15
+ imageLoadingStatus: n,
16
+ onImageLoadingStatusChange: a,
17
+ children: /* @__PURE__ */ l(m.span, { ...r, ref: e })
37
18
  }
38
- y.emit();
39
- }
40
- }, emit: () => {
41
- d.current.forEach((e) => e());
42
- } }), []), _ = n.useMemo(() => ({ value: (e, u, o) => {
43
- var l;
44
- u !== ((l = c.current.get(e)) == null ? void 0 : l.value) && (c.current.set(e, { value: u, keywords: o }), r.current.filtered.items.set(e, te(u, o)), g(2, () => {
45
- G(), y.emit();
46
- }));
47
- }, item: (e, u) => (v.current.add(e), u && (i.current.has(u) ? i.current.get(u).add(e) : i.current.set(u, /* @__PURE__ */ new Set([e]))), g(3, () => {
48
- T(), G(), r.current.value || H(), y.emit();
49
- }), () => {
50
- c.current.delete(e), v.current.delete(e), r.current.filtered.items.delete(e);
51
- let o = P();
52
- g(4, () => {
53
- T(), (o == null ? void 0 : o.getAttribute("id")) === e && H(), y.emit();
54
- });
55
- }), group: (e) => (i.current.has(e) || i.current.set(e, /* @__PURE__ */ new Set()), () => {
56
- c.current.delete(e), i.current.delete(e);
57
- }), filter: () => m.current.shouldFilter, label: b || t["aria-label"], getDisablePointerSelection: () => m.current.disablePointerSelection, listId: U, inputId: W, labelId: ee, listInnerRef: A }), []);
58
- function te(e, u) {
59
- var o, l;
60
- let f = (l = (o = m.current) == null ? void 0 : o.filter) != null ? l : Ce;
61
- return e ? f(e, r.current.search, u) : 0;
19
+ );
62
20
  }
63
- function G() {
64
- if (!r.current.search || m.current.shouldFilter === !1) return;
65
- let e = r.current.filtered.items, u = [];
66
- r.current.filtered.groups.forEach((l) => {
67
- let f = i.current.get(l), p = 0;
68
- f.forEach((C) => {
69
- let E = e.get(C);
70
- p = Math.max(E, p);
71
- }), u.push([l, p]);
72
- });
73
- let o = A.current;
74
- L().sort((l, f) => {
75
- var p, C;
76
- let E = l.getAttribute("id"), N = f.getAttribute("id");
77
- return ((p = e.get(N)) != null ? p : 0) - ((C = e.get(E)) != null ? C : 0);
78
- }).forEach((l) => {
79
- let f = l.closest(X);
80
- f ? f.appendChild(l.parentElement === f ? l : l.closest(`${X} > *`)) : o.appendChild(l.parentElement === o ? l : l.closest(`${X} > *`));
81
- }), u.sort((l, f) => f[1] - l[1]).forEach((l) => {
82
- var f;
83
- let p = (f = A.current) == null ? void 0 : f.querySelector(`${$}[${D}="${encodeURIComponent(l[0])}"]`);
84
- p == null || p.parentElement.appendChild(p);
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);
85
28
  });
29
+ return f(() => {
30
+ s !== "idle" && d(s);
31
+ }, [s, d]), s === "loaded" ? /* @__PURE__ */ l(m.img, { ...a, ref: e, src: r }) : null;
86
32
  }
87
- function H() {
88
- let e = L().find((o) => o.getAttribute("aria-disabled") !== "true"), u = e == null ? void 0 : e.getAttribute(D);
89
- y.setState("value", u || void 0);
90
- }
91
- function T() {
92
- var e, u, o, l;
93
- if (!r.current.search || m.current.shouldFilter === !1) {
94
- r.current.filtered.count = v.current.size;
95
- return;
96
- }
97
- r.current.filtered.groups = /* @__PURE__ */ new Set();
98
- let f = 0;
99
- for (let p of v.current) {
100
- let C = (u = (e = c.current.get(p)) == null ? void 0 : e.value) != null ? u : "", E = (l = (o = c.current.get(p)) == null ? void 0 : o.keywords) != null ? l : [], N = te(C, E);
101
- r.current.filtered.items.set(p, N), N > 0 && f++;
102
- }
103
- for (let [p, C] of i.current) for (let E of C) if (r.current.filtered.items.get(E) > 0) {
104
- r.current.filtered.groups.add(p);
105
- break;
106
- }
107
- r.current.filtered.count = f;
108
- }
109
- function re() {
110
- var e, u, o;
111
- let l = P();
112
- l && (((e = l.parentElement) == null ? void 0 : e.firstChild) === l && ((o = (u = l.closest($)) == null ? void 0 : u.querySelector(ye)) == null || o.scrollIntoView({ block: "nearest" })), l.scrollIntoView({ block: "nearest" }));
113
- }
114
- function P() {
115
- var e;
116
- return (e = A.current) == null ? void 0 : e.querySelector(`${oe}[aria-selected="true"]`);
117
- }
118
- function L() {
119
- var e;
120
- return Array.from(((e = A.current) == null ? void 0 : e.querySelectorAll(ie)) || []);
121
- }
122
- function J(e) {
123
- let u = L()[e];
124
- u && y.setState("value", u.getAttribute(D));
125
- }
126
- function Q(e) {
127
- var u;
128
- let o = P(), l = L(), f = l.findIndex((C) => C === o), p = l[f + e];
129
- (u = m.current) != null && u.loop && (p = f + e < 0 ? l[l.length - 1] : f + e === l.length ? l[0] : l[f + e]), p && y.setState("value", p.getAttribute(D));
130
- }
131
- function ne(e) {
132
- let u = P(), o = u == null ? void 0 : u.closest($), l;
133
- for (; o && !l; ) o = e > 0 ? Pe(o, $) : De(o, $), l = o == null ? void 0 : o.querySelector(ie);
134
- l ? y.setState("value", l.getAttribute(D)) : Q(e);
135
- }
136
- let le = () => J(L().length - 1), ae = (e) => {
137
- e.preventDefault(), e.metaKey ? le() : e.altKey ? ne(1) : Q(1);
138
- }, ue = (e) => {
139
- e.preventDefault(), e.metaKey ? J(0) : e.altKey ? ne(-1) : Q(-1);
140
- };
141
- return n.createElement(I.div, { ref: a, tabIndex: -1, ...j, "cmdk-root": "", onKeyDown: (e) => {
142
- var u;
143
- (u = j.onKeyDown) == null || u.call(j, e);
144
- let o = e.nativeEvent.isComposing || e.keyCode === 229;
145
- if (!(e.defaultPrevented || o)) switch (e.key) {
146
- case "n":
147
- case "j": {
148
- x && e.ctrlKey && ae(e);
149
- break;
150
- }
151
- case "ArrowDown": {
152
- ae(e);
153
- break;
154
- }
155
- case "p":
156
- case "k": {
157
- x && e.ctrlKey && ue(e);
158
- break;
159
- }
160
- case "ArrowUp": {
161
- ue(e);
162
- break;
163
- }
164
- case "Home": {
165
- e.preventDefault(), J(0);
166
- break;
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);
167
42
  }
168
- case "End": {
169
- e.preventDefault(), le();
170
- break;
171
- }
172
- case "Enter": {
173
- e.preventDefault();
174
- let l = P();
175
- if (l) {
176
- let f = new Event(Y);
177
- l.dispatchEvent(f);
178
- }
179
- }
180
- }
181
- } }, n.createElement("label", { "cmdk-label": "", htmlFor: _.inputId, id: _.labelId, style: Le }, b), z(t, (e) => n.createElement(de.Provider, { value: y }, n.createElement(ce.Provider, { value: _ }, e))));
182
- }), we = n.forwardRef((t, a) => {
183
- var r, v;
184
- let i = K(), c = n.useRef(null), d = n.useContext(se), m = O(), b = me(t), s = (v = (r = b.current) == null ? void 0 : r.forceMount) != null ? v : d == null ? void 0 : d.forceMount;
185
- M(() => {
186
- if (!s) return m.item(i, d == null ? void 0 : d.id);
187
- }, [s]);
188
- let h = ve(i, c, [t.value, t.children, c], t.keywords), R = Z(), k = S((g) => g.value && g.value === h.current), w = S((g) => s || m.filter() === !1 ? !0 : g.search ? g.filtered.items.get(i) > 0 : !0);
189
- n.useEffect(() => {
190
- let g = c.current;
191
- if (!(!g || t.disabled)) return g.addEventListener(Y, V), () => g.removeEventListener(Y, V);
192
- }, [w, t.onSelect, t.disabled]);
193
- function V() {
194
- var g, y;
195
- B(), (y = (g = b.current).onSelect) == null || y.call(g, h.current);
196
- }
197
- function B() {
198
- R.setState("value", h.current, !0);
199
- }
200
- if (!w) return null;
201
- let { disabled: x, value: j, onSelect: U, forceMount: ee, keywords: W, ...A } = t;
202
- return n.createElement(I.div, { ref: q(c, a), ...A, id: i, "cmdk-item": "", role: "option", "aria-disabled": !!x, "aria-selected": !!k, "data-disabled": !!x, "data-selected": !!k, onPointerMove: x || m.getDisablePointerSelection() ? void 0 : B, onClick: x ? void 0 : V }, t.children);
203
- }), ke = n.forwardRef((t, a) => {
204
- let { heading: r, children: v, forceMount: i, ...c } = t, d = K(), m = n.useRef(null), b = n.useRef(null), s = K(), h = O(), R = S((w) => i || h.filter() === !1 ? !0 : w.search ? w.filtered.groups.has(d) : !0);
205
- M(() => h.group(d), []), ve(d, m, [t.value, t.heading, b]);
206
- let k = n.useMemo(() => ({ id: d, forceMount: i }), [i]);
207
- return n.createElement(I.div, { ref: q(m, a), ...c, "cmdk-group": "", role: "presentation", hidden: R ? void 0 : !0 }, r && n.createElement("div", { ref: b, "cmdk-group-heading": "", "aria-hidden": !0, id: s }, r), z(t, (w) => n.createElement("div", { "cmdk-group-items": "", role: "group", "aria-labelledby": r ? s : void 0 }, n.createElement(se.Provider, { value: k }, w))));
208
- }), Se = n.forwardRef((t, a) => {
209
- let { alwaysRender: r, ...v } = t, i = n.useRef(null), c = S((d) => !d.search);
210
- return !r && !c ? null : n.createElement(I.div, { ref: q(i, a), ...v, "cmdk-separator": "", role: "separator" });
211
- }), Ie = n.forwardRef((t, a) => {
212
- let { onValueChange: r, ...v } = t, i = t.value != null, c = Z(), d = S((s) => s.search), m = S((s) => s.selectedItemId), b = O();
213
- return n.useEffect(() => {
214
- t.value != null && c.setState("search", t.value);
215
- }, [t.value]), n.createElement(I.input, { ref: a, ...v, "cmdk-input": "", autoComplete: "off", autoCorrect: "off", spellCheck: !1, "aria-autocomplete": "list", role: "combobox", "aria-expanded": !0, "aria-controls": b.listId, "aria-labelledby": b.labelId, "aria-activedescendant": m, id: b.inputId, type: "text", value: i ? t.value : d, onChange: (s) => {
216
- i || c.setState("search", s.target.value), r == null || r(s.target.value);
217
- } });
218
- }), Re = n.forwardRef((t, a) => {
219
- let { children: r, label: v = "Suggestions", ...i } = t, c = n.useRef(null), d = n.useRef(null), m = S((s) => s.selectedItemId), b = O();
220
- return n.useEffect(() => {
221
- if (d.current && c.current) {
222
- let s = d.current, h = c.current, R, k = new ResizeObserver(() => {
223
- R = requestAnimationFrame(() => {
224
- let w = s.offsetHeight;
225
- h.style.setProperty("--cmdk-list-height", w.toFixed(1) + "px");
226
- });
227
- });
228
- return k.observe(s), () => {
229
- cancelAnimationFrame(R), k.unobserve(s);
230
- };
231
- }
232
- }, []), n.createElement(I.div, { ref: q(c, a), ...i, "cmdk-list": "", role: "listbox", tabIndex: -1, "aria-activedescendant": m, "aria-label": v, id: b.listId }, z(t, (s) => n.createElement("div", { ref: q(d, b.listInnerRef), "cmdk-list-sizer": "" }, s)));
233
- }), xe = n.forwardRef((t, a) => {
234
- let { open: r, onOpenChange: v, overlayClassName: i, contentClassName: c, container: d, ...m } = t;
235
- return n.createElement(ge, { open: r, onOpenChange: v }, n.createElement(he, { container: d }, n.createElement(be, { "cmdk-overlay": "", className: i }), n.createElement(Ee, { "aria-label": t.label, "cmdk-dialog": "", className: c }, n.createElement(fe, { ref: a, ...m }))));
236
- }), Ae = n.forwardRef((t, a) => S((r) => r.filtered.count === 0) ? n.createElement(I.div, { ref: a, ...t, "cmdk-empty": "", role: "presentation" }) : null), Me = n.forwardRef((t, a) => {
237
- let { progress: r, children: v, label: i = "Loading...", ...c } = t;
238
- return n.createElement(I.div, { ref: a, ...c, "cmdk-loading": "", role: "progressbar", "aria-valuenow": r, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": i }, z(t, (d) => n.createElement("div", { "aria-hidden": !0 }, d)));
239
- }), Ne = Object.assign(fe, { List: Re, Item: we, Input: Ie, Group: ke, Separator: Se, Dialog: xe, Empty: Ae, Loading: Me });
240
- function Pe(t, a) {
241
- let r = t.nextElementSibling;
242
- for (; r; ) {
243
- if (r.matches(a)) return r;
244
- r = r.nextElementSibling;
43
+ }, [r]), u && a.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ l(m.span, { ...n, ref: e }) : null;
245
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";
246
49
  }
247
- function De(t, a) {
248
- let r = t.previousElementSibling;
249
- for (; r; ) {
250
- if (r.matches(a)) return r;
251
- r = r.previousElementSibling;
252
- }
253
- }
254
- function me(t) {
255
- let a = n.useRef(t);
256
- return M(() => {
257
- a.current = t;
258
- }), a;
259
- }
260
- var M = typeof window > "u" ? n.useEffect : n.useLayoutEffect;
261
- function F(t) {
262
- let a = n.useRef();
263
- return a.current === void 0 && (a.current = t()), a;
264
- }
265
- function S(t) {
266
- let a = Z(), r = () => t(a.snapshot());
267
- return n.useSyncExternalStore(a.subscribe, r, r);
268
- }
269
- function ve(t, a, r, v = []) {
270
- let i = n.useRef(), c = O();
271
- return M(() => {
272
- var d;
273
- let m = (() => {
274
- var s;
275
- for (let h of r) {
276
- if (typeof h == "string") return h.trim();
277
- if (typeof h == "object" && "current" in h) return h.current ? (s = h.current.textContent) == null ? void 0 : s.trim() : i.current;
278
- }
279
- })(), b = v.map((s) => s.trim());
280
- c.value(t, m, b), (d = a.current) == null || d.setAttribute(D, m), i.current = m;
281
- }), i;
282
- }
283
- var Fe = () => {
284
- let [t, a] = n.useState(), r = F(() => /* @__PURE__ */ new Map());
285
- return M(() => {
286
- r.current.forEach((v) => v()), r.current = /* @__PURE__ */ new Map();
287
- }, [t]), (v, i) => {
288
- r.current.set(v, i), a({});
289
- };
290
- };
291
- function Ke(t) {
292
- let a = t.type;
293
- return typeof a == "function" ? a(t.props) : "render" in a ? a.render(t.props) : t;
294
- }
295
- function z({ asChild: t, children: a }, r) {
296
- return t && n.isValidElement(a) ? n.cloneElement(Ke(a), { ref: a.ref }, r(a.props.children)) : r(a);
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;
297
66
  }
298
- var Le = { position: "absolute", width: "1px", height: "1px", padding: "0", margin: "-1px", overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0" };
67
+ var H = L, j = E, B = R;
299
68
  export {
300
- Ne as Command,
301
- xe as CommandDialog,
302
- Ae as CommandEmpty,
303
- ke as CommandGroup,
304
- Ie as CommandInput,
305
- we as CommandItem,
306
- Re as CommandList,
307
- Me as CommandLoading,
308
- fe as CommandRoot,
309
- Se as CommandSeparator,
310
- Ce as defaultFilter,
311
- S as useCommandState
69
+ L as Avatar,
70
+ R as AvatarFallback,
71
+ E as AvatarImage,
72
+ B as Fallback,
73
+ j as Image,
74
+ H as Root
312
75
  };