@epilot/volt-ui 1.1.0 → 1.1.2-alpha.1

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 (209) hide show
  1. package/dist/index.cjs.js +1 -51
  2. package/dist/index.cjs10.js +1 -0
  3. package/dist/index.cjs100.js +1 -0
  4. package/dist/index.cjs101.js +1 -0
  5. package/dist/index.cjs102.js +1 -0
  6. package/dist/index.cjs103.js +1 -0
  7. package/dist/index.cjs104.js +1 -0
  8. package/dist/index.cjs105.js +1 -0
  9. package/dist/index.cjs106.js +1 -0
  10. package/dist/index.cjs11.js +1 -0
  11. package/dist/index.cjs12.js +1 -0
  12. package/dist/index.cjs13.js +1 -0
  13. package/dist/index.cjs14.js +1 -0
  14. package/dist/index.cjs15.js +1 -0
  15. package/dist/index.cjs16.js +1 -0
  16. package/dist/index.cjs17.js +1 -0
  17. package/dist/index.cjs18.js +1 -0
  18. package/dist/index.cjs19.js +1 -0
  19. package/dist/index.cjs20.js +1 -0
  20. package/dist/index.cjs21.js +1 -0
  21. package/dist/index.cjs22.js +1 -0
  22. package/dist/index.cjs23.js +1 -0
  23. package/dist/index.cjs24.js +1 -0
  24. package/dist/index.cjs25.js +1 -0
  25. package/dist/index.cjs26.js +1 -0
  26. package/dist/index.cjs27.js +1 -0
  27. package/dist/index.cjs28.js +1 -0
  28. package/dist/index.cjs29.js +1 -0
  29. package/dist/index.cjs30.js +1 -0
  30. package/dist/index.cjs31.js +1 -0
  31. package/dist/index.cjs32.js +1 -0
  32. package/dist/index.cjs33.js +1 -0
  33. package/dist/index.cjs34.js +1 -0
  34. package/dist/index.cjs35.js +1 -0
  35. package/dist/index.cjs36.js +1 -0
  36. package/dist/index.cjs37.js +1 -0
  37. package/dist/index.cjs38.js +1 -0
  38. package/dist/index.cjs39.js +1 -0
  39. package/dist/index.cjs4.js +1 -0
  40. package/dist/index.cjs40.js +5 -0
  41. package/dist/index.cjs41.js +1 -0
  42. package/dist/index.cjs42.js +1 -0
  43. package/dist/index.cjs43.js +1 -0
  44. package/dist/index.cjs44.js +7 -0
  45. package/dist/index.cjs45.js +1 -0
  46. package/dist/index.cjs46.js +1 -0
  47. package/dist/index.cjs47.js +1 -0
  48. package/dist/index.cjs48.js +1 -0
  49. package/dist/index.cjs49.js +1 -0
  50. package/dist/index.cjs5.js +1 -0
  51. package/dist/index.cjs50.js +1 -0
  52. package/dist/index.cjs51.js +1 -0
  53. package/dist/index.cjs52.js +1 -0
  54. package/dist/index.cjs53.js +1 -0
  55. package/dist/index.cjs54.js +1 -0
  56. package/dist/index.cjs55.js +1 -0
  57. package/dist/index.cjs56.js +1 -0
  58. package/dist/index.cjs57.js +1 -0
  59. package/dist/index.cjs58.js +1 -0
  60. package/dist/index.cjs59.js +1 -0
  61. package/dist/index.cjs6.js +1 -0
  62. package/dist/index.cjs60.js +1 -0
  63. package/dist/index.cjs61.js +1 -0
  64. package/dist/index.cjs62.js +1 -0
  65. package/dist/index.cjs63.js +1 -0
  66. package/dist/index.cjs64.js +1 -0
  67. package/dist/index.cjs65.js +1 -0
  68. package/dist/index.cjs66.js +1 -0
  69. package/dist/index.cjs67.js +1 -0
  70. package/dist/index.cjs68.js +1 -0
  71. package/dist/index.cjs69.js +1 -0
  72. package/dist/index.cjs7.js +1 -0
  73. package/dist/index.cjs70.js +1 -0
  74. package/dist/index.cjs71.js +1 -0
  75. package/dist/index.cjs72.js +1 -0
  76. package/dist/index.cjs73.js +1 -0
  77. package/dist/index.cjs74.js +1 -0
  78. package/dist/index.cjs75.js +1 -0
  79. package/dist/index.cjs76.js +1 -0
  80. package/dist/index.cjs77.js +1 -0
  81. package/dist/index.cjs78.js +1 -0
  82. package/dist/index.cjs79.js +1 -0
  83. package/dist/index.cjs8.js +1 -0
  84. package/dist/index.cjs80.js +1 -0
  85. package/dist/index.cjs81.js +1 -0
  86. package/dist/index.cjs82.js +1 -0
  87. package/dist/index.cjs83.js +1 -0
  88. package/dist/index.cjs84.js +1 -0
  89. package/dist/index.cjs85.js +1 -0
  90. package/dist/index.cjs86.js +1 -0
  91. package/dist/index.cjs87.js +1 -0
  92. package/dist/index.cjs88.js +1 -0
  93. package/dist/index.cjs89.js +1 -0
  94. package/dist/index.cjs9.js +1 -0
  95. package/dist/index.cjs90.js +1 -0
  96. package/dist/index.cjs91.js +4 -0
  97. package/dist/index.cjs92.js +1 -0
  98. package/dist/index.cjs93.js +1 -0
  99. package/dist/index.cjs94.js +1 -0
  100. package/dist/index.cjs95.js +1 -0
  101. package/dist/index.cjs96.js +1 -0
  102. package/dist/index.cjs97.js +38 -0
  103. package/dist/index.cjs98.js +1 -0
  104. package/dist/index.cjs99.js +1 -0
  105. package/dist/index.es.js +125 -11649
  106. package/dist/index.es10.js +29 -0
  107. package/dist/index.es100.js +68 -0
  108. package/dist/index.es101.js +6 -0
  109. package/dist/index.es102.js +25 -0
  110. package/dist/index.es103.js +25 -0
  111. package/dist/index.es104.js +15 -0
  112. package/dist/index.es105.js +30 -0
  113. package/dist/index.es106.js +7 -0
  114. package/dist/index.es11.js +250 -0
  115. package/dist/index.es12.js +230 -0
  116. package/dist/index.es13.js +34 -0
  117. package/dist/index.es14.js +40 -0
  118. package/dist/index.es15.js +43 -0
  119. package/dist/index.es16.js +115 -0
  120. package/dist/index.es17.js +24 -0
  121. package/dist/index.es18.js +36 -0
  122. package/dist/index.es19.js +137 -0
  123. package/dist/index.es20.js +50 -0
  124. package/dist/index.es21.js +54 -0
  125. package/dist/index.es22.js +74 -0
  126. package/dist/index.es23.js +172 -0
  127. package/dist/index.es24.js +89 -0
  128. package/dist/index.es25.js +113 -0
  129. package/dist/index.es26.js +85 -0
  130. package/dist/index.es27.js +61 -0
  131. package/dist/index.es28.js +746 -0
  132. package/dist/index.es29.js +17 -0
  133. package/dist/index.es30.js +2763 -0
  134. package/dist/index.es31.js +62 -0
  135. package/dist/index.es32.js +35 -0
  136. package/dist/index.es33.js +126 -0
  137. package/dist/index.es34.js +862 -0
  138. package/dist/index.es35.js +20 -0
  139. package/dist/index.es36.js +331 -0
  140. package/dist/index.es37.js +132 -0
  141. package/dist/index.es38.js +24 -0
  142. package/dist/index.es39.js +243 -0
  143. package/dist/index.es4.js +6 -0
  144. package/dist/index.es40.js +262 -0
  145. package/dist/index.es41.js +251 -0
  146. package/dist/index.es42.js +238 -0
  147. package/dist/index.es43.js +239 -0
  148. package/dist/index.es44.js +127 -0
  149. package/dist/index.es45.js +163 -0
  150. package/dist/index.es46.js +29 -0
  151. package/dist/index.es47.js +32 -0
  152. package/dist/index.es48.js +9 -0
  153. package/dist/index.es49.js +70 -0
  154. package/dist/index.es5.js +44 -0
  155. package/dist/index.es50.js +54 -0
  156. package/dist/index.es51.js +8 -0
  157. package/dist/index.es52.js +27 -0
  158. package/dist/index.es53.js +36 -0
  159. package/dist/index.es54.js +183 -0
  160. package/dist/index.es55.js +10 -0
  161. package/dist/index.es56.js +71 -0
  162. package/dist/index.es57.js +127 -0
  163. package/dist/index.es58.js +17 -0
  164. package/dist/index.es59.js +137 -0
  165. package/dist/index.es6.js +66 -0
  166. package/dist/index.es60.js +13 -0
  167. package/dist/index.es61.js +221 -0
  168. package/dist/index.es62.js +16 -0
  169. package/dist/index.es63.js +50 -0
  170. package/dist/index.es64.js +52 -0
  171. package/dist/index.es65.js +11 -0
  172. package/dist/index.es66.js +32 -0
  173. package/dist/index.es67.js +312 -0
  174. package/dist/index.es68.js +48 -0
  175. package/dist/index.es69.js +120 -0
  176. package/dist/index.es7.js +167 -0
  177. package/dist/index.es70.js +11 -0
  178. package/dist/index.es71.js +11 -0
  179. package/dist/index.es72.js +32 -0
  180. package/dist/index.es73.js +50 -0
  181. package/dist/index.es74.js +6 -0
  182. package/dist/index.es75.js +50 -0
  183. package/dist/index.es76.js +13 -0
  184. package/dist/index.es77.js +6 -0
  185. package/dist/index.es78.js +50 -0
  186. package/dist/index.es79.js +14 -0
  187. package/dist/index.es8.js +39 -0
  188. package/dist/index.es80.js +208 -0
  189. package/dist/index.es81.js +24 -0
  190. package/dist/index.es82.js +402 -0
  191. package/dist/index.es83.js +17 -0
  192. package/dist/index.es84.js +32 -0
  193. package/dist/index.es85.js +27 -0
  194. package/dist/index.es86.js +31 -0
  195. package/dist/index.es87.js +7 -0
  196. package/dist/index.es88.js +7 -0
  197. package/dist/index.es89.js +5 -0
  198. package/dist/index.es9.js +33 -0
  199. package/dist/index.es90.js +26 -0
  200. package/dist/index.es91.js +112 -0
  201. package/dist/index.es92.js +18 -0
  202. package/dist/index.es93.js +527 -0
  203. package/dist/index.es94.js +130 -0
  204. package/dist/index.es95.js +136 -0
  205. package/dist/index.es96.js +67 -0
  206. package/dist/index.es97.js +71 -0
  207. package/dist/index.es98.js +11 -0
  208. package/dist/index.es99.js +16 -0
  209. package/package.json +1 -1
