@proyecto-viviana/solidaria-components 0.5.0 → 0.7.0-rc.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 (561) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +4 -7
  4. package/dist/ActionBar.d.ts +2 -10
  5. package/dist/ActionBar.d.ts.map +1 -1
  6. package/dist/ActionBar.js +95 -59
  7. package/dist/ActionBar.js.map +1 -1
  8. package/dist/ActionBar.jsx +42 -15
  9. package/dist/ActionBar.jsx.map +1 -1
  10. package/dist/ActionGroup.d.ts +1 -12
  11. package/dist/ActionGroup.d.ts.map +1 -1
  12. package/dist/ActionGroup.js +66 -44
  13. package/dist/ActionGroup.js.map +1 -1
  14. package/dist/ActionGroup.jsx +25 -10
  15. package/dist/ActionGroup.jsx.map +1 -1
  16. package/dist/Alert.d.ts +4 -1
  17. package/dist/Alert.d.ts.map +1 -1
  18. package/dist/Alert.js +25 -17
  19. package/dist/Alert.js.map +1 -1
  20. package/dist/Alert.jsx +9 -5
  21. package/dist/Alert.jsx.map +1 -1
  22. package/dist/Autocomplete.d.ts +2 -9
  23. package/dist/Autocomplete.d.ts.map +1 -1
  24. package/dist/Autocomplete.js +18 -5
  25. package/dist/Autocomplete.js.map +1 -1
  26. package/dist/Autocomplete.jsx +20 -7
  27. package/dist/Autocomplete.jsx.map +1 -1
  28. package/dist/Breadcrumbs.d.ts +2 -7
  29. package/dist/Breadcrumbs.d.ts.map +1 -1
  30. package/dist/Breadcrumbs.js +71 -51
  31. package/dist/Breadcrumbs.js.map +1 -1
  32. package/dist/Breadcrumbs.jsx +25 -12
  33. package/dist/Breadcrumbs.jsx.map +1 -1
  34. package/dist/Button.d.ts +1 -7
  35. package/dist/Button.d.ts.map +1 -1
  36. package/dist/Button.js +125 -72
  37. package/dist/Button.js.map +1 -1
  38. package/dist/Button.jsx +105 -43
  39. package/dist/Button.jsx.map +1 -1
  40. package/dist/Calendar.d.ts +1 -7
  41. package/dist/Calendar.d.ts.map +1 -1
  42. package/dist/Calendar.js +297 -221
  43. package/dist/Calendar.js.map +1 -1
  44. package/dist/Calendar.jsx +52 -32
  45. package/dist/Calendar.jsx.map +1 -1
  46. package/dist/CalendarPicker.d.ts +1 -10
  47. package/dist/CalendarPicker.d.ts.map +1 -1
  48. package/dist/CalendarPicker.js +12 -0
  49. package/dist/CalendarPicker.js.map +1 -1
  50. package/dist/CalendarPicker.jsx +12 -0
  51. package/dist/CalendarPicker.jsx.map +1 -1
  52. package/dist/Checkbox.d.ts +2 -7
  53. package/dist/Checkbox.d.ts.map +1 -1
  54. package/dist/Checkbox.js +332 -270
  55. package/dist/Checkbox.js.map +1 -1
  56. package/dist/Checkbox.jsx +70 -77
  57. package/dist/Checkbox.jsx.map +1 -1
  58. package/dist/Collection.d.ts +33 -7
  59. package/dist/Collection.d.ts.map +1 -1
  60. package/dist/Collection.js +128 -74
  61. package/dist/Collection.js.map +1 -1
  62. package/dist/Collection.jsx +46 -7
  63. package/dist/Collection.jsx.map +1 -1
  64. package/dist/Color.d.ts +15 -20
  65. package/dist/Color.d.ts.map +1 -1
  66. package/dist/Color.js +572 -334
  67. package/dist/Color.js.map +1 -1
  68. package/dist/Color.jsx +205 -85
  69. package/dist/Color.jsx.map +1 -1
  70. package/dist/ColorEditor.d.ts +3 -1
  71. package/dist/ColorEditor.d.ts.map +1 -1
  72. package/dist/ColorEditor.js +147 -124
  73. package/dist/ColorEditor.js.map +1 -1
  74. package/dist/ColorEditor.jsx +4 -1
  75. package/dist/ColorEditor.jsx.map +1 -1
  76. package/dist/ComboBox.d.ts +31 -10
  77. package/dist/ComboBox.d.ts.map +1 -1
  78. package/dist/ComboBox.js +539 -274
  79. package/dist/ComboBox.js.map +1 -1
  80. package/dist/ComboBox.jsx +213 -70
  81. package/dist/ComboBox.jsx.map +1 -1
  82. package/dist/ContextualHelpTrigger.d.ts +1 -7
  83. package/dist/ContextualHelpTrigger.d.ts.map +1 -1
  84. package/dist/ContextualHelpTrigger.js +102 -72
  85. package/dist/ContextualHelpTrigger.js.map +1 -1
  86. package/dist/ContextualHelpTrigger.jsx +36 -16
  87. package/dist/ContextualHelpTrigger.jsx.map +1 -1
  88. package/dist/DateField.d.ts +2 -7
  89. package/dist/DateField.d.ts.map +1 -1
  90. package/dist/DateField.js +0 -2
  91. package/dist/DateField.jsx +0 -2
  92. package/dist/DateField2.js +194 -179
  93. package/dist/DateField2.js.map +1 -1
  94. package/dist/DateField2.jsx +58 -55
  95. package/dist/DateField2.jsx.map +1 -1
  96. package/dist/DatePicker.d.ts +7 -7
  97. package/dist/DatePicker.d.ts.map +1 -1
  98. package/dist/DatePicker.js +2 -2
  99. package/dist/DatePicker.jsx +2 -2
  100. package/dist/DatePicker2.js +357 -435
  101. package/dist/DatePicker2.js.map +1 -1
  102. package/dist/DatePicker2.jsx +109 -178
  103. package/dist/DatePicker2.jsx.map +1 -1
  104. package/dist/DateRangePickerContext.d.ts +7 -0
  105. package/dist/DateRangePickerContext.d.ts.map +1 -1
  106. package/dist/Dialog.d.ts +4 -9
  107. package/dist/Dialog.d.ts.map +1 -1
  108. package/dist/Dialog.js +168 -101
  109. package/dist/Dialog.js.map +1 -1
  110. package/dist/Dialog.jsx +75 -27
  111. package/dist/Dialog.jsx.map +1 -1
  112. package/dist/Disclosure.d.ts +1 -9
  113. package/dist/Disclosure.d.ts.map +1 -1
  114. package/dist/Disclosure.js +121 -79
  115. package/dist/Disclosure.js.map +1 -1
  116. package/dist/Disclosure.jsx +32 -19
  117. package/dist/Disclosure.jsx.map +1 -1
  118. package/dist/DragAndDrop.d.ts +9 -6
  119. package/dist/DragAndDrop.d.ts.map +1 -1
  120. package/dist/DragAndDrop.js +37 -22
  121. package/dist/DragAndDrop.js.map +1 -1
  122. package/dist/DragAndDrop.jsx +20 -4
  123. package/dist/DragAndDrop.jsx.map +1 -1
  124. package/dist/DragPreview.d.ts +1 -1
  125. package/dist/DragPreview.d.ts.map +1 -1
  126. package/dist/DropZone.d.ts +1 -7
  127. package/dist/DropZone.d.ts.map +1 -1
  128. package/dist/DropZone.js +74 -40
  129. package/dist/DropZone.js.map +1 -1
  130. package/dist/DropZone.jsx +24 -8
  131. package/dist/DropZone.jsx.map +1 -1
  132. package/dist/ElementTag.d.ts +9 -20
  133. package/dist/ElementTag.d.ts.map +1 -1
  134. package/dist/ElementTag.js +8 -210
  135. package/dist/ElementTag.js.map +1 -1
  136. package/dist/ElementTag.jsx +8 -57
  137. package/dist/ElementTag.jsx.map +1 -1
  138. package/dist/FieldError.d.ts +8 -7
  139. package/dist/FieldError.d.ts.map +1 -1
  140. package/dist/FieldError.js +33 -13
  141. package/dist/FieldError.js.map +1 -1
  142. package/dist/FieldError.jsx +20 -5
  143. package/dist/FieldError.jsx.map +1 -1
  144. package/dist/FileTrigger.d.ts +1 -7
  145. package/dist/FileTrigger.d.ts.map +1 -1
  146. package/dist/FileTrigger.js +30 -12
  147. package/dist/FileTrigger.js.map +1 -1
  148. package/dist/FileTrigger.jsx +15 -2
  149. package/dist/FileTrigger.jsx.map +1 -1
  150. package/dist/Focusable.d.ts +2 -8
  151. package/dist/Focusable.d.ts.map +1 -1
  152. package/dist/Focusable.js +23 -6
  153. package/dist/Focusable.js.map +1 -1
  154. package/dist/Focusable.jsx +22 -5
  155. package/dist/Focusable.jsx.map +1 -1
  156. package/dist/Form.d.ts +9 -8
  157. package/dist/Form.d.ts.map +1 -1
  158. package/dist/Form.js +66 -43
  159. package/dist/Form.js.map +1 -1
  160. package/dist/Form.jsx +36 -16
  161. package/dist/Form.jsx.map +1 -1
  162. package/dist/GridList.d.ts +5 -10
  163. package/dist/GridList.d.ts.map +1 -1
  164. package/dist/GridList.js +372 -243
  165. package/dist/GridList.js.map +1 -1
  166. package/dist/GridList.jsx +177 -99
  167. package/dist/GridList.jsx.map +1 -1
  168. package/dist/HiddenDateInput.d.ts +1 -7
  169. package/dist/HiddenDateInput.d.ts.map +1 -1
  170. package/dist/Icon.d.ts +4 -1
  171. package/dist/Icon.d.ts.map +1 -1
  172. package/dist/Icon.js +41 -37
  173. package/dist/Icon.js.map +1 -1
  174. package/dist/Icon.jsx +7 -3
  175. package/dist/Icon.jsx.map +1 -1
  176. package/dist/Keyboard.d.ts +1 -7
  177. package/dist/Keyboard.d.ts.map +1 -1
  178. package/dist/Keyboard.js +24 -11
  179. package/dist/Keyboard.js.map +1 -1
  180. package/dist/Keyboard.jsx +15 -2
  181. package/dist/Keyboard.jsx.map +1 -1
  182. package/dist/Label.d.ts +20 -0
  183. package/dist/Label.d.ts.map +1 -0
  184. package/dist/Label.js +60 -0
  185. package/dist/Label.js.map +1 -0
  186. package/dist/Label.jsx +47 -0
  187. package/dist/Label.jsx.map +1 -0
  188. package/dist/Landmark.d.ts +4 -1
  189. package/dist/Landmark.d.ts.map +1 -1
  190. package/dist/Landmark.js +10 -4
  191. package/dist/Landmark.js.map +1 -1
  192. package/dist/Landmark.jsx +5 -1
  193. package/dist/Landmark.jsx.map +1 -1
  194. package/dist/Link.d.ts +2 -7
  195. package/dist/Link.d.ts.map +1 -1
  196. package/dist/Link.js +56 -36
  197. package/dist/Link.js.map +1 -1
  198. package/dist/Link.jsx +52 -10
  199. package/dist/Link.jsx.map +1 -1
  200. package/dist/ListBox.d.ts +17 -13
  201. package/dist/ListBox.d.ts.map +1 -1
  202. package/dist/ListBox.js +647 -348
  203. package/dist/ListBox.js.map +1 -1
  204. package/dist/ListBox.jsx +339 -236
  205. package/dist/ListBox.jsx.map +1 -1
  206. package/dist/ListDropTargetDelegate.d.ts +3 -0
  207. package/dist/ListDropTargetDelegate.d.ts.map +1 -1
  208. package/dist/Menu.d.ts +39 -30
  209. package/dist/Menu.d.ts.map +1 -1
  210. package/dist/Menu.js +547 -368
  211. package/dist/Menu.js.map +1 -1
  212. package/dist/Menu.jsx +328 -230
  213. package/dist/Menu.jsx.map +1 -1
  214. package/dist/Meter.d.ts +6 -13
  215. package/dist/Meter.d.ts.map +1 -1
  216. package/dist/Meter.js +55 -18
  217. package/dist/Meter.js.map +1 -1
  218. package/dist/Meter.jsx +33 -8
  219. package/dist/Meter.jsx.map +1 -1
  220. package/dist/Modal.d.ts +1 -7
  221. package/dist/Modal.d.ts.map +1 -1
  222. package/dist/Modal.js +104 -56
  223. package/dist/Modal.js.map +1 -1
  224. package/dist/Modal.jsx +68 -38
  225. package/dist/Modal.jsx.map +1 -1
  226. package/dist/NumberField.d.ts +4 -7
  227. package/dist/NumberField.d.ts.map +1 -1
  228. package/dist/NumberField.js +243 -124
  229. package/dist/NumberField.js.map +1 -1
  230. package/dist/NumberField.jsx +115 -26
  231. package/dist/NumberField.jsx.map +1 -1
  232. package/dist/Popover.d.ts +15 -7
  233. package/dist/Popover.d.ts.map +1 -1
  234. package/dist/Popover.js +370 -181
  235. package/dist/Popover.js.map +1 -1
  236. package/dist/Popover.jsx +215 -82
  237. package/dist/Popover.jsx.map +1 -1
  238. package/dist/Pressable.d.ts +2 -8
  239. package/dist/Pressable.d.ts.map +1 -1
  240. package/dist/Pressable.js +23 -6
  241. package/dist/Pressable.js.map +1 -1
  242. package/dist/Pressable.jsx +22 -5
  243. package/dist/Pressable.jsx.map +1 -1
  244. package/dist/PreviewTrigger.d.ts +24 -0
  245. package/dist/PreviewTrigger.d.ts.map +1 -0
  246. package/dist/PreviewTrigger.js +128 -0
  247. package/dist/PreviewTrigger.js.map +1 -0
  248. package/dist/PreviewTrigger.jsx +117 -0
  249. package/dist/PreviewTrigger.jsx.map +1 -0
  250. package/dist/ProgressBar.d.ts +1 -7
  251. package/dist/ProgressBar.d.ts.map +1 -1
  252. package/dist/ProgressBar.js +34 -14
  253. package/dist/ProgressBar.js.map +1 -1
  254. package/dist/ProgressBar.jsx +17 -3
  255. package/dist/ProgressBar.jsx.map +1 -1
  256. package/dist/RadioGroup.d.ts +2 -7
  257. package/dist/RadioGroup.d.ts.map +1 -1
  258. package/dist/RadioGroup.js +388 -269
  259. package/dist/RadioGroup.js.map +1 -1
  260. package/dist/RadioGroup.jsx +110 -99
  261. package/dist/RadioGroup.jsx.map +1 -1
  262. package/dist/RangeCalendar.d.ts +3 -7
  263. package/dist/RangeCalendar.d.ts.map +1 -1
  264. package/dist/RangeCalendar.js +271 -202
  265. package/dist/RangeCalendar.js.map +1 -1
  266. package/dist/RangeCalendar.jsx +56 -37
  267. package/dist/RangeCalendar.jsx.map +1 -1
  268. package/dist/RouterProvider.d.ts +3 -9
  269. package/dist/RouterProvider.d.ts.map +1 -1
  270. package/dist/RouterProvider.js +15 -14
  271. package/dist/RouterProvider.js.map +1 -1
  272. package/dist/RouterProvider.jsx +14 -13
  273. package/dist/RouterProvider.jsx.map +1 -1
  274. package/dist/SearchField.d.ts +4 -7
  275. package/dist/SearchField.d.ts.map +1 -1
  276. package/dist/SearchField.js +191 -164
  277. package/dist/SearchField.js.map +1 -1
  278. package/dist/SearchField.jsx +69 -62
  279. package/dist/SearchField.jsx.map +1 -1
  280. package/dist/Select.d.ts +5 -10
  281. package/dist/Select.d.ts.map +1 -1
  282. package/dist/Select.js +565 -359
  283. package/dist/Select.js.map +1 -1
  284. package/dist/Select.jsx +281 -161
  285. package/dist/Select.jsx.map +1 -1
  286. package/dist/SelectionIndicator.d.ts +1 -4
  287. package/dist/SelectionIndicator.d.ts.map +1 -1
  288. package/dist/SelectionIndicator.js +29 -13
  289. package/dist/SelectionIndicator.js.map +1 -1
  290. package/dist/SelectionIndicator.jsx +18 -4
  291. package/dist/SelectionIndicator.jsx.map +1 -1
  292. package/dist/Separator.d.ts +1 -7
  293. package/dist/Separator.d.ts.map +1 -1
  294. package/dist/Separator.js +22 -6
  295. package/dist/Separator.js.map +1 -1
  296. package/dist/Separator.jsx +16 -3
  297. package/dist/Separator.jsx.map +1 -1
  298. package/dist/SharedElementTransition.d.ts +1 -10
  299. package/dist/SharedElementTransition.d.ts.map +1 -1
  300. package/dist/SharedElementTransition.js +68 -40
  301. package/dist/SharedElementTransition.js.map +1 -1
  302. package/dist/SharedElementTransition.jsx +49 -25
  303. package/dist/SharedElementTransition.jsx.map +1 -1
  304. package/dist/Slider.d.ts +2 -8
  305. package/dist/Slider.d.ts.map +1 -1
  306. package/dist/Slider.js +155 -97
  307. package/dist/Slider.js.map +1 -1
  308. package/dist/Slider.jsx +25 -12
  309. package/dist/Slider.jsx.map +1 -1
  310. package/dist/StepList.d.ts +1 -7
  311. package/dist/StepList.d.ts.map +1 -1
  312. package/dist/StepList.js +112 -68
  313. package/dist/StepList.js.map +1 -1
  314. package/dist/StepList.jsx +58 -20
  315. package/dist/StepList.jsx.map +1 -1
  316. package/dist/Switch.d.ts +2 -9
  317. package/dist/Switch.d.ts.map +1 -1
  318. package/dist/Switch.js +164 -114
  319. package/dist/Switch.js.map +1 -1
  320. package/dist/Switch.jsx +26 -13
  321. package/dist/Switch.jsx.map +1 -1
  322. package/dist/Table.d.ts +2 -1
  323. package/dist/Table.d.ts.map +1 -1
  324. package/dist/Table.js +689 -592
  325. package/dist/Table.js.map +1 -1
  326. package/dist/Table.jsx +317 -237
  327. package/dist/Table.jsx.map +1 -1
  328. package/dist/Tabs.d.ts +2 -7
  329. package/dist/Tabs.d.ts.map +1 -1
  330. package/dist/Tabs.js +278 -293
  331. package/dist/Tabs.js.map +1 -1
  332. package/dist/Tabs.jsx +68 -66
  333. package/dist/Tabs.jsx.map +1 -1
  334. package/dist/TagGroup.d.ts +4 -11
  335. package/dist/TagGroup.d.ts.map +1 -1
  336. package/dist/TagGroup.js +153 -115
  337. package/dist/TagGroup.js.map +1 -1
  338. package/dist/TagGroup.jsx +37 -24
  339. package/dist/TagGroup.jsx.map +1 -1
  340. package/dist/Text.d.ts +3 -3
  341. package/dist/Text.d.ts.map +1 -1
  342. package/dist/Text.js +24 -7
  343. package/dist/Text.js.map +1 -1
  344. package/dist/Text.jsx +17 -5
  345. package/dist/Text.jsx.map +1 -1
  346. package/dist/TextField.d.ts +3 -16
  347. package/dist/TextField.d.ts.map +1 -1
  348. package/dist/TextField.js +104 -129
  349. package/dist/TextField.js.map +1 -1
  350. package/dist/TextField.jsx +76 -102
  351. package/dist/TextField.jsx.map +1 -1
  352. package/dist/TimeField.d.ts +2 -15
  353. package/dist/TimeField.d.ts.map +1 -1
  354. package/dist/TimeField.js +86 -102
  355. package/dist/TimeField.js.map +1 -1
  356. package/dist/TimeField.jsx +32 -49
  357. package/dist/TimeField.jsx.map +1 -1
  358. package/dist/Toast.d.ts +10 -13
  359. package/dist/Toast.d.ts.map +1 -1
  360. package/dist/Toast.js +209 -108
  361. package/dist/Toast.js.map +1 -1
  362. package/dist/Toast.jsx +127 -22
  363. package/dist/Toast.jsx.map +1 -1
  364. package/dist/ToggleButton.d.ts +1 -7
  365. package/dist/ToggleButton.d.ts.map +1 -1
  366. package/dist/ToggleButton.js +57 -35
  367. package/dist/ToggleButton.js.map +1 -1
  368. package/dist/ToggleButton.jsx +26 -12
  369. package/dist/ToggleButton.jsx.map +1 -1
  370. package/dist/ToggleButtonGroup.d.ts +1 -7
  371. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  372. package/dist/ToggleButtonGroup.js +59 -44
  373. package/dist/ToggleButtonGroup.js.map +1 -1
  374. package/dist/ToggleButtonGroup.jsx +25 -12
  375. package/dist/ToggleButtonGroup.jsx.map +1 -1
  376. package/dist/TokenField.d.ts +52 -0
  377. package/dist/TokenField.d.ts.map +1 -0
  378. package/dist/TokenField.js +301 -0
  379. package/dist/TokenField.js.map +1 -0
  380. package/dist/TokenField.jsx +197 -0
  381. package/dist/TokenField.jsx.map +1 -0
  382. package/dist/Toolbar.d.ts +2 -7
  383. package/dist/Toolbar.d.ts.map +1 -1
  384. package/dist/Toolbar.js +35 -16
  385. package/dist/Toolbar.js.map +1 -1
  386. package/dist/Toolbar.jsx +15 -2
  387. package/dist/Toolbar.jsx.map +1 -1
  388. package/dist/Tooltip.d.ts +2 -7
  389. package/dist/Tooltip.d.ts.map +1 -1
  390. package/dist/Tooltip.js +105 -68
  391. package/dist/Tooltip.js.map +1 -1
  392. package/dist/Tooltip.jsx +60 -36
  393. package/dist/Tooltip.jsx.map +1 -1
  394. package/dist/Tree.d.ts +8 -11
  395. package/dist/Tree.d.ts.map +1 -1
  396. package/dist/Tree.js +486 -339
  397. package/dist/Tree.js.map +1 -1
  398. package/dist/Tree.jsx +155 -107
  399. package/dist/Tree.jsx.map +1 -1
  400. package/dist/Virtualizer.d.ts +39 -9
  401. package/dist/Virtualizer.d.ts.map +1 -1
  402. package/dist/Virtualizer.js +2 -2
  403. package/dist/Virtualizer.jsx +2 -2
  404. package/dist/Virtualizer2.js +491 -136
  405. package/dist/Virtualizer2.js.map +1 -1
  406. package/dist/Virtualizer2.jsx +455 -122
  407. package/dist/Virtualizer2.jsx.map +1 -1
  408. package/dist/VirtualizerLayouts.d.ts +55 -2
  409. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  410. package/dist/VisuallyHidden.d.ts +4 -3
  411. package/dist/VisuallyHidden.d.ts.map +1 -1
  412. package/dist/VisuallyHidden.js +18 -11
  413. package/dist/VisuallyHidden.js.map +1 -1
  414. package/dist/VisuallyHidden.jsx +15 -9
  415. package/dist/VisuallyHidden.jsx.map +1 -1
  416. package/dist/contexts.d.ts +25 -0
  417. package/dist/contexts.d.ts.map +1 -1
  418. package/dist/contexts.js +3 -0
  419. package/dist/contexts.js.map +1 -1
  420. package/dist/contexts.jsx +3 -0
  421. package/dist/contexts.jsx.map +1 -1
  422. package/dist/index.d.ts +11 -9
  423. package/dist/index.d.ts.map +1 -1
  424. package/dist/index.js +14 -11
  425. package/dist/index.jsx +14 -11
  426. package/dist/intl/index.d.ts +16 -0
  427. package/dist/intl/index.d.ts.map +1 -0
  428. package/dist/intl.js +212 -0
  429. package/dist/intl.js.map +1 -0
  430. package/dist/intl.jsx +212 -0
  431. package/dist/intl.jsx.map +1 -0
  432. package/dist/useDragAndDrop.d.ts +4 -2
  433. package/dist/useDragAndDrop.d.ts.map +1 -1
  434. package/dist/useDragAndDrop2.js +39 -21
  435. package/dist/useDragAndDrop2.js.map +1 -1
  436. package/dist/useDragAndDrop2.jsx +39 -21
  437. package/dist/useDragAndDrop2.jsx.map +1 -1
  438. package/dist/utils.d.ts +28 -9
  439. package/dist/utils.d.ts.map +1 -1
  440. package/dist/utils.js +96 -24
  441. package/dist/utils.js.map +1 -1
  442. package/dist/utils.jsx +81 -24
  443. package/dist/utils.jsx.map +1 -1
  444. package/dist/virtualizer/Layout.d.ts +9 -0
  445. package/dist/virtualizer/Layout.d.ts.map +1 -1
  446. package/dist/virtualizer/Layout.js +23 -2
  447. package/dist/virtualizer/Layout.js.map +1 -1
  448. package/dist/virtualizer/Layout.jsx +23 -2
  449. package/dist/virtualizer/Layout.jsx.map +1 -1
  450. package/package.json +29 -10
  451. package/src/ActionBar.tsx +50 -24
  452. package/src/ActionGroup.tsx +31 -19
  453. package/src/Alert.tsx +10 -4
  454. package/src/Autocomplete.tsx +24 -15
  455. package/src/Breadcrumbs.tsx +32 -16
  456. package/src/Button.tsx +182 -67
  457. package/src/Calendar.tsx +65 -47
  458. package/src/CalendarPicker.tsx +16 -1
  459. package/src/Checkbox.tsx +84 -116
  460. package/src/Collection.tsx +84 -3
  461. package/src/Color.tsx +282 -104
  462. package/src/ColorEditor.tsx +5 -1
  463. package/src/ComboBox.tsx +384 -109
  464. package/src/ContextualHelpTrigger.tsx +47 -41
  465. package/src/DateField.tsx +74 -106
  466. package/src/DatePicker.tsx +156 -352
  467. package/src/DateRangePickerContext.tsx +8 -0
  468. package/src/Dialog.tsx +105 -38
  469. package/src/Disclosure.tsx +29 -19
  470. package/src/DragAndDrop.tsx +43 -8
  471. package/src/DragPreview.tsx +20 -1
  472. package/src/DropZone.tsx +32 -18
  473. package/src/ElementTag.tsx +14 -104
  474. package/src/FieldError.tsx +39 -7
  475. package/src/FileTrigger.tsx +18 -3
  476. package/src/Focusable.tsx +27 -6
  477. package/src/Form.tsx +57 -11
  478. package/src/GridList.tsx +233 -141
  479. package/src/HiddenDateInput.tsx +19 -3
  480. package/src/Icon.tsx +8 -2
  481. package/src/Keyboard.tsx +18 -2
  482. package/src/Label.tsx +77 -0
  483. package/src/Landmark.tsx +6 -1
  484. package/src/Link.tsx +65 -19
  485. package/src/ListBox.tsx +645 -468
  486. package/src/ListDropTargetDelegate.ts +4 -0
  487. package/src/Menu.tsx +512 -349
  488. package/src/Meter.tsx +42 -8
  489. package/src/Modal.tsx +85 -42
  490. package/src/NumberField.tsx +161 -48
  491. package/src/Popover.tsx +424 -148
  492. package/src/Pressable.tsx +27 -6
  493. package/src/PreviewTrigger.tsx +171 -0
  494. package/src/ProgressBar.tsx +25 -3
  495. package/src/RadioGroup.tsx +230 -161
  496. package/src/RangeCalendar.tsx +75 -63
  497. package/src/RouterProvider.tsx +24 -14
  498. package/src/SearchField.tsx +118 -121
  499. package/src/Select.tsx +454 -274
  500. package/src/SelectionIndicator.tsx +21 -3
  501. package/src/Separator.tsx +17 -1
  502. package/src/SharedElementTransition.tsx +115 -97
  503. package/src/Slider.tsx +35 -17
  504. package/src/StepList.tsx +71 -32
  505. package/src/Switch.tsx +45 -29
  506. package/src/Table.tsx +446 -380
  507. package/src/Tabs.tsx +132 -155
  508. package/src/TagGroup.tsx +53 -40
  509. package/src/Text.tsx +23 -6
  510. package/src/TextField.tsx +118 -159
  511. package/src/TimeField.tsx +34 -95
  512. package/src/Toast.tsx +141 -67
  513. package/src/ToggleButton.tsx +33 -15
  514. package/src/ToggleButtonGroup.tsx +27 -9
  515. package/src/TokenField.tsx +379 -0
  516. package/src/Toolbar.tsx +19 -9
  517. package/src/Tooltip.tsx +126 -84
  518. package/src/Tree.tsx +233 -173
  519. package/src/Virtualizer.tsx +400 -138
  520. package/src/VirtualizerLayouts.ts +211 -26
  521. package/src/VisuallyHidden.tsx +22 -8
  522. package/src/contexts.ts +13 -0
  523. package/src/index.ts +32 -11
  524. package/src/intl/ar-AE.json +6 -0
  525. package/src/intl/bg-BG.json +6 -0
  526. package/src/intl/cs-CZ.json +6 -0
  527. package/src/intl/da-DK.json +6 -0
  528. package/src/intl/de-DE.json +6 -0
  529. package/src/intl/el-GR.json +6 -0
  530. package/src/intl/en-US.json +6 -0
  531. package/src/intl/es-ES.json +6 -0
  532. package/src/intl/et-EE.json +6 -0
  533. package/src/intl/fi-FI.json +6 -0
  534. package/src/intl/fr-FR.json +6 -0
  535. package/src/intl/he-IL.json +6 -0
  536. package/src/intl/hr-HR.json +6 -0
  537. package/src/intl/hu-HU.json +6 -0
  538. package/src/intl/index.ts +125 -0
  539. package/src/intl/it-IT.json +6 -0
  540. package/src/intl/ja-JP.json +6 -0
  541. package/src/intl/ko-KR.json +6 -0
  542. package/src/intl/lt-LT.json +6 -0
  543. package/src/intl/lv-LV.json +6 -0
  544. package/src/intl/nb-NO.json +6 -0
  545. package/src/intl/nl-NL.json +6 -0
  546. package/src/intl/pl-PL.json +6 -0
  547. package/src/intl/pt-BR.json +6 -0
  548. package/src/intl/pt-PT.json +6 -0
  549. package/src/intl/ro-RO.json +6 -0
  550. package/src/intl/ru-RU.json +6 -0
  551. package/src/intl/sk-SK.json +6 -0
  552. package/src/intl/sl-SI.json +6 -0
  553. package/src/intl/sr-SP.json +6 -0
  554. package/src/intl/sv-SE.json +6 -0
  555. package/src/intl/tr-TR.json +6 -0
  556. package/src/intl/uk-UA.json +6 -0
  557. package/src/intl/zh-CN.json +6 -0
  558. package/src/intl/zh-TW.json +6 -0
  559. package/src/useDragAndDrop.ts +30 -32
  560. package/src/utils.tsx +124 -68
  561. package/src/virtualizer/Layout.ts +29 -0
