@spear-ai/spectral 1.9.0 → 1.10.0

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 (237) hide show
  1. package/README.md +6 -5
  2. package/dist/.js +112 -239
  3. package/dist/Accordion-CDXdSAST.js +363 -0
  4. package/dist/Accordion.js +3 -498
  5. package/dist/Alert/AlertBase.js +69 -152
  6. package/dist/Alert.js +58 -106
  7. package/dist/AnimatePresence-D-9jXfgI.js +178 -0
  8. package/dist/App.js +6 -6
  9. package/dist/Avatar.js +83 -65
  10. package/dist/Badge.d.ts +1 -3
  11. package/dist/Badge.js +21 -25
  12. package/dist/Button.js +102 -178
  13. package/dist/ButtonGroup/ButtonGroupButton.js +38 -40
  14. package/dist/ButtonGroup.js +55 -59
  15. package/dist/ButtonIcon.js +58 -134
  16. package/dist/Calendar-s4lyijkn.js +3109 -0
  17. package/dist/Checkbox/CheckboxBase.js +94 -126
  18. package/dist/Checkbox.d.ts +1 -1
  19. package/dist/Checkbox.js +40 -105
  20. package/dist/Combobox/ComboboxBase.js +2 -79
  21. package/dist/Combobox.js +106 -172
  22. package/dist/ComboboxBase-D8Nf4xC-.js +491 -0
  23. package/dist/ControlGroup/ControlGroupSelect.d.ts +1 -1
  24. package/dist/ControlGroup/ControlGroupSelect.js +85 -101
  25. package/dist/ControlGroup.js +45 -48
  26. package/dist/DataCard/Card.js +37 -12
  27. package/dist/DataCard.d.ts +1 -1
  28. package/dist/DataCard.js +36 -16
  29. package/dist/DateTimePicker/Calendar.js +2 -2967
  30. package/dist/DateTimePicker/DateTimeDisplayInput.d.ts +1 -1
  31. package/dist/DateTimePicker/DateTimeDisplayInput.js +379 -274
  32. package/dist/DateTimePicker/DateTimeInput.d.ts +5 -3
  33. package/dist/DateTimePicker/DateTimeInput.js +133 -88
  34. package/dist/DateTimePicker/DateTimeUtils.js +2 -2193
  35. package/dist/DateTimePicker/TimePeriodSelect.d.ts +1 -1
  36. package/dist/DateTimePicker/TimePeriodSelect.js +45 -20
  37. package/dist/DateTimePicker/TimePicker.d.ts +1 -1
  38. package/dist/DateTimePicker/TimePicker.js +76 -60
  39. package/dist/DateTimePicker.d.ts +2 -2
  40. package/dist/DateTimePicker.js +87 -205
  41. package/dist/DateTimeUtils-DVvG6H-p.js +2098 -0
  42. package/dist/Dialog.js +74 -74
  43. package/dist/Drawer.js +67 -37
  44. package/dist/HoverCard-CYDsIiVK.js +201 -0
  45. package/dist/HoverCard.d.ts +1 -1
  46. package/dist/HoverCard.js +2 -218
  47. package/dist/Icons/AnalyzeIcon.js +50 -57
  48. package/dist/Icons/AnnotationsIcon.js +20 -15
  49. package/dist/Icons/ApprovedIcon.js +26 -18
  50. package/dist/Icons/ArrowDownIcon.js +20 -6
  51. package/dist/Icons/ArrowUpIcon.js +20 -6
  52. package/dist/Icons/BoxToolIcon.js +17 -12
  53. package/dist/Icons/CalendarIcon.js +43 -20
  54. package/dist/Icons/CheckCircleIcon.js +26 -10
  55. package/dist/Icons/CheckSquareIcon.js +26 -10
  56. package/dist/Icons/CheckmarkIcon.js +22 -9
  57. package/dist/Icons/ChevronDownIcon.js +22 -9
  58. package/dist/Icons/ChevronUpIcon.js +22 -9
  59. package/dist/Icons/ClockIcon.js +26 -18
  60. package/dist/Icons/CloseCircleIcon.js +26 -10
  61. package/dist/Icons/CloseIcon.js +18 -9
  62. package/dist/Icons/DashboardIcon.js +36 -10
  63. package/dist/Icons/DatabaseIcon.js +36 -19
  64. package/dist/Icons/DeleteIcon.js +36 -19
  65. package/dist/Icons/DurationIcon.js +57 -22
  66. package/dist/Icons/EditIcon.js +26 -27
  67. package/dist/Icons/EmailIcon.js +26 -10
  68. package/dist/Icons/EraserIcon.js +41 -25
  69. package/dist/Icons/ErrorIcon.js +27 -11
  70. package/dist/Icons/EyeClosedIcon.js +29 -13
  71. package/dist/Icons/EyeClosedIcon2.js +27 -11
  72. package/dist/Icons/EyeOpenIcon.js +22 -9
  73. package/dist/Icons/FileDownloadIcon.js +43 -20
  74. package/dist/Icons/GoToFirstIcon.js +26 -9
  75. package/dist/Icons/GoToLastIcon.js +26 -9
  76. package/dist/Icons/HarmonicCursorsIcon.js +23 -9
  77. package/dist/Icons/IconBase.d.ts +3 -3
  78. package/dist/Icons/IconBase.js +49 -23
  79. package/dist/Icons/InfoIcon.js +36 -10
  80. package/dist/Icons/KeyboardIcon.js +26 -27
  81. package/dist/Icons/LabelIcon.js +19 -14
  82. package/dist/Icons/LassoIcon.js +36 -28
  83. package/dist/Icons/LineToolIcon.js +48 -39
  84. package/dist/Icons/LiveViewIcon.js +50 -12
  85. package/dist/Icons/LoaderIcon.js +67 -27
  86. package/dist/Icons/LocationIcon.js +26 -27
  87. package/dist/Icons/LogoutIcon.js +20 -15
  88. package/dist/Icons/MeasureIcon.js +78 -25
  89. package/dist/Icons/MessagesIcon.js +33 -18
  90. package/dist/Icons/MetadataIcon.js +20 -15
  91. package/dist/Icons/MinusIcon.d.ts +1 -1
  92. package/dist/Icons/MinusIcon.js +18 -6
  93. package/dist/Icons/OntologyIcon.js +87 -71
  94. package/dist/Icons/PanelIconClose.js +28 -10
  95. package/dist/Icons/PanelIconOpen.js +28 -10
  96. package/dist/Icons/PlayIcon.js +20 -6
  97. package/dist/Icons/PlusIcon.js +20 -14
  98. package/dist/Icons/PolygonIcon.js +50 -39
  99. package/dist/Icons/ProgressCheckIcon.d.ts +5 -0
  100. package/dist/Icons/ProgressCheckIcon.js +58 -0
  101. package/dist/Icons/ResetIcon.js +17 -12
  102. package/dist/Icons/ReviewedIcon.js +36 -19
  103. package/dist/Icons/ScissorsIcon.js +22 -17
  104. package/dist/Icons/SearchIcon.js +26 -9
  105. package/dist/Icons/SettingsIcon.js +26 -27
  106. package/dist/Icons/SortAscendingIcon.js +50 -12
  107. package/dist/Icons/SortAtoZIcon.js +50 -12
  108. package/dist/Icons/SortDescendingIcon.js +50 -12
  109. package/dist/Icons/SortZtoAIcon.js +50 -12
  110. package/dist/Icons/StackIcon.js +26 -9
  111. package/dist/Icons/StarIcon.js +20 -6
  112. package/dist/Icons/TrashIcon.js +17 -12
  113. package/dist/Icons/UndoIcon.js +20 -15
  114. package/dist/Icons/User2Icon.js +26 -10
  115. package/dist/Icons/UserIcon.js +19 -14
  116. package/dist/Icons/WarningIcon.js +19 -14
  117. package/dist/Icons/ZoomAllIcon.js +71 -15
  118. package/dist/Icons/ZoomXIcon.js +36 -10
  119. package/dist/Icons/ZoomYIcon.js +36 -10
  120. package/dist/Icons/index.d.ts +1 -0
  121. package/dist/Icons.js +68 -136
  122. package/dist/IconsAnimated/PanelLeftCloseIcon.js +66 -36
  123. package/dist/IconsAnimated/PanelLeftOpenIcon.js +66 -36
  124. package/dist/IconsAnimated.js +3 -6
  125. package/dist/Input/InputUtils.js +51 -52
  126. package/dist/Input.js +132 -185
  127. package/dist/InputOTP-XUWW9xcI.js +461 -0
  128. package/dist/InputOTP.js +2 -382
  129. package/dist/Kbd.d.ts +1 -1
  130. package/dist/Kbd.js +182 -86
  131. package/dist/Label.js +12 -14
  132. package/dist/MultiSelect/MultiSelectBase.js +331 -403
  133. package/dist/MultiSelect.d.ts +1 -1
  134. package/dist/MultiSelect.js +23 -23
  135. package/dist/Popover.js +28 -32
  136. package/dist/RadioButton.d.ts +17 -0
  137. package/dist/RadioButton.js +33 -0
  138. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +3 -1
  139. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +49 -46
  140. package/dist/RadioButtonGroup.d.ts +1 -1
  141. package/dist/RadioButtonGroup.js +11 -8
  142. package/dist/RadioGroup-w_q6RGEK.js +447 -0
  143. package/dist/RadioGroup.js +2 -505
  144. package/dist/Select.js +163 -186
  145. package/dist/Separator.js +16 -19
  146. package/dist/Skeleton.js +10 -6
  147. package/dist/Slider-BzzZT3Zm.js +490 -0
  148. package/dist/Slider.js +2 -562
  149. package/dist/SpectralProvider.js +8 -5
  150. package/dist/Switch/SwitchBase.js +91 -95
  151. package/dist/Switch-CVzRJ-0n.js +126 -0
  152. package/dist/Switch.d.ts +1 -1
  153. package/dist/Switch.js +2 -134
  154. package/dist/Tabs/TabsBase.js +242 -250
  155. package/dist/Tabs/tabsUtils.js +65 -73
  156. package/dist/Tabs.d.ts +1 -1
  157. package/dist/Tabs.js +73 -103
  158. package/dist/Textarea/TextareaUtils.js +35 -46
  159. package/dist/Textarea.js +83 -160
  160. package/dist/Toast-9zqXxKKO.js +711 -0
  161. package/dist/Toast.js +2 -885
  162. package/dist/Toggle/ToggleBase.js +46 -56
  163. package/dist/Toggle.d.ts +1 -1
  164. package/dist/Toggle.js +52 -62
  165. package/dist/ToggleGroup/ToggleGroupBase.js +128 -104
  166. package/dist/ToggleGroup.d.ts +1 -1
  167. package/dist/ToggleGroup.js +52 -63
  168. package/dist/Tooltip-D1K8kY1y.js +389 -0
  169. package/dist/Tooltip.js +2 -365
  170. package/dist/Tray.js +174 -217
  171. package/dist/chunk-h9knIhTc.js +20 -0
  172. package/dist/clsx-jM1GlMvB.js +16 -0
  173. package/dist/dist-3Af8168y.js +913 -0
  174. package/dist/dist-7HRQ5IKN.js +249 -0
  175. package/dist/dist-B2k1iWFp.js +129 -0
  176. package/dist/dist-B4FgboI8.js +122 -0
  177. package/dist/dist-B4g6zpUF.js +33 -0
  178. package/dist/dist-B9tup-4O.js +216 -0
  179. package/dist/dist-BK1K0g9W.js +29 -0
  180. package/dist/dist-Bfjk-jx9.js +28 -0
  181. package/dist/dist-Bft31cJh.js +65 -0
  182. package/dist/dist-BtdmHAzK.js +190 -0
  183. package/dist/dist-C0Hifjgh.js +1287 -0
  184. package/dist/dist-CGzgmYB9.js +68 -0
  185. package/dist/dist-ClmepHp4.js +10 -0
  186. package/dist/dist-D8Wb_MX9.js +6 -0
  187. package/dist/dist-Dtvmk11N.js +12 -0
  188. package/dist/dist-fW81qjVl.js +677 -0
  189. package/dist/dist-s1uWaZYZ.js +11 -0
  190. package/dist/es2015-YHaMV-St.js +701 -0
  191. package/dist/hooks/useAccordionAutoScroll.js +66 -67
  192. package/dist/hooks/useControllableState.js +14 -13
  193. package/dist/hooks/useTheme.js +21 -17
  194. package/dist/index.d.ts +2 -1
  195. package/dist/index.d.ts.map +1 -1
  196. package/dist/main.js +18954 -27224
  197. package/dist/primitives/button.js +39 -41
  198. package/dist/primitives/input-group.js +57 -73
  199. package/dist/primitives/input.js +11 -20
  200. package/dist/primitives/popover.d.ts.map +1 -1
  201. package/dist/primitives/popover.js +34 -25
  202. package/dist/primitives/select.js +70 -138
  203. package/dist/primitives/slot.js +32 -31
  204. package/dist/primitives/textarea.js +10 -16
  205. package/dist/proxy-Dn10Pl_g.js +4920 -0
  206. package/dist/styles/main.css +2 -1
  207. package/dist/styles/spectral.css +1 -1
  208. package/dist/twUtils-VNWgstKL.js +1673 -0
  209. package/dist/use-animation-CBUDycyW.js +57 -0
  210. package/dist/utils/constants.js +4 -4
  211. package/dist/utils/formFieldUtils.js +136 -148
  212. package/dist/utils/sharedUtils.js +26 -7
  213. package/dist/utils/twUtils.js +2 -2919
  214. package/package.json +24 -28
  215. package/dist/ComboboxBase-CxNxYtdT.js +0 -408
  216. package/dist/clsx-OuTLNxxd.js +0 -16
  217. package/dist/index-0ioNhtNM.js +0 -10
  218. package/dist/index-6oYKCvIn.js +0 -677
  219. package/dist/index-BFOf48AQ.js +0 -69
  220. package/dist/index-BZPx6jYI.js +0 -8
  221. package/dist/index-BlHU_t18.js +0 -142
  222. package/dist/index-Bm1RbF6w.js +0 -1037
  223. package/dist/index-Bv2OIg5P.js +0 -225
  224. package/dist/index-CKEI0pDv.js +0 -56
  225. package/dist/index-CM_hWgfC.js +0 -32
  226. package/dist/index-C_YVr64u.js +0 -1538
  227. package/dist/index-Cl8VeY0o.js +0 -149
  228. package/dist/index-CwSyIPrv.js +0 -13
  229. package/dist/index-D29mdTf5.js +0 -34
  230. package/dist/index-DEYs15GP.js +0 -66
  231. package/dist/index-Dc0No4pV.js +0 -233
  232. package/dist/index-T6XEa11q.js +0 -822
  233. package/dist/index-pBCLb6Gr.js +0 -240
  234. package/dist/index-psiVrsnE.js +0 -27
  235. package/dist/index-rKs9bXHr.js +0 -6
  236. package/dist/proxy-CO_-Vget.js +0 -4975
  237. package/dist/use-animation-DhEPRwZ3.js +0 -62