@@ -0,0 +1,312 @@
1
+ import { a as pe } from "./index.es83.js";
2
+ import { Root as ge, Portal as he, Overlay as be, Content as Ee } from "./index.es40.js";
3
+ import * as n from "react";
4
+ import { Primitive as I } from "./index.es84.js";
5
+ import { useId as K } from "./index.es60.js";
6
+ import { composeRefs as q } from "./index.es46.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
+ }
37
+ }
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;
62
+ }
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);
85
+ });
86
+ }
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;
167
+ }
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;
245
+ }
246
+ }
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);
297
+ }
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" };
299
+ 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
312
+ };
@@ -0,0 +1,48 @@
1
+ import r from "react";
2
+ import { createContextScope as y } from "./index.es49.js";
3
+ import { useComposedRefs as M } from "./index.es46.js";
4
+ import { createSlot as x } from "./index.es78.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 });
13
+ };
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 });
19
+ }
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)
37
+ );
38
+ }, [e.collectionRef, e.itemMap]);
39
+ }
40
+ return [
41
+ { Provider: p, Slot: C, ItemSlot: I },
42
+ O,
43
+ N
44
+ ];
45
+ }
46
+ export {
47
+ g as createCollection
48
+ };
@@ -0,0 +1,120 @@
1
+ import * as o from "react";
2
+ import { composeEventHandlers as T } from "./index.es48.js";
3
+ import { createContextScope as S } from "./index.es49.js";
4
+ import { useControllableState as D } from "./index.es50.js";
5
+ import { useLayoutEffect as L } from "./index.es77.js";
6
+ import { useComposedRefs as M } from "./index.es46.js";
7
+ import { Primitive as v } from "./index.es53.js";
8
+ import { Presence as k } from "./index.es56.js";
9
+ import { useId as F } from "./index.es60.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;
112
+ 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
120
+ };
@@ -0,0 +1,167 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import { createContext as f, useContext as g, useMemo as p } from "react";
4
+ import { cn as n } from "./index.es4.js";
5
+ import { Label as m } from "./index.es13.js";
6
+ import { cva as x } from "./index.es32.js";
7
+ const u = f(null), C = () => {
8
+ const t = g(u);
9
+ if (!t)
10
+ throw new Error("FieldInput must be used within a Field component");
11
+ return t;
12
+ }, k = ({ className: t, ...l }) => /* @__PURE__ */ e(
13
+ "div",
14
+ {
15
+ "data-slot": "field-group",
16
+ className: n(
17
+ "volt-group/field-group volt-@container/field-group volt-flex volt-w-full volt-flex-col volt-gap-2 volt-*:data-[slot=field-group]:gap-2 [&>div[data-slot=field]+[data-slot=field-description]]:pl-3",
18
+ t
19
+ ),
20
+ ...l
21
+ }
22
+ ), L = ({
23
+ className: t,
24
+ ...l
25
+ }) => /* @__PURE__ */ e(
26
+ "fieldset",
27
+ {
28
+ "data-slot": "field-set",
29
+ className: n("volt-flex volt-flex-col volt-gap-6", t),
30
+ ...l
31
+ }
32
+ ), h = x(
33
+ "volt-relative volt-flex-col volt-*:w-full [&>.sr-only]:w-auto volt-group/field volt-flex volt-w-full volt-py-2 volt-px-3 volt-gap-1 volt-corner-squircle-lg volt-rounded-lg volt-transition-all volt-duration-75 volt-data-[focused=true]:outline-2 volt-data-[focused=true]:outline-offset-2",
34
+ {
35
+ variants: {
36
+ variant: {
37
+ default: "volt-bg-gray-a3 volt-hover:bg-gray-a4 volt-data-[focused=true]:outline-gray-a8",
38
+ highlight: "volt-bg-accent-a3 volt-hover:bg-accent-a4 volt-data-[focused=true]:outline-accent-a8",
39
+ readonly: "volt-bg-gray-a3 volt-data-[focused=true]:outline-gray-a8",
40
+ destructive: "volt-bg-error-soft volt-hover:bg-error-a4 volt-data-[focused=true]:outline-error-a8"
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ variant: "default"
45
+ }
46
+ }
47
+ ), R = ({ className: t, variant: l, children: o, ...v }) => {
48
+ const i = r.useRef(null), [s, d] = r.useState(!1);
49
+ return /* @__PURE__ */ e(u.Provider, { value: { inputRef: i }, children: /* @__PURE__ */ e(
50
+ "div",
51
+ {
52
+ role: "group",
53
+ "data-slot": "field",
54
+ className: n(h({ variant: l }), t),
55
+ "data-focused": s ? "true" : "false",
56
+ onFocusCapture: () => d(!0),
57
+ onBlurCapture: () => d(!1),
58
+ ...v,
59
+ children: o
60
+ }
61
+ ) });
62
+ }, I = ({ className: t, ...l }) => /* @__PURE__ */ e(
63
+ "div",
64
+ {
65
+ "data-slot": "field-content",
66
+ className: n(
67
+ "volt-group/field-content volt-flex volt-flex-1 volt-flex-col volt-gap-2 volt-leading-snug",
68
+ t
69
+ ),
70
+ ...l
71
+ }
72
+ ), M = ({
73
+ className: t,
74
+ ...l
75
+ }) => /* @__PURE__ */ e(
76
+ m,
77
+ {
78
+ "data-slot": "field-label",
79
+ className: n(
80
+ "volt-group/field-label volt-min-h-5 volt-text-xs volt-peer/field-label volt-flex volt-w-fit volt-gap-2 volt-leading-snug volt-group-data-[disabled=true]/field:opacity-50",
81
+ "volt-has-[>[data-slot=field]]:w-full volt-has-[>[data-slot=field]]:flex-col volt-has-[>[data-slot=field]]:rounded-md volt-has-[>[data-slot=field]]:border volt-*:data-[slot=field]:p-4",
82
+ "volt-has-data-[state=checked]:bg-accent-a3/5 volt-has-data-[state=checked]:border-accent-a3 volt-dark:has-data-[state=checked]:bg-accent-a3/10",
83
+ t
84
+ ),
85
+ ...l
86
+ }
87
+ ), S = ({
88
+ className: t,
89
+ showOnHover: l = !0,
90
+ ...o
91
+ }) => /* @__PURE__ */ e(
92
+ "div",
93
+ {
94
+ "data-slot": "field-label-content",
95
+ className: n(
96
+ "volt-inline-flex volt-items-center volt-gap-1 volt-transition-opacity",
97
+ {
98
+ "volt-w-0 volt-h-0 volt-opacity-0 volt-pointer-events-none volt-group-hover/field:w-auto volt-group-hover/field:h-auto volt-group-hover/field:opacity-100 volt-group-hover/field:pointer-events-auto": l
99
+ },
100
+ t
101
+ ),
102
+ ...o
103
+ }
104
+ ), V = ({
105
+ className: t,
106
+ ...l
107
+ }) => /* @__PURE__ */ e(
108
+ "p",
109
+ {
110
+ "data-slot": "field-description",
111
+ className: n(
112
+ "volt-text-gray-default volt-text-xs volt-leading-normal volt-font-normal",
113
+ "volt-last:mt-0 volt-nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5",
114
+ "[&>a:hover]:text-gray-default [&>a]:underline [&>a]:underline-offset-4",
115
+ t
116
+ ),
117
+ ...l
118
+ }
119
+ ), j = ({
120
+ className: t,
121
+ children: l,
122
+ errors: o,
123
+ ...v
124
+ }) => {
125
+ const i = p(() => {
126
+ var d;
127
+ if (l)
128
+ return l;
129
+ if (!(o != null && o.length))
130
+ return null;
131
+ const s = [
132
+ ...new Map(o.map((a) => [a == null ? void 0 : a.message, a])).values()
133
+ ];
134
+ return (s == null ? void 0 : s.length) == 1 ? (d = s[0]) == null ? void 0 : d.message : /* @__PURE__ */ e("ul", { className: "volt-flex volt-list-disc volt-flex-col volt-m-0", children: s.map(
135
+ (a, c) => (a == null ? void 0 : a.message) && /* @__PURE__ */ e(
136
+ "li",
137
+ {
138
+ className: "volt-text-error-light volt-text-xs volt-font-normal volt-my-1 volt-marker:text-error-light",
139
+ children: a.message
140
+ },
141
+ c
142
+ )
143
+ ) });
144
+ }, [l, o]);
145
+ return i ? /* @__PURE__ */ e(
146
+ "div",
147
+ {
148
+ role: "alert",
149
+ "data-slot": "field-error",
150
+ className: n("volt-text-error-light volt-text-xs volt-font-normal", t),
151
+ ...v,
152
+ children: i
153
+ }
154
+ ) : null;
155
+ };
156
+ export {
157
+ R as Field,
158
+ I as FieldContent,
159
+ V as FieldDescription,
160
+ j as FieldError,
161
+ k as FieldGroup,
162
+ M as FieldLabel,
163
+ S as FieldLabelContent,
164
+ L as FieldSet,
165
+ h as fieldVariants,
166
+ C as useFieldContext
167
+ };
@@ -0,0 +1,11 @@
1
+ import "react";
2
+ import { jsx as e, Fragment as o } from "react/jsx-runtime";
3
+ var l = Symbol("radix.slottable");
4
+ // @__NO_SIDE_EFFECTS__
5
+ function n(r) {
6
+ const t = ({ children: a }) => /* @__PURE__ */ e(o, { children: a });
7
+ return t.displayName = `${r}.Slottable`, t.__radixId = l, t;
8
+ }
9
+ export {
10
+ n as createSlottable
11
+ };
@@ -0,0 +1,11 @@
1
+ import "react";
2
+ import { jsx as e, Fragment as o } from "react/jsx-runtime";
3
+ var l = Symbol("radix.slottable");
4
+ // @__NO_SIDE_EFFECTS__
5
+ function n(r) {
6
+ const t = ({ children: a }) => /* @__PURE__ */ e(o, { children: a });
7
+ return t.displayName = `${r}.Slottable`, t.__radixId = l, t;
8
+ }
9
+ export {
10
+ n as createSlottable
11
+ };