@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
@@ -6,24 +6,20 @@
6
6
  * Port of @react-aria/tooltip useTooltip.
7
7
  */
8
8
 
9
- import { type JSX } from 'solid-js';
10
- import { type TooltipTriggerState } from '@proyecto-viviana/solid-stately';
11
- import { createHover } from '../interactions/createHover';
12
- import { filterDOMProps, mergeProps } from '../utils';
13
-
14
- // ============================================
15
- // TYPES
16
- // ============================================
9
+ import { type JSX } from "solid-js";
10
+ import { type TooltipTriggerState } from "@proyecto-viviana/solid-stately";
11
+ import { createHover } from "../interactions/createHover";
12
+ import { filterDOMProps, mergeProps } from "../utils";
17
13
 
18
14
  export interface TooltipProps {
19
15
  /** Whether the tooltip is disabled. */
20
16
  isDisabled?: boolean;
21
17
  /** Custom aria-label for the tooltip. */
22
- 'aria-label'?: string;
18
+ "aria-label"?: string;
23
19
  /** ID of an element that labels the tooltip. */
24
- 'aria-labelledby'?: string;
20
+ "aria-labelledby"?: string;
25
21
  /** ID of an element that describes the tooltip. */
26
- 'aria-describedby'?: string;
22
+ "aria-describedby"?: string;
27
23
  }
28
24
 
