@proyecto-viviana/solidaria-components 0.3.1 → 0.4.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 (398) hide show
  1. package/dist/ActionBar.js +184 -0
  2. package/dist/ActionBar.js.map +1 -0
  3. package/dist/ActionBar.jsx +128 -0
  4. package/dist/ActionBar.jsx.map +1 -0
  5. package/dist/ActionGroup.js +179 -0
  6. package/dist/ActionGroup.js.map +1 -0
  7. package/dist/ActionGroup.jsx +129 -0
  8. package/dist/ActionGroup.jsx.map +1 -0
  9. package/dist/Alert.js +111 -0
  10. package/dist/Alert.js.map +1 -0
  11. package/dist/Alert.jsx +82 -0
  12. package/dist/Alert.jsx.map +1 -0
  13. package/dist/Autocomplete.js +130 -0
  14. package/dist/Autocomplete.js.map +1 -0
  15. package/dist/Autocomplete.jsx +116 -0
  16. package/dist/Autocomplete.jsx.map +1 -0
  17. package/dist/Breadcrumbs.d.ts.map +1 -1
  18. package/dist/Breadcrumbs.js +334 -0
  19. package/dist/Breadcrumbs.js.map +1 -0
  20. package/dist/Breadcrumbs.jsx +266 -0
  21. package/dist/Breadcrumbs.jsx.map +1 -0
  22. package/dist/Button.d.ts.map +1 -1
  23. package/dist/Button.js +348 -0
  24. package/dist/Button.js.map +1 -0
  25. package/dist/Button.jsx +314 -0
  26. package/dist/Button.jsx.map +1 -0
  27. package/dist/Calendar.d.ts +4 -4
  28. package/dist/Calendar.d.ts.map +1 -1
  29. package/dist/Calendar.js +538 -0
  30. package/dist/Calendar.js.map +1 -0
  31. package/dist/Calendar.jsx +333 -0
  32. package/dist/Calendar.jsx.map +1 -0
  33. package/dist/CalendarPicker.d.ts +33 -0
  34. package/dist/CalendarPicker.d.ts.map +1 -0
  35. package/dist/CalendarPicker.js +44 -0
  36. package/dist/CalendarPicker.js.map +1 -0
  37. package/dist/CalendarPicker.jsx +44 -0
  38. package/dist/CalendarPicker.jsx.map +1 -0
  39. package/dist/Checkbox.d.ts +83 -4
  40. package/dist/Checkbox.d.ts.map +1 -1
  41. package/dist/Checkbox.js +923 -0
  42. package/dist/Checkbox.js.map +1 -0
  43. package/dist/Checkbox.jsx +707 -0
  44. package/dist/Checkbox.jsx.map +1 -0
  45. package/dist/Collection.d.ts.map +1 -1
  46. package/dist/Collection.js +202 -0
  47. package/dist/Collection.js.map +1 -0
  48. package/dist/Collection.jsx +152 -0
  49. package/dist/Collection.jsx.map +1 -0
  50. package/dist/Color.d.ts.map +1 -1
  51. package/dist/Color.js +1720 -0
  52. package/dist/Color.js.map +1 -0
  53. package/dist/Color.jsx +1344 -0
  54. package/dist/Color.jsx.map +1 -0
  55. package/dist/ColorEditor.js +208 -0
  56. package/dist/ColorEditor.js.map +1 -0
  57. package/dist/ColorEditor.jsx +120 -0
  58. package/dist/ColorEditor.jsx.map +1 -0
  59. package/dist/ComboBox.d.ts +8 -5
  60. package/dist/ComboBox.d.ts.map +1 -1
  61. package/dist/ComboBox.js +992 -0
  62. package/dist/ComboBox.js.map +1 -0
  63. package/dist/ComboBox.jsx +714 -0
  64. package/dist/ComboBox.jsx.map +1 -0
  65. package/dist/ContextualHelpTrigger.js +146 -0
  66. package/dist/ContextualHelpTrigger.js.map +1 -0
  67. package/dist/ContextualHelpTrigger.jsx +109 -0
  68. package/dist/ContextualHelpTrigger.jsx.map +1 -0
  69. package/dist/DateField.d.ts +3 -3
  70. package/dist/DateField.d.ts.map +1 -1
  71. package/dist/DateField.js +4 -0
  72. package/dist/DateField.jsx +4 -0
  73. package/dist/DateField2.js +499 -0
  74. package/dist/DateField2.js.map +1 -0
  75. package/dist/DateField2.jsx +317 -0
  76. package/dist/DateField2.jsx.map +1 -0
  77. package/dist/DatePicker.d.ts +4 -4
  78. package/dist/DatePicker.d.ts.map +1 -1
  79. package/dist/DatePicker.js +991 -0
  80. package/dist/DatePicker.js.map +1 -0
  81. package/dist/DatePicker.jsx +682 -0
  82. package/dist/DatePicker.jsx.map +1 -0
  83. package/dist/Dialog.d.ts.map +1 -1
  84. package/dist/Dialog.js +337 -0
  85. package/dist/Dialog.js.map +1 -0
  86. package/dist/Dialog.jsx +192 -0
  87. package/dist/Dialog.jsx.map +1 -0
  88. package/dist/Disclosure.d.ts.map +1 -1
  89. package/dist/Disclosure.js +328 -0
  90. package/dist/Disclosure.js.map +1 -0
  91. package/dist/Disclosure.jsx +230 -0
  92. package/dist/Disclosure.jsx.map +1 -0
  93. package/dist/DragAndDrop.d.ts.map +1 -1
  94. package/dist/DragAndDrop.js +176 -0
  95. package/dist/DragAndDrop.js.map +1 -0
  96. package/dist/DragAndDrop.jsx +160 -0
  97. package/dist/DragAndDrop.jsx.map +1 -0
  98. package/dist/DropZone.d.ts.map +1 -1
  99. package/dist/DropZone.js +189 -0
  100. package/dist/DropZone.js.map +1 -0
  101. package/dist/DropZone.jsx +144 -0
  102. package/dist/DropZone.jsx.map +1 -0
  103. package/dist/FieldError.js +66 -0
  104. package/dist/FieldError.js.map +1 -0
  105. package/dist/FieldError.jsx +47 -0
  106. package/dist/FieldError.jsx.map +1 -0
  107. package/dist/FileTrigger.js +79 -0
  108. package/dist/FileTrigger.js.map +1 -0
  109. package/dist/FileTrigger.jsx +49 -0
  110. package/dist/FileTrigger.jsx.map +1 -0
  111. package/dist/Focusable.js +70 -0
  112. package/dist/Focusable.js.map +1 -0
  113. package/dist/Focusable.jsx +69 -0
  114. package/dist/Focusable.jsx.map +1 -0
  115. package/dist/Form.js +99 -0
  116. package/dist/Form.js.map +1 -0
  117. package/dist/Form.jsx +73 -0
  118. package/dist/Form.jsx.map +1 -0
  119. package/dist/GridList.d.ts +34 -2
  120. package/dist/GridList.d.ts.map +1 -1
  121. package/dist/GridList.js +723 -0
  122. package/dist/GridList.js.map +1 -0
  123. package/dist/GridList.jsx +552 -0
  124. package/dist/GridList.jsx.map +1 -0
  125. package/dist/HiddenTimeInput.js +104 -0
  126. package/dist/HiddenTimeInput.js.map +1 -0
  127. package/dist/HiddenTimeInput.jsx +69 -0
  128. package/dist/HiddenTimeInput.jsx.map +1 -0
  129. package/dist/Icon.d.ts.map +1 -1
  130. package/dist/Icon.js +127 -0
  131. package/dist/Icon.js.map +1 -0
  132. package/dist/Icon.jsx +72 -0
  133. package/dist/Icon.jsx.map +1 -0
  134. package/dist/Keyboard.js +30 -0
  135. package/dist/Keyboard.js.map +1 -0
  136. package/dist/Keyboard.jsx +24 -0
  137. package/dist/Keyboard.jsx.map +1 -0
  138. package/dist/Landmark.js +134 -0
  139. package/dist/Landmark.js.map +1 -0
  140. package/dist/Landmark.jsx +118 -0
  141. package/dist/Landmark.jsx.map +1 -0
  142. package/dist/Link.d.ts.map +1 -1
  143. package/dist/Link.js +219 -0
  144. package/dist/Link.js.map +1 -0
  145. package/dist/Link.jsx +189 -0
  146. package/dist/Link.jsx.map +1 -0
  147. package/dist/ListBox.d.ts.map +1 -1
  148. package/dist/ListBox.js +670 -0
  149. package/dist/ListBox.js.map +1 -0
  150. package/dist/ListBox.jsx +508 -0
  151. package/dist/ListBox.jsx.map +1 -0
  152. package/dist/Menu.d.ts +27 -9
  153. package/dist/Menu.d.ts.map +1 -1
  154. package/dist/Menu.js +1254 -0
  155. package/dist/Menu.js.map +1 -0
  156. package/dist/Menu.jsx +1042 -0
  157. package/dist/Menu.jsx.map +1 -0
  158. package/dist/Meter.d.ts.map +1 -1
  159. package/dist/Meter.js +123 -0
  160. package/dist/Meter.js.map +1 -0
  161. package/dist/Meter.jsx +107 -0
  162. package/dist/Meter.jsx.map +1 -0
  163. package/dist/Modal.d.ts.map +1 -1
  164. package/dist/Modal.js +380 -0
  165. package/dist/Modal.js.map +1 -0
  166. package/dist/Modal.jsx +314 -0
  167. package/dist/Modal.jsx.map +1 -0
  168. package/dist/NumberField.d.ts +3 -3
  169. package/dist/NumberField.d.ts.map +1 -1
  170. package/dist/NumberField.js +573 -0
  171. package/dist/NumberField.js.map +1 -0
  172. package/dist/NumberField.jsx +443 -0
  173. package/dist/NumberField.jsx.map +1 -0
  174. package/dist/Popover.d.ts +10 -2
  175. package/dist/Popover.d.ts.map +1 -1
  176. package/dist/Popover.js +464 -0
  177. package/dist/Popover.js.map +1 -0
  178. package/dist/Popover.jsx +333 -0
  179. package/dist/Popover.jsx.map +1 -0
  180. package/dist/Pressable.js +69 -0
  181. package/dist/Pressable.js.map +1 -0
  182. package/dist/Pressable.jsx +68 -0
  183. package/dist/Pressable.jsx.map +1 -0
  184. package/dist/ProgressBar.d.ts.map +1 -1
  185. package/dist/ProgressBar.js +130 -0
  186. package/dist/ProgressBar.js.map +1 -0
  187. package/dist/ProgressBar.jsx +114 -0
  188. package/dist/ProgressBar.jsx.map +1 -0
  189. package/dist/RadioGroup.d.ts +82 -4
  190. package/dist/RadioGroup.d.ts.map +1 -1
  191. package/dist/RadioGroup.js +931 -0
  192. package/dist/RadioGroup.js.map +1 -0
  193. package/dist/RadioGroup.jsx +681 -0
  194. package/dist/RadioGroup.jsx.map +1 -0
  195. package/dist/RangeCalendar.d.ts.map +1 -1
  196. package/dist/RangeCalendar.js +410 -0
  197. package/dist/RangeCalendar.js.map +1 -0
  198. package/dist/RangeCalendar.jsx +253 -0
  199. package/dist/RangeCalendar.jsx.map +1 -0
  200. package/dist/RouterProvider.js +118 -0
  201. package/dist/RouterProvider.js.map +1 -0
  202. package/dist/RouterProvider.jsx +112 -0
  203. package/dist/RouterProvider.jsx.map +1 -0
  204. package/dist/SearchField.d.ts +2 -2
  205. package/dist/SearchField.d.ts.map +1 -1
  206. package/dist/SearchField.js +643 -0
  207. package/dist/SearchField.js.map +1 -0
  208. package/dist/SearchField.jsx +526 -0
  209. package/dist/SearchField.jsx.map +1 -0
  210. package/dist/Select.d.ts.map +1 -1
  211. package/dist/Select.js +1031 -0
  212. package/dist/Select.js.map +1 -0
  213. package/dist/Select.jsx +744 -0
  214. package/dist/Select.jsx.map +1 -0
  215. package/dist/SelectionIndicator.d.ts.map +1 -1
  216. package/dist/SelectionIndicator.js +86 -0
  217. package/dist/SelectionIndicator.js.map +1 -0
  218. package/dist/SelectionIndicator.jsx +50 -0
  219. package/dist/SelectionIndicator.jsx.map +1 -0
  220. package/dist/Separator.js +97 -0
  221. package/dist/Separator.js.map +1 -0
  222. package/dist/Separator.jsx +85 -0
  223. package/dist/Separator.jsx.map +1 -0
  224. package/dist/SharedElementTransition.d.ts.map +1 -1
  225. package/dist/SharedElementTransition.js +165 -0
  226. package/dist/SharedElementTransition.js.map +1 -0
  227. package/dist/SharedElementTransition.jsx +138 -0
  228. package/dist/SharedElementTransition.jsx.map +1 -0
  229. package/dist/Slider.d.ts +33 -1
  230. package/dist/Slider.d.ts.map +1 -1
  231. package/dist/Slider.js +515 -0
  232. package/dist/Slider.js.map +1 -0
  233. package/dist/Slider.jsx +403 -0
  234. package/dist/Slider.jsx.map +1 -0
  235. package/dist/StepList.js +198 -0
  236. package/dist/StepList.js.map +1 -0
  237. package/dist/StepList.jsx +141 -0
  238. package/dist/StepList.jsx.map +1 -0
  239. package/dist/Switch.d.ts +65 -2
  240. package/dist/Switch.d.ts.map +1 -1
  241. package/dist/Switch.js +534 -0
  242. package/dist/Switch.js.map +1 -0
  243. package/dist/Switch.jsx +393 -0
  244. package/dist/Switch.jsx.map +1 -0
  245. package/dist/Table.d.ts +48 -0
  246. package/dist/Table.d.ts.map +1 -1
  247. package/dist/Table.js +1759 -0
  248. package/dist/Table.js.map +1 -0
  249. package/dist/Table.jsx +1348 -0
  250. package/dist/Table.jsx.map +1 -0
  251. package/dist/Tabs.d.ts +0 -4
  252. package/dist/Tabs.d.ts.map +1 -1
  253. package/dist/Tabs.js +595 -0
  254. package/dist/Tabs.js.map +1 -0
  255. package/dist/Tabs.jsx +367 -0
  256. package/dist/Tabs.jsx.map +1 -0
  257. package/dist/TagGroup.d.ts.map +1 -1
  258. package/dist/TagGroup.js +378 -0
  259. package/dist/TagGroup.js.map +1 -0
  260. package/dist/TagGroup.jsx +270 -0
  261. package/dist/TagGroup.jsx.map +1 -0
  262. package/dist/Text.d.ts +18 -6
  263. package/dist/Text.d.ts.map +1 -1
  264. package/dist/Text.js +42 -0
  265. package/dist/Text.js.map +1 -0
  266. package/dist/Text.jsx +35 -0
  267. package/dist/Text.jsx.map +1 -0
  268. package/dist/TextField.d.ts +7 -6
  269. package/dist/TextField.d.ts.map +1 -1
  270. package/dist/TextField.js +436 -0
  271. package/dist/TextField.js.map +1 -0
  272. package/dist/TextField.jsx +403 -0
  273. package/dist/TextField.jsx.map +1 -0
  274. package/dist/TimeField.d.ts +3 -3
  275. package/dist/TimeField.d.ts.map +1 -1
  276. package/dist/TimeField.js +372 -0
  277. package/dist/TimeField.js.map +1 -0
  278. package/dist/TimeField.jsx +224 -0
  279. package/dist/TimeField.jsx.map +1 -0
  280. package/dist/Toast.d.ts +14 -0
  281. package/dist/Toast.d.ts.map +1 -1
  282. package/dist/Toast.js +551 -0
  283. package/dist/Toast.js.map +1 -0
  284. package/dist/Toast.jsx +361 -0
  285. package/dist/Toast.jsx.map +1 -0
  286. package/dist/ToggleButton.d.ts.map +1 -1
  287. package/dist/ToggleButton.js +123 -0
  288. package/dist/ToggleButton.js.map +1 -0
  289. package/dist/ToggleButton.jsx +88 -0
  290. package/dist/ToggleButton.jsx.map +1 -0
  291. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  292. package/dist/ToggleButtonGroup.js +114 -0
  293. package/dist/ToggleButtonGroup.js.map +1 -0
  294. package/dist/ToggleButtonGroup.jsx +85 -0
  295. package/dist/ToggleButtonGroup.jsx.map +1 -0
  296. package/dist/Toolbar.js +112 -0
  297. package/dist/Toolbar.js.map +1 -0
  298. package/dist/Toolbar.jsx +92 -0
  299. package/dist/Toolbar.jsx.map +1 -0
  300. package/dist/Tooltip.d.ts.map +1 -1
  301. package/dist/Tooltip.js +539 -0
  302. package/dist/Tooltip.js.map +1 -0
  303. package/dist/Tooltip.jsx +465 -0
  304. package/dist/Tooltip.jsx.map +1 -0
  305. package/dist/Tree.d.ts +14 -2
  306. package/dist/Tree.d.ts.map +1 -1
  307. package/dist/Tree.js +1424 -0
  308. package/dist/Tree.js.map +1 -0
  309. package/dist/Tree.jsx +1172 -0
  310. package/dist/Tree.jsx.map +1 -0
  311. package/dist/Virtualizer.d.ts +16 -2
  312. package/dist/Virtualizer.d.ts.map +1 -1
  313. package/dist/Virtualizer.js +2 -0
  314. package/dist/Virtualizer.jsx +2 -0
  315. package/dist/Virtualizer2.js +751 -0
  316. package/dist/Virtualizer2.js.map +1 -0
  317. package/dist/Virtualizer2.jsx +730 -0
  318. package/dist/Virtualizer2.jsx.map +1 -0
  319. package/dist/VirtualizerLayouts.d.ts +18 -0
  320. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  321. package/dist/VisuallyHidden.js +42 -0
  322. package/dist/VisuallyHidden.js.map +1 -0
  323. package/dist/VisuallyHidden.jsx +35 -0
  324. package/dist/VisuallyHidden.jsx.map +1 -0
  325. package/dist/contexts.js +33 -0
  326. package/dist/contexts.js.map +1 -0
  327. package/dist/contexts.jsx +33 -0
  328. package/dist/contexts.jsx.map +1 -0
  329. package/dist/index.d.ts +7 -6
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +70 -23711
  332. package/dist/index.jsx +70 -18116
  333. package/dist/useDragAndDrop.js +2 -0
  334. package/dist/useDragAndDrop.jsx +2 -0
  335. package/dist/useDragAndDrop2.js +395 -0
  336. package/dist/useDragAndDrop2.js.map +1 -0
  337. package/dist/useDragAndDrop2.jsx +395 -0
  338. package/dist/useDragAndDrop2.jsx.map +1 -0
  339. package/dist/utils.d.ts +83 -11
  340. package/dist/utils.d.ts.map +1 -1
  341. package/dist/utils.js +285 -0
  342. package/dist/utils.js.map +1 -0
  343. package/dist/utils.jsx +277 -0
  344. package/dist/utils.jsx.map +1 -0
  345. package/dist/virtualizer/Layout.js +144 -0
  346. package/dist/virtualizer/Layout.js.map +1 -0
  347. package/dist/virtualizer/Layout.jsx +144 -0
  348. package/dist/virtualizer/Layout.jsx.map +1 -0
  349. package/package.json +401 -4
  350. package/src/Breadcrumbs.tsx +3 -1
  351. package/src/Button.tsx +90 -23
  352. package/src/Calendar.tsx +27 -10
  353. package/src/CalendarPicker.tsx +73 -0
  354. package/src/Checkbox.tsx +539 -3
  355. package/src/Collection.tsx +9 -3
  356. package/src/Color.tsx +42 -14
  357. package/src/ComboBox.tsx +126 -14
  358. package/src/DateField.tsx +20 -2
  359. package/src/DatePicker.tsx +117 -10
  360. package/src/Dialog.tsx +13 -5
  361. package/src/Disclosure.tsx +3 -1
  362. package/src/DragAndDrop.tsx +3 -1
  363. package/src/DropZone.tsx +3 -1
  364. package/src/GridList.tsx +125 -24
  365. package/src/Icon.tsx +3 -1
  366. package/src/Link.tsx +3 -1
  367. package/src/ListBox.tsx +31 -4
  368. package/src/Menu.tsx +298 -131
  369. package/src/Meter.tsx +3 -1
  370. package/src/Modal.tsx +100 -52
  371. package/src/NumberField.tsx +73 -10
  372. package/src/Popover.tsx +49 -11
  373. package/src/ProgressBar.tsx +3 -1
  374. package/src/RadioGroup.tsx +468 -4
  375. package/src/RangeCalendar.tsx +3 -1
  376. package/src/SearchField.tsx +27 -3
  377. package/src/Select.tsx +22 -7
  378. package/src/SelectionIndicator.tsx +3 -1
  379. package/src/SharedElementTransition.tsx +3 -1
  380. package/src/Slider.tsx +159 -13
  381. package/src/Switch.tsx +395 -2
  382. package/src/Table.tsx +409 -95
  383. package/src/Tabs.tsx +16 -45
  384. package/src/TagGroup.tsx +4 -1
  385. package/src/Text.tsx +31 -10
  386. package/src/TextField.tsx +73 -10
  387. package/src/TimeField.tsx +20 -2
  388. package/src/Toast.tsx +79 -14
  389. package/src/ToggleButton.tsx +3 -1
  390. package/src/ToggleButtonGroup.tsx +3 -1
  391. package/src/Tooltip.tsx +55 -8
  392. package/src/Tree.tsx +77 -9
  393. package/src/Virtualizer.tsx +180 -31
  394. package/src/VirtualizerLayouts.ts +45 -10
  395. package/src/index.ts +50 -0
  396. package/src/utils.tsx +243 -27
  397. package/dist/index.js.map +0 -1
  398. package/dist/index.jsx.map +0 -1
