@proyecto-viviana/solidaria 0.2.8 → 0.3.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 (548) hide show
  1. package/README.md +31 -236
  2. package/dist/actiongroup/createActionGroup.d.ts +5 -5
  3. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  4. package/dist/actiongroup/index.d.ts +1 -1
  5. package/dist/autocomplete/createAutocomplete.d.ts +10 -10
  6. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  7. package/dist/autocomplete/index.d.ts +1 -1
  8. package/dist/autocomplete/index.d.ts.map +1 -1
  9. package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
  10. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  11. package/dist/breadcrumbs/index.d.ts +1 -1
  12. package/dist/button/createButton.d.ts +1 -1
  13. package/dist/button/createButton.d.ts.map +1 -1
  14. package/dist/button/createToggleButton.d.ts +3 -3
  15. package/dist/button/createToggleButtonGroup.d.ts +7 -7
  16. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  17. package/dist/button/index.d.ts +6 -6
  18. package/dist/button/index.d.ts.map +1 -1
  19. package/dist/button/types.d.ts +18 -12
  20. package/dist/button/types.d.ts.map +1 -1
  21. package/dist/calendar/createCalendar.d.ts +15 -5
  22. package/dist/calendar/createCalendar.d.ts.map +1 -1
  23. package/dist/calendar/createCalendarCell.d.ts +6 -2
  24. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  25. package/dist/calendar/createCalendarGrid.d.ts +4 -4
  26. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  27. package/dist/calendar/createRangeCalendar.d.ts +15 -5
  28. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  29. package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
  30. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  31. package/dist/calendar/index.d.ts +5 -5
  32. package/dist/calendar/index.d.ts.map +1 -1
  33. package/dist/calendar/intl/index.d.ts +12 -0
  34. package/dist/calendar/intl/index.d.ts.map +1 -0
  35. package/dist/calendar/utils.d.ts +12 -0
  36. package/dist/calendar/utils.d.ts.map +1 -0
  37. package/dist/checkbox/createCheckbox.d.ts +6 -6
  38. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  39. package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
  40. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  41. package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
  42. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  43. package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
  44. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
  45. package/dist/checkbox/index.d.ts +8 -8
  46. package/dist/checkbox/index.d.ts.map +1 -1
  47. package/dist/collections/index.d.ts +3 -3
  48. package/dist/collections/index.d.ts.map +1 -1
  49. package/dist/color/createColorArea.d.ts +3 -3
  50. package/dist/color/createColorArea.d.ts.map +1 -1
  51. package/dist/color/createColorField.d.ts +4 -4
  52. package/dist/color/createColorField.d.ts.map +1 -1
  53. package/dist/color/createColorSlider.d.ts +4 -4
  54. package/dist/color/createColorSlider.d.ts.map +1 -1
  55. package/dist/color/createColorSwatch.d.ts +2 -2
  56. package/dist/color/createColorSwatch.d.ts.map +1 -1
  57. package/dist/color/createColorWheel.d.ts +3 -3
  58. package/dist/color/createColorWheel.d.ts.map +1 -1
  59. package/dist/color/index.d.ts +6 -6
  60. package/dist/color/types.d.ts +98 -16
  61. package/dist/color/types.d.ts.map +1 -1
  62. package/dist/combobox/createComboBox.d.ts +10 -7
  63. package/dist/combobox/createComboBox.d.ts.map +1 -1
  64. package/dist/combobox/index.d.ts +1 -1
  65. package/dist/combobox/intl/index.d.ts +1 -1
  66. package/dist/datepicker/createDateField.d.ts +18 -6
  67. package/dist/datepicker/createDateField.d.ts.map +1 -1
  68. package/dist/datepicker/createDatePicker.d.ts +51 -5
  69. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  70. package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
  71. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
  72. package/dist/datepicker/createDateRangePicker.d.ts +8 -6
  73. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  74. package/dist/datepicker/createDateSegment.d.ts +10 -2
  75. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  76. package/dist/datepicker/createTimeField.d.ts +11 -5
  77. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  78. package/dist/datepicker/createTimeSegment.d.ts +2 -2
  79. package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
  80. package/dist/datepicker/index.d.ts +7 -6
  81. package/dist/datepicker/index.d.ts.map +1 -1
  82. package/dist/dialog/createDialog.d.ts +5 -5
  83. package/dist/dialog/createDialog.d.ts.map +1 -1
  84. package/dist/dialog/index.d.ts +2 -2
  85. package/dist/dialog/index.d.ts.map +1 -1
  86. package/dist/dialog/types.d.ts +4 -4
  87. package/dist/disclosure/createDisclosure.d.ts +5 -2
  88. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  89. package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
  90. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  91. package/dist/disclosure/index.d.ts +2 -2
  92. package/dist/dnd/createDrag.d.ts +2 -2
  93. package/dist/dnd/createDrag.d.ts.map +1 -1
  94. package/dist/dnd/createDraggableCollection.d.ts +2 -2
  95. package/dist/dnd/createDraggableItem.d.ts +3 -3
  96. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  97. package/dist/dnd/createDrop.d.ts +2 -2
  98. package/dist/dnd/createDrop.d.ts.map +1 -1
  99. package/dist/dnd/createDroppableCollection.d.ts +26 -6
  100. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  101. package/dist/dnd/createDroppableItem.d.ts +3 -3
  102. package/dist/dnd/index.d.ts +12 -12
  103. package/dist/dnd/index.d.ts.map +1 -1
  104. package/dist/dnd/types.d.ts +2 -2
  105. package/dist/dnd/types.d.ts.map +1 -1
  106. package/dist/dnd/utils.d.ts +1 -1
  107. package/dist/dnd/utils.d.ts.map +1 -1
  108. package/dist/focus/FocusScope.d.ts +1 -1
  109. package/dist/focus/FocusScope.d.ts.map +1 -1
  110. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  111. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  112. package/dist/focus/createVirtualFocus.d.ts +4 -4
  113. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  114. package/dist/focus/index.d.ts +4 -4
  115. package/dist/focus/index.d.ts.map +1 -1
  116. package/dist/form/createFormReset.d.ts +1 -1
  117. package/dist/form/createFormValidation.d.ts +3 -3
  118. package/dist/form/createFormValidation.d.ts.map +1 -1
  119. package/dist/form/index.d.ts +2 -2
  120. package/dist/form/index.d.ts.map +1 -1
  121. package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
  122. package/dist/grid/createGrid.d.ts +3 -3
  123. package/dist/grid/createGridCell.d.ts +3 -3
  124. package/dist/grid/createGridRow.d.ts +3 -3
  125. package/dist/grid/index.d.ts +5 -5
  126. package/dist/grid/types.d.ts +8 -8
  127. package/dist/gridlist/createGridList.d.ts +6 -4
  128. package/dist/gridlist/createGridList.d.ts.map +1 -1
  129. package/dist/gridlist/createGridListItem.d.ts +4 -4
  130. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  131. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
  132. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  133. package/dist/gridlist/index.d.ts +4 -4
  134. package/dist/gridlist/types.d.ts +11 -7
  135. package/dist/gridlist/types.d.ts.map +1 -1
  136. package/dist/i18n/createCollator.d.ts.map +1 -1
  137. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  138. package/dist/i18n/createFilter.d.ts.map +1 -1
  139. package/dist/i18n/createNumberFormatter.d.ts +1 -1
  140. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  141. package/dist/i18n/createStringFormatter.d.ts +2 -2
  142. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  143. package/dist/i18n/index.d.ts +8 -8
  144. package/dist/i18n/index.d.ts.map +1 -1
  145. package/dist/i18n/locale.d.ts +2 -2
  146. package/dist/i18n/locale.d.ts.map +1 -1
  147. package/dist/i18n/utils.d.ts.map +1 -1
  148. package/dist/index.d.ts +52 -51
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js +18012 -16820
  151. package/dist/index.js.map +1 -1
  152. package/dist/index.jsx +18242 -0
  153. package/dist/index.jsx.map +1 -0
  154. package/dist/interactions/FocusableProvider.d.ts +2 -2
  155. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  156. package/dist/interactions/PressEvent.d.ts +2 -2
  157. package/dist/interactions/createFocus.d.ts +1 -1
  158. package/dist/interactions/createFocus.d.ts.map +1 -1
  159. package/dist/interactions/createFocusRing.d.ts +1 -1
  160. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  161. package/dist/interactions/createFocusWithin.d.ts +1 -1
  162. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  163. package/dist/interactions/createFocusable.d.ts +3 -3
  164. package/dist/interactions/createFocusable.d.ts.map +1 -1
  165. package/dist/interactions/createHover.d.ts +5 -5
  166. package/dist/interactions/createHover.d.ts.map +1 -1
  167. package/dist/interactions/createInteractionModality.d.ts +3 -3
  168. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  169. package/dist/interactions/createKeyboard.d.ts +1 -1
  170. package/dist/interactions/createLongPress.d.ts +5 -5
  171. package/dist/interactions/createMove.d.ts +5 -5
  172. package/dist/interactions/createMove.d.ts.map +1 -1
  173. package/dist/interactions/createPress.d.ts +4 -4
  174. package/dist/interactions/createPress.d.ts.map +1 -1
  175. package/dist/interactions/index.d.ts +12 -12
  176. package/dist/interactions/index.d.ts.map +1 -1
  177. package/dist/label/createField.d.ts +4 -4
  178. package/dist/label/createField.d.ts.map +1 -1
  179. package/dist/label/createLabel.d.ts +7 -7
  180. package/dist/label/createLabel.d.ts.map +1 -1
  181. package/dist/label/createLabels.d.ts +1 -1
  182. package/dist/label/createLabels.d.ts.map +1 -1
  183. package/dist/label/index.d.ts +5 -5
  184. package/dist/landmark/createLandmark.d.ts +5 -5
  185. package/dist/landmark/createLandmark.d.ts.map +1 -1
  186. package/dist/landmark/index.d.ts +1 -1
  187. package/dist/link/createLink.d.ts +14 -8
  188. package/dist/link/createLink.d.ts.map +1 -1
  189. package/dist/link/index.d.ts +1 -1
  190. package/dist/listbox/createListBox.d.ts +11 -6
  191. package/dist/listbox/createListBox.d.ts.map +1 -1
  192. package/dist/listbox/createOption.d.ts +21 -4
  193. package/dist/listbox/createOption.d.ts.map +1 -1
  194. package/dist/listbox/index.d.ts +2 -2
  195. package/dist/listbox/index.d.ts.map +1 -1
  196. package/dist/live-announcer/announce.d.ts +2 -2
  197. package/dist/live-announcer/announce.d.ts.map +1 -1
  198. package/dist/live-announcer/index.d.ts +1 -1
  199. package/dist/menu/createMenu.d.ts +7 -7
  200. package/dist/menu/createMenu.d.ts.map +1 -1
  201. package/dist/menu/createMenuItem.d.ts +16 -4
  202. package/dist/menu/createMenuItem.d.ts.map +1 -1
  203. package/dist/menu/createMenuTrigger.d.ts +4 -4
  204. package/dist/menu/index.d.ts +3 -3
  205. package/dist/menu/index.d.ts.map +1 -1
  206. package/dist/meter/createMeter.d.ts +6 -6
  207. package/dist/meter/createMeter.d.ts.map +1 -1
  208. package/dist/meter/index.d.ts +1 -1
  209. package/dist/numberfield/createNumberField.d.ts +9 -8
  210. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  211. package/dist/numberfield/index.d.ts +1 -1
  212. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  213. package/dist/overlays/createModal.d.ts +3 -3
  214. package/dist/overlays/createModal.d.ts.map +1 -1
  215. package/dist/overlays/createOverlay.d.ts +1 -1
  216. package/dist/overlays/createOverlay.d.ts.map +1 -1
  217. package/dist/overlays/createOverlayTrigger.d.ts +6 -6
  218. package/dist/overlays/index.d.ts +6 -6
  219. package/dist/overlays/index.d.ts.map +1 -1
  220. package/dist/popover/calculatePosition.d.ts +4 -4
  221. package/dist/popover/calculatePosition.d.ts.map +1 -1
  222. package/dist/popover/createOverlayPosition.d.ts +3 -3
  223. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  224. package/dist/popover/createPopover.d.ts +4 -4
  225. package/dist/popover/createPopover.d.ts.map +1 -1
  226. package/dist/popover/index.d.ts +3 -3
  227. package/dist/progress/createProgressBar.d.ts +7 -5
  228. package/dist/progress/createProgressBar.d.ts.map +1 -1
  229. package/dist/progress/index.d.ts +1 -1
  230. package/dist/radio/createRadio.d.ts +7 -7
  231. package/dist/radio/createRadio.d.ts.map +1 -1
  232. package/dist/radio/createRadioGroup.d.ts +10 -10
  233. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  234. package/dist/radio/createRadioGroupState.d.ts +3 -3
  235. package/dist/radio/createRadioGroupState.d.ts.map +1 -1
  236. package/dist/radio/index.d.ts +3 -3
  237. package/dist/radio/index.d.ts.map +1 -1
  238. package/dist/searchfield/createSearchField.d.ts +7 -7
  239. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  240. package/dist/searchfield/index.d.ts +2 -2
  241. package/dist/select/createHiddenSelect.d.ts +4 -4
  242. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  243. package/dist/select/createSelect.d.ts +14 -6
  244. package/dist/select/createSelect.d.ts.map +1 -1
  245. package/dist/select/index.d.ts +2 -2
  246. package/dist/select/index.d.ts.map +1 -1
  247. package/dist/selection/createTypeSelect.d.ts +2 -2
  248. package/dist/selection/index.d.ts +1 -1
  249. package/dist/separator/createSeparator.d.ts +9 -5
  250. package/dist/separator/createSeparator.d.ts.map +1 -1
  251. package/dist/separator/index.d.ts +1 -1
  252. package/dist/slider/createSlider.d.ts +11 -7
  253. package/dist/slider/createSlider.d.ts.map +1 -1
  254. package/dist/slider/index.d.ts +2 -2
  255. package/dist/ssr/index.d.ts +1 -1
  256. package/dist/ssr/index.d.ts.map +1 -1
  257. package/dist/steplist/createStepList.d.ts +36 -0
  258. package/dist/steplist/createStepList.d.ts.map +1 -0
  259. package/dist/steplist/index.d.ts +2 -0
  260. package/dist/steplist/index.d.ts.map +1 -0
  261. package/dist/switch/createSwitch.d.ts +6 -4
  262. package/dist/switch/createSwitch.d.ts.map +1 -1
  263. package/dist/switch/index.d.ts +1 -1
  264. package/dist/table/createTable.d.ts +3 -3
  265. package/dist/table/createTable.d.ts.map +1 -1
  266. package/dist/table/createTableCell.d.ts +3 -3
  267. package/dist/table/createTableCell.d.ts.map +1 -1
  268. package/dist/table/createTableColumnHeader.d.ts +3 -3
  269. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  270. package/dist/table/createTableColumnResize.d.ts +41 -0
  271. package/dist/table/createTableColumnResize.d.ts.map +1 -0
  272. package/dist/table/createTableHeaderRow.d.ts +3 -3
  273. package/dist/table/createTableRow.d.ts +3 -3
  274. package/dist/table/createTableRow.d.ts.map +1 -1
  275. package/dist/table/createTableRowGroup.d.ts +2 -2
  276. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  277. package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
  278. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  279. package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
  280. package/dist/table/index.d.ts +11 -9
  281. package/dist/table/index.d.ts.map +1 -1
  282. package/dist/table/types.d.ts +15 -7
  283. package/dist/table/types.d.ts.map +1 -1
  284. package/dist/tabs/createTabs.d.ts +28 -25
  285. package/dist/tabs/createTabs.d.ts.map +1 -1
  286. package/dist/tabs/index.d.ts +1 -1
  287. package/dist/tag/createTag.d.ts +2 -2
  288. package/dist/tag/createTag.d.ts.map +1 -1
  289. package/dist/tag/createTagGroup.d.ts +5 -5
  290. package/dist/tag/createTagGroup.d.ts.map +1 -1
  291. package/dist/tag/index.d.ts +2 -2
  292. package/dist/tag/index.d.ts.map +1 -1
  293. package/dist/textfield/createTextField.d.ts +17 -11
  294. package/dist/textfield/createTextField.d.ts.map +1 -1
  295. package/dist/textfield/index.d.ts +1 -1
  296. package/dist/textfield/index.d.ts.map +1 -1
  297. package/dist/toast/createToast.d.ts +2 -2
  298. package/dist/toast/createToast.d.ts.map +1 -1
  299. package/dist/toast/createToastRegion.d.ts +5 -3
  300. package/dist/toast/createToastRegion.d.ts.map +1 -1
  301. package/dist/toast/index.d.ts +2 -2
  302. package/dist/toast/index.d.ts.map +1 -1
  303. package/dist/toggle/createToggle.d.ts +9 -9
  304. package/dist/toggle/createToggle.d.ts.map +1 -1
  305. package/dist/toggle/createToggleState.d.ts +2 -2
  306. package/dist/toggle/createToggleState.d.ts.map +1 -1
  307. package/dist/toggle/index.d.ts +4 -4
  308. package/dist/toggle/index.d.ts.map +1 -1
  309. package/dist/toolbar/createToolbar.d.ts +9 -9
  310. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  311. package/dist/toolbar/index.d.ts +1 -1
  312. package/dist/toolbar/index.d.ts.map +1 -1
  313. package/dist/tooltip/createTooltip.d.ts +5 -5
  314. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  315. package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
  316. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  317. package/dist/tooltip/index.d.ts +2 -2
  318. package/dist/tree/createTree.d.ts +3 -3
  319. package/dist/tree/createTree.d.ts.map +1 -1
  320. package/dist/tree/createTreeItem.d.ts +4 -4
  321. package/dist/tree/createTreeItem.d.ts.map +1 -1
  322. package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
  323. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  324. package/dist/tree/index.d.ts +4 -4
  325. package/dist/tree/types.d.ts +10 -6
  326. package/dist/tree/types.d.ts.map +1 -1
  327. package/dist/utils/createDescription.d.ts +2 -2
  328. package/dist/utils/createDescription.d.ts.map +1 -1
  329. package/dist/utils/dom.d.ts.map +1 -1
  330. package/dist/utils/env.d.ts.map +1 -1
  331. package/dist/utils/focus.d.ts +1 -1
  332. package/dist/utils/focus.d.ts.map +1 -1
  333. package/dist/utils/geometry.d.ts.map +1 -1
  334. package/dist/utils/index.d.ts +12 -12
  335. package/dist/utils/index.d.ts.map +1 -1
  336. package/dist/utils/mergeProps.d.ts.map +1 -1
  337. package/dist/utils/reactivity.d.ts +1 -1
  338. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
  339. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  340. package/dist/visually-hidden/index.d.ts +1 -1
  341. package/package.json +32 -32
  342. package/src/actiongroup/createActionGroup.ts +101 -91
  343. package/src/actiongroup/index.ts +1 -1
  344. package/src/autocomplete/createAutocomplete.ts +117 -134
  345. package/src/autocomplete/index.ts +1 -1
  346. package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
  347. package/src/breadcrumbs/index.ts +1 -1
  348. package/src/button/createButton.ts +102 -73
  349. package/src/button/createToggleButton.ts +10 -10
  350. package/src/button/createToggleButtonGroup.ts +25 -32
  351. package/src/button/index.ts +6 -9
  352. package/src/button/types.ts +18 -12
  353. package/src/calendar/createCalendar.ts +62 -29
  354. package/src/calendar/createCalendarCell.ts +98 -46
  355. package/src/calendar/createCalendarGrid.ts +57 -35
  356. package/src/calendar/createRangeCalendar.ts +66 -31
  357. package/src/calendar/createRangeCalendarCell.ts +92 -31
  358. package/src/calendar/index.ts +5 -9
  359. package/src/calendar/intl/index.ts +210 -0
  360. package/src/calendar/utils.ts +227 -0
  361. package/src/checkbox/createCheckbox.ts +13 -21
  362. package/src/checkbox/createCheckboxGroup.ts +68 -44
  363. package/src/checkbox/createCheckboxGroupItem.ts +16 -27
  364. package/src/checkbox/createCheckboxGroupState.ts +3 -22
  365. package/src/checkbox/index.ts +8 -10
  366. package/src/collections/index.ts +33 -29
  367. package/src/color/createColorArea.ts +232 -154
  368. package/src/color/createColorField.ts +107 -58
  369. package/src/color/createColorSlider.ts +231 -73
  370. package/src/color/createColorSwatch.ts +38 -13
  371. package/src/color/createColorWheel.ts +208 -83
  372. package/src/color/index.ts +6 -6
  373. package/src/color/types.ts +98 -16
  374. package/src/combobox/createComboBox.ts +157 -100
  375. package/src/combobox/index.ts +1 -1
  376. package/src/combobox/intl/index.ts +5 -5
  377. package/src/datepicker/createDateField.ts +192 -39
  378. package/src/datepicker/createDatePicker.ts +260 -67
  379. package/src/datepicker/createDatePickerGroup.ts +149 -0
  380. package/src/datepicker/createDateRangePicker.ts +105 -57
  381. package/src/datepicker/createDateSegment.ts +183 -96
  382. package/src/datepicker/createTimeField.ts +38 -34
  383. package/src/datepicker/createTimeSegment.ts +67 -85
  384. package/src/datepicker/index.ts +13 -14
  385. package/src/dialog/createDialog.ts +45 -38
  386. package/src/dialog/index.ts +2 -2
  387. package/src/dialog/types.ts +4 -4
  388. package/src/disclosure/createDisclosure.ts +138 -33
  389. package/src/disclosure/createDisclosureGroup.ts +8 -21
  390. package/src/disclosure/index.ts +2 -2
  391. package/src/dnd/createDrag.ts +19 -25
  392. package/src/dnd/createDraggableCollection.ts +4 -4
  393. package/src/dnd/createDraggableItem.ts +20 -19
  394. package/src/dnd/createDrop.ts +42 -51
  395. package/src/dnd/createDroppableCollection.ts +290 -173
  396. package/src/dnd/createDroppableItem.ts +34 -34
  397. package/src/dnd/index.ts +23 -12
  398. package/src/dnd/types.ts +4 -7
  399. package/src/dnd/utils.ts +36 -49
  400. package/src/focus/FocusScope.tsx +155 -164
  401. package/src/focus/createAutoFocus.ts +4 -20
  402. package/src/focus/createFocusRestore.ts +15 -28
  403. package/src/focus/createVirtualFocus.ts +20 -36
  404. package/src/focus/index.ts +4 -8
  405. package/src/form/createFormReset.ts +4 -4
  406. package/src/form/createFormValidation.ts +20 -43
  407. package/src/form/index.ts +2 -5
  408. package/src/grid/GridKeyboardDelegate.ts +30 -30
  409. package/src/grid/createGrid.ts +36 -36
  410. package/src/grid/createGridCell.ts +18 -18
  411. package/src/grid/createGridRow.ts +14 -14
  412. package/src/grid/index.ts +5 -5
  413. package/src/grid/types.ts +8 -8
  414. package/src/gridlist/createGridList.ts +34 -29
  415. package/src/gridlist/createGridListItem.ts +68 -23
  416. package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
  417. package/src/gridlist/index.ts +4 -4
  418. package/src/gridlist/types.ts +11 -7
  419. package/src/i18n/createCollator.ts +5 -18
  420. package/src/i18n/createDateFormatter.ts +5 -13
  421. package/src/i18n/createFilter.ts +11 -24
  422. package/src/i18n/createNumberFormatter.ts +4 -6
  423. package/src/i18n/createStringFormatter.ts +19 -15
  424. package/src/i18n/index.ts +8 -11
  425. package/src/i18n/locale.tsx +15 -40
  426. package/src/i18n/utils.ts +35 -39
  427. package/src/index.ts +68 -169
  428. package/src/interactions/FocusableProvider.tsx +3 -7
  429. package/src/interactions/PressEvent.ts +4 -4
  430. package/src/interactions/createFocus.ts +12 -8
  431. package/src/interactions/createFocusRing.ts +21 -19
  432. package/src/interactions/createFocusWithin.ts +20 -13
  433. package/src/interactions/createFocusable.ts +15 -16
  434. package/src/interactions/createHover.ts +70 -55
  435. package/src/interactions/createInteractionModality.ts +75 -82
  436. package/src/interactions/createKeyboard.ts +2 -2
  437. package/src/interactions/createLongPress.ts +23 -23
  438. package/src/interactions/createMove.ts +72 -62
  439. package/src/interactions/createPress.ts +164 -87
  440. package/src/interactions/index.ts +24 -16
  441. package/src/label/createField.ts +18 -19
  442. package/src/label/createLabel.ts +18 -30
  443. package/src/label/createLabels.ts +8 -12
  444. package/src/label/index.ts +5 -5
  445. package/src/landmark/createLandmark.ts +30 -51
  446. package/src/landmark/index.ts +1 -1
  447. package/src/link/createLink.ts +83 -56
  448. package/src/link/index.ts +1 -1
  449. package/src/listbox/createListBox.ts +69 -58
  450. package/src/listbox/createOption.ts +83 -37
  451. package/src/listbox/index.ts +2 -6
  452. package/src/live-announcer/announce.ts +44 -71
  453. package/src/live-announcer/index.ts +1 -1
  454. package/src/menu/createMenu.ts +79 -50
  455. package/src/menu/createMenuItem.ts +79 -27
  456. package/src/menu/createMenuTrigger.ts +15 -15
  457. package/src/menu/index.ts +3 -12
  458. package/src/meter/createMeter.ts +7 -15
  459. package/src/meter/index.ts +1 -1
  460. package/src/numberfield/createNumberField.ts +138 -81
  461. package/src/numberfield/index.ts +1 -1
  462. package/src/overlays/ariaHideOutside.ts +14 -10
  463. package/src/overlays/createInteractOutside.ts +21 -18
  464. package/src/overlays/createModal.tsx +17 -17
  465. package/src/overlays/createOverlay.ts +38 -8
  466. package/src/overlays/createOverlayTrigger.ts +16 -16
  467. package/src/overlays/createPreventScroll.ts +46 -24
  468. package/src/overlays/index.ts +6 -17
  469. package/src/popover/calculatePosition.ts +115 -117
  470. package/src/popover/createOverlayPosition.ts +46 -40
  471. package/src/popover/createPopover.ts +42 -17
  472. package/src/popover/index.ts +3 -3
  473. package/src/progress/createProgressBar.ts +31 -32
  474. package/src/progress/index.ts +1 -1
  475. package/src/radio/createRadio.ts +95 -73
  476. package/src/radio/createRadioGroup.ts +83 -77
  477. package/src/radio/createRadioGroupState.ts +7 -31
  478. package/src/radio/index.ts +3 -8
  479. package/src/searchfield/createSearchField.ts +57 -29
  480. package/src/searchfield/index.ts +2 -2
  481. package/src/select/createHiddenSelect.tsx +57 -44
  482. package/src/select/createSelect.ts +128 -71
  483. package/src/select/index.ts +2 -7
  484. package/src/selection/createTypeSelect.ts +11 -11
  485. package/src/selection/index.ts +1 -1
  486. package/src/separator/createSeparator.ts +20 -25
  487. package/src/separator/index.ts +1 -1
  488. package/src/slider/createSlider.ts +93 -124
  489. package/src/slider/index.ts +2 -2
  490. package/src/ssr/index.tsx +8 -47
  491. package/src/steplist/createStepList.ts +106 -0
  492. package/src/steplist/index.ts +8 -0
  493. package/src/switch/createSwitch.ts +9 -14
  494. package/src/switch/index.ts +1 -1
  495. package/src/table/createTable.ts +152 -85
  496. package/src/table/createTableCell.ts +17 -16
  497. package/src/table/createTableColumnHeader.ts +67 -20
  498. package/src/table/createTableColumnResize.ts +256 -0
  499. package/src/table/createTableHeaderRow.ts +7 -7
  500. package/src/table/createTableRow.ts +149 -29
  501. package/src/table/createTableRowGroup.ts +5 -7
  502. package/src/table/createTableSelectAllCheckbox.ts +12 -11
  503. package/src/table/createTableSelectionCheckbox.ts +8 -8
  504. package/src/table/index.ts +14 -9
  505. package/src/table/types.ts +15 -7
  506. package/src/tabs/createTabs.ts +74 -92
  507. package/src/tabs/index.ts +1 -1
  508. package/src/tag/createTag.ts +52 -50
  509. package/src/tag/createTagGroup.ts +47 -41
  510. package/src/tag/index.ts +2 -6
  511. package/src/textfield/createTextField.ts +67 -35
  512. package/src/textfield/index.ts +1 -5
  513. package/src/toast/createToast.ts +28 -26
  514. package/src/toast/createToastRegion.ts +169 -26
  515. package/src/toast/index.ts +2 -6
  516. package/src/toggle/createToggle.ts +95 -53
  517. package/src/toggle/createToggleState.ts +2 -10
  518. package/src/toggle/index.ts +4 -5
  519. package/src/toolbar/createToolbar.ts +193 -210
  520. package/src/toolbar/index.ts +1 -1
  521. package/src/tooltip/createTooltip.ts +11 -24
  522. package/src/tooltip/createTooltipTrigger.ts +61 -49
  523. package/src/tooltip/index.ts +2 -2
  524. package/src/tree/createTree.ts +35 -37
  525. package/src/tree/createTreeItem.ts +29 -29
  526. package/src/tree/createTreeSelectionCheckbox.ts +11 -8
  527. package/src/tree/index.ts +4 -4
  528. package/src/tree/types.ts +10 -6
  529. package/src/utils/createDescription.ts +6 -23
  530. package/src/utils/dom.ts +61 -54
  531. package/src/utils/env.ts +9 -11
  532. package/src/utils/events.ts +7 -7
  533. package/src/utils/filterDOMProps.ts +49 -49
  534. package/src/utils/focus.ts +60 -68
  535. package/src/utils/geometry.ts +1 -4
  536. package/src/utils/globalListeners.ts +9 -9
  537. package/src/utils/index.ts +12 -22
  538. package/src/utils/mergeProps.ts +42 -15
  539. package/src/utils/platform.ts +2 -2
  540. package/src/utils/reactivity.ts +3 -3
  541. package/src/utils/textSelection.ts +16 -16
  542. package/src/visually-hidden/createVisuallyHidden.ts +16 -28
  543. package/src/visually-hidden/index.ts +1 -1
  544. package/dist/i18n/NumberFormatter.d.ts +0 -43
  545. package/dist/i18n/NumberFormatter.d.ts.map +0 -1
  546. package/dist/index.ssr.js +0 -17082
  547. package/dist/index.ssr.js.map +0 -1
  548. package/src/i18n/NumberFormatter.ts +0 -266