29
25
  export interface TooltipAria {
@@ -31,10 +27,6 @@ export interface TooltipAria {
31
27
  tooltipProps: JSX.HTMLAttributes<HTMLElement>;
32
28
  }
33
29
 
34
- // ============================================
35
- // IMPLEMENTATION
36
- // ============================================
37
-
38
30
  /**
39
31
  * Provides the accessibility implementation for a Tooltip component.
40
32
  *
@@ -58,10 +50,7 @@ export interface TooltipAria {
58
50
  * }
59
51
  * ```
60
52
  */
61
- export function createTooltip(
62
- props: TooltipProps = {},
63
- state?: TooltipTriggerState
64
- ): TooltipAria {
53
+ export function createTooltip(props: TooltipProps = {}, state?: TooltipTriggerState): TooltipAria {
65
54
  const domProps = filterDOMProps(props, { labelable: true });
66
55
 
67
56
  const { hoverProps } = createHover({
@@ -70,10 +59,8 @@ export function createTooltip(
70
59
  });
71
60
 
72
61
  return {
73
- tooltipProps: mergeProps<JSX.HTMLAttributes<HTMLElement>>(
74
- domProps,
75
- hoverProps,
76
- { role: 'tooltip' }
77
- ),
62
+ tooltipProps: mergeProps<JSX.HTMLAttributes<HTMLElement>>(domProps, hoverProps, {
63
+ role: "tooltip",
64
+ }),
78
65
  };
79
66
  }
@@ -7,66 +7,71 @@
7
7
  * Port of @react-aria/tooltip useTooltipTrigger.
8
8
  */
9
9
 
10
- import { type JSX, createEffect, onCleanup } from 'solid-js';
11
- import { type TooltipTriggerState } from '@proyecto-viviana/solid-stately';
12
- import { createHover } from '../interactions/createHover';
13
- import { createFocusable } from '../interactions/createFocusable';
14
- import { createId } from '../ssr';
15
-
16
- // ============================================
17
- // TYPES
18
- // ============================================
10
+ import { type JSX, createEffect, onCleanup } from "solid-js";
11
+ import { type TooltipTriggerState } from "@proyecto-viviana/solid-stately";
12
+ import { createHover } from "../interactions/createHover";
13
+ import { createFocusable } from "../interactions/createFocusable";
14
+ import { createId } from "../ssr";
19
15
 
20
16
  export interface TooltipTriggerProps {
21
17
  /** Whether the tooltip should be disabled. */
22
18
  isDisabled?: boolean;
23
19
  /**
24
20
  * The trigger mechanism for the tooltip.
25
- * @default 'focus'
21
+ * @default 'hover'
26
22
  */
27
- trigger?: 'focus';
23
+ trigger?: "focus" | "hover";
28
24
  /**
29
25
  * Whether the tooltip should close when the trigger is pressed.
30
26
  * @default true
31
27
  */
32
28
  shouldCloseOnPress?: boolean;
29
+ /**
30
+ * ID of the tooltip element.
31
+ * @internal Used by component wrappers to merge explicit tooltip ids with trigger aria-describedby.
32
+ */
33
+ tooltipId?: string;
33
34
  }
34
35
 
35
36
  export interface TooltipTriggerAria {
36
37
  /** Props to spread on the trigger element. */
37
38
  triggerProps: JSX.HTMLAttributes<HTMLElement>;
38
39
  /** Props to spread on the tooltip element (id for accessibility). */
39
- tooltipProps: { id: string };
40
+ tooltipProps: { readonly id: string };
40
41
  }
41
42
 
42
- // ============================================
43
- // GLOBAL STATE
44
- // ============================================
45
-
46
- type Modality = 'keyboard' | 'pointer' | 'virtual';
43
+ type Modality = "keyboard" | "pointer" | "virtual";
47
44
  let currentModality: Modality | null = null;
48
45
 
49
46
  // Track interaction modality (pointer vs keyboard)
50
- if (typeof document !== 'undefined') {
51
- document.addEventListener('keydown', () => {
52
- currentModality = 'keyboard';
53
- }, true);
54
- document.addEventListener('pointerdown', () => {
55
- currentModality = 'pointer';
56
- }, true);
57
- document.addEventListener('pointermove', () => {
58
- currentModality = 'pointer';
59
- }, true);
47
+ if (typeof document !== "undefined") {
48
+ document.addEventListener(
49
+ "keydown",
50
+ () => {
51
+ currentModality = "keyboard";
52
+ },
53
+ true,
54
+ );
55
+ document.addEventListener(
56
+ "pointerdown",
57
+ () => {
58
+ currentModality = "pointer";
59
+ },
60
+ true,
61
+ );
62
+ document.addEventListener(
63
+ "pointermove",
64
+ () => {
65
+ currentModality = "pointer";
66
+ },
67
+ true,
68
+ );
60
69
  }
61
70
 
62
71
  function isFocusVisible(): boolean {
63
- return currentModality === 'keyboard';
72
+ return currentModality === "keyboard";
64
73
  }
65
74
 
66
- // ============================================
67
- // IMPLEMENTATION
68
- // ============================================
69
-
70
75
  /**
71
76
  * Provides the behavior and accessibility implementation for a tooltip trigger.
72
77
  *
@@ -100,20 +105,21 @@ function isFocusVisible(): boolean {
100
105
  export function createTooltipTrigger(
101
106
  props: TooltipTriggerProps,
102
107
  state: TooltipTriggerState,
103
- ref: () => HTMLElement | null | undefined
108
+ ref: () => HTMLElement | null | undefined,
104
109
  ): TooltipTriggerAria {
105
110
  const isDisabled = () => props.isDisabled ?? false;
106
- const trigger = () => props.trigger;
111
+ const trigger = () => props.trigger ?? "hover";
107
112
  const shouldCloseOnPress = () => props.shouldCloseOnPress ?? true;
108
113
 
109
- const tooltipId = createId();
114
+ const generatedTooltipId = createId();
115
+ const tooltipId = () => props.tooltipId ?? generatedTooltipId;
110
116
 
111
117
  // Track hover and focus state
112
118
  let isHovered = false;
113
119
  let isFocused = false;
114
120
 
115
121
  const handleShow = () => {
116
- if (isHovered || isFocused) {
122
+ if (!isDisabled() && (isHovered || isFocused)) {
117
123
  state.open(isFocused);
118
124
  }
119
125
  };
@@ -131,21 +137,21 @@ export function createTooltipTrigger(
131
137
  const onKeyDown = (e: KeyboardEvent) => {
132
138
  const element = ref();
133
139
  if (element) {
134
- if (e.key === 'Escape') {
140
+ if (e.key === "Escape") {
135
141
  e.stopPropagation();
136
142
  state.close(true);
137
143
  }
138
144
  }
139
145
  };
140
146
 
141
- document.addEventListener('keydown', onKeyDown, true);
147
+ document.addEventListener("keydown", onKeyDown, true);
142
148
  onCleanup(() => {
143
- document.removeEventListener('keydown', onKeyDown, true);
149
+ document.removeEventListener("keydown", onKeyDown, true);
144
150
  });
145
151
  });
146
152
 
147
153
  const onHoverStart = () => {
148
- if (trigger() === 'focus') {
154
+ if (isDisabled() || trigger() === "focus") {
149
155
  return;
150
156
  }
151
157
  // Hover events (onPointerEnter) only fire from pointer interactions,
@@ -155,7 +161,7 @@ export function createTooltipTrigger(
155
161
  };
156
162
 
157
163
  const onHoverEnd = () => {
158
- if (trigger() === 'focus') {
164
+ if (isDisabled() || trigger() === "focus") {
159
165
  return;
160
166
  }
161
167
  isFocused = false;
@@ -164,7 +170,7 @@ export function createTooltipTrigger(
164
170
  };
165
171
 
166
172
  const closeOnPress = () => {
167
- if (!shouldCloseOnPress()) {
173
+ if (isDisabled() || !shouldCloseOnPress()) {
168
174
  return;
169
175
  }
170
176
  isFocused = false;
@@ -173,13 +179,17 @@ export function createTooltipTrigger(
173
179
  };
174
180
 
175
181
  const onKeyDownPress = (event: KeyboardEvent) => {
176
- if (event.key !== 'Enter' && event.key !== ' ' && event.key !== 'Spacebar') {
182
+ if (event.key !== "Enter" && event.key !== " " && event.key !== "Spacebar") {
177
183
  return;
178
184
  }
179
185
  closeOnPress();
180
186
  };
181
187
 
182
188
  const onFocus = () => {
189
+ if (isDisabled()) {
190
+ return;
191
+ }
192
+
183
193
  const visible = isFocusVisible();
184
194
  if (visible) {
185
195
  isFocused = true;
@@ -193,14 +203,14 @@ export function createTooltipTrigger(
193
203
  handleHide(true);
194
204
  };
195
205
 
196
- const { hoverProps } = createHover({
206
+ const { hoverProps } = createHover(() => ({
197
207
  isDisabled: isDisabled(),
198
208
  onHoverStart,
199
209
  onHoverEnd,
200
- });
210
+ }));
201
211
 
202
212
  const { focusableProps } = createFocusable({
203
- isDisabled: isDisabled(),
213
+ isDisabled,
204
214
  onFocus,
205
215
  onBlur,
206
216
  });
@@ -208,8 +218,8 @@ export function createTooltipTrigger(
208
218
  const triggerProps = {
209
219
  ...focusableProps,
210
220
  ...hoverProps,
211
- get 'aria-describedby'() {
212
- return state.isOpen() ? tooltipId : undefined;
221
+ get "aria-describedby"() {
222
+ return !isDisabled() && state.isOpen() ? tooltipId() : undefined;
213
223
  },
214
224
  onPointerDown: closeOnPress,
215
225
  onKeyDown: onKeyDownPress,
@@ -220,7 +230,9 @@ export function createTooltipTrigger(
220
230
  return {
221
231
  triggerProps: triggerProps as JSX.HTMLAttributes<HTMLElement>,
222
232
  tooltipProps: {
223
- id: tooltipId,
233
+ get id() {
234
+ return tooltipId();
235
+ },
224
236
  },
225
237
  };
226
238
  }
@@ -1,6 +1,6 @@
1
- export { createTooltip, type TooltipProps, type TooltipAria } from './createTooltip';
1
+ export { createTooltip, type TooltipProps, type TooltipAria } from "./createTooltip";
2
2
  export {
3
3
  createTooltipTrigger,
4
4
  type TooltipTriggerProps,
5
5
  type TooltipTriggerAria,
6
- } from './createTooltipTrigger';
6
+ } from "./createTooltipTrigger";
@@ -3,11 +3,11 @@
3
3
  * Based on @react-aria/tree/useTree.
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 { TreeState, TreeCollection, Key } from '@proyecto-viviana/solid-stately';
10
- import type { AriaTreeProps, TreeAria } 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 { TreeState, TreeCollection, Key } from "@proyecto-viviana/solid-stately";
10
+ import type { AriaTreeProps, TreeAria } from "./types";
11
11
 
12
12
  /**
13
13
  * Metadata stored for a tree instance.
@@ -30,7 +30,7 @@ const treeDataMap = new WeakMap<object, TreeData>();
30
30
  * Gets the tree data for a given state.
31
31
  */
32
32
  export function getTreeData<T extends object, C extends TreeCollection<T>>(
33
- state: TreeState<T, C>
33
+ state: TreeState<T, C>,
34
34
  ): TreeData | undefined {
35
35
  return treeDataMap.get(state);
36
36
  }
@@ -41,7 +41,7 @@ export function getTreeData<T extends object, C extends TreeCollection<T>>(
41
41
  export function createTree<T extends object, C extends TreeCollection<T> = TreeCollection<T>>(
42
42
  props: Accessor<AriaTreeProps>,
43
43
  state: Accessor<TreeState<T, C>>,
44
- _ref: Accessor<HTMLDivElement | null>
44
+ _ref: Accessor<HTMLDivElement | null>,
45
45
  ): TreeAria {
46
46
  // Generate a unique ID for the tree
47
47
  const treeId = props().id ?? createId();
@@ -65,15 +65,15 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
65
65
  const p = props();
66
66
  const collection = s.collection;
67
67
  const focusedKey = s.focusedKey;
68
- const direction = p.direction ?? 'ltr';
68
+ const direction = p.direction ?? "ltr";
69
69
  // In RTL, ArrowLeft expands and ArrowRight collapses (opposite of LTR)
70
- const expandKey = direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight';
71
- const collapseKey = direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft';
70
+ const expandKey = direction === "rtl" ? "ArrowLeft" : "ArrowRight";
71
+ const collapseKey = direction === "rtl" ? "ArrowRight" : "ArrowLeft";
72
72
 
73
73
  if (p.isDisabled) return;
74
74
 
75
75
  switch (e.key) {
76
- case 'ArrowDown': {
76
+ case "ArrowDown": {
77
77
  e.preventDefault();
78
78
  if (focusedKey != null) {
79
79
  const nextKey = collection.getKeyAfter(focusedKey);
@@ -88,7 +88,7 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
88
88
  }
89
89
  break;
90
90
  }
91
- case 'ArrowUp': {
91
+ case "ArrowUp": {
92
92
  e.preventDefault();
93
93
  if (focusedKey != null) {
94
94
  const prevKey = collection.getKeyBefore(focusedKey);
@@ -103,8 +103,8 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
103
103
  }
104
104
  break;
105
105
  }
106
- case 'ArrowRight':
107
- case 'ArrowLeft': {
106
+ case "ArrowRight":
107
+ case "ArrowLeft": {
108
108
  e.preventDefault();
109
109
  if (focusedKey != null) {
110
110
  const node = collection.getItem(focusedKey);
@@ -131,7 +131,7 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
131
131
  }
132
132
  break;
133
133
  }
134
- case 'Home': {
134
+ case "Home": {
135
135
  e.preventDefault();
136
136
  const firstKey = collection.getFirstKey();
137
137
  if (firstKey != null) {
@@ -139,7 +139,7 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
139
139
  }
140
140
  break;
141
141
  }
142
- case 'End': {
142
+ case "End": {
143
143
  e.preventDefault();
144
144
  const lastKey = collection.getLastKey();
145
145
  if (lastKey != null) {
@@ -147,38 +147,38 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
147
147
  }
148
148
  break;
149
149
  }
150
- case 'a':
151
- case 'A': {
152
- if ((e.ctrlKey || e.metaKey) && s.selectionMode === 'multiple') {
150
+ case "a":
151
+ case "A": {
152
+ if ((e.ctrlKey || e.metaKey) && s.selectionMode === "multiple") {
153
153
  e.preventDefault();
154
154
  s.selectAll();
155
155
  }
156
156
  break;
157
157
  }
158
- case ' ':
159
- case 'Space':
160
- case 'Spacebar': {
161
- if (focusedKey != null && s.selectionMode !== 'none' && !s.isDisabled(focusedKey)) {
158
+ case " ":
159
+ case "Space":
160
+ case "Spacebar": {
161
+ if (focusedKey != null && s.selectionMode !== "none" && !s.isDisabled(focusedKey)) {
162
162
  e.preventDefault();
163
163
  s.toggleSelection(focusedKey);
164
164
  }
165
165
  break;
166
166
  }
167
- case 'Enter': {
167
+ case "Enter": {
168
168
  if (focusedKey != null && !s.isDisabled(focusedKey)) {
169
169
  e.preventDefault();
170
170
  p.onAction?.(focusedKey);
171
171
  }
172
172
  break;
173
173
  }
174
- case 'Escape': {
175
- if (s.selectionMode !== 'none') {
174
+ case "Escape": {
175
+ if (s.selectionMode !== "none") {
176
176
  e.preventDefault();
177
177
  s.clearSelection();
178
178
  }
179
179
  break;
180
180
  }
181
- case '*': {
181
+ case "*": {
182
182
  // Expand all siblings at current level
183
183
  e.preventDefault();
184
184
  if (focusedKey != null) {
@@ -191,9 +191,7 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
191
191
  siblings = [...collection.getChildren(parentKey)].map((n) => n.key);
192
192
  } else {
193
193
  // Root level siblings
194
- siblings = collection.rows
195
- .filter((n) => n.level === 0)
196
- .map((n) => n.key);
194
+ siblings = collection.rows.filter((n) => n.level === 0).map((n) => n.key);
197
195
  }
198
196
  // Expand all expandable siblings
199
197
  for (const siblingKey of siblings) {
@@ -232,13 +230,13 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
232
230
  const s = state();
233
231
 
234
232
  const baseProps: Record<string, unknown> = {
235
- role: 'treegrid',
233
+ role: "treegrid",
236
234
  id: treeId,
237
- 'aria-label': p['aria-label'],
238
- 'aria-labelledby': p['aria-labelledby'],
239
- 'aria-describedby': p['aria-describedby'],
240
- 'aria-multiselectable': s.selectionMode === 'multiple' ? true : undefined,
241
- 'aria-disabled': p.isDisabled || undefined,
235
+ "aria-label": p["aria-label"],
236
+ "aria-labelledby": p["aria-labelledby"],
237
+ "aria-describedby": p["aria-describedby"],
238
+ "aria-multiselectable": s.selectionMode === "multiple" ? true : undefined,
239
+ "aria-disabled": p.isDisabled || undefined,
242
240
  tabIndex: p.isDisabled ? undefined : 0,
243
241
  onKeyDown,
244
242
  onFocus,
@@ -247,7 +245,7 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
247
245
 
248
246
  // Add row count for virtualized trees
249
247
  if (p.isVirtualized) {
250
- baseProps['aria-rowcount'] = s.collection.rowCount;
248
+ baseProps["aria-rowcount"] = s.collection.rowCount;
251
249
  }
252
250
 
253
251
  return baseProps as JSX.HTMLAttributes<HTMLDivElement>;
@@ -3,12 +3,12 @@
3
3
  * Based on @react-aria/tree/useTreeItem.
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 { TreeState, TreeCollection } from '@proyecto-viviana/solid-stately';
10
- import type { AriaTreeItemProps, TreeItemAria } from './types';
11
- import { getTreeData } from './createTree';
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 { TreeState, TreeCollection } from "@proyecto-viviana/solid-stately";
10
+ import type { AriaTreeItemProps, TreeItemAria } from "./types";
11
+ import { getTreeData } from "./createTree";
12
12
 
13
13
  /**
14
14
  * Creates accessibility props for a tree item.
@@ -16,7 +16,7 @@ import { getTreeData } from './createTree';
16
16
  export function createTreeItem<T extends object, C extends TreeCollection<T> = TreeCollection<T>>(
17
17
  props: Accessor<AriaTreeItemProps<T>>,
18
18
  state: Accessor<TreeState<T, C>>,
19
- _ref: Accessor<HTMLDivElement | null>
19
+ _ref: Accessor<HTMLElement | null>,
20
20
  ): TreeItemAria {
21
21
  const [isPressed, setIsPressed] = createSignal(false);
22
22
  const rowId = createId();
@@ -31,7 +31,7 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
31
31
  const isDisabled = createMemo(() => {
32
32
  const s = state();
33
33
  const p = props();
34
- return s.isDisabled(p.node.key);
34
+ return p.isDisabled === true || s.isDisabled(p.node.key);
35
35
  });
36
36
 
37
37
  const isFocused = createMemo(() => {
@@ -68,14 +68,14 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
68
68
  const onAction = treeData?.actions.onAction;
69
69
 
70
70
  // Handle selection
71
- if (s.selectionMode !== 'none') {
72
- if (e.shiftKey && s.selectionMode === 'multiple') {
71
+ if (s.selectionMode !== "none") {
72
+ if (e.shiftKey && s.selectionMode === "multiple") {
73
73
  s.extendSelection(p.node.key);
74
- } else if (e.ctrlKey || e.metaKey) {
74
+ } else if (p.selectionBehavior === "toggle" || e.ctrlKey || e.metaKey) {
75
75
  s.toggleSelection(p.node.key);
76
76
  } else {
77
77
  // Replace selection or toggle if already selected
78
- if (isSelected() && s.selectedKeys !== 'all') {
78
+ if (isSelected() && s.selectedKeys !== "all") {
79
79
  const selectedKeys = s.selectedKeys as Set<unknown>;
80
80
  if (selectedKeys.size === 1) {
81
81
  // Single selection, trigger action
@@ -109,7 +109,7 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
109
109
 
110
110
  if (isDisabled()) return;
111
111
 
112
- if (e.key === 'Enter') {
112
+ if (e.key === "Enter") {
113
113
  // Get tree metadata for actions
114
114
  const treeData = getTreeData(s);
115
115
  const onAction = treeData?.actions.onAction;
@@ -125,9 +125,9 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
125
125
  p.onAction();
126
126
  }
127
127
  }
128
- } else if (e.key === ' ' || e.key === 'Space' || e.key === 'Spacebar') {
128
+ } else if (e.key === " " || e.key === "Space" || e.key === "Spacebar") {
129
129
  // Space toggles selection
130
- if (s.selectionMode !== 'none') {
130
+ if (s.selectionMode !== "none") {
131
131
  e.preventDefault();
132
132
  s.toggleSelection(p.node.key);
133
133
  }
@@ -184,15 +184,15 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
184
184
  const textValue = p.textValue ?? node.textValue;
185
185
 
186
186
  const baseProps: Record<string, unknown> = {
187
- role: 'row',
187
+ role: "row",
188
188
  id: rowId,
189
- 'aria-label': textValue || undefined,
190
- 'aria-selected': s.selectionMode !== 'none' ? isSelected() : undefined,
191
- 'aria-disabled': isDisabled() || undefined,
192
- 'aria-expanded': isExpandable() ? isExpanded() : undefined,
193
- 'aria-level': node.level + 1, // 1-based for ARIA
194
- 'aria-posinset': posinset,
195
- 'aria-setsize': setsize,
189
+ "aria-label": textValue || undefined,
190
+ "aria-selected": s.selectionMode !== "none" ? isSelected() : undefined,
191
+ "aria-disabled": isDisabled() || undefined,
192
+ "aria-expanded": isExpandable() ? isExpanded() : undefined,
193
+ "aria-level": node.level + 1, // 1-based for ARIA
194
+ "aria-posinset": posinset,
195
+ "aria-setsize": setsize,
196
196
  tabIndex: isFocused() ? 0 : -1,
197
197
  onClick,
198
198
  onKeyDown,
@@ -203,7 +203,7 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
203
203
 
204
204
  // Add aria-rowindex for virtualized trees
205
205
  if (p.isVirtualized && node.rowIndex != null) {
206
- baseProps['aria-rowindex'] = node.rowIndex + 1; // 1-based
206
+ baseProps["aria-rowindex"] = node.rowIndex + 1; // 1-based
207
207
  }
208
208
 
209
209
  return baseProps as JSX.HTMLAttributes<HTMLDivElement>;
@@ -211,7 +211,7 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
211
211
 
212
212
  const gridCellProps = createMemo(() => {
213
213
  return {
214
- role: 'gridcell',
214
+ role: "gridcell",
215
215
  } as JSX.HTMLAttributes<HTMLDivElement>;
216
216
  });
217
217
 
@@ -234,17 +234,17 @@ export function createTreeItem<T extends object, C extends TreeCollection<T> = T
234
234
 
235
235
  const expandButtonProps = createMemo(() => {
236
236
  const baseProps: Record<string, unknown> = {
237
- type: 'button',
237
+ type: "button",
238
238
  id: expandButtonId,
239
- 'aria-label': isExpanded() ? 'Collapse' : 'Expand',
240
- 'aria-labelledby': isExpandable() ? `${expandButtonId} ${rowId}` : undefined,
239
+ "aria-label": isExpanded() ? "Collapse" : "Expand",
240
+ "aria-labelledby": isExpandable() ? `${expandButtonId} ${rowId}` : undefined,
241
241
  onClick: onExpandClick,
242
242
  onPointerDown: stopPointerPropagation,
243
243
  onPointerUp: stopPointerPropagation,
244
244
  onMouseDown: stopPointerPropagation,
245
245
  onMouseUp: stopPointerPropagation,
246
246
  tabIndex: -1, // Not in tab order, use arrow keys
247
- 'aria-hidden': !isExpandable() ? true : undefined,
247
+ "aria-hidden": !isExpandable() ? true : undefined,
248
248
  };
249
249
 
250
250
  return baseProps as JSX.ButtonHTMLAttributes<HTMLButtonElement>;
@@ -3,17 +3,20 @@
3
3
  * Based on @react-aria/gridlist/useGridListSelectionCheckbox.
4
4
  */
5
5
 
6
- import { createMemo, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import type { TreeState, TreeCollection } from '@proyecto-viviana/solid-stately';
9
- import type { AriaTreeSelectionCheckboxProps, TreeSelectionCheckboxAria } from './types';
6
+ import { createMemo, type Accessor } from "solid-js";
7
+ import type { JSX } from "solid-js";
8
+ import type { TreeState, TreeCollection } from "@proyecto-viviana/solid-stately";
9
+ import type { AriaTreeSelectionCheckboxProps, TreeSelectionCheckboxAria } from "./types";
10
10
 
11
11
  /**
12
12
  * Creates accessibility props for a tree selection checkbox.
13
13
  */
14
- export function createTreeSelectionCheckbox<T extends object, C extends TreeCollection<T> = TreeCollection<T>>(
14
+ export function createTreeSelectionCheckbox<
15
+ T extends object,
16
+ C extends TreeCollection<T> = TreeCollection<T>,
17
+ >(
15
18
  props: Accessor<AriaTreeSelectionCheckboxProps>,
16
- state: Accessor<TreeState<T, C>>
19
+ state: Accessor<TreeState<T, C>>,
17
20
  ): TreeSelectionCheckboxAria {
18
21
  const isSelected = createMemo(() => {
19
22
  const s = state();
@@ -48,8 +51,8 @@ export function createTreeSelectionCheckbox<T extends object, C extends TreeColl
48
51
 
49
52
  const checkboxProps = createMemo(() => {
50
53
  const baseProps: Record<string, unknown> = {
51
- type: 'checkbox',
52
- 'aria-label': 'Select',
54
+ type: "checkbox",
55
+ "aria-label": "Select",
53
56
  checked: isSelected(),
54
57
  disabled: isDisabled(),
55
58
  onChange,