@@ -1,505 +1,2 @@
1
- "use client";
2
- import "./styles/main.css";
3
- import { jsx as a, jsxs as Y } from "react/jsx-runtime";
4
- import { Label as D } from "./Label.js";
5
- import * as d from "react";
6
- import { useState as ge, createContext as he, memo as Ie, useMemo as ye, useContext as we, useId as Ce } from "react";
7
- import { P as F, c as y, a as L, u as _, e as $ } from "./index-Dc0No4pV.js";
8
- import { c as Ee, u as j } from "./index-CKEI0pDv.js";
9
- import { u as Se } from "./index-CwSyIPrv.js";
10
- import { u as Fe } from "./index-0ioNhtNM.js";
11
- import { u as Ne } from "./index-psiVrsnE.js";
12
- import { u as Ae } from "./index-BZPx6jYI.js";
13
- import { P as _e } from "./index-BFOf48AQ.js";
14
- import { cn as E } from "./utils/twUtils.js";
15
- import { h as Pe, c as Te, p as xe, w as Ge, m as V } from "./proxy-CO_-Vget.js";
16
- import { A as ke } from "./index-Cl8VeY0o.js";
17
- var k = "rovingFocusGroup.onEntryFocus", De = { bubbles: !1, cancelable: !0 }, A = "RovingFocusGroup", [M, H, Me] = Ee(A), [Oe, z] = L(
18
- A,
19
- [Me]
20
- ), [Le, Be] = Oe(A), W = d.forwardRef(
21
- (e, r) => /* @__PURE__ */ a(M.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ a(M.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ a(Ke, { ...e, ref: r }) }) })
22
- );
23
- W.displayName = A;
24
- var Ke = d.forwardRef((e, r) => {
25
- const {
26
- __scopeRovingFocusGroup: o,
27
- orientation: t,
28
- loop: n = !1,
29
- dir: s,
30
- currentTabStopId: i,
31
- defaultCurrentTabStopId: R,
32
- onCurrentTabStopIdChange: b,
33
- onEntryFocus: l,
34
- preventScrollOnEntryFocus: c = !1,
35
- ...p
36
- } = e, m = d.useRef(null), f = _(r, m), v = j(s), [h, u] = $({
37
- prop: i,
38
- defaultProp: R ?? null,
39
- onChange: b,
40
- caller: A
41
- }), [w, T] = d.useState(!1), I = Fe(l), C = H(o), x = d.useRef(!1), [pe, K] = d.useState(0);
42
- return d.useEffect(() => {
43
- const g = m.current;
44
- if (g)
45
- return g.addEventListener(k, I), () => g.removeEventListener(k, I);
46
- }, [I]), /* @__PURE__ */ a(
47
- Le,
48
- {
49
- scope: o,
50
- orientation: t,
51
- dir: v,
52
- loop: n,
53
- currentTabStopId: h,
54
- onItemFocus: d.useCallback(
55
- (g) => u(g),
56
- [u]
57
- ),
58
- onItemShiftTab: d.useCallback(() => T(!0), []),
59
- onFocusableItemAdd: d.useCallback(
60
- () => K((g) => g + 1),
61
- []
62
- ),
63
- onFocusableItemRemove: d.useCallback(
64
- () => K((g) => g - 1),
65
- []
66
- ),
67
- children: /* @__PURE__ */ a(
68
- F.div,
69
- {
70
- tabIndex: w || pe === 0 ? -1 : 0,
71
- "data-orientation": t,
72
- ...p,
73
- ref: f,
74
- style: { outline: "none", ...e.style },
75
- onMouseDown: y(e.onMouseDown, () => {
76
- x.current = !0;
77
- }),
78
- onFocus: y(e.onFocus, (g) => {
79
- const me = !x.current;
80
- if (g.target === g.currentTarget && me && !w) {
81
- const U = new CustomEvent(k, De);
82
- if (g.currentTarget.dispatchEvent(U), !U.defaultPrevented) {
83
- const G = C().filter((S) => S.focusable), ve = G.find((S) => S.active), be = G.find((S) => S.id === h), Re = [ve, be, ...G].filter(
84
- Boolean
85
- ).map((S) => S.ref.current);
86
- Q(Re, c);
87
- }
88
- }
89
- x.current = !1;
90
- }),
91
- onBlur: y(e.onBlur, () => T(!1))
92
- }
93
- )
94
- }
95
- );
96
- }), X = "RovingFocusGroupItem", J = d.forwardRef(
97
- (e, r) => {
98
- const {
99
- __scopeRovingFocusGroup: o,
100
- focusable: t = !0,
101
- active: n = !1,
102
- tabStopId: s,
103
- children: i,
104
- ...R
105
- } = e, b = Se(), l = s || b, c = Be(X, o), p = c.currentTabStopId === l, m = H(o), { onFocusableItemAdd: f, onFocusableItemRemove: v, currentTabStopId: h } = c;
106
- return d.useEffect(() => {
107
- if (t)
108
- return f(), () => v();
109
- }, [t, f, v]), /* @__PURE__ */ a(
110
- M.ItemSlot,
111
- {
112
- scope: o,
113
- id: l,
114
- focusable: t,
115
- active: n,
116
- children: /* @__PURE__ */ a(
117
- F.span,
118
- {
119
- tabIndex: p ? 0 : -1,
120
- "data-orientation": c.orientation,
121
- ...R,
122
- ref: r,
123
- onMouseDown: y(e.onMouseDown, (u) => {
124
- t ? c.onItemFocus(l) : u.preventDefault();
125
- }),
126
- onFocus: y(e.onFocus, () => c.onItemFocus(l)),
127
- onKeyDown: y(e.onKeyDown, (u) => {
128
- if (u.key === "Tab" && u.shiftKey) {
129
- c.onItemShiftTab();
130
- return;
131
- }
132
- if (u.target !== u.currentTarget) return;
133
- const w = qe(u, c.orientation, c.dir);
134
- if (w !== void 0) {
135
- if (u.metaKey || u.ctrlKey || u.altKey || u.shiftKey) return;
136
- u.preventDefault();
137
- let I = m().filter((C) => C.focusable).map((C) => C.ref.current);
138
- if (w === "last") I.reverse();
139
- else if (w === "prev" || w === "next") {
140
- w === "prev" && I.reverse();
141
- const C = I.indexOf(u.currentTarget);
142
- I = c.loop ? Ye(I, C + 1) : I.slice(C + 1);
143
- }
144
- setTimeout(() => Q(I));
145
- }
146
- }),
147
- children: typeof i == "function" ? i({ isCurrentTabStop: p, hasTabStop: h != null }) : i
148
- }
149
- )
150
- }
151
- );
152
- }
153
- );
154
- J.displayName = X;
155
- var Ue = {
156
- ArrowLeft: "prev",
157
- ArrowUp: "prev",
158
- ArrowRight: "next",
159
- ArrowDown: "next",
160
- PageUp: "first",
161
- Home: "first",
162
- PageDown: "last",
163
- End: "last"
164
- };
165
- function Ve(e, r) {
166
- return r !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
167
- }
168
- function qe(e, r, o) {
169
- const t = Ve(e.key, o);
170
- if (!(r === "vertical" && ["ArrowLeft", "ArrowRight"].includes(t)) && !(r === "horizontal" && ["ArrowUp", "ArrowDown"].includes(t)))
171
- return Ue[t];
172
- }
173
- function Q(e, r = !1) {
174
- const o = document.activeElement;
175
- for (const t of e)
176
- if (t === o || (t.focus({ preventScroll: r }), document.activeElement !== o)) return;
177
- }
178
- function Ye(e, r) {
179
- return e.map((o, t) => e[(r + t) % e.length]);
180
- }
181
- var $e = W, je = J, B = "Radio", [He, Z] = L(B), [ze, We] = He(B), ee = d.forwardRef(
182
- (e, r) => {
183
- const {
184
- __scopeRadio: o,
185
- name: t,
186
- checked: n = !1,
187
- required: s,
188
- disabled: i,
189
- value: R = "on",
190
- onCheck: b,
191
- form: l,
192
- ...c
193
- } = e, [p, m] = d.useState(null), f = _(r, (u) => m(u)), v = d.useRef(!1), h = p ? l || !!p.closest("form") : !0;
194
- return /* @__PURE__ */ Y(ze, { scope: o, checked: n, disabled: i, children: [
195
- /* @__PURE__ */ a(
196
- F.button,
197
- {
198
- type: "button",
199
- role: "radio",
200
- "aria-checked": n,
201
- "data-state": ae(n),
202
- "data-disabled": i ? "" : void 0,
203
- disabled: i,
204
- value: R,
205
- ...c,
206
- ref: f,
207
- onClick: y(e.onClick, (u) => {
208
- n || b?.(), h && (v.current = u.isPropagationStopped(), v.current || u.stopPropagation());
209
- })
210
- }
211
- ),
212
- h && /* @__PURE__ */ a(
213
- re,
214
- {
215
- control: p,
216
- bubbles: !v.current,
217
- name: t,
218
- value: R,
219
- checked: n,
220
- required: s,
221
- disabled: i,
222
- form: l,
223
- style: { transform: "translateX(-100%)" }
224
- }
225
- )
226
- ] });
227
- }
228
- );
229
- ee.displayName = B;
230
- var oe = "RadioIndicator", te = d.forwardRef(
231
- (e, r) => {
232
- const { __scopeRadio: o, forceMount: t, ...n } = e, s = We(oe, o);
233
- return /* @__PURE__ */ a(_e, { present: t || s.checked, children: /* @__PURE__ */ a(
234
- F.span,
235
- {
236
- "data-state": ae(s.checked),
237
- "data-disabled": s.disabled ? "" : void 0,
238
- ...n,
239
- ref: r
240
- }
241
- ) });
242
- }
243
- );
244
- te.displayName = oe;
245
- var Xe = "RadioBubbleInput", re = d.forwardRef(
246
- ({
247
- __scopeRadio: e,
248
- control: r,
249
- checked: o,
250
- bubbles: t = !0,
251
- ...n
252
- }, s) => {
253
- const i = d.useRef(null), R = _(i, s), b = Ae(o), l = Ne(r);
254
- return d.useEffect(() => {
255
- const c = i.current;
256
- if (!c) return;
257
- const p = window.HTMLInputElement.prototype, f = Object.getOwnPropertyDescriptor(
258
- p,
259
- "checked"
260
- ).set;
261
- if (b !== o && f) {
262
- const v = new Event("click", { bubbles: t });
263
- f.call(c, o), c.dispatchEvent(v);
264
- }
265
- }, [b, o, t]), /* @__PURE__ */ a(
266
- F.input,
267
- {
268
- type: "radio",
269
- "aria-hidden": !0,
270
- defaultChecked: o,
271
- ...n,
272
- tabIndex: -1,
273
- ref: R,
274
- style: {
275
- ...n.style,
276
- ...l,
277
- position: "absolute",
278
- pointerEvents: "none",
279
- opacity: 0,
280
- margin: 0
281
- }
282
- }
283
- );
284
- }
285
- );
286
- re.displayName = Xe;
287
- function ae(e) {
288
- return e ? "checked" : "unchecked";
289
- }
290
- var Je = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"], P = "RadioGroup", [Qe] = L(P, [
291
- z,
292
- Z
293
- ]), ne = z(), se = Z(), [Ze, eo] = Qe(P), ie = d.forwardRef(
294
- (e, r) => {
295
- const {
296
- __scopeRadioGroup: o,
297
- name: t,
298
- defaultValue: n,
299
- value: s,
300
- required: i = !1,
301
- disabled: R = !1,
302
- orientation: b,
303
- dir: l,
304
- loop: c = !0,
305
- onValueChange: p,
306
- ...m
307
- } = e, f = ne(o), v = j(l), [h, u] = $({
308
- prop: s,
309
- defaultProp: n ?? null,
310
- onChange: p,
311
- caller: P
312
- });
313
- return /* @__PURE__ */ a(
314
- Ze,
315
- {
316
- scope: o,
317
- name: t,
318
- required: i,
319
- disabled: R,
320
- value: h,
321
- onValueChange: u,
322
- children: /* @__PURE__ */ a(
323
- $e,
324
- {
325
- asChild: !0,
326
- ...f,
327
- orientation: b,
328
- dir: v,
329
- loop: c,
330
- children: /* @__PURE__ */ a(
331
- F.div,
332
- {
333
- role: "radiogroup",
334
- "aria-required": i,
335
- "aria-orientation": b,
336
- "data-disabled": R ? "" : void 0,
337
- dir: v,
338
- ...m,
339
- ref: r
340
- }
341
- )
342
- }
343
- )
344
- }
345
- );
346
- }
347
- );
348
- ie.displayName = P;
349
- var ce = "RadioGroupItem", de = d.forwardRef(
350
- (e, r) => {
351
- const { __scopeRadioGroup: o, disabled: t, ...n } = e, s = eo(ce, o), i = s.disabled || t, R = ne(o), b = se(o), l = d.useRef(null), c = _(r, l), p = s.value === n.value, m = d.useRef(!1);
352
- return d.useEffect(() => {
353
- const f = (h) => {
354
- Je.includes(h.key) && (m.current = !0);
355
- }, v = () => m.current = !1;
356
- return document.addEventListener("keydown", f), document.addEventListener("keyup", v), () => {
357
- document.removeEventListener("keydown", f), document.removeEventListener("keyup", v);
358
- };
359
- }, []), /* @__PURE__ */ a(
360
- je,
361
- {
362
- asChild: !0,
363
- ...R,
364
- focusable: !i,
365
- active: p,
366
- children: /* @__PURE__ */ a(
367
- ee,
368
- {
369
- disabled: i,
370
- required: s.required,
371
- checked: p,
372
- ...b,
373
- ...n,
374
- name: s.name,
375
- ref: c,
376
- onCheck: () => s.onValueChange(n.value),
377
- onKeyDown: y((f) => {
378
- f.key === "Enter" && f.preventDefault();
379
- }),
380
- onFocus: y(n.onFocus, () => {
381
- m.current && l.current?.click();
382
- })
383
- }
384
- )
385
- }
386
- );
387
- }
388
- );
389
- de.displayName = ce;
390
- var oo = "RadioGroupIndicator", ue = d.forwardRef(
391
- (e, r) => {
392
- const { __scopeRadioGroup: o, ...t } = e, n = se(o);
393
- return /* @__PURE__ */ a(te, { ...n, ...t, ref: r });
394
- }
395
- );
396
- ue.displayName = oo;
397
- var to = ie, O = de, q = ue;
398
- function ro() {
399
- !Pe.current && Te();
400
- const [e] = ge(xe.current);
401
- return process.env.NODE_ENV !== "production" && Ge(e !== !0, "You have Reduced Motion enabled on your device. Animations may not appear as expected.", "reduced-motion-disabled"), e;
402
- }
403
- const le = he({
404
- disabledValues: [],
405
- groupDisabled: !1,
406
- orientation: "vertical",
407
- variant: "default"
408
- }), N = "pointer-events-none opacity-60", ao = (e) => {
409
- const r = "selected" in e, { className: o, disabled: t, itemClassName: n, onValueChange: s, orientation: i = "vertical", ref: R, selected: b, variant: l = "default", ...c } = e, p = r ? b ?? "" : b, m = ye(
410
- () => ({
411
- disabledValues: Array.isArray(t) ? t : [],
412
- groupDisabled: typeof t == "boolean" ? t : !1,
413
- itemClassName: n,
414
- orientation: i,
415
- selected: p,
416
- variant: l
417
- }),
418
- [i, l, t, n, p]
419
- );
420
- return /* @__PURE__ */ a(le.Provider, { value: m, children: /* @__PURE__ */ a(
421
- to,
422
- {
423
- className: E("text-text-primary flex w-full", i === "vertical" ? "flex-col gap-4" : "flex-row gap-5", l === "unstyled" && "w-fit gap-2.5", o),
424
- "data-testid": "spectral-radio-group",
425
- disabled: m.groupDisabled,
426
- onValueChange: s,
427
- ref: R,
428
- value: p,
429
- ...c
430
- }
431
- ) });
432
- };
433
- ao.displayName = "RadioGroup";
434
- const no = { type: "spring", stiffness: 200, damping: 16 }, fe = Ie(
435
- ({
436
- className: e,
437
- id: r,
438
- isDisabled: o,
439
- ref: t,
440
- transition: n = no,
441
- value: s,
442
- ...i
443
- }) => ro() ? /* @__PURE__ */ a(
444
- O,
445
- {
446
- className: E(
447
- "border-border-subtle bg-radio-bg relative aspect-square h-4.5 w-4.5 cursor-pointer rounded-full border-2 ring-black transition-colors",
448
- "hover:border-radio-border--hover focus-visible:outline-accent focus-visible:outline-1 focus-visible:outline-offset-2",
449
- "data-[state=checked]:border-radio-border--selected data-[state=checked]:bg-radio-bg",
450
- o && N,
451
- e
452
- ),
453
- "data-testid": "spectral-radio-group-item",
454
- disabled: o,
455
- id: r,
456
- ref: t,
457
- value: s,
458
- ...i,
459
- children: /* @__PURE__ */ a(q, { className: E("after:bg-radio-bg--selected after:absolute after:inset-0 after:m-auto after:h-2.5 after:w-2.5 after:rounded-full after:content-['']", o && N) })
460
- }
461
- ) : /* @__PURE__ */ a(O, { value: s, id: r, disabled: o, asChild: !0, ...i, children: /* @__PURE__ */ a(
462
- V.button,
463
- {
464
- className: E(
465
- "border-border-subtle bg-radio-bg relative aspect-square h-4.5 w-4.5 cursor-pointer rounded-full border-2 ring-black transition-colors",
466
- "hover:border-radio-border--hover focus-visible:outline-accent focus-visible:outline-1 focus-visible:outline-offset-2",
467
- "data-[state=checked]:border-radio-border--selected data-[state=checked]:bg-radio-bg",
468
- o && N,
469
- e
470
- ),
471
- "data-testid": "spectral-radio-group-item",
472
- ref: t,
473
- whileHover: { scale: 1.05 },
474
- whileTap: { scale: 0.95 },
475
- children: /* @__PURE__ */ a(q, { className: "relative flex items-center justify-center", children: /* @__PURE__ */ a(ke, { children: /* @__PURE__ */ a(V.div, { animate: { opacity: 1, scale: 1 }, className: "bg-radio-bg--selected absolute h-2.5 w-2.5 rounded-full", exit: { opacity: 0, scale: 0 }, initial: { opacity: 0, scale: 0 }, transition: n }, "radio-indicator") }) })
476
- }
477
- ) })
478
- );
479
- fe.displayName = "RadioButton";
480
- const so = ({
481
- children: e,
482
- className: r,
483
- disabled: o,
484
- ref: t,
485
- value: n,
486
- ...s
487
- }) => {
488
- const { disabledValues: i, groupDisabled: R, itemClassName: b, variant: l, orientation: c } = we(le), p = Ce(), m = n.toString(), f = s.id?.toString() ?? `${m}-${p}`, v = R || i.includes(m) || !!o;
489
- return l === "unstyled" ? /* @__PURE__ */ a(O, { asChild: !0, "data-testid": "spectral-radio-group-item", disabled: v, id: f, ref: t, value: m, ...s, children: /* @__PURE__ */ a(D, { className: E("data-[state=checked]:border-radio-border--selected flex h-fit w-fit rounded border-2 border-transparent", v && N, b, r), "data-testid": "spectral-radio-group-item-label", htmlFor: f, children: e }) }) : /* @__PURE__ */ Y("div", { className: E("flex items-center", v && N, b, r, c), children: [
490
- /* @__PURE__ */ a(fe, { ref: t, value: m, id: f, isDisabled: v, ...s }),
491
- e && /* @__PURE__ */ a(D, { className: E("text-md cursor-pointer font-normal", c === "vertical" ? "ml-2" : "ml-1"), htmlFor: f, children: e })
492
- ] });
493
- };
494
- so.displayName = "RadioGroup.Item";
495
- const io = ({
496
- ref: e,
497
- className: r,
498
- ...o
499
- }) => /* @__PURE__ */ a(D, { ref: e, "data-testid": "spectral-radio-group-label", className: E("text-md block font-medium", r), ...o });
500
- io.displayName = "RadioGroup.Label";
501
- export {
502
- ao as RadioGroup,
503
- so as RadioGroupItem,
504
- io as RadioGroupLabel
505
- };
1
+ import { n as e, r as t, t as n } from "./RadioGroup-w_q6RGEK.js";
2
+ export { n as RadioGroup, e as RadioGroupItem, t as RadioGroupLabel };