@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
@@ -3,13 +3,13 @@
3
3
  * Based on @react-aria/grid/useGrid.
4
4
  */
5
5
 
6
- import { createMemo, createSignal, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import { createId } from '@proyecto-viviana/solid-stately';
9
- import type { GridState, GridCollection, Key } from '@proyecto-viviana/solid-stately';
10
- import type { GridProps, GridAria, KeyboardDelegate } from './types';
11
- import { GridKeyboardDelegate } from './GridKeyboardDelegate';
12
- import { useLocale } from '../i18n';
6
+ import { createMemo, createSignal, type Accessor } from "solid-js";
7
+ import type { JSX } from "solid-js";
8
+ import { createId } from "@proyecto-viviana/solid-stately";
9
+ import type { GridState, GridCollection, Key } from "@proyecto-viviana/solid-stately";
10
+ import type { GridProps, GridAria, KeyboardDelegate } from "./types";
11
+ import { GridKeyboardDelegate } from "./GridKeyboardDelegate";
12
+ import { useLocale } from "../i18n";
13
13
 
14
14
  // Global map to store grid metadata for child components
15
15
  const gridMap = new WeakMap<
@@ -35,7 +35,7 @@ export function getGridData<T>(state: GridState<T, GridCollection<T>>) {
35
35
  export function createGrid<T extends object>(
36
36
  props: Accessor<GridProps>,
37
37
  state: Accessor<GridState<T, GridCollection<T>>>,
38
- ref: Accessor<HTMLElement | null>
38
+ ref: Accessor<HTMLElement | null>,
39
39
  ): GridAria {
40
40
  const id = createId(props().id);
41
41
  const locale = useLocale();
@@ -56,7 +56,7 @@ export function createGrid<T extends object>(
56
56
  collection: s.collection,
57
57
  disabledKeys: s.disabledKeys,
58
58
  ref,
59
- focusMode: p.focusMode ?? 'row',
59
+ focusMode: p.focusMode ?? "row",
60
60
  direction: locale().direction,
61
61
  });
62
62
  });
