@spear-ai/spectral 1.11.0 → 1.11.2

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 (198) hide show
  1. package/dist/.js +3 -2
  2. package/dist/ButtonIcon.js +2 -2
  3. package/dist/Checkbox/CheckboxBase.js +1 -1
  4. package/dist/Combobox/ComboboxBase.js +1 -1
  5. package/dist/Combobox.d.ts +5 -2
  6. package/dist/Combobox.js +97 -69
  7. package/dist/{ComboboxBase-Dn8Lz9mG.js → ComboboxBase-qX-mQhT6.js} +2 -2
  8. package/dist/ControlGroup/ControlGroupSelect.d.ts +3 -2
  9. package/dist/ControlGroup/ControlGroupSelect.js +79 -71
  10. package/dist/DateTimePicker/DateTimeDisplayInput.js +1 -1
  11. package/dist/DateTimePicker.js +1 -1
  12. package/dist/Icons/AnalyzeIcon.d.ts +1 -1
  13. package/dist/Icons/AnalyzeIcon.js +5 -6
  14. package/dist/Icons/AnnotationsIcon.d.ts +1 -1
  15. package/dist/Icons/AnnotationsIcon.js +5 -6
  16. package/dist/Icons/ApprovedIcon.d.ts +1 -1
  17. package/dist/Icons/ApprovedIcon.js +5 -6
  18. package/dist/Icons/ArrowDownIcon.d.ts +1 -1
  19. package/dist/Icons/ArrowDownIcon.js +5 -6
  20. package/dist/Icons/ArrowUpIcon.d.ts +1 -1
  21. package/dist/Icons/ArrowUpIcon.js +5 -6
  22. package/dist/Icons/BoxToolIcon.d.ts +1 -1
  23. package/dist/Icons/BoxToolIcon.js +5 -6
  24. package/dist/Icons/CalendarIcon.d.ts +1 -1
  25. package/dist/Icons/CalendarIcon.js +5 -6
  26. package/dist/Icons/CheckCircleIcon.d.ts +1 -1
  27. package/dist/Icons/CheckCircleIcon.js +5 -6
  28. package/dist/Icons/CheckSquareIcon.d.ts +1 -1
  29. package/dist/Icons/CheckSquareIcon.js +5 -6
  30. package/dist/Icons/CheckmarkIcon.d.ts +1 -1
  31. package/dist/Icons/CheckmarkIcon.js +6 -7
  32. package/dist/Icons/ChevronDownIcon.d.ts +1 -1
  33. package/dist/Icons/ChevronDownIcon.js +5 -6
  34. package/dist/Icons/ChevronUpIcon.d.ts +1 -1
  35. package/dist/Icons/ChevronUpIcon.js +5 -6
  36. package/dist/Icons/ClockIcon.d.ts +1 -1
  37. package/dist/Icons/ClockIcon.js +5 -6
  38. package/dist/Icons/CloseCircleIcon.d.ts +1 -1
  39. package/dist/Icons/CloseCircleIcon.js +5 -6
  40. package/dist/Icons/CloseIcon.d.ts +1 -1
  41. package/dist/Icons/CloseIcon.js +5 -6
  42. package/dist/Icons/Crosshairs2Icon.d.ts +1 -1
  43. package/dist/Icons/Crosshairs2Icon.js +5 -6
  44. package/dist/Icons/CrosshairsIcon.d.ts +1 -1
  45. package/dist/Icons/CrosshairsIcon.js +5 -6
  46. package/dist/Icons/DashboardIcon.d.ts +1 -1
  47. package/dist/Icons/DashboardIcon.js +5 -6
  48. package/dist/Icons/DatabaseIcon.d.ts +1 -1
  49. package/dist/Icons/DatabaseIcon.js +5 -6
  50. package/dist/Icons/DeleteIcon.d.ts +1 -1
  51. package/dist/Icons/DeleteIcon.js +5 -6
  52. package/dist/Icons/DurationIcon.d.ts +1 -1
  53. package/dist/Icons/DurationIcon.js +5 -6
  54. package/dist/Icons/EditIcon.d.ts +1 -1
  55. package/dist/Icons/EditIcon.js +5 -6
  56. package/dist/Icons/EmailIcon.d.ts +1 -1
  57. package/dist/Icons/EmailIcon.js +5 -6
  58. package/dist/Icons/EraserIcon.d.ts +1 -1
  59. package/dist/Icons/EraserIcon.js +8 -9
  60. package/dist/Icons/ErrorIcon.d.ts +1 -1
  61. package/dist/Icons/ErrorIcon.js +5 -6
  62. package/dist/Icons/EyeClosedIcon.d.ts +1 -1
  63. package/dist/Icons/EyeClosedIcon.js +5 -6
  64. package/dist/Icons/EyeClosedIcon2.d.ts +1 -1
  65. package/dist/Icons/EyeClosedIcon2.js +5 -6
  66. package/dist/Icons/EyeOpenIcon.d.ts +1 -1
  67. package/dist/Icons/EyeOpenIcon.js +5 -6
  68. package/dist/Icons/FileDownloadIcon.d.ts +1 -1
  69. package/dist/Icons/FileDownloadIcon.js +5 -6
  70. package/dist/Icons/GoToFirstIcon.d.ts +1 -1
  71. package/dist/Icons/GoToFirstIcon.js +5 -6
  72. package/dist/Icons/GoToLastIcon.d.ts +1 -1
  73. package/dist/Icons/GoToLastIcon.js +5 -6
  74. package/dist/Icons/HarmonicCursorsIcon.d.ts +1 -1
  75. package/dist/Icons/HarmonicCursorsIcon.js +5 -6
  76. package/dist/Icons/IconBase.d.ts +2 -1
  77. package/dist/Icons/IconBase.js +26 -26
  78. package/dist/Icons/InfoIcon.d.ts +1 -1
  79. package/dist/Icons/InfoIcon.js +5 -6
  80. package/dist/Icons/KeyboardIcon.d.ts +1 -1
  81. package/dist/Icons/KeyboardIcon.js +5 -6
  82. package/dist/Icons/LabelIcon.d.ts +1 -1
  83. package/dist/Icons/LabelIcon.js +5 -6
  84. package/dist/Icons/LassoIcon.d.ts +1 -1
  85. package/dist/Icons/LassoIcon.js +5 -6
  86. package/dist/Icons/LineToolIcon.d.ts +1 -1
  87. package/dist/Icons/LineToolIcon.js +5 -6
  88. package/dist/Icons/LiveViewIcon.d.ts +1 -1
  89. package/dist/Icons/LiveViewIcon.js +5 -6
  90. package/dist/Icons/LoaderIcon.d.ts +1 -1
  91. package/dist/Icons/LoaderIcon.js +10 -11
  92. package/dist/Icons/LocationIcon.d.ts +1 -1
  93. package/dist/Icons/LocationIcon.js +5 -6
  94. package/dist/Icons/LogoutIcon.d.ts +1 -1
  95. package/dist/Icons/LogoutIcon.js +5 -6
  96. package/dist/Icons/MaximizeIcon.d.ts +1 -1
  97. package/dist/Icons/MaximizeIcon.js +5 -6
  98. package/dist/Icons/MeasureIcon.d.ts +1 -1
  99. package/dist/Icons/MeasureIcon.js +5 -6
  100. package/dist/Icons/MessagesIcon.d.ts +1 -1
  101. package/dist/Icons/MessagesIcon.js +5 -6
  102. package/dist/Icons/MetadataIcon.d.ts +1 -1
  103. package/dist/Icons/MetadataIcon.js +5 -6
  104. package/dist/Icons/MinimizeIcon.d.ts +1 -1
  105. package/dist/Icons/MinimizeIcon.js +5 -6
  106. package/dist/Icons/MinusIcon.d.ts +1 -1
  107. package/dist/Icons/MinusIcon.js +5 -6
  108. package/dist/Icons/OntologyIcon.d.ts +1 -1
  109. package/dist/Icons/OntologyIcon.js +5 -6
  110. package/dist/Icons/PanelIconClose.d.ts +1 -1
  111. package/dist/Icons/PanelIconClose.js +5 -6
  112. package/dist/Icons/PanelIconOpen.d.ts +1 -1
  113. package/dist/Icons/PanelIconOpen.js +5 -6
  114. package/dist/Icons/PauseIcon.d.ts +1 -1
  115. package/dist/Icons/PauseIcon.js +5 -6
  116. package/dist/Icons/PlayIcon.d.ts +1 -1
  117. package/dist/Icons/PlayIcon.js +5 -6
  118. package/dist/Icons/PlusIcon.d.ts +1 -1
  119. package/dist/Icons/PlusIcon.js +5 -6
  120. package/dist/Icons/PolygonIcon.d.ts +1 -1
  121. package/dist/Icons/PolygonIcon.js +5 -6
  122. package/dist/Icons/PrinterIcon.d.ts +1 -1
  123. package/dist/Icons/PrinterIcon.js +5 -6
  124. package/dist/Icons/ProgressCheckIcon.d.ts +1 -1
  125. package/dist/Icons/ProgressCheckIcon.js +5 -6
  126. package/dist/Icons/ResetIcon.d.ts +1 -1
  127. package/dist/Icons/ResetIcon.js +5 -6
  128. package/dist/Icons/ReviewedIcon.d.ts +1 -1
  129. package/dist/Icons/ReviewedIcon.js +5 -6
  130. package/dist/Icons/ScissorsIcon.d.ts +1 -1
  131. package/dist/Icons/ScissorsIcon.js +5 -6
  132. package/dist/Icons/SearchIcon.d.ts +1 -1
  133. package/dist/Icons/SearchIcon.js +5 -6
  134. package/dist/Icons/SettingsIcon.d.ts +1 -1
  135. package/dist/Icons/SettingsIcon.js +5 -6
  136. package/dist/Icons/SortAscendingIcon.d.ts +1 -1
  137. package/dist/Icons/SortAscendingIcon.js +5 -6
  138. package/dist/Icons/SortAtoZIcon.d.ts +1 -1
  139. package/dist/Icons/SortAtoZIcon.js +5 -6
  140. package/dist/Icons/SortDescendingIcon.d.ts +1 -1
  141. package/dist/Icons/SortDescendingIcon.js +5 -6
  142. package/dist/Icons/SortZtoAIcon.d.ts +1 -1
  143. package/dist/Icons/SortZtoAIcon.js +5 -6
  144. package/dist/Icons/SparklesIcon.d.ts +1 -1
  145. package/dist/Icons/SparklesIcon.js +5 -6
  146. package/dist/Icons/StackIcon.d.ts +1 -1
  147. package/dist/Icons/StackIcon.js +5 -6
  148. package/dist/Icons/StarIcon.d.ts +1 -1
  149. package/dist/Icons/StarIcon.js +5 -6
  150. package/dist/Icons/TrashIcon.d.ts +1 -1
  151. package/dist/Icons/TrashIcon.js +5 -6
  152. package/dist/Icons/UndoIcon.d.ts +1 -1
  153. package/dist/Icons/UndoIcon.js +5 -6
  154. package/dist/Icons/UploadIcon.d.ts +1 -1
  155. package/dist/Icons/UploadIcon.js +5 -6
  156. package/dist/Icons/User2Icon.d.ts +1 -1
  157. package/dist/Icons/User2Icon.js +5 -6
  158. package/dist/Icons/UserIcon.d.ts +1 -1
  159. package/dist/Icons/UserIcon.js +5 -6
  160. package/dist/Icons/WarningIcon.d.ts +1 -1
  161. package/dist/Icons/WarningIcon.js +5 -6
  162. package/dist/Icons/ZoomAllIcon.d.ts +1 -1
  163. package/dist/Icons/ZoomAllIcon.js +5 -6
  164. package/dist/Icons/ZoomXIcon.d.ts +1 -1
  165. package/dist/Icons/ZoomXIcon.js +5 -6
  166. package/dist/Icons/ZoomYIcon.d.ts +1 -1
  167. package/dist/Icons/ZoomYIcon.js +5 -6
  168. package/dist/Input.d.ts +2 -1
  169. package/dist/Input.js +111 -92
  170. package/dist/InputNumeric.d.ts +1 -1
  171. package/dist/InputNumeric.js +70 -65
  172. package/dist/MultiSelect/MultiSelectBase.d.ts +6 -3
  173. package/dist/MultiSelect/MultiSelectBase.js +126 -119
  174. package/dist/MultiSelect.d.ts +3 -2
  175. package/dist/MultiSelect.js +12 -11
  176. package/dist/Select.d.ts +2 -1
  177. package/dist/Select.js +83 -77
  178. package/dist/Switch/SwitchBase.js +1 -1
  179. package/dist/Textarea.d.ts +1 -1
  180. package/dist/Textarea.js +54 -49
  181. package/dist/Toggle/ToggleBase.js +1 -1
  182. package/dist/ToggleGroup/ToggleGroupBase.js +5 -2
  183. package/dist/hooks/useControllableState.d.ts +6 -1
  184. package/dist/hooks/useControllableState.d.ts.map +1 -1
  185. package/dist/hooks/useControllableState.js +2 -2
  186. package/dist/hooks/useUncontrolledState.d.ts +9 -0
  187. package/dist/hooks/useUncontrolledState.d.ts.map +1 -0
  188. package/dist/hooks/useUncontrolledState.js +16 -0
  189. package/dist/index.d.ts +1 -0
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/primitives/select.d.ts +6 -1
  192. package/dist/primitives/select.d.ts.map +1 -1
  193. package/dist/primitives/select.js +85 -36
  194. package/dist/styles/spectral.css +2 -2
  195. package/dist/utils/formFieldUtils.d.ts +11 -3
  196. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  197. package/dist/utils/formFieldUtils.js +31 -16
  198. package/package.json +1 -1
