@proyecto-viviana/solidaria 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/README.md +31 -236
  2. package/dist/actiongroup/createActionGroup.d.ts +5 -5
  3. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  4. package/dist/actiongroup/index.d.ts +1 -1
  5. package/dist/autocomplete/createAutocomplete.d.ts +10 -10
  6. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  7. package/dist/autocomplete/index.d.ts +1 -1
  8. package/dist/autocomplete/index.d.ts.map +1 -1
  9. package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
  10. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  11. package/dist/breadcrumbs/index.d.ts +1 -1
  12. package/dist/button/createButton.d.ts +1 -1
  13. package/dist/button/createButton.d.ts.map +1 -1
  14. package/dist/button/createToggleButton.d.ts +3 -3
  15. package/dist/button/createToggleButtonGroup.d.ts +7 -7
  16. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  17. package/dist/button/index.d.ts +6 -6
  18. package/dist/button/index.d.ts.map +1 -1
  19. package/dist/button/types.d.ts +18 -12
  20. package/dist/button/types.d.ts.map +1 -1
  21. package/dist/calendar/createCalendar.d.ts +15 -5
  22. package/dist/calendar/createCalendar.d.ts.map +1 -1
  23. package/dist/calendar/createCalendarCell.d.ts +6 -2
  24. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  25. package/dist/calendar/createCalendarGrid.d.ts +4 -4
  26. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  27. package/dist/calendar/createRangeCalendar.d.ts +15 -5
  28. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  29. package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
  30. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  31. package/dist/calendar/index.d.ts +5 -5
  32. package/dist/calendar/index.d.ts.map +1 -1
  33. package/dist/calendar/intl/index.d.ts +12 -0
  34. package/dist/calendar/intl/index.d.ts.map +1 -0
  35. package/dist/calendar/utils.d.ts +12 -0
  36. package/dist/calendar/utils.d.ts.map +1 -0
  37. package/dist/checkbox/createCheckbox.d.ts +6 -6
  38. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  39. package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
  40. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  41. package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
  42. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  43. package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
  44. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
  45. package/dist/checkbox/index.d.ts +8 -8
  46. package/dist/checkbox/index.d.ts.map +1 -1
  47. package/dist/collections/index.d.ts +3 -3
  48. package/dist/collections/index.d.ts.map +1 -1
  49. package/dist/color/createColorArea.d.ts +3 -3
  50. package/dist/color/createColorArea.d.ts.map +1 -1
  51. package/dist/color/createColorField.d.ts +4 -4
  52. package/dist/color/createColorField.d.ts.map +1 -1
  53. package/dist/color/createColorSlider.d.ts +4 -4
  54. package/dist/color/createColorSlider.d.ts.map +1 -1
  55. package/dist/color/createColorSwatch.d.ts +2 -2
  56. package/dist/color/createColorSwatch.d.ts.map +1 -1
  57. package/dist/color/createColorWheel.d.ts +3 -3
  58. package/dist/color/createColorWheel.d.ts.map +1 -1
  59. package/dist/color/index.d.ts +6 -6
  60. package/dist/color/types.d.ts +98 -16
  61. package/dist/color/types.d.ts.map +1 -1
  62. package/dist/combobox/createComboBox.d.ts +10 -7
  63. package/dist/combobox/createComboBox.d.ts.map +1 -1
  64. package/dist/combobox/index.d.ts +1 -1
  65. package/dist/combobox/intl/index.d.ts +1 -1
  66. package/dist/datepicker/createDateField.d.ts +18 -6
  67. package/dist/datepicker/createDateField.d.ts.map +1 -1
  68. package/dist/datepicker/createDatePicker.d.ts +51 -5
  69. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  70. package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
  71. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
  72. package/dist/datepicker/createDateRangePicker.d.ts +8 -6
  73. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  74. package/dist/datepicker/createDateSegment.d.ts +10 -2
  75. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  76. package/dist/datepicker/createTimeField.d.ts +11 -5
  77. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  78. package/dist/datepicker/createTimeSegment.d.ts +2 -2
  79. package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
  80. package/dist/datepicker/index.d.ts +7 -6
  81. package/dist/datepicker/index.d.ts.map +1 -1
  82. package/dist/dialog/createDialog.d.ts +5 -5
  83. package/dist/dialog/createDialog.d.ts.map +1 -1
  84. package/dist/dialog/index.d.ts +2 -2
  85. package/dist/dialog/index.d.ts.map +1 -1
  86. package/dist/dialog/types.d.ts +4 -4
  87. package/dist/disclosure/createDisclosure.d.ts +5 -2
  88. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  89. package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
  90. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  91. package/dist/disclosure/index.d.ts +2 -2
  92. package/dist/dnd/createDrag.d.ts +2 -2
  93. package/dist/dnd/createDrag.d.ts.map +1 -1
  94. package/dist/dnd/createDraggableCollection.d.ts +2 -2
  95. package/dist/dnd/createDraggableItem.d.ts +3 -3
  96. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  97. package/dist/dnd/createDrop.d.ts +2 -2
  98. package/dist/dnd/createDrop.d.ts.map +1 -1
  99. package/dist/dnd/createDroppableCollection.d.ts +26 -6
  100. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  101. package/dist/dnd/createDroppableItem.d.ts +3 -3
  102. package/dist/dnd/index.d.ts +12 -12
  103. package/dist/dnd/index.d.ts.map +1 -1
  104. package/dist/dnd/types.d.ts +2 -2
  105. package/dist/dnd/types.d.ts.map +1 -1
  106. package/dist/dnd/utils.d.ts +1 -1
  107. package/dist/dnd/utils.d.ts.map +1 -1
  108. package/dist/focus/FocusScope.d.ts +1 -1
  109. package/dist/focus/FocusScope.d.ts.map +1 -1
  110. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  111. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  112. package/dist/focus/createVirtualFocus.d.ts +4 -4
  113. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  114. package/dist/focus/index.d.ts +4 -4
  115. package/dist/focus/index.d.ts.map +1 -1
  116. package/dist/form/createFormReset.d.ts +1 -1
  117. package/dist/form/createFormValidation.d.ts +3 -3
  118. package/dist/form/createFormValidation.d.ts.map +1 -1
  119. package/dist/form/index.d.ts +2 -2
  120. package/dist/form/index.d.ts.map +1 -1
  121. package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
  122. package/dist/grid/createGrid.d.ts +3 -3
  123. package/dist/grid/createGridCell.d.ts +3 -3
  124. package/dist/grid/createGridRow.d.ts +3 -3
  125. package/dist/grid/index.d.ts +5 -5
  126. package/dist/grid/types.d.ts +8 -8
  127. package/dist/gridlist/createGridList.d.ts +6 -4
  128. package/dist/gridlist/createGridList.d.ts.map +1 -1
  129. package/dist/gridlist/createGridListItem.d.ts +4 -4
  130. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  131. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
  132. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  133. package/dist/gridlist/index.d.ts +4 -4
  134. package/dist/gridlist/types.d.ts +11 -7
  135. package/dist/gridlist/types.d.ts.map +1 -1
  136. package/dist/i18n/createCollator.d.ts.map +1 -1
  137. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  138. package/dist/i18n/createFilter.d.ts.map +1 -1
  139. package/dist/i18n/createNumberFormatter.d.ts +1 -1
  140. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  141. package/dist/i18n/createStringFormatter.d.ts +2 -2
  142. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  143. package/dist/i18n/index.d.ts +8 -8
  144. package/dist/i18n/index.d.ts.map +1 -1
  145. package/dist/i18n/locale.d.ts +2 -2
  146. package/dist/i18n/locale.d.ts.map +1 -1
  147. package/dist/i18n/utils.d.ts.map +1 -1
  148. package/dist/index.d.ts +52 -51
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js +18012 -16820
  151. package/dist/index.js.map +1 -1
  152. package/dist/index.jsx +18242 -0
  153. package/dist/index.jsx.map +1 -0
  154. package/dist/interactions/FocusableProvider.d.ts +2 -2
  155. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  156. package/dist/interactions/PressEvent.d.ts +2 -2
  157. package/dist/interactions/createFocus.d.ts +1 -1
  158. package/dist/interactions/createFocus.d.ts.map +1 -1
  159. package/dist/interactions/createFocusRing.d.ts +1 -1
  160. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  161. package/dist/interactions/createFocusWithin.d.ts +1 -1
  162. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  163. package/dist/interactions/createFocusable.d.ts +3 -3
  164. package/dist/interactions/createFocusable.d.ts.map +1 -1
  165. package/dist/interactions/createHover.d.ts +5 -5
  166. package/dist/interactions/createHover.d.ts.map +1 -1
  167. package/dist/interactions/createInteractionModality.d.ts +3 -3
  168. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  169. package/dist/interactions/createKeyboard.d.ts +1 -1
  170. package/dist/interactions/createLongPress.d.ts +5 -5
  171. package/dist/interactions/createMove.d.ts +5 -5
  172. package/dist/interactions/createMove.d.ts.map +1 -1
  173. package/dist/interactions/createPress.d.ts +4 -4
  174. package/dist/interactions/createPress.d.ts.map +1 -1
  175. package/dist/interactions/index.d.ts +12 -12
  176. package/dist/interactions/index.d.ts.map +1 -1
  177. package/dist/label/createField.d.ts +4 -4
  178. package/dist/label/createField.d.ts.map +1 -1
  179. package/dist/label/createLabel.d.ts +7 -7
  180. package/dist/label/createLabel.d.ts.map +1 -1
  181. package/dist/label/createLabels.d.ts +1 -1
  182. package/dist/label/createLabels.d.ts.map +1 -1
  183. package/dist/label/index.d.ts +5 -5
  184. package/dist/landmark/createLandmark.d.ts +5 -5
  185. package/dist/landmark/createLandmark.d.ts.map +1 -1
  186. package/dist/landmark/index.d.ts +1 -1
  187. package/dist/link/createLink.d.ts +14 -8
  188. package/dist/link/createLink.d.ts.map +1 -1
  189. package/dist/link/index.d.ts +1 -1
  190. package/dist/listbox/createListBox.d.ts +11 -6
  191. package/dist/listbox/createListBox.d.ts.map +1 -1
  192. package/dist/listbox/createOption.d.ts +21 -4
  193. package/dist/listbox/createOption.d.ts.map +1 -1
  194. package/dist/listbox/index.d.ts +2 -2
  195. package/dist/listbox/index.d.ts.map +1 -1
  196. package/dist/live-announcer/announce.d.ts +2 -2
  197. package/dist/live-announcer/announce.d.ts.map +1 -1
  198. package/dist/live-announcer/index.d.ts +1 -1
  199. package/dist/menu/createMenu.d.ts +7 -7
  200. package/dist/menu/createMenu.d.ts.map +1 -1
  201. package/dist/menu/createMenuItem.d.ts +16 -4
  202. package/dist/menu/createMenuItem.d.ts.map +1 -1
  203. package/dist/menu/createMenuTrigger.d.ts +4 -4
  204. package/dist/menu/index.d.ts +3 -3
  205. package/dist/menu/index.d.ts.map +1 -1
  206. package/dist/meter/createMeter.d.ts +6 -6
  207. package/dist/meter/createMeter.d.ts.map +1 -1
  208. package/dist/meter/index.d.ts +1 -1
  209. package/dist/numberfield/createNumberField.d.ts +9 -8
  210. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  211. package/dist/numberfield/index.d.ts +1 -1
  212. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  213. package/dist/overlays/createModal.d.ts +3 -3
  214. package/dist/overlays/createModal.d.ts.map +1 -1
  215. package/dist/overlays/createOverlay.d.ts +1 -1
  216. package/dist/overlays/createOverlay.d.ts.map +1 -1
  217. package/dist/overlays/createOverlayTrigger.d.ts +6 -6
  218. package/dist/overlays/index.d.ts +6 -6
  219. package/dist/overlays/index.d.ts.map +1 -1
  220. package/dist/popover/calculatePosition.d.ts +4 -4
  221. package/dist/popover/calculatePosition.d.ts.map +1 -1
  222. package/dist/popover/createOverlayPosition.d.ts +3 -3
  223. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  224. package/dist/popover/createPopover.d.ts +4 -4
  225. package/dist/popover/createPopover.d.ts.map +1 -1
  226. package/dist/popover/index.d.ts +3 -3
  227. package/dist/progress/createProgressBar.d.ts +7 -5
  228. package/dist/progress/createProgressBar.d.ts.map +1 -1
  229. package/dist/progress/index.d.ts +1 -1
  230. package/dist/radio/createRadio.d.ts +7 -7
  231. package/dist/radio/createRadio.d.ts.map +1 -1
  232. package/dist/radio/createRadioGroup.d.ts +10 -10
  233. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  234. package/dist/radio/createRadioGroupState.d.ts +3 -3
  235. package/dist/radio/createRadioGroupState.d.ts.map +1 -1
  236. package/dist/radio/index.d.ts +3 -3
  237. package/dist/radio/index.d.ts.map +1 -1
  238. package/dist/searchfield/createSearchField.d.ts +7 -7
  239. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  240. package/dist/searchfield/index.d.ts +2 -2
  241. package/dist/select/createHiddenSelect.d.ts +4 -4
  242. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  243. package/dist/select/createSelect.d.ts +14 -6
  244. package/dist/select/createSelect.d.ts.map +1 -1
  245. package/dist/select/index.d.ts +2 -2
  246. package/dist/select/index.d.ts.map +1 -1
  247. package/dist/selection/createTypeSelect.d.ts +2 -2
  248. package/dist/selection/index.d.ts +1 -1
  249. package/dist/separator/createSeparator.d.ts +9 -5
  250. package/dist/separator/createSeparator.d.ts.map +1 -1
  251. package/dist/separator/index.d.ts +1 -1
  252. package/dist/slider/createSlider.d.ts +11 -7
  253. package/dist/slider/createSlider.d.ts.map +1 -1
  254. package/dist/slider/index.d.ts +2 -2
  255. package/dist/ssr/index.d.ts +1 -1
  256. package/dist/ssr/index.d.ts.map +1 -1
  257. package/dist/steplist/createStepList.d.ts +36 -0
  258. package/dist/steplist/createStepList.d.ts.map +1 -0
  259. package/dist/steplist/index.d.ts +2 -0
  260. package/dist/steplist/index.d.ts.map +1 -0
  261. package/dist/switch/createSwitch.d.ts +6 -4
  262. package/dist/switch/createSwitch.d.ts.map +1 -1
  263. package/dist/switch/index.d.ts +1 -1
  264. package/dist/table/createTable.d.ts +3 -3
  265. package/dist/table/createTable.d.ts.map +1 -1
  266. package/dist/table/createTableCell.d.ts +3 -3
  267. package/dist/table/createTableCell.d.ts.map +1 -1
  268. package/dist/table/createTableColumnHeader.d.ts +3 -3
  269. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  270. package/dist/table/createTableColumnResize.d.ts +41 -0
  271. package/dist/table/createTableColumnResize.d.ts.map +1 -0
  272. package/dist/table/createTableHeaderRow.d.ts +3 -3
  273. package/dist/table/createTableRow.d.ts +3 -3
  274. package/dist/table/createTableRow.d.ts.map +1 -1
  275. package/dist/table/createTableRowGroup.d.ts +2 -2
  276. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  277. package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
  278. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  279. package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
  280. package/dist/table/index.d.ts +11 -9
  281. package/dist/table/index.d.ts.map +1 -1
  282. package/dist/table/types.d.ts +15 -7
  283. package/dist/table/types.d.ts.map +1 -1
  284. package/dist/tabs/createTabs.d.ts +28 -25
  285. package/dist/tabs/createTabs.d.ts.map +1 -1
  286. package/dist/tabs/index.d.ts +1 -1
  287. package/dist/tag/createTag.d.ts +2 -2
  288. package/dist/tag/createTag.d.ts.map +1 -1
  289. package/dist/tag/createTagGroup.d.ts +5 -5
  290. package/dist/tag/createTagGroup.d.ts.map +1 -1
  291. package/dist/tag/index.d.ts +2 -2
  292. package/dist/tag/index.d.ts.map +1 -1
  293. package/dist/textfield/createTextField.d.ts +17 -11
  294. package/dist/textfield/createTextField.d.ts.map +1 -1
  295. package/dist/textfield/index.d.ts +1 -1
  296. package/dist/textfield/index.d.ts.map +1 -1
  297. package/dist/toast/createToast.d.ts +2 -2
  298. package/dist/toast/createToast.d.ts.map +1 -1
  299. package/dist/toast/createToastRegion.d.ts +5 -3
  300. package/dist/toast/createToastRegion.d.ts.map +1 -1
  301. package/dist/toast/index.d.ts +2 -2
  302. package/dist/toast/index.d.ts.map +1 -1
  303. package/dist/toggle/createToggle.d.ts +9 -9
  304. package/dist/toggle/createToggle.d.ts.map +1 -1
  305. package/dist/toggle/createToggleState.d.ts +2 -2
  306. package/dist/toggle/createToggleState.d.ts.map +1 -1
  307. package/dist/toggle/index.d.ts +4 -4
  308. package/dist/toggle/index.d.ts.map +1 -1
  309. package/dist/toolbar/createToolbar.d.ts +9 -9
  310. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  311. package/dist/toolbar/index.d.ts +1 -1
  312. package/dist/toolbar/index.d.ts.map +1 -1
  313. package/dist/tooltip/createTooltip.d.ts +5 -5
  314. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  315. package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
  316. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  317. package/dist/tooltip/index.d.ts +2 -2
  318. package/dist/tree/createTree.d.ts +3 -3
  319. package/dist/tree/createTree.d.ts.map +1 -1
  320. package/dist/tree/createTreeItem.d.ts +4 -4
  321. package/dist/tree/createTreeItem.d.ts.map +1 -1
  322. package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
  323. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  324. package/dist/tree/index.d.ts +4 -4
  325. package/dist/tree/types.d.ts +10 -6
  326. package/dist/tree/types.d.ts.map +1 -1
  327. package/dist/utils/createDescription.d.ts +2 -2
  328. package/dist/utils/createDescription.d.ts.map +1 -1
  329. package/dist/utils/dom.d.ts.map +1 -1
  330. package/dist/utils/env.d.ts.map +1 -1
  331. package/dist/utils/focus.d.ts +1 -1
  332. package/dist/utils/focus.d.ts.map +1 -1
  333. package/dist/utils/geometry.d.ts.map +1 -1
  334. package/dist/utils/index.d.ts +12 -12
  335. package/dist/utils/index.d.ts.map +1 -1
  336. package/dist/utils/mergeProps.d.ts.map +1 -1
  337. package/dist/utils/reactivity.d.ts +1 -1
  338. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
  339. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  340. package/dist/visually-hidden/index.d.ts +1 -1
  341. package/package.json +32 -32
  342. package/src/actiongroup/createActionGroup.ts +101 -91
  343. package/src/actiongroup/index.ts +1 -1
  344. package/src/autocomplete/createAutocomplete.ts +117 -134
  345. package/src/autocomplete/index.ts +1 -1
  346. package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
  347. package/src/breadcrumbs/index.ts +1 -1
  348. package/src/button/createButton.ts +102 -73
  349. package/src/button/createToggleButton.ts +10 -10
  350. package/src/button/createToggleButtonGroup.ts +25 -32
  351. package/src/button/index.ts +6 -9
  352. package/src/button/types.ts +18 -12
  353. package/src/calendar/createCalendar.ts +62 -29
  354. package/src/calendar/createCalendarCell.ts +98 -46
  355. package/src/calendar/createCalendarGrid.ts +57 -35
  356. package/src/calendar/createRangeCalendar.ts +66 -31
  357. package/src/calendar/createRangeCalendarCell.ts +92 -31
  358. package/src/calendar/index.ts +5 -9
  359. package/src/calendar/intl/index.ts +210 -0
  360. package/src/calendar/utils.ts +227 -0
  361. package/src/checkbox/createCheckbox.ts +13 -21
  362. package/src/checkbox/createCheckboxGroup.ts +68 -44
  363. package/src/checkbox/createCheckboxGroupItem.ts +16 -27
  364. package/src/checkbox/createCheckboxGroupState.ts +3 -22
  365. package/src/checkbox/index.ts +8 -10
  366. package/src/collections/index.ts +33 -29
  367. package/src/color/createColorArea.ts +232 -154
  368. package/src/color/createColorField.ts +107 -58
  369. package/src/color/createColorSlider.ts +231 -73
  370. package/src/color/createColorSwatch.ts +38 -13
  371. package/src/color/createColorWheel.ts +208 -83
  372. package/src/color/index.ts +6 -6
  373. package/src/color/types.ts +98 -16
  374. package/src/combobox/createComboBox.ts +157 -100
  375. package/src/combobox/index.ts +1 -1
  376. package/src/combobox/intl/index.ts +5 -5
  377. package/src/datepicker/createDateField.ts +192 -39
  378. package/src/datepicker/createDatePicker.ts +260 -67
  379. package/src/datepicker/createDatePickerGroup.ts +149 -0
  380. package/src/datepicker/createDateRangePicker.ts +105 -57
  381. package/src/datepicker/createDateSegment.ts +183 -96
  382. package/src/datepicker/createTimeField.ts +38 -34
  383. package/src/datepicker/createTimeSegment.ts +67 -85
  384. package/src/datepicker/index.ts +13 -14
  385. package/src/dialog/createDialog.ts +45 -38
  386. package/src/dialog/index.ts +2 -2
  387. package/src/dialog/types.ts +4 -4
  388. package/src/disclosure/createDisclosure.ts +138 -33
  389. package/src/disclosure/createDisclosureGroup.ts +8 -21
  390. package/src/disclosure/index.ts +2 -2
  391. package/src/dnd/createDrag.ts +19 -25
  392. package/src/dnd/createDraggableCollection.ts +4 -4
  393. package/src/dnd/createDraggableItem.ts +20 -19
  394. package/src/dnd/createDrop.ts +42 -51
  395. package/src/dnd/createDroppableCollection.ts +290 -173
  396. package/src/dnd/createDroppableItem.ts +34 -34
  397. package/src/dnd/index.ts +23 -12
  398. package/src/dnd/types.ts +4 -7
  399. package/src/dnd/utils.ts +36 -49
  400. package/src/focus/FocusScope.tsx +155 -164
  401. package/src/focus/createAutoFocus.ts +4 -20
  402. package/src/focus/createFocusRestore.ts +15 -28
  403. package/src/focus/createVirtualFocus.ts +20 -36
  404. package/src/focus/index.ts +4 -8
  405. package/src/form/createFormReset.ts +4 -4
  406. package/src/form/createFormValidation.ts +20 -43
  407. package/src/form/index.ts +2 -5
  408. package/src/grid/GridKeyboardDelegate.ts +30 -30
  409. package/src/grid/createGrid.ts +36 -36
  410. package/src/grid/createGridCell.ts +18 -18
  411. package/src/grid/createGridRow.ts +14 -14
  412. package/src/grid/index.ts +5 -5
  413. package/src/grid/types.ts +8 -8
  414. package/src/gridlist/createGridList.ts +34 -29
  415. package/src/gridlist/createGridListItem.ts +68 -23
  416. package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
  417. package/src/gridlist/index.ts +4 -4
  418. package/src/gridlist/types.ts +11 -7
  419. package/src/i18n/createCollator.ts +5 -18
  420. package/src/i18n/createDateFormatter.ts +5 -13
  421. package/src/i18n/createFilter.ts +11 -24
  422. package/src/i18n/createNumberFormatter.ts +4 -6
  423. package/src/i18n/createStringFormatter.ts +19 -15
  424. package/src/i18n/index.ts +8 -11
  425. package/src/i18n/locale.tsx +15 -40
  426. package/src/i18n/utils.ts +35 -39
  427. package/src/index.ts +68 -169
  428. package/src/interactions/FocusableProvider.tsx +3 -7
  429. package/src/interactions/PressEvent.ts +4 -4
  430. package/src/interactions/createFocus.ts +12 -8
  431. package/src/interactions/createFocusRing.ts +21 -19
  432. package/src/interactions/createFocusWithin.ts +20 -13
  433. package/src/interactions/createFocusable.ts +15 -16
  434. package/src/interactions/createHover.ts +70 -55
  435. package/src/interactions/createInteractionModality.ts +75 -82
  436. package/src/interactions/createKeyboard.ts +2 -2
  437. package/src/interactions/createLongPress.ts +23 -23
  438. package/src/interactions/createMove.ts +72 -62
  439. package/src/interactions/createPress.ts +164 -87
  440. package/src/interactions/index.ts +24 -16
  441. package/src/label/createField.ts +18 -19
  442. package/src/label/createLabel.ts +18 -30
  443. package/src/label/createLabels.ts +8 -12
  444. package/src/label/index.ts +5 -5
  445. package/src/landmark/createLandmark.ts +30 -51
  446. package/src/landmark/index.ts +1 -1
  447. package/src/link/createLink.ts +83 -56
  448. package/src/link/index.ts +1 -1
  449. package/src/listbox/createListBox.ts +69 -58
  450. package/src/listbox/createOption.ts +83 -37
  451. package/src/listbox/index.ts +2 -6
  452. package/src/live-announcer/announce.ts +44 -71
  453. package/src/live-announcer/index.ts +1 -1
  454. package/src/menu/createMenu.ts +79 -50
  455. package/src/menu/createMenuItem.ts +79 -27
  456. package/src/menu/createMenuTrigger.ts +15 -15
  457. package/src/menu/index.ts +3 -12
  458. package/src/meter/createMeter.ts +7 -15
  459. package/src/meter/index.ts +1 -1
  460. package/src/numberfield/createNumberField.ts +138 -81
  461. package/src/numberfield/index.ts +1 -1
  462. package/src/overlays/ariaHideOutside.ts +14 -10
  463. package/src/overlays/createInteractOutside.ts +21 -18
  464. package/src/overlays/createModal.tsx +17 -17
  465. package/src/overlays/createOverlay.ts +38 -8
  466. package/src/overlays/createOverlayTrigger.ts +16 -16
  467. package/src/overlays/createPreventScroll.ts +46 -24
  468. package/src/overlays/index.ts +6 -17
  469. package/src/popover/calculatePosition.ts +115 -117
  470. package/src/popover/createOverlayPosition.ts +46 -40
  471. package/src/popover/createPopover.ts +42 -17
  472. package/src/popover/index.ts +3 -3
  473. package/src/progress/createProgressBar.ts +31 -32
  474. package/src/progress/index.ts +1 -1
  475. package/src/radio/createRadio.ts +95 -73
  476. package/src/radio/createRadioGroup.ts +83 -77
  477. package/src/radio/createRadioGroupState.ts +7 -31
  478. package/src/radio/index.ts +3 -8
  479. package/src/searchfield/createSearchField.ts +57 -29
  480. package/src/searchfield/index.ts +2 -2
  481. package/src/select/createHiddenSelect.tsx +57 -44
  482. package/src/select/createSelect.ts +128 -71
  483. package/src/select/index.ts +2 -7
  484. package/src/selection/createTypeSelect.ts +11 -11
  485. package/src/selection/index.ts +1 -1
  486. package/src/separator/createSeparator.ts +20 -25
  487. package/src/separator/index.ts +1 -1
  488. package/src/slider/createSlider.ts +93 -124
  489. package/src/slider/index.ts +2 -2
  490. package/src/ssr/index.tsx +8 -47
  491. package/src/steplist/createStepList.ts +106 -0
  492. package/src/steplist/index.ts +8 -0
  493. package/src/switch/createSwitch.ts +9 -14
  494. package/src/switch/index.ts +1 -1
  495. package/src/table/createTable.ts +152 -85
  496. package/src/table/createTableCell.ts +17 -16
  497. package/src/table/createTableColumnHeader.ts +67 -20
  498. package/src/table/createTableColumnResize.ts +256 -0
  499. package/src/table/createTableHeaderRow.ts +7 -7
  500. package/src/table/createTableRow.ts +149 -29
  501. package/src/table/createTableRowGroup.ts +5 -7
  502. package/src/table/createTableSelectAllCheckbox.ts +12 -11
  503. package/src/table/createTableSelectionCheckbox.ts +8 -8
  504. package/src/table/index.ts +14 -9
  505. package/src/table/types.ts +15 -7
  506. package/src/tabs/createTabs.ts +74 -92
  507. package/src/tabs/index.ts +1 -1
  508. package/src/tag/createTag.ts +52 -50
  509. package/src/tag/createTagGroup.ts +47 -41
  510. package/src/tag/index.ts +2 -6
  511. package/src/textfield/createTextField.ts +67 -35
  512. package/src/textfield/index.ts +1 -5
  513. package/src/toast/createToast.ts +28 -26
  514. package/src/toast/createToastRegion.ts +169 -26
  515. package/src/toast/index.ts +2 -6
  516. package/src/toggle/createToggle.ts +95 -53
  517. package/src/toggle/createToggleState.ts +2 -10
  518. package/src/toggle/index.ts +4 -5
  519. package/src/toolbar/createToolbar.ts +193 -210
  520. package/src/toolbar/index.ts +1 -1
  521. package/src/tooltip/createTooltip.ts +11 -24
  522. package/src/tooltip/createTooltipTrigger.ts +61 -49
  523. package/src/tooltip/index.ts +2 -2
  524. package/src/tree/createTree.ts +35 -37
  525. package/src/tree/createTreeItem.ts +29 -29
  526. package/src/tree/createTreeSelectionCheckbox.ts +11 -8
  527. package/src/tree/index.ts +4 -4
  528. package/src/tree/types.ts +10 -6
  529. package/src/utils/createDescription.ts +6 -23
  530. package/src/utils/dom.ts +61 -54
  531. package/src/utils/env.ts +9 -11
  532. package/src/utils/events.ts +7 -7
  533. package/src/utils/filterDOMProps.ts +49 -49
  534. package/src/utils/focus.ts +60 -68
  535. package/src/utils/geometry.ts +1 -4
  536. package/src/utils/globalListeners.ts +9 -9
  537. package/src/utils/index.ts +12 -22
  538. package/src/utils/mergeProps.ts +42 -15
  539. package/src/utils/platform.ts +2 -2
  540. package/src/utils/reactivity.ts +3 -3
  541. package/src/utils/textSelection.ts +16 -16
  542. package/src/visually-hidden/createVisuallyHidden.ts +16 -28
  543. package/src/visually-hidden/index.ts +1 -1
  544. package/dist/i18n/NumberFormatter.d.ts +0 -43
  545. package/dist/i18n/NumberFormatter.d.ts.map +0 -1
  546. package/dist/index.ssr.js +0 -17082
  547. package/dist/index.ssr.js.map +0 -1
  548. package/src/i18n/NumberFormatter.ts +0 -266