@@ -0,0 +1,130 @@
1
+ import { filterDOMProps, useRenderProps } from "./utils.js";
2
+ import { getNextElement, insert, mergeProps, runHydrationEvents, spread, template } from "solid-js/web";
3
+ import { createContext, createMemo, mergeProps as mergeProps$1, splitProps, useContext } from "solid-js";
4
+ import { createProgressBar } from "@proyecto-viviana/solidaria";
5
+ //#region src/ProgressBar.tsx
6
+ /**
7
+ * ProgressBar component for solidaria-components
8
+ *
9
+ * Pre-wired headless progress bar component that combines aria hooks.
10
+ * Port of react-aria-components/src/ProgressBar.tsx
11
+ */
12
+ var _tmpl$ = /*#__PURE__*/ template(`<div>`);
13
+ const ProgressBarContext = createContext(null);
14
+ function clamp(value, min, max) {
15
+ return Math.min(Math.max(value, min), max);
16
+ }
17
+ function getSafeRange(min, max) {
18
+ const range = max - min;
19
+ return Number.isFinite(range) && range > 0 ? range : 1;
20
+ }
21
+ /**
22
+ * Progress bars show either determinate or indeterminate progress of an operation
23
+ * over time.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * <ProgressBar value={50}>
28
+ * {({ percentage, valueText }) => (
29
+ * <>
30
+ * <Label>Loading...</Label>
31
+ * <span>{valueText}</span>
32
+ * <div class="bar" style={{ width: `${percentage}%` }} />
33
+ * </>
34
+ * )}
35
+ * </ProgressBar>
36
+ * ```
37
+ */
38
+ function ProgressBar(props) {
39
+ const contextProps = useContext(ProgressBarContext);
40
+ const [local, ariaProps] = splitProps(contextProps ? mergeProps$1(contextProps, props) : props, [
41
+ "children",
42
+ "class",
43
+ "style",
44
+ "slot"
45
+ ]);
46
+ const value = () => ariaProps.value ?? 0;
47
+ const minValue = () => ariaProps.minValue ?? 0;
48
+ const maxValue = () => ariaProps.maxValue ?? 100;
49
+ const isIndeterminate = () => ariaProps.isIndeterminate ?? false;
50
+ const progressAria = createProgressBar({
51
+ get id() {
52
+ return ariaProps.id;
53
+ },
54
+ get value() {
55
+ return ariaProps.value;
56
+ },
57
+ get minValue() {
58
+ return ariaProps.minValue;
59
+ },
60
+ get maxValue() {
61
+ return ariaProps.maxValue;
62
+ },
63
+ get valueLabel() {
64
+ return ariaProps.valueLabel;
65
+ },
66
+ get isIndeterminate() {
67
+ return ariaProps.isIndeterminate;
68
+ },
69
+ get formatOptions() {
70
+ return ariaProps.formatOptions;
71
+ },
72
+ get label() {
73
+ return ariaProps.label;
74
+ },
75
+ get "aria-label"() {
76
+ return ariaProps["aria-label"];
77
+ },
78
+ get "aria-labelledby"() {
79
+ return ariaProps["aria-labelledby"];
80
+ },
81
+ get "aria-describedby"() {
82
+ return ariaProps["aria-describedby"];
83
+ },
84
+ get "aria-details"() {
85
+ return ariaProps["aria-details"];
86
+ }
87
+ });
88
+ const percentage = createMemo(() => {
89
+ if (isIndeterminate()) return;
90
+ return (clamp(value(), minValue(), maxValue()) - minValue()) / getSafeRange(minValue(), maxValue()) * 100;
91
+ });
92
+ const valueText = createMemo(() => {
93
+ return progressAria.progressBarProps["aria-valuetext"];
94
+ });
95
+ const renderValues = createMemo(() => ({
96
+ percentage: percentage(),
97
+ valueText: valueText(),
98
+ isIndeterminate: isIndeterminate()
99
+ }));
100
+ const renderProps = useRenderProps({
101
+ get children() {
102
+ return props.children;
103
+ },
104
+ class: local.class,
105
+ style: local.style,
106
+ defaultClassName: "solidaria-ProgressBar"
107
+ }, renderValues);
108
+ const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));
109
+ return (() => {
110
+ var _el$ = getNextElement(_tmpl$);
111
+ spread(_el$, mergeProps(domProps, () => progressAria.progressBarProps, {
112
+ get ["class"]() {
113
+ return renderProps.class();
114
+ },
115
+ get style() {
116
+ return renderProps.style();
117
+ },
118
+ get slot() {
119
+ return local.slot;
120
+ }
121
+ }), false, true);
122
+ insert(_el$, () => renderProps.renderChildren());
123
+ runHydrationEvents();
124
+ return _el$;
125
+ })();
126
+ }
127
+ //#endregion
128
+ export { ProgressBar, ProgressBarContext };
129
+
130
+ //# sourceMappingURL=ProgressBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressBar.js","names":["JSX","createContext","createMemo","mergeProps","splitProps","useContext","createProgressBar","AriaProgressBarProps","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","ProgressBarRenderProps","percentage","valueText","isIndeterminate","ProgressBarProps","id","children","class","style","ProgressBarContext","clamp","value","min","max","Math","getSafeRange","range","Number","isFinite","ProgressBar","props","Element","contextProps","mergedProps","local","ariaProps","minValue","maxValue","progressAria","valueLabel","formatOptions","label","aria-label","aria-labelledby","aria-describedby","aria-details","undefined","clampedValue","progressBarProps","renderValues","renderProps","defaultClassName","domProps","global","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","slot","_$insert","renderChildren","_$runHydrationEvents"],"sources":["../src/ProgressBar.tsx"],"sourcesContent":["/**\n * ProgressBar component for solidaria-components\n *\n * Pre-wired headless progress bar component that combines aria hooks.\n * Port of react-aria-components/src/ProgressBar.tsx\n */\n\nimport { type JSX, createContext, createMemo, mergeProps, splitProps, useContext } from \"solid-js\";\nimport { createProgressBar, type AriaProgressBarProps } from \"@proyecto-viviana/solidaria\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\n\nexport interface ProgressBarRenderProps {\n /** The value as a percentage between the minimum and maximum (0-100). */\n percentage: number | undefined;\n /** A formatted version of the value. */\n valueText: string | undefined;\n /** Whether the progress bar is indeterminate. */\n isIndeterminate: boolean;\n}\n\nexport interface ProgressBarProps extends AriaProgressBarProps, SlotProps {\n /** The element id. */\n id?: string;\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<ProgressBarRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ProgressBarRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ProgressBarRenderProps>;\n}\n\nexport const ProgressBarContext = createContext<ProgressBarProps | null>(null);\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction getSafeRange(min: number, max: number): number {\n const range = max - min;\n return Number.isFinite(range) && range > 0 ? range : 1;\n}\n\n/**\n * Progress bars show either determinate or indeterminate progress of an operation\n * over time.\n *\n * @example\n * ```tsx\n * <ProgressBar value={50}>\n * {({ percentage, valueText }) => (\n * <>\n * <Label>Loading...</Label>\n * <span>{valueText}</span>\n * <div class=\"bar\" style={{ width: `${percentage}%` }} />\n * </>\n * )}\n * </ProgressBar>\n * ```\n */\nexport function ProgressBar(props: ProgressBarProps): JSX.Element {\n const contextProps = useContext(ProgressBarContext);\n const mergedProps = contextProps ? mergeProps(contextProps, props) : props;\n const [local, ariaProps] = splitProps(mergedProps, [\"children\", \"class\", \"style\", \"slot\"]);\n\n const value = () => ariaProps.value ?? 0;\n const minValue = () => ariaProps.minValue ?? 0;\n const maxValue = () => ariaProps.maxValue ?? 100;\n const isIndeterminate = () => ariaProps.isIndeterminate ?? false;\n\n const progressAria = createProgressBar({\n get id() {\n return ariaProps.id;\n },\n get value() {\n return ariaProps.value;\n },\n get minValue() {\n return ariaProps.minValue;\n },\n get maxValue() {\n return ariaProps.maxValue;\n },\n get valueLabel() {\n return ariaProps.valueLabel;\n },\n get isIndeterminate() {\n return ariaProps.isIndeterminate;\n },\n get formatOptions() {\n return ariaProps.formatOptions;\n },\n get label() {\n return ariaProps.label;\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n get \"aria-details\"() {\n return ariaProps[\"aria-details\"];\n },\n });\n\n const percentage = createMemo(() => {\n if (isIndeterminate()) {\n return undefined;\n }\n const clampedValue = clamp(value(), minValue(), maxValue());\n return ((clampedValue - minValue()) / getSafeRange(minValue(), maxValue())) * 100;\n });\n\n const valueText = createMemo(() => {\n return progressAria.progressBarProps[\"aria-valuetext\"] as string | undefined;\n });\n\n const renderValues = createMemo<ProgressBarRenderProps>(() => ({\n percentage: percentage(),\n valueText: valueText(),\n isIndeterminate: isIndeterminate(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ProgressBar\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n return (\n <div\n {...domProps()}\n {...progressAria.progressBarProps}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n >\n {renderProps.renderChildren()}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAsCA,MAAauB,qBAAqBtB,cAAuC,IAAI;AAE7E,SAASuB,MAAMC,OAAeC,KAAaC,KAAqB;CAC9D,OAAOC,KAAKF,IAAIE,KAAKD,IAAIF,OAAOC,GAAG,GAAGC,GAAG;AAC3C;AAEA,SAASE,aAAaH,KAAaC,KAAqB;CACtD,MAAMG,QAAQH,MAAMD;CACpB,OAAOK,OAAOC,SAASF,KAAK,KAAKA,QAAQ,IAAIA,QAAQ;AACvD;;;;;;;;;;;;;;;;;;AAmBA,SAAgBG,YAAYC,OAAsC;CAChE,MAAME,eAAe/B,WAAWkB,kBAAkB;CAElD,MAAM,CAACe,OAAOC,aAAanC,WADPgC,eAAejC,aAAWiC,cAAcF,KAAK,IAAIA,OAClB;EAAC;EAAY;EAAS;EAAS;CAAM,CAAC;CAEzF,MAAMT,cAAcc,UAAUd,SAAS;CACvC,MAAMe,iBAAiBD,UAAUC,YAAY;CAC7C,MAAMC,iBAAiBF,UAAUE,YAAY;CAC7C,MAAMxB,wBAAwBsB,UAAUtB,mBAAmB;CAE3D,MAAMyB,eAAepC,kBAAkB;EACrC,IAAIa,KAAK;GACP,OAAOoB,UAAUpB;EACnB;EACA,IAAIM,QAAQ;GACV,OAAOc,UAAUd;EACnB;EACA,IAAIe,WAAW;GACb,OAAOD,UAAUC;EACnB;EACA,IAAIC,WAAW;GACb,OAAOF,UAAUE;EACnB;EACA,IAAIE,aAAa;GACf,OAAOJ,UAAUI;EACnB;EACA,IAAI1B,kBAAkB;GACpB,OAAOsB,UAAUtB;EACnB;EACA,IAAI2B,gBAAgB;GAClB,OAAOL,UAAUK;EACnB;EACA,IAAIC,QAAQ;GACV,OAAON,UAAUM;EACnB;EACA,IAAI,eAAe;GACjB,OAAON,UAAU;EACnB;EACA,IAAI,oBAAoB;GACtB,OAAOA,UAAU;EACnB;EACA,IAAI,qBAAqB;GACvB,OAAOA,UAAU;EACnB;EACA,IAAI,iBAAiB;GACnB,OAAOA,UAAU;EACnB;CACF,CAAC;CAED,MAAMxB,aAAab,iBAAiB;EAClC,IAAIe,gBAAgB,GAClB;EAGF,QADqBO,MAAMC,MAAM,GAAGe,SAAS,GAAGC,SAAS,CAChDU,IAAeX,SAAS,KAAKX,aAAaW,SAAS,GAAGC,SAAS,CAAC,IAAK;CAChF,CAAC;CAED,MAAMzB,YAAYd,iBAAiB;EACjC,OAAOwC,aAAaU,iBAAiB;CACvC,CAAC;CAED,MAAMC,eAAenD,kBAA0C;EAC7Da,YAAYA,WAAW;EACvBC,WAAWA,UAAU;EACrBC,iBAAiBA,gBAAgB;CACnC,EAAE;CAEF,MAAMqC,cAAc1C,eAClB;EACE,IAAIQ,WAAW;GACb,OAAOc,MAAMd;EACf;EACAC,OAAOiB,MAAMjB;EACbC,OAAOgB,MAAMhB;EACbiC,kBAAkB;CACpB,GACAF,YACF;CAEA,MAAMG,WAAWtD,iBAAiBW,eAAe0B,WAAW,EAAEkB,QAAQ,KAAK,CAAC,CAAC;CAE7E,cAAA;EAAA,IAAAC,OAAAC,eAAAC,MAAA;EAAAC,OAAAH,MAAAI,WAEQN,gBACAd,aAAaU,kBAAgB;GAAA,KAAA,WAAA;IAAA,OAC1BE,YAAYjC,MAAM;GAAC;GAAA,IAC1BC,QAAK;IAAA,OAAEgC,YAAYhC,MAAM;GAAC;GAAA,IAC1ByC,OAAI;IAAA,OAAEzB,MAAMyB;GAAI;EAAA,CAAA,GAAA,OAAA,IAAA;EAAAC,OAAAN,YAEfJ,YAAYW,eAAe,CAAC;EAAAC,mBAAA;EAAA,OAAAR;CAAA,EAAA,CAAA;AAGnC"}
@@ -0,0 +1,114 @@
1
+ import { filterDOMProps, useRenderProps } from "./utils.jsx";
2
+ import { createContext, createMemo, mergeProps, splitProps, useContext } from "solid-js";
3
+ import { createProgressBar } from "@proyecto-viviana/solidaria";
4
+ //#region src/ProgressBar.tsx
5
+ /**
6
+ * ProgressBar component for solidaria-components
7
+ *
8
+ * Pre-wired headless progress bar component that combines aria hooks.
9
+ * Port of react-aria-components/src/ProgressBar.tsx
10
+ */
11
+ const ProgressBarContext = createContext(null);
12
+ function clamp(value, min, max) {
13
+ return Math.min(Math.max(value, min), max);
14
+ }
15
+ function getSafeRange(min, max) {
16
+ const range = max - min;
17
+ return Number.isFinite(range) && range > 0 ? range : 1;
18
+ }
19
+ /**
20
+ * Progress bars show either determinate or indeterminate progress of an operation
21
+ * over time.
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <ProgressBar value={50}>
26
+ * {({ percentage, valueText }) => (
27
+ * <>
28
+ * <Label>Loading...</Label>
29
+ * <span>{valueText}</span>
30
+ * <div class="bar" style={{ width: `${percentage}%` }} />
31
+ * </>
32
+ * )}
33
+ * </ProgressBar>
34
+ * ```
35
+ */
36
+ function ProgressBar(props) {
37
+ const contextProps = useContext(ProgressBarContext);
38
+ const [local, ariaProps] = splitProps(contextProps ? mergeProps(contextProps, props) : props, [
39
+ "children",
40
+ "class",
41
+ "style",
42
+ "slot"
43
+ ]);
44
+ const value = () => ariaProps.value ?? 0;
45
+ const minValue = () => ariaProps.minValue ?? 0;
46
+ const maxValue = () => ariaProps.maxValue ?? 100;
47
+ const isIndeterminate = () => ariaProps.isIndeterminate ?? false;
48
+ const progressAria = createProgressBar({
49
+ get id() {
50
+ return ariaProps.id;
51
+ },
52
+ get value() {
53
+ return ariaProps.value;
54
+ },
55
+ get minValue() {
56
+ return ariaProps.minValue;
57
+ },
58
+ get maxValue() {
59
+ return ariaProps.maxValue;
60
+ },
61
+ get valueLabel() {
62
+ return ariaProps.valueLabel;
63
+ },
64
+ get isIndeterminate() {
65
+ return ariaProps.isIndeterminate;
66
+ },
67
+ get formatOptions() {
68
+ return ariaProps.formatOptions;
69
+ },
70
+ get label() {
71
+ return ariaProps.label;
72
+ },
73
+ get "aria-label"() {
74
+ return ariaProps["aria-label"];
75
+ },
76
+ get "aria-labelledby"() {
77
+ return ariaProps["aria-labelledby"];
78
+ },
79
+ get "aria-describedby"() {
80
+ return ariaProps["aria-describedby"];
81
+ },
82
+ get "aria-details"() {
83
+ return ariaProps["aria-details"];
84
+ }
85
+ });
86
+ const percentage = createMemo(() => {
87
+ if (isIndeterminate()) return;
88
+ return (clamp(value(), minValue(), maxValue()) - minValue()) / getSafeRange(minValue(), maxValue()) * 100;
89
+ });
90
+ const valueText = createMemo(() => {
91
+ return progressAria.progressBarProps["aria-valuetext"];
92
+ });
93
+ const renderValues = createMemo(() => ({
94
+ percentage: percentage(),
95
+ valueText: valueText(),
96
+ isIndeterminate: isIndeterminate()
97
+ }));
98
+ const renderProps = useRenderProps({
99
+ get children() {
100
+ return props.children;
101
+ },
102
+ class: local.class,
103
+ style: local.style,
104
+ defaultClassName: "solidaria-ProgressBar"
105
+ }, renderValues);
106
+ const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));
107
+ return <div {...domProps()} {...progressAria.progressBarProps} class={renderProps.class()} style={renderProps.style()} slot={local.slot}>
108
+ {renderProps.renderChildren()}
109
+ </div>;
110
+ }
111
+ //#endregion
112
+ export { ProgressBar, ProgressBarContext };
113
+
114
+ //# sourceMappingURL=ProgressBar.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressBar.jsx","names":[],"sources":["../src/ProgressBar.tsx"],"sourcesContent":["/**\n * ProgressBar component for solidaria-components\n *\n * Pre-wired headless progress bar component that combines aria hooks.\n * Port of react-aria-components/src/ProgressBar.tsx\n */\n\nimport { type JSX, createContext, createMemo, mergeProps, splitProps, useContext } from \"solid-js\";\nimport { createProgressBar, type AriaProgressBarProps } from \"@proyecto-viviana/solidaria\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\n\nexport interface ProgressBarRenderProps {\n /** The value as a percentage between the minimum and maximum (0-100). */\n percentage: number | undefined;\n /** A formatted version of the value. */\n valueText: string | undefined;\n /** Whether the progress bar is indeterminate. */\n isIndeterminate: boolean;\n}\n\nexport interface ProgressBarProps extends AriaProgressBarProps, SlotProps {\n /** The element id. */\n id?: string;\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<ProgressBarRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ProgressBarRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ProgressBarRenderProps>;\n}\n\nexport const ProgressBarContext = createContext<ProgressBarProps | null>(null);\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction getSafeRange(min: number, max: number): number {\n const range = max - min;\n return Number.isFinite(range) && range > 0 ? range : 1;\n}\n\n/**\n * Progress bars show either determinate or indeterminate progress of an operation\n * over time.\n *\n * @example\n * ```tsx\n * <ProgressBar value={50}>\n * {({ percentage, valueText }) => (\n * <>\n * <Label>Loading...</Label>\n * <span>{valueText}</span>\n * <div class=\"bar\" style={{ width: `${percentage}%` }} />\n * </>\n * )}\n * </ProgressBar>\n * ```\n */\nexport function ProgressBar(props: ProgressBarProps): JSX.Element {\n const contextProps = useContext(ProgressBarContext);\n const mergedProps = contextProps ? mergeProps(contextProps, props) : props;\n const [local, ariaProps] = splitProps(mergedProps, [\"children\", \"class\", \"style\", \"slot\"]);\n\n const value = () => ariaProps.value ?? 0;\n const minValue = () => ariaProps.minValue ?? 0;\n const maxValue = () => ariaProps.maxValue ?? 100;\n const isIndeterminate = () => ariaProps.isIndeterminate ?? false;\n\n const progressAria = createProgressBar({\n get id() {\n return ariaProps.id;\n },\n get value() {\n return ariaProps.value;\n },\n get minValue() {\n return ariaProps.minValue;\n },\n get maxValue() {\n return ariaProps.maxValue;\n },\n get valueLabel() {\n return ariaProps.valueLabel;\n },\n get isIndeterminate() {\n return ariaProps.isIndeterminate;\n },\n get formatOptions() {\n return ariaProps.formatOptions;\n },\n get label() {\n return ariaProps.label;\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n get \"aria-details\"() {\n return ariaProps[\"aria-details\"];\n },\n });\n\n const percentage = createMemo(() => {\n if (isIndeterminate()) {\n return undefined;\n }\n const clampedValue = clamp(value(), minValue(), maxValue());\n return ((clampedValue - minValue()) / getSafeRange(minValue(), maxValue())) * 100;\n });\n\n const valueText = createMemo(() => {\n return progressAria.progressBarProps[\"aria-valuetext\"] as string | undefined;\n });\n\n const renderValues = createMemo<ProgressBarRenderProps>(() => ({\n percentage: percentage(),\n valueText: valueText(),\n isIndeterminate: isIndeterminate(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ProgressBar\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n return (\n <div\n {...domProps()}\n {...progressAria.progressBarProps}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n >\n {renderProps.renderChildren()}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAsCA,MAAa,qBAAqB,cAAuC,IAAI;AAE7E,SAAS,MAAM,OAAe,KAAa,KAAqB;CAC9D,OAAO,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,GAAG,GAAG;AAC3C;AAEA,SAAS,aAAa,KAAa,KAAqB;CACtD,MAAM,QAAQ,MAAM;CACpB,OAAO,OAAO,SAAS,KAAK,KAAK,QAAQ,IAAI,QAAQ;AACvD;;;;;;;;;;;;;;;;;;AAmBA,SAAgB,YAAY,OAAsC;CAChE,MAAM,eAAe,WAAW,kBAAkB;CAElD,MAAM,CAAC,OAAO,aAAa,WADP,eAAe,WAAW,cAAc,KAAK,IAAI,OAClB;EAAC;EAAY;EAAS;EAAS;CAAM,CAAC;CAEzF,MAAM,cAAc,UAAU,SAAS;CACvC,MAAM,iBAAiB,UAAU,YAAY;CAC7C,MAAM,iBAAiB,UAAU,YAAY;CAC7C,MAAM,wBAAwB,UAAU,mBAAmB;CAE3D,MAAM,eAAe,kBAAkB;EACrC,IAAI,KAAK;GACP,OAAO,UAAU;EACnB;EACA,IAAI,QAAQ;GACV,OAAO,UAAU;EACnB;EACA,IAAI,WAAW;GACb,OAAO,UAAU;EACnB;EACA,IAAI,WAAW;GACb,OAAO,UAAU;EACnB;EACA,IAAI,aAAa;GACf,OAAO,UAAU;EACnB;EACA,IAAI,kBAAkB;GACpB,OAAO,UAAU;EACnB;EACA,IAAI,gBAAgB;GAClB,OAAO,UAAU;EACnB;EACA,IAAI,QAAQ;GACV,OAAO,UAAU;EACnB;EACA,IAAI,eAAe;GACjB,OAAO,UAAU;EACnB;EACA,IAAI,oBAAoB;GACtB,OAAO,UAAU;EACnB;EACA,IAAI,qBAAqB;GACvB,OAAO,UAAU;EACnB;EACA,IAAI,iBAAiB;GACnB,OAAO,UAAU;EACnB;CACF,CAAC;CAED,MAAM,aAAa,iBAAiB;EAClC,IAAI,gBAAgB,GAClB;EAGF,QADqB,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,CACrC,IAAI,SAAS,KAAK,aAAa,SAAS,GAAG,SAAS,CAAC,IAAK;CAChF,CAAC;CAED,MAAM,YAAY,iBAAiB;EACjC,OAAO,aAAa,iBAAiB;CACvC,CAAC;CAED,MAAM,eAAe,kBAA0C;EAC7D,YAAY,WAAW;EACvB,WAAW,UAAU;EACrB,iBAAiB,gBAAgB;CACnC,EAAE;CAEF,MAAM,cAAc,eAClB;EACE,IAAI,WAAW;GACb,OAAO,MAAM;EACf;EACA,OAAO,MAAM;EACb,OAAO,MAAM;EACb,kBAAkB;CACpB,GACA,YACF;CAEA,MAAM,WAAW,iBAAiB,eAAe,WAAW,EAAE,QAAQ,KAAK,CAAC,CAAC;CAE7E,OACE,CAAC,QACK,SAAS,OACT,aAAa,kBACjB,OAAO,YAAY,MAAM,GACzB,OAAO,YAAY,MAAM,GACzB,MAAM,MAAM,MACb;OACE,YAAY,eAAe,EAAE;IAChC,EAAE;AAEN"}
@@ -4,7 +4,7 @@
4
4
  * Pre-wired headless radio components that combine state + aria hooks.
