@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
@@ -3,7 +3,7 @@
3
3
  * Based on @react-aria/tabs.
4
4
  */
5
5
 
6
- import { type Accessor, createEffect, createMemo } from "solid-js";
6
+ import { type Accessor, batch, createEffect, createMemo } from "solid-js";
7
7
  import { createFocusRing } from "../interactions";
8
8
  import { createPress } from "../interactions";
9
9
  import { createHover } from "../interactions";
@@ -54,8 +54,10 @@ export interface TabListAria {
54
54
  "aria-labelledby"?: string;
55
55
  "aria-describedby"?: string;
56
56
  onKeyDown: (e: KeyboardEvent) => void;
57
- onFocus: (e: FocusEvent) => void;
58
- onBlur: (e: FocusEvent) => void;
57
+ // React's bubbling onFocus/onBlur map to focusin/focusout in Solid; the
58
+ // tab list must observe focus entering/leaving its child tabs.
59
+ onFocusIn: (e: FocusEvent) => void;
60
+ onFocusOut: (e: FocusEvent) => void;
59
61
  };
60
62
  }
61
63
 
@@ -80,12 +82,14 @@ export interface TabAria {
80
82
  "aria-controls": string | undefined;
81
83
  "aria-label"?: string;
82
84
  "aria-labelledby"?: string;
83
- tabIndex: number;
85
+ tabIndex: number | undefined;
84
86
  onKeyDown: (e: KeyboardEvent) => void;
85
87
  onMouseDown: (e: MouseEvent) => void;
86
88
  onPointerDown: (e: PointerEvent) => void;
87
89
  onClick: (e: MouseEvent) => void;
88
90
  onFocus: (e: FocusEvent) => void;
91
+ onFocusIn: (e: FocusEvent) => void;
92
+ onBlur: (e: FocusEvent) => void;
89
93
  };
90
94
  /** Whether the tab is selected. */
91
95
  isSelected: Accessor<boolean>;
@@ -268,7 +272,25 @@ export function createTabList<T>(props: AriaTabListProps, state: TabListState<T>
268
272
 
269
273
  if (nextKey !== null) {
270
274
  e.preventDefault();
271
- state.setFocusedKey(nextKey);
275
+ // Batch the focus + selection writes so their observable ordering matches
276
+ // React. `setFocusedKey` drives a reactive effect that moves DOM focus
277
+ // (firing native focusout/focusin); `setSelectedKey` calls
278
+ // `onSelectionChange` synchronously. Written bare, Solid flushes the focus
279
+ // effect the instant `setFocusedKey` runs — so focus moves *before* the
280
+ // selection callback, inverting React's order. React batches both state
281
+ // updates in the handler (callback fires synchronously) and defers the
282
+ // focus move to a layout effect. `batch()` is the Solid equivalent: it
283
+ // holds the focus effect until the batch closes, so the synchronous
284
+ // `onSelectionChange` fires first, then focus moves — matching upstream's
285
+ // `callback → focusout → focusin` sequence (D4 event-sequence oracle).
286
+ batch(() => {
287
+ state.setFocusedKey(nextKey);
288
+ // Selection follows focus only for keyboard navigation in automatic mode
289
+ // (mirrors useSelectableCollection's selectOnFocus in navigateToKey).
290
+ if (keyboardActivation() === "automatic") {
291
+ state.setSelectedKey(nextKey);
292
+ }
293
+ });
272
294
  }
273
295
  };
274
296
 
@@ -297,8 +319,8 @@ export function createTabList<T>(props: AriaTabListProps, state: TabListState<T>
297
319
  "aria-labelledby": props["aria-labelledby"],
298
320
  "aria-describedby": props["aria-describedby"],
299
321
  onKeyDown: handleKeyDown,
300
- onFocus: handleFocus,
301
- onBlur: handleBlur,
322
+ onFocusIn: handleFocus,
323
+ onFocusOut: handleBlur,
302
324
  },
303
325
  };
304
326
  }
@@ -319,24 +341,43 @@ export function createTab<T>(
319
341
  return state.isKeyDisabled(key());
320
342
  });
321
343
 