package/dist/Select.js CHANGED
@@ -4,55 +4,58 @@ import { CheckmarkIcon as e } from "./Icons/CheckmarkIcon.js";
4
4
  import { ChevronDownIcon as t } from "./Icons/ChevronDownIcon.js";
5
5
  import { LoaderIcon as n } from "./Icons/LoaderIcon.js";
6
6
  import { t as r } from "./twUtils-VNWgstKL.js";
7
- import { EmptyState as i, ErrorMessage as a, LoadingState as o, getAriaProps as s, getErrorMessageId as c, getFormFieldCSSProperties as l, getOptionClasses as ee, getStateClasses as te, getTriggerClasses as ne, groupOptions as re, useFormFieldId as ie, useFormFieldState as u } from "./utils/formFieldUtils.js";
8
- import { Label as d } from "./Label.js";
9
- import { a as f, c as p, d as m, f as h, h as g, i as _, l as ae, m as oe, n as se, o as ce, p as le, r as ue, t as v, u as y } from "./dist-fW81qjVl.js";
10
- import { useState as b } from "react";
11
- import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
7
+ import { EmptyState as i, ErrorMessage as a, LoadingState as o, getAriaProps as s, getDropdownSurfaceClasses as c, getErrorMessageId as l, getFormFieldCSSProperties as ee, getOptionClasses as te, getStateClasses as ne, getTriggerClasses as re, groupOptions as ie, useFormFieldId as ae, useFormFieldState as oe } from "./utils/formFieldUtils.js";
8
+ import { Label as u } from "./Label.js";
9
+ import { a as d, c as f, d as p, f as m, h, i as g, l as se, m as ce, n as le, o as ue, p as de, r as fe, t as pe, u as me } from "./dist-fW81qjVl.js";
10
+ import { useState as he } from "react";
11
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
12
12
  //#region src/components/Select/Select.tsx