5
5
  * Port of react-aria-components/src/RadioGroup.tsx
6
6
  */
7
- import { type JSX, type ParentProps } from "solid-js";
7
+ import { type JSX, type ParentProps, type Context } from "solid-js";
8
8
  import { type AriaRadioProps, type AriaRadioGroupProps } from "@proyecto-viviana/solidaria";
9
9
  import { type RadioGroupState, type RadioGroupProps as RadioGroupStateProps } from "@proyecto-viviana/solid-stately";
10
10
  import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
@@ -61,6 +61,15 @@ export interface RadioGroupProps extends Omit<AriaRadioGroupProps, "children" |
61
61
  description?: JSX.Element;
62
62
  /** An error message for the radio group. */
63
63
  errorMessage?: JSX.Element;
64
+ /**
65
+ * Whether this component renders the visible description/error help-text nodes.
66
+ * Defaults to `true`. A styled layer (e.g. solid-spectrum) passes `false` to keep
67
+ * the id-minting and `aria-describedby` wiring here (so child radios inherit the
68
+ * group's shared description via `radioGroupData`) while owning the visible node
69
+ * itself — mirroring RAC, where the group exposes a `TextContext`/`FieldError`
70
+ * slot rather than rendering its own help text.
71
+ */
72
+ renderHelpText?: boolean;
64
73
  }