322
- const isFocused = createMemo(() => state.focusedKey() === key());
344
+ // Whether this tab is the roving-focus target (state layer), used for the
345
+ // roving tabIndex and DOM focus alignment. The returned isFocused is the
346
+ // DOM-focus-based ring state, matching upstream's useFocusRing semantics.
347
+ const isKeyFocused = createMemo(() => state.focusedKey() === key());
323
348
 
324
349
  // Focus ring
325
- const { isFocusVisible, focusProps } = createFocusRing();
326
-
327
- // Press handling
350
+ const { isFocused, isFocusVisible, focusProps } = createFocusRing();
351
+
352
+ // Press handling. Selection timing mirrors useSelectableItem's default
353
+ // (non-shouldSelectOnPressUp) path: mouse selects on press start and
354
+ // keyboard on key down, while touch, pen, and virtual pointers select on
355
+ // press up.
356
+ const selectTab = () => {
357
+ // Press handlers select only — they do NOT set the focused key. Upstream's
358
+ // useSelectableItem does the same: its press/onSelect path calls
359
+ // replaceSelection, while `focusedKey` is driven exclusively by the DOM
360
+ // `onFocus` handler (see handleFocus below). Setting the focused key here too
361
+ // flipped the roving tabIndex synchronously at pointer-up — *before* the
362
+ // browser's native focus reached the tab — so a touch tap logged the tapped
363
+ // tab with tabIndex 0 at its own `focusin`, where React (which updates
364
+ // tabIndex only on the post-event commit) still shows -1. Letting native
365
+ // focus alone advance `focusedKey` defers the tabIndex flip past the focus
366
+ // event, matching React's D4 event sequence.
367
+ state.setSelectedKey(key());
368
+ };
328
369
  const { isPressed, pressProps } = createPress({
329
370
  get isDisabled() {
330
371
  return isDisabled();
331
372
  },
332
- onPress: () => {
333
- const tabKey = key();
334
- const wasSelected = state.selectedKey() === tabKey;
335
-
336
- state.setFocusedKey(tabKey);
337
-
338
- if (state.keyboardActivation() === "manual" || wasSelected) {
339
- state.setSelectedKey(tabKey);
373
+ onPressStart: (e) => {
374
+ if (e.pointerType === "mouse" || e.pointerType === "keyboard") {
375
+ selectTab();
376
+ }
377
+ },
378
+ onPress: (e) => {
379
+ if (e.pointerType === "touch" || e.pointerType === "pen" || e.pointerType === "virtual") {
380
+ selectTab();
340
381
  }
341
382
  },
342
383
  });
@@ -363,12 +404,34 @@ export function createTab<T>(
363
404
  }
364
405
  };
365
406
 
366
- // Focus management
407
+ // Focus management. The focus ring reacts to the native `focus` event, but the
408
+ // roving-tabindex commit is deliberately bound to `focusin` (see
409
+ // handleFocusIn) so its DOM reflection lands one event later — matching React,
410
+ // whose `onFocus` is a `focusin`-delegated listener at the app root.
367
411
  const handleFocus = (e: FocusEvent) => {
368
- state.setFocusedKey(key());
369
412
  callHandler(focusProps.onFocus, e);
370
413
  };
371
414
 
415
+ // Roving-tabindex commit (D4 event-ordering). React's `onFocus` is delegated
416
+ // to a single `focusin` listener at the app root, so the roving tabIndex it
417
+ // drives reflects one event *after* the native `focus`. Binding the
418
+ // focusedKey write here (to `focusin`) mirrors that timing: the D4 oracle
419
+ // records event targets from a document-level capture-phase listener, which
420
+ // runs before this at-target handler, so a touch tap — whose selection lands
421
+ // on press-up, after focus — is still observed with tabIndex=-1 at `focusin`,
422
+ // exactly as React. A mouse press selects on press-start and syncs focusedKey
423
+ // before focus (createTabListState's selection→focus effect), so its tab
424
+ // already reads tabIndex=0 at `focusin`, again matching React. Setting it on
425
+ // the earlier `focus` event flipped the tab a whole event too soon, so touch
426
+ // taps diverged at `focusin`. See recertification.md D4 event-ordering.
427
+ const handleFocusIn = () => {
428
+ state.setFocusedKey(key());
429
+ };
430
+
431
+ const handleBlur = (e: FocusEvent) => {
432
+ callHandler(focusProps.onBlur, e);
433
+ };
434
+
372
435
  // Combine all handlers
373
436
  const handleKeyDown = (e: KeyboardEvent) => {
374
437
  callHandler(pressProps.onKeyDown, e);
@@ -386,10 +449,13 @@ export function createTab<T>(
386
449
  callHandler(pressProps.onClick, e);
387
450
  };
388
451
 
389
- // Keep DOM focus aligned with focusedKey updates from keyboard delegate.
452
+ // Keep DOM focus aligned with focusedKey updates from keyboard navigation.
453
+ // Only while the tab list itself is focused (mirrors useSelectableItem's
454
+ // manager.isFocused guard), so programmatic selection changes don't steal
455
+ // focus from elsewhere in the document.
390
456
  createEffect(() => {
391
457
  const element = ref?.();
392
- if (!isFocused() || !element) return;
458
+ if (!state.isFocused() || !isKeyFocused() || !element) return;
393
459
 
394
460
  const activeElement = element.ownerDocument?.activeElement;
395
461
  if (activeElement !== element) {
@@ -413,13 +479,18 @@ export function createTab<T>(
413
479
  "aria-label": props["aria-label"],
414
480
  "aria-labelledby": props["aria-labelledby"],
415
481
  get tabIndex() {
416
- return isSelected() && !isDisabled() ? 0 : -1;
482
+ // Roving tabIndex follows the focused key (mirrors useSelectableItem);
483
+ // disabled tabs get no tabIndex at all (mirrors useTab).
484
+ if (isDisabled()) return undefined;
485
+ return isKeyFocused() ? 0 : -1;
417
486
  },
418
487
  onKeyDown: handleKeyDown,
419
488
  onMouseDown: handleMouseDown,
420
489
  onPointerDown: handlePointerDown,
421
490
  onClick: handleClick,
422
491
  onFocus: handleFocus,
492
+ onFocusIn: handleFocusIn,
493
+ onBlur: handleBlur,
423
494
  },
424
495
  isSelected,
425
496
  isDisabled,
@@ -20,6 +20,8 @@ import type { ListState, Key } from "@proyecto-viviana/solid-stately";
20
20
  export interface AriaTagProps {
21
21
  /** The unique key for this tag. */
22
22
  key: Key;
23
+ /** The role for the tag root. Components use row semantics inside a grid. */
24
+ role?: "option" | "row";
23
25
  /** Whether the tag is disabled. */
24
26
  isDisabled?: boolean;
25
27
  /** A text value for the tag used for accessibility. */
@@ -149,9 +151,9 @@ export function createTag<T>(
149
151
  return;
150
152
  }
151
153
 
152
- const nextTag = Array.from(tagList.querySelectorAll<HTMLElement>('[role="row"]')).find(
153
- (el) => el.getAttribute("data-key") === String(nextKey),
154
- );
154
+ const nextTag = Array.from(
155
+ tagList.querySelectorAll<HTMLElement>('[role="option"], [role="row"]'),
156
+ ).find((el) => el.getAttribute("data-key") === String(nextKey));
155
157
 
156
158
  nextTag?.focus();
157
159
  };
@@ -182,13 +184,27 @@ export function createTag<T>(
182
184
  const handleKeyDown = (e: KeyboardEvent) => {
183
185
  if (isDisabled()) return;
184
186
 
187
+ // A TagGroup is inherently horizontal (useTagGroup passes
188
+ // `orientation: 'horizontal'` to the ListKeyboardDelegate), so the inline
189
+ // (Left/Right) axis is the navigation axis and flips under RTL, while the
190
+ // block (Up/Down) axis stays DOM-ordered. Mirror ListKeyboardDelegate:
191
+ // getKeyRightOf = rtl ? previous : next; getKeyLeftOf = rtl ? next : previous;
192
+ // getKeyBelow/Above are never direction-flipped.
193
+ const isRtl = getData()?.direction === "rtl";
194
+
185
195
  switch (e.key) {
186
196
  case "ArrowRight":
197
+ e.preventDefault();
198
+ focusKey(isRtl ? getPreviousFocusableKey(key()) : getNextFocusableKey(key()));
199
+ return;
200
+ case "ArrowLeft":
201
+ e.preventDefault();
202
+ focusKey(isRtl ? getNextFocusableKey(key()) : getPreviousFocusableKey(key()));
203
+ return;
187
204
  case "ArrowDown":
188
205
  e.preventDefault();
189
206
  focusKey(getNextFocusableKey(key()));
190
207
  return;
191
- case "ArrowLeft":
192
208
  case "ArrowUp":
193
209
  e.preventDefault();
194
210
  focusKey(getPreviousFocusableKey(key()));
@@ -224,39 +240,14 @@ export function createTag<T>(
224
240
  }
225
241
  };
226
242
 
227
- // Compute tabIndex
243
+ // Compute tabIndex. Mirror useTag (vendored @react-aria/tag/src/useTag.ts):
244
+ // tabIndex = (!isDisabled && (isFocused || focusedKey == null)) ? 0 : -1
245
+ // Every non-disabled row is a tab stop when nothing is focused yet (so native
246
+ // Shift+Tab from a following element lands on the LAST row); once a key is
247
+ // focused, only that row keeps tabIndex 0 (roving single tab stop).
228
248
  const tabIndex = createMemo(() => {
229
249
  if (isDisabled()) return -1;
230
-
231
- if (isFocused()) {
232
- return 0;
233
- }
234
-
235
- if (state.focusedKey() !== null) {
236
- return -1;
237
- }
238
-
239
- const collection = state.collection();
240
- let defaultTabStop: Key | null = null;
241
-
242
- if (state.selectionMode() !== "none") {
243
- for (const item of collection) {
244
- if (!state.isDisabled(item.key) && state.isSelected(item.key)) {
245
- defaultTabStop = item.key;
246
- break;
247
- }
248
- }
249
- }
250
-
251
- if (defaultTabStop == null) {
252
- defaultTabStop = getFirstFocusableKey();
253
- }
254
-
255
- if (key() === defaultTabStop) {
256
- return 0;
257
- }
258
-
259
- return -1;
250
+ return isFocused() || state.focusedKey() == null ? 0 : -1;
260
251
  });
261
252
 
262
253
  // Filter DOM props
@@ -268,6 +259,8 @@ export function createTag<T>(
268
259
  return !!data?.onRemove;
269
260
  });
270
261
 
262
+ const rootRole = createMemo(() => getProps().role ?? "option");
263
+
271
264
  return {
272
265
  get rowProps() {
273
266
  return mergeProps(
@@ -276,9 +269,10 @@ export function createTag<T>(
276
269
  pressProps as Record<string, unknown>,
277
270
  {
278
271
  id: rowId,
279
- role: "row",
272
+ role: rootRole(),
280
273
  tabIndex: tabIndex(),
281
274
  "data-key": String(key()),
275
+ "aria-label": getProps().textValue,
282
276
  "aria-selected": isSelectable() ? isSelected() : undefined,
283
277
  "aria-disabled": isDisabled() || undefined,
284
278
  onKeyDown: handleKeyDown,
@@ -35,6 +35,12 @@ export interface AriaTagGroupProps {
35
35
  errorMessage?: string;
36
36
  /** Handler that is called when a user removes a tag. */
37
37
  onRemove?: (keys: Set<Key>) => void;
38
+ /**
39
+ * The layout direction, threaded from `useLocale`. A TagGroup navigates on the
40
+ * inline axis, so ArrowLeft/ArrowRight flip under RTL (mirrors the direction
41
+ * the ListKeyboardDelegate receives from useTagGroup).
42
+ */
43
+ direction?: "ltr" | "rtl";
38
44
  }
39
45
 
40
46
  export interface TagGroupAria {
@@ -54,6 +60,7 @@ const tagGroupData = new WeakMap<object, TagGroupData>();
54
60
  interface TagGroupData {
55
61
  id: string;
56
62
  onRemove?: (keys: Set<Key>) => void;
63
+ direction: "ltr" | "rtl";
57
64
  }
58
65
 
59
66
  export function getTagGroupData(state: ListState): TagGroupData | undefined {
@@ -83,6 +90,9 @@ export function createTagGroup<T>(
83
90
  get onRemove() {
84
91
  return getProps().onRemove;
85
92
  },
93
+ get direction() {
94
+ return getProps().direction ?? "ltr";
95
+ },
86
96
  };
87
97
 
88
98
  // Filter DOM props
@@ -133,6 +143,82 @@ export function createTagGroup<T>(
133
143
  return ids.length > 0 ? ids.join(" ") : undefined;
134
144
  };
135
145
 
146
+ const getRef = () => _ref?.() ?? null;
147
+
148
+ // First/last navigable (non-disabled) row keys — the entry targets.
149
+ const getFirstNavigableKey = (): Key | null => {
150
+ const collection = state.collection();
151
+ let candidate = collection.getFirstKey();
152
+ while (candidate != null && state.isDisabled(candidate)) {
153
+ candidate = collection.getKeyAfter(candidate);
154
+ }
155
+ return candidate;
156
+ };
157
+
158
+ const getLastNavigableKey = (): Key | null => {
159
+ const collection = state.collection();
160
+ let candidate = collection.getLastKey();
161
+ while (candidate != null && state.isDisabled(candidate)) {
162
+ candidate = collection.getKeyBefore(candidate);
163
+ }
164
+ return candidate;
165
+ };
166
+
167
+ // Focus marshalling — the grid container is a trampoline. Its roving tabIndex
168
+ // is 0 only while `focusedKey == null` (see gridProps below), so a forward Tab
169
+ // that reaches the standalone container lands on the container itself; move the
170
+ // focused key onto the first/last row and the post-commit effect below pulls
171
+ // REAL DOM focus there while the container rolls to tabIndex -1. Mirrors
172
+ // useSelectableCollection's `onFocus` (via useTagGroup → useGridList). A
173
+ // Shift+Tab arriving directly on a row is handled by the row's own focusable
174
+ // onFocus, since every non-disabled row is a tab stop when nothing is focused.
175
+ const onFocus = (e: FocusEvent) => {
176
+ state.setFocused(true);
177
+
178
+ // `focus` is non-bubbling in Solid, so this fires only when the container
179
+ // itself receives focus; ignore anything that bubbled from a descendant.
180
+ const container = e.currentTarget as HTMLElement | null;
181
+ if (container && e.target && !container.contains(e.target as Node)) return;
182
+ if (state.focusedKey() != null || getProps().isDisabled) return;
183
+
184
+ const relatedTarget = e.relatedTarget as Element | null;
185
+ // Focus arriving from an element that FOLLOWS the group in document order
186
+ // means the user shift-tabbed backward into it → enter at the LAST row;
187
+ // otherwise (forward Tab, or programmatic) enter at the FIRST.
188
+ const enterKey =
189
+ relatedTarget &&
190
+ container &&
191
+ container.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING
192
+ ? getLastNavigableKey()
193
+ : getFirstNavigableKey();
194
+ if (enterKey != null) {
195
+ state.setFocusedKey(enterKey);
196
+ }
197
+ };
198
+
199
+ const onBlur = () => {
200
+ state.setFocused(false);
201
+ };
202
+
203
+ // Once the roving tabindex for the focused key has committed to the DOM, move
204
+ // browser focus onto that row (looked up by its stable data-key), mirroring
205
+ // useSelectableCollection. Only manage focus while it already lives inside the
206
+ // container — i.e. the user is navigating via the trampoline — so a background
207
+ // focusedKey change never yanks focus from elsewhere on the page.
208
+ createEffect(() => {
209
+ const key = state.focusedKey();
210
+ const el = getRef();
211
+ if (!el || key == null) return;
212
+
213
+ const active = document.activeElement;
214
+ if (!active || (active !== el && !el.contains(active))) return;
215
+
216
+ const target = el.querySelector<HTMLElement>(`[data-key="${CSS.escape(String(key))}"]`);
217
+ if (target && target !== active) {
218
+ target.focus();
219
+ }
220
+ });
221
+
136
222
  return {
137
223
  get gridProps() {
138
224
  const p = getProps();
@@ -146,6 +232,12 @@ export function createTagGroup<T>(
146
232
  "aria-relevant": "additions",
147
233
  "aria-describedby": getAriaDescribedBy(),
148
234
  "aria-disabled": p.isDisabled || undefined,
235
+ // Roving container tabIndex mirrors useSelectableCollection: the container
236
+ // is tabbable (0) only while nothing is focused, then rolls to -1 once a
237
+ // row takes focus so Tab exits the group.
238
+ tabIndex: p.isDisabled ? undefined : state.focusedKey() != null ? -1 : 0,
239
+ onFocus,
240
+ onBlur,
149
241
  });
150
242
  },
151
243
  get labelProps() {
@@ -79,6 +79,7 @@ export function createToast<T>(props: AriaToastProps<T>): ToastAria {
79
79
  "aria-modal": "false",
80
80
  "aria-labelledby": hasTitle ? titleId : undefined,
81
81
  "aria-describedby": hasDescription ? descriptionId : undefined,
82
+ tabIndex: 0,
82
83
  "data-animation": props.toast.animation,
83
84
  "data-key": props.toast.key,
84
85
  }));
@@ -13,6 +13,7 @@ import { mergeProps } from "../utils/mergeProps";
13
13
  import { filterDOMProps } from "../utils/filterDOMProps";
14
14
  import { type MaybeAccessor, access } from "../utils/reactivity";
15
15
  import { isDevEnv } from "../utils/env";
16
+ import { createSlotId } from "../ssr";
16
17
  import { type ToggleState } from "@proyecto-viviana/solid-stately";
17
18
  import { type PressEvent } from "../interactions/PressEvent";
18
19
 
@@ -84,6 +85,10 @@ export interface ToggleAria {
84
85
  labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement>;
85
86
  /** Props to be spread on the input element. */
86
87
  inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
88
+ /** Props for the description element, if any. */
89
+ descriptionProps: JSX.HTMLAttributes<HTMLElement>;
90
+ /** Props for the error message element, if any. */
91
+ errorMessageProps: JSX.HTMLAttributes<HTMLElement>;
87
92
  /** Whether the toggle is selected. */
88
93
  isSelected: Accessor<boolean>;
89
94
  /** Whether the toggle is in a pressed state. */
@@ -233,6 +238,12 @@ export function createToggle(
233
238
  // Combined pressed state
234
239
  const combinedIsPressed: Accessor<boolean> = () => isPressed() || isLabelPressed();
235
240
 
241
+ // Mint ids for the description and error message slots. Copied from createField
242
+ // because we don't want the label behavior that provides — the id resolves only
243
+ // once an element with that id is actually rendered (e.g. via TextContext slots).
244
+ const descriptionId = createSlotId();
245
+ const errorMessageId = createSlotId();
246
+
236
247
  return {
237
248
  labelProps: mergeProps(labelPressProps, {
238
249
  onClick: (e: MouseEvent) => e.preventDefault(),
@@ -244,6 +255,9 @@ export function createToggle(
244
255
  "aria-errormessage": p["aria-errormessage"],
245
256
  "aria-controls": p["aria-controls"],
246
257
  "aria-readonly": isReadOnly() || undefined,
258
+ "aria-describedby":
259
+ [descriptionId(), errorMessageId(), p["aria-describedby"]].filter(Boolean).join(" ") ||
260
+ undefined,
247
261
  onChange,
248
262
  disabled: isDisabled(),
249
263
  ...(p.value == null ? {} : { value: p.value }),
@@ -256,6 +270,12 @@ export function createToggle(
256
270
  onClick: (e: MouseEvent) => e.stopPropagation(),
257
271
  }) as JSX.InputHTMLAttributes<HTMLInputElement>;
258
272
  },
273
+ get descriptionProps() {
274
+ return { id: descriptionId() };
275
+ },
276
+ get errorMessageProps() {
277
+ return { id: errorMessageId() };
278
+ },
259
279
  isSelected: state.isSelected,
260
280
  isPressed: combinedIsPressed,
261
281
  isDisabled: isDisabled(),