@proyecto-viviana/solidaria 0.2.5 → 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 (555) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -236
  3. package/dist/actiongroup/createActionGroup.d.ts +29 -0
  4. package/dist/actiongroup/createActionGroup.d.ts.map +1 -0
  5. package/dist/actiongroup/index.d.ts +2 -0
  6. package/dist/actiongroup/index.d.ts.map +1 -0
  7. package/dist/autocomplete/createAutocomplete.d.ts +16 -12
  8. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  9. package/dist/autocomplete/index.d.ts +1 -1
  10. package/dist/autocomplete/index.d.ts.map +1 -1
  11. package/dist/breadcrumbs/createBreadcrumbs.d.ts +11 -7
  12. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  13. package/dist/breadcrumbs/index.d.ts +1 -1
  14. package/dist/button/createButton.d.ts +1 -1
  15. package/dist/button/createButton.d.ts.map +1 -1
  16. package/dist/button/createToggleButton.d.ts +3 -3
  17. package/dist/button/createToggleButtonGroup.d.ts +32 -0
  18. package/dist/button/createToggleButtonGroup.d.ts.map +1 -0
  19. package/dist/button/index.d.ts +6 -4
  20. package/dist/button/index.d.ts.map +1 -1
  21. package/dist/button/types.d.ts +18 -12
  22. package/dist/button/types.d.ts.map +1 -1
  23. package/dist/calendar/createCalendar.d.ts +15 -5
  24. package/dist/calendar/createCalendar.d.ts.map +1 -1
  25. package/dist/calendar/createCalendarCell.d.ts +8 -2
  26. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  27. package/dist/calendar/createCalendarGrid.d.ts +4 -4
  28. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  29. package/dist/calendar/createRangeCalendar.d.ts +15 -5
  30. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  31. package/dist/calendar/createRangeCalendarCell.d.ts +7 -3
  32. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  33. package/dist/calendar/index.d.ts +5 -5
  34. package/dist/calendar/index.d.ts.map +1 -1
  35. package/dist/calendar/intl/index.d.ts +12 -0
  36. package/dist/calendar/intl/index.d.ts.map +1 -0
  37. package/dist/calendar/utils.d.ts +12 -0
  38. package/dist/calendar/utils.d.ts.map +1 -0
  39. package/dist/checkbox/createCheckbox.d.ts +6 -6
  40. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  41. package/dist/checkbox/createCheckboxGroup.d.ts +11 -7
  42. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  43. package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
  44. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  45. package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
  46. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
  47. package/dist/checkbox/index.d.ts +8 -8
  48. package/dist/checkbox/index.d.ts.map +1 -1
  49. package/dist/collections/index.d.ts +56 -0
  50. package/dist/collections/index.d.ts.map +1 -0
  51. package/dist/color/createColorArea.d.ts +3 -3
  52. package/dist/color/createColorArea.d.ts.map +1 -1
  53. package/dist/color/createColorField.d.ts +4 -4
  54. package/dist/color/createColorField.d.ts.map +1 -1
  55. package/dist/color/createColorSlider.d.ts +4 -4
  56. package/dist/color/createColorSlider.d.ts.map +1 -1
  57. package/dist/color/createColorSwatch.d.ts +2 -2
  58. package/dist/color/createColorSwatch.d.ts.map +1 -1
  59. package/dist/color/createColorWheel.d.ts +3 -3
  60. package/dist/color/createColorWheel.d.ts.map +1 -1
  61. package/dist/color/index.d.ts +6 -6
  62. package/dist/color/types.d.ts +98 -16
  63. package/dist/color/types.d.ts.map +1 -1
  64. package/dist/combobox/createComboBox.d.ts +16 -7
  65. package/dist/combobox/createComboBox.d.ts.map +1 -1
  66. package/dist/combobox/index.d.ts +1 -1
  67. package/dist/combobox/intl/index.d.ts +1 -1
  68. package/dist/datepicker/createDateField.d.ts +18 -6
  69. package/dist/datepicker/createDateField.d.ts.map +1 -1
  70. package/dist/datepicker/createDatePicker.d.ts +57 -5
  71. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  72. package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
  73. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
  74. package/dist/datepicker/createDateRangePicker.d.ts +42 -0
  75. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -0
  76. package/dist/datepicker/createDateSegment.d.ts +11 -3
  77. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  78. package/dist/datepicker/createTimeField.d.ts +11 -5
  79. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  80. package/dist/datepicker/createTimeSegment.d.ts +29 -0
  81. package/dist/datepicker/createTimeSegment.d.ts.map +1 -0
  82. package/dist/datepicker/index.d.ts +7 -4
  83. package/dist/datepicker/index.d.ts.map +1 -1
  84. package/dist/dialog/createDialog.d.ts +5 -5
  85. package/dist/dialog/createDialog.d.ts.map +1 -1
  86. package/dist/dialog/index.d.ts +2 -2
  87. package/dist/dialog/index.d.ts.map +1 -1
  88. package/dist/dialog/types.d.ts +4 -4
  89. package/dist/disclosure/createDisclosure.d.ts +5 -2
  90. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  91. package/dist/disclosure/createDisclosureGroup.d.ts +4 -3
  92. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  93. package/dist/disclosure/index.d.ts +2 -2
  94. package/dist/dnd/createDrag.d.ts +2 -2
  95. package/dist/dnd/createDrag.d.ts.map +1 -1
  96. package/dist/dnd/createDraggableCollection.d.ts +6 -2
  97. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  98. package/dist/dnd/createDraggableItem.d.ts +3 -3
  99. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  100. package/dist/dnd/createDrop.d.ts +2 -2
  101. package/dist/dnd/createDrop.d.ts.map +1 -1
  102. package/dist/dnd/createDroppableCollection.d.ts +55 -4
  103. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  104. package/dist/dnd/createDroppableItem.d.ts +3 -3
  105. package/dist/dnd/createDroppableItem.d.ts.map +1 -1
  106. package/dist/dnd/index.d.ts +12 -12
  107. package/dist/dnd/index.d.ts.map +1 -1
  108. package/dist/dnd/types.d.ts +2 -2
  109. package/dist/dnd/types.d.ts.map +1 -1
  110. package/dist/dnd/utils.d.ts +1 -1
  111. package/dist/dnd/utils.d.ts.map +1 -1
  112. package/dist/focus/FocusScope.d.ts +1 -1
  113. package/dist/focus/FocusScope.d.ts.map +1 -1
  114. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  115. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  116. package/dist/focus/createVirtualFocus.d.ts +4 -4
  117. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  118. package/dist/focus/index.d.ts +4 -4
  119. package/dist/focus/index.d.ts.map +1 -1
  120. package/dist/form/createFormReset.d.ts +1 -1
  121. package/dist/form/createFormValidation.d.ts +3 -3
  122. package/dist/form/createFormValidation.d.ts.map +1 -1
  123. package/dist/form/index.d.ts +2 -2
  124. package/dist/form/index.d.ts.map +1 -1
  125. package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
  126. package/dist/grid/createGrid.d.ts +3 -3
  127. package/dist/grid/createGrid.d.ts.map +1 -1
  128. package/dist/grid/createGridCell.d.ts +3 -3
  129. package/dist/grid/createGridRow.d.ts +3 -3
  130. package/dist/grid/index.d.ts +5 -5
  131. package/dist/grid/types.d.ts +8 -8
  132. package/dist/gridlist/createGridList.d.ts +6 -4
  133. package/dist/gridlist/createGridList.d.ts.map +1 -1
  134. package/dist/gridlist/createGridListItem.d.ts +4 -4
  135. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  136. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
  137. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  138. package/dist/gridlist/index.d.ts +4 -4
  139. package/dist/gridlist/types.d.ts +11 -7
  140. package/dist/gridlist/types.d.ts.map +1 -1
  141. package/dist/i18n/createCollator.d.ts.map +1 -1
  142. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  143. package/dist/i18n/createFilter.d.ts.map +1 -1
  144. package/dist/i18n/createNumberFormatter.d.ts +1 -1
  145. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  146. package/dist/i18n/createStringFormatter.d.ts +2 -2
  147. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  148. package/dist/i18n/index.d.ts +8 -8
  149. package/dist/i18n/index.d.ts.map +1 -1
  150. package/dist/i18n/locale.d.ts +2 -2
  151. package/dist/i18n/locale.d.ts.map +1 -1
  152. package/dist/i18n/utils.d.ts.map +1 -1
  153. package/dist/index.d.ts +52 -49
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +18089 -15690
  156. package/dist/index.js.map +1 -7
  157. package/dist/index.jsx +18242 -0
  158. package/dist/index.jsx.map +1 -0
  159. package/dist/interactions/FocusableProvider.d.ts +2 -2
  160. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  161. package/dist/interactions/PressEvent.d.ts +2 -2
  162. package/dist/interactions/createFocus.d.ts +1 -1
  163. package/dist/interactions/createFocus.d.ts.map +1 -1
  164. package/dist/interactions/createFocusRing.d.ts +1 -1
  165. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  166. package/dist/interactions/createFocusWithin.d.ts +1 -1
  167. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  168. package/dist/interactions/createFocusable.d.ts +3 -3
  169. package/dist/interactions/createFocusable.d.ts.map +1 -1
  170. package/dist/interactions/createHover.d.ts +5 -5
  171. package/dist/interactions/createHover.d.ts.map +1 -1
  172. package/dist/interactions/createInteractionModality.d.ts +3 -3
  173. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  174. package/dist/interactions/createKeyboard.d.ts +1 -1
  175. package/dist/interactions/createLongPress.d.ts +5 -5
  176. package/dist/interactions/createMove.d.ts +5 -5
  177. package/dist/interactions/createMove.d.ts.map +1 -1
  178. package/dist/interactions/createPress.d.ts +4 -4
  179. package/dist/interactions/createPress.d.ts.map +1 -1
  180. package/dist/interactions/index.d.ts +12 -12
  181. package/dist/interactions/index.d.ts.map +1 -1
  182. package/dist/label/createField.d.ts +4 -4
  183. package/dist/label/createField.d.ts.map +1 -1
  184. package/dist/label/createLabel.d.ts +7 -7
  185. package/dist/label/createLabel.d.ts.map +1 -1
  186. package/dist/label/createLabels.d.ts +1 -1
  187. package/dist/label/createLabels.d.ts.map +1 -1
  188. package/dist/label/index.d.ts +5 -5
  189. package/dist/landmark/createLandmark.d.ts +5 -5
  190. package/dist/landmark/createLandmark.d.ts.map +1 -1
  191. package/dist/landmark/index.d.ts +1 -1
  192. package/dist/link/createLink.d.ts +23 -7
  193. package/dist/link/createLink.d.ts.map +1 -1
  194. package/dist/link/index.d.ts +1 -1
  195. package/dist/listbox/createListBox.d.ts +12 -6
  196. package/dist/listbox/createListBox.d.ts.map +1 -1
  197. package/dist/listbox/createOption.d.ts +21 -4
  198. package/dist/listbox/createOption.d.ts.map +1 -1
  199. package/dist/listbox/index.d.ts +2 -2
  200. package/dist/listbox/index.d.ts.map +1 -1
  201. package/dist/live-announcer/announce.d.ts +2 -2
  202. package/dist/live-announcer/announce.d.ts.map +1 -1
  203. package/dist/live-announcer/index.d.ts +1 -1
  204. package/dist/menu/createMenu.d.ts +8 -7
  205. package/dist/menu/createMenu.d.ts.map +1 -1
  206. package/dist/menu/createMenuItem.d.ts +16 -4
  207. package/dist/menu/createMenuItem.d.ts.map +1 -1
  208. package/dist/menu/createMenuTrigger.d.ts +4 -4
  209. package/dist/menu/index.d.ts +3 -3
  210. package/dist/menu/index.d.ts.map +1 -1
  211. package/dist/meter/createMeter.d.ts +6 -6
  212. package/dist/meter/createMeter.d.ts.map +1 -1
  213. package/dist/meter/index.d.ts +1 -1
  214. package/dist/numberfield/createNumberField.d.ts +27 -8
  215. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  216. package/dist/numberfield/index.d.ts +1 -1
  217. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  218. package/dist/overlays/createModal.d.ts +19 -3
  219. package/dist/overlays/createModal.d.ts.map +1 -1
  220. package/dist/overlays/createOverlay.d.ts +1 -1
  221. package/dist/overlays/createOverlay.d.ts.map +1 -1
  222. package/dist/overlays/createOverlayTrigger.d.ts +6 -6
  223. package/dist/overlays/index.d.ts +6 -6
  224. package/dist/overlays/index.d.ts.map +1 -1
  225. package/dist/popover/calculatePosition.d.ts +4 -4
  226. package/dist/popover/calculatePosition.d.ts.map +1 -1
  227. package/dist/popover/createOverlayPosition.d.ts +3 -3
  228. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  229. package/dist/popover/createPopover.d.ts +4 -4
  230. package/dist/popover/createPopover.d.ts.map +1 -1
  231. package/dist/popover/index.d.ts +3 -3
  232. package/dist/progress/createProgressBar.d.ts +7 -5
  233. package/dist/progress/createProgressBar.d.ts.map +1 -1
  234. package/dist/progress/index.d.ts +1 -1
  235. package/dist/radio/createRadio.d.ts +7 -7
  236. package/dist/radio/createRadio.d.ts.map +1 -1
  237. package/dist/radio/createRadioGroup.d.ts +11 -11
  238. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  239. package/dist/radio/createRadioGroupState.d.ts +3 -3
  240. package/dist/radio/createRadioGroupState.d.ts.map +1 -1
  241. package/dist/radio/index.d.ts +3 -3
  242. package/dist/radio/index.d.ts.map +1 -1
  243. package/dist/searchfield/createSearchField.d.ts +7 -7
  244. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  245. package/dist/searchfield/index.d.ts +2 -2
  246. package/dist/select/createHiddenSelect.d.ts +4 -4
  247. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  248. package/dist/select/createSelect.d.ts +14 -6
  249. package/dist/select/createSelect.d.ts.map +1 -1
  250. package/dist/select/index.d.ts +2 -2
  251. package/dist/select/index.d.ts.map +1 -1
  252. package/dist/selection/createTypeSelect.d.ts +2 -2
  253. package/dist/selection/index.d.ts +1 -1
  254. package/dist/separator/createSeparator.d.ts +9 -5
  255. package/dist/separator/createSeparator.d.ts.map +1 -1
  256. package/dist/separator/index.d.ts +1 -1
  257. package/dist/slider/createSlider.d.ts +11 -7
  258. package/dist/slider/createSlider.d.ts.map +1 -1
  259. package/dist/slider/index.d.ts +2 -2
  260. package/dist/ssr/index.d.ts +1 -1
  261. package/dist/ssr/index.d.ts.map +1 -1
  262. package/dist/steplist/createStepList.d.ts +36 -0
  263. package/dist/steplist/createStepList.d.ts.map +1 -0
  264. package/dist/steplist/index.d.ts +2 -0
  265. package/dist/steplist/index.d.ts.map +1 -0
  266. package/dist/switch/createSwitch.d.ts +6 -4
  267. package/dist/switch/createSwitch.d.ts.map +1 -1
  268. package/dist/switch/index.d.ts +1 -1
  269. package/dist/table/createTable.d.ts +3 -3
  270. package/dist/table/createTable.d.ts.map +1 -1
  271. package/dist/table/createTableCell.d.ts +3 -3
  272. package/dist/table/createTableCell.d.ts.map +1 -1
  273. package/dist/table/createTableColumnHeader.d.ts +3 -3
  274. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  275. package/dist/table/createTableColumnResize.d.ts +41 -0
  276. package/dist/table/createTableColumnResize.d.ts.map +1 -0
  277. package/dist/table/createTableHeaderRow.d.ts +3 -3
  278. package/dist/table/createTableRow.d.ts +3 -3
  279. package/dist/table/createTableRow.d.ts.map +1 -1
  280. package/dist/table/createTableRowGroup.d.ts +2 -2
  281. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  282. package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
  283. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  284. package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
  285. package/dist/table/index.d.ts +11 -9
  286. package/dist/table/index.d.ts.map +1 -1
  287. package/dist/table/types.d.ts +15 -7
  288. package/dist/table/types.d.ts.map +1 -1
  289. package/dist/tabs/createTabs.d.ts +28 -25
  290. package/dist/tabs/createTabs.d.ts.map +1 -1
  291. package/dist/tabs/index.d.ts +1 -1
  292. package/dist/tag/createTag.d.ts +2 -2
  293. package/dist/tag/createTag.d.ts.map +1 -1
  294. package/dist/tag/createTagGroup.d.ts +5 -5
  295. package/dist/tag/createTagGroup.d.ts.map +1 -1
  296. package/dist/tag/index.d.ts +2 -2
  297. package/dist/tag/index.d.ts.map +1 -1
  298. package/dist/textfield/createTextField.d.ts +17 -11
  299. package/dist/textfield/createTextField.d.ts.map +1 -1
  300. package/dist/textfield/index.d.ts +1 -1
  301. package/dist/textfield/index.d.ts.map +1 -1
  302. package/dist/toast/createToast.d.ts +6 -2
  303. package/dist/toast/createToast.d.ts.map +1 -1
  304. package/dist/toast/createToastRegion.d.ts +5 -3
  305. package/dist/toast/createToastRegion.d.ts.map +1 -1
  306. package/dist/toast/index.d.ts +2 -2
  307. package/dist/toast/index.d.ts.map +1 -1
  308. package/dist/toggle/createToggle.d.ts +9 -9
  309. package/dist/toggle/createToggle.d.ts.map +1 -1
  310. package/dist/toggle/createToggleState.d.ts +2 -2
  311. package/dist/toggle/createToggleState.d.ts.map +1 -1
  312. package/dist/toggle/index.d.ts +4 -4
  313. package/dist/toggle/index.d.ts.map +1 -1
  314. package/dist/toolbar/createToolbar.d.ts +9 -9
  315. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  316. package/dist/toolbar/index.d.ts +1 -1
  317. package/dist/toolbar/index.d.ts.map +1 -1
  318. package/dist/tooltip/createTooltip.d.ts +5 -5
  319. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  320. package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
  321. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  322. package/dist/tooltip/index.d.ts +2 -2
  323. package/dist/tree/createTree.d.ts +3 -3
  324. package/dist/tree/createTree.d.ts.map +1 -1
  325. package/dist/tree/createTreeItem.d.ts +4 -4
  326. package/dist/tree/createTreeItem.d.ts.map +1 -1
  327. package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
  328. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  329. package/dist/tree/index.d.ts +4 -4
  330. package/dist/tree/types.d.ts +13 -5
  331. package/dist/tree/types.d.ts.map +1 -1
  332. package/dist/utils/createDescription.d.ts +2 -2
  333. package/dist/utils/createDescription.d.ts.map +1 -1
  334. package/dist/utils/dom.d.ts.map +1 -1
  335. package/dist/utils/env.d.ts +1 -1
  336. package/dist/utils/env.d.ts.map +1 -1
  337. package/dist/utils/focus.d.ts +1 -1
  338. package/dist/utils/focus.d.ts.map +1 -1
  339. package/dist/utils/geometry.d.ts.map +1 -1
  340. package/dist/utils/index.d.ts +12 -12
  341. package/dist/utils/index.d.ts.map +1 -1
  342. package/dist/utils/mergeProps.d.ts.map +1 -1
  343. package/dist/utils/platform.d.ts.map +1 -1
  344. package/dist/utils/reactivity.d.ts +1 -1
  345. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
  346. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  347. package/dist/visually-hidden/index.d.ts +1 -1
  348. package/package.json +34 -32
  349. package/src/actiongroup/createActionGroup.ts +334 -0
  350. package/src/actiongroup/index.ts +8 -0
  351. package/src/autocomplete/createAutocomplete.ts +137 -131
  352. package/src/autocomplete/index.ts +1 -1
  353. package/src/breadcrumbs/createBreadcrumbs.ts +37 -51
  354. package/src/breadcrumbs/index.ts +1 -1
  355. package/src/button/createButton.ts +102 -73
  356. package/src/button/createToggleButton.ts +10 -10
  357. package/src/button/createToggleButtonGroup.ts +121 -0
  358. package/src/button/index.ts +10 -4
  359. package/src/button/types.ts +18 -12
  360. package/src/calendar/createCalendar.ts +62 -29
  361. package/src/calendar/createCalendarCell.ts +102 -48
  362. package/src/calendar/createCalendarGrid.ts +78 -47
  363. package/src/calendar/createRangeCalendar.ts +66 -31
  364. package/src/calendar/createRangeCalendarCell.ts +115 -37
  365. package/src/calendar/index.ts +5 -9
  366. package/src/calendar/intl/index.ts +210 -0
  367. package/src/calendar/utils.ts +227 -0
  368. package/src/checkbox/createCheckbox.ts +13 -21
  369. package/src/checkbox/createCheckboxGroup.ts +86 -45
  370. package/src/checkbox/createCheckboxGroupItem.ts +16 -27
  371. package/src/checkbox/createCheckboxGroupState.ts +3 -22
  372. package/src/checkbox/index.ts +8 -10
  373. package/src/collections/index.ts +246 -0
  374. package/src/color/createColorArea.ts +458 -314
  375. package/src/color/createColorField.ts +186 -137
  376. package/src/color/createColorSlider.ts +444 -197
  377. package/src/color/createColorSwatch.ts +65 -40
  378. package/src/color/createColorWheel.ts +343 -208
  379. package/src/color/index.ts +24 -24
  380. package/src/color/types.ts +198 -116
  381. package/src/combobox/createComboBox.ts +727 -647
  382. package/src/combobox/index.ts +6 -6
  383. package/src/combobox/intl/index.ts +5 -5
  384. package/src/datepicker/createDateField.ts +192 -39
  385. package/src/datepicker/createDatePicker.ts +294 -63
  386. package/src/datepicker/createDatePickerGroup.ts +149 -0
  387. package/src/datepicker/createDateRangePicker.ts +294 -0
  388. package/src/datepicker/createDateSegment.ts +316 -75
  389. package/src/datepicker/createTimeField.ts +38 -34
  390. package/src/datepicker/createTimeSegment.ts +352 -0
  391. package/src/datepicker/index.ts +24 -11
  392. package/src/dialog/createDialog.ts +127 -120
  393. package/src/dialog/index.ts +2 -2
  394. package/src/dialog/types.ts +19 -19
  395. package/src/disclosure/createDisclosure.ts +138 -33
  396. package/src/disclosure/createDisclosureGroup.ts +8 -18
  397. package/src/disclosure/index.ts +2 -2
  398. package/src/dnd/createDrag.ts +218 -209
  399. package/src/dnd/createDraggableCollection.ts +96 -63
  400. package/src/dnd/createDraggableItem.ts +260 -243
  401. package/src/dnd/createDrop.ts +313 -321
  402. package/src/dnd/createDroppableCollection.ts +799 -293
  403. package/src/dnd/createDroppableItem.ts +215 -213
  404. package/src/dnd/index.ts +66 -47
  405. package/src/dnd/types.ts +86 -89
  406. package/src/dnd/utils.ts +281 -294
  407. package/src/focus/FocusScope.tsx +155 -164
  408. package/src/focus/createAutoFocus.ts +305 -321
  409. package/src/focus/createFocusRestore.ts +300 -313
  410. package/src/focus/createVirtualFocus.ts +380 -396
  411. package/src/focus/index.ts +4 -8
  412. package/src/form/createFormReset.ts +4 -4
  413. package/src/form/createFormValidation.ts +201 -224
  414. package/src/form/index.ts +8 -11
  415. package/src/grid/GridKeyboardDelegate.ts +30 -30
  416. package/src/grid/createGrid.ts +38 -36
  417. package/src/grid/createGridCell.ts +18 -18
  418. package/src/grid/createGridRow.ts +14 -14
  419. package/src/grid/index.ts +5 -5
  420. package/src/grid/types.ts +8 -8
  421. package/src/gridlist/createGridList.ts +45 -24
  422. package/src/gridlist/createGridListItem.ts +68 -23
  423. package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
  424. package/src/gridlist/index.ts +4 -4
  425. package/src/gridlist/types.ts +11 -7
  426. package/src/i18n/createCollator.ts +66 -79
  427. package/src/i18n/createDateFormatter.ts +75 -83
  428. package/src/i18n/createFilter.ts +118 -131
  429. package/src/i18n/createNumberFormatter.ts +50 -52
  430. package/src/i18n/createStringFormatter.ts +19 -15
  431. package/src/i18n/index.ts +37 -40
  432. package/src/i18n/locale.tsx +163 -188
  433. package/src/i18n/utils.ts +95 -99
  434. package/src/index.ts +114 -164
  435. package/src/interactions/FocusableProvider.tsx +3 -7
  436. package/src/interactions/PressEvent.ts +4 -4
  437. package/src/interactions/createFocus.ts +16 -11
  438. package/src/interactions/createFocusRing.ts +21 -19
  439. package/src/interactions/createFocusWithin.ts +24 -16
  440. package/src/interactions/createFocusable.ts +15 -16
  441. package/src/interactions/createHover.ts +70 -55
  442. package/src/interactions/createInteractionModality.ts +75 -82
  443. package/src/interactions/createKeyboard.ts +2 -2
  444. package/src/interactions/createLongPress.ts +174 -174
  445. package/src/interactions/createMove.ts +299 -289
  446. package/src/interactions/createPress.ts +168 -91
  447. package/src/interactions/index.ts +24 -16
  448. package/src/label/createField.ts +18 -19
  449. package/src/label/createLabel.ts +18 -30
  450. package/src/label/createLabels.ts +8 -12
  451. package/src/label/index.ts +5 -5
  452. package/src/landmark/createLandmark.ts +356 -377
  453. package/src/landmark/index.ts +8 -8
  454. package/src/link/createLink.ts +96 -54
  455. package/src/link/index.ts +1 -1
  456. package/src/listbox/createListBox.ts +319 -269
  457. package/src/listbox/createOption.ts +208 -151
  458. package/src/listbox/index.ts +8 -12
  459. package/src/live-announcer/announce.ts +295 -322
  460. package/src/live-announcer/index.ts +9 -9
  461. package/src/menu/createMenu.ts +434 -396
  462. package/src/menu/createMenuItem.ts +201 -149
  463. package/src/menu/createMenuTrigger.ts +88 -88
  464. package/src/menu/index.ts +9 -18
  465. package/src/meter/createMeter.ts +7 -20
  466. package/src/meter/index.ts +1 -1
  467. package/src/numberfield/createNumberField.ts +368 -268
  468. package/src/numberfield/index.ts +5 -5
  469. package/src/overlays/ariaHideOutside.ts +223 -219
  470. package/src/overlays/createInteractOutside.ts +152 -149
  471. package/src/overlays/createModal.tsx +238 -202
  472. package/src/overlays/createOverlay.ts +195 -155
  473. package/src/overlays/createOverlayTrigger.ts +85 -85
  474. package/src/overlays/createPreventScroll.ts +288 -266
  475. package/src/overlays/index.ts +37 -44
  476. package/src/popover/calculatePosition.ts +117 -119
  477. package/src/popover/createOverlayPosition.ts +52 -43
  478. package/src/popover/createPopover.ts +63 -24
  479. package/src/popover/index.ts +3 -3
  480. package/src/progress/createProgressBar.ts +36 -32
  481. package/src/progress/index.ts +1 -1
  482. package/src/radio/createRadio.ts +95 -73
  483. package/src/radio/createRadioGroup.ts +142 -62
  484. package/src/radio/createRadioGroupState.ts +7 -31
  485. package/src/radio/index.ts +3 -8
  486. package/src/searchfield/createSearchField.ts +269 -186
  487. package/src/searchfield/index.ts +2 -2
  488. package/src/select/createHiddenSelect.tsx +276 -236
  489. package/src/select/createSelect.ts +430 -395
  490. package/src/select/index.ts +9 -14
  491. package/src/selection/createTypeSelect.ts +11 -11
  492. package/src/selection/index.ts +1 -1
  493. package/src/separator/createSeparator.ts +20 -25
  494. package/src/separator/index.ts +1 -1
  495. package/src/slider/createSlider.ts +333 -349
  496. package/src/slider/index.ts +2 -2
  497. package/src/ssr/index.tsx +331 -370
  498. package/src/steplist/createStepList.ts +106 -0
  499. package/src/steplist/index.ts +8 -0
  500. package/src/switch/createSwitch.ts +9 -14
  501. package/src/switch/index.ts +1 -1
  502. package/src/table/createTable.ts +155 -86
  503. package/src/table/createTableCell.ts +17 -16
  504. package/src/table/createTableColumnHeader.ts +67 -20
  505. package/src/table/createTableColumnResize.ts +256 -0
  506. package/src/table/createTableHeaderRow.ts +7 -7
  507. package/src/table/createTableRow.ts +149 -29
  508. package/src/table/createTableRowGroup.ts +5 -7
  509. package/src/table/createTableSelectAllCheckbox.ts +12 -11
  510. package/src/table/createTableSelectionCheckbox.ts +8 -8
  511. package/src/table/index.ts +14 -9
  512. package/src/table/types.ts +15 -7
  513. package/src/tabs/createTabs.ts +138 -127
  514. package/src/tabs/index.ts +1 -1
  515. package/src/tag/createTag.ts +171 -40
  516. package/src/tag/createTagGroup.ts +50 -39
  517. package/src/tag/index.ts +2 -6
  518. package/src/textfield/createTextField.ts +67 -35
  519. package/src/textfield/index.ts +1 -5
  520. package/src/toast/createToast.ts +34 -26
  521. package/src/toast/createToastRegion.ts +169 -27
  522. package/src/toast/index.ts +2 -6
  523. package/src/toggle/createToggle.ts +95 -53
  524. package/src/toggle/createToggleState.ts +2 -10
  525. package/src/toggle/index.ts +4 -5
  526. package/src/toolbar/createToolbar.ts +226 -169
  527. package/src/toolbar/index.ts +1 -1
  528. package/src/tooltip/createTooltip.ts +66 -79
  529. package/src/tooltip/createTooltipTrigger.ts +238 -222
  530. package/src/tooltip/index.ts +6 -6
  531. package/src/tree/createTree.ts +259 -246
  532. package/src/tree/createTreeItem.ts +282 -233
  533. package/src/tree/createTreeSelectionCheckbox.ts +71 -68
  534. package/src/tree/index.ts +16 -16
  535. package/src/tree/types.ts +95 -87
  536. package/src/utils/createDescription.ts +6 -23
  537. package/src/utils/dom.ts +61 -54
  538. package/src/utils/env.ts +53 -54
  539. package/src/utils/events.ts +7 -7
  540. package/src/utils/filterDOMProps.ts +49 -49
  541. package/src/utils/focus.ts +60 -68
  542. package/src/utils/geometry.ts +1 -4
  543. package/src/utils/globalListeners.ts +9 -9
  544. package/src/utils/index.ts +12 -22
  545. package/src/utils/mergeProps.ts +42 -15
  546. package/src/utils/platform.ts +16 -6
  547. package/src/utils/reactivity.ts +3 -3
  548. package/src/utils/textSelection.ts +16 -16
  549. package/src/visually-hidden/createVisuallyHidden.ts +127 -124
  550. package/src/visually-hidden/index.ts +6 -6
  551. package/dist/i18n/NumberFormatter.d.ts +0 -43
  552. package/dist/i18n/NumberFormatter.d.ts.map +0 -1
  553. package/dist/index.ssr.js +0 -15875
  554. package/dist/index.ssr.js.map +0 -7
  555. package/src/i18n/NumberFormatter.ts +0 -266