@@ -3,20 +3,16 @@
3
3
  * Based on @react-aria/tabs.
4
4
  */
5
5
 
6
- import { type Accessor, createEffect, createMemo } from 'solid-js';
7
- import { createFocusRing } from '../interactions';
8
- import { createPress } from '../interactions';
9
- import { createHover } from '../interactions';
10
- import { createId } from '../ssr';
11
- import { useLocale } from '../i18n';
12
- import type { Key, Collection, CollectionNode } from '@proyecto-viviana/solid-stately';
6
+ import { type Accessor, createEffect, createMemo } from "solid-js";
7
+ import { createFocusRing } from "../interactions";
8
+ import { createPress } from "../interactions";
9
+ import { createHover } from "../interactions";
10
+ import { createId } from "../ssr";
11
+ import { useLocale } from "../i18n";
12
+ import type { Key, Collection, CollectionNode } from "@proyecto-viviana/solid-stately";
13
13
 
14
- // ============================================
15
- // TYPES
16
- // ============================================
17
-
18
- export type TabOrientation = 'horizontal' | 'vertical';
19
- export type KeyboardActivation = 'automatic' | 'manual';
14
+ export type TabOrientation = "horizontal" | "vertical";
15
+ export type KeyboardActivation = "automatic" | "manual";
20
16
 
