@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,10 +1,23 @@
1
- import { Provider, filterDOMProps, useRenderProps } from "./utils.jsx";
1
+ /*
2
+ * Copyright 2022 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/RadioGroup.tsx
13
+ import { Provider, dataAttr, filterDOMProps, useRenderProps } from "./utils.jsx";
2
14
  import { VisuallyHidden } from "./VisuallyHidden.jsx";
3
- import { FieldErrorContext } from "./FieldError.jsx";
4
15
  import { TextContext } from "./Text.jsx";
16
+ import { FieldErrorContext } from "./FieldError.jsx";
5
17
  import { SelectionIndicatorContext } from "./SelectionIndicator.jsx";
6
- import { Show, createContext, createMemo, createSignal, createUniqueId, splitProps, useContext } from "solid-js";
7
- import { createFocusRing, createHover, createRadio, createRadioGroup, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
18
+ import { Show, createContext, createMemo, createSignal, createUniqueId, useContext } from "solid-js";
19
+ import { bindCapture, createFocusRing, createHover, createRadio, createRadioGroup, mergeProps } from "@proyecto-viviana/solidaria";
20
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
8
21
  import { VALID_VALIDITY_STATE, createRadioGroupState } from "@proyecto-viviana/solid-stately";
9
22
  //#region src/RadioGroup.tsx
10
23
  /**
@@ -13,7 +26,7 @@ import { VALID_VALIDITY_STATE, createRadioGroupState } from "@proyecto-viviana/s
13
26
  * Pre-wired headless radio components that combine state + aria hooks.
14
27
  * Port of react-aria-components/src/RadioGroup.tsx
15
28
  */