@@ -93,7 +93,7 @@ export function createGrid<T extends object>(
93
93
  const focusedKey = s.focusedKey;
94
94
  if (focusedKey == null) {
95
95
  // If nothing is focused, focus the first item
96
- if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Home' || e.key === 'End') {
96
+ if (e.key === "ArrowDown" || e.key === "ArrowUp" || e.key === "Home" || e.key === "End") {
97
97
  const firstKey = delegate.getFirstKey?.();
98
98
  if (firstKey != null) {
99
99
  e.preventDefault();
@@ -106,19 +106,19 @@ export function createGrid<T extends object>(
106
106
  let nextKey: Key | null = null;
107
107
 
108
108
  switch (e.key) {
109
- case 'ArrowDown':
109
+ case "ArrowDown":
110
110
  nextKey = delegate.getKeyBelow?.(focusedKey) ?? null;
111
111
  break;
112
- case 'ArrowUp':
112
+ case "ArrowUp":
113
113
  nextKey = delegate.getKeyAbove?.(focusedKey) ?? null;
114
114
  break;
115
- case 'ArrowLeft':
115
+ case "ArrowLeft":
116
116
  nextKey = delegate.getKeyLeftOf?.(focusedKey) ?? null;
117
117
  break;
118
- case 'ArrowRight':
118
+ case "ArrowRight":
119
119
  nextKey = delegate.getKeyRightOf?.(focusedKey) ?? null;
120
120
  break;
121
- case 'Home':
121
+ case "Home":
122
122
  if (e.ctrlKey) {
123
123
  nextKey = delegate.getFirstKey?.() ?? null;
124
124
  } else {
@@ -126,7 +126,7 @@ export function createGrid<T extends object>(
126
126
  nextKey = delegate.getFirstKey?.(focusedKey) ?? null;
127
127
  }
128
128
  break;
129
- case 'End':
129
+ case "End":
130
130
  if (e.ctrlKey) {
131
131
  nextKey = delegate.getLastKey?.() ?? null;
132
132
  } else {
@@ -134,31 +134,31 @@ export function createGrid<T extends object>(
134
134
  nextKey = delegate.getLastKey?.(focusedKey) ?? null;
135
135
  }
136
136
  break;
137
- case 'PageDown':
137
+ case "PageDown":
138
138
  nextKey = delegate.getKeyPageBelow?.(focusedKey) ?? null;
139
139
  break;
140
- case 'PageUp':
140
+ case "PageUp":
141
141
  nextKey = delegate.getKeyPageAbove?.(focusedKey) ?? null;
142
142
  break;
143
- case 'Escape':
144
- if (p.escapeKeyBehavior !== 'none') {
143
+ case "Escape":
144
+ if (p.escapeKeyBehavior !== "none") {
145
145
  s.clearSelection();
146
146
  }
147
147
  return;
148
- case 'a':
148
+ case "a":
149
149
  if (e.ctrlKey || e.metaKey) {
150
150
  e.preventDefault();
151
- if (s.selectionMode === 'multiple') {
151
+ if (s.selectionMode === "multiple") {
152
152
  s.selectAll();
153
153
  }
154
154
  }
155
155
  return;
156
- case ' ':
157
- case 'Enter':
156
+ case " ":
157
+ case "Enter":
158
158
  e.preventDefault();
159
159
  // Toggle selection or trigger action
160
- if (s.selectionMode !== 'none') {
161
- if (e.shiftKey && s.selectionMode === 'multiple') {
160
+ if (s.selectionMode !== "none") {
161
+ if (e.shiftKey && s.selectionMode === "multiple") {
162
162
  s.extendSelection(focusedKey);
163
163
  } else {
164
164
  s.toggleSelection(focusedKey);
@@ -182,7 +182,7 @@ export function createGrid<T extends object>(
182
182
  s.setFocusedKey(nextKey);
183
183
 
184
184
  // Handle shift+arrow for range selection
185
- if (e.shiftKey && s.selectionMode === 'multiple') {
185
+ if (e.shiftKey && s.selectionMode === "multiple") {
186
186
  s.extendSelection(nextKey);
187
187
  }
188
188
  }
@@ -225,8 +225,8 @@ export function createGrid<T extends object>(
225
225
  // Warn if no label is provided
226
226
  createMemo(() => {
227
227
  const p = props();
228
- if (!p['aria-label'] && !p['aria-labelledby']) {
229
- console.warn('Grid: An aria-label or aria-labelledby prop is required for accessibility.');
228
+ if (!p["aria-label"] && !p["aria-labelledby"]) {
229
+ console.warn("Grid: An aria-label or aria-labelledby prop is required for accessibility.");
230
230
  }
231
231
  });
232
232
 
@@ -235,12 +235,12 @@ export function createGrid<T extends object>(
235
235
  const s = state();
236
236
 
237
237
  const baseProps: Record<string, unknown> = {
238
- role: 'grid',
238
+ role: "grid",
239
239
  id,
240
- 'aria-label': p['aria-label'],
241
- 'aria-labelledby': p['aria-labelledby'],
242
- 'aria-describedby': p['aria-describedby'],
243
- 'aria-multiselectable': s.selectionMode === 'multiple' ? 'true' : undefined,
240
+ "aria-label": p["aria-label"],
241
+ "aria-labelledby": p["aria-labelledby"],
242
+ "aria-describedby": p["aria-describedby"],
243
+ "aria-multiselectable": s.selectionMode === "multiple" ? "true" : undefined,
244
244
  tabIndex: s.collection.size === 0 ? 0 : -1,
245
245
  onKeyDown,
246
246
  onFocus,
@@ -248,8 +248,8 @@ export function createGrid<T extends object>(
248
248
  };
249
249
 
250
250
  if (p.isVirtualized) {
251
- baseProps['aria-rowcount'] = s.collection.rowCount;
252
- baseProps['aria-colcount'] = s.collection.columnCount;
251
+ baseProps["aria-rowcount"] = s.collection.rowCount;
252
+ baseProps["aria-colcount"] = s.collection.columnCount;
253
253
  }
254
254
 
255
255
  return baseProps as JSX.HTMLAttributes<HTMLElement>;
@@ -3,11 +3,11 @@
3
3
  * Based on @react-aria/grid/useGridCell.
4
4
  */
5
5
 
6
- import { createMemo, createSignal, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import type { GridState, GridCollection } from '@proyecto-viviana/solid-stately';
9
- import type { GridCellProps, GridCellAria } from './types';
10
- import { getGridData } from './createGrid';
6
+ import { createMemo, createSignal, type Accessor } from "solid-js";
7
+ import type { JSX } from "solid-js";
8
+ import type { GridState, GridCollection } from "@proyecto-viviana/solid-stately";
9
+ import type { GridCellProps, GridCellAria } from "./types";
10
+ import { getGridData } from "./createGrid";
11
11
 
12
12
  /**
13
13
  * Creates accessibility props for a grid cell.
@@ -15,7 +15,7 @@ import { getGridData } from './createGrid';
15
15
  export function createGridCell<T extends object>(
16
16
  props: Accessor<GridCellProps>,
17
17
  state: Accessor<GridState<T, GridCollection<T>>>,
18
- _ref: Accessor<HTMLElement | null>
18
+ _ref: Accessor<HTMLElement | null>,
19
19
  ): GridCellAria {
20
20
  const [isPressed, setIsPressed] = createSignal(false);
21
21
 
@@ -63,8 +63,8 @@ export function createGridCell<T extends object>(
63
63
  const rowKey = node?.parentKey;
64
64
 
65
65
  // Handle selection on parent row
66
- if (rowKey != null && s.selectionMode !== 'none') {
67
- if (e.shiftKey && s.selectionMode === 'multiple') {
66
+ if (rowKey != null && s.selectionMode !== "none") {
67
+ if (e.shiftKey && s.selectionMode === "multiple") {
68
68
  s.extendSelection(rowKey);
69
69
  } else if (e.ctrlKey || e.metaKey) {
70
70
  s.toggleSelection(rowKey);
@@ -91,7 +91,7 @@ export function createGridCell<T extends object>(
91
91
  if (isDisabled()) return;
92
92
 
93
93
  // Enter or Space triggers cell action
94
- if (e.key === 'Enter' || e.key === ' ') {
94
+ if (e.key === "Enter" || e.key === " ") {
95
95
  // Only handle if there's an action to trigger
96
96
  const gridData = getGridData(s);
97
97
  const onCellAction = gridData?.actions.onCellAction;
@@ -130,17 +130,17 @@ export function createGridCell<T extends object>(
130
130
  const node = s.collection.getItem(p.key);
131
131
 
132
132
  // Determine the role based on node type
133
- let role: string = 'gridcell';
134
- if (node?.type === 'rowheader') {
135
- role = 'rowheader';
136
- } else if (node?.type === 'column') {
137
- role = 'columnheader';
133
+ let role: string = "gridcell";
134
+ if (node?.type === "rowheader") {
135
+ role = "rowheader";
136
+ } else if (node?.type === "column") {
137
+ role = "columnheader";
138
138
  }
139
139
 
140
140
  const baseProps: Record<string, unknown> = {
141
141
  role,
142
- 'aria-disabled': isDisabled() || undefined,
143
- 'aria-selected': s.selectionMode !== 'none' ? isSelected() : undefined,
142
+ "aria-disabled": isDisabled() || undefined,
143
+ "aria-selected": s.selectionMode !== "none" ? isSelected() : undefined,
144
144
  tabIndex: isFocused() ? 0 : -1,
145
145
  onClick,
146
146
  onKeyDown,
@@ -151,12 +151,12 @@ export function createGridCell<T extends object>(
151
151
 
152
152
  // Add column index for virtualized grids
153
153
  if (p.isVirtualized && node?.column != null) {
154
- baseProps['aria-colindex'] = node.column + 1; // aria-colindex is 1-based
154
+ baseProps["aria-colindex"] = node.column + 1; // aria-colindex is 1-based
155
155
  }
156
156
 
157
157
  // Add colspan if present
158
158
  if (node?.colspan != null && node.colspan > 1) {
159
- baseProps['aria-colspan'] = node.colspan;
159
+ baseProps["aria-colspan"] = node.colspan;
160
160
  }
161
161
 
162
162
  return baseProps as JSX.HTMLAttributes<HTMLElement>;
@@ -3,11 +3,11 @@
3
3
  * Based on @react-aria/grid/useGridRow.
4
4
  */
5
5
 
6
- import { createMemo, createSignal, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import type { GridState, GridCollection } from '@proyecto-viviana/solid-stately';
9
- import type { GridRowProps, GridRowAria } from './types';
10
- import { getGridData } from './createGrid';
6
+ import { createMemo, createSignal, type Accessor } from "solid-js";
7
+ import type { JSX } from "solid-js";
8
+ import type { GridState, GridCollection } from "@proyecto-viviana/solid-stately";
9
+ import type { GridRowProps, GridRowAria } from "./types";
10
+ import { getGridData } from "./createGrid";
11
11
 
12
12
  /**
13
13
  * Creates accessibility props for a grid row.
@@ -15,7 +15,7 @@ import { getGridData } from './createGrid';
15
15
  export function createGridRow<T extends object>(
16
16
  props: Accessor<GridRowProps>,
17
17
  state: Accessor<GridState<T, GridCollection<T>>>,
18
- _ref: Accessor<HTMLElement | null>
18
+ _ref: Accessor<HTMLElement | null>,
19
19
  ): GridRowAria {
20
20
  const [isPressed, setIsPressed] = createSignal(false);
21
21
 
@@ -49,8 +49,8 @@ export function createGridRow<T extends object>(
49
49
  const onRowAction = gridData?.actions.onRowAction;
50
50
 
51
51
  // Handle selection
52
- if (s.selectionMode !== 'none') {
53
- if (e.shiftKey && s.selectionMode === 'multiple') {
52
+ if (s.selectionMode !== "none") {
53
+ if (e.shiftKey && s.selectionMode === "multiple") {
54
54
  s.extendSelection(p.key);
55
55
  } else if (e.ctrlKey || e.metaKey) {
56
56
  s.toggleSelection(p.key);
@@ -76,7 +76,7 @@ export function createGridRow<T extends object>(
76
76
 
77
77
  if (isDisabled()) return;
78
78
 
79
- if (e.key === 'Enter' || e.key === ' ') {
79
+ if (e.key === "Enter" || e.key === " ") {
80
80
  e.preventDefault();
81
81
 
82
82
  // Get grid metadata for actions
@@ -84,7 +84,7 @@ export function createGridRow<T extends object>(
84
84
  const onRowAction = gridData?.actions.onRowAction;
85
85
 
86
86
  // Handle selection
87
- if (s.selectionMode !== 'none') {
87
+ if (s.selectionMode !== "none") {
88
88
  s.toggleSelection(p.key);
89
89
  }
90
90
 
@@ -118,9 +118,9 @@ export function createGridRow<T extends object>(
118
118
  const p = props();
119
119
 
120
120
  const baseProps: Record<string, unknown> = {
121
- role: 'row',
122
- 'aria-selected': s.selectionMode !== 'none' ? isSelected() : undefined,
123
- 'aria-disabled': isDisabled() || undefined,
121
+ role: "row",
122
+ "aria-selected": s.selectionMode !== "none" ? isSelected() : undefined,
123
+ "aria-disabled": isDisabled() || undefined,
124
124
  tabIndex: isFocused() ? 0 : -1,
125
125
  onClick,
126
126
  onKeyDown,
@@ -130,7 +130,7 @@ export function createGridRow<T extends object>(
130
130
  };
131
131
 
132
132
  if (p.isVirtualized && p.index != null) {
133
- baseProps['aria-rowindex'] = p.index + 1; // aria-rowindex is 1-based
133
+ baseProps["aria-rowindex"] = p.index + 1; // aria-rowindex is 1-based
134
134
  }
135
135
 
136
136
  return baseProps as JSX.HTMLAttributes<HTMLElement>;
package/src/grid/index.ts CHANGED
@@ -3,10 +3,10 @@
3
3
  * Based on @react-aria/grid.
4
4
  */
5
5
 
6
- export { createGrid, getGridData } from './createGrid';
7
- export { createGridRow } from './createGridRow';
8
- export { createGridCell } from './createGridCell';
9
- export { GridKeyboardDelegate } from './GridKeyboardDelegate';
6
+ export { createGrid, getGridData } from "./createGrid";
7
+ export { createGridRow } from "./createGridRow";
8
+ export { createGridCell } from "./createGridCell";
9
+ export { GridKeyboardDelegate } from "./GridKeyboardDelegate";
10
10
  export type {
11
11
  KeyboardDelegate,
12
12
  GridProps,
@@ -15,4 +15,4 @@ export type {
15
15
  GridRowAria,
16
16
  GridCellProps,
17
17
  GridCellAria,
18
- } from './types';
18
+ } from "./types";
package/src/grid/types.ts CHANGED
@@ -3,8 +3,8 @@
3
3
  * Based on @react-aria/grid types.
4
4
  */
5
5
 
6
- import type { JSX } from 'solid-js';
7
- import type { Key } from '@proyecto-viviana/solid-stately';
6
+ import type { JSX } from "solid-js";
7
+ import type { Key } from "@proyecto-viviana/solid-stately";
8
8
 
9
9
  /**
10
10
  * Keyboard delegate interface for grid navigation.
@@ -43,21 +43,21 @@ export interface GridProps {
43
43
  /** Custom keyboard delegate for navigation. */
44
44
  keyboardDelegate?: KeyboardDelegate;
45
45
  /** Whether focus should be on row or cell. */
46
- focusMode?: 'row' | 'cell';
46
+ focusMode?: "row" | "cell";
47
47
  /** Handler for row actions. */
48
48
  onRowAction?: (key: Key) => void;
49
49
  /** Handler for cell actions. */
50
50
  onCellAction?: (key: Key) => void;
51
51
  /** Escape key behavior. */
52
- escapeKeyBehavior?: 'clearSelection' | 'none';
52
+ escapeKeyBehavior?: "clearSelection" | "none";
53
53
  /** Whether selection should occur on press up. */
54
54
  shouldSelectOnPressUp?: boolean;
55
55
  /** ARIA label for the grid. */
56
- 'aria-label'?: string;
56
+ "aria-label"?: string;
57
57
  /** ARIA labelledby for the grid. */
58
- 'aria-labelledby'?: string;
58
+ "aria-labelledby"?: string;
59
59
  /** ARIA describedby for the grid. */
60
- 'aria-describedby'?: string;
60
+ "aria-describedby"?: string;
61
61
  }
62
62
 
63
63
  /**
@@ -111,7 +111,7 @@ export interface GridCellProps {
111
111
  /** Whether the grid is virtualized. */
112
112
  isVirtualized?: boolean;
113
113
  /** Whether to focus cell or child element. */
114
- focusMode?: 'child' | 'cell';
114
+ focusMode?: "child" | "cell";
115
115
  /** Handler for cell action. */
116
116
  onAction?: () => void;
117
117
  }
@@ -3,11 +3,11 @@
3
3
  * Based on @react-aria/gridlist/useGridList.
4
4
  */
5
5
 
6
- import { createMemo, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import { createId } from '@proyecto-viviana/solid-stately';
9
- import type { GridState, GridCollection, Key } from '@proyecto-viviana/solid-stately';
10
- import type { AriaGridListProps, GridListAria } from './types';
6
+ import { createMemo, type Accessor } from "solid-js";
7
+ import type { JSX } from "solid-js";
8
+ import { createId } from "@proyecto-viviana/solid-stately";
9
+ import type { GridState, GridCollection, Key } from "@proyecto-viviana/solid-stately";
10
+ import type { AriaGridListProps, GridListAria } from "./types";
11
11
 
12
12
  /**
13
13
  * Metadata stored for a grid list instance.
@@ -15,6 +15,8 @@ import type { AriaGridListProps, GridListAria } from './types';
15
15
  interface GridListData {
16
16
  /** The generated ID for the grid list. */
17
17
  gridListId: string;
18
+ /** How selection should behave when pressing an item. */
19
+ selectionBehavior: "replace" | "toggle";
18
20
  /** Actions registered for the grid list. */
19
21
  actions: {
20
22
  onAction?: (key: Key) => void;
@@ -30,7 +32,7 @@ const gridListDataMap = new WeakMap<object, GridListData>();
30
32
  * Gets the grid list data for a given state.
31
33
  */
32
34
  export function getGridListData<T extends object, C extends GridCollection<T>>(
33
- state: GridState<T, C>
35
+ state: GridState<T, C>,
34
36
  ): GridListData | undefined {
35
37
  return gridListDataMap.get(state);
36
38
  }
@@ -41,7 +43,7 @@ export function getGridListData<T extends object, C extends GridCollection<T>>(
41
43
  export function createGridList<T extends object, C extends GridCollection<T> = GridCollection<T>>(
42
44
  props: Accessor<AriaGridListProps>,
43
45
  state: Accessor<GridState<T, C>>,
44
- _ref: Accessor<HTMLUListElement | null>
46
+ _ref: Accessor<HTMLElement | null>,
45
47
  ): GridListAria {
46
48
  // Generate a unique ID for the grid list
47
49
  const gridListId = props().id ?? createId();
@@ -49,6 +51,9 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
49
51
  // Store grid list data for child components
50
52
  const gridListData: GridListData = {
51
53
  gridListId,
54
+ get selectionBehavior() {
55
+ return props().selectionBehavior ?? "replace";
56
+ },
52
57
  actions: {
53
58
  get onAction() {
54
59
  return props().onAction;
@@ -69,7 +74,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
69
74
  if (p.isDisabled) return;
70
75
 
71
76
  switch (e.key) {
72
- case 'ArrowDown': {
77
+ case "ArrowDown": {
73
78
  e.preventDefault();
74
79
  if (focusedKey != null) {
75
80
  const nextKey = collection.getKeyAfter(focusedKey);
@@ -84,7 +89,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
84
89
  }
85
90
  break;
86
91
  }
87
- case 'ArrowUp': {
92
+ case "ArrowUp": {
88
93
  e.preventDefault();
89
94
  if (focusedKey != null) {
90
95
  const prevKey = collection.getKeyBefore(focusedKey);
@@ -99,7 +104,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
99
104
  }
100
105
  break;
101
106
  }
102
- case 'Home': {
107
+ case "Home": {
103
108
  e.preventDefault();
104
109
  const firstKey = collection.getFirstKey();
105
110
  if (firstKey != null) {
@@ -107,7 +112,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
107
112
  }
108
113
  break;
109
114
  }
110
- case 'End': {
115
+ case "End": {
111
116
  e.preventDefault();
112
117
  const lastKey = collection.getLastKey();
113
118
  if (lastKey != null) {
@@ -115,32 +120,32 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
115
120
  }
116
121
  break;
117
122
  }
118
- case 'a':
119
- case 'A': {
120
- if ((e.ctrlKey || e.metaKey) && s.selectionMode === 'multiple') {
123
+ case "a":
124
+ case "A": {
125
+ if ((e.ctrlKey || e.metaKey) && s.selectionMode === "multiple") {
121
126
  e.preventDefault();
122
127
  s.selectAll();
123
128
  }
124
129
  break;
125
130
  }
126
- case ' ':
127
- case 'Space':
128
- case 'Spacebar': {
129
- if (focusedKey != null && s.selectionMode !== 'none' && !s.isDisabled(focusedKey)) {
131
+ case " ":
132
+ case "Space":
133
+ case "Spacebar": {
134
+ if (focusedKey != null && s.selectionMode !== "none" && !s.isDisabled(focusedKey)) {
130
135
  e.preventDefault();
131
136
  s.toggleSelection(focusedKey);
132
137
  }
133
138
  break;
134
139
  }
135
- case 'Enter': {
140
+ case "Enter": {
136
141
  if (focusedKey != null && !s.isDisabled(focusedKey)) {
137
142
  e.preventDefault();
138
143
  p.onAction?.(focusedKey);
139
144
  }
140
145
  break;
141
146
  }
142
- case 'Escape': {
143
- if (s.selectionMode !== 'none') {
147
+ case "Escape": {
148
+ if (s.selectionMode !== "none") {
144
149
  e.preventDefault();
145
150
  s.clearSelection();
146
151
  }
@@ -172,13 +177,13 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
172
177
  const s = state();
173
178
 
174
179
  const baseProps: Record<string, unknown> = {
175
- role: 'grid',
180
+ role: "grid",
176
181
  id: gridListId,
177
- 'aria-label': p['aria-label'],
178
- 'aria-labelledby': p['aria-labelledby'],
179
- 'aria-describedby': p['aria-describedby'],
180
- 'aria-multiselectable': s.selectionMode === 'multiple' ? true : undefined,
181
- 'aria-disabled': p.isDisabled || undefined,
182
+ "aria-label": p["aria-label"],
183
+ "aria-labelledby": p["aria-labelledby"],
184
+ "aria-describedby": p["aria-describedby"],
185
+ "aria-multiselectable": s.selectionMode === "multiple" ? true : undefined,
186
+ "aria-disabled": p.isDisabled || undefined,
182
187
  tabIndex: p.isDisabled ? undefined : 0,
183
188
  onKeyDown,
184
189
  onFocus,
@@ -187,10 +192,10 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
187
192
 
188
193
  // Add row count for virtualized lists
189
194
  if (p.isVirtualized) {
190
- baseProps['aria-rowcount'] = s.collection.rowCount;
195
+ baseProps["aria-rowcount"] = s.collection.rowCount;
191
196
  }
192
197
 
193
- return baseProps as JSX.HTMLAttributes<HTMLUListElement>;
198
+ return baseProps as JSX.HTMLAttributes<HTMLElement>;
194
199
  });
195
200
 
196
201
  return {