@proyecto-viviana/solidaria 0.3.0 → 0.4.1

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 (743) hide show
  1. package/dist/_chunk/DragManager.js +627 -0
  2. package/dist/_chunk/DragManager.js.map +1 -0
  3. package/dist/_chunk/DragManager.jsx +627 -0
  4. package/dist/_chunk/DragManager.jsx.map +1 -0
  5. package/dist/_chunk/FocusScope.js +400 -0
  6. package/dist/_chunk/FocusScope.js.map +1 -0
  7. package/dist/_chunk/FocusScope.jsx +375 -0
  8. package/dist/_chunk/FocusScope.jsx.map +1 -0
  9. package/dist/_chunk/actiongroup.js +141 -0
  10. package/dist/_chunk/actiongroup.js.map +1 -0
  11. package/dist/_chunk/actiongroup.jsx +141 -0
  12. package/dist/_chunk/actiongroup.jsx.map +1 -0
  13. package/dist/_chunk/announce.js +207 -0
  14. package/dist/_chunk/announce.js.map +1 -0
  15. package/dist/_chunk/announce.jsx +207 -0
  16. package/dist/_chunk/announce.jsx.map +1 -0
  17. package/dist/_chunk/ariaHideOutside.js +122 -0
  18. package/dist/_chunk/ariaHideOutside.js.map +1 -0
  19. package/dist/_chunk/ariaHideOutside.jsx +122 -0
  20. package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
  21. package/dist/_chunk/autocomplete.js +244 -0
  22. package/dist/_chunk/autocomplete.js.map +1 -0
  23. package/dist/_chunk/autocomplete.jsx +244 -0
  24. package/dist/_chunk/autocomplete.jsx.map +1 -0
  25. package/dist/_chunk/breadcrumbs.js +121 -0
  26. package/dist/_chunk/breadcrumbs.js.map +1 -0
  27. package/dist/_chunk/breadcrumbs.jsx +121 -0
  28. package/dist/_chunk/breadcrumbs.jsx.map +1 -0
  29. package/dist/_chunk/button.js +275 -0
  30. package/dist/_chunk/button.js.map +1 -0
  31. package/dist/_chunk/button.jsx +275 -0
  32. package/dist/_chunk/button.jsx.map +1 -0
  33. package/dist/_chunk/calendar.js +1037 -0
  34. package/dist/_chunk/calendar.js.map +1 -0
  35. package/dist/_chunk/calendar.jsx +1037 -0
  36. package/dist/_chunk/calendar.jsx.map +1 -0
  37. package/dist/_chunk/checkbox.js +235 -0
  38. package/dist/_chunk/checkbox.js.map +1 -0
  39. package/dist/_chunk/checkbox.jsx +235 -0
  40. package/dist/_chunk/checkbox.jsx.map +1 -0
  41. package/dist/_chunk/color.js +1458 -0
  42. package/dist/_chunk/color.js.map +1 -0
  43. package/dist/_chunk/color.jsx +1458 -0
  44. package/dist/_chunk/color.jsx.map +1 -0
  45. package/dist/_chunk/combobox.js +1062 -0
  46. package/dist/_chunk/combobox.js.map +1 -0
  47. package/dist/_chunk/combobox.jsx +1062 -0
  48. package/dist/_chunk/combobox.jsx.map +1 -0
  49. package/dist/_chunk/constants.js +19 -0
  50. package/dist/_chunk/constants.js.map +1 -0
  51. package/dist/_chunk/constants.jsx +19 -0
  52. package/dist/_chunk/constants.jsx.map +1 -0
  53. package/dist/_chunk/createCollator.js +61 -0
  54. package/dist/_chunk/createCollator.js.map +1 -0
  55. package/dist/_chunk/createCollator.jsx +61 -0
  56. package/dist/_chunk/createCollator.jsx.map +1 -0
  57. package/dist/_chunk/createCollectionRowInteraction.js +133 -0
  58. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
  59. package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
  60. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
  61. package/dist/_chunk/createField.js +55 -0
  62. package/dist/_chunk/createField.js.map +1 -0
  63. package/dist/_chunk/createField.jsx +55 -0
  64. package/dist/_chunk/createField.jsx.map +1 -0
  65. package/dist/_chunk/createFocus.js +105 -0
  66. package/dist/_chunk/createFocus.js.map +1 -0
  67. package/dist/_chunk/createFocus.jsx +105 -0
  68. package/dist/_chunk/createFocus.jsx.map +1 -0
  69. package/dist/_chunk/createFocusRing.js +54 -0
  70. package/dist/_chunk/createFocusRing.js.map +1 -0
  71. package/dist/_chunk/createFocusRing.jsx +54 -0
  72. package/dist/_chunk/createFocusRing.jsx.map +1 -0
  73. package/dist/_chunk/createFocusWithin.js +120 -0
  74. package/dist/_chunk/createFocusWithin.js.map +1 -0
  75. package/dist/_chunk/createFocusWithin.jsx +120 -0
  76. package/dist/_chunk/createFocusWithin.jsx.map +1 -0
  77. package/dist/_chunk/createFocusable.js +131 -0
  78. package/dist/_chunk/createFocusable.js.map +1 -0
  79. package/dist/_chunk/createFocusable.jsx +131 -0
  80. package/dist/_chunk/createFocusable.jsx.map +1 -0
  81. package/dist/_chunk/createFormReset.js +39 -0
  82. package/dist/_chunk/createFormReset.js.map +1 -0
  83. package/dist/_chunk/createFormReset.jsx +39 -0
  84. package/dist/_chunk/createFormReset.jsx.map +1 -0
  85. package/dist/_chunk/createFormValidation.js +135 -0
  86. package/dist/_chunk/createFormValidation.js.map +1 -0
  87. package/dist/_chunk/createFormValidation.jsx +135 -0
  88. package/dist/_chunk/createFormValidation.jsx.map +1 -0
  89. package/dist/_chunk/createHover.js +131 -0
  90. package/dist/_chunk/createHover.js.map +1 -0
  91. package/dist/_chunk/createHover.jsx +131 -0
  92. package/dist/_chunk/createHover.jsx.map +1 -0
  93. package/dist/_chunk/createInteractionModality.js +268 -0
  94. package/dist/_chunk/createInteractionModality.js.map +1 -0
  95. package/dist/_chunk/createInteractionModality.jsx +268 -0
  96. package/dist/_chunk/createInteractionModality.jsx.map +1 -0
  97. package/dist/_chunk/createLabel.js +47 -0
  98. package/dist/_chunk/createLabel.js.map +1 -0
  99. package/dist/_chunk/createLabel.jsx +47 -0
  100. package/dist/_chunk/createLabel.jsx.map +1 -0
  101. package/dist/_chunk/createLabels.js +32 -0
  102. package/dist/_chunk/createLabels.js.map +1 -0
  103. package/dist/_chunk/createLabels.jsx +32 -0
  104. package/dist/_chunk/createLabels.jsx.map +1 -0
  105. package/dist/_chunk/createLandmark.js +198 -0
  106. package/dist/_chunk/createLandmark.js.map +1 -0
  107. package/dist/_chunk/createLandmark.jsx +198 -0
  108. package/dist/_chunk/createLandmark.jsx.map +1 -0
  109. package/dist/_chunk/createOverlay.js +327 -0
  110. package/dist/_chunk/createOverlay.js.map +1 -0
  111. package/dist/_chunk/createOverlay.jsx +327 -0
  112. package/dist/_chunk/createOverlay.jsx.map +1 -0
  113. package/dist/_chunk/createPress.js +526 -0
  114. package/dist/_chunk/createPress.js.map +1 -0
  115. package/dist/_chunk/createPress.jsx +526 -0
  116. package/dist/_chunk/createPress.jsx.map +1 -0
  117. package/dist/_chunk/createProgressBar.js +82 -0
  118. package/dist/_chunk/createProgressBar.js.map +1 -0
  119. package/dist/_chunk/createProgressBar.jsx +82 -0
  120. package/dist/_chunk/createProgressBar.jsx.map +1 -0
  121. package/dist/_chunk/createSelectableItem.js +302 -0
  122. package/dist/_chunk/createSelectableItem.js.map +1 -0
  123. package/dist/_chunk/createSelectableItem.jsx +302 -0
  124. package/dist/_chunk/createSelectableItem.jsx.map +1 -0
  125. package/dist/_chunk/createStringFormatter.js +61 -0
  126. package/dist/_chunk/createStringFormatter.js.map +1 -0
  127. package/dist/_chunk/createStringFormatter.jsx +61 -0
  128. package/dist/_chunk/createStringFormatter.jsx.map +1 -0
  129. package/dist/_chunk/createToggle.js +159 -0
  130. package/dist/_chunk/createToggle.js.map +1 -0
  131. package/dist/_chunk/createToggle.jsx +159 -0
  132. package/dist/_chunk/createToggle.jsx.map +1 -0
  133. package/dist/_chunk/createTypeSelect.js +125 -0
  134. package/dist/_chunk/createTypeSelect.js.map +1 -0
  135. package/dist/_chunk/createTypeSelect.jsx +125 -0
  136. package/dist/_chunk/createTypeSelect.jsx.map +1 -0
  137. package/dist/_chunk/datepicker.js +1706 -0
  138. package/dist/_chunk/datepicker.js.map +1 -0
  139. package/dist/_chunk/datepicker.jsx +1706 -0
  140. package/dist/_chunk/datepicker.jsx.map +1 -0
  141. package/dist/_chunk/dialog.js +62 -0
  142. package/dist/_chunk/dialog.js.map +1 -0
  143. package/dist/_chunk/dialog.jsx +62 -0
  144. package/dist/_chunk/dialog.jsx.map +1 -0
  145. package/dist/_chunk/disclosure.js +185 -0
  146. package/dist/_chunk/disclosure.js.map +1 -0
  147. package/dist/_chunk/disclosure.jsx +185 -0
  148. package/dist/_chunk/disclosure.jsx.map +1 -0
  149. package/dist/_chunk/dnd.js +2395 -0
  150. package/dist/_chunk/dnd.js.map +1 -0
  151. package/dist/_chunk/dnd.jsx +2395 -0
  152. package/dist/_chunk/dnd.jsx.map +1 -0
  153. package/dist/_chunk/env.js +87 -0
  154. package/dist/_chunk/env.js.map +1 -0
  155. package/dist/_chunk/env.jsx +87 -0
  156. package/dist/_chunk/env.jsx.map +1 -0
  157. package/dist/_chunk/filterDOMProps.js +82 -0
  158. package/dist/_chunk/filterDOMProps.js.map +1 -0
  159. package/dist/_chunk/filterDOMProps.jsx +82 -0
  160. package/dist/_chunk/filterDOMProps.jsx.map +1 -0
  161. package/dist/_chunk/focus.js +399 -0
  162. package/dist/_chunk/focus.js.map +1 -0
  163. package/dist/_chunk/focus.jsx +399 -0
  164. package/dist/_chunk/focus.jsx.map +1 -0
  165. package/dist/_chunk/focus2.js +631 -0
  166. package/dist/_chunk/focus2.js.map +1 -0
  167. package/dist/_chunk/focus2.jsx +631 -0
  168. package/dist/_chunk/focus2.jsx.map +1 -0
  169. package/dist/_chunk/grid.js +623 -0
  170. package/dist/_chunk/grid.js.map +1 -0
  171. package/dist/_chunk/grid.jsx +623 -0
  172. package/dist/_chunk/grid.jsx.map +1 -0
  173. package/dist/_chunk/gridlist.js +369 -0
  174. package/dist/_chunk/gridlist.js.map +1 -0
  175. package/dist/_chunk/gridlist.jsx +369 -0
  176. package/dist/_chunk/gridlist.jsx.map +1 -0
  177. package/dist/_chunk/i18n.js +199 -0
  178. package/dist/_chunk/i18n.js.map +1 -0
  179. package/dist/_chunk/i18n.jsx +199 -0
  180. package/dist/_chunk/i18n.jsx.map +1 -0
  181. package/dist/_chunk/interactions.js +331 -0
  182. package/dist/_chunk/interactions.js.map +1 -0
  183. package/dist/_chunk/interactions.jsx +325 -0
  184. package/dist/_chunk/interactions.jsx.map +1 -0
  185. package/dist/_chunk/link.js +97 -0
  186. package/dist/_chunk/link.js.map +1 -0
  187. package/dist/_chunk/link.jsx +97 -0
  188. package/dist/_chunk/link.jsx.map +1 -0
  189. package/dist/_chunk/listbox.js +356 -0
  190. package/dist/_chunk/listbox.js.map +1 -0
  191. package/dist/_chunk/listbox.jsx +356 -0
  192. package/dist/_chunk/listbox.jsx.map +1 -0
  193. package/dist/_chunk/locale.js +173 -0
  194. package/dist/_chunk/locale.js.map +1 -0
  195. package/dist/_chunk/locale.jsx +167 -0
  196. package/dist/_chunk/locale.jsx.map +1 -0
  197. package/dist/_chunk/menu.js +519 -0
  198. package/dist/_chunk/menu.js.map +1 -0
  199. package/dist/_chunk/menu.jsx +519 -0
  200. package/dist/_chunk/menu.jsx.map +1 -0
  201. package/dist/_chunk/meter.js +33 -0
  202. package/dist/_chunk/meter.js.map +1 -0
  203. package/dist/_chunk/meter.jsx +33 -0
  204. package/dist/_chunk/meter.jsx.map +1 -0
  205. package/dist/_chunk/numberfield.js +259 -0
  206. package/dist/_chunk/numberfield.js.map +1 -0
  207. package/dist/_chunk/numberfield.jsx +259 -0
  208. package/dist/_chunk/numberfield.jsx.map +1 -0
  209. package/dist/_chunk/overlays.js +186 -0
  210. package/dist/_chunk/overlays.js.map +1 -0
  211. package/dist/_chunk/overlays.jsx +162 -0
  212. package/dist/_chunk/overlays.jsx.map +1 -0
  213. package/dist/_chunk/popover.js +574 -0
  214. package/dist/_chunk/popover.js.map +1 -0
  215. package/dist/_chunk/popover.jsx +574 -0
  216. package/dist/_chunk/popover.jsx.map +1 -0
  217. package/dist/_chunk/radio.js +320 -0
  218. package/dist/_chunk/radio.js.map +1 -0
  219. package/dist/_chunk/radio.jsx +320 -0
  220. package/dist/_chunk/radio.jsx.map +1 -0
  221. package/dist/_chunk/reactivity.js +21 -0
  222. package/dist/_chunk/reactivity.js.map +1 -0
  223. package/dist/_chunk/reactivity.jsx +21 -0
  224. package/dist/_chunk/reactivity.jsx.map +1 -0
  225. package/dist/_chunk/searchfield.js +210 -0
  226. package/dist/_chunk/searchfield.js.map +1 -0
  227. package/dist/_chunk/searchfield.jsx +210 -0
  228. package/dist/_chunk/searchfield.jsx.map +1 -0
  229. package/dist/_chunk/select.js +406 -0
  230. package/dist/_chunk/select.js.map +1 -0
  231. package/dist/_chunk/select.jsx +397 -0
  232. package/dist/_chunk/select.jsx.map +1 -0
  233. package/dist/_chunk/selection.js +666 -0
  234. package/dist/_chunk/selection.js.map +1 -0
  235. package/dist/_chunk/selection.jsx +666 -0
  236. package/dist/_chunk/selection.jsx.map +1 -0
  237. package/dist/_chunk/separator.js +29 -0
  238. package/dist/_chunk/separator.js.map +1 -0
  239. package/dist/_chunk/separator.jsx +29 -0
  240. package/dist/_chunk/separator.jsx.map +1 -0
  241. package/dist/_chunk/slider.js +256 -0
  242. package/dist/_chunk/slider.js.map +1 -0
  243. package/dist/_chunk/slider.jsx +256 -0
  244. package/dist/_chunk/slider.jsx.map +1 -0
  245. package/dist/_chunk/spinbutton.js +153 -0
  246. package/dist/_chunk/spinbutton.js.map +1 -0
  247. package/dist/_chunk/spinbutton.jsx +153 -0
  248. package/dist/_chunk/spinbutton.jsx.map +1 -0
  249. package/dist/_chunk/steplist.js +66 -0
  250. package/dist/_chunk/steplist.js.map +1 -0
  251. package/dist/_chunk/steplist.jsx +66 -0
  252. package/dist/_chunk/steplist.jsx.map +1 -0
  253. package/dist/_chunk/switch.js +34 -0
  254. package/dist/_chunk/switch.js.map +1 -0
  255. package/dist/_chunk/switch.jsx +34 -0
  256. package/dist/_chunk/switch.jsx.map +1 -0
  257. package/dist/_chunk/table.js +1088 -0
  258. package/dist/_chunk/table.js.map +1 -0
  259. package/dist/_chunk/table.jsx +1088 -0
  260. package/dist/_chunk/table.jsx.map +1 -0
  261. package/dist/_chunk/tabs.js +263 -0
  262. package/dist/_chunk/tabs.js.map +1 -0
  263. package/dist/_chunk/tabs.jsx +263 -0
  264. package/dist/_chunk/tabs.jsx.map +1 -0
  265. package/dist/_chunk/tag.js +322 -0
  266. package/dist/_chunk/tag.js.map +1 -0
  267. package/dist/_chunk/tag.jsx +322 -0
  268. package/dist/_chunk/tag.jsx.map +1 -0
  269. package/dist/_chunk/textfield.js +110 -0
  270. package/dist/_chunk/textfield.js.map +1 -0
  271. package/dist/_chunk/textfield.jsx +110 -0
  272. package/dist/_chunk/textfield.jsx.map +1 -0
  273. package/dist/_chunk/toast.js +250 -0
  274. package/dist/_chunk/toast.js.map +1 -0
  275. package/dist/_chunk/toast.jsx +250 -0
  276. package/dist/_chunk/toast.jsx.map +1 -0
  277. package/dist/_chunk/toolbar.js +226 -0
  278. package/dist/_chunk/toolbar.js.map +1 -0
  279. package/dist/_chunk/toolbar.jsx +226 -0
  280. package/dist/_chunk/toolbar.jsx.map +1 -0
  281. package/dist/_chunk/tooltip.js +185 -0
  282. package/dist/_chunk/tooltip.js.map +1 -0
  283. package/dist/_chunk/tooltip.jsx +185 -0
  284. package/dist/_chunk/tooltip.jsx.map +1 -0
  285. package/dist/_chunk/tree.js +452 -0
  286. package/dist/_chunk/tree.js.map +1 -0
  287. package/dist/_chunk/tree.jsx +452 -0
  288. package/dist/_chunk/tree.jsx.map +1 -0
  289. package/dist/_chunk/utils.js +705 -0
  290. package/dist/_chunk/utils.js.map +1 -0
  291. package/dist/_chunk/utils.jsx +705 -0
  292. package/dist/_chunk/utils.jsx.map +1 -0
  293. package/dist/_chunk/visually-hidden.js +93 -0
  294. package/dist/_chunk/visually-hidden.js.map +1 -0
  295. package/dist/_chunk/visually-hidden.jsx +93 -0
  296. package/dist/_chunk/visually-hidden.jsx.map +1 -0
  297. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  298. package/dist/actiongroup/index.js +2 -0
  299. package/dist/actiongroup/index.jsx +2 -0
  300. package/dist/autocomplete/createAutocomplete.d.ts +12 -7
  301. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  302. package/dist/autocomplete/index.js +2 -0
  303. package/dist/autocomplete/index.jsx +2 -0
  304. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  305. package/dist/breadcrumbs/index.js +2 -0
  306. package/dist/breadcrumbs/index.jsx +2 -0
  307. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  308. package/dist/button/index.js +2 -0
  309. package/dist/button/index.jsx +2 -0
  310. package/dist/calendar/createCalendar.d.ts.map +1 -1
  311. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  312. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  313. package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
  314. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
  315. package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
  316. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
  317. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  318. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  319. package/dist/calendar/index.d.ts +2 -0
  320. package/dist/calendar/index.d.ts.map +1 -1
  321. package/dist/calendar/index.js +2 -0
  322. package/dist/calendar/index.jsx +2 -0
  323. package/dist/calendar/intl/index.d.ts +1 -1
  324. package/dist/calendar/intl/index.d.ts.map +1 -1
  325. package/dist/calendar/utils.d.ts +4 -0
  326. package/dist/calendar/utils.d.ts.map +1 -1
  327. package/dist/checkbox/createCheckbox.d.ts +4 -0
  328. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  329. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  330. package/dist/checkbox/index.js +2 -0
  331. package/dist/checkbox/index.jsx +2 -0
  332. package/dist/collections/index.js +160 -0
  333. package/dist/collections/index.js.map +1 -0
  334. package/dist/collections/index.jsx +160 -0
  335. package/dist/collections/index.jsx.map +1 -0
  336. package/dist/color/createColorArea.d.ts.map +1 -1
  337. package/dist/color/createColorField.d.ts.map +1 -1
  338. package/dist/color/createColorSlider.d.ts.map +1 -1
  339. package/dist/color/createColorSwatch.d.ts.map +1 -1
  340. package/dist/color/createColorWheel.d.ts.map +1 -1
  341. package/dist/color/index.js +2 -0
  342. package/dist/color/index.jsx +2 -0
  343. package/dist/color/intl/index.d.ts +30 -0
  344. package/dist/color/intl/index.d.ts.map +1 -0
  345. package/dist/combobox/createComboBox.d.ts.map +1 -1
  346. package/dist/combobox/index.js +2 -0
  347. package/dist/combobox/index.jsx +2 -0
  348. package/dist/combobox/intl/generated-locales.d.ts +16 -0
  349. package/dist/combobox/intl/generated-locales.d.ts.map +1 -0
  350. package/dist/combobox/intl/index.d.ts +2 -2
  351. package/dist/combobox/intl/index.d.ts.map +1 -1
  352. package/dist/datepicker/createDateField.d.ts +45 -23
  353. package/dist/datepicker/createDateField.d.ts.map +1 -1
  354. package/dist/datepicker/createDatePicker.d.ts +34 -6
  355. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  356. package/dist/datepicker/createDatePickerGroup.d.ts +13 -13
  357. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
  358. package/dist/datepicker/createDateRangePicker.d.ts +55 -7
  359. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  360. package/dist/datepicker/createDateSegment.d.ts +6 -15
  361. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  362. package/dist/datepicker/createDisplayNames.d.ts +17 -0
  363. package/dist/datepicker/createDisplayNames.d.ts.map +1 -0
  364. package/dist/datepicker/createTimeField.d.ts +12 -49
  365. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  366. package/dist/datepicker/index.d.ts +3 -3
  367. package/dist/datepicker/index.d.ts.map +1 -1
  368. package/dist/datepicker/index.js +2 -0
  369. package/dist/datepicker/index.jsx +2 -0
  370. package/dist/datepicker/intl.d.ts +12 -0
  371. package/dist/datepicker/intl.d.ts.map +1 -0
  372. package/dist/dialog/index.js +2 -0
  373. package/dist/dialog/index.jsx +2 -0
  374. package/dist/disclosure/index.js +2 -0
  375. package/dist/disclosure/index.jsx +2 -0
  376. package/dist/dnd/DragManager.d.ts +86 -0
  377. package/dist/dnd/DragManager.d.ts.map +1 -0
  378. package/dist/dnd/DropTargetKeyboardNavigation.d.ts +42 -0
  379. package/dist/dnd/DropTargetKeyboardNavigation.d.ts.map +1 -0
  380. package/dist/dnd/createDrag.d.ts.map +1 -1
  381. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  382. package/dist/dnd/createDraggableItem.d.ts +12 -7
  383. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  384. package/dist/dnd/createDroppableCollection.d.ts +7 -15
  385. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  386. package/dist/dnd/index.d.ts +5 -1
  387. package/dist/dnd/index.d.ts.map +1 -1
  388. package/dist/dnd/index.js +3 -0
  389. package/dist/dnd/index.jsx +3 -0
  390. package/dist/dnd/intl/index.d.ts +39 -0
  391. package/dist/dnd/intl/index.d.ts.map +1 -0
  392. package/dist/dnd/utils.d.ts +7 -2
  393. package/dist/dnd/utils.d.ts.map +1 -1
  394. package/dist/focus/FocusScope.d.ts +7 -0
  395. package/dist/focus/FocusScope.d.ts.map +1 -1
  396. package/dist/focus/index.d.ts +2 -1
  397. package/dist/focus/index.d.ts.map +1 -1
  398. package/dist/focus/index.js +3 -0
  399. package/dist/focus/index.jsx +3 -0
  400. package/dist/focus/virtualFocus.d.ts +26 -0
  401. package/dist/focus/virtualFocus.d.ts.map +1 -0
  402. package/dist/form/createFormValidation.d.ts.map +1 -1
  403. package/dist/form/index.js +3 -0
  404. package/dist/form/index.jsx +3 -0
  405. package/dist/grid/index.js +2 -0
  406. package/dist/grid/index.jsx +2 -0
  407. package/dist/gridlist/createGridList.d.ts +7 -1
  408. package/dist/gridlist/createGridList.d.ts.map +1 -1
  409. package/dist/gridlist/createGridListItem.d.ts +1 -1
  410. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  411. package/dist/gridlist/createGridListSection.d.ts +15 -0
  412. package/dist/gridlist/createGridListSection.d.ts.map +1 -0
  413. package/dist/gridlist/index.d.ts +2 -1
  414. package/dist/gridlist/index.d.ts.map +1 -1
  415. package/dist/gridlist/index.js +2 -0
  416. package/dist/gridlist/index.jsx +2 -0
  417. package/dist/gridlist/types.d.ts +50 -0
  418. package/dist/gridlist/types.d.ts.map +1 -1
  419. package/dist/i18n/index.js +5 -0
  420. package/dist/i18n/index.jsx +5 -0
  421. package/dist/index.d.ts +10 -6
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +77 -18311
  424. package/dist/index.jsx +77 -18242
  425. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  426. package/dist/interactions/PressEvent.d.ts +11 -0
  427. package/dist/interactions/PressEvent.d.ts.map +1 -1
  428. package/dist/interactions/createFocus.d.ts.map +1 -1
  429. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  430. package/dist/interactions/createInteractionModality.d.ts +0 -1
  431. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  432. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  433. package/dist/interactions/createPress.d.ts.map +1 -1
  434. package/dist/interactions/index.js +9 -0
  435. package/dist/interactions/index.jsx +9 -0
  436. package/dist/label/createLabels.d.ts.map +1 -1
  437. package/dist/label/index.js +4 -0
  438. package/dist/label/index.jsx +4 -0
  439. package/dist/landmark/index.js +2 -0
  440. package/dist/landmark/index.jsx +2 -0
  441. package/dist/link/index.js +2 -0
  442. package/dist/link/index.jsx +2 -0
  443. package/dist/listbox/createListBox.d.ts +37 -0
  444. package/dist/listbox/createListBox.d.ts.map +1 -1
  445. package/dist/listbox/createOption.d.ts +7 -1
  446. package/dist/listbox/createOption.d.ts.map +1 -1
  447. package/dist/listbox/index.js +2 -0
  448. package/dist/listbox/index.jsx +2 -0
  449. package/dist/live-announcer/index.js +2 -0
  450. package/dist/live-announcer/index.jsx +2 -0
  451. package/dist/menu/createMenu.d.ts +7 -4
  452. package/dist/menu/createMenu.d.ts.map +1 -1
  453. package/dist/menu/createMenuItem.d.ts +9 -1
  454. package/dist/menu/createMenuItem.d.ts.map +1 -1
  455. package/dist/menu/index.js +2 -0
  456. package/dist/menu/index.jsx +2 -0
  457. package/dist/meter/index.js +2 -0
  458. package/dist/meter/index.jsx +2 -0
  459. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  460. package/dist/numberfield/index.js +2 -0
  461. package/dist/numberfield/index.jsx +2 -0
  462. package/dist/overlays/index.js +4 -0
  463. package/dist/overlays/index.jsx +4 -0
  464. package/dist/popover/calculatePosition.d.ts +2 -0
  465. package/dist/popover/calculatePosition.d.ts.map +1 -1
  466. package/dist/popover/createOverlayPosition.d.ts +8 -0
  467. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  468. package/dist/popover/index.js +2 -0
  469. package/dist/popover/index.jsx +2 -0
  470. package/dist/progress/index.js +2 -0
  471. package/dist/progress/index.jsx +2 -0
  472. package/dist/radio/createRadio.d.ts +2 -0
  473. package/dist/radio/createRadio.d.ts.map +1 -1
  474. package/dist/radio/index.js +2 -0
  475. package/dist/radio/index.jsx +2 -0
  476. package/dist/searchfield/index.js +2 -0
  477. package/dist/searchfield/index.jsx +2 -0
  478. package/dist/select/createSelect.d.ts +2 -0
  479. package/dist/select/createSelect.d.ts.map +1 -1
  480. package/dist/select/index.js +2 -0
  481. package/dist/select/index.jsx +2 -0
  482. package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
  483. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
  484. package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
  485. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
  486. package/dist/selection/constants.d.ts +15 -0
  487. package/dist/selection/constants.d.ts.map +1 -0
  488. package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
  489. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
  490. package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
  491. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
  492. package/dist/selection/createSelectableCollection.d.ts +69 -0
  493. package/dist/selection/createSelectableCollection.d.ts.map +1 -0
  494. package/dist/selection/createSelectableItem.d.ts +154 -0
  495. package/dist/selection/createSelectableItem.d.ts.map +1 -0
  496. package/dist/selection/createSelectableList.d.ts +43 -0
  497. package/dist/selection/createSelectableList.d.ts.map +1 -0
  498. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  499. package/dist/selection/index.d.ts +9 -0
  500. package/dist/selection/index.d.ts.map +1 -1
  501. package/dist/selection/index.js +5 -0
  502. package/dist/selection/index.jsx +5 -0
  503. package/dist/selection/selectItem.d.ts +29 -0
  504. package/dist/selection/selectItem.d.ts.map +1 -0
  505. package/dist/selection/utils.d.ts +40 -0
  506. package/dist/selection/utils.d.ts.map +1 -0
  507. package/dist/separator/index.js +2 -0
  508. package/dist/separator/index.jsx +2 -0
  509. package/dist/slider/createSlider.d.ts.map +1 -1
  510. package/dist/slider/index.js +2 -0
  511. package/dist/slider/index.jsx +2 -0
  512. package/dist/spinbutton/createSpinButton.d.ts +41 -0
  513. package/dist/spinbutton/createSpinButton.d.ts.map +1 -0
  514. package/dist/spinbutton/index.d.ts +3 -0
  515. package/dist/spinbutton/index.d.ts.map +1 -0
  516. package/dist/spinbutton/index.js +2 -0
  517. package/dist/spinbutton/index.jsx +2 -0
  518. package/dist/spinbutton/intl.d.ts +5 -0
  519. package/dist/spinbutton/intl.d.ts.map +1 -0
  520. package/dist/ssr/index.d.ts +17 -0
  521. package/dist/ssr/index.d.ts.map +1 -1
  522. package/dist/ssr/index.js +299 -0
  523. package/dist/ssr/index.js.map +1 -0
  524. package/dist/ssr/index.jsx +292 -0
  525. package/dist/ssr/index.jsx.map +1 -0
  526. package/dist/steplist/index.js +2 -0
  527. package/dist/steplist/index.jsx +2 -0
  528. package/dist/switch/createSwitch.d.ts +4 -0
  529. package/dist/switch/createSwitch.d.ts.map +1 -1
  530. package/dist/switch/index.js +2 -0
  531. package/dist/switch/index.jsx +2 -0
  532. package/dist/table/createTable.d.ts.map +1 -1
  533. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  534. package/dist/table/createTableRow.d.ts +1 -1
  535. package/dist/table/createTableRow.d.ts.map +1 -1
  536. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  537. package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
  538. package/dist/table/index.js +2 -0
  539. package/dist/table/index.jsx +2 -0
  540. package/dist/table/types.d.ts +35 -1
  541. package/dist/table/types.d.ts.map +1 -1
  542. package/dist/table/utils.d.ts +15 -0
  543. package/dist/table/utils.d.ts.map +1 -0
  544. package/dist/tabs/createTabs.d.ts +5 -3
  545. package/dist/tabs/createTabs.d.ts.map +1 -1
  546. package/dist/tabs/index.js +2 -0
  547. package/dist/tabs/index.jsx +2 -0
  548. package/dist/tag/createTag.d.ts +2 -0
  549. package/dist/tag/createTag.d.ts.map +1 -1
  550. package/dist/tag/createTagGroup.d.ts +7 -0
  551. package/dist/tag/createTagGroup.d.ts.map +1 -1
  552. package/dist/tag/index.js +2 -0
  553. package/dist/tag/index.jsx +2 -0
  554. package/dist/textfield/index.js +2 -0
  555. package/dist/textfield/index.jsx +2 -0
  556. package/dist/toast/createToast.d.ts.map +1 -1
  557. package/dist/toast/index.js +2 -0
  558. package/dist/toast/index.jsx +2 -0
  559. package/dist/toggle/createToggle.d.ts +4 -0
  560. package/dist/toggle/createToggle.d.ts.map +1 -1
  561. package/dist/toggle/index.js +3 -0
  562. package/dist/toggle/index.jsx +3 -0
  563. package/dist/toolbar/createToolbar.d.ts +1 -1
  564. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  565. package/dist/toolbar/index.js +2 -0
  566. package/dist/toolbar/index.jsx +2 -0
  567. package/dist/tooltip/index.js +2 -0
  568. package/dist/tooltip/index.jsx +2 -0
  569. package/dist/tree/createTree.d.ts +5 -1
  570. package/dist/tree/createTree.d.ts.map +1 -1
  571. package/dist/tree/createTreeItem.d.ts +1 -1
  572. package/dist/tree/createTreeItem.d.ts.map +1 -1
  573. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  574. package/dist/tree/index.js +2 -0
  575. package/dist/tree/index.jsx +2 -0
  576. package/dist/tree/types.d.ts +10 -0
  577. package/dist/tree/types.d.ts.map +1 -1
  578. package/dist/utils/animation.d.ts +60 -0
  579. package/dist/utils/animation.d.ts.map +1 -0
  580. package/dist/utils/dom.d.ts +49 -2
  581. package/dist/utils/dom.d.ts.map +1 -1
  582. package/dist/utils/index.d.ts +4 -1
  583. package/dist/utils/index.d.ts.map +1 -1
  584. package/dist/utils/index.js +6 -0
  585. package/dist/utils/index.jsx +6 -0
  586. package/dist/utils/keyboard.d.ts +17 -0
  587. package/dist/utils/keyboard.d.ts.map +1 -0
  588. package/dist/utils/mergeProps.d.ts.map +1 -1
  589. package/dist/utils/scrollIntoView.d.ts +30 -0
  590. package/dist/utils/scrollIntoView.d.ts.map +1 -0
  591. package/dist/visually-hidden/index.js +2 -0
  592. package/dist/visually-hidden/index.jsx +2 -0
  593. package/package.json +304 -3
  594. package/src/actiongroup/createActionGroup.ts +26 -109
  595. package/src/autocomplete/createAutocomplete.ts +202 -35
  596. package/src/breadcrumbs/createBreadcrumbs.ts +12 -4
  597. package/src/button/createToggleButtonGroup.ts +19 -14
  598. package/src/calendar/createCalendar.ts +5 -4
  599. package/src/calendar/createCalendarCell.ts +36 -5
  600. package/src/calendar/createCalendarGrid.ts +47 -12
  601. package/src/calendar/createCalendarMonthPicker.ts +105 -0
  602. package/src/calendar/createCalendarYearPicker.ts +144 -0
  603. package/src/calendar/createRangeCalendar.ts +27 -15
  604. package/src/calendar/createRangeCalendarCell.ts +17 -3
  605. package/src/calendar/index.ts +17 -0
  606. package/src/calendar/intl/index.ts +8 -0
  607. package/src/calendar/utils.ts +4 -0
  608. package/src/checkbox/createCheckbox.ts +10 -0
  609. package/src/checkbox/createCheckboxGroupItem.ts +12 -16
  610. package/src/color/createColorArea.ts +17 -10
  611. package/src/color/createColorField.ts +8 -1
  612. package/src/color/createColorSlider.ts +1 -2
  613. package/src/color/createColorSwatch.ts +4 -2
  614. package/src/color/createColorWheel.ts +0 -6
  615. package/src/color/intl/index.ts +316 -0
  616. package/src/combobox/createComboBox.ts +35 -4
  617. package/src/combobox/intl/generated-locales.ts +635 -0
  618. package/src/combobox/intl/index.ts +8 -2
  619. package/src/datepicker/createDateField.ts +228 -213
  620. package/src/datepicker/createDatePicker.ts +157 -146
  621. package/src/datepicker/createDatePickerGroup.ts +88 -82
  622. package/src/datepicker/createDateRangePicker.ts +230 -179
  623. package/src/datepicker/createDateSegment.ts +386 -384
  624. package/src/datepicker/createDisplayNames.ts +45 -0
  625. package/src/datepicker/createTimeField.ts +36 -129
  626. package/src/datepicker/index.ts +13 -14
  627. package/src/datepicker/intl.ts +633 -0
  628. package/src/dnd/DragManager.ts +693 -0
  629. package/src/dnd/DropTargetKeyboardNavigation.ts +337 -0
  630. package/src/dnd/createDrag.ts +31 -5
  631. package/src/dnd/createDraggableCollection.ts +33 -15
  632. package/src/dnd/createDraggableItem.ts +92 -5
  633. package/src/dnd/createDroppableCollection.ts +488 -371
  634. package/src/dnd/index.ts +11 -0
  635. package/src/dnd/intl/ar-AE.json +29 -0
  636. package/src/dnd/intl/bg-BG.json +29 -0
  637. package/src/dnd/intl/cs-CZ.json +29 -0
  638. package/src/dnd/intl/da-DK.json +29 -0
  639. package/src/dnd/intl/de-DE.json +29 -0
  640. package/src/dnd/intl/el-GR.json +29 -0
  641. package/src/dnd/intl/en-US.json +29 -0
  642. package/src/dnd/intl/es-ES.json +29 -0
  643. package/src/dnd/intl/et-EE.json +29 -0
  644. package/src/dnd/intl/fi-FI.json +29 -0
  645. package/src/dnd/intl/fr-FR.json +29 -0
  646. package/src/dnd/intl/he-IL.json +29 -0
  647. package/src/dnd/intl/hr-HR.json +29 -0
  648. package/src/dnd/intl/hu-HU.json +29 -0
  649. package/src/dnd/intl/index.ts +139 -0
  650. package/src/dnd/intl/it-IT.json +29 -0
  651. package/src/dnd/intl/ja-JP.json +29 -0
  652. package/src/dnd/intl/ko-KR.json +29 -0
  653. package/src/dnd/intl/lt-LT.json +29 -0
  654. package/src/dnd/intl/lv-LV.json +29 -0
  655. package/src/dnd/intl/nb-NO.json +29 -0
  656. package/src/dnd/intl/nl-NL.json +29 -0
  657. package/src/dnd/intl/pl-PL.json +29 -0
  658. package/src/dnd/intl/pt-BR.json +29 -0
  659. package/src/dnd/intl/pt-PT.json +29 -0
  660. package/src/dnd/intl/ro-RO.json +29 -0
  661. package/src/dnd/intl/ru-RU.json +29 -0
  662. package/src/dnd/intl/sk-SK.json +29 -0
  663. package/src/dnd/intl/sl-SI.json +29 -0
  664. package/src/dnd/intl/sr-SP.json +29 -0
  665. package/src/dnd/intl/sv-SE.json +29 -0
  666. package/src/dnd/intl/tr-TR.json +29 -0
  667. package/src/dnd/intl/uk-UA.json +29 -0
  668. package/src/dnd/intl/zh-CN.json +29 -0
  669. package/src/dnd/intl/zh-TW.json +29 -0
  670. package/src/dnd/utils.ts +63 -3
  671. package/src/focus/FocusScope.tsx +266 -24
  672. package/src/focus/index.ts +8 -0
  673. package/src/focus/virtualFocus.ts +55 -0
  674. package/src/form/createFormValidation.ts +8 -1
  675. package/src/gridlist/createGridList.ts +187 -48
  676. package/src/gridlist/createGridListItem.ts +87 -155
  677. package/src/gridlist/createGridListSection.ts +54 -0
  678. package/src/gridlist/index.ts +3 -0
  679. package/src/gridlist/types.ts +47 -0
  680. package/src/index.ts +51 -3
  681. package/src/interactions/FocusableProvider.tsx +11 -6
  682. package/src/interactions/PressEvent.ts +14 -0
  683. package/src/interactions/createFocus.ts +26 -21
  684. package/src/interactions/createFocusWithin.ts +23 -24
  685. package/src/interactions/createInteractionModality.ts +26 -15
  686. package/src/interactions/createKeyboard.ts +10 -0
  687. package/src/interactions/createPress.ts +29 -6
  688. package/src/label/createLabels.ts +7 -4
  689. package/src/listbox/createListBox.ts +203 -10
  690. package/src/listbox/createOption.ts +84 -74
  691. package/src/menu/createMenu.ts +93 -16
  692. package/src/menu/createMenuItem.ts +253 -41
  693. package/src/numberfield/createNumberField.ts +82 -14
  694. package/src/popover/calculatePosition.ts +19 -7
  695. package/src/popover/createOverlayPosition.ts +9 -0
  696. package/src/radio/createRadio.ts +19 -2
  697. package/src/select/createSelect.ts +41 -4
  698. package/src/selection/DOMLayoutDelegate.ts +102 -0
  699. package/src/selection/ListKeyboardDelegate.ts +398 -0
  700. package/src/selection/constants.ts +16 -0
  701. package/src/selection/createCollectionRowInteraction.ts +209 -0
  702. package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
  703. package/src/selection/createSelectableCollection.ts +645 -0
  704. package/src/selection/createSelectableItem.ts +512 -0
  705. package/src/selection/createSelectableList.ts +93 -0
  706. package/src/selection/createTypeSelect.ts +112 -51
  707. package/src/selection/index.ts +31 -0
  708. package/src/selection/selectItem.ts +80 -0
  709. package/src/selection/utils.ts +82 -0
  710. package/src/slider/createSlider.ts +48 -1
  711. package/src/spinbutton/createSpinButton.ts +163 -0
  712. package/src/spinbutton/index.ts +10 -0
  713. package/src/spinbutton/intl.ts +115 -0
  714. package/src/ssr/index.tsx +31 -0
  715. package/src/switch/createSwitch.ts +10 -0
  716. package/src/table/createTable.ts +82 -27
  717. package/src/table/createTableColumnHeader.ts +10 -0
  718. package/src/table/createTableRow.ts +208 -203
  719. package/src/table/createTableSelectAllCheckbox.ts +3 -4
  720. package/src/table/createTableSelectionCheckbox.ts +24 -1
  721. package/src/table/types.ts +37 -1
  722. package/src/table/utils.ts +41 -0
  723. package/src/tabs/createTabs.ts +95 -24
  724. package/src/tag/createTag.ts +30 -36
  725. package/src/tag/createTagGroup.ts +92 -0
  726. package/src/toast/createToast.ts +1 -0
  727. package/src/toggle/createToggle.ts +20 -0
  728. package/src/toolbar/createToolbar.ts +43 -94
  729. package/src/tree/createTree.ts +165 -52
  730. package/src/tree/createTreeItem.ts +105 -120
  731. package/src/tree/createTreeSelectionCheckbox.ts +14 -1
  732. package/src/tree/types.ts +10 -0
  733. package/src/utils/animation.ts +243 -0
  734. package/src/utils/dom.ts +216 -25
  735. package/src/utils/index.ts +10 -0
  736. package/src/utils/keyboard.ts +25 -0
  737. package/src/utils/mergeProps.ts +8 -1
  738. package/src/utils/scrollIntoView.ts +181 -0
  739. package/dist/datepicker/createTimeSegment.d.ts +0 -29
  740. package/dist/datepicker/createTimeSegment.d.ts.map +0 -1
  741. package/dist/index.js.map +0 -1
  742. package/dist/index.jsx.map +0 -1
  743. package/src/datepicker/createTimeSegment.ts +0 -352
