@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,11 +1,24 @@
1
- import { Provider, filterDOMProps, useRenderProps } from "./utils.js";
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.js";
2
14
  import { VisuallyHidden } from "./VisuallyHidden.js";
3
- import { FieldErrorContext } from "./FieldError.js";
4
15
  import { TextContext } from "./Text.js";
16
+ import { FieldErrorContext } from "./FieldError.js";
5
17
  import { SelectionIndicatorContext } from "./SelectionIndicator.js";
6
- import { createComponent, getNextElement, getNextMarker, insert, memo, mergeProps, runHydrationEvents, setAttribute, spread, template, use } from "solid-js/web";
7
- import { Show, createContext, createMemo, createSignal, createUniqueId, splitProps, useContext } from "solid-js";
8
- import { createFocusRing, createHover, createRadio, createRadioGroup, mergeProps as mergeProps$2 } from "@proyecto-viviana/solidaria";
18
+ import { createComponent, getNextElement, getNextMarker, insert, memo, ref, runHydrationEvents, scope, setAttribute, spread, template } from "@solidjs/web";
19
+ import { Show, createContext, createMemo, createSignal, createUniqueId, useContext } from "solid-js";
20
+ import { bindCapture, createFocusRing, createHover, createRadio, createRadioGroup, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
21
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
9
22
  import { VALID_VALIDITY_STATE, createRadioGroupState } from "@proyecto-viviana/solid-stately";
10
23
  //#region src/RadioGroup.tsx
11
24
  /**
@@ -14,8 +27,13 @@ import { VALID_VALIDITY_STATE, createRadioGroupState } from "@proyecto-viviana/s
14
27
  * Pre-wired headless radio components that combine state + aria hooks.
15
28
  * Port of react-aria-components/src/RadioGroup.tsx
16
29
  */
17
- var _tmpl$ = /*#__PURE__*/ template(`<div>`), _tmpl$2 = /*#__PURE__*/ template(`<input>`), _tmpl$3 = /*#__PURE__*/ template(`<span slot=description>`), _tmpl$4 = /*#__PURE__*/ template(`<span slot=errorMessage>`), _tmpl$5 = /*#__PURE__*/ template(`<label>`), _tmpl$6 = /*#__PURE__*/ template(`<label><!$><!/><!$><!/>`);
18
- function assignRef(ref, el) {
30
+ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
31
+ var _tmpl$2 = /* @__PURE__ */ template(`<input>`);
32
+ var _tmpl$3 = /* @__PURE__ */ template(`<span slot=description>`);
33
+ var _tmpl$4 = /* @__PURE__ */ template(`<span slot=errorMessage>`);
34
+ var _tmpl$5 = /* @__PURE__ */ template(`<label>`);
35
+ var _tmpl$6 = /* @__PURE__ */ template(`<label><!$><!/><!$><!/>`);
36
+ function assignRef$1(ref, el) {
19
37
  if (!ref) return;
20
38
  if (typeof ref === "function") ref(el);
21
39
  else ref.current = el;
@@ -60,20 +78,21 @@ const RadioContext = createContext(null);
60
78
  */
61
79
  function RadioGroup(props) {
62
80
  const contextProps = useContext(RadioGroupContext);
63
- const contextSlotProps = contextProps?.slots?.[props.slot ?? "default"];
81
+ const contextSlotProps = contextProps?.slots?.[typeof props.slot === "string" ? props.slot : "default"];
64
82
  const contextBaseProps = createMemo(() => {
65
83
  if (!contextProps) return {};
66
84
  const { slots: _slots, ...rest } = contextProps;
67
85
  return rest;
68
86
  });
69
- const mergedProps = contextProps ? mergeProps$2(contextBaseProps(), contextSlotProps ?? {}, props) : props;
87
+ const mergedProps = contextProps ? mergeProps$1(contextBaseProps(), contextSlotProps ?? {}, props) : props;
70
88
  const [local, ariaProps] = splitProps(mergedProps, [
71
89
  "class",
72
90
  "style",
73
91
  "render",
74
92
  "ref",
75
93
  "slot",
76
- "renderHelpText"
94
+ "renderHelpText",
95
+ "children"
77
96
  ]);
78
97
  const state = createRadioGroupState(() => ({
79
98
  value: mergedProps.value,
@@ -107,9 +126,6 @@ function RadioGroup(props) {
107
126
  state
108
127
  }));
109
128
  const renderProps = useRenderProps({
110
- get children() {
111
- return props.children;
112
- },
113
129
  class: local.class,
114
130
  style: local.style,
115
131
  defaultClassName: "solidaria-RadioGroup"
@@ -130,8 +146,6 @@ function RadioGroup(props) {
130
146
  if (!(target instanceof HTMLInputElement) || target.type !== "radio") return;
131
147
  state.updateValidation(getNativeValidation(target));
132
148
  state.commitValidation();
133
- target.focus();
134
- event.preventDefault();
135
149
  };
136
150
  const handleGroupChangeCapture = (event) => {
137
151
  const target = event.target;
@@ -139,9 +153,15 @@ function RadioGroup(props) {
139
153
  state.updateValidation(target.validity.valid ? validValidation : getNativeValidation(target));
140
154
  state.commitValidation();
141
155
  };
156
+ const [groupEl, setGroupEl] = createSignal(null);
142
157
  const setGroupRef = (el) => {
143
- assignRef(local.ref, el);
158
+ setGroupEl(el);
159
+ assignRef$1(local.ref, el);
144
160
  };
161
+ bindCapture(groupEl, {
162
+ invalid: handleGroupInvalidCapture,
163
+ change: handleGroupChangeCapture
164
+ });
145
165
  const groupDescribedBy = () => {
146
166
  const ids = [
147
167
  cleanGroupProps()["aria-describedby"],
@@ -182,42 +202,54 @@ function RadioGroup(props) {
182
202
  return state;
183
203
  }
184
204
  };
205
+ const childrenOnce = local.children;
206
+ const renderedChildren = () => {
207
+ if (typeof childrenOnce === "function") return childrenOnce.length > 0 ? childrenOnce(childRenderValues) : childrenOnce();
208
+ return childrenOnce;
209
+ };
185
210
  return [
186
- memo(createMemo(() => {
187
- const children = props.children;
188
- if (typeof children === "function") return children.length > 0 ? children(childRenderValues) : children();
189
- return children;
190
- })),
211
+ memo(() => {
212
+ return typeof childrenOnce === "function" ? renderedChildren() : childrenOnce;
213
+ }),
191
214
  createComponent(Show, {
192
215
  get when() {
193
- return memo(() => !!(local.renderHelpText ?? true))() && mergedProps.description;
216
+ return memo(() => {
217
+ return !!(local.renderHelpText ?? true);
218
+ })() ? mergedProps.description : local.renderHelpText ?? true;
194
219
  },
195
220
  get children() {
196
221
  var _el$ = getNextElement(_tmpl$);
197
- spread(_el$, mergeProps(() => groupAria.descriptionProps), false, true);
198
- insert(_el$, () => mergedProps.description);
222
+ spread(_el$, () => {
223
+ return groupAria.descriptionProps;
224
+ }, true);
225
+ insert(_el$, () => {
226
+ return mergedProps.description;
227
+ });
199
228
  runHydrationEvents();
200
229
  return _el$;
201
230
  }
202
231
  }),
203
232
  createComponent(Show, {
204
233
  get when() {
205
- return memo(() => !!((local.renderHelpText ?? true) && isInvalid()))() && mergedProps.errorMessage;
234
+ return memo(() => {
235
+ return !!((local.renderHelpText ?? true) && isInvalid());
236
+ })() ? mergedProps.errorMessage : (local.renderHelpText ?? true) && isInvalid();
206
237
  },
207
238
  get children() {
208
239
  var _el$2 = getNextElement(_tmpl$);
209
- spread(_el$2, mergeProps(() => groupAria.errorMessageProps), false, true);
210
- insert(_el$2, () => mergedProps.errorMessage);
240
+ spread(_el$2, () => {
241
+ return groupAria.errorMessageProps;
242
+ }, true);
243
+ insert(_el$2, () => {
244
+ return mergedProps.errorMessage;
245
+ });
211
246
  runHydrationEvents();
212
247
  return _el$2;
213
248
  }
214
249
  })
215
250
  ];
216
251
  };
217
- const groupEventProps = {
218
- onInvalidCapture: handleGroupInvalidCapture,
219
- onChangeCapture: handleGroupChangeCapture
220
- };
252
+ const groupEventProps = {};
221
253
  const customRootProps = () => ({
222
254
  ...domProps(),
223
255
  ...cleanGroupProps(),
@@ -230,61 +262,114 @@ function RadioGroup(props) {
230
262
  style: renderProps.style(),
231
263
  slot: local.slot,
232
264
  "data-orientation": ariaProps.orientation ?? "vertical",
233
- "data-disabled": state.isDisabled || void 0,
234
- "data-readonly": state.isReadOnly || void 0,
235
- "data-required": state.isRequired || void 0,
236
- "data-invalid": isInvalid() || void 0,
237
- children: createComponent(GroupChildren, {})
265
+ "data-disabled": dataAttr(state.isDisabled),
266
+ "data-readonly": dataAttr(state.isReadOnly),
267
+ "data-required": dataAttr(state.isRequired),
268
+ "data-invalid": dataAttr(isInvalid())
238
269
  });
239
- return createComponent(RadioGroupStateContext.Provider, {
270
+ return createComponent(RadioGroupStateContext, {
240
271
  value: state,
241
272
  get children() {
242
- return createComponent(FieldErrorContext.Provider, {
273
+ return createComponent(FieldErrorContext, {
243
274
  value: fieldErrorContext,
244
275
  get children() {
245
- return memo(() => !!local.render)() ? local.render(customRootProps(), renderValues()) : (() => {
246
- var _el$3 = getNextElement(_tmpl$);
247
- use(setGroupRef, _el$3);
248
- spread(_el$3, mergeProps(domProps, cleanGroupProps, groupEventProps, {
249
- "onFocusIn": handleGroupFocusIn,
250
- "onFocusOut": handleGroupFocusOut,
251
- get ["aria-describedby"]() {
252
- return groupDescribedBy();
253
- },
254
- get ["class"]() {
255
- return renderProps.class();
256
- },
257
- get style() {
258
- return renderProps.style();
259
- },
260
- get slot() {
261
- return local.slot;
262
- },
263
- get ["data-orientation"]() {
264
- return ariaProps.orientation ?? "vertical";
265
- },
266
- get ["data-disabled"]() {
267
- return state.isDisabled || void 0;
268
- },
269
- get ["data-readonly"]() {
270
- return state.isReadOnly || void 0;
271
- },
272
- get ["data-required"]() {
273
- return state.isRequired || void 0;
274
- },
275
- get ["data-invalid"]() {
276
- return isInvalid() || void 0;
277
- }
278
- }), false, true);
279
- insert(_el$3, createComponent(GroupChildren, {}));
280
- runHydrationEvents();
281
- return _el$3;
282
- })();
276
+ return createComponent(RadioGroupDefaultRoot, {
277
+ get render() {
278
+ return local.render;
279
+ },
280
+ getCustomRootProps: customRootProps,
281
+ getRenderValues: renderValues,
282
+ getDomProps: domProps,
283
+ getCleanGroupProps: cleanGroupProps,
284
+ groupEventProps,
285
+ setGroupRef,
286
+ onFocusIn: handleGroupFocusIn,
287
+ onFocusOut: handleGroupFocusOut,
288
+ getDescribedBy: groupDescribedBy,
289
+ get getClass() {
290
+ return renderProps.class;
291
+ },
292
+ get getStyle() {
293
+ return renderProps.style;
294
+ },
295
+ get slot() {
296
+ return local.slot;
297
+ },
298
+ getOrientation: () => ariaProps.orientation ?? "vertical",
299
+ getDisabled: () => state.isDisabled || void 0,
300
+ getReadOnly: () => state.isReadOnly || void 0,
301
+ getRequired: () => state.isRequired || void 0,
302
+ getInvalid: () => isInvalid() || void 0,
303
+ get children() {
304
+ return createComponent(GroupChildren, {});
305
+ }
306
+ });
283
307
  }
284
308
  });
285
309
  }
286
310
  });
287
311
  }
312
+ function RadioGroupDefaultRoot(props) {
313
+ const children = props.children;
314
+ if (props.render) return props.render({
315
+ ...props.getCustomRootProps(),
316
+ children
317
+ }, props.getRenderValues());
318
+ var _el$3 = getNextElement(_tmpl$);
319
+ var _ref$ = props.setGroupRef;
320
+ typeof _ref$ === "function" || Array.isArray(_ref$) ? ref(() => {
321
+ return _ref$;
322
+ }, _el$3) : props.setGroupRef = _el$3;
323
+ spread(_el$3, [
324
+ () => {
325
+ return props.getDomProps();
326
+ },
327
+ () => {
328
+ return props.getCleanGroupProps();
329
+ },
330
+ () => {
331
+ return props.groupEventProps;
332
+ },
333
+ {
334
+ get onFocusIn() {
335
+ return props.onFocusIn;
336
+ },
337
+ get onFocusOut() {
338
+ return props.onFocusOut;
339
+ },
340
+ get "aria-describedby"() {
341
+ return props.getDescribedBy();
342
+ },
343
+ get "class"() {
344
+ return props.getClass();
345
+ },
346
+ get style() {
347
+ return props.getStyle();
348
+ },
349
+ get slot() {
350
+ return props.slot;
351
+ },
352
+ get "data-orientation"() {
353
+ return props.getOrientation();
354
+ },
355
+ get "data-disabled"() {
356
+ return dataAttr(props.getDisabled());
357
+ },
358
+ get "data-readonly"() {
359
+ return dataAttr(props.getReadOnly());
360
+ },
361
+ get "data-required"() {
362
+ return dataAttr(props.getRequired());
363
+ },
364
+ get "data-invalid"() {
365
+ return dataAttr(props.getInvalid());
366
+ }
367
+ }
368
+ ], true);
369
+ insert(_el$3, children);
370
+ runHydrationEvents();
371
+ return _el$3;
372
+ }
288
373
  /**
289
374
  * Internal Radio implementation that has access to RadioGroupStateContext.
290
375
  * This is rendered inside the RadioGroup's context provider.
@@ -293,13 +378,13 @@ function RadioImpl(props) {
293
378
  const [inputElement, setInputElement] = createSignal(null);
294
379
  const { state } = props;
295
380
  const contextProps = useContext(RadioContext);
296
- const contextSlotProps = contextProps?.slots?.[props.radioProps.slot ?? "default"];
381
+ const contextSlotProps = contextProps?.slots?.[typeof props.radioProps.slot === "string" ? props.radioProps.slot : "default"];
297
382
  const contextBaseProps = createMemo(() => {
298
383
  if (!contextProps) return {};
299
384
  const { slots: _slots, ...rest } = contextProps;
300
385
  return rest;
301
386
  });
302
- const radioProps = contextProps ? mergeProps$2(contextBaseProps(), contextSlotProps ?? {}, props.radioProps) : props.radioProps;
387
+ const radioProps = contextProps ? mergeProps$1(contextBaseProps(), contextSlotProps ?? {}, props.radioProps) : props.radioProps;
303
388
  const inputRefs = createMemo(() => [
304
389
  contextBaseProps().inputRef,
305
390
  contextSlotProps?.inputRef,
@@ -380,9 +465,15 @@ function RadioImpl(props) {
380
465
  return rest;
381
466
  };
382
467
  const cleanInputProps = () => {
383
- const { ref: _ref3, onFocus: _onFocus, onBlur: _onBlur, ...rest } = radioAria.inputProps;
468
+ const inputProps = radioAria.inputProps;
469
+ const rest = {};
470
+ for (const key of Object.keys(inputProps)) {
471
+ if (key === "ref" || key === "onFocus" || key === "onBlur" || key === "aria-describedby") continue;
472
+ rest[key] = inputProps[key];
473
+ }
384
474
  return rest;
385
475
  };
476
+ const inputDescribedBy = () => radioAria.inputDescribedBy();
386
477
  const cleanFocusProps = () => {
387
478
  const { ref: _ref4, onFocus: _onFocus, onBlur: _onBlur, ...rest } = focusProps;
388
479
  return rest;
@@ -396,7 +487,6 @@ function RadioImpl(props) {
396
487
  focusProps.onBlur?.(event);
397
488
  };
398
489
  const handleLabelClick = (event) => {
399
- ariaProps.onClickCapture?.(event);
400
490
  radioAria.labelProps.onClick?.(event);
401
491
  };
402
492
  const handleLabelClickCapture = (event) => {
@@ -405,50 +495,55 @@ function RadioImpl(props) {
405
495
  const handleInputClick = (event) => {
406
496
  radioAria.inputProps.onClick?.(event);
407
497
  };
408
- const handleInputInvalid = (event) => {
409
- state.updateValidation(getNativeValidation(event.currentTarget));
410
- state.commitValidation();
411
- event.currentTarget.focus();
412
- event.preventDefault();
413
- };
414
498
  const handleInputChange = (event) => {
415
499
  radioAria.inputProps.onChange?.(event);
416
500
  state.updateValidation(event.currentTarget.validity.valid ? validValidation : getNativeValidation(event.currentTarget));
417
501
  state.commitValidation();
418
502
  };
503
+ const [labelEl, setLabelEl] = createSignal(null);
419
504
  const setLabelRef = (el) => {
420
- assignRef(local.ref, el);
505
+ setLabelEl(el);
506
+ assignRef$1(local.ref, el);
421
507
  };
508
+ bindCapture(labelEl, { click: handleLabelClickCapture });
422
509
  const setInputRef = (el) => {
510
+ if (!el) {
511
+ setInputElement(null);
512
+ return;
513
+ }
423
514
  setInputElement(el);
424
- el.addEventListener("invalid", (event) => {
425
- state.updateValidation(getNativeValidation(el));
426
- state.commitValidation();
427
- el.focus();
428
- event.preventDefault();
429
- });
430
515
  el.addEventListener("change", () => {
431
516
  state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));
432
517
  state.commitValidation();
433
518
  });
434
- for (const ref of inputRefs()) assignRef(ref, el);
519
+ for (const ref of inputRefs()) assignRef$1(ref, el);
435
520
  };
436
521
  const hiddenInput = createComponent(VisuallyHidden, { get children() {
437
522
  var _el$4 = getNextElement(_tmpl$2);
438
- use(setInputRef, _el$4);
439
- spread(_el$4, mergeProps(cleanInputProps, cleanFocusProps, {
440
- "onFocus": handleInputFocus,
441
- "onBlur": handleInputBlur,
442
- "onInvalid": handleInputInvalid,
443
- "onChange": handleInputChange,
444
- "onClick": handleInputClick
445
- }), false, false);
523
+ ref(() => {
524
+ return setInputRef;
525
+ }, _el$4);
526
+ spread(_el$4, [
527
+ cleanInputProps,
528
+ cleanFocusProps,
529
+ {
530
+ get "aria-describedby"() {
531
+ return inputDescribedBy();
532
+ },
533
+ onFocus: handleInputFocus,
534
+ onBlur: handleInputBlur,
535
+ onChange: handleInputChange,
536
+ onClick: handleInputClick
537
+ }
538
+ ], false);
446
539
  runHydrationEvents();
447
540
  return _el$4;
448
541
  } });
449
542
  const labelChildren = () => [
450
543
  hiddenInput,
451
- memo(() => renderProps.renderChildren()),
544
+ memo(() => {
545
+ return renderProps.renderChildren();
546
+ }),
452
547
  createComponent(Show, {
453
548
  get when() {
454
549
  return local.description;
@@ -456,18 +551,24 @@ function RadioImpl(props) {
456
551
  get children() {
457
552
  var _el$5 = getNextElement(_tmpl$3);
458
553
  setAttribute(_el$5, "id", descriptionId);
459
- insert(_el$5, () => local.description);
554
+ insert(_el$5, () => {
555
+ return local.description;
556
+ });
460
557
  return _el$5;
461
558
  }
462
559
  }),
463
560
  createComponent(Show, {
464
561
  get when() {
465
- return memo(() => !!state.isInvalid)() && local.errorMessage;
562
+ return memo(() => {
563
+ return !!state.isInvalid;
564
+ })() ? local.errorMessage : state.isInvalid;
466
565
  },
467
566
  get children() {
468
567
  var _el$6 = getNextElement(_tmpl$4);
469
568
  setAttribute(_el$6, "id", errorMessageId);
470
- insert(_el$6, () => local.errorMessage);
569
+ insert(_el$6, () => {
570
+ return local.errorMessage;
571
+ });
471
572
  return _el$6;
472
573
  }
473
574
  })
@@ -481,29 +582,41 @@ function RadioImpl(props) {
481
582
  style: renderProps.style(),
482
583
  slot: local.slot,
483
584
  onClick: handleLabelClick,
484
- onClickCapture: handleLabelClickCapture,
485
- "data-selected": radioAria.isSelected() || void 0,
486
- "data-pressed": radioAria.isPressed() || void 0,
487
- "data-hovered": isHovered() || void 0,
488
- "data-focused": isFocused() || void 0,
489
- "data-focus-visible": isFocusVisible() || void 0,
490
- "data-disabled": radioAria.isDisabled || void 0,
491
- "data-readonly": state.isReadOnly || void 0,
492
- "data-invalid": state.isInvalid || void 0,
493
- "data-required": state.isRequired || void 0,
585
+ "data-selected": dataAttr(radioAria.isSelected()),
586
+ "data-pressed": dataAttr(radioAria.isPressed()),
587
+ "data-hovered": dataAttr(isHovered()),
588
+ "data-focused": dataAttr(isFocused()),
589
+ "data-focus-visible": dataAttr(isFocusVisible()),
590
+ "data-disabled": dataAttr(radioAria.isDisabled),
591
+ "data-readonly": dataAttr(state.isReadOnly),
592
+ "data-invalid": dataAttr(state.isInvalid),
593
+ "data-required": dataAttr(state.isRequired),
494
594
  children: labelChildren()
495
595
  });
496
- const labelCaptureProps = { onClickCapture: handleLabelClickCapture };
497
- return createComponent(SelectionIndicatorContext.Provider, {
596
+ const labelCaptureProps = {};
597
+ if (local.render) return createComponent(SelectionIndicatorContext, {
498
598
  get value() {
499
599
  return selectionIndicatorContext();
500
600
  },
501
601
  get children() {
502
- return memo(() => !!local.render)() ? local.render(customLabelProps(), renderValues()) : (() => {
503
- var _el$7 = getNextElement(_tmpl$5);
504
- use(setLabelRef, _el$7);
505
- spread(_el$7, mergeProps(domProps, cleanLabelProps, cleanHoverProps, {
506
- get ["class"]() {
602
+ return local.render(customLabelProps(), renderValues());
603
+ }
604
+ });
605
+ return createComponent(SelectionIndicatorContext, {
606
+ get value() {
607
+ return selectionIndicatorContext();
608
+ },
609
+ get children() {
610
+ var _el$7 = getNextElement(_tmpl$5);
611
+ ref(() => {
612
+ return setLabelRef;
613
+ }, _el$7);
614
+ spread(_el$7, [
615
+ domProps,
616
+ cleanLabelProps,
617
+ cleanHoverProps,
618
+ {
619
+ get "class"() {
507
620
  return renderProps.class();
508
621
  },
509
622
  get style() {
@@ -512,40 +625,44 @@ function RadioImpl(props) {
512
625
  get slot() {
513
626
  return local.slot;
514
627
  },
515
- "onClick": handleLabelClick
516
- }, labelCaptureProps, {
517
- get ["data-selected"]() {
518
- return radioAria.isSelected() || void 0;
628
+ onClick: handleLabelClick
629
+ },
630
+ labelCaptureProps,
631
+ {
632
+ get "data-selected"() {
633
+ return dataAttr(radioAria.isSelected());
519
634
  },
520
- get ["data-pressed"]() {
521
- return radioAria.isPressed() || void 0;
635
+ get "data-pressed"() {
636
+ return dataAttr(radioAria.isPressed());
522
637
  },
523
- get ["data-hovered"]() {
524
- return isHovered() || void 0;
638
+ get "data-hovered"() {
639
+ return dataAttr(isHovered());
525
640
  },
526
- get ["data-focused"]() {
527
- return isFocused() || void 0;
641
+ get "data-focused"() {
642
+ return dataAttr(isFocused());
528
643
  },
529
- get ["data-focus-visible"]() {
530
- return isFocusVisible() || void 0;
644
+ get "data-focus-visible"() {
645
+ return dataAttr(isFocusVisible());
531
646
  },
532
- get ["data-disabled"]() {
533
- return radioAria.isDisabled || void 0;
647
+ get "data-disabled"() {
648
+ return dataAttr(radioAria.isDisabled);
534
649
  },
535
- get ["data-readonly"]() {
536
- return state.isReadOnly || void 0;
650
+ get "data-readonly"() {
651
+ return dataAttr(state.isReadOnly);
537
652
  },
538
- get ["data-invalid"]() {
539
- return state.isInvalid || void 0;
653
+ get "data-invalid"() {
654
+ return dataAttr(state.isInvalid);
540
655
  },
541
- get ["data-required"]() {
542
- return state.isRequired || void 0;
656
+ get "data-required"() {
657
+ return dataAttr(state.isRequired);
543
658
  }
544
- }), false, true);
545
- insert(_el$7, labelChildren);
546
- runHydrationEvents();
547
- return _el$7;
548
- })();
659
+ }
660
+ ], true);
661
+ insert(_el$7, scope(() => {
662
+ return labelChildren();
663
+ }));
664
+ runHydrationEvents();
665
+ return _el$7;
549
666
  }
550
667
  });
551
668
  }
@@ -567,17 +684,11 @@ function RadioImpl(props) {
567
684
  * ```
568
685
  */
569
686
  function Radio(props) {
570
- const getState = createMemo(() => useContext(RadioGroupStateContext));
571
- return createComponent(Show, {
572
- get when() {
573
- return getState();
574
- },
575
- fallback: null,
576
- keyed: true,
577
- children: (state) => createComponent(RadioImpl, {
578
- radioProps: props,
579
- state
580
- })
687
+ const state = useContext(RadioGroupStateContext);
688
+ if (!state) return null;
689
+ return createComponent(RadioImpl, {
690
+ radioProps: props,
691
+ state
581
692
  });
582
693
  }
583
694
  const RadioFieldContext = createContext(null);
@@ -617,13 +728,13 @@ function RadioFieldImpl(props) {
617
728
  const [inputElement, setInputElement] = createSignal(null);
618
729
  const { state } = props;
619
730
  const contextProps = useContext(RadioFieldContext);
620
- const contextSlotProps = contextProps?.slots?.[props.fieldProps.slot ?? "default"];
731
+ const contextSlotProps = contextProps?.slots?.[typeof props.fieldProps.slot === "string" ? props.fieldProps.slot : "default"];
621
732
  const contextBaseProps = createMemo(() => {
622
733
  if (!contextProps) return {};
623
734
  const { slots: _slots, ...rest } = contextProps;
624
735
  return rest;
625
736
  });
626
- const fieldProps = contextProps ? mergeProps$2(contextBaseProps(), contextSlotProps ?? {}, props.fieldProps) : props.fieldProps;
737
+ const fieldProps = contextProps ? mergeProps$1(contextBaseProps(), contextSlotProps ?? {}, props.fieldProps) : props.fieldProps;
627
738
  const inputRefs = createMemo(() => [
628
739
  contextBaseProps().inputRef,
629
740
  contextSlotProps?.inputRef,
@@ -651,20 +762,14 @@ function RadioFieldImpl(props) {
651
762
  } } };
652
763
  const setInputRef = (el) => {
653
764
  setInputElement(el);
654
- el.addEventListener("invalid", (event) => {
655
- state.updateValidation(getNativeValidation(el));
656
- state.commitValidation();
657
- el.focus();
658
- event.preventDefault();
659
- });
660
765
  el.addEventListener("change", () => {
661
766
  state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));
662
767
  state.commitValidation();
663
768
  });
664
- for (const ref of inputRefs()) assignRef(ref, el);
769
+ for (const ref of inputRefs()) assignRef$1(ref, el);
665
770
  };
666
771
  const setFieldRef = (el) => {
667
- assignRef(local.ref, el);
772
+ assignRef$1(local.ref, el);
668
773
  };
669
774
  const internalContext = {
670
775
  isSelected: () => radioAria.isSelected(),
@@ -672,6 +777,7 @@ function RadioFieldImpl(props) {
672
777
  isDisabled: () => radioAria.isDisabled,
673
778
  labelProps: () => radioAria.labelProps,
674
779
  inputProps: () => radioAria.inputProps,
780
+ inputDescribedBy: () => radioAria.inputDescribedBy(),
675
781
  setInputRef,
676
782
  defaultClassName: "solidaria-RadioButton"
677
783
  };
@@ -713,61 +819,62 @@ function RadioFieldImpl(props) {
713
819
  return state.isRequired;
714
820
  }
715
821
  };
716
- return memo(createMemo(() => {
822
+ const renderedChildren = createMemo(() => {
717
823
  const children = fieldProps.children;
718
824
  return typeof children === "function" ? children(childRenderValues) : children;
719
- }));
825
+ });
826
+ return memo(renderedChildren);
720
827
  };
721
- return (() => {
722
- var _el$8 = getNextElement(_tmpl$);
723
- use(setFieldRef, _el$8);
724
- spread(_el$8, mergeProps(domProps, {
725
- get ["class"]() {
726
- return renderProps.class();
727
- },
728
- get style() {
729
- return renderProps.style();
730
- },
731
- get slot() {
732
- return local.slot;
733
- },
734
- get ["data-selected"]() {
735
- return radioAria.isSelected() || void 0;
736
- },
737
- get ["data-disabled"]() {
738
- return radioAria.isDisabled || void 0;
739
- },
740
- get ["data-readonly"]() {
741
- return state.isReadOnly || void 0;
742
- },
743
- get ["data-invalid"]() {
744
- return state.isInvalid || void 0;
745
- },
746
- get ["data-required"]() {
747
- return state.isRequired || void 0;
748
- }
749
- }), false, true);
750
- insert(_el$8, createComponent(SelectionIndicatorContext.Provider, {
751
- get value() {
752
- return selectionIndicatorContext();
753
- },
754
- get children() {
755
- return createComponent(InternalRadioContext.Provider, {
756
- value: internalContext,
757
- get children() {
758
- return createComponent(Provider, {
759
- values: [[TextContext, textSlots]],
760
- get children() {
761
- return createComponent(FieldChildren, {});
762
- }
763
- });
764
- }
765
- });
766
- }
767
- }));
768
- runHydrationEvents();
769
- return _el$8;
770
- })();
828
+ var _el$8 = getNextElement(_tmpl$);
829
+ ref(() => {
830
+ return setFieldRef;
831
+ }, _el$8);
832
+ spread(_el$8, [domProps, {
833
+ get "class"() {
834
+ return renderProps.class();
835
+ },
836
+ get style() {
837
+ return renderProps.style();
838
+ },
839
+ get slot() {
840
+ return local.slot;
841
+ },
842
+ get "data-selected"() {
843
+ return dataAttr(radioAria.isSelected());
844
+ },
845
+ get "data-disabled"() {
846
+ return dataAttr(radioAria.isDisabled);
847
+ },
848
+ get "data-readonly"() {
849
+ return dataAttr(state.isReadOnly);
850
+ },
851
+ get "data-invalid"() {
852
+ return dataAttr(state.isInvalid);
853
+ },
854
+ get "data-required"() {
855
+ return dataAttr(state.isRequired);
856
+ }
857
+ }], true);
858
+ insert(_el$8, createComponent(SelectionIndicatorContext, {
859
+ get value() {
860
+ return selectionIndicatorContext();
861
+ },
862
+ get children() {
863
+ return createComponent(InternalRadioContext, {
864
+ value: internalContext,
865
+ get children() {
866
+ return createComponent(Provider, {
867
+ values: [[TextContext, textSlots]],
868
+ get children() {
869
+ return createComponent(FieldChildren, {});
870
+ }
871
+ });
872
+ }
873
+ });
874
+ }
875
+ }));
876
+ runHydrationEvents();
877
+ return _el$8;
771
878
  }
772
879
  /**
773
880
  * A RadioButton is the clickable area of a radio, including the indicator and label.
@@ -851,25 +958,27 @@ function RadioButtonImpl(props) {
851
958
  const handleInputClick = (event) => {
852
959
  ctx.inputProps().onClick?.(event);
853
960
  };
854
- const handleInputInvalid = (event) => {
855
- state.updateValidation(getNativeValidation(event.currentTarget));
856
- state.commitValidation();
857
- event.currentTarget.focus();
858
- event.preventDefault();
859
- };
860
961
  const handleInputChange = (event) => {
861
962
  ctx.inputProps().onChange?.(event);
862
963
  state.updateValidation(event.currentTarget.validity.valid ? validValidation : getNativeValidation(event.currentTarget));
863
964
  state.commitValidation();
864
965
  };
865
966
  const setButtonRef = (el) => {
866
- assignRef(props.buttonProps.ref, el);
967
+ assignRef$1(props.buttonProps.ref, el);
867
968
  };
868
- return (() => {
869
- var _el$9 = getNextElement(_tmpl$6), _el$1 = _el$9.firstChild, [_el$10, _co$] = getNextMarker(_el$1.nextSibling), _el$11 = _el$10.nextSibling, [_el$12, _co$2] = getNextMarker(_el$11.nextSibling);
870
- use(setButtonRef, _el$9);
871
- spread(_el$9, mergeProps(cleanLabelProps, cleanHoverProps, {
872
- get ["class"]() {
969
+ var _el$9 = getNextElement(_tmpl$6);
970
+ var _el$11 = _el$9.firstChild;
971
+ var [_el$12, _el$13] = getNextMarker(_el$11.nextSibling);
972
+ var _el$14 = _el$12.nextSibling;
973
+ var [_el$15, _el$16] = getNextMarker(_el$14.nextSibling);
974
+ ref(() => {
975
+ return setButtonRef;
976
+ }, _el$9);
977
+ spread(_el$9, [
978
+ cleanLabelProps,
979
+ cleanHoverProps,
980
+ {
981
+ get "class"() {
873
982
  return renderProps.class();
874
983
  },
875
984
  get style() {
@@ -878,52 +987,62 @@ function RadioButtonImpl(props) {
878
987
  get slot() {
879
988
  return props.buttonProps.slot;
880
989
  },
881
- get ["data-selected"]() {
882
- return ctx.isSelected() || void 0;
990
+ get "data-selected"() {
991
+ return dataAttr(ctx.isSelected());
883
992
  },
884
- get ["data-pressed"]() {
885
- return ctx.isPressed() || void 0;
993
+ get "data-pressed"() {
994
+ return dataAttr(ctx.isPressed());
886
995
  },
887
- get ["data-hovered"]() {
888
- return isHovered() || void 0;
996
+ get "data-hovered"() {
997
+ return dataAttr(isHovered());
889
998
  },
890
- get ["data-focused"]() {
891
- return isFocused() || void 0;
999
+ get "data-focused"() {
1000
+ return dataAttr(isFocused());
892
1001
  },
893
- get ["data-focus-visible"]() {
894
- return isFocusVisible() || void 0;
1002
+ get "data-focus-visible"() {
1003
+ return dataAttr(isFocusVisible());
895
1004
  },
896
- get ["data-disabled"]() {
897
- return ctx.isDisabled() || void 0;
1005
+ get "data-disabled"() {
1006
+ return dataAttr(ctx.isDisabled());
898
1007
  },
899
- get ["data-readonly"]() {
900
- return state.isReadOnly || void 0;
1008
+ get "data-readonly"() {
1009
+ return dataAttr(state.isReadOnly);
901
1010
  },
902
- get ["data-invalid"]() {
903
- return state.isInvalid || void 0;
1011
+ get "data-invalid"() {
1012
+ return dataAttr(state.isInvalid);
904
1013
  },
905
- get ["data-required"]() {
906
- return state.isRequired || void 0;
1014
+ get "data-required"() {
1015
+ return dataAttr(state.isRequired);
907
1016
  }
908
- }), false, true);
909
- insert(_el$9, createComponent(VisuallyHidden, { get children() {
910
- var _el$0 = getNextElement(_tmpl$2);
911
- var _ref$ = ctx.setInputRef;
912
- typeof _ref$ === "function" ? use(_ref$, _el$0) : ctx.setInputRef = _el$0;
913
- spread(_el$0, mergeProps(cleanInputProps, cleanFocusProps, {
914
- "onFocus": handleInputFocus,
915
- "onBlur": handleInputBlur,
916
- "onInvalid": handleInputInvalid,
917
- "onChange": handleInputChange,
918
- "onClick": handleInputClick
919
- }), false, false);
920
- runHydrationEvents();
921
- return _el$0;
922
- } }), _el$10, _co$);
923
- insert(_el$9, () => renderProps.renderChildren(), _el$12, _co$2);
1017
+ }
1018
+ ], true);
1019
+ insert(_el$9, createComponent(VisuallyHidden, { get children() {
1020
+ var _el$10 = getNextElement(_tmpl$2);
1021
+ var _ref$2 = ctx.setInputRef;
1022
+ typeof _ref$2 === "function" || Array.isArray(_ref$2) ? ref(() => {
1023
+ return _ref$2;
1024
+ }, _el$10) : ctx.setInputRef = _el$10;
1025
+ spread(_el$10, [
1026
+ cleanInputProps,
1027
+ cleanFocusProps,
1028
+ {
1029
+ get "aria-describedby"() {
1030
+ return ctx.inputDescribedBy();
1031
+ },
1032
+ onFocus: handleInputFocus,
1033
+ onBlur: handleInputBlur,
1034
+ onChange: handleInputChange,
1035
+ onClick: handleInputClick
1036
+ }
1037
+ ], false);
924
1038
  runHydrationEvents();
925
- return _el$9;
926
- })();
1039
+ return _el$10;
1040
+ } }), _el$12, _el$13);
1041
+ insert(_el$9, scope(() => {
1042
+ return renderProps.renderChildren();
1043
+ }), _el$15, _el$16);
1044
+ runHydrationEvents();
1045
+ return _el$9;
927
1046
  }
928
1047
  //#endregion
929
1048
  export { Radio, RadioButton, RadioContext, RadioField, RadioFieldContext, RadioGroup, RadioGroupContext, RadioGroupStateContext };