65
74
  export interface RadioProps extends Omit<AriaRadioProps, "children">, SlotProps {
66
75
  /** The children of the component. A function may be provided to receive render props. */
@@ -89,12 +98,12 @@ export interface RadioProps extends Omit<AriaRadioProps, "children">, SlotProps
89
98
  export interface RadioGroupContextValue extends RadioGroupProps {
90
99
  slots?: Record<string, RadioGroupProps>;
91
100
  }
92
- export declare const RadioGroupContext: import("solid-js").Context<RadioGroupContextValue | null>;
93
- export declare const RadioGroupStateContext: import("solid-js").Context<RadioGroupState | null>;
101
+ export declare const RadioGroupContext: Context<RadioGroupContextValue | null>;
102
+ export declare const RadioGroupStateContext: Context<RadioGroupState | null>;
94
103
  export interface RadioContextValue extends RadioProps {
95
104
  slots?: Record<string, RadioProps>;
96
105
  }
97
- export declare const RadioContext: import("solid-js").Context<RadioContextValue | null>;
106
+ export declare const RadioContext: Context<RadioContextValue | null>;
98
107
  /**
99
108
  * A radio group allows a user to select a single item from a list of mutually exclusive options.
100
109
  *
@@ -125,5 +134,74 @@ export declare function RadioGroup(props: ParentProps<RadioGroupProps>): JSX.Ele
125
134
  * ```
126
135
  */
127
136
  export declare function Radio(props: RadioProps): JSX.Element;
137
+ export interface RadioFieldRenderProps {
138
+ /** Whether the radio is selected. */
139
+ isSelected: boolean;
140
+ /** Whether the radio is disabled. */
141
+ isDisabled: boolean;
142
+ /** Whether the radio is read only. */
143
+ isReadOnly: boolean;
144
+ /** Whether the radio is invalid. */
145
+ isInvalid: boolean;
146
+ /** Whether the radio is required. */
147
+ isRequired: boolean;
148
+ }
149
+ export interface RadioButtonRenderProps extends RadioRenderProps {
150
+ }
151
+ export interface RadioFieldProps extends Omit<AriaRadioProps, "children">, SlotProps {
152
+ /** The children of the component (typically a `RadioButton`). A function may receive render props. */
153
+ children?: RenderChildren<RadioFieldRenderProps>;
154
+ /** The CSS className for the element. */
155
+ class?: ClassNameOrFunction<RadioFieldRenderProps>;
156
+ /** The inline style for the element. */
157
+ style?: StyleOrFunction<RadioFieldRenderProps>;
158
+ /** Ref for the radio field root element. */
159
+ ref?: RefLike<HTMLDivElement>;
160
+ /** Ref for the underlying input element. */
161
+ inputRef?: RefLike<HTMLInputElement>;
162
+ }
163
+ export interface RadioButtonProps extends SlotProps {
164
+ /** The children of the component. A function may receive render props. */
165
+ children?: RenderChildren<RadioButtonRenderProps>;
166
+ /** The CSS className for the element. */
167
+ class?: ClassNameOrFunction<RadioButtonRenderProps>;
168
+ /** The inline style for the element. */
169
+ style?: StyleOrFunction<RadioButtonRenderProps>;
170
+ /** Ref for the outer label element. */
171
+ ref?: RefLike<HTMLLabelElement>;
172
+ /** Handler called when hover starts. */
173
+ onHoverStart?: () => void;
174
+ /** Handler called when hover ends. */
175
+ onHoverEnd?: () => void;
176
+ /** Handler called when hover state changes. */
177
+ onHoverChange?: (isHovered: boolean) => void;
178
+ }
179
+ export interface RadioFieldContextValue extends Partial<RadioFieldProps> {
180
+ slots?: Record<string, Partial<RadioFieldProps>>;
181
+ }
182
+ export declare const RadioFieldContext: Context<RadioFieldContextValue | null>;
183
+ /**
184
+ * A RadioField represents an individual option within a radio group, containing a
185
+ * `RadioButton` and optional description. Must be rendered inside a `RadioGroup`.
186
+ * Per-option help text is wired through a TextContext description slot — render it
187
+ * with `<Text slot="description">`. (Radios have no per-option error slot; errors
188
+ * are reported at the group level.)
189
+ *
190
+ * @example
191
+ * ```tsx
192
+ * <RadioGroup>
193
+ * <RadioField value="a">
194
+ * <RadioButton>Option A</RadioButton>
195
+ * <Text slot="description">The first option</Text>
196
+ * </RadioField>
197
+ * </RadioGroup>
198
+ * ```
199
+ */
200
+ export declare function RadioField(props: RadioFieldProps): JSX.Element;
201
+ /**
202
+ * A RadioButton is the clickable area of a radio, including the indicator and label.
203
+ * Must be rendered inside a `RadioField` (or the legacy `Radio`).
204
+ */
205
+ export declare function RadioButton(props: RadioButtonProps): JSX.Element;
128
206
  export {};
129
207
  //# sourceMappingURL=RadioGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../src/RadioGroup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../src/RadioGroup.tsx"],"names":[],"mappings":"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"}