@@ -8,16 +8,12 @@
8
8
  * This is a 1:1 port of @react-aria/checkbox's useCheckbox hook.
9
9
  */
10
10
 
11
- import { JSX, Accessor, createEffect } from 'solid-js';
12
- import { createToggle, type AriaToggleProps } from '../toggle';
13
- import { type ToggleState } from '@proyecto-viviana/solid-stately';
14
- import { createPress } from '../interactions/createPress';
15
- import { mergeProps } from '../utils/mergeProps';
16
- import { type MaybeAccessor, access } from '../utils/reactivity';
17
-
18
- // ============================================
19
- // TYPES
20
- // ============================================
11
+ import { JSX, Accessor, createEffect } from "solid-js";
12
+ import { createToggle, type AriaToggleProps } from "../toggle";
13
+ import { type ToggleState } from "@proyecto-viviana/solid-stately";
14
+ import { createPress } from "../interactions/createPress";
15
+ import { mergeProps } from "../utils/mergeProps";
16
+ import { type MaybeAccessor, access } from "../utils/reactivity";
21
17
 
22
18
  export interface AriaCheckboxProps extends AriaToggleProps {
23
19
  /**
@@ -31,9 +27,9 @@ export interface AriaCheckboxProps extends AriaToggleProps {
31
27
  isRequired?: boolean;
32
28
  /**
33
29
  * The validation behavior for the checkbox.
34
- * @default 'aria'
30
+ * @default 'native'
35
31
  */
36
- validationBehavior?: 'aria' | 'native';
32
+ validationBehavior?: "aria" | "native";
37
33
  }