@@ -3,9 +3,9 @@
3
3
  * Based on @react-aria/grid/GridKeyboardDelegate.
4
4
  */
5
5
 
6
- import type { GridCollection, GridNode, Key } from '@proyecto-viviana/solid-stately';
7
- import type { KeyboardDelegate } from './types';
8
- import type { Accessor } from 'solid-js';
6
+ import type { GridCollection, GridNode, Key } from "@proyecto-viviana/solid-stately";
7
+ import type { KeyboardDelegate } from "./types";
8
+ import type { Accessor } from "solid-js";
9
9
 
10
10
  export interface GridKeyboardDelegateOptions<T> {
11
11
  /** The grid collection. */
@@ -15,9 +15,9 @@ export interface GridKeyboardDelegateOptions<T> {
15
15
  /** Ref to the grid element. */
16
16
  ref: Accessor<HTMLElement | null>;
17
17
  /** Focus mode: row or cell. */
18
- focusMode: 'row' | 'cell';
18
+ focusMode: "row" | "cell";
19
19
  /** Text direction (ltr or rtl). */
20
- direction: 'ltr' | 'rtl';
20
+ direction: "ltr" | "rtl";
21
21
  }
22
22
 
23
23
  /**
@@ -27,8 +27,8 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
27
27
  private collection: GridCollection<T>;
28
28
  private disabledKeys: Set<Key>;
29
29
  private ref: Accessor<HTMLElement | null>;
30
- private focusMode: 'row' | 'cell';
31
- private direction: 'ltr' | 'rtl';
30
+ private focusMode: "row" | "cell";
31
+ private direction: "ltr" | "rtl";
32
32
 
33
33
  constructor(options: GridKeyboardDelegateOptions<T>) {
34
34
  this.collection = options.collection;
@@ -52,11 +52,11 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
52
52
  const item = this.collection.getItem(key);
53
53
  if (!item) return null;
54
54
 
55
- if (item.type === 'item') {
55
+ if (item.type === "item") {
56
56
  return key;
57
57
  }
58
58
 
59
- if (item.type === 'cell' && item.parentKey != null) {
59
+ if (item.type === "cell" && item.parentKey != null) {
60
60
  return item.parentKey;
61
61
  }
62
62
 
@@ -67,7 +67,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
67
67
  * Get all body rows (excluding header rows).
68
68
  */
69
69
  private getBodyRows(): GridNode<T>[] {
70
- return this.collection.rows.filter((row) => row.type === 'item');
70
+ return this.collection.rows.filter((row) => row.type === "item");
71
71
  }
72
72
 
73
73
  /**
@@ -76,7 +76,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
76
76
  getFirstKey(fromKey?: Key, global?: boolean): Key | null {
77
77
  const rows = this.getBodyRows();
78
78
 
79
- if (this.focusMode === 'row' || global) {
79
+ if (this.focusMode === "row" || global) {
80
80
  // Find first non-disabled row
81
81
  for (const row of rows) {
82
82
  if (!this.isDisabled(row.key)) {
@@ -114,7 +114,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
114
114
  getLastKey(fromKey?: Key, global?: boolean): Key | null {
115
115
  const rows = this.getBodyRows();
116
116
 
117
- if (this.focusMode === 'row' || global) {
117
+ if (this.focusMode === "row" || global) {
118
118
  // Find last non-disabled row
119
119
  for (let i = rows.length - 1; i >= 0; i--) {
120
120
  if (!this.isDisabled(rows[i].key)) {
@@ -155,9 +155,9 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
155
155
 
156
156
  const rows = this.getBodyRows();
157
157
 
158
- if (this.focusMode === 'row' || item.type === 'item') {
158
+ if (this.focusMode === "row" || item.type === "item") {
159
159
  // Find the row and get the previous one
160
- const rowKey = item.type === 'item' ? key : item.parentKey;
160
+ const rowKey = item.type === "item" ? key : item.parentKey;
161
161
  const rowIndex = rows.findIndex((r) => r.key === rowKey);
162
162
 
163
163
  if (rowIndex > 0) {
@@ -172,7 +172,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
172
172
  }
173
173
 
174
174
  // Cell focus mode - get cell in same column of previous row
175
- if (item.type === 'cell' && item.parentKey != null) {
175
+ if (item.type === "cell" && item.parentKey != null) {
176
176
  const rowIndex = rows.findIndex((r) => r.key === item.parentKey);
177
177
  const colIndex = item.column ?? item.index;
178
178
 
@@ -201,9 +201,9 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
201
201
 
202
202
  const rows = this.getBodyRows();
203
203
 
204
- if (this.focusMode === 'row' || item.type === 'item') {
204
+ if (this.focusMode === "row" || item.type === "item") {
205
205
  // Find the row and get the next one
206
- const rowKey = item.type === 'item' ? key : item.parentKey;
206
+ const rowKey = item.type === "item" ? key : item.parentKey;
207
207
  const rowIndex = rows.findIndex((r) => r.key === rowKey);
208
208
 
209
209
  if (rowIndex >= 0 && rowIndex < rows.length - 1) {
@@ -218,7 +218,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
218
218
  }
219
219
 
220
220
  // Cell focus mode - get cell in same column of next row
221
- if (item.type === 'cell' && item.parentKey != null) {
221
+ if (item.type === "cell" && item.parentKey != null) {
222
222
  const rowIndex = rows.findIndex((r) => r.key === item.parentKey);
223
223
  const colIndex = item.column ?? item.index;
224
224
 
@@ -246,15 +246,15 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
246
246
  if (!item) return null;
247
247
 
248
248
  // In row focus mode, left/right might not be meaningful
249
- if (this.focusMode === 'row') {
249
+ if (this.focusMode === "row") {
250
250
  return null;
251
251
  }
252
252
 
253
- if (item.type === 'cell' && item.parentKey != null) {
253
+ if (item.type === "cell" && item.parentKey != null) {
254
254
  const children = [...this.collection.getChildren(item.parentKey)];
255
255
  const colIndex = children.findIndex((c) => c.key === key);
256
256
 
257
- if (this.direction === 'rtl') {
257
+ if (this.direction === "rtl") {
258
258
  // RTL: left moves to higher index
259
259
  if (colIndex < children.length - 1) {
260
260
  return children[colIndex + 1].key;
@@ -278,15 +278,15 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
278
278
  if (!item) return null;
279
279
 
280
280
  // In row focus mode, left/right might not be meaningful
281
- if (this.focusMode === 'row') {
281
+ if (this.focusMode === "row") {
282
282
  return null;
283
283
  }
284
284
 
285
- if (item.type === 'cell' && item.parentKey != null) {
285
+ if (item.type === "cell" && item.parentKey != null) {
286
286
  const children = [...this.collection.getChildren(item.parentKey)];
287
287
  const colIndex = children.findIndex((c) => c.key === key);
288
288
 
289
- if (this.direction === 'rtl') {
289
+ if (this.direction === "rtl") {
290
290
  // RTL: right moves to lower index
291
291
  if (colIndex > 0) {
292
292
  return children[colIndex - 1].key;
@@ -327,12 +327,12 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
327
327
  // Find first non-disabled row at or before target
328
328
  for (let i = targetIndex; i >= 0; i--) {
329
329
  if (!this.isDisabled(rows[i].key)) {
330
- if (this.focusMode === 'row' || item.type === 'item') {
330
+ if (this.focusMode === "row" || item.type === "item") {
331
331
  return rows[i].key;
332
332
  }
333
333
 
334
334
  // Cell focus mode - return cell at same column
335
- const colIndex = item.type === 'cell' ? (item.column ?? item.index) : 0;
335
+ const colIndex = item.type === "cell" ? (item.column ?? item.index) : 0;
336
336
  const children = [...this.collection.getChildren(rows[i].key)];
337
337
  const targetCol = Math.min(colIndex, children.length - 1);
338
338
  if (targetCol >= 0) {
@@ -369,12 +369,12 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
369
369
  // Find first non-disabled row at or after target
370
370
  for (let i = targetIndex; i < rows.length; i++) {
371
371
  if (!this.isDisabled(rows[i].key)) {
372
- if (this.focusMode === 'row' || item.type === 'item') {
372
+ if (this.focusMode === "row" || item.type === "item") {
373
373
  return rows[i].key;
374
374
  }
375
375
 
376
376
  // Cell focus mode - return cell at same column
377
- const colIndex = item.type === 'cell' ? (item.column ?? item.index) : 0;
377
+ const colIndex = item.type === "cell" ? (item.column ?? item.index) : 0;
378
378
  const children = [...this.collection.getChildren(rows[i].key)];
379
379
  const targetCol = Math.min(colIndex, children.length - 1);
380
380
  if (targetCol >= 0) {
@@ -406,7 +406,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
406
406
  for (let i = startIndex; i < rows.length; i++) {
407
407
  const row = rows[i];
408
408
  if (!this.isDisabled(row.key)) {
409
- const textValue = row.textValue?.toLowerCase() ?? '';
409
+ const textValue = row.textValue?.toLowerCase() ?? "";
410
410
  if (textValue.startsWith(searchLower)) {
411
411
  return row.key;
412
412
  }
@@ -417,7 +417,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
417
417
  for (let i = 0; i < startIndex; i++) {
418
418
  const row = rows[i];
419
419
  if (!this.isDisabled(row.key)) {
420
- const textValue = row.textValue?.toLowerCase() ?? '';
420
+ const textValue = row.textValue?.toLowerCase() ?? "";
421
421
  if (textValue.startsWith(searchLower)) {
422
422
  return row.key;
423
423
  }
@@ -3,12 +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';
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";
12
13
 
13
14
  // Global map to store grid metadata for child components
14
15
  const gridMap = new WeakMap<
@@ -34,9 +35,10 @@ export function getGridData<T>(state: GridState<T, GridCollection<T>>) {
34
35
  export function createGrid<T extends object>(
35
36
  props: Accessor<GridProps>,
36
37
  state: Accessor<GridState<T, GridCollection<T>>>,
37
- ref: Accessor<HTMLElement | null>
38
+ ref: Accessor<HTMLElement | null>,
38
39
  ): GridAria {
39
40
  const id = createId(props().id);
41
+ const locale = useLocale();
40
42
 
41
43
  // Track focused state
42
44
  const [_isFocused, setIsFocused] = createSignal(false);
@@ -54,8 +56,8 @@ export function createGrid<T extends object>(
54
56
  collection: s.collection,
55
57
  disabledKeys: s.disabledKeys,
56
58
  ref,
57
- focusMode: p.focusMode ?? 'row',
58
- direction: 'ltr', // TODO: get from locale
59
+ focusMode: p.focusMode ?? "row",
60
+ direction: locale().direction,
59
61
  });
60
62
  });
61
63
 
@@ -91,7 +93,7 @@ export function createGrid<T extends object>(
91
93
  const focusedKey = s.focusedKey;
92
94
  if (focusedKey == null) {
93
95
  // If nothing is focused, focus the first item
94
- 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") {
95
97
  const firstKey = delegate.getFirstKey?.();
96
98
  if (firstKey != null) {
97
99
  e.preventDefault();
@@ -104,19 +106,19 @@ export function createGrid<T extends object>(
104
106
  let nextKey: Key | null = null;
105
107
 
106
108
  switch (e.key) {
107
- case 'ArrowDown':
109
+ case "ArrowDown":
108
110
  nextKey = delegate.getKeyBelow?.(focusedKey) ?? null;
109
111
  break;
110
- case 'ArrowUp':
112
+ case "ArrowUp":
111
113
  nextKey = delegate.getKeyAbove?.(focusedKey) ?? null;
112
114
  break;
113
- case 'ArrowLeft':
115
+ case "ArrowLeft":
114
116
  nextKey = delegate.getKeyLeftOf?.(focusedKey) ?? null;
115
117
  break;
116
- case 'ArrowRight':
118
+ case "ArrowRight":
117
119
  nextKey = delegate.getKeyRightOf?.(focusedKey) ?? null;
118
120
  break;
119
- case 'Home':
121
+ case "Home":
120
122
  if (e.ctrlKey) {
121
123
  nextKey = delegate.getFirstKey?.() ?? null;
122
124
  } else {
@@ -124,7 +126,7 @@ export function createGrid<T extends object>(
124
126
  nextKey = delegate.getFirstKey?.(focusedKey) ?? null;
125
127
  }
126
128
  break;
127
- case 'End':
129
+ case "End":
128
130
  if (e.ctrlKey) {
129
131
  nextKey = delegate.getLastKey?.() ?? null;
130
132
  } else {
@@ -132,31 +134,31 @@ export function createGrid<T extends object>(
132
134
  nextKey = delegate.getLastKey?.(focusedKey) ?? null;
133
135
  }
134
136
  break;
135
- case 'PageDown':
137
+ case "PageDown":
136
138
  nextKey = delegate.getKeyPageBelow?.(focusedKey) ?? null;
137
139
  break;
138
- case 'PageUp':
140
+ case "PageUp":
139
141
  nextKey = delegate.getKeyPageAbove?.(focusedKey) ?? null;
140
142
  break;
141
- case 'Escape':
142
- if (p.escapeKeyBehavior !== 'none') {
143
+ case "Escape":
144
+ if (p.escapeKeyBehavior !== "none") {
143
145
  s.clearSelection();
144
146
  }
145
147
  return;
146
- case 'a':
148
+ case "a":
147
149
  if (e.ctrlKey || e.metaKey) {
148
150
  e.preventDefault();
149
- if (s.selectionMode === 'multiple') {
151
+ if (s.selectionMode === "multiple") {
150
152
  s.selectAll();
151
153
  }
152
154
  }
153
155
  return;
154
- case ' ':
155
- case 'Enter':
156
+ case " ":
157
+ case "Enter":
156
158
  e.preventDefault();
157
159
  // Toggle selection or trigger action
158
- if (s.selectionMode !== 'none') {
159
- if (e.shiftKey && s.selectionMode === 'multiple') {
160
+ if (s.selectionMode !== "none") {
161
+ if (e.shiftKey && s.selectionMode === "multiple") {
160
162
  s.extendSelection(focusedKey);
161
163
  } else {
162
164
  s.toggleSelection(focusedKey);
@@ -180,7 +182,7 @@ export function createGrid<T extends object>(
180
182
  s.setFocusedKey(nextKey);
181
183
 
182
184
  // Handle shift+arrow for range selection
183
- if (e.shiftKey && s.selectionMode === 'multiple') {
185
+ if (e.shiftKey && s.selectionMode === "multiple") {
184
186
  s.extendSelection(nextKey);
185
187
  }
186
188
  }
@@ -223,8 +225,8 @@ export function createGrid<T extends object>(
223
225
  // Warn if no label is provided
224
226
  createMemo(() => {
225
227
  const p = props();
226
- if (!p['aria-label'] && !p['aria-labelledby']) {
227
- 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.");
228
230
  }
229
231
  });
230
232
 
@@ -233,12 +235,12 @@ export function createGrid<T extends object>(
233
235
  const s = state();
234
236
 
235
237
  const baseProps: Record<string, unknown> = {
236
- role: 'grid',
238
+ role: "grid",
237
239
  id,
238
- 'aria-label': p['aria-label'],
239
- 'aria-labelledby': p['aria-labelledby'],
240
- 'aria-describedby': p['aria-describedby'],
241
- '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,
242
244
  tabIndex: s.collection.size === 0 ? 0 : -1,
243
245
  onKeyDown,
244
246
  onFocus,
@@ -246,8 +248,8 @@ export function createGrid<T extends object>(
246
248
  };
247
249
 
248
250
  if (p.isVirtualized) {
249
- baseProps['aria-rowcount'] = s.collection.rowCount;
250
- baseProps['aria-colcount'] = s.collection.columnCount;
251
+ baseProps["aria-rowcount"] = s.collection.rowCount;
252
+ baseProps["aria-colcount"] = s.collection.columnCount;
251
253
  }
252
254
 
253
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
  }