@proyecto-viviana/solidaria-components 0.3.2 → 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 +4 -4
  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 +6 -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 -23932
  332. package/dist/index.jsx +70 -18337
  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 +22 -2
  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 +50 -6
  358. package/src/DateField.tsx +20 -2
  359. package/src/DatePicker.tsx +57 -5
  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 +252 -128
  369. package/src/Meter.tsx +3 -1
  370. package/src/Modal.tsx +100 -52
  371. package/src/NumberField.tsx +51 -8
  372. package/src/Popover.tsx +40 -10
  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 +3 -1
  385. package/src/Text.tsx +31 -10
  386. package/src/TextField.tsx +43 -5
  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 +3 -1
  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 @@
1
+ {"version":3,"file":"RadioGroup.js","names":["JSX","ParentProps","Context","createContext","createMemo","createSignal","createUniqueId","splitProps","useContext","Show","createRadio","createRadioGroup","createFocusRing","createHover","mergeProps","AriaRadioProps","AriaRadioGroupProps","createRadioGroupState","VALID_VALIDITY_STATE","RadioGroupState","RadioGroupProps","RadioGroupStateProps","ValidationResult","FieldErrorContext","FieldErrorContextValue","VisuallyHidden","SelectionIndicatorContext","SelectionIndicatorContextValue","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","Provider","useRenderProps","filterDOMProps","TextContext","RefLike","el","T","current","assignRef","ref","validValidation","isInvalid","validationDetails","validationErrors","getNativeValidation","input","HTMLInputElement","validity","valid","badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","tooShort","typeMismatch","valueMissing","validationMessage","Orientation","RadioGroupRenderProps","orientation","isDisabled","isReadOnly","isRequired","state","RadioRenderProps","isSelected","isHovered","isPressed","isFocused","isFocusVisible","Omit","Pick","children","class","style","render","props","HTMLAttributes","HTMLDivElement","renderProps","Element","description","errorMessage","renderHelpText","RadioProps","LabelHTMLAttributes","HTMLLabelElement","inputRef","onHoverStart","onHoverEnd","onHoverChange","RadioGroupContextValue","slots","Record","RadioGroupContext","RadioGroupStateContext","RadioContextValue","RadioContext","RadioGroup","contextProps","contextSlotProps","slot","contextBaseProps","_slots","rest","mergedProps","local","ariaProps","value","defaultValue","onChange","validationState","validate","validationBehavior","name","form","groupAria","validation","displayValidation","fallbackErrorMessageId","errorMessageId","errorMessageProps","id","renderValues","defaultClassName","domProps","global","cleanGroupProps","_ref","radioGroupProps","handleGroupFocusIn","EventHandler","FocusEvent","event","onFocus","handleGroupFocusOut","onBlur","handleGroupInvalidCapture","Event","target","type","updateValidation","commitValidation","focus","preventDefault","handleGroupChangeCapture","setGroupRef","groupDescribedBy","ids","descriptionProps","undefined","length","filter","Boolean","join","split","Array","from","Set","fieldErrorContext","HTMLElement","GroupChildren","childRenderValues","renderedChildren","_$memo","_$createComponent","when","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","_$insert","_$runHydrationEvents","_el$2","groupEventProps","onInvalidCapture","onChangeCapture","customRootProps","onFocusIn","onFocusOut","_el$3","_$use","aria-describedby","data-orientation","data-disabled","data-readonly","data-required","data-invalid","RadioImpl","radioProps","inputElement","setInputElement","inputRefs","descriptionId","describedBy","inputAriaProps","clean","key","startsWith","radioAria","focusProps","hoverProps","selectionIndicatorContext","filtered","onClick","cleanLabelProps","_ref1","labelProps","cleanHoverProps","_ref2","cleanInputProps","_ref3","_onFocus","_onBlur","inputProps","cleanFocusProps","_ref4","handleInputFocus","handleInputBlur","handleLabelClick","MouseEvent","onClickCapture","handleLabelClickCapture","handleInputClick","handleInputInvalid","currentTarget","handleInputChange","setLabelRef","setInputRef","addEventListener","hiddenInput","_el$4","_tmpl$2","labelChildren","renderChildren","_el$5","_tmpl$3","_$setAttribute","_el$6","_tmpl$4","customLabelProps","labelCaptureProps","_el$7","_tmpl$5","data-selected","data-pressed","data-hovered","data-focused","data-focus-visible","Radio","getState","fallback","keyed","RadioFieldRenderProps","RadioButtonRenderProps","RadioFieldProps","RadioButtonProps","RadioFieldContextValue","Partial","RadioFieldContext","InternalRadioContextValue","InputHTMLAttributes","InternalRadioContext","RadioField","RadioFieldImpl","fieldProps","textSlots","setFieldRef","internalContext","FieldChildren","_el$8","values","RadioButton","getCtx","ctx","RadioButtonImpl","buttonProps","setButtonRef","_el$9","_tmpl$6","_el$1","firstChild","_el$10","_co$","_$getNextMarker","nextSibling","_el$11","_el$12","_co$2","_el$0","_ref$"],"sources":["../src/RadioGroup.tsx"],"sourcesContent":["/**\n * RadioGroup and Radio components for solidaria-components\n *\n * Pre-wired headless radio components that combine state + aria hooks.\n * Port of react-aria-components/src/RadioGroup.tsx\n */\n\nimport {\n type JSX,\n type ParentProps,\n type Context,\n createContext,\n createMemo,\n createSignal,\n createUniqueId,\n splitProps,\n useContext,\n Show,\n} from \"solid-js\";\nimport {\n createRadio,\n createRadioGroup,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaRadioProps,\n type AriaRadioGroupProps,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createRadioGroupState,\n VALID_VALIDITY_STATE,\n type RadioGroupState,\n type RadioGroupProps as RadioGroupStateProps,\n type ValidationResult,\n} from \"@proyecto-viviana/solid-stately\";\nimport { FieldErrorContext, type FieldErrorContextValue } from \"./FieldError\";\nimport { VisuallyHidden } from \"./VisuallyHidden\";\nimport {\n SelectionIndicatorContext,\n type SelectionIndicatorContextValue,\n} from \"./SelectionIndicator\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n Provider,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { TextContext } from \"./Text\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nconst validValidation: ValidationResult = {\n isInvalid: false,\n validationDetails: VALID_VALIDITY_STATE,\n validationErrors: [],\n};\n\nfunction getNativeValidation(input: HTMLInputElement): ValidationResult {\n return {\n isInvalid: !input.validity.valid,\n validationDetails: {\n badInput: input.validity.badInput,\n customError: input.validity.customError,\n patternMismatch: input.validity.patternMismatch,\n rangeOverflow: input.validity.rangeOverflow,\n rangeUnderflow: input.validity.rangeUnderflow,\n stepMismatch: input.validity.stepMismatch,\n tooLong: input.validity.tooLong,\n tooShort: input.validity.tooShort,\n typeMismatch: input.validity.typeMismatch,\n valueMissing: input.validity.valueMissing,\n valid: input.validity.valid,\n },\n validationErrors: input.validationMessage ? [input.validationMessage] : [],\n };\n}\n\nexport type Orientation = \"horizontal\" | \"vertical\";\n\nexport interface RadioGroupRenderProps {\n /** The orientation of the radio group. */\n orientation: Orientation;\n /** Whether the radio group is disabled. */\n isDisabled: boolean;\n /** Whether the radio group is read only. */\n isReadOnly: boolean;\n /** Whether the radio group is required. */\n isRequired: boolean;\n /** Whether the radio group is invalid. */\n isInvalid: boolean;\n /** State of the radio group. */\n state: RadioGroupState;\n}\n\nexport interface RadioRenderProps {\n /** Whether the radio is selected. */\n isSelected: boolean;\n /** Whether the radio is currently hovered with a mouse. */\n isHovered: boolean;\n /** Whether the radio is currently in a pressed state. */\n isPressed: boolean;\n /** Whether the radio is focused, either via a mouse or keyboard. */\n isFocused: boolean;\n /** Whether the radio is keyboard focused. */\n isFocusVisible: boolean;\n /** Whether the radio is disabled. */\n isDisabled: boolean;\n /** Whether the radio is read only. */\n isReadOnly: boolean;\n /** Whether the radio is invalid. */\n isInvalid: boolean;\n /** Whether the radio is required. */\n isRequired: boolean;\n}\n\nexport interface RadioGroupProps\n extends\n Omit<AriaRadioGroupProps, \"children\" | \"label\" | \"description\" | \"errorMessage\">,\n Pick<\n RadioGroupStateProps,\n \"value\" | \"defaultValue\" | \"onChange\" | \"validationState\" | \"validate\"\n >,\n SlotProps {\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<RadioGroupRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<RadioGroupRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<RadioGroupRenderProps>;\n /** Custom renderer for the outer radio group element. */\n render?: (\n props: JSX.HTMLAttributes<HTMLDivElement>,\n renderProps: RadioGroupRenderProps,\n ) => JSX.Element;\n /** Ref for the radio group element. */\n ref?: RefLike<HTMLDivElement>;\n /** A description for the radio group. */\n description?: JSX.Element;\n /** An error message for the radio group. */\n errorMessage?: JSX.Element;\n /**\n * Whether this component renders the visible description/error help-text nodes.\n * Defaults to `true`. A styled layer (e.g. solid-spectrum) passes `false` to keep\n * the id-minting and `aria-describedby` wiring here (so child radios inherit the\n * group's shared description via `radioGroupData`) while owning the visible node\n * itself — mirroring RAC, where the group exposes a `TextContext`/`FieldError`\n * slot rather than rendering its own help text.\n */\n renderHelpText?: boolean;\n}\n\nexport interface RadioProps extends Omit<AriaRadioProps, \"children\">, SlotProps {\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<RadioRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<RadioRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<RadioRenderProps>;\n /** Custom renderer for the outer radio label element. */\n render?: (\n props: JSX.LabelHTMLAttributes<HTMLLabelElement>,\n renderProps: RadioRenderProps,\n ) => JSX.Element;\n /** Ref for the outer label element. */\n ref?: RefLike<HTMLLabelElement>;\n /** Ref for the underlying input element. */\n inputRef?: RefLike<HTMLInputElement>;\n /** A description for the radio. */\n description?: JSX.Element;\n /** An error message for the radio. */\n errorMessage?: JSX.Element;\n /** Handler called when hover starts. */\n onHoverStart?: () => void;\n /** Handler called when hover ends. */\n onHoverEnd?: () => void;\n /** Handler called when hover state changes. */\n onHoverChange?: (isHovered: boolean) => void;\n}\n\nexport interface RadioGroupContextValue extends RadioGroupProps {\n slots?: Record<string, RadioGroupProps>;\n}\nexport const RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\nexport const RadioGroupStateContext = createContext<RadioGroupState | null>(null);\nexport interface RadioContextValue extends RadioProps {\n slots?: Record<string, RadioProps>;\n}\nexport const RadioContext = createContext<RadioContextValue | null>(null);\n\n/**\n * A radio group allows a user to select a single item from a list of mutually exclusive options.\n *\n * @example\n * ```tsx\n * <RadioGroup>\n * <Radio value=\"one\">Option 1</Radio>\n * <Radio value=\"two\">Option 2</Radio>\n * </RadioGroup>\n * ```\n */\nexport function RadioGroup(props: ParentProps<RadioGroupProps>): JSX.Element {\n const contextProps = useContext(RadioGroupContext);\n const contextSlotProps = contextProps?.slots?.[props.slot ?? \"default\"];\n const contextBaseProps = createMemo<RadioGroupProps>(() => {\n if (!contextProps) return {};\n const { slots: _slots, ...rest } = contextProps;\n return rest;\n });\n const mergedProps = contextProps\n ? (mergeProps(\n contextBaseProps(),\n contextSlotProps ?? {},\n props,\n ) as ParentProps<RadioGroupProps>)\n : props;\n const [local, ariaProps] = splitProps(mergedProps, [\n \"class\",\n \"style\",\n \"render\",\n \"ref\",\n \"slot\",\n \"renderHelpText\",\n ]);\n\n const state = createRadioGroupState(() => ({\n value: mergedProps.value,\n defaultValue: mergedProps.defaultValue,\n onChange: mergedProps.onChange,\n isDisabled: mergedProps.isDisabled,\n isReadOnly: mergedProps.isReadOnly,\n isRequired: mergedProps.isRequired,\n isInvalid: mergedProps.isInvalid,\n validationState: mergedProps.validationState,\n validate: mergedProps.validate,\n validationBehavior: mergedProps.validationBehavior,\n name: mergedProps.name,\n form: mergedProps.form,\n }));\n\n // Create radio group aria props\n const groupAria = createRadioGroup(\n () => ({\n ...ariaProps,\n description: mergedProps.description,\n errorMessage: mergedProps.errorMessage,\n }),\n state,\n );\n const isInvalid = createMemo(() => state.isInvalid);\n const validation = createMemo(() => state.displayValidation());\n const fallbackErrorMessageId = createUniqueId();\n const errorMessageId = () => groupAria.errorMessageProps.id ?? fallbackErrorMessageId;\n\n const renderValues = createMemo<RadioGroupRenderProps>(() => ({\n orientation: (ariaProps.orientation as Orientation) ?? \"vertical\",\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: state.isRequired,\n isInvalid: isInvalid(),\n state,\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-RadioGroup\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n const cleanGroupProps = () => {\n const { ref: _ref, ...rest } = groupAria.radioGroupProps as Record<string, unknown>;\n return rest;\n };\n const handleGroupFocusIn: JSX.EventHandler<HTMLDivElement, FocusEvent> = (event) => {\n (\n groupAria.radioGroupProps as unknown as {\n onFocus?: JSX.EventHandler<HTMLDivElement, FocusEvent>;\n }\n ).onFocus?.(event);\n };\n const handleGroupFocusOut: JSX.EventHandler<HTMLDivElement, FocusEvent> = (event) => {\n (\n groupAria.radioGroupProps as unknown as {\n onBlur?: JSX.EventHandler<HTMLDivElement, FocusEvent>;\n }\n ).onBlur?.(event);\n };\n const handleGroupInvalidCapture: JSX.EventHandler<HTMLDivElement, Event> = (event) => {\n const target = event.target;\n if (!(target instanceof HTMLInputElement) || target.type !== \"radio\") {\n return;\n }\n\n state.updateValidation(getNativeValidation(target));\n state.commitValidation();\n target.focus();\n event.preventDefault();\n };\n const handleGroupChangeCapture: JSX.EventHandler<HTMLDivElement, Event> = (event) => {\n const target = event.target;\n if (!(target instanceof HTMLInputElement) || target.type !== \"radio\") {\n return;\n }\n\n state.updateValidation(target.validity.valid ? validValidation : getNativeValidation(target));\n state.commitValidation();\n };\n const setGroupRef = (el: HTMLDivElement) => {\n assignRef(local.ref, el);\n };\n const groupDescribedBy = () => {\n const ids = [\n (cleanGroupProps() as { \"aria-describedby\"?: string })[\"aria-describedby\"],\n mergedProps.description ? groupAria.descriptionProps.id : undefined,\n isInvalid() && (mergedProps.errorMessage || validation().validationErrors.length > 0)\n ? errorMessageId()\n : undefined,\n ]\n .filter(Boolean)\n .join(\" \")\n .split(\" \")\n .filter(Boolean);\n return ids.length ? Array.from(new Set(ids)).join(\" \") : undefined;\n };\n const fieldErrorContext: FieldErrorContextValue = {\n get validation() {\n return validation();\n },\n get errorMessageProps() {\n return {\n ...groupAria.errorMessageProps,\n id: errorMessageId(),\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n };\n\n const GroupChildren = () => {\n const childRenderValues: RadioGroupRenderProps = {\n get orientation() {\n return (ariaProps.orientation as Orientation) ?? \"vertical\";\n },\n get isDisabled() {\n return state.isDisabled;\n },\n get isReadOnly() {\n return state.isReadOnly;\n },\n get isRequired() {\n return state.isRequired;\n },\n get isInvalid() {\n return isInvalid();\n },\n get state() {\n return state;\n },\n };\n const renderedChildren = createMemo(() => {\n const children = props.children;\n if (typeof children === \"function\") {\n return children.length > 0\n ? children(childRenderValues)\n : (children as unknown as () => JSX.Element)();\n }\n return children;\n });\n\n return (\n <>\n {renderedChildren()}\n <Show when={(local.renderHelpText ?? true) && mergedProps.description}>\n <div {...(groupAria.descriptionProps as unknown as JSX.HTMLAttributes<HTMLDivElement>)}>\n {mergedProps.description}\n </div>\n </Show>\n <Show when={(local.renderHelpText ?? true) && isInvalid() && mergedProps.errorMessage}>\n <div {...(groupAria.errorMessageProps as unknown as JSX.HTMLAttributes<HTMLDivElement>)}>\n {mergedProps.errorMessage}\n </div>\n </Show>\n </>\n );\n };\n const groupEventProps = {\n onInvalidCapture: handleGroupInvalidCapture,\n onChangeCapture: handleGroupChangeCapture,\n } as unknown as JSX.HTMLAttributes<HTMLDivElement>;\n const customRootProps = () =>\n ({\n ...domProps(),\n ...cleanGroupProps(),\n ...groupEventProps,\n ref: setGroupRef,\n onFocusIn: handleGroupFocusIn,\n onFocusOut: handleGroupFocusOut,\n \"aria-describedby\": groupDescribedBy(),\n class: renderProps.class(),\n style: renderProps.style(),\n slot: local.slot,\n \"data-orientation\": ariaProps.orientation ?? \"vertical\",\n \"data-disabled\": state.isDisabled || undefined,\n \"data-readonly\": state.isReadOnly || undefined,\n \"data-required\": state.isRequired || undefined,\n \"data-invalid\": isInvalid() || undefined,\n children: <GroupChildren />,\n }) as unknown as JSX.HTMLAttributes<HTMLDivElement>;\n\n return (\n <RadioGroupStateContext.Provider value={state}>\n <FieldErrorContext.Provider value={fieldErrorContext}>\n {local.render ? (\n local.render(customRootProps(), renderValues())\n ) : (\n <div\n {...domProps()}\n {...cleanGroupProps()}\n {...groupEventProps}\n ref={setGroupRef}\n onFocusIn={handleGroupFocusIn}\n onFocusOut={handleGroupFocusOut}\n aria-describedby={groupDescribedBy()}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-orientation={ariaProps.orientation ?? \"vertical\"}\n data-disabled={state.isDisabled || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-required={state.isRequired || undefined}\n data-invalid={isInvalid() || undefined}\n >\n <GroupChildren />\n </div>\n )}\n </FieldErrorContext.Provider>\n </RadioGroupStateContext.Provider>\n );\n}\n\n/**\n * Internal Radio implementation that has access to RadioGroupStateContext.\n * This is rendered inside the RadioGroup's context provider.\n */\nfunction RadioImpl(props: { radioProps: RadioProps; state: RadioGroupState }): JSX.Element {\n const [inputElement, setInputElement] = createSignal<HTMLInputElement | null>(null);\n const { state } = props;\n const contextProps = useContext(RadioContext);\n const contextSlotProps = contextProps?.slots?.[props.radioProps.slot ?? \"default\"];\n const contextBaseProps = createMemo<RadioProps>(() => {\n if (!contextProps) return {} as RadioProps;\n const { slots: _slots, ...rest } = contextProps;\n return rest as RadioProps;\n });\n const radioProps = contextProps\n ? (mergeProps(contextBaseProps(), contextSlotProps ?? {}, props.radioProps) as RadioProps)\n : props.radioProps;\n const inputRefs = createMemo(\n () =>\n [contextBaseProps().inputRef, contextSlotProps?.inputRef, props.radioProps.inputRef].filter(\n Boolean,\n ) as RefLike<HTMLInputElement>[],\n );\n\n const [local, ariaProps] = splitProps(radioProps, [\n \"class\",\n \"style\",\n \"render\",\n \"ref\",\n \"inputRef\",\n \"slot\",\n \"description\",\n \"errorMessage\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onHoverChange\",\n ]);\n const descriptionId = createUniqueId();\n const errorMessageId = createUniqueId();\n const describedBy = () => {\n const ids = [\n ariaProps[\"aria-describedby\"],\n local.description ? descriptionId : undefined,\n state.isInvalid && local.errorMessage ? errorMessageId : undefined,\n ].filter(Boolean);\n return ids.length ? ids.join(\" \") : undefined;\n };\n const inputAriaProps = createMemo(() => {\n const clean: Record<string, unknown> = {};\n for (const key in ariaProps as Record<string, unknown>) {\n if (!key.startsWith(\"data-\")) {\n clean[key] = (ariaProps as Record<string, unknown>)[key];\n }\n }\n return clean as typeof ariaProps;\n });\n\n // Create radio aria props\n const radioAria = createRadio(\n () => ({\n ...inputAriaProps(),\n \"aria-describedby\": describedBy(),\n children: typeof radioProps.children === \"function\" ? true : radioProps.children,\n }),\n state,\n inputElement,\n );\n\n // Create focus ring\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n\n // Create hover\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return radioAria.isDisabled || state.isReadOnly;\n },\n onHoverStart: local.onHoverStart,\n onHoverEnd: local.onHoverEnd,\n onHoverChange: local.onHoverChange,\n });\n\n const renderValues = createMemo<RadioRenderProps>(() => ({\n isSelected: radioAria.isSelected(),\n isHovered: isHovered(),\n isPressed: radioAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: radioAria.isDisabled,\n isReadOnly: state.isReadOnly,\n isInvalid: state.isInvalid,\n isRequired: state.isRequired,\n }));\n\n const renderProps = useRenderProps(\n {\n children: radioProps.children,\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-Radio\",\n },\n renderValues,\n );\n\n const selectionIndicatorContext = createMemo<SelectionIndicatorContextValue>(() => ({\n isSelected: radioAria.isSelected,\n }));\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps, { global: true });\n delete (filtered as Record<string, unknown>).id;\n delete (filtered as Record<string, unknown>).onClick;\n return filtered;\n });\n\n const cleanLabelProps = () => {\n const { ref: _ref1, ...rest } = radioAria.labelProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanInputProps = () => {\n const {\n ref: _ref3,\n onFocus: _onFocus,\n onBlur: _onBlur,\n ...rest\n } = radioAria.inputProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const {\n ref: _ref4,\n onFocus: _onFocus,\n onBlur: _onBlur,\n ...rest\n } = focusProps as Record<string, unknown>;\n return rest;\n };\n const handleInputFocus: JSX.EventHandler<HTMLInputElement, FocusEvent> = (event) => {\n (\n radioAria.inputProps as unknown as {\n onFocus?: JSX.EventHandler<HTMLInputElement, FocusEvent>;\n }\n ).onFocus?.(event);\n (\n focusProps as unknown as { onFocus?: JSX.EventHandler<HTMLInputElement, FocusEvent> }\n ).onFocus?.(event);\n };\n const handleInputBlur: JSX.EventHandler<HTMLInputElement, FocusEvent> = (event) => {\n (\n radioAria.inputProps as unknown as { onBlur?: JSX.EventHandler<HTMLInputElement, FocusEvent> }\n ).onBlur?.(event);\n (focusProps as unknown as { onBlur?: JSX.EventHandler<HTMLInputElement, FocusEvent> }).onBlur?.(\n event,\n );\n };\n const handleLabelClick: JSX.EventHandler<HTMLLabelElement, MouseEvent> = (event) => {\n (ariaProps as unknown as { onClickCapture?: (event: MouseEvent) => void }).onClickCapture?.(\n event as unknown as MouseEvent,\n );\n (\n radioAria.labelProps as unknown as {\n onClick?: JSX.EventHandler<HTMLLabelElement, MouseEvent>;\n }\n ).onClick?.(event);\n };\n const handleLabelClickCapture: JSX.EventHandler<HTMLLabelElement, MouseEvent> = (event) => {\n (ariaProps as unknown as { onClickCapture?: (event: MouseEvent) => void }).onClickCapture?.(\n event as unknown as MouseEvent,\n );\n };\n const handleInputClick: JSX.EventHandler<HTMLInputElement, MouseEvent> = (event) => {\n (\n radioAria.inputProps as unknown as {\n onClick?: JSX.EventHandler<HTMLInputElement, MouseEvent>;\n }\n ).onClick?.(event);\n };\n const handleInputInvalid: JSX.EventHandler<HTMLInputElement, Event> = (event) => {\n state.updateValidation(getNativeValidation(event.currentTarget));\n state.commitValidation();\n event.currentTarget.focus();\n event.preventDefault();\n };\n const handleInputChange: JSX.EventHandler<HTMLInputElement, Event> = (event) => {\n (\n radioAria.inputProps as unknown as { onChange?: JSX.EventHandler<HTMLInputElement, Event> }\n ).onChange?.(event);\n state.updateValidation(\n event.currentTarget.validity.valid\n ? validValidation\n : getNativeValidation(event.currentTarget),\n );\n state.commitValidation();\n };\n const setLabelRef = (el: HTMLLabelElement) => {\n assignRef(local.ref, el);\n };\n const setInputRef = (el: HTMLInputElement) => {\n setInputElement(el);\n el.addEventListener(\"invalid\", (event) => {\n state.updateValidation(getNativeValidation(el));\n state.commitValidation();\n el.focus();\n event.preventDefault();\n });\n el.addEventListener(\"change\", () => {\n state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));\n state.commitValidation();\n });\n for (const ref of inputRefs()) {\n assignRef(ref, el);\n }\n };\n const hiddenInput = (\n <VisuallyHidden>\n <input\n ref={setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onInvalid={handleInputInvalid}\n onChange={handleInputChange}\n onClick={handleInputClick}\n />\n </VisuallyHidden>\n );\n const labelChildren = () => (\n <>\n {hiddenInput}\n {renderProps.renderChildren()}\n <Show when={local.description}>\n <span id={descriptionId} slot=\"description\">\n {local.description}\n </span>\n </Show>\n <Show when={state.isInvalid && local.errorMessage}>\n <span id={errorMessageId} slot=\"errorMessage\">\n {local.errorMessage}\n </span>\n </Show>\n </>\n );\n const customLabelProps = () =>\n ({\n ...domProps(),\n ...cleanLabelProps(),\n ...cleanHoverProps(),\n ref: setLabelRef,\n class: renderProps.class(),\n style: renderProps.style(),\n slot: local.slot,\n onClick: handleLabelClick,\n onClickCapture: handleLabelClickCapture,\n \"data-selected\": radioAria.isSelected() || undefined,\n \"data-pressed\": radioAria.isPressed() || undefined,\n \"data-hovered\": isHovered() || undefined,\n \"data-focused\": isFocused() || undefined,\n \"data-focus-visible\": isFocusVisible() || undefined,\n \"data-disabled\": radioAria.isDisabled || undefined,\n \"data-readonly\": state.isReadOnly || undefined,\n \"data-invalid\": state.isInvalid || undefined,\n \"data-required\": state.isRequired || undefined,\n children: labelChildren(),\n }) as unknown as JSX.LabelHTMLAttributes<HTMLLabelElement>;\n const labelCaptureProps = {\n onClickCapture: handleLabelClickCapture,\n } as unknown as JSX.LabelHTMLAttributes<HTMLLabelElement>;\n\n return (\n <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>\n {local.render ? (\n local.render(customLabelProps(), renderValues())\n ) : (\n <label\n {...domProps()}\n {...cleanLabelProps()}\n {...cleanHoverProps()}\n ref={setLabelRef}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n onClick={handleLabelClick}\n {...labelCaptureProps}\n data-selected={radioAria.isSelected() || undefined}\n data-pressed={radioAria.isPressed() || undefined}\n data-hovered={isHovered() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-disabled={radioAria.isDisabled || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-invalid={state.isInvalid || undefined}\n data-required={state.isRequired || undefined}\n >\n {labelChildren()}\n </label>\n )}\n </SelectionIndicatorContext.Provider>\n );\n}\n\n/**\n * A radio represents an individual option within a radio group.\n *\n * @example\n * ```tsx\n * <Radio value=\"option1\">\n * {({ isSelected }) => (\n * <>\n * <span class={`radio ${isSelected ? 'selected' : ''}`}>\n * {isSelected && '●'}\n * </span>\n * <span>Option 1</span>\n * </>\n * )}\n * </Radio>\n * ```\n */\nexport function Radio(props: RadioProps): JSX.Element {\n // Get context - will be null if not inside RadioGroup\n // The context is accessed reactively to work with solid-refresh HMR\n const getState = createMemo(() => useContext(RadioGroupStateContext));\n\n return (\n <Show when={getState()} fallback={null} keyed>\n {(state) => <RadioImpl radioProps={props} state={state} />}\n </Show>\n );\n}\n\n// ============================================================================\n// RadioField + RadioButton — the RAC form-field split (RAC 1.19)\n// ----------------------------------------------------------------------------\n// Upstream split the monolithic Radio into a RadioField wrapper (owns the radio\n// aria + optional description) containing a RadioButton control (the clickable\n// indicator + label). Mirrors react-aria-components/src/RadioGroup.tsx. The\n// legacy `Radio` above stays as the deprecated monolith for back-compat.\n//\n// Spine note: upstream wires the two halves with InternalRadioContext +\n// SelectionIndicatorContext + TextContext slots through `<Provider>`. Our\n// `<Provider>` is inert and TextContext carries no slots yet\n// (`port-context-slots`), so — exactly like RadioImpl already does — we use a\n// native Solid context and bridge `description`/`errorMessage` with explicit\n// ids. Like the legacy `Radio`, both halves require a surrounding RadioGroup.\n// ============================================================================\n\nexport interface RadioFieldRenderProps {\n /** Whether the radio is selected. */\n isSelected: boolean;\n /** Whether the radio is disabled. */\n isDisabled: boolean;\n /** Whether the radio is read only. */\n isReadOnly: boolean;\n /** Whether the radio is invalid. */\n isInvalid: boolean;\n /** Whether the radio is required. */\n isRequired: boolean;\n}\n\nexport interface RadioButtonRenderProps extends RadioRenderProps {}\n\nexport interface RadioFieldProps extends Omit<AriaRadioProps, \"children\">, SlotProps {\n /** The children of the component (typically a `RadioButton`). A function may receive render props. */\n children?: RenderChildren<RadioFieldRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<RadioFieldRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<RadioFieldRenderProps>;\n /** Ref for the radio field root element. */\n ref?: RefLike<HTMLDivElement>;\n /** Ref for the underlying input element. */\n inputRef?: RefLike<HTMLInputElement>;\n}\n\nexport interface RadioButtonProps extends SlotProps {\n /** The children of the component. A function may receive render props. */\n children?: RenderChildren<RadioButtonRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<RadioButtonRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<RadioButtonRenderProps>;\n /** Ref for the outer label element. */\n ref?: RefLike<HTMLLabelElement>;\n /** Handler called when hover starts. */\n onHoverStart?: () => void;\n /** Handler called when hover ends. */\n onHoverEnd?: () => void;\n /** Handler called when hover state changes. */\n onHoverChange?: (isHovered: boolean) => void;\n}\n\nexport interface RadioFieldContextValue extends Partial<RadioFieldProps> {\n slots?: Record<string, Partial<RadioFieldProps>>;\n}\nexport const RadioFieldContext = createContext<RadioFieldContextValue | null>(null);\n\n/** Carries the radio aria + state from a RadioField/Radio wrapper to its RadioButton. */\ninterface InternalRadioContextValue {\n isSelected: () => boolean;\n isPressed: () => boolean;\n isDisabled: () => boolean;\n labelProps: () => JSX.LabelHTMLAttributes<HTMLLabelElement>;\n inputProps: () => JSX.InputHTMLAttributes<HTMLInputElement>;\n setInputRef: (el: HTMLInputElement) => void;\n defaultClassName: string;\n}\nconst InternalRadioContext = createContext<InternalRadioContextValue | null>(null);\n\n/**\n * A RadioField represents an individual option within a radio group, containing a\n * `RadioButton` and optional description. Must be rendered inside a `RadioGroup`.\n * Per-option help text is wired through a TextContext description slot — render it\n * with `<Text slot=\"description\">`. (Radios have no per-option error slot; errors\n * are reported at the group level.)\n *\n * @example\n * ```tsx\n * <RadioGroup>\n * <RadioField value=\"a\">\n * <RadioButton>Option A</RadioButton>\n * <Text slot=\"description\">The first option</Text>\n * </RadioField>\n * </RadioGroup>\n * ```\n */\nexport function RadioField(props: RadioFieldProps): JSX.Element {\n const getState = createMemo(() => useContext(RadioGroupStateContext));\n return (\n <Show when={getState()} fallback={null} keyed>\n {(state) => <RadioFieldImpl fieldProps={props} state={state} />}\n </Show>\n );\n}\n\nfunction RadioFieldImpl(props: {\n fieldProps: RadioFieldProps;\n state: RadioGroupState;\n}): JSX.Element {\n const [inputElement, setInputElement] = createSignal<HTMLInputElement | null>(null);\n const { state } = props;\n const contextProps = useContext(RadioFieldContext);\n const contextSlotProps = contextProps?.slots?.[props.fieldProps.slot ?? \"default\"];\n const contextBaseProps = createMemo<Partial<RadioFieldProps>>(() => {\n if (!contextProps) return {};\n const { slots: _slots, ...rest } = contextProps;\n return rest;\n });\n const fieldProps = contextProps\n ? (mergeProps(contextBaseProps(), contextSlotProps ?? {}, props.fieldProps) as RadioFieldProps)\n : props.fieldProps;\n const inputRefs = createMemo(\n () =>\n [contextBaseProps().inputRef, contextSlotProps?.inputRef, props.fieldProps.inputRef].filter(\n Boolean,\n ) as RefLike<HTMLInputElement>[],\n );\n\n // `children` is split out of ariaProps so neither the inputAriaProps key-copy\n // loop nor the hook accessor spread eagerly reads it — reading a Solid\n // `children` getter instantiates the nested RadioButton, and doing so OUTSIDE\n // InternalRadioContext both breaks its binding and recurses.\n const [local, ariaProps] = splitProps(fieldProps, [\n \"class\",\n \"style\",\n \"ref\",\n \"inputRef\",\n \"slot\",\n \"children\",\n ]);\n const inputAriaProps = createMemo(() => {\n const clean: Record<string, unknown> = {};\n for (const key in ariaProps as Record<string, unknown>) {\n if (!key.startsWith(\"data-\")) {\n clean[key] = (ariaProps as Record<string, unknown>)[key];\n }\n }\n return clean as typeof ariaProps;\n });\n\n const radioAria = createRadio(\n () => ({\n ...inputAriaProps(),\n // The hook reads `children` only to decide if an aria-label is needed; the\n // visible label lives in the RadioButton, so report presence as a literal.\n children: true,\n }),\n state,\n inputElement,\n );\n\n // The hook mints the description slot id and bakes the combined aria-describedby\n // (own description + the group's shared description/error) into the input; the\n // field exposes that id through TextContext so a `<Text slot=\"description\">`\n // child resolves it. Mirrors react-aria-components' RadioField Provider value\n // list (description slot only — radios have no per-option error slot).\n const textSlots = {\n slots: {\n get description() {\n return radioAria.descriptionProps;\n },\n },\n };\n\n const setInputRef = (el: HTMLInputElement) => {\n setInputElement(el);\n el.addEventListener(\"invalid\", (event) => {\n state.updateValidation(getNativeValidation(el));\n state.commitValidation();\n el.focus();\n event.preventDefault();\n });\n el.addEventListener(\"change\", () => {\n state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));\n state.commitValidation();\n });\n for (const ref of inputRefs()) {\n assignRef(ref, el);\n }\n };\n const setFieldRef = (el: HTMLDivElement) => {\n assignRef(local.ref, el);\n };\n\n const internalContext: InternalRadioContextValue = {\n isSelected: () => radioAria.isSelected(),\n isPressed: () => radioAria.isPressed(),\n isDisabled: () => radioAria.isDisabled,\n labelProps: () => radioAria.labelProps,\n inputProps: () => radioAria.inputProps,\n setInputRef,\n defaultClassName: \"solidaria-RadioButton\",\n };\n\n const selectionIndicatorContext = createMemo<SelectionIndicatorContextValue>(() => ({\n isSelected: radioAria.isSelected,\n }));\n\n const renderValues = createMemo<RadioFieldRenderProps>(() => ({\n isSelected: radioAria.isSelected(),\n isDisabled: radioAria.isDisabled,\n isReadOnly: state.isReadOnly,\n isInvalid: state.isInvalid,\n isRequired: state.isRequired,\n }));\n\n const renderProps = useRenderProps(\n {\n children: fieldProps.children,\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-RadioField\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps, { global: true });\n delete (filtered as Record<string, unknown>).id;\n delete (filtered as Record<string, unknown>).onClick;\n return filtered;\n });\n\n // Children are accessed inside the providers (component-execution owner) so a\n // nested RadioButton's useContext binds to InternalRadioContext.\n const FieldChildren = () => {\n const childRenderValues: RadioFieldRenderProps = {\n get isSelected() {\n return radioAria.isSelected();\n },\n get isDisabled() {\n return radioAria.isDisabled;\n },\n get isReadOnly() {\n return state.isReadOnly;\n },\n get isInvalid() {\n return state.isInvalid;\n },\n get isRequired() {\n return state.isRequired;\n },\n };\n const renderedChildren = createMemo(() => {\n const children = fieldProps.children;\n return typeof children === \"function\" ? children(childRenderValues) : children;\n });\n return <>{renderedChildren()}</>;\n };\n\n return (\n <div\n {...domProps()}\n ref={setFieldRef}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-selected={radioAria.isSelected() || undefined}\n data-disabled={radioAria.isDisabled || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-invalid={state.isInvalid || undefined}\n data-required={state.isRequired || undefined}\n >\n <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>\n <InternalRadioContext.Provider value={internalContext}>\n <Provider values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}>\n <FieldChildren />\n </Provider>\n </InternalRadioContext.Provider>\n </SelectionIndicatorContext.Provider>\n </div>\n );\n}\n\n/**\n * A RadioButton is the clickable area of a radio, including the indicator and label.\n * Must be rendered inside a `RadioField` (or the legacy `Radio`).\n */\nexport function RadioButton(props: RadioButtonProps): JSX.Element {\n const getCtx = createMemo(() => useContext(InternalRadioContext));\n const getState = createMemo(() => useContext(RadioGroupStateContext));\n return (\n <Show when={getCtx()} fallback={null} keyed>\n {(ctx) => (\n <Show when={getState()} fallback={null} keyed>\n {(state) => <RadioButtonImpl buttonProps={props} ctx={ctx} state={state} />}\n </Show>\n )}\n </Show>\n );\n}\n\nfunction RadioButtonImpl(props: {\n buttonProps: RadioButtonProps;\n ctx: InternalRadioContextValue;\n state: RadioGroupState;\n}): JSX.Element {\n const { ctx, state } = props;\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return ctx.isDisabled() || state.isReadOnly;\n },\n onHoverStart: props.buttonProps.onHoverStart,\n onHoverEnd: props.buttonProps.onHoverEnd,\n onHoverChange: props.buttonProps.onHoverChange,\n });\n\n const renderValues = createMemo<RadioButtonRenderProps>(() => ({\n isSelected: ctx.isSelected(),\n isHovered: isHovered(),\n isPressed: ctx.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: ctx.isDisabled(),\n isReadOnly: state.isReadOnly,\n isInvalid: state.isInvalid,\n isRequired: state.isRequired,\n }));\n\n const renderProps = useRenderProps(\n {\n children: props.buttonProps.children,\n class: props.buttonProps.class,\n style: props.buttonProps.style,\n defaultClassName: ctx.defaultClassName,\n },\n renderValues,\n );\n\n const cleanLabelProps = () => {\n const { ref: _ref1, ...rest } = ctx.labelProps() as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanInputProps = () => {\n const {\n ref: _ref3,\n onFocus: _onFocus,\n onBlur: _onBlur,\n ...rest\n } = ctx.inputProps() as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const {\n ref: _ref4,\n onFocus: _onFocus,\n onBlur: _onBlur,\n ...rest\n } = focusProps as Record<string, unknown>;\n return rest;\n };\n const handleInputFocus: JSX.EventHandler<HTMLInputElement, FocusEvent> = (event) => {\n (\n ctx.inputProps() as unknown as { onFocus?: JSX.EventHandler<HTMLInputElement, FocusEvent> }\n ).onFocus?.(event);\n (\n focusProps as unknown as { onFocus?: JSX.EventHandler<HTMLInputElement, FocusEvent> }\n ).onFocus?.(event);\n };\n const handleInputBlur: JSX.EventHandler<HTMLInputElement, FocusEvent> = (event) => {\n (\n ctx.inputProps() as unknown as { onBlur?: JSX.EventHandler<HTMLInputElement, FocusEvent> }\n ).onBlur?.(event);\n (focusProps as unknown as { onBlur?: JSX.EventHandler<HTMLInputElement, FocusEvent> }).onBlur?.(\n event,\n );\n };\n const handleInputClick: JSX.EventHandler<HTMLInputElement, MouseEvent> = (event) => {\n (\n ctx.inputProps() as unknown as { onClick?: JSX.EventHandler<HTMLInputElement, MouseEvent> }\n ).onClick?.(event);\n };\n const handleInputInvalid: JSX.EventHandler<HTMLInputElement, Event> = (event) => {\n state.updateValidation(getNativeValidation(event.currentTarget));\n state.commitValidation();\n event.currentTarget.focus();\n event.preventDefault();\n };\n const handleInputChange: JSX.EventHandler<HTMLInputElement, Event> = (event) => {\n (\n ctx.inputProps() as unknown as { onChange?: JSX.EventHandler<HTMLInputElement, Event> }\n ).onChange?.(event);\n state.updateValidation(\n event.currentTarget.validity.valid\n ? validValidation\n : getNativeValidation(event.currentTarget),\n );\n state.commitValidation();\n };\n const setButtonRef = (el: HTMLLabelElement) => {\n assignRef(props.buttonProps.ref, el);\n };\n\n return (\n <label\n {...cleanLabelProps()}\n {...cleanHoverProps()}\n ref={setButtonRef}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={props.buttonProps.slot}\n data-selected={ctx.isSelected() || undefined}\n data-pressed={ctx.isPressed() || undefined}\n data-hovered={isHovered() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-disabled={ctx.isDisabled() || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-invalid={state.isInvalid || undefined}\n data-required={state.isRequired || undefined}\n >\n <VisuallyHidden>\n <input\n ref={ctx.setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onInvalid={handleInputInvalid}\n onChange={handleInputChange}\n onClick={handleInputClick}\n />\n </VisuallyHidden>\n {renderProps.renderChildren()}\n </label>\n );\n}\n"],"mappings":"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"}