38
34
 
39
35
  export interface CheckboxAria {
@@ -53,10 +49,6 @@ export interface CheckboxAria {
53
49
  isInvalid: boolean;
54
50
  }
55
51
 
56
- // ============================================
57
- // IMPLEMENTATION
58
- // ============================================
59
-
60
52
  /**
61
53
  * Provides the behavior and accessibility implementation for a checkbox component.
62
54
  * Checkboxes allow users to select multiple items from a list of individual items,
@@ -69,7 +61,7 @@ export interface CheckboxAria {
69
61
  export function createCheckbox(
70
62
  props: MaybeAccessor<AriaCheckboxProps>,
71
63
  state: ToggleState,
72
- inputRef: () => HTMLInputElement | null
64
+ inputRef: () => HTMLInputElement | null,
73
65
  ): CheckboxAria {
74
66
  const getProps = () => access(props);
75
67
 
@@ -114,16 +106,16 @@ export function createCheckbox(
114
106
  // Prevent label from being focused when mouse down on it.
115
107
  // Note, this does not prevent the input from being focused in the `click` event.
116
108
  onMouseDown: (e: MouseEvent) => e.preventDefault(),
117
- } as Record<string, unknown>
109
+ } as Record<string, unknown>,
118
110
  ) as JSX.LabelHTMLAttributes<HTMLLabelElement>,
119
111
  get inputProps() {
120
112
  const p = getProps();
121
- const { isRequired, validationBehavior = 'aria' } = p;
113
+ const { isRequired, validationBehavior = "native" } = p;
122
114
 
123
115
  return mergeProps(toggleResult.inputProps, {
124
116
  checked: isSelected(),
125
- 'aria-required': (isRequired && validationBehavior === 'aria') || undefined,
126
- required: isRequired && validationBehavior === 'native',
117
+ "aria-required": (isRequired && validationBehavior === "aria") || undefined,
118
+ required: isRequired && validationBehavior === "native",
127
119
  }) as JSX.InputHTMLAttributes<HTMLInputElement>;
128
120
  },
129
121
  isSelected,
@@ -7,27 +7,27 @@
7
7
  * This is a 1:1 port of @react-aria/checkbox's useCheckboxGroup hook.
8
8
  */
9
9
 
10
- import { JSX } from 'solid-js';
11
- import { createField } from '../label';
12
- import { createFocusWithin } from '../interactions/createFocusWithin';
13
- import { filterDOMProps } from '../utils/filterDOMProps';
14
- import { mergeProps } from '../utils/mergeProps';
15
- import { type MaybeAccessor, access } from '../utils/reactivity';
16
- import { type CheckboxGroupState, type CheckboxGroupProps, type ValidityState } from '@proyecto-viviana/solid-stately';
17
-
18
- // ============================================
19
- // TYPES
20
- // ============================================
10
+ import { JSX, createEffect } from "solid-js";
11
+ import { createField } from "../label";
12
+ import { createFocusWithin } from "../interactions/createFocusWithin";
13
+ import { filterDOMProps } from "../utils/filterDOMProps";
14
+ import { mergeProps } from "../utils/mergeProps";
15
+ import { type MaybeAccessor, access } from "../utils/reactivity";
16
+ import {
17
+ type CheckboxGroupState,
18
+ type CheckboxGroupProps,
19
+ type ValidityState,
20
+ } from "@proyecto-viviana/solid-stately";
21
21
 
22
22
  export interface AriaCheckboxGroupProps extends CheckboxGroupProps {
23
23
  /** Defines a string value that labels the current element. */
24
- 'aria-label'?: string;
24
+ "aria-label"?: string;
25
25
  /** Identifies the element (or elements) that labels the current element. */
26
- 'aria-labelledby'?: string;
26
+ "aria-labelledby"?: string;
27
27
  /** Identifies the element (or elements) that describes the object. */
28
- 'aria-describedby'?: string;
28
+ "aria-describedby"?: string;
29
29
  /** Identifies the element (or elements) that provide a detailed, extended description for the object. */
30
- 'aria-details'?: string;
30
+ "aria-details"?: string;
31
31
  /** A description for the field. Provides a hint such as specific requirements for what to choose. */
32
32
  description?: JSX.Element;
33
33
  /** An error message for the field. */
@@ -59,14 +59,10 @@ export const checkboxGroupData = new WeakMap<
59
59
  form?: string;
60
60
  descriptionId?: string;
61
61
  errorMessageId?: string;
62
- validationBehavior: 'aria' | 'native';
62
+ validationBehavior: "aria" | "native";
63
63
  }
64
64
  >();
65
65
 
66
- // ============================================
67
- // IMPLEMENTATION
68
- // ============================================
69
-
70
66
  /**
71
67
  * Provides the behavior and accessibility implementation for a checkbox group component.
72
68
  * Checkbox groups allow users to select multiple items from a list of options.
@@ -76,7 +72,7 @@ export const checkboxGroupData = new WeakMap<
76
72
  */
77
73
  export function createCheckboxGroup(
78
74
  props: MaybeAccessor<AriaCheckboxGroupProps>,
79
- state: CheckboxGroupState
75
+ state: CheckboxGroupState,
80
76
  ): CheckboxGroupAria {
81
77
  const getProps = () => access(props);
82
78
  const displayValidation = () => state.displayValidation();
@@ -91,43 +87,71 @@ export function createCheckboxGroup(
91
87
 
92
88
  // Use field for label association
93
89
  const { labelProps, fieldProps, descriptionProps, errorMessageProps } = createField({
94
- get label() { return getProps().label; },
95
- get 'aria-label'() { return getProps()['aria-label']; },
96
- get 'aria-labelledby'() { return getProps()['aria-labelledby']; },
97
- get 'aria-describedby'() { return getProps()['aria-describedby']; },
98
- get 'aria-details'() { return getProps()['aria-details']; },
99
- get description() { return getProps().description; },
100
- get errorMessage() { return getProps().errorMessage ?? fallbackErrorMessage(); },
101
- get isInvalid() { return isInvalid(); },
90
+ get label() {
91
+ return getProps().label;
92
+ },
93
+ get "aria-label"() {
94
+ return getProps()["aria-label"];
95
+ },
96
+ get "aria-labelledby"() {
97
+ return getProps()["aria-labelledby"];
98
+ },
99
+ get "aria-describedby"() {
100
+ return getProps()["aria-describedby"];
101
+ },
102
+ get "aria-details"() {
103
+ return getProps()["aria-details"];
104
+ },
105
+ get description() {
106
+ return getProps().description;
107
+ },
108
+ get errorMessage() {
109
+ return getProps().errorMessage ?? fallbackErrorMessage();
110
+ },
111
+ get isInvalid() {
112
+ return isInvalid();
113
+ },
102
114
  // Checkbox group is not an HTML input element so it
103
115
  // shouldn't be labeled by a <label> element.
104
- labelElementType: 'span',
116
+ labelElementType: "span",
105
117
  });
106
118
 
107
- // Store data for checkbox group items
108
- checkboxGroupData.set(state, {
109
- name: getProps().name,
110
- form: getProps().form,
111
- descriptionId: descriptionProps.id,
112
- errorMessageId: errorMessageProps.id,
113
- validationBehavior: getProps().validationBehavior ?? 'aria',
114
- });
119
+ const updateCheckboxGroupData = () => {
120
+ checkboxGroupData.set(state, {
121
+ name: getProps().name,
122
+ form: getProps().form,
123
+ descriptionId: descriptionProps.id,
124
+ errorMessageId: errorMessageProps.id,
125
+ validationBehavior: getProps().validationBehavior ?? "native",
126
+ });
127
+ };
128
+
129
+ // Store group metadata synchronously for first-render children, then keep it reactive.
130
+ updateCheckboxGroupData();
131
+ createEffect(updateCheckboxGroupData);
115
132
 
116
133
  // Filter DOM props
117
- const domProps = () => filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
134
+ const domProps = () =>
135
+ filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
118
136
 
119
137
  // Handle focus within
120
138
  const { focusWithinProps } = createFocusWithin({
121
- get onBlurWithin() { return getProps().onBlur; },
122
- get onFocusWithin() { return getProps().onFocus; },
123
- get onFocusWithinChange() { return getProps().onFocusChange; },
139
+ get onBlurWithin() {
140
+ return getProps().onBlur;
141
+ },
142
+ get onFocusWithin() {
143
+ return getProps().onFocus;
144
+ },
145
+ get onFocusWithinChange() {
146
+ return getProps().onFocusChange;
147
+ },
124
148
  });
125
149
 
126
150
  return {
127
151
  get groupProps() {
128
152
  return mergeProps(domProps(), {
129
- role: 'group',
130
- 'aria-disabled': state.isDisabled || undefined,
153
+ role: "group",
154
+ "aria-disabled": state.isDisabled || undefined,
131
155
  ...fieldProps,
132
156
  ...focusWithinProps,
133
157
  }) as JSX.HTMLAttributes<HTMLElement>;
@@ -7,25 +7,20 @@
7
7
  * This is a 1:1 port of @react-aria/checkbox's useCheckboxGroupItem hook.
8
8
  */
9
9
 
10
- import { JSX } from 'solid-js';
11
- import { createCheckbox, type AriaCheckboxProps, type CheckboxAria } from './createCheckbox';
12
- import { type ToggleState, type CheckboxGroupState } from '@proyecto-viviana/solid-stately';
13
- import { checkboxGroupData } from './createCheckboxGroup';
14
- import { type MaybeAccessor, access } from '../utils/reactivity';
15
-
16
- // ============================================
17
- // TYPES
18
- // ============================================
19
-
20
- export interface AriaCheckboxGroupItemProps extends Omit<AriaCheckboxProps, 'isSelected' | 'defaultSelected'> {
10
+ import { JSX } from "solid-js";
11
+ import { createCheckbox, type AriaCheckboxProps, type CheckboxAria } from "./createCheckbox";
12
+ import { type ToggleState, type CheckboxGroupState } from "@proyecto-viviana/solid-stately";
13
+ import { checkboxGroupData } from "./createCheckboxGroup";
14
+ import { type MaybeAccessor, access } from "../utils/reactivity";
15
+
16
+ export interface AriaCheckboxGroupItemProps extends Omit<
17
+ AriaCheckboxProps,
18
+ "isSelected" | "defaultSelected"
19
+ > {
21
20
  /** The value of the checkbox. */
22
21
  value: string;
23
22
  }
24
23
 
25
- // ============================================
26
- // IMPLEMENTATION
27
- // ============================================
28
-
29
24
  /**
30
25
  * Provides the behavior and accessibility implementation for a checkbox component
31
26
  * contained within a checkbox group.
@@ -37,7 +32,7 @@ export interface AriaCheckboxGroupItemProps extends Omit<AriaCheckboxProps, 'isS
37
32
  export function createCheckboxGroupItem(
38
33
  props: MaybeAccessor<AriaCheckboxGroupItemProps>,
39
34
  state: CheckboxGroupState,
40
- inputRef: () => HTMLInputElement | null
35
+ inputRef: () => HTMLInputElement | null,
41
36
  ): CheckboxAria {
42
37
  const getProps = () => access(props);
43
38
 
@@ -59,10 +54,8 @@ export function createCheckboxGroupItem(
59
54
  },
60
55
  };
61
56
 
62
- // Get group data
63
57
  const getGroupData = () => checkboxGroupData.get(state);
64
58
 
65
- // Build checkbox props
66
59
  const checkboxProps = (): AriaCheckboxProps => {
67
60
  const p = getProps();
68
61
  const groupData = getGroupData();
@@ -71,17 +64,16 @@ export function createCheckboxGroupItem(
71
64
  ...p,
72
65
  isReadOnly: p.isReadOnly ?? state.isReadOnly,
73
66
  isDisabled: p.isDisabled ?? state.isDisabled,
67
+ isInvalid: p.isInvalid ?? state.isInvalid,
74
68
  name: p.name ?? groupData?.name,
75
69
  form: p.form ?? groupData?.form,
76
70
  isRequired: p.isRequired ?? state.isRequired(),
77
- validationBehavior: p.validationBehavior ?? groupData?.validationBehavior ?? 'aria',
71
+ validationBehavior: p.validationBehavior ?? groupData?.validationBehavior ?? "native",
78
72
  };
79
73
  };
80
74
 
81
- // Use the checkbox hook
82
75
  const result = createCheckbox(checkboxProps, toggleState, inputRef);
83
76
 
84
- // Add group-level aria-describedby
85
77
  return {
86
78
  ...result,
87
79
  get inputProps() {
@@ -90,27 +82,24 @@ export function createCheckboxGroupItem(
90
82
 
91
83
  const describedByIds: string[] = [];
92
84
 
93
- // Add props aria-describedby
94
- const propsDescribedBy = getProps()['aria-describedby'];
85
+ const propsDescribedBy = getProps()["aria-describedby"];
95
86
  if (propsDescribedBy) {
96
87
  describedByIds.push(propsDescribedBy);
97
88
  }
98
89
 
99
- // Add error message ID if group is invalid
100
90
  if (state.isInvalid && groupData?.errorMessageId) {
101
91
  describedByIds.push(groupData.errorMessageId);
102
92
  }
103
93
 
104
- // Add description ID
105
94
  if (groupData?.descriptionId) {
106
95
  describedByIds.push(groupData.descriptionId);
107
96
  }
108
97
 
109
- const ariaDescribedBy = describedByIds.length > 0 ? describedByIds.join(' ') : undefined;
98
+ const ariaDescribedBy = describedByIds.length > 0 ? describedByIds.join(" ") : undefined;
110
99
 
111
100
  return {
112
101
  ...baseInputProps,
113
- 'aria-describedby': ariaDescribedBy,
102
+ "aria-describedby": ariaDescribedBy,
114
103
  } as JSX.InputHTMLAttributes<HTMLInputElement>;
115
104
  },
116
105
  };
@@ -7,12 +7,8 @@
7
7
  * This is a 1:1 port of @react-stately/checkbox's useCheckboxGroupState.
8
8
  */
9
9
 
10
- import { createSignal, Accessor } from 'solid-js';
11
- import { type MaybeAccessor, access } from '../utils/reactivity';
12
-
13
- // ============================================
14
- // TYPES
15
- // ============================================
10
+ import { createSignal, Accessor } from "solid-js";
11
+ import { type MaybeAccessor, access } from "../utils/reactivity";
16
12
 
17
13
  export interface CheckboxGroupProps {
18
14
  /** The current selected values (controlled). */
@@ -71,47 +67,36 @@ export interface CheckboxGroupState {
71
67
  toggleValue(value: string): void;
72
68
  }
73
69
 
74
- // ============================================
75
- // IMPLEMENTATION
76
- // ============================================
77
-
78
70
  /**
79
71
  * Provides state management for a checkbox group component.
80
72
  * Provides a name for the group, and manages selection and focus state.
81
73
  */
82
74
  export function createCheckboxGroupState(
83
- props: MaybeAccessor<CheckboxGroupProps> = {}
75
+ props: MaybeAccessor<CheckboxGroupProps> = {},
84
76
  ): CheckboxGroupState {
85
77
  const getProps = () => access(props);
86
78
 
87
- // Get initial values
88
79
  const initialProps = getProps();
89
80
  const initialValue = initialProps.value ?? initialProps.defaultValue ?? [];
90
81
 
91
- // Create internal signal for uncontrolled mode
92
82
  const [internalValue, setInternalValue] = createSignal<readonly string[]>(initialValue);
93
83
 
94
- // Determine if controlled
95
84
  const isControlled = () => getProps().value !== undefined;
96
85
 
97
- // Get current value
98
86
  const value: Accessor<readonly string[]> = () => {
99
87
  const p = getProps();
100
88
  return isControlled() ? (p.value ?? []) : internalValue();
101
89
  };
102
90
 
103
- // Check if required (true if isRequired and no items selected)
104
91
  const isRequired: Accessor<boolean> = () => {
105
92
  const p = getProps();
106
93
  return !!p.isRequired && value().length === 0;
107
94
  };
108
95
 
109
- // Check if invalid
110
96
  const isInvalid = () => {
111
97
  return getProps().isInvalid ?? false;
112
98
  };
113
99
 
114
- // Set value
115
100
  function setValue(newValue: string[]): void {
116
101
  const p = getProps();
117
102
  if (p.isReadOnly || p.isDisabled) {
@@ -125,12 +110,10 @@ export function createCheckboxGroupState(
125
110
  p.onChange?.(newValue);
126
111
  }
127
112
 
128
- // Check if value is selected
129
113
  function isSelected(checkValue: string): boolean {
130
114
  return value().includes(checkValue);
131
115
  }
132
116
 
133
- // Add value
134
117
  function addValue(addVal: string): void {
135
118
  const p = getProps();
136
119
  if (p.isReadOnly || p.isDisabled) {
@@ -143,7 +126,6 @@ export function createCheckboxGroupState(
143
126
  }
144
127
  }
145
128
 
146
- // Remove value
147
129
  function removeValue(removeVal: string): void {
148
130
  const p = getProps();
149
131
  if (p.isReadOnly || p.isDisabled) {
@@ -156,7 +138,6 @@ export function createCheckboxGroupState(
156
138
  }
157
139
  }
158
140
 
159
- // Toggle value
160
141
  function toggleValue(toggleVal: string): void {
161
142
  const p = getProps();
162
143
  if (p.isReadOnly || p.isDisabled) {
@@ -1,13 +1,11 @@
1
- export { createCheckbox } from './createCheckbox';
2
- export type { AriaCheckboxProps, CheckboxAria } from './createCheckbox';
1
+ export { createCheckbox } from "./createCheckbox";
2
+ export type { AriaCheckboxProps, CheckboxAria } from "./createCheckbox";
3
3
 
4
- // Re-export state from solid-stately
5
- export { createCheckboxGroupState } from '@proyecto-viviana/solid-stately';
6
- export type { CheckboxGroupProps, CheckboxGroupState } from '@proyecto-viviana/solid-stately';
4
+ export { createCheckboxGroupState } from "@proyecto-viviana/solid-stately";
5
+ export type { CheckboxGroupProps, CheckboxGroupState } from "@proyecto-viviana/solid-stately";
7
6
 
8
- // ARIA hooks (solidaria-specific)
9
- export { createCheckboxGroup, checkboxGroupData } from './createCheckboxGroup';
10
- export type { AriaCheckboxGroupProps, CheckboxGroupAria } from './createCheckboxGroup';
7
+ export { createCheckboxGroup, checkboxGroupData } from "./createCheckboxGroup";
8
+ export type { AriaCheckboxGroupProps, CheckboxGroupAria } from "./createCheckboxGroup";
11
9
 
12
- export { createCheckboxGroupItem } from './createCheckboxGroupItem';
13
- export type { AriaCheckboxGroupItemProps } from './createCheckboxGroupItem';
10
+ export { createCheckboxGroupItem } from "./createCheckboxGroupItem";
11
+ export type { AriaCheckboxGroupItemProps } from "./createCheckboxGroupItem";
@@ -1,11 +1,11 @@
1
- import { createContext, createMemo, useContext, type Accessor } from 'solid-js';
2
- import { access, type MaybeAccessor } from '../utils';
1
+ import { createContext, createMemo, useContext, type Accessor } from "solid-js";
2
+ import { access, type MaybeAccessor } from "../utils";
3
3
  import {
4
4
  ListCollection,
5
5
  type Collection as StatelyCollection,
6
6
  type CollectionNode as StatelyCollectionNode,
7
7
  type Key,
8
- } from '@proyecto-viviana/solid-stately';
8
+ } from "@proyecto-viviana/solid-stately";
9
9
 
10
10
  export interface CachedChildrenOptions<T> {
11
11
  items?: Iterable<T>;
@@ -26,15 +26,15 @@ export interface CollectionCompatNode<TProps = unknown, TValue = unknown> {
26
26
  props: TProps;
27
27
  }
28
28
 
29
- const COLLECTION_NODE_PROP = '__collectionNode';
29
+ const COLLECTION_NODE_PROP = "__collectionNode";
30
30
 
31
31
  function applyCollectionMetadata<T>(
32
32
  rendered: unknown,
33
33
  item: T,
34
34
  key: Key,
35
- addIdAndValue: boolean
35
+ addIdAndValue: boolean,
36
36
  ): unknown {
37
- if (typeof rendered !== 'object' || rendered === null) return rendered;
37
+ if (typeof rendered !== "object" || rendered === null) return rendered;
38
38
  const next = {
39
39
  ...(rendered as Record<string, unknown>),
40
40
  key,
@@ -56,7 +56,7 @@ function applyCollectionMetadata<T>(
56
56
  * For Solid, this is a lightweight mapper over item arrays.
57
57
  */
58
58
  export function CollectionBuilder<T>(props: CollectionBuilderProps<T>): unknown {
59
- if (typeof props.children === 'function' && props.items) {
59
+ if (typeof props.children === "function" && props.items) {
60
60
  const children = props.children as (item: T) => unknown;
61
61
  const mapped: unknown[] = [];
62
62
  let index = 0;
@@ -64,16 +64,11 @@ export function CollectionBuilder<T>(props: CollectionBuilderProps<T>): unknown
64
64
  for (const item of props.items) {
65
65
  const baseKey = getResolvedItemKey(item, index, props.getKey);
66
66
  if (baseKey == null) {
67
- throw new Error('Could not determine key for item');
67
+ throw new Error("Could not determine key for item");
68
68
  }
69
69
  const key = props.idScope != null ? `${String(props.idScope)}:${String(baseKey)}` : baseKey;
70
70
  const rendered = children(item);
71
- const withMeta = applyCollectionMetadata(
72
- rendered,
73
- item,
74
- key,
75
- props.addIdAndValue ?? false
76
- );
71
+ const withMeta = applyCollectionMetadata(rendered, item, key, props.addIdAndValue ?? false);
77
72
  mapped.push(withMeta);
78
73
  index += 1;
79
74
  }
@@ -94,12 +89,14 @@ export function Collection<T>(props: CollectionProps<T>): unknown {
94
89
  * Identity helper retained for API compatibility.
95
90
  */
96
91
  export function createLeafComponent<TProps>(
97
- component: (props: TProps, node?: CollectionCompatNode<TProps, unknown>) => unknown
92
+ component: (props: TProps, node?: CollectionCompatNode<TProps, unknown>) => unknown,
98
93
  ): (props: TProps) => unknown {
99
94
  return (props: TProps) => {
100
- const node = (props as Record<string, unknown>)[COLLECTION_NODE_PROP] as CollectionCompatNode<TProps, unknown> | undefined;
95
+ const node = (props as Record<string, unknown>)[COLLECTION_NODE_PROP] as
96
+ | CollectionCompatNode<TProps, unknown>
97
+ | undefined;
101
98
  if (component.length >= 2 && !node) {
102
- throw new Error(`${component.name || 'Component'} cannot be rendered outside a collection.`);
99
+ throw new Error(`${component.name || "Component"} cannot be rendered outside a collection.`);
103
100
  }
104
101
  return component(props, node);
105
102
  };
@@ -109,12 +106,14 @@ export function createLeafComponent<TProps>(
109
106
  * Identity helper retained for API compatibility.
110
107
  */
111
108
  export function createBranchComponent<TProps>(
112
- component: (props: TProps, node?: CollectionCompatNode<TProps, unknown>) => unknown
109
+ component: (props: TProps, node?: CollectionCompatNode<TProps, unknown>) => unknown,
113
110
  ): (props: TProps) => unknown {
114
111
  return (props: TProps) => {
115
- const node = (props as Record<string, unknown>)[COLLECTION_NODE_PROP] as CollectionCompatNode<TProps, unknown> | undefined;
112
+ const node = (props as Record<string, unknown>)[COLLECTION_NODE_PROP] as
113
+ | CollectionCompatNode<TProps, unknown>
114
+ | undefined;
116
115
  if (component.length >= 2 && !node) {
117
- throw new Error(`${component.name || 'Component'} cannot be rendered outside a collection.`);
116
+ throw new Error(`${component.name || "Component"} cannot be rendered outside a collection.`);
118
117
  }
119
118
  return component(props, node);
120
119
  };
@@ -125,7 +124,9 @@ const HiddenContext = createContext<Accessor<boolean>>(() => false);
125
124
  /**
126
125
  * Wraps a component and suppresses rendering when the hidden context is true.
127
126
  */
128
- export function createHideableComponent<TProps>(component: (props: TProps) => unknown): (props: TProps) => unknown {
127
+ export function createHideableComponent<TProps>(
128
+ component: (props: TProps) => unknown,
129
+ ): (props: TProps) => unknown {
129
130
  return (props: TProps) => {
130
131
  const isHidden = useIsHidden();
131
132
  if (isHidden()) return null;
@@ -140,7 +141,9 @@ export function useIsHidden(): Accessor<boolean> {
140
141
  /**
141
142
  * Memoized item renderer for dynamic child mapping.
142
143
  */
143
- export function useCachedChildren<T>(options: MaybeAccessor<CachedChildrenOptions<T>>): Accessor<unknown[]> {
144
+ export function useCachedChildren<T>(
145
+ options: MaybeAccessor<CachedChildrenOptions<T>>,
146
+ ): Accessor<unknown[]> {
144
147
  let objectCache = new WeakMap<object, unknown>();
145
148
  const primitiveCache = new Map<Key, unknown>();
146
149
  let lastDependencies: ReadonlyArray<unknown> | undefined;
@@ -178,7 +181,7 @@ export function useCachedChildren<T>(options: MaybeAccessor<CachedChildrenOption
178
181
  lastGetKey = resolvedGetKey;
179
182
  }
180
183
 
181
- if (typeof resolved.children === 'function' && resolved.items) {
184
+ if (typeof resolved.children === "function" && resolved.items) {
182
185
  const children = resolved.children as (item: T) => unknown;
183
186
  const rendered: unknown[] = [];
184
187
  let index = 0;
@@ -186,12 +189,13 @@ export function useCachedChildren<T>(options: MaybeAccessor<CachedChildrenOption
186
189
  for (const item of resolved.items) {
187
190
  const baseKey = getItemKey(item, index, resolvedGetKey);
188
191
  if (baseKey == null) {
189
- throw new Error('Could not determine key for item');
192
+ throw new Error("Could not determine key for item");
190
193
  }
191
- const key = resolvedIdScope != null ? `${String(resolvedIdScope)}:${String(baseKey)}` : baseKey;
194
+ const key =
195
+ resolvedIdScope != null ? `${String(resolvedIdScope)}:${String(baseKey)}` : baseKey;
192
196
  let child: unknown;
193
197
 
194
- if (typeof item === 'object' && item !== null) {
198
+ if (typeof item === "object" && item !== null) {
195
199
  child = objectCache.get(item as object);
196
200
  if (child === undefined) {
197
201
  child = applyCollectionMetadata(children(item), item, key, resolvedAddIdAndValue);
@@ -232,11 +236,11 @@ export type CollectionType<T = unknown> = StatelyCollection<T>;
232
236
 
233
237
  function getResolvedItemKey<T>(item: T, index: number, getKey?: (item: T) => Key): Key | undefined {
234
238
  if (getKey) return getKey(item);
235
- if (typeof item === 'object' && item !== null) {
239
+ if (typeof item === "object" && item !== null) {
236
240
  const keyed = item as Record<string, unknown>;
237
241
  const keyValue = keyed.key ?? keyed.id;
238
- if (typeof keyValue === 'string' || typeof keyValue === 'number') return keyValue;
242
+ if (typeof keyValue === "string" || typeof keyValue === "number") return keyValue;
239
243
  }
240
- if (typeof item === 'string' || typeof item === 'number') return index;
244
+ if (typeof item === "string" || typeof item === "number") return index;
241
245
  return undefined;
242
246
  }