13
- var w = (w) => {
14
- let T = "value" in w, { align: E = "start", alignOffset: D = 0, avoidCollisions: O = !0, className: k, collisionBoundary: A, collisionPadding: j = 10, defaultValue: M, emptyMessage: N = "No options found", errorMessage: P, id: F, label: I, labelClassName: L, loadingMessage: de = "Loading…", name: R, onChange: z, options: B = [], placeholder: V = "Select an option", position: H = "popper", ref: fe, side: pe = "bottom", sideOffset: me = 4, state: U = "default", value: W, "aria-label": he, "aria-describedby": ge, ...G } = w, K = T ? W ?? "" : W, [q, _e] = b(!1), J = ie(F, R), Y = c(J), { isDisabled: X, isLoading: Z, isInvalid: ve } = u(G.disabled, U), ye = s(U, ge, G.required, Y), { groups: Q, ungrouped: $ } = re(B), be = () => {
15
- if (Z) return /* @__PURE__ */ S(o, {
13
+ var b = (b) => {
14
+ let x = "value" in b, { align: S = "start", alignOffset: C = 0, avoidCollisions: w = !0, className: T, collisionBoundary: E, collisionPadding: D = 10, defaultValue: O, dropdownWidth: k = "trigger", emptyMessage: A = "No options found", errorMessage: j, id: M, label: N, labelClassName: P, loadingMessage: F = "Loading…", name: I, onChange: L, options: R = [], placeholder: z = "Select an option", position: B = "popper", ref: ge, side: _e = "bottom", sideOffset: ve = 4, state: V = "default", value: H, "aria-label": ye, "aria-describedby": be, ...U } = b, W = x ? H ?? "" : H, [G, xe] = he(!1), K = ae(M, I), q = l(K), J = k === "trigger" ? "var(--radix-select-trigger-width)" : k === "content" ? "max-content" : k, Y = k === "trigger" || k === "content" ? k : "custom", Se = {
15
+ "--spectral-select-content-width": J,
16
+ width: B === "item-aligned" ? J : void 0
17
+ }, { isDisabled: X, isLoading: Z, isInvalid: Ce } = oe(U.disabled, V), we = s(V, be, U.required, q), { groups: Q, ungrouped: $ } = ie(R), Te = () => {
18
+ if (Z) return /* @__PURE__ */ v(o, {
16
19
  "data-testid": "spectral-select-loading",
17
- message: de
20
+ message: F
18
21
  });
19
- if (B.length === 0) return /* @__PURE__ */ S(i, {
22
+ if (R.length === 0) return /* @__PURE__ */ v(i, {
20
23
  "data-testid": "spectral-select-empty",
21
- message: N
24
+ message: A
22
25
  });
23
26
  let t = (t) => {
24
- let n = K === t.value;
25
- return /* @__PURE__ */ C(_, {
26
- className: r(ee(!!t.disabled, !1, n), "relative flex w-full cursor-pointer items-center"),
27
+ let n = W === t.value;
28
+ return /* @__PURE__ */ y(g, {
29
+ className: r(te(!!t.disabled, !1, n), "relative flex w-full cursor-pointer items-center"),
27
30
  "data-testid": "spectral-select-item",
28
31
  disabled: t.disabled,
29
32
  value: t.value,
30
- children: [/* @__PURE__ */ S(ce, {
33
+ children: [/* @__PURE__ */ v(ue, {
31
34
  "data-testid": "spectral-select-item-text",
32
35
  className: "block truncate",
33
36
  children: t.label
34
- }), /* @__PURE__ */ S(f, {
37
+ }), /* @__PURE__ */ v(d, {
35
38
  "data-testid": "spectral-select-item-selected-indicator",
36
39
  asChild: !0,
37
- children: /* @__PURE__ */ S("span", {
40
+ children: /* @__PURE__ */ v("span", {
38
41
  className: "right-2 h-4 w-4 absolute flex items-center justify-center",
39
- children: /* @__PURE__ */ S(e, { size: 16 })
42
+ children: /* @__PURE__ */ v(e, { size: 16 })
40
43
  })
41
44
  })]
42
45
  }, t.value);
43
46
  };
44
- return /* @__PURE__ */ C(x, { children: [$.length > 0 && /* @__PURE__ */ C(x, { children: [$.map(t), Object.keys(Q).length > 0 && /* @__PURE__ */ S(h, {
47
+ return /* @__PURE__ */ y(_, { children: [$.length > 0 && /* @__PURE__ */ y(_, { children: [$.map(t), Object.keys(Q).length > 0 && /* @__PURE__ */ v(m, {
45
48
  className: "-mx-1 my-1 h-px bg-border-secondary",
46
49
  "data-testid": "spectral-select-separator"
47
- })] }), Object.entries(Q).map(([e, n], i) => /* @__PURE__ */ C(se, {
50
+ })] }), Object.entries(Q).map(([e, n], i) => /* @__PURE__ */ y(le, {
48
51
  "data-testid": "spectral-select-group",
49
52
  children: [
50
- i > 0 && /* @__PURE__ */ S(h, {
53
+ i > 0 && /* @__PURE__ */ v(m, {
51
54
  className: "-mx-1 my-1 h-px bg-border-secondary",
52
55
  "data-testid": "spectral-select-group-separator"
53
56
  }),
54
- /* @__PURE__ */ S(d, {
55
- className: r("px-2 py-1.5 text-base font-semibold text-text-primary", L),
57
+ /* @__PURE__ */ v(u, {
58
+ className: r("px-2 py-1.5 text-base font-semibold text-text-primary", P),
56
59
  "data-testid": "spectral-select-group-label",
57
60
  children: e
58
61
  }),
@@ -60,93 +63,96 @@ var w = (w) => {
60
63
  ]
61
64
  }, e))] });
62
65
  };
63
- return /* @__PURE__ */ C("div", {
66
+ return /* @__PURE__ */ y("div", {
64
67
  className: "w-full",
65
68
  children: [
66
- I && /* @__PURE__ */ S(d, {
67
- className: r("mb-2 block text-text-primary", L, X && "text-text-secondary"),
69
+ N && /* @__PURE__ */ v(u, {
70
+ className: r("mb-2 block text-text-primary", P, X && "text-text-secondary"),
68
71
  "data-testid": "spectral-select-label",
69
- htmlFor: J,
70
- children: I
72
+ htmlFor: K,
73
+ children: N
71
74
  }),
72
- /* @__PURE__ */ C(ae, {
75
+ /* @__PURE__ */ y(se, {
73
76
  "data-testid": "spectral-select",
74
- defaultValue: M,
77
+ defaultValue: O,
75
78
  disabled: X,
76
- name: R,
77
- onOpenChange: _e,
78
- onValueChange: z,
79
- open: q,
80
- required: G.required,
81
- value: K,
82
- children: [/* @__PURE__ */ S(le, {
83
- "aria-controls": J,
84
- "aria-expanded": q,
85
- "aria-label": he ?? I,
79
+ name: I,
80
+ onOpenChange: xe,
81
+ onValueChange: L,
82
+ open: G,
83
+ required: U.required,
84
+ value: W,
85
+ children: [/* @__PURE__ */ v(de, {
86
+ "aria-controls": K,
87
+ "aria-expanded": G,
88
+ "aria-label": ye ?? N,
86
89
  asChild: !0,
87
- className: r(ne(!1, U), te(U), "text-input-text data-placeholder:text-input-text!", k),
90
+ className: r(re(!1, V), ne(V), "text-input-text data-placeholder:text-input-text!", T),
88
91
  "data-slot": "select-trigger",
89
- "data-state": U,
92
+ "data-state": V,
90
93
  "data-testid": "spectral-select-trigger",
91
- id: J,
92
- ref: fe,
94
+ id: K,
95
+ ref: ge,
93
96
  role: "combobox",
94
- style: l(),
95
- ...ye,
96
- ...G,
97
- children: /* @__PURE__ */ C("button", {
97
+ style: ee(),
98
+ ...we,
99
+ ...U,
100
+ children: /* @__PURE__ */ y("button", {
98
101
  className: "min-w-0 gap-2 [&>span]:min-w-0 grid w-full cursor-pointer grid-cols-[minmax(0,1fr)_auto] items-center overflow-hidden text-left whitespace-nowrap text-input-text! data-placeholder:text-input-text! [&>span]:block [&>span]:overflow-hidden [&>span]:text-ellipsis [&>span]:whitespace-nowrap [&>span[data-placeholder]]:text-input-text!",
99
102
  type: "button",
100
103
  disabled: X,
101
- children: [/* @__PURE__ */ S(oe, {
104
+ children: [/* @__PURE__ */ v(ce, {
102
105
  className: "min-w-0 block max-w-full flex-1 truncate text-left whitespace-nowrap text-input-text! data-placeholder:text-input-text!",
103
106
  "data-testid": "spectral-select-value",
104
- placeholder: V
105
- }), /* @__PURE__ */ S(ue, {
107
+ placeholder: z
108
+ }), /* @__PURE__ */ v(fe, {
106
109
  asChild: !0,
107
- children: /* @__PURE__ */ S("div", {
110
+ children: /* @__PURE__ */ v("div", {
108
111
  className: "flex shrink-0 cursor-pointer items-center",
109
- children: Z ? /* @__PURE__ */ S(n, { size: 20 }) : /* @__PURE__ */ S(t, {
110
- className: r("transition-transform duration-200", q && "rotate-180"),
112
+ children: Z ? /* @__PURE__ */ v(n, { size: 20 }) : /* @__PURE__ */ v(t, {
113
+ className: r("transition-transform duration-200", G && "rotate-180"),
111
114
  size: 20
112
115
  })
113
116
  })
114
117
  })]
115
118
  })
116
- }), /* @__PURE__ */ S(p, { children: /* @__PURE__ */ C(v, {
117
- align: E,
118
- alignOffset: D,
119
- avoidCollisions: O,
120
- className: r("rounded-lg shadow-md relative z-50 border border-input-border bg-input-bg motion-safe:data-[state=closed]:animate-out motion-safe:data-[state=open]:animate-in", "motion-safe:data-[state=closed]:fade-out-0 motion-safe:data-[state=closed]:zoom-out-95 motion-safe:data-[state=open]:fade-in-0 motion-safe:data-[state=open]:zoom-in-95", "max-h-[min(var(--radix-select-content-available-height),300px)] motion-safe:data-[side=bottom]:slide-in-from-top-2 motion-safe:data-[side=top]:slide-in-from-bottom-2", "min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto", H === "popper" && "data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1"),
121
- collisionBoundary: A,
122
- collisionPadding: j,
119
+ }), /* @__PURE__ */ v(f, { children: /* @__PURE__ */ y(pe, {
120
+ align: S,
121
+ alignOffset: C,
122
+ avoidCollisions: w,
123
+ className: r("relative z-50 motion-safe:data-[state=closed]:animate-out motion-safe:data-[state=open]:animate-in", c(), "motion-safe:data-[state=closed]:fade-out-0 motion-safe:data-[state=closed]:zoom-out-95 motion-safe:data-[state=open]:fade-in-0 motion-safe:data-[state=open]:zoom-in-95", "max-h-[min(var(--radix-select-content-available-height),300px)] motion-safe:data-[side=bottom]:slide-in-from-top-2 motion-safe:data-[side=top]:slide-in-from-bottom-2", "min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto", B === "popper" && "data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1"),
124
+ collisionBoundary: E,
125
+ collisionPadding: D,
126
+ "data-dropdown-width-mode": Y,
127
+ "data-dropdown-width-value": Y === "custom" ? k : void 0,
123
128
  "data-slot": "select-content",
124
129
  "data-testid": "spectral-select-content",
125
- position: H,
126
- side: pe,
127
- sideOffset: me,
130
+ position: B,
131
+ side: _e,
132
+ sideOffset: ve,
133
+ style: Se,
128
134
  children: [
129
- /* @__PURE__ */ S(m, {
135
+ /* @__PURE__ */ v(p, {
130
136
  className: "py-1 flex cursor-default items-center justify-center",
131
137
  "data-testid": "spectral-select-scroll-up-button",
132
- children: /* @__PURE__ */ S(t, {
138
+ children: /* @__PURE__ */ v(t, {
133
139
  "aria-hidden": "true",
134
140
  className: "rotate-180",
135
141
  size: 18
136
142
  })
137
143
  }),
138
- /* @__PURE__ */ S(g, {
144
+ /* @__PURE__ */ v(h, {
139
145
  asChild: !0,
140
- children: /* @__PURE__ */ S("div", {
141
- className: r("p-1", H === "popper" && "scroll-my-1 h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"),
146
+ children: /* @__PURE__ */ v("div", {
147
+ className: r("p-1", B === "popper" && "scroll-my-1 h-(--radix-select-trigger-height) w-(--spectral-select-content-width) min-w-(--spectral-select-content-width)"),
142
148
  "data-testid": "spectral-select-items",
143
- children: be()
149
+ children: Te()
144
150
  })
145
151
  }),
146
- /* @__PURE__ */ S(y, {
152
+ /* @__PURE__ */ v(me, {
147
153
  className: "py-1 flex cursor-default items-center justify-center",
148
154
  "data-testid": "spectral-select-scroll-down-button",
149
- children: /* @__PURE__ */ S(t, {
155
+ children: /* @__PURE__ */ v(t, {
150
156
  "aria-hidden": "true",
151
157
  size: 18
152
158
  })
@@ -154,14 +160,14 @@ var w = (w) => {
154
160
  ]
155
161
  }) })]
156
162
  }),
157
- ve && P && /* @__PURE__ */ S(a, {
163
+ Ce && j && /* @__PURE__ */ v(a, {
158
164
  "data-testid": "spectral-select-error-message",
159
- id: Y,
160
- message: P
165
+ id: q,
166
+ message: j
161
167
  })
162
168
  ]
163
169
  });
164
170
  };
165
- w.displayName = "Select";
171
+ b.displayName = "Select";
166
172
  //#endregion
167
- export { w as Select };
173
+ export { b as Select };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import "../styles/main.css";
3
3
  import { Slot as e } from "../primitives/slot.js";
4
- import { useControllableState as t } from "../hooks/useControllableState.js";
4
+ import { useUncontrolledState as t } from "../hooks/useUncontrolledState.js";
5
5
  import { createContext as n, useCallback as r, useContext as i, useEffect as a, useId as o, useRef as s } from "react";
6
6
  import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
7
7
  //#region src/components/Switch/SwitchBase.tsx
@@ -18,7 +18,7 @@ export type TextareaProps = Omit<ComponentProps<'textarea'>, 'onChange'> & {
18
18
  value?: string | undefined;
19
19
  };
20
20
  export declare const Textarea: {
21
- ({ ref, autoComplete, className, disabled, errorMessage, id, label, labelClassName, maxLength, name, onBlur, onChange, onFocus, placeholder, required, state, value, ...props }: TextareaProps & {
21
+ (allProps: TextareaProps & {
22
22
  ref?: Ref<HTMLTextAreaElement>;
23
23
  }): import("react/jsx-runtime").JSX.Element;
24
24
  displayName: string;
package/dist/Textarea.js CHANGED
@@ -3,84 +3,89 @@ import "./styles/main.css";
3
3
  import { LoaderIcon as e } from "./Icons/LoaderIcon.js";
4
4
  import { t } from "./twUtils-VNWgstKL.js";
5
5
  import { ErrorMessage as n, getAriaProps as r, getErrorMessageId as i, getTextareaClasses as a, useFormFieldId as o, useFormFieldState as s } from "./utils/formFieldUtils.js";
6
- import { Label as c } from "./Label.js";
7
- import { useTextarea as l } from "./Textarea/TextareaUtils.js";
8
- import { useRef as u } from "react";
9
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
6
+ import { useUncontrolledState as c } from "./hooks/useUncontrolledState.js";
7
+ import { Label as l } from "./Label.js";
8
+ import { useTextarea as u } from "./Textarea/TextareaUtils.js";
9
+ import { useRef as d } from "react";
10
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
11
  //#region src/components/Textarea/Textarea.tsx
11
- var p = "absolute right-4 top-4", m = (e) => e || "off", h = (e, n) => t("absolute bottom-2 right-3 text-xs pointer-events-none z-10 tabular-nums", e >= n ? "text-danger-400" : "text-text-secondary"), g = ({ ref: g, autoComplete: _, className: v, disabled: y, errorMessage: b, id: x, label: S, labelClassName: C, maxLength: w = 280, name: T, onBlur: E, onChange: D, onFocus: O, placeholder: k, required: A, state: j = "default", value: M = "", ...N }) => {
12
- let P = o(x, T), F = i(P), I = u(null), L = g ?? I, { handleFocus: R, handleBlur: z, handleChange: B, handlePaste: V } = l({
13
- maxLength: w,
14
- value: M,
15
- onChange: D ?? (() => {}),
16
- onFocus: O,
17
- onBlur: E
18
- }), { isDisabled: H, isLoading: U } = s(y, j), W = r(j, F, A, N["aria-describedby"]), G = M?.length || 0, K = a(j, v), q = () => ({
12
+ var m = "absolute right-4 top-4", h = (e) => e || "off", g = (e, n) => t("absolute bottom-2 right-3 text-xs pointer-events-none z-10 tabular-nums", e >= n ? "text-danger-400" : "text-text-secondary"), _ = (_) => {
13
+ let { ref: v, autoComplete: y, className: b, defaultValue: x, disabled: S, errorMessage: C, id: w, label: T, labelClassName: E, maxLength: D = 280, name: O, onBlur: k, onChange: A, onFocus: j, placeholder: M, required: N, state: P = "default", value: F, ...I } = _, L = o(w, O), R = i(L), z = d(null), B = v ?? z, [V, H] = c({
14
+ value: F,
15
+ defaultValue: typeof x == "string" ? x : x == null ? "" : String(x),
16
+ onChange: A
17
+ }), { handleFocus: U, handleBlur: W, handleChange: G, handlePaste: K } = u({
18
+ maxLength: D,
19
+ value: V,
20
+ onChange: H,
21
+ onFocus: j,
22
+ onBlur: k
23
+ }), { isDisabled: q, isLoading: J } = s(S, P), Y = r(P, I["aria-describedby"], N, R), X = V?.length || 0, Z = a(P, b), Q = () => ({
19
24
  "--textarea-min-height": "6rem",
20
25
  "--textarea-max-height": "12rem",
21
26
  "--textarea-border-radius": "0.5rem"
22
27
  });
23
- return /* @__PURE__ */ f("div", {
28
+ return /* @__PURE__ */ p("div", {
24
29
  className: "w-full",
25
30
  children: [
26
- S && /* @__PURE__ */ d(c, {
31
+ T && /* @__PURE__ */ f(l, {
27
32
  "data-testid": "spectral-textarea-label",
28
- htmlFor: P,
29
- className: t("mb-2 block", H && "cursor-not-allowed opacity-50", C),
30
- children: S
33
+ htmlFor: L,
34
+ className: t("mb-2 block", q && "cursor-not-allowed opacity-50", E),
35
+ children: T
31
36
  }),
32
- /* @__PURE__ */ f("div", {
37
+ /* @__PURE__ */ p("div", {
33
38
  className: "relative",
34
39
  children: [
35
- /* @__PURE__ */ d("textarea", {
40
+ /* @__PURE__ */ f("textarea", {
36
41
  "aria-multiline": "true",
37
- autoComplete: m(_),
38
- className: K,
39
- "data-state": j,
42
+ autoComplete: h(y),
43
+ className: Z,
44
+ "data-state": P,
40
45
  "data-testid": "spectral-textarea",
41
- disabled: H,
42
- id: P,
43
- name: T,
44
- onBlur: z,
45
- onChange: B,
46
- onFocus: R,
47
- onPaste: V,
48
- placeholder: k,
49
- ref: L,
50
- required: A,
46
+ disabled: q,
47
+ id: L,
48
+ name: O,
49
+ onBlur: W,
50
+ onChange: G,
51
+ onFocus: U,
52
+ onPaste: K,
53
+ placeholder: M,
54
+ ref: B,
55
+ required: N,
51
56
  spellCheck: "true",
52
- style: q(),
53
- value: M,
54
- ...W,
55
- ...N
57
+ style: Q(),
58
+ value: V,
59
+ ...Y,
60
+ ...I
56
61
  }),
57
- U && /* @__PURE__ */ d("div", {
58
- className: p,
62
+ J && /* @__PURE__ */ f("div", {
63
+ className: m,
59
64
  "data-testid": "spectral-textarea-loading-icon",
60
- children: /* @__PURE__ */ d(e, { size: 24 })
65
+ children: /* @__PURE__ */ f(e, { size: 24 })
61
66
  }),
62
- /* @__PURE__ */ f("div", {
63
- "aria-label": G + " of " + w + " characters used",
67
+ /* @__PURE__ */ p("div", {
68
+ "aria-label": X + " of " + D + " characters used",
64
69
  "aria-live": "polite",
65
- className: h(G, w),
70
+ className: g(X, D),
66
71
  "data-testid": "spectral-textarea-counter",
67
72
  role: "status",
68
73
  children: [
69
- G,
74
+ X,
70
75
  "/",
71
- w
76
+ D
72
77
  ]
73
78
  })
74
79
  ]
75
80
  }),
76
- j === "error" && b && /* @__PURE__ */ d(n, {
81
+ P === "error" && C && /* @__PURE__ */ f(n, {
77
82
  dataTestId: "spectral-textarea-error-message",
78
- id: F,
79
- message: b
83
+ id: R,
84
+ message: C
80
85
  })
81
86
  ]
82
87
  });
83
88
  };
84
- g.displayName = "Textarea";
89
+ _.displayName = "Textarea";
85
90
  //#endregion
86
- export { g as Textarea };
91
+ export { _ as Textarea };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import "../styles/main.css";
3
3
  import { Slot as e } from "../primitives/slot.js";
4
- import { useControllableState as t } from "../hooks/useControllableState.js";
4
+ import { useUncontrolledState as t } from "../hooks/useUncontrolledState.js";
5
5
  import { useCallback as n } from "react";
6
6
  import { jsx as r } from "react/jsx-runtime";
7
7
  //#region src/components/Toggle/ToggleBase.tsx
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import "../styles/main.css";
3
- import { useControllableState as e } from "../hooks/useControllableState.js";
3
+ import { useUncontrolledState as e } from "../hooks/useUncontrolledState.js";
4
4
  import { clamp as t } from "../utils/sharedUtils.js";
5
5
  import { createContext as n, useCallback as r, useContext as i, useEffect as a, useImperativeHandle as o, useMemo as s, useRef as c } from "react";
6
6
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
@@ -80,7 +80,10 @@ var d = n(null), f = (n) => {
80
80
  let h = i(d);
81
81
  if (!h) throw Error("ToggleGroupItem must be used within ToggleGroup");
82
82
  let { type: g, orientation: _, groupDisabled: v, setValue: y, isItemPressed: b, itemsSnapshot: x, register: S } = h, C = c(null);
83
- o(e, () => C.current), a(() => S(t, C.current), [S, t]);
83
+ o(e, () => {
84
+ if (!C.current) throw Error("ToggleGroupItem button ref is not set");
85
+ return C.current;
86
+ }), a(() => S(t, C.current), [S, t]);
84
87
  let w = b(t), T = r(() => {
85
88
  if (!(v || n)) if (g === "single") y(w ? "" : t);
86
89
  else {
@@ -1,6 +1,11 @@
1
1
  /**
2
- * Hook for managing controllable state - supports both controlled and uncontrolled patterns
2
+ * Hook for managing uncontrolled state with optional external control.
3
3
  */
4
+ export declare const useUncontrolledState: <T>(options: {
5
+ value?: T;
6
+ defaultValue: T;
7
+ onChange?: (next: T) => void;
8
+ }) => [T, (next: T | ((prev: T) => T)) => void];
4
9
  export declare const useControllableState: <T>(options: {
5
10
  value?: T;
6
11
  defaultValue: T;
@@ -1 +1 @@
1
- {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAcvJ,CAAA"}
1
+ {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAcvJ,CAAA;AAGD,eAAO,MAAM,oBAAoB,GAjBI,CAAC,WAAW;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAiBhG,CAAA"}
@@ -11,6 +11,6 @@ var n = (n) => {
11
11
  a,
12
12
  l
13
13
  ])];
14
- };
14
+ }, r = n;
15
15
  //#endregion
16
- export { n as useControllableState };
16
+ export { r as useControllableState, n as useUncontrolledState };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Hook for managing uncontrolled state with optional external control.
3
+ */
4
+ export declare const useUncontrolledState: <T>(options: {
5
+ value?: T;
6
+ defaultValue: T;
7
+ onChange?: (next: T) => void;
8
+ }) => [T, (next: T | ((prev: T) => T)) => void];
9
+ //# sourceMappingURL=useUncontrolledState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUncontrolledState.d.ts","sourceRoot":"","sources":["../../src/hooks/useUncontrolledState.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAcvJ,CAAA"}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { useCallback as e, useState as t } from "react";
3
+ //#region src/hooks/useUncontrolledState.ts
4
+ var n = (n) => {
5
+ let { value: r, defaultValue: i, onChange: a } = n, [o, s] = t(i), c = r !== void 0, l = c ? r : o;
6
+ return [l, e((e) => {
7
+ let t = typeof e == "function" ? e(l) : e;
8
+ c || s(t), a?.(t);
9
+ }, [
10
+ c,
11
+ a,
12
+ l
13
+ ])];
14
+ };
15
+ //#endregion
16
+ export { n as useUncontrolledState };
package/dist/index.d.ts CHANGED
@@ -40,6 +40,7 @@ export * from './components/Icons';
40
40
  export { IconBase, SvgIdContext } from './components/Icons/IconBase';
41
41
  export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from './primitives/input-group';
42
42
  export { useAccordionAutoScroll } from './hooks/useAccordionAutoScroll';
43
+ export { useUncontrolledState } from './hooks/useUncontrolledState';
43
44
  export { useControllableState } from './hooks/useControllableState';
44
45
  export { cn } from './utils/twUtils';
45
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { DropdownWidth } from '../utils/formFieldUtils';
1
2
  import { ComponentProps } from 'react';
2
3
  import * as SelectPrimitive from '@radix-ui/react-select';
3
4
  export declare const Select: ({ ...props }: ComponentProps<typeof SelectPrimitive.Root>) => import("react/jsx-runtime").JSX.Element;
@@ -6,10 +7,14 @@ export declare const SelectValue: ({ className, ...props }: ComponentProps<typeo
6
7
  export declare const SelectTrigger: ({ asChild, children, className, size, ...props }: ComponentProps<typeof SelectPrimitive.Trigger> & {
7
8
  size?: "sm" | "default";
8
9
  }) => import("react/jsx-runtime").JSX.Element;
9
- export declare const SelectContent: ({ align, children, className, position, ...props }: ComponentProps<typeof SelectPrimitive.Content>) => import("react/jsx-runtime").JSX.Element;
10
+ type SelectContentProps = ComponentProps<typeof SelectPrimitive.Content> & {
11
+ dropdownWidth?: DropdownWidth;
12
+ };
13
+ export declare const SelectContent: ({ align, children, className, dropdownWidth, onCloseAutoFocus, onFocusCapture, position, style, ...props }: SelectContentProps) => import("react/jsx-runtime").JSX.Element;
10
14
  export declare const SelectLabel: ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Label>) => import("react/jsx-runtime").JSX.Element;
11
15
  export declare const SelectItem: ({ className, children, ...props }: ComponentProps<typeof SelectPrimitive.Item>) => import("react/jsx-runtime").JSX.Element;
12
16
  export declare const SelectSeparator: ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Separator>) => import("react/jsx-runtime").JSX.Element;
13
17
  export declare const SelectScrollUpButton: ({ className, ...props }: ComponentProps<typeof SelectPrimitive.ScrollUpButton>) => import("react/jsx-runtime").JSX.Element;
14
18
  export declare const SelectScrollDownButton: ({ className, ...props }: ComponentProps<typeof SelectPrimitive.ScrollDownButton>) => import("react/jsx-runtime").JSX.Element;
19
+ export {};
15
20
  //# sourceMappingURL=select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/primitives/select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,eAAO,MAAM,MAAM,GAAI,cAAc,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAE/E,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAErF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAEhG,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,kDAM3B,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IAClD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CACxB,4CAoBA,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,oDAA0E,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,4CAsBrJ,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAEhG,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,mCAAmC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAkBxG,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,4CAExG,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,4CAMlH,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,4CAMtH,CAAA"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/primitives/select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErF,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AA6CnD,eAAO,MAAM,MAAM,GAAI,cAAc,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAE/E,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAErF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAEhG,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,kDAM3B,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IAClD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CACxB,4CAoBA,CAAA;AAED,KAAK,kBAAkB,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACzE,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,4GAA8I,kBAAkB,4CAoD7L,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAEhG,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,mCAAmC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAkBxG,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,4CAExG,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,4CAMlH,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,yBAAyB,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,4CAMtH,CAAA"}