16
- function assignRef(ref, el) {
29
+ function assignRef$1(ref, el) {
17
30
  if (!ref) return;
18
31
  if (typeof ref === "function") ref(el);
19
32
  else ref.current = el;
@@ -58,20 +71,21 @@ const RadioContext = createContext(null);
58
71
  */
59
72
  function RadioGroup(props) {
60
73
  const contextProps = useContext(RadioGroupContext);
61
- const contextSlotProps = contextProps?.slots?.[props.slot ?? "default"];
74
+ const contextSlotProps = contextProps?.slots?.[typeof props.slot === "string" ? props.slot : "default"];
62
75
  const contextBaseProps = createMemo(() => {
63
76
  if (!contextProps) return {};
64
77
  const { slots: _slots, ...rest } = contextProps;
65
78
  return rest;
66
79
  });
67
- const mergedProps = contextProps ? mergeProps$1(contextBaseProps(), contextSlotProps ?? {}, props) : props;
80
+ const mergedProps = contextProps ? mergeProps(contextBaseProps(), contextSlotProps ?? {}, props) : props;
68
81
  const [local, ariaProps] = splitProps(mergedProps, [
69
82
  "class",
70
83
  "style",
71
84
  "render",
72
85
  "ref",
73
86
  "slot",
74
- "renderHelpText"
87
+ "renderHelpText",
88
+ "children"
75
89
  ]);
76
90
  const state = createRadioGroupState(() => ({
77
91
  value: mergedProps.value,
@@ -105,9 +119,6 @@ function RadioGroup(props) {
105
119
  state
106
120
  }));
107
121
  const renderProps = useRenderProps({
108
- get children() {
109
- return props.children;
110
- },
111
122
  class: local.class,
112
123
  style: local.style,
113
124
  defaultClassName: "solidaria-RadioGroup"
@@ -128,8 +139,6 @@ function RadioGroup(props) {
128
139
  if (!(target instanceof HTMLInputElement) || target.type !== "radio") return;
129
140
  state.updateValidation(getNativeValidation(target));
130
141
  state.commitValidation();
131
- target.focus();
132
- event.preventDefault();
133
142
  };
134
143
  const handleGroupChangeCapture = (event) => {
135
144
  const target = event.target;
@@ -137,9 +146,15 @@ function RadioGroup(props) {
137
146
  state.updateValidation(target.validity.valid ? validValidation : getNativeValidation(target));
138
147
  state.commitValidation();
139
148
  };
149
+ const [groupEl, setGroupEl] = createSignal(null);
140
150
  const setGroupRef = (el) => {
141
- assignRef(local.ref, el);
151
+ setGroupEl(el);
152
+ assignRef$1(local.ref, el);
142
153
  };
154
+ bindCapture(groupEl, {
155
+ invalid: handleGroupInvalidCapture,
156
+ change: handleGroupChangeCapture
157
+ });
143
158
  const groupDescribedBy = () => {
144
159
  const ids = [
145
160
  cleanGroupProps()["aria-describedby"],
@@ -180,13 +195,13 @@ function RadioGroup(props) {
180
195
  return state;
181
196
  }
182
197
  };
183
- const renderedChildren = createMemo(() => {
184
- const children = props.children;
185
- if (typeof children === "function") return children.length > 0 ? children(childRenderValues) : children();
186
- return children;
187
- });
198
+ const childrenOnce = local.children;
199
+ const renderedChildren = () => {
200
+ if (typeof childrenOnce === "function") return childrenOnce.length > 0 ? childrenOnce(childRenderValues) : childrenOnce();
201
+ return childrenOnce;
202
+ };
188
203
  return <>
189
- {renderedChildren()}
204
+ {typeof childrenOnce === "function" ? renderedChildren() : childrenOnce}
190
205
  <Show when={(local.renderHelpText ?? true) && mergedProps.description}>
191
206
  <div {...groupAria.descriptionProps}>
192
207
  {mergedProps.description}
@@ -199,10 +214,7 @@ function RadioGroup(props) {
199
214
  </Show>
200
215
  </>;
201
216
  };
202
- const groupEventProps = {
203
- onInvalidCapture: handleGroupInvalidCapture,
204
- onChangeCapture: handleGroupChangeCapture
205
- };
217
+ const groupEventProps = {};
206
218
  const customRootProps = () => ({
207
219
  ...domProps(),
208
220
  ...cleanGroupProps(),
@@ -215,19 +227,28 @@ function RadioGroup(props) {
215
227
  style: renderProps.style(),
216
228
  slot: local.slot,
217
229
  "data-orientation": ariaProps.orientation ?? "vertical",
218
- "data-disabled": state.isDisabled || void 0,
219
- "data-readonly": state.isReadOnly || void 0,
220
- "data-required": state.isRequired || void 0,
221
- "data-invalid": isInvalid() || void 0,
222
- children: <GroupChildren />
230
+ "data-disabled": dataAttr(state.isDisabled),
231
+ "data-readonly": dataAttr(state.isReadOnly),
232
+ "data-required": dataAttr(state.isRequired),
233
+ "data-invalid": dataAttr(isInvalid())
223
234
  });
224
- return <RadioGroupStateContext.Provider value={state}>
225
- <FieldErrorContext.Provider value={fieldErrorContext}>
226
- {local.render ? local.render(customRootProps(), renderValues()) : <div {...domProps()} {...cleanGroupProps()} {...groupEventProps} ref={setGroupRef} onFocusIn={handleGroupFocusIn} onFocusOut={handleGroupFocusOut} aria-describedby={groupDescribedBy()} class={renderProps.class()} style={renderProps.style()} slot={local.slot} data-orientation={ariaProps.orientation ?? "vertical"} data-disabled={state.isDisabled || void 0} data-readonly={state.isReadOnly || void 0} data-required={state.isRequired || void 0} data-invalid={isInvalid() || void 0}>
227
- <GroupChildren />
228
- </div>}
229
- </FieldErrorContext.Provider>
230
- </RadioGroupStateContext.Provider>;
235
+ return <RadioGroupStateContext value={state}>
236
+ <FieldErrorContext value={fieldErrorContext}>
237
+ <RadioGroupDefaultRoot render={local.render} getCustomRootProps={customRootProps} getRenderValues={renderValues} getDomProps={domProps} getCleanGroupProps={cleanGroupProps} groupEventProps={groupEventProps} setGroupRef={setGroupRef} onFocusIn={handleGroupFocusIn} onFocusOut={handleGroupFocusOut} getDescribedBy={groupDescribedBy} getClass={renderProps.class} getStyle={renderProps.style} slot={local.slot} getOrientation={() => ariaProps.orientation ?? "vertical"} getDisabled={() => state.isDisabled || void 0} getReadOnly={() => state.isReadOnly || void 0} getRequired={() => state.isRequired || void 0} getInvalid={() => isInvalid() || void 0}>
238
+ <GroupChildren />
239
+ </RadioGroupDefaultRoot>
240
+ </FieldErrorContext>
241
+ </RadioGroupStateContext>;
242
+ }
243
+ function RadioGroupDefaultRoot(props) {
244
+ const children = props.children;
245
+ if (props.render) return props.render({
246
+ ...props.getCustomRootProps(),
247
+ children
248
+ }, props.getRenderValues());
249
+ return <div {...props.getDomProps()} {...props.getCleanGroupProps()} {...props.groupEventProps} ref={props.setGroupRef} onFocusIn={props.onFocusIn} onFocusOut={props.onFocusOut} aria-describedby={props.getDescribedBy()} class={props.getClass()} style={props.getStyle()} slot={props.slot} data-orientation={props.getOrientation()} data-disabled={dataAttr(props.getDisabled())} data-readonly={dataAttr(props.getReadOnly())} data-required={dataAttr(props.getRequired())} data-invalid={dataAttr(props.getInvalid())}>
250
+ {children}
251
+ </div>;
231
252
  }
232
253
  /**
233
254
  * Internal Radio implementation that has access to RadioGroupStateContext.
@@ -237,13 +258,13 @@ function RadioImpl(props) {
237
258
  const [inputElement, setInputElement] = createSignal(null);
238
259
  const { state } = props;
239
260
  const contextProps = useContext(RadioContext);
240
- const contextSlotProps = contextProps?.slots?.[props.radioProps.slot ?? "default"];
261
+ const contextSlotProps = contextProps?.slots?.[typeof props.radioProps.slot === "string" ? props.radioProps.slot : "default"];
241
262
  const contextBaseProps = createMemo(() => {
242
263
  if (!contextProps) return {};
243
264
  const { slots: _slots, ...rest } = contextProps;
244
265
  return rest;
245
266
  });
246
- const radioProps = contextProps ? mergeProps$1(contextBaseProps(), contextSlotProps ?? {}, props.radioProps) : props.radioProps;
267
+ const radioProps = contextProps ? mergeProps(contextBaseProps(), contextSlotProps ?? {}, props.radioProps) : props.radioProps;
247
268
  const inputRefs = createMemo(() => [
248
269
  contextBaseProps().inputRef,
249
270
  contextSlotProps?.inputRef,
@@ -324,9 +345,15 @@ function RadioImpl(props) {
324
345
  return rest;
325
346
  };
326
347
  const cleanInputProps = () => {
327
- const { ref: _ref3, onFocus: _onFocus, onBlur: _onBlur, ...rest } = radioAria.inputProps;
348
+ const inputProps = radioAria.inputProps;
349
+ const rest = {};
350
+ for (const key of Object.keys(inputProps)) {
351
+ if (key === "ref" || key === "onFocus" || key === "onBlur" || key === "aria-describedby") continue;
352
+ rest[key] = inputProps[key];
353
+ }
328
354
  return rest;
329
355
  };
356
+ const inputDescribedBy = () => radioAria.inputDescribedBy();
330
357
  const cleanFocusProps = () => {
331
358
  const { ref: _ref4, onFocus: _onFocus, onBlur: _onBlur, ...rest } = focusProps;
332
359
  return rest;
@@ -340,7 +367,6 @@ function RadioImpl(props) {
340
367
  focusProps.onBlur?.(event);
341
368
  };
342
369
  const handleLabelClick = (event) => {
343
- ariaProps.onClickCapture?.(event);
344
370
  radioAria.labelProps.onClick?.(event);
345
371
  };
346
372
  const handleLabelClickCapture = (event) => {
@@ -349,36 +375,31 @@ function RadioImpl(props) {
349
375
  const handleInputClick = (event) => {
350
376
  radioAria.inputProps.onClick?.(event);
351
377
  };
352
- const handleInputInvalid = (event) => {
353
- state.updateValidation(getNativeValidation(event.currentTarget));
354
- state.commitValidation();
355
- event.currentTarget.focus();
356
- event.preventDefault();
357
- };
358
378
  const handleInputChange = (event) => {
359
379
  radioAria.inputProps.onChange?.(event);
360
380
  state.updateValidation(event.currentTarget.validity.valid ? validValidation : getNativeValidation(event.currentTarget));
361
381
  state.commitValidation();
362
382
  };
383
+ const [labelEl, setLabelEl] = createSignal(null);
363
384
  const setLabelRef = (el) => {
364
- assignRef(local.ref, el);
385
+ setLabelEl(el);
386
+ assignRef$1(local.ref, el);
365
387
  };
388
+ bindCapture(labelEl, { click: handleLabelClickCapture });
366
389
  const setInputRef = (el) => {
390
+ if (!el) {
391
+ setInputElement(null);
392
+ return;
393
+ }
367
394
  setInputElement(el);
368
- el.addEventListener("invalid", (event) => {
369
- state.updateValidation(getNativeValidation(el));
370
- state.commitValidation();
371
- el.focus();
372
- event.preventDefault();
373
- });
374
395
  el.addEventListener("change", () => {
375
396
  state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));
376
397
  state.commitValidation();
377
398
  });
378
- for (const ref of inputRefs()) assignRef(ref, el);
399
+ for (const ref of inputRefs()) assignRef$1(ref, el);
379
400
  };
380
401
  const hiddenInput = <VisuallyHidden>
381
- <input ref={setInputRef} {...cleanInputProps()} {...cleanFocusProps()} onFocus={handleInputFocus} onBlur={handleInputBlur} onInvalid={handleInputInvalid} onChange={handleInputChange} onClick={handleInputClick} />
402
+ <input ref={setInputRef} {...cleanInputProps()} {...cleanFocusProps()} aria-describedby={inputDescribedBy()} onFocus={handleInputFocus} onBlur={handleInputBlur} onChange={handleInputChange} onClick={handleInputClick} />
382
403
  </VisuallyHidden>;
383
404
  const labelChildren = () => <>
384
405
  {hiddenInput}
@@ -403,24 +424,26 @@ function RadioImpl(props) {
403
424
  style: renderProps.style(),
404
425
  slot: local.slot,
405
426
  onClick: handleLabelClick,
406
- onClickCapture: handleLabelClickCapture,
407
- "data-selected": radioAria.isSelected() || void 0,
408
- "data-pressed": radioAria.isPressed() || void 0,
409
- "data-hovered": isHovered() || void 0,
410
- "data-focused": isFocused() || void 0,
411
- "data-focus-visible": isFocusVisible() || void 0,
412
- "data-disabled": radioAria.isDisabled || void 0,
413
- "data-readonly": state.isReadOnly || void 0,
414
- "data-invalid": state.isInvalid || void 0,
415
- "data-required": state.isRequired || void 0,
427
+ "data-selected": dataAttr(radioAria.isSelected()),
428
+ "data-pressed": dataAttr(radioAria.isPressed()),
429
+ "data-hovered": dataAttr(isHovered()),
430
+ "data-focused": dataAttr(isFocused()),
431
+ "data-focus-visible": dataAttr(isFocusVisible()),
432
+ "data-disabled": dataAttr(radioAria.isDisabled),
433
+ "data-readonly": dataAttr(state.isReadOnly),
434
+ "data-invalid": dataAttr(state.isInvalid),
435
+ "data-required": dataAttr(state.isRequired),
416
436
  children: labelChildren()
417
437
  });
418
- const labelCaptureProps = { onClickCapture: handleLabelClickCapture };
419
- return <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>
420
- {local.render ? local.render(customLabelProps(), renderValues()) : <label {...domProps()} {...cleanLabelProps()} {...cleanHoverProps()} ref={setLabelRef} class={renderProps.class()} style={renderProps.style()} slot={local.slot} onClick={handleLabelClick} {...labelCaptureProps} data-selected={radioAria.isSelected() || void 0} data-pressed={radioAria.isPressed() || void 0} data-hovered={isHovered() || void 0} data-focused={isFocused() || void 0} data-focus-visible={isFocusVisible() || void 0} data-disabled={radioAria.isDisabled || void 0} data-readonly={state.isReadOnly || void 0} data-invalid={state.isInvalid || void 0} data-required={state.isRequired || void 0}>
421
- {labelChildren()}
422
- </label>}
423
- </SelectionIndicatorContext.Provider>;
438
+ const labelCaptureProps = {};
439
+ if (local.render) return <SelectionIndicatorContext value={selectionIndicatorContext()}>
440
+ {local.render(customLabelProps(), renderValues())}
441
+ </SelectionIndicatorContext>;
442
+ return <SelectionIndicatorContext value={selectionIndicatorContext()}>
443
+ <label {...domProps()} {...cleanLabelProps()} {...cleanHoverProps()} ref={setLabelRef} class={renderProps.class()} style={renderProps.style()} slot={local.slot} onClick={handleLabelClick} {...labelCaptureProps} data-selected={dataAttr(radioAria.isSelected())} data-pressed={dataAttr(radioAria.isPressed())} data-hovered={dataAttr(isHovered())} data-focused={dataAttr(isFocused())} data-focus-visible={dataAttr(isFocusVisible())} data-disabled={dataAttr(radioAria.isDisabled)} data-readonly={dataAttr(state.isReadOnly)} data-invalid={dataAttr(state.isInvalid)} data-required={dataAttr(state.isRequired)}>
444
+ {labelChildren()}
445
+ </label>
446
+ </SelectionIndicatorContext>;
424
447
  }
425
448
  /**
426
449
  * A radio represents an individual option within a radio group.
@@ -440,10 +463,9 @@ function RadioImpl(props) {
440
463
  * ```
441
464
  */
442
465
  function Radio(props) {
443
- const getState = createMemo(() => useContext(RadioGroupStateContext));
444
- return <Show when={getState()} fallback={null} keyed>
445
- {(state) => <RadioImpl radioProps={props} state={state} />}
446
- </Show>;
466
+ const state = useContext(RadioGroupStateContext);
467
+ if (!state) return null;
468
+ return <RadioImpl radioProps={props} state={state} />;
447
469
  }
448
470
  const RadioFieldContext = createContext(null);
449
471
  const InternalRadioContext = createContext(null);
@@ -474,13 +496,13 @@ function RadioFieldImpl(props) {
474
496
  const [inputElement, setInputElement] = createSignal(null);
475
497
  const { state } = props;
476
498
  const contextProps = useContext(RadioFieldContext);
477
- const contextSlotProps = contextProps?.slots?.[props.fieldProps.slot ?? "default"];
499
+ const contextSlotProps = contextProps?.slots?.[typeof props.fieldProps.slot === "string" ? props.fieldProps.slot : "default"];
478
500
  const contextBaseProps = createMemo(() => {
479
501
  if (!contextProps) return {};
480
502
  const { slots: _slots, ...rest } = contextProps;
481
503
  return rest;
482
504
  });
483
- const fieldProps = contextProps ? mergeProps$1(contextBaseProps(), contextSlotProps ?? {}, props.fieldProps) : props.fieldProps;
505
+ const fieldProps = contextProps ? mergeProps(contextBaseProps(), contextSlotProps ?? {}, props.fieldProps) : props.fieldProps;
484
506
  const inputRefs = createMemo(() => [
485
507
  contextBaseProps().inputRef,
486
508
  contextSlotProps?.inputRef,
@@ -508,20 +530,14 @@ function RadioFieldImpl(props) {
508
530
  } } };
509
531
  const setInputRef = (el) => {
510
532
  setInputElement(el);
511
- el.addEventListener("invalid", (event) => {
512
- state.updateValidation(getNativeValidation(el));
513
- state.commitValidation();
514
- el.focus();
515
- event.preventDefault();
516
- });
517
533
  el.addEventListener("change", () => {
518
534
  state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));
519
535
  state.commitValidation();
520
536
  });
521
- for (const ref of inputRefs()) assignRef(ref, el);
537
+ for (const ref of inputRefs()) assignRef$1(ref, el);
522
538
  };
523
539
  const setFieldRef = (el) => {
524
- assignRef(local.ref, el);
540
+ assignRef$1(local.ref, el);
525
541
  };
526
542
  const internalContext = {
527
543
  isSelected: () => radioAria.isSelected(),
@@ -529,6 +545,7 @@ function RadioFieldImpl(props) {
529
545
  isDisabled: () => radioAria.isDisabled,
530
546
  labelProps: () => radioAria.labelProps,
531
547
  inputProps: () => radioAria.inputProps,
548
+ inputDescribedBy: () => radioAria.inputDescribedBy(),
532
549
  setInputRef,
533
550
  defaultClassName: "solidaria-RadioButton"
534
551
  };
@@ -576,14 +593,14 @@ function RadioFieldImpl(props) {
576
593
  });
577
594
  return <>{renderedChildren()}</>;
578
595
  };
579
- return <div {...domProps()} ref={setFieldRef} class={renderProps.class()} style={renderProps.style()} slot={local.slot} data-selected={radioAria.isSelected() || void 0} data-disabled={radioAria.isDisabled || void 0} data-readonly={state.isReadOnly || void 0} data-invalid={state.isInvalid || void 0} data-required={state.isRequired || void 0}>
580
- <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>
581
- <InternalRadioContext.Provider value={internalContext}>
596
+ return <div {...domProps()} ref={setFieldRef} class={renderProps.class()} style={renderProps.style()} slot={local.slot} data-selected={dataAttr(radioAria.isSelected())} data-disabled={dataAttr(radioAria.isDisabled)} data-readonly={dataAttr(state.isReadOnly)} data-invalid={dataAttr(state.isInvalid)} data-required={dataAttr(state.isRequired)}>
597
+ <SelectionIndicatorContext value={selectionIndicatorContext()}>
598
+ <InternalRadioContext value={internalContext}>
582
599
  <Provider values={[[TextContext, textSlots]]}>
583
600
  <FieldChildren />
584
601
  </Provider>
585
- </InternalRadioContext.Provider>
586
- </SelectionIndicatorContext.Provider>
602
+ </InternalRadioContext>
603
+ </SelectionIndicatorContext>
587
604
  </div>;
588
605
  }
589
606
  /**
@@ -654,23 +671,17 @@ function RadioButtonImpl(props) {
654
671
  const handleInputClick = (event) => {
655
672
  ctx.inputProps().onClick?.(event);
656
673
  };
657
- const handleInputInvalid = (event) => {
658
- state.updateValidation(getNativeValidation(event.currentTarget));
659
- state.commitValidation();
660
- event.currentTarget.focus();
661
- event.preventDefault();
662
- };
663
674
  const handleInputChange = (event) => {
664
675
  ctx.inputProps().onChange?.(event);
665
676
  state.updateValidation(event.currentTarget.validity.valid ? validValidation : getNativeValidation(event.currentTarget));
666
677
  state.commitValidation();
667
678
  };
668
679
  const setButtonRef = (el) => {
669
- assignRef(props.buttonProps.ref, el);
680
+ assignRef$1(props.buttonProps.ref, el);
670
681
  };
671
- return <label {...cleanLabelProps()} {...cleanHoverProps()} ref={setButtonRef} class={renderProps.class()} style={renderProps.style()} slot={props.buttonProps.slot} data-selected={ctx.isSelected() || void 0} data-pressed={ctx.isPressed() || void 0} data-hovered={isHovered() || void 0} data-focused={isFocused() || void 0} data-focus-visible={isFocusVisible() || void 0} data-disabled={ctx.isDisabled() || void 0} data-readonly={state.isReadOnly || void 0} data-invalid={state.isInvalid || void 0} data-required={state.isRequired || void 0}>
682
+ return <label {...cleanLabelProps()} {...cleanHoverProps()} ref={setButtonRef} class={renderProps.class()} style={renderProps.style()} slot={props.buttonProps.slot} data-selected={dataAttr(ctx.isSelected())} data-pressed={dataAttr(ctx.isPressed())} data-hovered={dataAttr(isHovered())} data-focused={dataAttr(isFocused())} data-focus-visible={dataAttr(isFocusVisible())} data-disabled={dataAttr(ctx.isDisabled())} data-readonly={dataAttr(state.isReadOnly)} data-invalid={dataAttr(state.isInvalid)} data-required={dataAttr(state.isRequired)}>
672
683
  <VisuallyHidden>
673
- <input ref={ctx.setInputRef} {...cleanInputProps()} {...cleanFocusProps()} onFocus={handleInputFocus} onBlur={handleInputBlur} onInvalid={handleInputInvalid} onChange={handleInputChange} onClick={handleInputClick} />
684
+ <input ref={ctx.setInputRef} {...cleanInputProps()} {...cleanFocusProps()} aria-describedby={ctx.inputDescribedBy()} onFocus={handleInputFocus} onBlur={handleInputBlur} onChange={handleInputChange} onClick={handleInputClick} />
674
685
  </VisuallyHidden>
675
686
  {renderProps.renderChildren()}
676
687
  </label>;