@@ -8,7 +8,7 @@
8
8
  import { createSignal, onMount, onCleanup, type Accessor } from "solid-js";
9
9
  import { type MaybeAccessor, access } from "../utils";
10
10
  import { useLocale } from "../i18n";
11
- import { getOwnerDocument, isFocusable } from "../utils";
11
+ import { getOwnerDocument, isFocusable, isTabbable } from "../utils";
12
12
  import { focusSafely } from "../utils/focus";
13
13
 
14
14
  export type Orientation = "horizontal" | "vertical";
@@ -26,7 +26,7 @@ export interface ToolbarAria {
26
26
  /** Props for the toolbar container element. */
27
27
  toolbarProps: {
28
28
  role: "toolbar" | "group";
29
- "aria-orientation": Orientation;
29
+ "aria-orientation"?: Orientation;
30
30
  "aria-label"?: string;
31
31
  "aria-labelledby"?: string;
32
32
  tabIndex?: number;
@@ -50,17 +50,6 @@ interface FocusManager {
50
50
  focusLast(opts?: FocusManagerOptions): HTMLElement | null;
51
51
  }
52
52
 
53
- function isTabbable(element: Element): boolean {
54
- if (!isFocusable(element)) {
55
- return false;
56
- }
57
- const tabIndex = element.getAttribute("tabindex");
58
- if (tabIndex != null) {
59
- return parseInt(tabIndex, 10) >= 0;
60
- }
61
- return true;
62
- }
63
-
64
53
  function getFocusableElements(root: Element, tabbable = false): HTMLElement[] {
65
54
  const elements: HTMLElement[] = [];
66
55
  const filter = tabbable ? isTabbable : isFocusable;
@@ -90,47 +79,6 @@ function getActiveElement(doc: Document): Element | null {
90
79
  return activeElement;
91
80
  }
92
81
 
93
- const TEXT_INPUT_TYPES = new Set([
94
- "",
95
- "text",
96
- "search",
97
- "url",
98
- "tel",
99
- "password",
100
- "email",
101
- "number",
102
- "date",
103
- "datetime-local",
104
- "month",
105
- "time",
106
- "week",
107
- ]);
108
-
109
- function isTextInputLikeElement(target: EventTarget | null): boolean {
110
- if (!(target instanceof HTMLElement)) {
111
- return false;
112
- }
113
-
114
- if (target.isContentEditable || !!target.closest('[contenteditable="true"]')) {
115
- return true;
116
- }
117
-
118
- if (target.getAttribute("role") === "textbox") {
119
- return true;
120
- }
121
-
122
- if (target instanceof HTMLTextAreaElement || target instanceof HTMLSelectElement) {
123
- return true;
124
- }
125
-
126
- if (target instanceof HTMLInputElement) {
127
- const type = target.type.toLowerCase();
128
- return TEXT_INPUT_TYPES.has(type);
129
- }
130
-
131
- return false;
132
- }
133
-
134
82
  function createFocusManager(ref: Accessor<HTMLElement | undefined>): FocusManager {
135
83
  return {
136
84
  focusNext(opts: FocusManagerOptions = {}) {
@@ -292,23 +240,7 @@ export function createToolbar(props: AriaToolbarProps = {}): ToolbarAria {
292
240
  return;
293
241
  }
294
242
 
295
- // Let modified shortcuts pass through.
296
- if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
297
- return;
298
- }
299
-
300
- // Text entry controls should keep arrow/home/end for caret/value navigation.
301
- if (isTextInputLikeElement(target)) {
302
- switch (e.key) {
303
- case "ArrowRight":
304
- case "ArrowLeft":
305
- case "ArrowDown":
306
- case "ArrowUp":
307
- case "Home":
308
- case "End":
309
- return;
310
- }
311
- }
243
+ const doc = getOwnerDocument(root);
312
244
 
313
245
  const dir = locale().direction;
314
246
  const isRTL = dir === "rtl";
@@ -349,18 +281,18 @@ export function createToolbar(props: AriaToolbarProps = {}): ToolbarAria {
349
281
  handled = true;
350
282
  }
351
283
  break;
352
- case "Home":
353
- focusManager.focusFirst({ tabbable: true });
354
- handled = true;
355
- break;
356
- case "End":
357
- focusManager.focusLast({ tabbable: true });
358
- handled = true;
359
- break;
360
284
  case "Tab":
361
- // Store the last focused element for re-entry
362
- lastFocusedElement = e.target as Element;
363
- break;
285
+ // Move focus to the first/last child so the browser's own Tab handling
286
+ // then carries focus OUT of the whole toolbar. Faithful to upstream
287
+ // useToolbar: there is no roving tabindex — every item stays tabbable,
288
+ // so a bare Tab would otherwise step to the next item instead of leaving.
289
+ lastFocusedElement = getActiveElement(doc);
290
+ if (e.shiftKey) {
291
+ focusManager.focusFirst({ tabbable: true });
292
+ } else {
293
+ focusManager.focusLast({ tabbable: true });
294
+ }
295
+ return;
364
296
  }
365
297
 
366
298
  if (handled) {
@@ -369,24 +301,36 @@ export function createToolbar(props: AriaToolbarProps = {}): ToolbarAria {
369
301
  }
370
302
  };
371
303
 
372
- // Focus handler - restore last focused element when re-entering
373
- const onFocus = (e: FocusEvent) => {
304
+ // Record the last focused child when focus moves out of the toolbar.
305
+ const onBlur = (e: FocusEvent) => {
306
+ const root = toolbarRef;
307
+ if (!root) return;
374
308
  if (isInToolbar()) return;
375
309
 
376
- // Only restore if focus is coming from outside the toolbar
310
+ const relatedTarget = e.relatedTarget as Node | null;
311
+ if (!(relatedTarget && root.contains(relatedTarget)) && !lastFocusedElement) {
312
+ lastFocusedElement = e.target as Element;
313
+ }
314
+ };
315
+
316
+ // Restore focus to the last focused child when focus returns into the toolbar.
317
+ // If that element was removed, focus() is a no-op and the browser lands on the
318
+ // first/last child per direction — matching upstream useToolbar.
319
+ const onFocus = (e: FocusEvent) => {
377
320
  const root = toolbarRef;
378
321
  if (!root) return;
322
+ if (isInToolbar()) return;
379
323
 
380
- const relatedTarget = e.relatedTarget as Element | null;
381
-
382
- // If focus came from outside and we have a last focused element
324
+ const relatedTarget = e.relatedTarget as Node | null;
325
+ const target = e.target;
383
326
  if (
384
327
  lastFocusedElement &&
385
- root.contains(lastFocusedElement) &&
386
- (!relatedTarget || !root.contains(relatedTarget))
328
+ !(relatedTarget && root.contains(relatedTarget)) &&
329
+ target instanceof Node &&
330
+ root.contains(target)
387
331
  ) {
388
- // Restore focus to the last focused element
389
332
  focusSafely(lastFocusedElement as HTMLElement);
333
+ lastFocusedElement = null;
390
334
  }
391
335
  };
392
336
 
@@ -394,13 +338,15 @@ export function createToolbar(props: AriaToolbarProps = {}): ToolbarAria {
394
338
  const setRef = (el: HTMLElement) => {
395
339
  toolbarRef = el;
396
340
 
397
- // Use capture phase for keyboard events
341
+ // Use capture phase so container handlers run before the focused child's.
398
342
  el.addEventListener("keydown", onKeyDown, true);
399
343
  el.addEventListener("focus", onFocus, true);
344
+ el.addEventListener("blur", onBlur, true);
400
345
 
401
346
  onCleanup(() => {
402
347
  el.removeEventListener("keydown", onKeyDown, true);
403
348
  el.removeEventListener("focus", onFocus, true);
349
+ el.removeEventListener("blur", onBlur, true);
404
350
  });
405
351
  };
406
352
 
@@ -410,14 +356,17 @@ export function createToolbar(props: AriaToolbarProps = {}): ToolbarAria {
410
356
  return isInToolbar() ? "group" : "toolbar";
411
357
  },
412
358
  get "aria-orientation"() {
359
+ // Upstream useToolbar emits aria-orientation unconditionally, on the
360
+ // nested role="group" too — not only on the root role="toolbar".
413
361
  return orientation();
414
362
  },
415
363
  get "aria-label"() {
416
364
  return ariaLabel();
417
365
  },
418
366
  get "aria-labelledby"() {
419
- // Only use aria-labelledby if no aria-label is provided
420
- return ariaLabel() ? undefined : ariaLabelledby();
367
+ // Mirror useToolbar: `aria-label == null ? aria-labelledby : undefined`.
368
+ // An explicit empty-string aria-label still suppresses labelledby.
369
+ return ariaLabel() == null ? ariaLabelledby() : undefined;
421
370
  },
422
371
  ref: setRef,
423
372
  },
@@ -3,11 +3,13 @@
3
3
  * Based on @react-aria/tree/useTree.
4
4
  */
5
5
 
6
- import { createMemo, type Accessor } from "solid-js";
6
+ import { createEffect, createMemo, type Accessor } from "solid-js";
7
7
  import type { JSX } from "solid-js";
8
8
  import { createId } from "@proyecto-viviana/solid-stately";
9
9
  import type { TreeState, TreeCollection, Key } from "@proyecto-viviana/solid-stately";
10
10
  import type { AriaTreeProps, TreeAria } from "./types";
11
+ import { scrollIntoViewport } from "../utils";
12
+ import { getInteractionModality } from "../interactions/createInteractionModality";
11
13
 
12
14
  /**
13
15
  * Metadata stored for a tree instance.
@@ -15,6 +17,10 @@ import type { AriaTreeProps, TreeAria } from "./types";
15
17
  interface TreeData {
16
18
  /** The generated ID for the tree. */
17
19
  treeId: string;
20
+ /** How keyboard navigation behaves within row children. */
21
+ keyboardNavigationBehavior: "arrow" | "tab";
22
+ /** Text direction for row-child arrow navigation and tree expansion keys. */
23
+ direction: "ltr" | "rtl";
18
24
  /** Actions registered for the tree. */
19
25
  actions: {
20
26
  onAction?: (key: Key) => void;
@@ -35,13 +41,45 @@ export function getTreeData<T extends object, C extends TreeCollection<T>>(
35
41
  return treeDataMap.get(state);
36
42
  }
37
43
 
44
+ /**
45
+ * Whether a key should be skipped during keyboard navigation. Disabled keys only
46
+ * block navigation under `disabledBehavior: "all"` (the default); under
47
+ * `"selection"` they remain focusable (selection is still blocked elsewhere).
48
+ * Mirrors `ListKeyboardDelegate.isDisabled` in React Aria.
49
+ */
50
+ function isNavigationDisabled<T extends object, C extends TreeCollection<T>>(
51
+ state: TreeState<T, C>,
52
+ key: Key,
53
+ ): boolean {
54
+ return state.isDisabled(key) && state.disabledBehavior === "all";
55
+ }
56
+
57
+ /**
58
+ * Walks from `startKey` via `step` until reaching a key that is navigable (not
59
+ * disabled for navigation), mirroring React Aria's
60
+ * `ListKeyboardDelegate.findNextNonDisabled`. `getFirstKey`/`getLastKey` and the
61
+ * next/previous lookups all funnel through this so arrow keys, Home and End land
62
+ * on enabled rows only.
63
+ */
64
+ function findNextNavigableKey<T extends object, C extends TreeCollection<T>>(
65
+ state: TreeState<T, C>,
66
+ startKey: Key | null,
67
+ step: (key: Key) => Key | null,
68
+ ): Key | null {
69
+ let key = startKey;
70
+ while (key != null && isNavigationDisabled(state, key)) {
71
+ key = step(key);
72
+ }
73
+ return key;
74
+ }
75
+
38
76
  /**
39
77
  * Creates accessibility props for a tree.
40
78
  */
41
79
  export function createTree<T extends object, C extends TreeCollection<T> = TreeCollection<T>>(
42
80
  props: Accessor<AriaTreeProps>,
43
81
  state: Accessor<TreeState<T, C>>,
44
- _ref: Accessor<HTMLDivElement | null>,
82
+ ref: Accessor<HTMLDivElement | null>,
45
83
  ): TreeAria {
46
84
  // Generate a unique ID for the tree
47
85
  const treeId = props().id ?? createId();
@@ -49,6 +87,12 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
49
87
  // Store tree data for child components
50
88
  const treeData: TreeData = {
51
89
  treeId,
90
+ get keyboardNavigationBehavior() {
91
+ return props().keyboardNavigationBehavior ?? "arrow";
92
+ },
93
+ get direction() {
94
+ return props().direction ?? "ltr";
95
+ },
52
96
  actions: {
53
97
  get onAction() {
54
98
  return props().onAction;
@@ -75,31 +119,27 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
75
119
  switch (e.key) {
76
120
  case "ArrowDown": {
77
121
  e.preventDefault();
78
- if (focusedKey != null) {
79
- const nextKey = collection.getKeyAfter(focusedKey);
80
- if (nextKey != null) {
81
- s.setFocusedKey(nextKey);
82
- }
83
- } else {
84
- const firstKey = collection.getFirstKey();
85
- if (firstKey != null) {
86
- s.setFocusedKey(firstKey);
87
- }
122
+ const nextKey =
123
+ focusedKey != null
124
+ ? findNextNavigableKey(s, collection.getKeyAfter(focusedKey), (k) =>
125
+ collection.getKeyAfter(k),
126
+ )
127
+ : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));
128
+ if (nextKey != null) {
129
+ s.setFocusedKey(nextKey);
88
130
  }
89
131
  break;
90
132
  }
91
133
  case "ArrowUp": {
92
134
  e.preventDefault();
93
- if (focusedKey != null) {
94
- const prevKey = collection.getKeyBefore(focusedKey);
95
- if (prevKey != null) {
96
- s.setFocusedKey(prevKey);
97
- }
98
- } else {
99
- const lastKey = collection.getLastKey();
100
- if (lastKey != null) {
101
- s.setFocusedKey(lastKey);
102
- }
135
+ const prevKey =
136
+ focusedKey != null
137
+ ? findNextNavigableKey(s, collection.getKeyBefore(focusedKey), (k) =>
138
+ collection.getKeyBefore(k),
139
+ )
140
+ : findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k));
141
+ if (prevKey != null) {
142
+ s.setFocusedKey(prevKey);
103
143
  }
104
144
  break;
105
145
  }
@@ -133,7 +173,9 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
133
173
  }
134
174
  case "Home": {
135
175
  e.preventDefault();
136
- const firstKey = collection.getFirstKey();
176
+ const firstKey = findNextNavigableKey(s, collection.getFirstKey(), (k) =>
177
+ collection.getKeyAfter(k),
178
+ );
137
179
  if (firstKey != null) {
138
180
  s.setFocusedKey(firstKey);
139
181
  }
@@ -141,7 +183,9 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
141
183
  }
142
184
  case "End": {
143
185
  e.preventDefault();
144
- const lastKey = collection.getLastKey();
186
+ const lastKey = findNextNavigableKey(s, collection.getLastKey(), (k) =>
187
+ collection.getKeyBefore(k),
188
+ );
145
189
  if (lastKey != null) {
146
190
  s.setFocusedKey(lastKey);
147
191
  }
@@ -155,22 +199,11 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
155
199
  }
156
200
  break;
157
201
  }
158
- case " ":
159
- case "Space":
160
- case "Spacebar": {
161
- if (focusedKey != null && s.selectionMode !== "none" && !s.isDisabled(focusedKey)) {
162
- e.preventDefault();
163
- s.toggleSelection(focusedKey);
164
- }
165
- break;
166
- }
167
- case "Enter": {
168
- if (focusedKey != null && !s.isDisabled(focusedKey)) {
169
- e.preventDefault();
170
- p.onAction?.(focusedKey);
171
- }
172
- break;
173
- }
202
+ // Space (selection) and Enter (action) are intentionally absent here.
203
+ // Upstream's useSelectableCollection leaves activation to useSelectableItem.
204
+ // The focus effect below moves DOM focus onto the focused row, so the row's
205
+ // own createSelectableItem handlers receive those keys without duplicating
206
+ // work in the bubbling tree handler.
174
207
  case "Escape": {
175
208
  if (s.selectionMode !== "none") {
176
209
  e.preventDefault();
@@ -207,24 +240,101 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
207
240
  }
208
241
  };
209
242
 
210
- const onFocus = () => {
243
+ // The first / last SELECTED key in flattened (visible) order — mirrors React
244
+ // Aria's `SelectionManager.firstSelectedKey`/`lastSelectedKey`, which entry
245
+ // focus prefers over the first/last row.
246
+ const firstSelectedKey = (s: TreeState<T, C>): Key | null => {
247
+ let key = s.collection.getFirstKey();
248
+ while (key != null) {
249
+ if (s.isSelected(key)) return key;
250
+ key = s.collection.getKeyAfter(key);
251
+ }
252
+ return null;
253
+ };
254
+ const lastSelectedKey = (s: TreeState<T, C>): Key | null => {
255
+ let key = s.collection.getLastKey();
256
+ while (key != null) {
257
+ if (s.isSelected(key)) return key;
258
+ key = s.collection.getKeyBefore(key);
259
+ }
260
+ return null;
261
+ };
262
+
263
+ // Entry focus is handled on `focusin` (BUBBLING) rather than `focus`
264
+ // (non-bubbling): React Aria's `useSelectableCollection.onFocus` bubbles, so a
265
+ // Shift+Tab that the browser parks on a tabbable descendant (e.g. a selection
266
+ // checkbox, which is `tabIndex=0` like upstream) still reaches the collection
267
+ // and is redirected to the focused/selected row. A Solid non-bubbling `focus`
268
+ // handler on the treegrid only fires for forward Tab (the container is the first
269
+ // tab stop) and would strand backward entry on the last checkbox — the same
270
+ // trampoline gotcha the TagGroup port hit. See `createListBox.onListBoxFocus`.
271
+ const onFocusIn = (e: FocusEvent) => {
211
272
  const s = state();
212
273
  s.setFocused(true);
213
274
 
214
- // If nothing is focused, focus the first item
215
- if (s.focusedKey == null) {
216
- const firstKey = s.collection.getFirstKey();
217
- if (firstKey != null) {
218
- s.setFocusedKey(firstKey);
219
- }
275
+ const currentTarget = e.currentTarget as Element | null;
276
+ const relatedTarget = e.relatedTarget as Element | null;
277
+ // Internal roving moves (focus already inside the tree) are driven by
278
+ // `onKeyDown`; only seed focus when it enters from OUTSIDE the treegrid.
279
+ if (!currentTarget || (relatedTarget && currentTarget.contains(relatedTarget))) {
280
+ return;
281
+ }
282
+
283
+ let key = s.focusedKey;
284
+ if (key == null) {
285
+ // Shift+Tab backward into the tree (focus arrived from a FOLLOWING element)
286
+ // enters at the last selected row, else the last navigable row; forward Tab
287
+ // enters at the first selected row, else the first navigable row.
288
+ const backward =
289
+ !!relatedTarget &&
290
+ !!(
291
+ currentTarget.compareDocumentPosition(relatedTarget) &
292
+ Node.DOCUMENT_POSITION_FOLLOWING
293
+ );
294
+ key = backward
295
+ ? (lastSelectedKey(s) ??
296
+ findNextNavigableKey(s, s.collection.getLastKey(), (k) => s.collection.getKeyBefore(k)))
297
+ : (firstSelectedKey(s) ??
298
+ findNextNavigableKey(s, s.collection.getFirstKey(), (k) => s.collection.getKeyAfter(k)));
299
+ }
300
+ if (key != null) {
301
+ s.setFocusedKey(key);
220
302
  }
221
303
  };
222
304
 
223
- const onBlur = () => {
305
+ const onFocusOut = (e: FocusEvent) => {
224
306
  const s = state();
225
- s.setFocused(false);
307
+ const currentTarget = e.currentTarget as Element | null;
308
+ const relatedTarget = e.relatedTarget as Element | null;
309
+ // Only clear the focused flag once focus has left the treegrid entirely.
310
+ if (!currentTarget || !relatedTarget || !currentTarget.contains(relatedTarget)) {
311
+ s.setFocused(false);
312
+ }
226
313
  };
227
314
 
315
+ createEffect(() => {
316
+ const s = state();
317
+ const key = s.focusedKey;
318
+ const el = ref();
319
+ if (!el || key == null) {
320
+ return;
321
+ }
322
+
323
+ const active = document.activeElement;
324
+ if (!active || (active !== el && !el.contains(active))) {
325
+ return;
326
+ }
327
+
328
+ const target = el.querySelector<HTMLElement>(`[data-key="${key}"]`);
329
+ if (target && target !== active) {
330
+ target.focus();
331
+
332
+ if (getInteractionModality() !== "pointer") {
333
+ scrollIntoViewport(target, { containingElement: el });
334
+ }
335
+ }
336
+ });
337
+
228
338
  const treeProps = createMemo(() => {
229
339
  const p = props();
230
340
  const s = state();
@@ -237,10 +347,13 @@ export function createTree<T extends object, C extends TreeCollection<T> = TreeC
237
347
  "aria-describedby": p["aria-describedby"],
238
348
  "aria-multiselectable": s.selectionMode === "multiple" ? true : undefined,
239
349
  "aria-disabled": p.isDisabled || undefined,
240
- tabIndex: p.isDisabled ? undefined : 0,
350
+ // Roving container tab stop: `0` while no row is focused (Tab enters the
351
+ // tree), `-1` once a row takes focus (the row holds the tab stop). Mirrors
352
+ // `useSelectableCollection` `tabIndex = focusedKey == null ? 0 : -1`.
353
+ tabIndex: p.isDisabled ? undefined : s.focusedKey == null ? 0 : -1,
241
354
  onKeyDown,
242
- onFocus,
243
- onBlur,
355
+ onFocusIn,
356
+ onFocusOut,
244
357
  };
245
358
 
246
359
  // Add row count for virtualized trees