@@ -1 +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":";;;;;;;;;;;;;;;;;AAsDA,SAASwC,UAAaC,KAAiBJ,IAAa;CAClD,IAAI,CAACI,KAAK;CACV,IAAI,OAAOA,QAAQ,YACjBA,IAAIJ,EAAE;MAENI,IAAIF,UAAUF;AAElB;AAEA,MAAMK,kBAAoC;CACxCC,WAAW;CACXC,mBAAmB1B;CACnB2B,kBAAkB,CAAA;AACpB;AAEA,SAASC,oBAAoBC,OAA2C;CACtE,OAAO;EACLJ,WAAW,CAACI,MAAME,SAASC;EAC3BN,mBAAmB;GACjBO,UAAUJ,MAAME,SAASE;GACzBC,aAAaL,MAAME,SAASG;GAC5BC,iBAAiBN,MAAME,SAASI;GAChCC,eAAeP,MAAME,SAASK;GAC9BC,gBAAgBR,MAAME,SAASM;GAC/BC,cAAcT,MAAME,SAASO;GAC7BC,SAASV,MAAME,SAASQ;GACxBC,UAAUX,MAAME,SAASS;GACzBC,cAAcZ,MAAME,SAASU;GAC7BC,cAAcb,MAAME,SAASW;GAC7BV,OAAOH,MAAME,SAASC;EACxB;EACAL,kBAAkBE,MAAMc,oBAAoB,CAACd,MAAMc,iBAAiB,IAAI,CAAA;CAC1E;AACF;AA2GA,MAAasC,oBAAoBhG,cAA6C,IAAI;AAClF,MAAaiG,yBAAyBjG,cAAsC,IAAI;AAIhF,MAAamG,eAAenG,cAAwC,IAAI;;;;;;;;;;;;AAaxE,SAAgBoG,WAAWtB,OAAkD;CAC3E,MAAMuB,eAAehG,WAAW2F,iBAAiB;CACjD,MAAMM,mBAAmBD,cAAcP,QAAQhB,MAAMyB,QAAQ;CAC7D,MAAMC,mBAAmBvG,iBAAkC;EACzD,IAAI,CAACoG,cAAc,OAAO,CAAC;EAC3B,MAAM,EAAEP,OAAOW,QAAQ,GAAGC,SAASL;EACnC,OAAOK;CACT,CAAC;CACD,MAAMC,cAAcN,eACf1F,aACC6F,iBAAiB,GACjBF,oBAAoB,CAAC,GACrBxB,KACF,IACAA;CACJ,MAAM,CAAC8B,OAAOC,aAAazG,WAAWuG,aAAa;EACjD;EACA;EACA;EACA;EACA;EACA;CAAgB,CACjB;CAED,MAAM1C,QAAQnD,6BAA6B;EACzCgG,OAAOH,YAAYG;EACnBC,cAAcJ,YAAYI;EAC1BC,UAAUL,YAAYK;EACtBlD,YAAY6C,YAAY7C;EACxBC,YAAY4C,YAAY5C;EACxBC,YAAY2C,YAAY3C;EACxBxB,WAAWmE,YAAYnE;EACvByE,iBAAiBN,YAAYM;EAC7BC,UAAUP,YAAYO;EACtBC,oBAAoBR,YAAYQ;EAChCC,MAAMT,YAAYS;EAClBC,MAAMV,YAAYU;CACpB,EAAE;CAGF,MAAMC,YAAY9G,wBACT;EACL,GAAGqG;EACH1B,aAAawB,YAAYxB;EACzBC,cAAcuB,YAAYvB;CAC5B,IACAnB,KACF;CACA,MAAMzB,YAAYvC,iBAAiBgE,MAAMzB,SAAS;CAClD,MAAM+E,aAAatH,iBAAiBgE,MAAMuD,kBAAkB,CAAC;CAC7D,MAAMC,yBAAyBtH,eAAe;CAC9C,MAAMuH,uBAAuBJ,UAAUK,kBAAkBC,MAAMH;CAE/D,MAAMI,eAAe5H,kBAAyC;EAC5D4D,aAAcgD,UAAUhD,eAA+B;EACvDC,YAAYG,MAAMH;EAClBC,YAAYE,MAAMF;EAClBC,YAAYC,MAAMD;EAClBxB,WAAWA,UAAU;EACrByB;CACF,EAAE;CAEF,MAAMgB,cAAcnD,eAClB;EACE,IAAI4C,WAAW;GACb,OAAOI,MAAMJ;EACf;EACAC,OAAOiC,MAAMjC;EACbC,OAAOgC,MAAMhC;EACbkD,kBAAkB;CACpB,GACAD,YACF;CAEA,MAAME,WAAW9H,iBAAiB8B,eAAe8E,WAAW,EAAEmB,QAAQ,KAAK,CAAC,CAAC;CAE7E,MAAMC,wBAAwB;EAC5B,MAAM,EAAE3F,KAAK4F,MAAM,GAAGxB,SAASY,UAAUa;EACzC,OAAOzB;CACT;CACA,MAAM0B,sBAAoEG,UAAU;EAClF,UACYJ,gBAGVK,UAAUD,KAAK;CACnB;CACA,MAAME,uBAAqEF,UAAU;EACnF,UACYJ,gBAGVO,SAASH,KAAK;CAClB;CACA,MAAMI,6BAAsEJ,UAAU;EACpF,MAAMM,SAASN,MAAMM;EACrB,IAAI,EAAEA,kBAAkBhG,qBAAqBgG,OAAOC,SAAS,SAC3D;EAGF7E,MAAM8E,iBAAiBpG,oBAAoBkG,MAAM,CAAC;EAClD5E,MAAM+E,iBAAiB;EACvBH,OAAOI,MAAM;EACbV,MAAMW,eAAe;CACvB;CACA,MAAMC,4BAAqEZ,UAAU;EACnF,MAAMM,SAASN,MAAMM;EACrB,IAAI,EAAEA,kBAAkBhG,qBAAqBgG,OAAOC,SAAS,SAC3D;EAGF7E,MAAM8E,iBAAiBF,OAAO/F,SAASC,QAAQR,kBAAkBI,oBAAoBkG,MAAM,CAAC;EAC5F5E,MAAM+E,iBAAiB;CACzB;CACA,MAAMI,eAAelH,OAAuB;EAC1CG,UAAUuE,MAAMtE,KAAKJ,EAAE;CACzB;CACA,MAAMmH,yBAAyB;EAC7B,MAAMC,MAAM;GACTrB,gBAAgB,CAAC,CAAqC;GACvDtB,YAAYxB,cAAcmC,UAAUiC,iBAAiB3B,KAAK4B,KAAAA;GAC1DhH,UAAU,MAAMmE,YAAYvB,gBAAgBmC,WAAW,CAAC,CAAC7E,iBAAiB+G,SAAS,KAC/E/B,eAAe,IACf8B,KAAAA;EAAS,CACd,CACEE,OAAOC,OAAO,CAAC,CACfC,KAAK,GAAG,CAAC,CACTC,MAAM,GAAG,CAAC,CACVH,OAAOC,OAAO;EACjB,OAAOL,IAAIG,SAASK,MAAMC,KAAK,IAAIC,IAAIV,GAAG,CAAC,CAAC,CAACM,KAAK,GAAG,IAAIJ,KAAAA;CAC3D;CACA,MAAMS,oBAA4C;EAChD,IAAI1C,aAAa;GACf,OAAOA,WAAW;EACpB;EACA,IAAII,oBAAoB;GACtB,OAAO;IACL,GAAGL,UAAUK;IACbC,IAAIF,eAAe;GACrB;EACF;CACF;CAEA,MAAMyC,sBAAsB;EAC1B,MAAMC,oBAA2C;GAC/C,IAAIvG,cAAc;IAChB,OAAQgD,UAAUhD,eAA+B;GACnD;GACA,IAAIC,aAAa;IACf,OAAOG,MAAMH;GACf;GACA,IAAIC,aAAa;IACf,OAAOE,MAAMF;GACf;GACA,IAAIC,aAAa;IACf,OAAOC,MAAMD;GACf;GACA,IAAIxB,YAAY;IACd,OAAOA,UAAU;GACnB;GACA,IAAIyB,QAAQ;IACV,OAAOA;GACT;EACF;EAWA,OAAA;GAAAqG,KAVyBrK,iBAAiB;IACxC,MAAMyE,WAAWI,MAAMJ;IACvB,IAAI,OAAOA,aAAa,YACtB,OAAOA,SAAS+E,SAAS,IACrB/E,SAAS0F,iBAAiB,IACzB1F,SAA0C;IAEjD,OAAOA;GACT,CAIK2F,CAAgB;GAAAE,gBAChBjK,MAAI;IAAA,IAACkK,OAAI;KAAA,OAAEF,WAAA,CAAA,EAAC1D,MAAMvB,kBAAkB,KAAI,CAAA,CAAA,KAAKsB,YAAYxB;IAAW;IAAA,IAAAT,WAAA;KAAA,IAAA+F,OAAAC,eAAAC,MAAA;KAAAC,OAAAH,MAAAI,iBACzDvD,UAAUiC,gBAAiE,GAAA,OAAA,IAAA;KAAAuB,OAAAL,YAClF9D,YAAYxB,WAAW;KAAA4F,mBAAA;KAAA,OAAAN;IAAA;GAAA,CAAA;GAAAF,gBAG3BjK,MAAI;IAAA,IAACkK,OAAI;KAAA,OAAEF,WAAA,CAAA,GAAC1D,MAAMvB,kBAAkB,SAAS7C,UAAU,EAAC,CAAA,CAAA,KAAImE,YAAYvB;IAAY;IAAA,IAAAV,WAAA;KAAA,IAAAsG,QAAAN,eAAAC,MAAA;KAAAC,OAAAI,OAAAH,iBACzEvD,UAAUK,iBAAkE,GAAA,OAAA,IAAA;KAAAmD,OAAAE,aACnFrE,YAAYvB,YAAY;KAAA2F,mBAAA;KAAA,OAAAC;IAAA;GAAA,CAAA;EAAA;CAKnC;CACA,MAAMC,kBAAkB;EACtBC,kBAAkBvC;EAClBwC,iBAAiBhC;CACnB;CACA,MAAMiC,yBACH;EACC,GAAGrD,SAAS;EACZ,GAAGE,gBAAgB;EACnB,GAAGgD;EACH3I,KAAK8G;EACLiC,WAAWjD;EACXkD,YAAY7C;EACZ,oBAAoBY,iBAAiB;EACrC1E,OAAOM,YAAYN,MAAM;EACzBC,OAAOK,YAAYL,MAAM;EACzB2B,MAAMK,MAAML;EACZ,oBAAoBM,UAAUhD,eAAe;EAC7C,iBAAiBI,MAAMH,cAAc0F,KAAAA;EACrC,iBAAiBvF,MAAMF,cAAcyF,KAAAA;EACrC,iBAAiBvF,MAAMD,cAAcwF,KAAAA;EACrC,gBAAgBhH,UAAU,KAAKgH,KAAAA;EAC/B9E,UAAQ6F,gBAAGJ,eAAa,CAAA,CAAA;CAC1B;CAEF,OAAAI,gBACGtE,uBAAuBpE,UAAQ;EAACiF,OAAO7C;EAAK,IAAAS,WAAA;GAAA,OAAA6F,gBAC1CnJ,kBAAkBS,UAAQ;IAACiF,OAAOmD;IAAiB,IAAAvF,WAAA;KAAA,OACjD4F,WAAA,CAAA,CAAA1D,MAAM/B,MAAM,CAAA,CAAA,IACX+B,MAAM/B,OAAOuG,gBAAgB,GAAGvD,aAAa,CAAC,WAAC;MAAA,IAAA0D,QAAAb,eAAAC,MAAA;MAAAa,IAMxCpC,aAAWmC,KAAA;MAAAX,OAAAW,OAAAV,WAHZ9C,UACAE,iBACAgD,iBAAe;OAAA,aAER7C;OAAkB,cACjBK;OAAmB,KAAA,sBAAA;QAAA,OACbY,iBAAiB;OAAC;OAAA,KAAA,WAAA;QAAA,OAC7BpE,YAAYN,MAAM;OAAC;OAAA,IAC1BC,QAAK;QAAA,OAAEK,YAAYL,MAAM;OAAC;OAAA,IAC1B2B,OAAI;QAAA,OAAEK,MAAML;OAAI;OAAA,KAAA,sBAAA;QAAA,OACEM,UAAUhD,eAAe;OAAU;OAAA,KAAA,mBAAA;QAAA,OACtCI,MAAMH,cAAc0F,KAAAA;OAAS;OAAA,KAAA,mBAAA;QAAA,OAC7BvF,MAAMF,cAAcyF,KAAAA;OAAS;OAAA,KAAA,mBAAA;QAAA,OAC7BvF,MAAMD,cAAcwF,KAAAA;OAAS;OAAA,KAAA,kBAAA;QAAA,OAC9BhH,UAAU,KAAKgH,KAAAA;OAAS;MAAA,CAAA,GAAA,OAAA,IAAA;MAAAsB,OAAAS,OAAAhB,gBAErCJ,eAAa,CAAA,CAAA,CAAA;MAAAY,mBAAA;MAAA,OAAAQ;KAAA,EAAA,CAAA;IAEjB;GAAA,CAAA;EAAA;CAAA,CAAA;AAIT;;;;;AAMA,SAASQ,UAAUjH,OAAwE;CACzF,MAAM,CAACmH,cAAcC,mBAAmBhM,aAAsC,IAAI;CAClF,MAAM,EAAE+D,UAAUa;CAClB,MAAMuB,eAAehG,WAAW8F,YAAY;CAC5C,MAAMG,mBAAmBD,cAAcP,QAAQhB,MAAMkH,WAAWzF,QAAQ;CACxE,MAAMC,mBAAmBvG,iBAA6B;EACpD,IAAI,CAACoG,cAAc,OAAO,CAAC;EAC3B,MAAM,EAAEP,OAAOW,QAAQ,GAAGC,SAASL;EACnC,OAAOK;CACT,CAAC;CACD,MAAMsF,aAAa3F,eACd1F,aAAW6F,iBAAiB,GAAGF,oBAAoB,CAAC,GAAGxB,MAAMkH,UAAU,IACxElH,MAAMkH;CACV,MAAMG,YAAYlM,iBAEd;EAACuG,iBAAiB,CAAC,CAACf;EAAUa,kBAAkBb;EAAUX,MAAMkH,WAAWvG;CAAQ,CAAC,CAACiE,OACnFC,OACF,CACJ;CAEA,MAAM,CAAC/C,OAAOC,aAAazG,WAAW4L,YAAY;EAChD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAe,CAChB;CACD,MAAMI,gBAAgBjM,eAAe;CACrC,MAAMuH,iBAAiBvH,eAAe;CACtC,MAAMkM,oBAAoB;EACxB,MAAM/C,MAAM;GACVzC,UAAU;GACVD,MAAMzB,cAAciH,gBAAgB5C,KAAAA;GACpCvF,MAAMzB,aAAaoE,MAAMxB,eAAesC,iBAAiB8B,KAAAA;EAAS,CACnE,CAACE,OAAOC,OAAO;EAChB,OAAOL,IAAIG,SAASH,IAAIM,KAAK,GAAG,IAAIJ,KAAAA;CACtC;CACA,MAAM8C,iBAAiBrM,iBAAiB;EACtC,MAAMsM,QAAiC,CAAC;EACxC,KAAK,MAAMC,OAAO3F,WAChB,IAAI,CAAC2F,IAAIC,WAAW,OAAO,GACzBF,MAAMC,OAAQ3F,UAAsC2F;EAGxD,OAAOD;CACT,CAAC;CAGD,MAAMG,YAAYnM,mBACT;EACL,GAAG+L,eAAe;EAClB,oBAAoBD,YAAY;EAChC3H,UAAU,OAAOsH,WAAWtH,aAAa,aAAa,OAAOsH,WAAWtH;CAC1E,IACAT,OACAgI,YACF;CAGA,MAAM,EAAE3H,WAAWC,gBAAgBoI,eAAelM,gBAAgB;CAGlE,MAAM,EAAE2D,WAAWwI,eAAelM,YAAY;EAC5C,IAAIoD,aAAa;GACf,OAAO4I,UAAU5I,cAAcG,MAAMF;EACvC;EACA2B,cAAckB,MAAMlB;EACpBC,YAAYiB,MAAMjB;EAClBC,eAAegB,MAAMhB;CACvB,CAAC;CAED,MAAMiC,eAAe5H,kBAAoC;EACvDkE,YAAYuI,UAAUvI,WAAW;EACjCC,WAAWA,UAAU;EACrBC,WAAWqI,UAAUrI,UAAU;EAC/BC,WAAWA,UAAU;EACrBC,gBAAgBA,eAAe;EAC/BT,YAAY4I,UAAU5I;EACtBC,YAAYE,MAAMF;EAClBvB,WAAWyB,MAAMzB;EACjBwB,YAAYC,MAAMD;CACpB,EAAE;CAEF,MAAMiB,cAAcnD,eAClB;EACE4C,UAAUsH,WAAWtH;EACrBC,OAAOiC,MAAMjC;EACbC,OAAOgC,MAAMhC;EACbkD,kBAAkB;CACpB,GACAD,YACF;CAEA,MAAMgF,4BAA4B5M,kBAAkD,EAClFkE,YAAYuI,UAAUvI,WACxB,EAAE;CAEF,MAAM4D,WAAW9H,iBAAiB;EAChC,MAAM6M,WAAW/K,eAAe8E,WAAW,EAAEmB,QAAQ,KAAK,CAAC;EAC3D,OAAQ8E,SAAqClF;EAC7C,OAAQkF,SAAqCC;EAC7C,OAAOD;CACT,CAAC;CAED,MAAME,wBAAwB;EAC5B,MAAM,EAAE1K,KAAK2K,OAAO,GAAGvG,SAASgG,UAAUQ;EAC1C,OAAOxG;CACT;CACA,MAAMyG,wBAAwB;EAC5B,MAAM,EAAE7K,KAAK8K,OAAO,GAAG1G,SAASkG;EAChC,OAAOlG;CACT;CACA,MAAM2G,wBAAwB;EAC5B,MAAM,EACJ/K,KAAKgL,OACL9E,SAAS+E,UACT7E,QAAQ8E,SACR,GAAG9G,SACDgG,UAAUe;EACd,OAAO/G;CACT;CACA,MAAMgH,wBAAwB;EAC5B,MAAM,EACJpL,KAAKqL,OACLnF,SAAS+E,UACT7E,QAAQ8E,SACR,GAAG9G,SACDiG;EACJ,OAAOjG;CACT;CACA,MAAMkH,oBAAoErF,UAAU;EAClF,UACYkF,WAGVjF,UAAUD,KAAK;EACjB,WAEEC,UAAUD,KAAK;CACnB;CACA,MAAMsF,mBAAmEtF,UAAU;EACjF,UACYkF,WACV/E,SAASH,KAAK;EAChB,WAAuFG,SACrFH,KACF;CACF;CACA,MAAMuF,oBAAoEvF,UAAU;EAClF,UAA2EyF,iBACzEzF,KACF;EACA,UACY2E,WAGVH,UAAUxE,KAAK;CACnB;CACA,MAAM0F,2BAA2E1F,UAAU;EACzF,UAA2EyF,iBACzEzF,KACF;CACF;CACA,MAAM2F,oBAAoE3F,UAAU;EAClF,UACYkF,WAGVV,UAAUxE,KAAK;CACnB;CACA,MAAM4F,sBAAiE5F,UAAU;EAC/EtE,MAAM8E,iBAAiBpG,oBAAoB4F,MAAM6F,aAAa,CAAC;EAC/DnK,MAAM+E,iBAAiB;EACvBT,MAAM6F,cAAcnF,MAAM;EAC1BV,MAAMW,eAAe;CACvB;CACA,MAAMmF,qBAAgE9F,UAAU;EAC9E,UACYkF,WACVzG,WAAWuB,KAAK;EAClBtE,MAAM8E,iBACJR,MAAM6F,cAActL,SAASC,QACzBR,kBACAI,oBAAoB4F,MAAM6F,aAAa,CAC7C;EACAnK,MAAM+E,iBAAiB;CACzB;CACA,MAAMsF,eAAepM,OAAyB;EAC5CG,UAAUuE,MAAMtE,KAAKJ,EAAE;CACzB;CACA,MAAMqM,eAAerM,OAAyB;EAC5CgK,gBAAgBhK,EAAE;EAClBA,GAAGsM,iBAAiB,YAAYjG,UAAU;GACxCtE,MAAM8E,iBAAiBpG,oBAAoBT,EAAE,CAAC;GAC9C+B,MAAM+E,iBAAiB;GACvB9G,GAAG+G,MAAM;GACTV,MAAMW,eAAe;EACvB,CAAC;EACDhH,GAAGsM,iBAAiB,gBAAgB;GAClCvK,MAAM8E,iBAAiB7G,GAAGY,SAASC,QAAQR,kBAAkBI,oBAAoBT,EAAE,CAAC;GACpF+B,MAAM+E,iBAAiB;EACzB,CAAC;EACD,KAAK,MAAM1G,OAAO6J,UAAU,GAC1B9J,UAAUC,KAAKJ,EAAE;CAErB;CACA,MAAMuM,cAAWlE,gBACdjJ,gBAAc,EAAA,IAAAoD,WAAA;EAAA,IAAAgK,QAAAhE,eAAAiE,OAAA;EAAAnD,IAEN+C,aAAWG,KAAA;EAAA9D,OAAA8D,OAAA7D,WACZwC,iBACAK,iBAAe;GAAA,WACVE;GAAgB,UACjBC;GAAe,aACZM;GAAkB,YACnBE;GAAiB,WAClBH;EAAgB,CAAA,GAAA,OAAA,KAAA;EAAAnD,mBAAA;EAAA,OAAA2D;CAAA,EAAA,CAAA;CAI/B,MAAME,sBAAgB;EAEjBH;EAAWnE,WACXrF,YAAY4J,eAAe,CAAC;EAAAtE,gBAC5BjK,MAAI;GAAA,IAACkK,OAAI;IAAA,OAAE5D,MAAMzB;GAAW;GAAA,IAAAT,WAAA;IAAA,IAAAoK,QAAApE,eAAAqE,OAAA;IAAAC,aAAAF,OAAA,MACjB1C,aAAa;IAAAtB,OAAAgE,aACpBlI,MAAMzB,WAAW;IAAA,OAAA2J;GAAA;EAAA,CAAA;EAAAvE,gBAGrBjK,MAAI;GAAA,IAACkK,OAAI;IAAA,OAAEF,WAAA,CAAA,CAAArG,MAAMzB,SAAS,CAAA,CAAA,KAAIoE,MAAMxB;GAAY;GAAA,IAAAV,WAAA;IAAA,IAAAuK,QAAAvE,eAAAwE,OAAA;IAAAF,aAAAC,OAAA,MACrCvH,cAAc;IAAAoD,OAAAmE,aACrBrI,MAAMxB,YAAY;IAAA,OAAA6J;GAAA;EAAA,CAAA;CAAA;CAK3B,MAAME,0BACH;EACC,GAAGpH,SAAS;EACZ,GAAGiF,gBAAgB;EACnB,GAAGG,gBAAgB;EACnB7K,KAAKgM;EACL3J,OAAOM,YAAYN,MAAM;EACzBC,OAAOK,YAAYL,MAAM;EACzB2B,MAAMK,MAAML;EACZwG,SAASe;EACTE,gBAAgBC;EAChB,iBAAiBvB,UAAUvI,WAAW,KAAKqF,KAAAA;EAC3C,gBAAgBkD,UAAUrI,UAAU,KAAKmF,KAAAA;EACzC,gBAAgBpF,UAAU,KAAKoF,KAAAA;EAC/B,gBAAgBlF,UAAU,KAAKkF,KAAAA;EAC/B,sBAAsBjF,eAAe,KAAKiF,KAAAA;EAC1C,iBAAiBkD,UAAU5I,cAAc0F,KAAAA;EACzC,iBAAiBvF,MAAMF,cAAcyF,KAAAA;EACrC,gBAAgBvF,MAAMzB,aAAagH,KAAAA;EACnC,iBAAiBvF,MAAMD,cAAcwF,KAAAA;EACrC9E,UAAUkK,cAAc;CAC1B;CACF,MAAMQ,oBAAoB,EACxBpB,gBAAgBC,wBAClB;CAEA,OAAA1D,gBACGhJ,0BAA0BM,UAAQ;EAAA,IAACiF,QAAK;GAAA,OAAE+F,0BAA0B;EAAC;EAAA,IAAAnI,WAAA;GAAA,OACnE4F,WAAA,CAAA,CAAA1D,MAAM/B,MAAM,CAAA,CAAA,IACX+B,MAAM/B,OAAOsK,iBAAiB,GAAGtH,aAAa,CAAC,WAAC;IAAA,IAAAwH,QAAA3E,eAAA4E,OAAA;IAAA9D,IAMzC8C,aAAWe,KAAA;IAAAzE,OAAAyE,OAAAxE,WAHZ9C,UACAiF,iBACAG,iBAAe;KAAA,KAAA,WAAA;MAAA,OAEZlI,YAAYN,MAAM;KAAC;KAAA,IAC1BC,QAAK;MAAA,OAAEK,YAAYL,MAAM;KAAC;KAAA,IAC1B2B,OAAI;MAAA,OAAEK,MAAML;KAAI;KAAA,WACPuH;IAAgB,GACrBsB,mBAAiB;KAAA,KAAA,mBAAA;MAAA,OACN1C,UAAUvI,WAAW,KAAKqF,KAAAA;KAAS;KAAA,KAAA,kBAAA;MAAA,OACpCkD,UAAUrI,UAAU,KAAKmF,KAAAA;KAAS;KAAA,KAAA,kBAAA;MAAA,OAClCpF,UAAU,KAAKoF,KAAAA;KAAS;KAAA,KAAA,kBAAA;MAAA,OACxBlF,UAAU,KAAKkF,KAAAA;KAAS;KAAA,KAAA,wBAAA;MAAA,OAClBjF,eAAe,KAAKiF,KAAAA;KAAS;KAAA,KAAA,mBAAA;MAAA,OAClCkD,UAAU5I,cAAc0F,KAAAA;KAAS;KAAA,KAAA,mBAAA;MAAA,OACjCvF,MAAMF,cAAcyF,KAAAA;KAAS;KAAA,KAAA,kBAAA;MAAA,OAC9BvF,MAAMzB,aAAagH,KAAAA;KAAS;KAAA,KAAA,mBAAA;MAAA,OAC3BvF,MAAMD,cAAcwF,KAAAA;KAAS;IAAA,CAAA,GAAA,OAAA,IAAA;IAAAsB,OAAAuE,OAE3CT,aAAa;IAAA7D,mBAAA;IAAA,OAAAsE;GAAA,EAAA,CAAA;EAEjB;CAAA,CAAA;AAGP;;;;;;;;;;;;;;;;;;AAmBA,SAAgBO,MAAM9K,OAAgC;CAGpD,MAAM+K,WAAW5P,iBAAiBI,WAAW4F,sBAAsB,CAAC;CAEpE,OAAAsE,gBACGjK,MAAI;EAAA,IAACkK,OAAI;GAAA,OAAEqF,SAAS;EAAC;EAAEC,UAAU;EAAMC,OAAK;EAAArL,WACzCT,UAAKsG,gBAAMwB,WAAS;GAACC,YAAYlH;GAAcb;EAAK,CAAA;CAAI,CAAA;AAGhE;AAkEA,MAAaqM,oBAAoBtQ,cAA6C,IAAI;AAYlF,MAAMyQ,uBAAuBzQ,cAAgD,IAAI;;;;;;;;;;;;;;;;;;AAmBjF,SAAgB0Q,WAAW5L,OAAqC;CAC9D,MAAM+K,WAAW5P,iBAAiBI,WAAW4F,sBAAsB,CAAC;CACpE,OAAAsE,gBACGjK,MAAI;EAAA,IAACkK,OAAI;GAAA,OAAEqF,SAAS;EAAC;EAAEC,UAAU;EAAMC,OAAK;EAAArL,WACzCT,UAAKsG,gBAAMoG,gBAAc;GAACC,YAAY9L;GAAcb;EAAK,CAAA;CAAI,CAAA;AAGrE;AAEA,SAAS0M,eAAe7L,OAGR;CACd,MAAM,CAACmH,cAAcC,mBAAmBhM,aAAsC,IAAI;CAClF,MAAM,EAAE+D,UAAUa;CAClB,MAAMuB,eAAehG,WAAWiQ,iBAAiB;CACjD,MAAMhK,mBAAmBD,cAAcP,QAAQhB,MAAM8L,WAAWrK,QAAQ;CACxE,MAAMC,mBAAmBvG,iBAA2C;EAClE,IAAI,CAACoG,cAAc,OAAO,CAAC;EAC3B,MAAM,EAAEP,OAAOW,QAAQ,GAAGC,SAASL;EACnC,OAAOK;CACT,CAAC;CACD,MAAMkK,aAAavK,eACd1F,aAAW6F,iBAAiB,GAAGF,oBAAoB,CAAC,GAAGxB,MAAM8L,UAAU,IACxE9L,MAAM8L;CACV,MAAMzE,YAAYlM,iBAEd;EAACuG,iBAAiB,CAAC,CAACf;EAAUa,kBAAkBb;EAAUX,MAAM8L,WAAWnL;CAAQ,CAAC,CAACiE,OACnFC,OACF,CACJ;CAMA,MAAM,CAAC/C,OAAOC,aAAazG,WAAWwQ,YAAY;EAChD;EACA;EACA;EACA;EACA;EACA;CAAU,CACX;CACD,MAAMtE,iBAAiBrM,iBAAiB;EACtC,MAAMsM,QAAiC,CAAC;EACxC,KAAK,MAAMC,OAAO3F,WAChB,IAAI,CAAC2F,IAAIC,WAAW,OAAO,GACzBF,MAAMC,OAAQ3F,UAAsC2F;EAGxD,OAAOD;CACT,CAAC;CAED,MAAMG,YAAYnM,mBACT;EACL,GAAG+L,eAAe;EAGlB5H,UAAU;CACZ,IACAT,OACAgI,YACF;CAOA,MAAM4E,YAAY,EAChB/K,OAAO,EACL,IAAIX,cAAc;EAChB,OAAOuH,UAAUnD;CACnB,EACF,EACF;CAEA,MAAMgF,eAAerM,OAAyB;EAC5CgK,gBAAgBhK,EAAE;EAClBA,GAAGsM,iBAAiB,YAAYjG,UAAU;GACxCtE,MAAM8E,iBAAiBpG,oBAAoBT,EAAE,CAAC;GAC9C+B,MAAM+E,iBAAiB;GACvB9G,GAAG+G,MAAM;GACTV,MAAMW,eAAe;EACvB,CAAC;EACDhH,GAAGsM,iBAAiB,gBAAgB;GAClCvK,MAAM8E,iBAAiB7G,GAAGY,SAASC,QAAQR,kBAAkBI,oBAAoBT,EAAE,CAAC;GACpF+B,MAAM+E,iBAAiB;EACzB,CAAC;EACD,KAAK,MAAM1G,OAAO6J,UAAU,GAC1B9J,UAAUC,KAAKJ,EAAE;CAErB;CACA,MAAM4O,eAAe5O,OAAuB;EAC1CG,UAAUuE,MAAMtE,KAAKJ,EAAE;CACzB;CAEA,MAAM6O,kBAA6C;EACjD5M,kBAAkBuI,UAAUvI,WAAW;EACvCE,iBAAiBqI,UAAUrI,UAAU;EACrCP,kBAAkB4I,UAAU5I;EAC5BoJ,kBAAkBR,UAAUQ;EAC5BO,kBAAkBf,UAAUe;EAC5Bc;EACAzG,kBAAkB;CACpB;CAEA,MAAM+E,4BAA4B5M,kBAAkD,EAClFkE,YAAYuI,UAAUvI,WACxB,EAAE;CAEF,MAAM0D,eAAe5H,kBAAyC;EAC5DkE,YAAYuI,UAAUvI,WAAW;EACjCL,YAAY4I,UAAU5I;EACtBC,YAAYE,MAAMF;EAClBvB,WAAWyB,MAAMzB;EACjBwB,YAAYC,MAAMD;CACpB,EAAE;CAEF,MAAMiB,cAAcnD,eAClB;EACE4C,UAAUkM,WAAWlM;EACrBC,OAAOiC,MAAMjC;EACbC,OAAOgC,MAAMhC;EACbkD,kBAAkB;CACpB,GACAD,YACF;CAEA,MAAME,WAAW9H,iBAAiB;EAChC,MAAM6M,WAAW/K,eAAe8E,WAAW,EAAEmB,QAAQ,KAAK,CAAC;EAC3D,OAAQ8E,SAAqClF;EAC7C,OAAQkF,SAAqCC;EAC7C,OAAOD;CACT,CAAC;CAID,MAAMkE,sBAAsB;EAC1B,MAAM5G,oBAA2C;GAC/C,IAAIjG,aAAa;IACf,OAAOuI,UAAUvI,WAAW;GAC9B;GACA,IAAIL,aAAa;IACf,OAAO4I,UAAU5I;GACnB;GACA,IAAIC,aAAa;IACf,OAAOE,MAAMF;GACf;GACA,IAAIvB,YAAY;IACd,OAAOyB,MAAMzB;GACf;GACA,IAAIwB,aAAa;IACf,OAAOC,MAAMD;GACf;EACF;EAKA,OAAAsG,KAJyBrK,iBAAiB;GACxC,MAAMyE,WAAWkM,WAAWlM;GAC5B,OAAO,OAAOA,aAAa,aAAaA,SAAS0F,iBAAiB,IAAI1F;EACxE,CACU2F,CAAgB;CAC5B;CAEA,cAAA;EAAA,IAAA4G,QAAAvG,eAAAC,MAAA;EAAAa,IAGSsF,aAAWG,KAAA;EAAArG,OAAAqG,OAAApG,WADZ9C,UAAQ;GAAA,KAAA,WAAA;IAAA,OAEL9C,YAAYN,MAAM;GAAC;GAAA,IAC1BC,QAAK;IAAA,OAAEK,YAAYL,MAAM;GAAC;GAAA,IAC1B2B,OAAI;IAAA,OAAEK,MAAML;GAAI;GAAA,KAAA,mBAAA;IAAA,OACDmG,UAAUvI,WAAW,KAAKqF,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OACnCkD,UAAU5I,cAAc0F,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OACjCvF,MAAMF,cAAcyF,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OAC9BvF,MAAMzB,aAAagH,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OAC3BvF,MAAMD,cAAcwF,KAAAA;GAAS;EAAA,CAAA,GAAA,OAAA,IAAA;EAAAsB,OAAAmG,OAAA1G,gBAE3ChJ,0BAA0BM,UAAQ;GAAA,IAACiF,QAAK;IAAA,OAAE+F,0BAA0B;GAAC;GAAA,IAAAnI,WAAA;IAAA,OAAA6F,gBACnEkG,qBAAqB5O,UAAQ;KAACiF,OAAOiK;KAAe,IAAArM,WAAA;MAAA,OAAA6F,gBAClD1I,UAAQ;OAACqP,QAAQ,CAAC,CAAClP,aAAa6O,SAAS,CAAC;OAAuC,IAAAnM,WAAA;QAAA,OAAA6F,gBAC/EyG,eAAa,CAAA,CAAA;OAAA;MAAA,CAAA;KAAA;IAAA,CAAA;GAAA;EAAA,CAAA,CAAA;EAAAjG,mBAAA;EAAA,OAAAkG;CAAA,EAAA,CAAA;AAM1B;;;;;AAMA,SAAgBE,YAAYrM,OAAsC;CAChE,MAAMsM,SAASnR,iBAAiBI,WAAWoQ,oBAAoB,CAAC;CAChE,MAAMZ,WAAW5P,iBAAiBI,WAAW4F,sBAAsB,CAAC;CACpE,OAAAsE,gBACGjK,MAAI;EAAA,IAACkK,OAAI;GAAA,OAAE4G,OAAO;EAAC;EAAEtB,UAAU;EAAMC,OAAK;EAAArL,WACvC2M,QAAG9G,gBACFjK,MAAI;GAAA,IAACkK,OAAI;IAAA,OAAEqF,SAAS;GAAC;GAAEC,UAAU;GAAMC,OAAK;GAAArL,WACzCT,UAAKsG,gBAAM+G,iBAAe;IAACC,aAAazM;IAAYuM;IAAYpN;GAAK,CAAA;EAAI,CAAA;CAE9E,CAAA;AAGP;AAEA,SAASqN,gBAAgBxM,OAIT;CACd,MAAM,EAAEuM,KAAKpN,UAAUa;CAEvB,MAAM,EAAER,WAAWC,gBAAgBoI,eAAelM,gBAAgB;CAClE,MAAM,EAAE2D,WAAWwI,eAAelM,YAAY;EAC5C,IAAIoD,aAAa;GACf,OAAOuN,IAAIvN,WAAW,KAAKG,MAAMF;EACnC;EACA2B,cAAcZ,MAAMyM,YAAY7L;EAChCC,YAAYb,MAAMyM,YAAY5L;EAC9BC,eAAed,MAAMyM,YAAY3L;CACnC,CAAC;CAED,MAAMiC,eAAe5H,kBAA0C;EAC7DkE,YAAYkN,IAAIlN,WAAW;EAC3BC,WAAWA,UAAU;EACrBC,WAAWgN,IAAIhN,UAAU;EACzBC,WAAWA,UAAU;EACrBC,gBAAgBA,eAAe;EAC/BT,YAAYuN,IAAIvN,WAAW;EAC3BC,YAAYE,MAAMF;EAClBvB,WAAWyB,MAAMzB;EACjBwB,YAAYC,MAAMD;CACpB,EAAE;CAEF,MAAMiB,cAAcnD,eAClB;EACE4C,UAAUI,MAAMyM,YAAY7M;EAC5BC,OAAOG,MAAMyM,YAAY5M;EACzBC,OAAOE,MAAMyM,YAAY3M;EACzBkD,kBAAkBuJ,IAAIvJ;CACxB,GACAD,YACF;CAEA,MAAMmF,wBAAwB;EAC5B,MAAM,EAAE1K,KAAK2K,OAAO,GAAGvG,SAAS2K,IAAInE,WAAW;EAC/C,OAAOxG;CACT;CACA,MAAMyG,wBAAwB;EAC5B,MAAM,EAAE7K,KAAK8K,OAAO,GAAG1G,SAASkG;EAChC,OAAOlG;CACT;CACA,MAAM2G,wBAAwB;EAC5B,MAAM,EACJ/K,KAAKgL,OACL9E,SAAS+E,UACT7E,QAAQ8E,SACR,GAAG9G,SACD2K,IAAI5D,WAAW;EACnB,OAAO/G;CACT;CACA,MAAMgH,wBAAwB;EAC5B,MAAM,EACJpL,KAAKqL,OACLnF,SAAS+E,UACT7E,QAAQ8E,SACR,GAAG9G,SACDiG;EACJ,OAAOjG;CACT;CACA,MAAMkH,oBAAoErF,UAAU;EAClF,IACMkF,WAAW,CAAC,CAChBjF,UAAUD,KAAK;EACjB,WAEEC,UAAUD,KAAK;CACnB;CACA,MAAMsF,mBAAmEtF,UAAU;EACjF,IACMkF,WAAW,CAAC,CAChB/E,SAASH,KAAK;EAChB,WAAuFG,SACrFH,KACF;CACF;CACA,MAAM2F,oBAAoE3F,UAAU;EAClF,IACMkF,WAAW,CAAC,CAChBV,UAAUxE,KAAK;CACnB;CACA,MAAM4F,sBAAiE5F,UAAU;EAC/EtE,MAAM8E,iBAAiBpG,oBAAoB4F,MAAM6F,aAAa,CAAC;EAC/DnK,MAAM+E,iBAAiB;EACvBT,MAAM6F,cAAcnF,MAAM;EAC1BV,MAAMW,eAAe;CACvB;CACA,MAAMmF,qBAAgE9F,UAAU;EAC9E,IACMkF,WAAW,CAAC,CAChBzG,WAAWuB,KAAK;EAClBtE,MAAM8E,iBACJR,MAAM6F,cAActL,SAASC,QACzBR,kBACAI,oBAAoB4F,MAAM6F,aAAa,CAC7C;EACAnK,MAAM+E,iBAAiB;CACzB;CACA,MAAMwI,gBAAgBtP,OAAyB;EAC7CG,UAAUyC,MAAMyM,YAAYjP,KAAKJ,EAAE;CACrC;CAEA,cAAA;EAAA,IAAAuP,QAAA/G,eAAAgH,OAAA,GAAAC,QAAAF,MAAAG,YAAA,CAAAC,QAAAC,QAAAC,cAAAJ,MAAAK,WAAA,GAAAC,SAAAJ,OAAAG,aAAA,CAAAE,QAAAC,SAAAJ,cAAAE,OAAAD,WAAA;EAAAxG,IAISgG,cAAYC,KAAA;EAAA7G,OAAA6G,OAAA5G,WAFbmC,iBACAG,iBAAe;GAAA,KAAA,WAAA;IAAA,OAEZlI,YAAYN,MAAM;GAAC;GAAA,IAC1BC,QAAK;IAAA,OAAEK,YAAYL,MAAM;GAAC;GAAA,IAC1B2B,OAAI;IAAA,OAAEzB,MAAMyM,YAAYhL;GAAI;GAAA,KAAA,mBAAA;IAAA,OACb8K,IAAIlN,WAAW,KAAKqF,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OAC9B6H,IAAIhN,UAAU,KAAKmF,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OAC5BpF,UAAU,KAAKoF,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OACxBlF,UAAU,KAAKkF,KAAAA;GAAS;GAAA,KAAA,wBAAA;IAAA,OAClBjF,eAAe,KAAKiF,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OAClC6H,IAAIvN,WAAW,KAAK0F,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OAC7BvF,MAAMF,cAAcyF,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OAC9BvF,MAAMzB,aAAagH,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OAC3BvF,MAAMD,cAAcwF,KAAAA;GAAS;EAAA,CAAA,GAAA,OAAA,IAAA;EAAAsB,OAAA2G,OAAAlH,gBAE3CjJ,gBAAc,EAAA,IAAAoD,WAAA;GAAA,IAAA0N,QAAA1H,eAAAiE,OAAA;GAAA,IAAA0D,QAENhB,IAAI9C;GAAW,OAAA8D,UAAA,aAAA7G,IAAA6G,OAAAD,KAAA,IAAff,IAAI9C,cAAW6D;GAAAxH,OAAAwH,OAAAvH,WAChBwC,iBACAK,iBAAe;IAAA,WACVE;IAAgB,UACjBC;IAAe,aACZM;IAAkB,YACnBE;IAAiB,WAClBH;GAAgB,CAAA,GAAA,OAAA,KAAA;GAAAnD,mBAAA;GAAA,OAAAqH;EAAA,EAAA,CAAA,GAAAP,QAAAC,IAAA;EAAAhH,OAAA2G,aAG5BxM,YAAY4J,eAAe,GAACqD,QAAAC,KAAA;EAAApH,mBAAA;EAAA,OAAA0G;CAAA,EAAA,CAAA;AAGnC"}
1
+ {"version":3,"file":"RadioGroup.js","names":["{typeof childrenOnce === \"function\" ? renderedChildren() : childrenOnce}","<Show when={(local.renderHelpText ?? true) && mergedProps.description}>\n <div {...(groupAria.descriptionProps as unknown as JSX.HTMLAttributes<HTMLDivElement>)}>\n {mergedProps.description}\n </div>\n </Show>","(local.renderHelpText ?? true) && mergedProps.description","<div {...(groupAria.descriptionProps as unknown as JSX.HTMLAttributes<HTMLDivElement>)}>\n {mergedProps.description}\n </div>","<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>","(local.renderHelpText ?? true) && isInvalid() && mergedProps.errorMessage","<div {...(groupAria.errorMessageProps as unknown as JSX.HTMLAttributes<HTMLDivElement>)}>\n {mergedProps.errorMessage}\n </div>","<RadioGroupStateContext value={state}>\n <FieldErrorContext value={fieldErrorContext}>\n <RadioGroupDefaultRoot\n render={local.render}\n getCustomRootProps={customRootProps}\n getRenderValues={renderValues}\n getDomProps={domProps}\n getCleanGroupProps={cleanGroupProps}\n groupEventProps={groupEventProps}\n setGroupRef={setGroupRef}\n onFocusIn={handleGroupFocusIn}\n onFocusOut={handleGroupFocusOut}\n getDescribedBy={groupDescribedBy}\n getClass={renderProps.class}\n getStyle={renderProps.style}\n slot={local.slot}\n getOrientation={() => (ariaProps.orientation as Orientation) ?? \"vertical\"}\n getDisabled={() => state.isDisabled || undefined}\n getReadOnly={() => state.isReadOnly || undefined}\n getRequired={() => state.isRequired || undefined}\n getInvalid={() => isInvalid() || undefined}\n >\n <GroupChildren />\n </RadioGroupDefaultRoot>\n </FieldErrorContext>\n </RadioGroupStateContext>","value={state}","<FieldErrorContext value={fieldErrorContext}>\n <RadioGroupDefaultRoot\n render={local.render}\n getCustomRootProps={customRootProps}\n getRenderValues={renderValues}\n getDomProps={domProps}\n getCleanGroupProps={cleanGroupProps}\n groupEventProps={groupEventProps}\n setGroupRef={setGroupRef}\n onFocusIn={handleGroupFocusIn}\n onFocusOut={handleGroupFocusOut}\n getDescribedBy={groupDescribedBy}\n getClass={renderProps.class}\n getStyle={renderProps.style}\n slot={local.slot}\n getOrientation={() => (ariaProps.orientation as Orientation) ?? \"vertical\"}\n getDisabled={() => state.isDisabled || undefined}\n getReadOnly={() => state.isReadOnly || undefined}\n getRequired={() => state.isRequired || undefined}\n getInvalid={() => isInvalid() || undefined}\n >\n <GroupChildren />\n </RadioGroupDefaultRoot>\n </FieldErrorContext>","value={fieldErrorContext}","<RadioGroupDefaultRoot\n render={local.render}\n getCustomRootProps={customRootProps}\n getRenderValues={renderValues}\n getDomProps={domProps}\n getCleanGroupProps={cleanGroupProps}\n groupEventProps={groupEventProps}\n setGroupRef={setGroupRef}\n onFocusIn={handleGroupFocusIn}\n onFocusOut={handleGroupFocusOut}\n getDescribedBy={groupDescribedBy}\n getClass={renderProps.class}\n getStyle={renderProps.style}\n slot={local.slot}\n getOrientation={() => (ariaProps.orientation as Orientation) ?? \"vertical\"}\n getDisabled={() => state.isDisabled || undefined}\n getReadOnly={() => state.isReadOnly || undefined}\n getRequired={() => state.isRequired || undefined}\n getInvalid={() => isInvalid() || undefined}\n >\n <GroupChildren />\n </RadioGroupDefaultRoot>","getCustomRootProps={customRootProps}","getRenderValues={renderValues}","getDomProps={domProps}","getCleanGroupProps={cleanGroupProps}","onFocusIn={handleGroupFocusIn}","onFocusOut={handleGroupFocusOut}","getDescribedBy={groupDescribedBy}","getOrientation={() => (ariaProps.orientation as Orientation) ?? \"vertical\"}","getDisabled={() => state.isDisabled || undefined}","getReadOnly={() => state.isReadOnly || undefined}","getRequired={() => state.isRequired || undefined}","getInvalid={() => isInvalid() || undefined}","<GroupChildren />","ref={props.setGroupRef}","<div\n {...props.getDomProps()}\n {...props.getCleanGroupProps()}\n {...props.groupEventProps}\n ref={props.setGroupRef}\n onFocusIn={props.onFocusIn}\n onFocusOut={props.onFocusOut}\n aria-describedby={props.getDescribedBy()}\n class={props.getClass()}\n style={props.getStyle()}\n slot={props.slot}\n data-orientation={props.getOrientation()}\n data-disabled={dataAttr(props.getDisabled())}\n data-readonly={dataAttr(props.getReadOnly())}\n data-required={dataAttr(props.getRequired())}\n data-invalid={dataAttr(props.getInvalid())}\n >\n {children}\n </div>","<VisuallyHidden>\n <input\n ref={setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n aria-describedby={inputDescribedBy()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onClick={handleInputClick}\n />\n </VisuallyHidden>","ref={setInputRef}","onFocus={handleInputFocus}","onBlur={handleInputBlur}","onChange={handleInputChange}","onClick={handleInputClick}","<input\n ref={setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n aria-describedby={inputDescribedBy()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onClick={handleInputClick}\n />","{renderProps.renderChildren()}","<Show when={local.description}>\n <span id={descriptionId} slot=\"description\">\n {local.description}\n </span>\n </Show>","<span id={descriptionId} slot=\"description\">\n {local.description}\n </span>","<Show when={state.isInvalid && local.errorMessage}>\n <span id={errorMessageId} slot=\"errorMessage\">\n {local.errorMessage}\n </span>\n </Show>","state.isInvalid && local.errorMessage","<span id={errorMessageId} slot=\"errorMessage\">\n {local.errorMessage}\n </span>","<SelectionIndicatorContext value={selectionIndicatorContext()}>\n {local.render(customLabelProps(), renderValues())}\n </SelectionIndicatorContext>","<SelectionIndicatorContext value={selectionIndicatorContext()}>\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={dataAttr(radioAria.isSelected())}\n data-pressed={dataAttr(radioAria.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(radioAria.isDisabled)}\n data-readonly={dataAttr(state.isReadOnly)}\n data-invalid={dataAttr(state.isInvalid)}\n data-required={dataAttr(state.isRequired)}\n >\n {labelChildren()}\n </label>\n </SelectionIndicatorContext>","ref={setLabelRef}","onClick={handleLabelClick}","{labelChildren()}","<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={dataAttr(radioAria.isSelected())}\n data-pressed={dataAttr(radioAria.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(radioAria.isDisabled)}\n data-readonly={dataAttr(state.isReadOnly)}\n data-invalid={dataAttr(state.isInvalid)}\n data-required={dataAttr(state.isRequired)}\n >\n {labelChildren()}\n </label>","<RadioImpl radioProps={props} state={state} />","radioProps={props}","<Show when={getState()} fallback={null} keyed>\n {(state) => <RadioFieldImpl fieldProps={props} state={state} />}\n </Show>","fallback={null}","<RadioFieldImpl fieldProps={props} state={state} />","fieldProps={props}","{renderedChildren()}","ref={setFieldRef}","<SelectionIndicatorContext value={selectionIndicatorContext()}>\n <InternalRadioContext value={internalContext}>\n <Provider values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}>\n <FieldChildren />\n </Provider>\n </InternalRadioContext>\n </SelectionIndicatorContext>","<InternalRadioContext value={internalContext}>\n <Provider values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}>\n <FieldChildren />\n </Provider>\n </InternalRadioContext>","value={internalContext}","<Provider values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}>\n <FieldChildren />\n </Provider>","values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}","<FieldChildren />","<div\n {...domProps()}\n ref={setFieldRef}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-selected={dataAttr(radioAria.isSelected())}\n data-disabled={dataAttr(radioAria.isDisabled)}\n data-readonly={dataAttr(state.isReadOnly)}\n data-invalid={dataAttr(state.isInvalid)}\n data-required={dataAttr(state.isRequired)}\n >\n <SelectionIndicatorContext value={selectionIndicatorContext()}>\n <InternalRadioContext value={internalContext}>\n <Provider values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}>\n <FieldChildren />\n </Provider>\n </InternalRadioContext>\n </SelectionIndicatorContext>\n </div>","<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>","<Show when={getState()} fallback={null} keyed>\n {(state) => <RadioButtonImpl buttonProps={props} ctx={ctx} state={state} />}\n </Show>","<RadioButtonImpl buttonProps={props} ctx={ctx} state={state} />","buttonProps={props}","ref={setButtonRef}","<VisuallyHidden>\n <input\n ref={ctx.setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n aria-describedby={ctx.inputDescribedBy()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onClick={handleInputClick}\n />\n </VisuallyHidden>","ref={ctx.setInputRef}","<input\n ref={ctx.setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n aria-describedby={ctx.inputDescribedBy()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onClick={handleInputClick}\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={dataAttr(ctx.isSelected())}\n data-pressed={dataAttr(ctx.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(ctx.isDisabled())}\n data-readonly={dataAttr(state.isReadOnly)}\n data-invalid={dataAttr(state.isInvalid)}\n data-required={dataAttr(state.isRequired)}\n >\n <VisuallyHidden>\n <input\n ref={ctx.setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n aria-describedby={ctx.inputDescribedBy()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onClick={handleInputClick}\n />\n </VisuallyHidden>\n {renderProps.renderChildren()}\n </label>"],"sources":["../src/RadioGroup.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/RadioGroup.tsx\n\n/**\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 createContext,\n createMemo,\n createSignal,\n createUniqueId,\n useContext,\n Show,\n} from \"solid-js\";\nimport type { ParentProps, Context } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n createRadio,\n createRadioGroup,\n createFocusRing,\n createHover,\n mergeProps,\n bindCapture,\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 dataAttr,\n} from \"./utils\";\nimport { TextContext } from \"./Text\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\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 =\n contextProps?.slots?.[typeof props.slot === \"string\" ? 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 \"children\",\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 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 };\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 [groupEl, setGroupEl] = createSignal<HTMLDivElement | null>(null);\n const setGroupRef = (el: HTMLDivElement) => {\n setGroupEl(el);\n assignRef(local.ref, el);\n };\n bindCapture(groupEl, {\n invalid: handleGroupInvalidCapture as EventListener,\n change: handleGroupChangeCapture as EventListener,\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 // `props.children` is `() => <Radio />` — every read is a new instance.\n // Snapshot once so a `createSlotId` update cannot recreate the radios.\n const childrenOnce = local.children;\n const renderedChildren = () => {\n if (typeof childrenOnce === \"function\") {\n return childrenOnce.length > 0\n ? childrenOnce(childRenderValues)\n : (childrenOnce as unknown as () => JSX.Element)();\n }\n return childrenOnce;\n };\n\n return (\n <>\n {typeof childrenOnce === \"function\" ? renderedChildren() : childrenOnce}\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 = {} 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\": dataAttr(state.isDisabled),\n \"data-readonly\": dataAttr(state.isReadOnly),\n \"data-required\": dataAttr(state.isRequired),\n \"data-invalid\": dataAttr(isInvalid()),\n }) as unknown as JSX.HTMLAttributes<HTMLDivElement>;\n\n // Do not call `groupDescribedBy()` in a `{local.render ? … : <div>}` ternary —\n // that memo re-runs on the `createSlotId` probe (`useField.ts:51-60`) and\n // `<GroupChildren />` becomes a new instance. RAC re-resolves `useField`\n // without remounting children (`useField.ts:66-70`). RadioGroupDefaultRoot\n // snapshots the child vnode once and reads describedby as an attribute.\n return (\n <RadioGroupStateContext value={state}>\n <FieldErrorContext value={fieldErrorContext}>\n <RadioGroupDefaultRoot\n render={local.render}\n getCustomRootProps={customRootProps}\n getRenderValues={renderValues}\n getDomProps={domProps}\n getCleanGroupProps={cleanGroupProps}\n groupEventProps={groupEventProps}\n setGroupRef={setGroupRef}\n onFocusIn={handleGroupFocusIn}\n onFocusOut={handleGroupFocusOut}\n getDescribedBy={groupDescribedBy}\n getClass={renderProps.class}\n getStyle={renderProps.style}\n slot={local.slot}\n getOrientation={() => (ariaProps.orientation as Orientation) ?? \"vertical\"}\n getDisabled={() => state.isDisabled || undefined}\n getReadOnly={() => state.isReadOnly || undefined}\n getRequired={() => state.isRequired || undefined}\n getInvalid={() => isInvalid() || undefined}\n >\n <GroupChildren />\n </RadioGroupDefaultRoot>\n </FieldErrorContext>\n </RadioGroupStateContext>\n );\n}\n\nfunction RadioGroupDefaultRoot(props: {\n children: JSX.Element;\n render?: (\n rootProps: JSX.HTMLAttributes<HTMLDivElement>,\n renderProps: RadioGroupRenderProps,\n ) => JSX.Element;\n getCustomRootProps: () => JSX.HTMLAttributes<HTMLDivElement>;\n getRenderValues: () => RadioGroupRenderProps;\n getDomProps: () => JSX.HTMLAttributes<HTMLDivElement>;\n getCleanGroupProps: () => Record<string, unknown>;\n groupEventProps: JSX.HTMLAttributes<HTMLDivElement>;\n setGroupRef: (el: HTMLDivElement) => void;\n onFocusIn: JSX.EventHandler<HTMLDivElement, FocusEvent>;\n onFocusOut: JSX.EventHandler<HTMLDivElement, FocusEvent>;\n getDescribedBy: () => string | undefined;\n getClass: () => string | undefined;\n getStyle: () => JSX.CSSProperties | string | undefined;\n slot?: string | JSX.RemoveAttribute;\n getOrientation: () => Orientation;\n getDisabled: () => true | undefined;\n getReadOnly: () => true | undefined;\n getRequired: () => true | undefined;\n getInvalid: () => true | undefined;\n}): JSX.Element {\n const children = props.children;\n\n if (props.render) {\n return props.render({ ...props.getCustomRootProps(), children }, props.getRenderValues());\n }\n\n return (\n <div\n {...props.getDomProps()}\n {...props.getCleanGroupProps()}\n {...props.groupEventProps}\n ref={props.setGroupRef}\n onFocusIn={props.onFocusIn}\n onFocusOut={props.onFocusOut}\n aria-describedby={props.getDescribedBy()}\n class={props.getClass()}\n style={props.getStyle()}\n slot={props.slot}\n data-orientation={props.getOrientation()}\n data-disabled={dataAttr(props.getDisabled())}\n data-readonly={dataAttr(props.getReadOnly())}\n data-required={dataAttr(props.getRequired())}\n data-invalid={dataAttr(props.getInvalid())}\n >\n {children}\n </div>\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 =\n contextProps?.slots?.[\n typeof props.radioProps.slot === \"string\" ? props.radioProps.slot : \"default\"\n ];\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 inputProps = radioAria.inputProps as Record<string, unknown>;\n const rest: Record<string, unknown> = {};\n for (const key of Object.keys(inputProps)) {\n if (key === \"ref\" || key === \"onFocus\" || key === \"onBlur\" || key === \"aria-describedby\") {\n continue;\n }\n rest[key] = inputProps[key];\n }\n return rest;\n };\n const inputDescribedBy = () => radioAria.inputDescribedBy();\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 (\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 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 [labelEl, setLabelEl] = createSignal<HTMLLabelElement | null>(null);\n const setLabelRef = (el: HTMLLabelElement) => {\n setLabelEl(el);\n assignRef(local.ref, el);\n };\n bindCapture(labelEl, {\n click: handleLabelClickCapture as EventListener,\n });\n const setInputRef = (el: HTMLInputElement | undefined) => {\n if (!el) {\n setInputElement(null);\n return;\n }\n setInputElement(el);\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 aria-describedby={inputDescribedBy()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\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 \"data-selected\": dataAttr(radioAria.isSelected()),\n \"data-pressed\": dataAttr(radioAria.isPressed()),\n \"data-hovered\": dataAttr(isHovered()),\n \"data-focused\": dataAttr(isFocused()),\n \"data-focus-visible\": dataAttr(isFocusVisible()),\n \"data-disabled\": dataAttr(radioAria.isDisabled),\n \"data-readonly\": dataAttr(state.isReadOnly),\n \"data-invalid\": dataAttr(state.isInvalid),\n \"data-required\": dataAttr(state.isRequired),\n children: labelChildren(),\n }) as unknown as JSX.LabelHTMLAttributes<HTMLLabelElement>;\n const labelCaptureProps = {} as unknown as JSX.LabelHTMLAttributes<HTMLLabelElement>;\n\n // One-time `if` (not a JSX ternary). A `{local.render ? … : <label>}` memo\n // that re-runs on a `createSlotId` probe recreates the label/input and\n // leaves refs pointing at the detached first nodes.\n if (local.render) {\n return (\n <SelectionIndicatorContext value={selectionIndicatorContext()}>\n {local.render(customLabelProps(), renderValues())}\n </SelectionIndicatorContext>\n );\n }\n\n return (\n <SelectionIndicatorContext value={selectionIndicatorContext()}>\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={dataAttr(radioAria.isSelected())}\n data-pressed={dataAttr(radioAria.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(radioAria.isDisabled)}\n data-readonly={dataAttr(state.isReadOnly)}\n data-invalid={dataAttr(state.isInvalid)}\n data-required={dataAttr(state.isRequired)}\n >\n {labelChildren()}\n </label>\n </SelectionIndicatorContext>\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 // Created once under RadioGroup's provider (GroupChildren snapshots\n // `props.children`). A `<Show when={getState()} keyed>` remounted RadioImpl\n // on every `createSlotId` probe because the group state object is reactive.\n const state = useContext(RadioGroupStateContext);\n if (!state) {\n return null as unknown as JSX.Element;\n }\n return <RadioImpl radioProps={props} state={state} />;\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 inputDescribedBy: () => string | undefined;\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 =\n contextProps?.slots?.[\n typeof props.fieldProps.slot === \"string\" ? props.fieldProps.slot : \"default\"\n ];\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(\"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 inputDescribedBy: () => radioAria.inputDescribedBy(),\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={dataAttr(radioAria.isSelected())}\n data-disabled={dataAttr(radioAria.isDisabled)}\n data-readonly={dataAttr(state.isReadOnly)}\n data-invalid={dataAttr(state.isInvalid)}\n data-required={dataAttr(state.isRequired)}\n >\n <SelectionIndicatorContext value={selectionIndicatorContext()}>\n <InternalRadioContext value={internalContext}>\n <Provider values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}>\n <FieldChildren />\n </Provider>\n </InternalRadioContext>\n </SelectionIndicatorContext>\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 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={dataAttr(ctx.isSelected())}\n data-pressed={dataAttr(ctx.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(ctx.isDisabled())}\n data-readonly={dataAttr(state.isReadOnly)}\n data-invalid={dataAttr(state.isInvalid)}\n data-required={dataAttr(state.isRequired)}\n >\n <VisuallyHidden>\n <input\n ref={ctx.setInputRef}\n {...cleanInputProps()}\n {...cleanFocusProps()}\n aria-describedby={ctx.inputDescribedBy()}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onClick={handleInputClick}\n />\n </VisuallyHidden>\n {renderProps.renderChildren()}\n </label>\n );\n}\n"],"mappings":"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"}