21
17
  export interface TabListState<T = unknown> {
22
18
  collection: Accessor<Collection<T>>;
@@ -42,21 +38,21 @@ export interface AriaTabListProps {
42
38
  /** Whether the tab list is disabled. */
43
39
  isDisabled?: boolean;
44
40
  /** Label for the tab list. */
45
- 'aria-label'?: string;
41
+ "aria-label"?: string;
46
42
  /** ID of element that labels the tab list. */
47
- 'aria-labelledby'?: string;
43
+ "aria-labelledby"?: string;
48
44
  /** ID of element that describes the tab list. */
49
- 'aria-describedby'?: string;
45
+ "aria-describedby"?: string;
50
46
  }
51
47
 
52
48
  export interface TabListAria {
53
49
  /** Props for the tab list container element. */
54
50
  tabListProps: {
55
- role: 'tablist';
56
- 'aria-orientation': TabOrientation;
57
- 'aria-label'?: string;
58
- 'aria-labelledby'?: string;
59
- 'aria-describedby'?: string;
51
+ role: "tablist";
52
+ "aria-orientation": TabOrientation;
53
+ "aria-label"?: string;
54
+ "aria-labelledby"?: string;
55
+ "aria-describedby"?: string;
60
56
  onKeyDown: (e: KeyboardEvent) => void;
61
57
  onFocus: (e: FocusEvent) => void;
62
58
  onBlur: (e: FocusEvent) => void;
@@ -69,18 +65,21 @@ export interface AriaTabProps {
69
65
  /** Whether the tab is disabled. */
70
66
  isDisabled?: boolean;
71
67
  /** Label for the tab. */
72
- 'aria-label'?: string;
68
+ "aria-label"?: string;
69
+ /** ID reference for the tab label. */
70
+ "aria-labelledby"?: string;
73
71
  }
74
72
 
75
73
  export interface TabAria {
76
74
  /** Props for the tab element. */
77
75
  tabProps: {
78
76
  id: string;
79
- role: 'tab';
80
- 'aria-selected': boolean;
81
- 'aria-disabled': boolean | undefined;
82
- 'aria-controls': string | undefined;
83
- 'aria-label'?: string;
77
+ role: "tab";
78
+ "aria-selected": boolean;
79
+ "aria-disabled": boolean | undefined;
80
+ "aria-controls": string | undefined;
81
+ "aria-label"?: string;
82
+ "aria-labelledby"?: string;
84
83
  tabIndex: number;
85
84
  onKeyDown: (e: KeyboardEvent) => void;
86
85
  onMouseDown: (e: MouseEvent) => void;
@@ -106,31 +105,27 @@ export interface AriaTabPanelProps {
106
105
  /** The key of the associated tab. */
107
106
  id?: Key;
108
107
  /** Label for the tab panel. */
109
- 'aria-label'?: string;
108
+ "aria-label"?: string;
110
109
  /** ID of element that labels the tab panel. */
111
- 'aria-labelledby'?: string;
110
+ "aria-labelledby"?: string;
112
111
  /** ID of element that describes the tab panel. */
113
- 'aria-describedby'?: string;
112
+ "aria-describedby"?: string;
114
113
  }
115
114
 
116
115
  export interface TabPanelAria {
117
116
  /** Props for the tab panel element. */
118
117
  tabPanelProps: {
119
118
  id: string;
120
- role: 'tabpanel';
121
- 'aria-labelledby'?: string;
122
- 'aria-label'?: string;
123
- 'aria-describedby'?: string;
119
+ role: "tabpanel";
120
+ "aria-labelledby"?: string;
121
+ "aria-label"?: string;
122
+ "aria-describedby"?: string;
124
123
  tabIndex: number;
125
124
  };
126
125
  /** Whether this panel is the selected one. */
127
126
  isSelected: Accessor<boolean>;
128
127
  }
129
128
 
130
- // ============================================
131
- // ID MANAGEMENT
132
- // ============================================
133
-
134
129
  const tabListIds = new WeakMap<TabListState<unknown>, string>();
135
130
 
136
131
  function getTabListId<T>(state: TabListState<T>): string {
@@ -144,23 +139,19 @@ function getTabListId<T>(state: TabListState<T>): string {
144
139
 
145
140
  function generateTabId<T>(state: TabListState<T>, key: Key): string {
146
141
  const baseId = getTabListId(state);
147
- const keyStr = String(key).replace(/\s+/g, '-');
142
+ const keyStr = String(key).replace(/\s+/g, "-");
148
143
  return `${baseId}-tab-${keyStr}`;
149
144
  }
150
145
 
151
146
  function generateTabPanelId<T>(state: TabListState<T>, key: Key): string {
152
147
  const baseId = getTabListId(state);
153
- const keyStr = String(key).replace(/\s+/g, '-');
148
+ const keyStr = String(key).replace(/\s+/g, "-");
154
149
  return `${baseId}-tabpanel-${keyStr}`;
155
150
  }
156
151
 
157
- // ============================================
158
- // KEYBOARD DELEGATE
159
- // ============================================
160
-
161
152
  function getNextKey<T>(state: TabListState<T>, currentKey: Key): Key | null {
162
153
  const coll = state.collection();
163
- const keys = [...coll].map(node => node.key);
154
+ const keys = [...coll].map((node) => node.key);
164
155
  const currentIndex = keys.indexOf(currentKey);
165
156
 
166
157
  if (currentIndex === -1) return keys[0] ?? null;
@@ -179,7 +170,7 @@ function getNextKey<T>(state: TabListState<T>, currentKey: Key): Key | null {
179
170
 
180
171
  function getPreviousKey<T>(state: TabListState<T>, currentKey: Key): Key | null {
181
172
  const coll = state.collection();
182
- const keys = [...coll].map(node => node.key);
173
+ const keys = [...coll].map((node) => node.key);
183
174
  const currentIndex = keys.indexOf(currentKey);
184
175
 
185
176
  if (currentIndex === -1) return keys[keys.length - 1] ?? null;
@@ -208,7 +199,7 @@ function getFirstKey<T>(state: TabListState<T>): Key | null {
208
199
 
209
200
  function getLastKey<T>(state: TabListState<T>): Key | null {
210
201
  const coll = state.collection();
211
- const keys = [...coll].map(node => node.key).reverse();
202
+ const keys = [...coll].map((node) => node.key).reverse();
212
203
  for (const key of keys) {
213
204
  if (!state.isKeyDisabled(key)) {
214
205
  return key;
@@ -217,20 +208,14 @@ function getLastKey<T>(state: TabListState<T>): Key | null {
217
208
  return null;
218
209
  }
219
210
 
220
- // ============================================
221
- // HOOKS
222
- // ============================================
223
-
224
211
  /**
225
212
  * Creates ARIA props for a tab list container.
226
213
  */
227
- export function createTabList<T>(
228
- props: AriaTabListProps,
229
- state: TabListState<T>
230
- ): TabListAria {
214
+ export function createTabList<T>(props: AriaTabListProps, state: TabListState<T>): TabListAria {
231
215
  const locale = useLocale();
232
- const orientation = () => props.orientation ?? state.orientation() ?? 'horizontal';
233
- const keyboardActivation = () => props.keyboardActivation ?? state.keyboardActivation() ?? 'automatic';
216
+ const orientation = () => props.orientation ?? state.orientation() ?? "horizontal";
217
+ const keyboardActivation = () =>
218
+ props.keyboardActivation ?? state.keyboardActivation() ?? "automatic";
234
219
 
235
220
  const handleKeyDown = (e: KeyboardEvent) => {
236
221
  if (state.isDisabled()) return;
@@ -239,40 +224,40 @@ export function createTabList<T>(
239
224
  if (currentKey === null) return;
240
225
 
241
226
  let nextKey: Key | null = null;
242
- const isHorizontal = orientation() === 'horizontal';
243
- const isRTL = locale().direction === 'rtl';
227
+ const isHorizontal = orientation() === "horizontal";
228
+ const isRTL = locale().direction === "rtl";
244
229
 
245
230
  switch (e.key) {
246
- case 'ArrowLeft':
231
+ case "ArrowLeft":
247
232
  if (isHorizontal) {
248
233
  nextKey = isRTL ? getNextKey(state, currentKey) : getPreviousKey(state, currentKey);
249
234
  }
250
235
  break;
251
- case 'ArrowRight':
236
+ case "ArrowRight":
252
237
  if (isHorizontal) {
253
238
  nextKey = isRTL ? getPreviousKey(state, currentKey) : getNextKey(state, currentKey);
254
239
  }
255
240
  break;
256
- case 'ArrowUp':
241
+ case "ArrowUp":
257
242
  if (!isHorizontal) {
258
243
  nextKey = getPreviousKey(state, currentKey);
259
244
  }
260
245
  break;
261
- case 'ArrowDown':
246
+ case "ArrowDown":
262
247
  if (!isHorizontal) {
263
248
  nextKey = getNextKey(state, currentKey);
264
249
  }
265
250
  break;
266
- case 'Home':
251
+ case "Home":
267
252
  nextKey = getFirstKey(state);
268
253
  break;
269
- case 'End':
254
+ case "End":
270
255
  nextKey = getLastKey(state);
271
256
  break;
272
- case 'Enter':
273
- case ' ':
257
+ case "Enter":
258
+ case " ":
274
259
  // In manual mode, Enter/Space activates the focused tab
275
- if (keyboardActivation() === 'manual' && state.focusedKey()) {
260
+ if (keyboardActivation() === "manual" && state.focusedKey()) {
276
261
  state.setSelectedKey(state.focusedKey()!);
277
262
  e.preventDefault();
278
263
  }
@@ -306,11 +291,11 @@ export function createTabList<T>(
306
291
 
307
292
  return {
308
293
  tabListProps: {
309
- role: 'tablist',
310
- 'aria-orientation': orientation(),
311
- 'aria-label': props['aria-label'],
312
- 'aria-labelledby': props['aria-labelledby'],
313
- 'aria-describedby': props['aria-describedby'],
294
+ role: "tablist",
295
+ "aria-orientation": orientation(),
296
+ "aria-label": props["aria-label"],
297
+ "aria-labelledby": props["aria-labelledby"],
298
+ "aria-describedby": props["aria-describedby"],
314
299
  onKeyDown: handleKeyDown,
315
300
  onFocus: handleFocus,
316
301
  onBlur: handleBlur,
@@ -324,7 +309,7 @@ export function createTabList<T>(
324
309
  export function createTab<T>(
325
310
  props: AriaTabProps,
326
311
  state: TabListState<T>,
327
- ref?: Accessor<HTMLElement | null>
312
+ ref?: Accessor<HTMLElement | null>,
328
313
  ): TabAria {
329
314
  const key = () => props.key;
330
315
 
@@ -350,7 +335,7 @@ export function createTab<T>(
350
335
 
351
336
  state.setFocusedKey(tabKey);
352
337
 
353
- if (state.keyboardActivation() === 'manual' || wasSelected) {
338
+ if (state.keyboardActivation() === "manual" || wasSelected) {
354
339
  state.setSelectedKey(tabKey);
355
340
  }
356
341
  },
@@ -369,15 +354,11 @@ export function createTab<T>(
369
354
 
370
355
  // Helper to safely call event handlers that may be bound tuples
371
356
  const callHandler = <E extends Event>(handler: unknown, event: E) => {
372
- if (typeof handler === 'function') {
357
+ if (typeof handler === "function") {
373
358
  (handler as (e: E) => void)(event);
374
359
  return;
375
360
  }
376
- if (
377
- Array.isArray(handler) &&
378
- handler.length >= 2 &&
379
- typeof handler[1] === 'function'
380
- ) {
361
+ if (Array.isArray(handler) && handler.length >= 2 && typeof handler[1] === "function") {
381
362
  (handler[1] as (this: unknown, e: E) => void).call(handler[0], event);
382
363
  }
383
364
  };
@@ -419,17 +400,18 @@ export function createTab<T>(
419
400
  return {
420
401
  tabProps: {
421
402
  id: tabId,
422
- role: 'tab',
423
- get 'aria-selected'() {
403
+ role: "tab",
404
+ get "aria-selected"() {
424
405
  return isSelected();
425
406
  },
426
- get 'aria-disabled'() {
407
+ get "aria-disabled"() {
427
408
  return isDisabled() || undefined;
428
409
  },
429
- get 'aria-controls'() {
410
+ get "aria-controls"() {
430
411
  return isSelected() ? tabPanelId : undefined;
431
412
  },
432
- 'aria-label': props['aria-label'],
413
+ "aria-label": props["aria-label"],
414
+ "aria-labelledby": props["aria-labelledby"],
433
415
  get tabIndex() {
434
416
  return isSelected() && !isDisabled() ? 0 : -1;
435
417
  },
@@ -453,7 +435,7 @@ export function createTab<T>(
453
435
  */
454
436
  export function createTabPanel<T>(
455
437
  props: AriaTabPanelProps,
456
- state: TabListState<T> | null
438
+ state: TabListState<T> | null,
457
439
  ): TabPanelAria {
458
440
  const fallbackId = createId();
459
441
 
@@ -482,17 +464,17 @@ export function createTabPanel<T>(
482
464
  }
483
465
  return fallbackId;
484
466
  },
485
- role: 'tabpanel',
486
- get 'aria-labelledby'() {
487
- if (props['aria-labelledby']) return props['aria-labelledby'];
467
+ role: "tabpanel",
468
+ get "aria-labelledby"() {
469
+ if (props["aria-labelledby"]) return props["aria-labelledby"];
488
470
  const key = associatedKey();
489
471
  if (state && key !== null) {
490
472
  return generateTabId(state, key);
491
473
  }
492
474
  return undefined;
493
475
  },
494
- 'aria-label': props['aria-label'],
495
- 'aria-describedby': props['aria-describedby'],
476
+ "aria-label": props["aria-label"],
477
+ "aria-describedby": props["aria-describedby"],
496
478
  // Make panel focusable if no tabbable children
497
479
  tabIndex: 0,
498
480
  },
package/src/tabs/index.ts CHANGED
@@ -11,4 +11,4 @@ export {
11
11
  type TabAria,
12
12
  type AriaTabPanelProps,
13
13
  type TabPanelAria,
14
- } from './createTabs';
14
+ } from "./createTabs";
@@ -7,19 +7,15 @@
7
7
  * Based on @react-aria/tag useTag
8
8
  */
9
9
 
10
- import { createMemo } from 'solid-js';
11
- import { createFocusable } from '../interactions/createFocusable';
12
- import { createPress } from '../interactions/createPress';
13
- import { filterDOMProps } from '../utils/filterDOMProps';
14
- import { mergeProps } from '../utils/mergeProps';
15
- import { createId } from '../ssr';
16
- import { access, type MaybeAccessor } from '../utils/reactivity';
17
- import { getTagGroupData } from './createTagGroup';
18
- import type { ListState, Key } from '@proyecto-viviana/solid-stately';
19
-
20
- // ============================================
21
- // TYPES
22
- // ============================================
10
+ import { createMemo } from "solid-js";
11
+ import { createFocusable } from "../interactions/createFocusable";
12
+ import { createPress } from "../interactions/createPress";
13
+ import { filterDOMProps } from "../utils/filterDOMProps";
14
+ import { mergeProps } from "../utils/mergeProps";
15
+ import { createId } from "../ssr";
16
+ import { access, type MaybeAccessor } from "../utils/reactivity";
17
+ import { getTagGroupData } from "./createTagGroup";
18
+ import type { ListState, Key } from "@proyecto-viviana/solid-stately";
23
19
 
24
20
  export interface AriaTagProps {
25
21
  /** The unique key for this tag. */
@@ -49,10 +45,6 @@ export interface TagAria {
49
45
  isPressed: boolean;
50
46
  }
51
47
 
52
- // ============================================
53
- // IMPLEMENTATION
54
- // ============================================
55
-
56
48
  /**
57
49
  * Provides the behavior and accessibility implementation for a tag component.
58
50
  * Tags are individual items within a TagGroup.
@@ -60,7 +52,7 @@ export interface TagAria {
60
52
  export function createTag<T>(
61
53
  props: MaybeAccessor<AriaTagProps>,
62
54
  state: ListState<T>,
63
- ref: () => HTMLElement | null
55
+ ref: () => HTMLElement | null,
64
56
  ): TagAria {
65
57
  const getProps = () => access(props);
66
58
  const rowId = createId();
@@ -83,7 +75,7 @@ export function createTag<T>(
83
75
  return state.isSelected(key());
84
76
  });
85
77
 
86
- const isSelectable = createMemo(() => state.selectionMode() !== 'none');
78
+ const isSelectable = createMemo(() => state.selectionMode() !== "none");
87
79
 
88
80
  const isFocused = createMemo(() => {
89
81
  return state.focusedKey() === key();
@@ -157,8 +149,9 @@ export function createTag<T>(
157
149
  return;
158
150
  }
159
151
 
160
- const nextTag = Array.from(tagList.querySelectorAll<HTMLElement>('[role="option"]'))
161
- .find((el) => el.getAttribute('data-key') === String(nextKey));
152
+ const nextTag = Array.from(tagList.querySelectorAll<HTMLElement>('[role="row"]')).find(
153
+ (el) => el.getAttribute("data-key") === String(nextKey),
154
+ );
162
155
 
163
156
  nextTag?.focus();
164
157
  };
@@ -175,33 +168,36 @@ export function createTag<T>(
175
168
  });
176
169
 
177
170
  // Handle focusable
178
- const { focusableProps } = createFocusable({
179
- isDisabled,
180
- onFocus: () => {
181
- state.setFocusedKey(key());
171
+ const { focusableProps } = createFocusable(
172
+ {
173
+ isDisabled,
174
+ onFocus: () => {
175
+ state.setFocusedKey(key());
176
+ },
182
177
  },
183
- }, ref);
178
+ ref,
179
+ );
184
180
 
185
181
  // Handle keyboard for navigation and removal
186
182
  const handleKeyDown = (e: KeyboardEvent) => {
187
183
  if (isDisabled()) return;
188
184
 
189
185
  switch (e.key) {
190
- case 'ArrowRight':
191
- case 'ArrowDown':
186
+ case "ArrowRight":
187
+ case "ArrowDown":
192
188
  e.preventDefault();
193
189
  focusKey(getNextFocusableKey(key()));
194
190
  return;
195
- case 'ArrowLeft':
196
- case 'ArrowUp':
191
+ case "ArrowLeft":
192
+ case "ArrowUp":
197
193
  e.preventDefault();
198
194
  focusKey(getPreviousFocusableKey(key()));
199
195
  return;
200
- case 'Home':
196
+ case "Home":
201
197
  e.preventDefault();
202
198
  focusKey(getFirstFocusableKey());
203
199
  return;
204
- case 'End':
200
+ case "End":
205
201
  e.preventDefault();
206
202
  focusKey(getLastFocusableKey());
207
203
  return;
@@ -209,16 +205,17 @@ export function createTag<T>(
209
205
  break;
210
206
  }
211
207
 
212
- if (e.key === 'Delete' || e.key === 'Backspace') {
208
+ if (e.key === "Delete" || e.key === "Backspace") {
213
209
  e.preventDefault();
214
210
  const data = getData();
215
211
  if (data?.onRemove) {
216
212
  // Remove selected keys if this tag is selected, otherwise just this tag
217
213
  if (isSelected()) {
218
214
  const selection = state.selectedKeys();
219
- const keysToRemove = selection === 'all'
220
- ? new Set(Array.from(state.collection()).map(item => (item as { key: Key }).key))
221
- : new Set(selection);
215
+ const keysToRemove =
216
+ selection === "all"
217
+ ? new Set(Array.from(state.collection()).map((item) => (item as { key: Key }).key))
218
+ : new Set(selection);
222
219
  data.onRemove(keysToRemove);
223
220
  } else {
224
221
  data.onRemove(new Set([key()]));
@@ -242,7 +239,7 @@ export function createTag<T>(
242
239
  const collection = state.collection();
243
240
  let defaultTabStop: Key | null = null;
244
241
 
245
- if (state.selectionMode() !== 'none') {
242
+ if (state.selectionMode() !== "none") {
246
243
  for (const item of collection) {
247
244
  if (!state.isDisabled(item.key) && state.isSelected(item.key)) {
248
245
  defaultTabStop = item.key;
@@ -273,29 +270,34 @@ export function createTag<T>(
273
270
 
274
271
  return {
275
272
  get rowProps() {
276
- return mergeProps(domProps(), focusableProps as Record<string, unknown>, pressProps as Record<string, unknown>, {
277
- id: rowId,
278
- role: 'option',
279
- tabIndex: tabIndex(),
280
- 'data-key': String(key()),
281
- 'aria-selected': isSelectable() ? isSelected() : undefined,
282
- 'aria-disabled': isDisabled() || undefined,
283
- onKeyDown: handleKeyDown,
284
- });
273
+ return mergeProps(
274
+ domProps(),
275
+ focusableProps as Record<string, unknown>,
276
+ pressProps as Record<string, unknown>,
277
+ {
278
+ id: rowId,
279
+ role: "row",
280
+ tabIndex: tabIndex(),
281
+ "data-key": String(key()),
282
+ "aria-selected": isSelectable() ? isSelected() : undefined,
283
+ "aria-disabled": isDisabled() || undefined,
284
+ onKeyDown: handleKeyDown,
285
+ },
286
+ );
285
287
  },
286
288
  get gridCellProps() {
287
289
  return {
288
290
  id: cellId,
289
- role: 'presentation',
290
- 'aria-describedby': allowsRemoving() ? removeButtonId : undefined,
291
+ role: "gridcell",
292
+ "aria-describedby": allowsRemoving() ? removeButtonId : undefined,
291
293
  };
292
294
  },
293
295
  get removeButtonProps() {
294
296
  const data = getData();
295
297
  return {
296
298
  id: removeButtonId,
297
- 'aria-label': 'Remove',
298
- 'aria-labelledby': `${removeButtonId} ${rowId}`,
299
+ "aria-label": "Remove",
300
+ "aria-labelledby": `${removeButtonId} ${rowId}`,
299
301
  isDisabled: isDisabled(),
300
302
  onPress: () => {
301
303
  if (data?.onRemove && !isDisabled()) {