@proyecto-viviana/solidaria 0.4.3 → 0.6.0-rc.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 (1482) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +54 -27
  4. package/dist/_chunk/DragManager.js +79 -31
  5. package/dist/_chunk/DragManager.js.map +1 -1
  6. package/dist/_chunk/DragManager.jsx +79 -31
  7. package/dist/_chunk/DragManager.jsx.map +1 -1
  8. package/dist/_chunk/FocusScope.js +380 -73
  9. package/dist/_chunk/FocusScope.js.map +1 -1
  10. package/dist/_chunk/FocusScope.jsx +373 -62
  11. package/dist/_chunk/FocusScope.jsx.map +1 -1
  12. package/dist/_chunk/ListKeyboardDelegate.js +270 -0
  13. package/dist/_chunk/ListKeyboardDelegate.js.map +1 -0
  14. package/dist/_chunk/ListKeyboardDelegate.jsx +270 -0
  15. package/dist/_chunk/ListKeyboardDelegate.jsx.map +1 -0
  16. package/dist/_chunk/actiongroup.js +46 -22
  17. package/dist/_chunk/actiongroup.js.map +1 -1
  18. package/dist/_chunk/actiongroup.jsx +46 -22
  19. package/dist/_chunk/actiongroup.jsx.map +1 -1
  20. package/dist/_chunk/announce.js +24 -9
  21. package/dist/_chunk/announce.js.map +1 -1
  22. package/dist/_chunk/announce.jsx +24 -9
  23. package/dist/_chunk/announce.jsx.map +1 -1
  24. package/dist/_chunk/ariaHideOutside.js +212 -10
  25. package/dist/_chunk/ariaHideOutside.js.map +1 -1
  26. package/dist/_chunk/ariaHideOutside.jsx +212 -10
  27. package/dist/_chunk/ariaHideOutside.jsx.map +1 -1
  28. package/dist/_chunk/autocomplete.js +92 -12
  29. package/dist/_chunk/autocomplete.js.map +1 -1
  30. package/dist/_chunk/autocomplete.jsx +92 -12
  31. package/dist/_chunk/autocomplete.jsx.map +1 -1
  32. package/dist/_chunk/breadcrumbs.js +70 -8
  33. package/dist/_chunk/breadcrumbs.js.map +1 -1
  34. package/dist/_chunk/breadcrumbs.jsx +70 -8
  35. package/dist/_chunk/breadcrumbs.jsx.map +1 -1
  36. package/dist/_chunk/button.js +61 -24
  37. package/dist/_chunk/button.js.map +1 -1
  38. package/dist/_chunk/button.jsx +61 -24
  39. package/dist/_chunk/button.jsx.map +1 -1
  40. package/dist/_chunk/calendar.js +661 -112
  41. package/dist/_chunk/calendar.js.map +1 -1
  42. package/dist/_chunk/calendar.jsx +661 -112
  43. package/dist/_chunk/calendar.jsx.map +1 -1
  44. package/dist/_chunk/callEventHandler.js +21 -0
  45. package/dist/_chunk/callEventHandler.js.map +1 -0
  46. package/dist/_chunk/callEventHandler.jsx +21 -0
  47. package/dist/_chunk/callEventHandler.jsx.map +1 -0
  48. package/dist/_chunk/checkbox.js +142 -48
  49. package/dist/_chunk/checkbox.js.map +1 -1
  50. package/dist/_chunk/checkbox.jsx +142 -48
  51. package/dist/_chunk/checkbox.jsx.map +1 -1
  52. package/dist/_chunk/color.js +495 -73
  53. package/dist/_chunk/color.js.map +1 -1
  54. package/dist/_chunk/color.jsx +495 -73
  55. package/dist/_chunk/color.jsx.map +1 -1
  56. package/dist/_chunk/combobox.js +213 -128
  57. package/dist/_chunk/combobox.js.map +1 -1
  58. package/dist/_chunk/combobox.jsx +213 -128
  59. package/dist/_chunk/combobox.jsx.map +1 -1
  60. package/dist/_chunk/constants.js +12 -0
  61. package/dist/_chunk/constants.js.map +1 -1
  62. package/dist/_chunk/constants.jsx +12 -0
  63. package/dist/_chunk/constants.jsx.map +1 -1
  64. package/dist/_chunk/createCollator.js +12 -0
  65. package/dist/_chunk/createCollator.js.map +1 -1
  66. package/dist/_chunk/createCollator.jsx +12 -0
  67. package/dist/_chunk/createCollator.jsx.map +1 -1
  68. package/dist/_chunk/createCollectionRowInteraction.js +51 -15
  69. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -1
  70. package/dist/_chunk/createCollectionRowInteraction.jsx +51 -15
  71. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -1
  72. package/dist/_chunk/createDescription.js +117 -0
  73. package/dist/_chunk/createDescription.js.map +1 -0
  74. package/dist/_chunk/createDescription.jsx +117 -0
  75. package/dist/_chunk/createDescription.jsx.map +1 -0
  76. package/dist/_chunk/createField.js +35 -25
  77. package/dist/_chunk/createField.js.map +1 -1
  78. package/dist/_chunk/createField.jsx +35 -25
  79. package/dist/_chunk/createField.jsx.map +1 -1
  80. package/dist/_chunk/createFocus.js +18 -5
  81. package/dist/_chunk/createFocus.js.map +1 -1
  82. package/dist/_chunk/createFocus.jsx +18 -5
  83. package/dist/_chunk/createFocus.jsx.map +1 -1
  84. package/dist/_chunk/createFocusRing.js +16 -7
  85. package/dist/_chunk/createFocusRing.js.map +1 -1
  86. package/dist/_chunk/createFocusRing.jsx +16 -7
  87. package/dist/_chunk/createFocusRing.jsx.map +1 -1
  88. package/dist/_chunk/createFocusWithin.js +36 -9
  89. package/dist/_chunk/createFocusWithin.js.map +1 -1
  90. package/dist/_chunk/createFocusWithin.jsx +36 -9
  91. package/dist/_chunk/createFocusWithin.jsx.map +1 -1
  92. package/dist/_chunk/createFocusable.js +51 -53
  93. package/dist/_chunk/createFocusable.js.map +1 -1
  94. package/dist/_chunk/createFocusable.jsx +51 -53
  95. package/dist/_chunk/createFocusable.jsx.map +1 -1
  96. package/dist/_chunk/createFormReset.js +194 -13
  97. package/dist/_chunk/createFormReset.js.map +1 -1
  98. package/dist/_chunk/createFormReset.jsx +194 -13
  99. package/dist/_chunk/createFormReset.jsx.map +1 -1
  100. package/dist/_chunk/createGrid.js +869 -0
  101. package/dist/_chunk/createGrid.js.map +1 -0
  102. package/dist/_chunk/createGrid.jsx +869 -0
  103. package/dist/_chunk/createGrid.jsx.map +1 -0
  104. package/dist/_chunk/createGridListItem.js +480 -0
  105. package/dist/_chunk/createGridListItem.js.map +1 -0
  106. package/dist/_chunk/createGridListItem.jsx +480 -0
  107. package/dist/_chunk/createGridListItem.jsx.map +1 -0
  108. package/dist/_chunk/createHasTabbableChild.js +63 -0
  109. package/dist/_chunk/createHasTabbableChild.js.map +1 -0
  110. package/dist/_chunk/createHasTabbableChild.jsx +63 -0
  111. package/dist/_chunk/createHasTabbableChild.jsx.map +1 -0
  112. package/dist/_chunk/createHover.js +58 -45
  113. package/dist/_chunk/createHover.js.map +1 -1
  114. package/dist/_chunk/createHover.jsx +58 -45
  115. package/dist/_chunk/createHover.jsx.map +1 -1
  116. package/dist/_chunk/createInteractionModality.js +179 -34
  117. package/dist/_chunk/createInteractionModality.js.map +1 -1
  118. package/dist/_chunk/createInteractionModality.jsx +179 -34
  119. package/dist/_chunk/createInteractionModality.jsx.map +1 -1
  120. package/dist/_chunk/createKeyboard.js +206 -0
  121. package/dist/_chunk/createKeyboard.js.map +1 -0
  122. package/dist/_chunk/createKeyboard.jsx +206 -0
  123. package/dist/_chunk/createKeyboard.jsx.map +1 -0
  124. package/dist/_chunk/createLabel.js +17 -4
  125. package/dist/_chunk/createLabel.js.map +1 -1
  126. package/dist/_chunk/createLabel.jsx +17 -4
  127. package/dist/_chunk/createLabel.jsx.map +1 -1
  128. package/dist/_chunk/createLabels.js +13 -1
  129. package/dist/_chunk/createLabels.js.map +1 -1
  130. package/dist/_chunk/createLabels.jsx +13 -1
  131. package/dist/_chunk/createLabels.jsx.map +1 -1
  132. package/dist/_chunk/createLandmark.js +342 -117
  133. package/dist/_chunk/createLandmark.js.map +1 -1
  134. package/dist/_chunk/createLandmark.jsx +342 -117
  135. package/dist/_chunk/createLandmark.jsx.map +1 -1
  136. package/dist/_chunk/createLongPress.js +127 -0
  137. package/dist/_chunk/createLongPress.js.map +1 -0
  138. package/dist/_chunk/createLongPress.jsx +127 -0
  139. package/dist/_chunk/createLongPress.jsx.map +1 -0
  140. package/dist/_chunk/createOverlay.js +198 -124
  141. package/dist/_chunk/createOverlay.js.map +1 -1
  142. package/dist/_chunk/createOverlay.jsx +198 -124
  143. package/dist/_chunk/createOverlay.jsx.map +1 -1
  144. package/dist/_chunk/createOverlayTrigger.js +58 -0
  145. package/dist/_chunk/createOverlayTrigger.js.map +1 -0
  146. package/dist/_chunk/createOverlayTrigger.jsx +58 -0
  147. package/dist/_chunk/createOverlayTrigger.jsx.map +1 -0
  148. package/dist/_chunk/createPress.js +57 -46
  149. package/dist/_chunk/createPress.js.map +1 -1
  150. package/dist/_chunk/createPress.jsx +57 -46
  151. package/dist/_chunk/createPress.jsx.map +1 -1
  152. package/dist/_chunk/createProgressBar.js +21 -5
  153. package/dist/_chunk/createProgressBar.js.map +1 -1
  154. package/dist/_chunk/createProgressBar.jsx +21 -5
  155. package/dist/_chunk/createProgressBar.jsx.map +1 -1
  156. package/dist/_chunk/createSelectableCollection.js +468 -0
  157. package/dist/_chunk/createSelectableCollection.js.map +1 -0
  158. package/dist/_chunk/createSelectableCollection.jsx +468 -0
  159. package/dist/_chunk/createSelectableCollection.jsx.map +1 -0
  160. package/dist/_chunk/createSelectableItem.js +121 -89
  161. package/dist/_chunk/createSelectableItem.js.map +1 -1
  162. package/dist/_chunk/createSelectableItem.jsx +121 -89
  163. package/dist/_chunk/createSelectableItem.jsx.map +1 -1
  164. package/dist/_chunk/createSelectableList.js +70 -0
  165. package/dist/_chunk/createSelectableList.js.map +1 -0
  166. package/dist/_chunk/createSelectableList.jsx +70 -0
  167. package/dist/_chunk/createSelectableList.jsx.map +1 -0
  168. package/dist/_chunk/createStringFormatter.js +350 -5
  169. package/dist/_chunk/createStringFormatter.js.map +1 -1
  170. package/dist/_chunk/createStringFormatter.jsx +350 -5
  171. package/dist/_chunk/createStringFormatter.jsx.map +1 -1
  172. package/dist/_chunk/createToggle.js +108 -23
  173. package/dist/_chunk/createToggle.js.map +1 -1
  174. package/dist/_chunk/createToggle.jsx +108 -23
  175. package/dist/_chunk/createToggle.jsx.map +1 -1
  176. package/dist/_chunk/createTypeSelect.js +18 -3
  177. package/dist/_chunk/createTypeSelect.js.map +1 -1
  178. package/dist/_chunk/createTypeSelect.jsx +18 -3
  179. package/dist/_chunk/createTypeSelect.jsx.map +1 -1
  180. package/dist/_chunk/{visually-hidden.js → createVisuallyHidden.js} +16 -4
  181. package/dist/_chunk/createVisuallyHidden.js.map +1 -0
  182. package/dist/_chunk/{visually-hidden.jsx → createVisuallyHidden.jsx} +16 -4
  183. package/dist/_chunk/createVisuallyHidden.jsx.map +1 -0
  184. package/dist/_chunk/datepicker.js +223 -80
  185. package/dist/_chunk/datepicker.js.map +1 -1
  186. package/dist/_chunk/datepicker.jsx +223 -80
  187. package/dist/_chunk/datepicker.jsx.map +1 -1
  188. package/dist/_chunk/dialog.js +49 -19
  189. package/dist/_chunk/dialog.js.map +1 -1
  190. package/dist/_chunk/dialog.jsx +49 -19
  191. package/dist/_chunk/dialog.jsx.map +1 -1
  192. package/dist/_chunk/disclosure.js +52 -31
  193. package/dist/_chunk/disclosure.js.map +1 -1
  194. package/dist/_chunk/disclosure.jsx +52 -31
  195. package/dist/_chunk/disclosure.jsx.map +1 -1
  196. package/dist/_chunk/dnd.js +1482 -1209
  197. package/dist/_chunk/dnd.js.map +1 -1
  198. package/dist/_chunk/dnd.jsx +1482 -1209
  199. package/dist/_chunk/dnd.jsx.map +1 -1
  200. package/dist/_chunk/dom.js +624 -0
  201. package/dist/_chunk/dom.js.map +1 -0
  202. package/dist/_chunk/dom.jsx +624 -0
  203. package/dist/_chunk/dom.jsx.map +1 -0
  204. package/dist/_chunk/env.js +11 -56
  205. package/dist/_chunk/env.js.map +1 -1
  206. package/dist/_chunk/env.jsx +11 -56
  207. package/dist/_chunk/env.jsx.map +1 -1
  208. package/dist/_chunk/filterDOMProps.js +32 -7
  209. package/dist/_chunk/filterDOMProps.js.map +1 -1
  210. package/dist/_chunk/filterDOMProps.jsx +32 -7
  211. package/dist/_chunk/filterDOMProps.jsx.map +1 -1
  212. package/dist/_chunk/focus.js +588 -336
  213. package/dist/_chunk/focus.js.map +1 -1
  214. package/dist/_chunk/focus.jsx +588 -336
  215. package/dist/_chunk/focus.jsx.map +1 -1
  216. package/dist/_chunk/grid.js +40 -428
  217. package/dist/_chunk/grid.js.map +1 -1
  218. package/dist/_chunk/grid.jsx +40 -428
  219. package/dist/_chunk/grid.jsx.map +1 -1
  220. package/dist/_chunk/gridlist.js +36 -282
  221. package/dist/_chunk/gridlist.js.map +1 -1
  222. package/dist/_chunk/gridlist.jsx +36 -282
  223. package/dist/_chunk/gridlist.jsx.map +1 -1
  224. package/dist/_chunk/i18n.js +70 -2
  225. package/dist/_chunk/i18n.js.map +1 -1
  226. package/dist/_chunk/i18n.jsx +70 -2
  227. package/dist/_chunk/i18n.jsx.map +1 -1
  228. package/dist/_chunk/interactions.js +38 -102
  229. package/dist/_chunk/interactions.js.map +1 -1
  230. package/dist/_chunk/interactions.jsx +38 -100
  231. package/dist/_chunk/interactions.jsx.map +1 -1
  232. package/dist/_chunk/link.js +44 -18
  233. package/dist/_chunk/link.js.map +1 -1
  234. package/dist/_chunk/link.jsx +44 -18
  235. package/dist/_chunk/link.jsx.map +1 -1
  236. package/dist/_chunk/listbox.js +108 -175
  237. package/dist/_chunk/listbox.js.map +1 -1
  238. package/dist/_chunk/listbox.jsx +108 -175
  239. package/dist/_chunk/listbox.jsx.map +1 -1
  240. package/dist/_chunk/locale.js +67 -13
  241. package/dist/_chunk/locale.js.map +1 -1
  242. package/dist/_chunk/locale.jsx +66 -12
  243. package/dist/_chunk/locale.jsx.map +1 -1
  244. package/dist/_chunk/menu.js +343 -239
  245. package/dist/_chunk/menu.js.map +1 -1
  246. package/dist/_chunk/menu.jsx +343 -239
  247. package/dist/_chunk/menu.jsx.map +1 -1
  248. package/dist/_chunk/mergeProps.js +216 -0
  249. package/dist/_chunk/mergeProps.js.map +1 -0
  250. package/dist/_chunk/mergeProps.jsx +216 -0
  251. package/dist/_chunk/mergeProps.jsx.map +1 -0
  252. package/dist/_chunk/meter.js +16 -4
  253. package/dist/_chunk/meter.js.map +1 -1
  254. package/dist/_chunk/meter.jsx +16 -4
  255. package/dist/_chunk/meter.jsx.map +1 -1
  256. package/dist/_chunk/numberfield.js +496 -41
  257. package/dist/_chunk/numberfield.js.map +1 -1
  258. package/dist/_chunk/numberfield.jsx +496 -41
  259. package/dist/_chunk/numberfield.jsx.map +1 -1
  260. package/dist/_chunk/overlays.js +91 -78
  261. package/dist/_chunk/overlays.js.map +1 -1
  262. package/dist/_chunk/overlays.jsx +71 -57
  263. package/dist/_chunk/overlays.jsx.map +1 -1
  264. package/dist/_chunk/owner.js +23 -0
  265. package/dist/_chunk/owner.js.map +1 -0
  266. package/dist/_chunk/owner.jsx +23 -0
  267. package/dist/_chunk/owner.jsx.map +1 -0
  268. package/dist/_chunk/popover.js +201 -55
  269. package/dist/_chunk/popover.js.map +1 -1
  270. package/dist/_chunk/popover.jsx +201 -55
  271. package/dist/_chunk/popover.jsx.map +1 -1
  272. package/dist/_chunk/radio.js +140 -71
  273. package/dist/_chunk/radio.js.map +1 -1
  274. package/dist/_chunk/radio.jsx +140 -71
  275. package/dist/_chunk/radio.jsx.map +1 -1
  276. package/dist/_chunk/reactivity.js.map +1 -1
  277. package/dist/_chunk/reactivity.jsx.map +1 -1
  278. package/dist/_chunk/refs.js +41 -0
  279. package/dist/_chunk/refs.js.map +1 -0
  280. package/dist/_chunk/refs.jsx +41 -0
  281. package/dist/_chunk/refs.jsx.map +1 -0
  282. package/dist/_chunk/searchfield.js +72 -3
  283. package/dist/_chunk/searchfield.js.map +1 -1
  284. package/dist/_chunk/searchfield.jsx +72 -3
  285. package/dist/_chunk/searchfield.jsx.map +1 -1
  286. package/dist/_chunk/select.js +238 -117
  287. package/dist/_chunk/select.js.map +1 -1
  288. package/dist/_chunk/select.jsx +174 -107
  289. package/dist/_chunk/select.jsx.map +1 -1
  290. package/dist/_chunk/selection.js +19 -637
  291. package/dist/_chunk/selection.js.map +1 -1
  292. package/dist/_chunk/selection.jsx +19 -637
  293. package/dist/_chunk/selection.jsx.map +1 -1
  294. package/dist/_chunk/separator.js +12 -0
  295. package/dist/_chunk/separator.js.map +1 -1
  296. package/dist/_chunk/separator.jsx +12 -0
  297. package/dist/_chunk/separator.jsx.map +1 -1
  298. package/dist/_chunk/slider.js +403 -203
  299. package/dist/_chunk/slider.js.map +1 -1
  300. package/dist/_chunk/slider.jsx +403 -203
  301. package/dist/_chunk/slider.jsx.map +1 -1
  302. package/dist/_chunk/spinbutton.js +18 -8
  303. package/dist/_chunk/spinbutton.js.map +1 -1
  304. package/dist/_chunk/spinbutton.jsx +18 -8
  305. package/dist/_chunk/spinbutton.jsx.map +1 -1
  306. package/dist/_chunk/steplist.js +110 -34
  307. package/dist/_chunk/steplist.js.map +1 -1
  308. package/dist/_chunk/steplist.jsx +110 -34
  309. package/dist/_chunk/steplist.jsx.map +1 -1
  310. package/dist/_chunk/switch.js +21 -3
  311. package/dist/_chunk/switch.js.map +1 -1
  312. package/dist/_chunk/switch.jsx +21 -3
  313. package/dist/_chunk/switch.jsx.map +1 -1
  314. package/dist/_chunk/table.js +1004 -208
  315. package/dist/_chunk/table.js.map +1 -1
  316. package/dist/_chunk/table.jsx +1004 -208
  317. package/dist/_chunk/table.jsx.map +1 -1
  318. package/dist/_chunk/tabs.js +86 -32
  319. package/dist/_chunk/tabs.js.map +1 -1
  320. package/dist/_chunk/tabs.jsx +86 -32
  321. package/dist/_chunk/tabs.jsx.map +1 -1
  322. package/dist/_chunk/tag.js +355 -164
  323. package/dist/_chunk/tag.js.map +1 -1
  324. package/dist/_chunk/tag.jsx +355 -164
  325. package/dist/_chunk/tag.jsx.map +1 -1
  326. package/dist/_chunk/textfield.js +87 -12
  327. package/dist/_chunk/textfield.js.map +1 -1
  328. package/dist/_chunk/textfield.jsx +87 -12
  329. package/dist/_chunk/textfield.jsx.map +1 -1
  330. package/dist/_chunk/toast.js +247 -47
  331. package/dist/_chunk/toast.js.map +1 -1
  332. package/dist/_chunk/toast.jsx +247 -47
  333. package/dist/_chunk/toast.jsx.map +1 -1
  334. package/dist/_chunk/tokenfield.js +629 -0
  335. package/dist/_chunk/tokenfield.js.map +1 -0
  336. package/dist/_chunk/tokenfield.jsx +629 -0
  337. package/dist/_chunk/tokenfield.jsx.map +1 -0
  338. package/dist/_chunk/toolbar.js +26 -8
  339. package/dist/_chunk/toolbar.js.map +1 -1
  340. package/dist/_chunk/toolbar.jsx +26 -8
  341. package/dist/_chunk/toolbar.jsx.map +1 -1
  342. package/dist/_chunk/tooltip.js +381 -11
  343. package/dist/_chunk/tooltip.js.map +1 -1
  344. package/dist/_chunk/tooltip.jsx +381 -11
  345. package/dist/_chunk/tooltip.jsx.map +1 -1
  346. package/dist/_chunk/tree.js +297 -82
  347. package/dist/_chunk/tree.js.map +1 -1
  348. package/dist/_chunk/tree.jsx +297 -82
  349. package/dist/_chunk/tree.jsx.map +1 -1
  350. package/dist/_chunk/utils.js +602 -297
  351. package/dist/_chunk/utils.js.map +1 -1
  352. package/dist/_chunk/utils.jsx +602 -297
  353. package/dist/_chunk/utils.jsx.map +1 -1
  354. package/dist/_chunk/utils2.js +77 -0
  355. package/dist/_chunk/utils2.js.map +1 -0
  356. package/dist/_chunk/utils2.jsx +77 -0
  357. package/dist/_chunk/utils2.jsx.map +1 -0
  358. package/dist/_chunk/virtualFocus.js +54 -0
  359. package/dist/_chunk/virtualFocus.js.map +1 -0
  360. package/dist/_chunk/virtualFocus.jsx +54 -0
  361. package/dist/_chunk/virtualFocus.jsx.map +1 -0
  362. package/dist/_chunk/virtualizer.js +202 -0
  363. package/dist/_chunk/virtualizer.js.map +1 -0
  364. package/dist/_chunk/virtualizer.jsx +202 -0
  365. package/dist/_chunk/virtualizer.jsx.map +1 -0
  366. package/dist/actiongroup/createActionGroup.d.ts +2 -1
  367. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  368. package/dist/autocomplete/createAutocomplete.d.ts +1 -9
  369. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  370. package/dist/autocomplete/intl/index.d.ts +13 -0
  371. package/dist/autocomplete/intl/index.d.ts.map +1 -0
  372. package/dist/breadcrumbs/createBreadcrumbs.d.ts +0 -6
  373. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  374. package/dist/breadcrumbs/intl/index.d.ts +13 -0
  375. package/dist/breadcrumbs/intl/index.d.ts.map +1 -0
  376. package/dist/button/createButton.d.ts +2 -1
  377. package/dist/button/createButton.d.ts.map +1 -1
  378. package/dist/button/createToggleButton.d.ts.map +1 -1
  379. package/dist/button/createToggleButtonGroup.d.ts +1 -1
  380. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  381. package/dist/button/types.d.ts +14 -0
  382. package/dist/button/types.d.ts.map +1 -1
  383. package/dist/calendar/createCalendar.d.ts +13 -11
  384. package/dist/calendar/createCalendar.d.ts.map +1 -1
  385. package/dist/calendar/createCalendarCell.d.ts +5 -6
  386. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  387. package/dist/calendar/createCalendarGrid.d.ts +2 -8
  388. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  389. package/dist/calendar/createCalendarMonthPicker.d.ts +0 -8
  390. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -1
  391. package/dist/calendar/createCalendarYearPicker.d.ts +0 -8
  392. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -1
  393. package/dist/calendar/createRangeCalendar.d.ts +25 -9
  394. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  395. package/dist/calendar/createRangeCalendarCell.d.ts +7 -6
  396. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  397. package/dist/calendar/intl/index.d.ts.map +1 -1
  398. package/dist/calendar/utils.d.ts +24 -4
  399. package/dist/calendar/utils.d.ts.map +1 -1
  400. package/dist/checkbox/createCheckbox.d.ts +2 -1
  401. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  402. package/dist/checkbox/createCheckboxGroup.d.ts +7 -2
  403. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  404. package/dist/checkbox/createCheckboxGroupItem.d.ts +0 -8
  405. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  406. package/dist/collections/index.d.ts +1 -1
  407. package/dist/collections/index.d.ts.map +1 -1
  408. package/dist/collections/index.js +34 -17
  409. package/dist/collections/index.js.map +1 -1
  410. package/dist/collections/index.jsx +34 -17
  411. package/dist/collections/index.jsx.map +1 -1
  412. package/dist/color/createColorArea.d.ts +2 -7
  413. package/dist/color/createColorArea.d.ts.map +1 -1
  414. package/dist/color/createColorField.d.ts +2 -7
  415. package/dist/color/createColorField.d.ts.map +1 -1
  416. package/dist/color/createColorSlider.d.ts +1 -6
  417. package/dist/color/createColorSlider.d.ts.map +1 -1
  418. package/dist/color/createColorSwatch.d.ts +1 -6
  419. package/dist/color/createColorSwatch.d.ts.map +1 -1
  420. package/dist/color/createColorWheel.d.ts +1 -6
  421. package/dist/color/createColorWheel.d.ts.map +1 -1
  422. package/dist/color/intl/index.d.ts.map +1 -1
  423. package/dist/color/types.d.ts +49 -1
  424. package/dist/color/types.d.ts.map +1 -1
  425. package/dist/combobox/createComboBox.d.ts +18 -9
  426. package/dist/combobox/createComboBox.d.ts.map +1 -1
  427. package/dist/combobox/intl/generated-locales.d.ts +3 -0
  428. package/dist/combobox/intl/generated-locales.d.ts.map +1 -1
  429. package/dist/combobox/intl/index.d.ts +3 -2
  430. package/dist/combobox/intl/index.d.ts.map +1 -1
  431. package/dist/datepicker/createDateField.d.ts +2 -12
  432. package/dist/datepicker/createDateField.d.ts.map +1 -1
  433. package/dist/datepicker/createDatePicker.d.ts +2 -18
  434. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  435. package/dist/datepicker/createDatePickerGroup.d.ts +2 -2
  436. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
  437. package/dist/datepicker/createDateRangePicker.d.ts +8 -22
  438. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  439. package/dist/datepicker/createDateSegment.d.ts +0 -9
  440. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  441. package/dist/datepicker/createDisplayNames.d.ts +1 -9
  442. package/dist/datepicker/createDisplayNames.d.ts.map +1 -1
  443. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  444. package/dist/datepicker/intl.d.ts.map +1 -1
  445. package/dist/dialog/createDialog.d.ts +2 -4
  446. package/dist/dialog/createDialog.d.ts.map +1 -1
  447. package/dist/dialog/types.d.ts +14 -0
  448. package/dist/dialog/types.d.ts.map +1 -1
  449. package/dist/disclosure/createDisclosure.d.ts +1 -8
  450. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  451. package/dist/disclosure/createDisclosureGroup.d.ts +3 -4
  452. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  453. package/dist/dnd/DragManager.d.ts +1 -16
  454. package/dist/dnd/DragManager.d.ts.map +1 -1
  455. package/dist/dnd/DropTargetKeyboardNavigation.d.ts +2 -2
  456. package/dist/dnd/createDrag.d.ts +1 -7
  457. package/dist/dnd/createDrag.d.ts.map +1 -1
  458. package/dist/dnd/createDraggableCollection.d.ts +1 -7
  459. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  460. package/dist/dnd/createDraggableItem.d.ts +2 -7
  461. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  462. package/dist/dnd/createDrop.d.ts +1 -7
  463. package/dist/dnd/createDrop.d.ts.map +1 -1
  464. package/dist/dnd/createDropIndicator.d.ts +27 -0
  465. package/dist/dnd/createDropIndicator.d.ts.map +1 -0
  466. package/dist/dnd/createDroppableCollection.d.ts +6 -8
  467. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  468. package/dist/dnd/createDroppableItem.d.ts +12 -10
  469. package/dist/dnd/createDroppableItem.d.ts.map +1 -1
  470. package/dist/dnd/index.d.ts +3 -1
  471. package/dist/dnd/index.d.ts.map +1 -1
  472. package/dist/dnd/index.js +2 -2
  473. package/dist/dnd/index.jsx +2 -2
  474. package/dist/dnd/intl/index.d.ts +6 -4
  475. package/dist/dnd/intl/index.d.ts.map +1 -1
  476. package/dist/dnd/types.d.ts +20 -1
  477. package/dist/dnd/types.d.ts.map +1 -1
  478. package/dist/dnd/utils.d.ts +4 -0
  479. package/dist/dnd/utils.d.ts.map +1 -1
  480. package/dist/focus/FocusScope.d.ts +9 -5
  481. package/dist/focus/FocusScope.d.ts.map +1 -1
  482. package/dist/focus/createAutoFocus.d.ts +3 -0
  483. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  484. package/dist/focus/createFocusRestore.d.ts +3 -0
  485. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  486. package/dist/focus/createHasTabbableChild.d.ts +13 -0
  487. package/dist/focus/createHasTabbableChild.d.ts.map +1 -0
  488. package/dist/focus/createVirtualFocus.d.ts +4 -1
  489. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  490. package/dist/focus/index.js +3 -2
  491. package/dist/focus/index.jsx +3 -2
  492. package/dist/focus/virtualFocus.d.ts +1 -1
  493. package/dist/form/createFormReset.d.ts +1 -7
  494. package/dist/form/createFormReset.d.ts.map +1 -1
  495. package/dist/form/createFormValidation.d.ts +13 -9
  496. package/dist/form/createFormValidation.d.ts.map +1 -1
  497. package/dist/form/index.js +1 -2
  498. package/dist/form/index.jsx +1 -2
  499. package/dist/grid/GridKeyboardDelegate.d.ts.map +1 -1
  500. package/dist/grid/createGrid.d.ts +40 -5
  501. package/dist/grid/createGrid.d.ts.map +1 -1
  502. package/dist/grid/createGridCell.d.ts +1 -5
  503. package/dist/grid/createGridCell.d.ts.map +1 -1
  504. package/dist/grid/createGridRow.d.ts +1 -5
  505. package/dist/grid/createGridRow.d.ts.map +1 -1
  506. package/dist/grid/index.d.ts +2 -2
  507. package/dist/grid/index.js +2 -1
  508. package/dist/grid/index.jsx +2 -1
  509. package/dist/grid/intl/index.d.ts +18 -0
  510. package/dist/grid/intl/index.d.ts.map +1 -0
  511. package/dist/grid/types.d.ts +25 -2
  512. package/dist/grid/types.d.ts.map +1 -1
  513. package/dist/gridlist/createGridList.d.ts +5 -7
  514. package/dist/gridlist/createGridList.d.ts.map +1 -1
  515. package/dist/gridlist/createGridListItem.d.ts +2 -6
  516. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  517. package/dist/gridlist/createGridListSection.d.ts +0 -4
  518. package/dist/gridlist/createGridListSection.d.ts.map +1 -1
  519. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +1 -5
  520. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  521. package/dist/gridlist/index.js +2 -1
  522. package/dist/gridlist/index.jsx +2 -1
  523. package/dist/gridlist/intl/index.d.ts +14 -0
  524. package/dist/gridlist/intl/index.d.ts.map +1 -0
  525. package/dist/gridlist/types.d.ts +87 -2
  526. package/dist/gridlist/types.d.ts.map +1 -1
  527. package/dist/i18n/compileIcu.d.ts +24 -0
  528. package/dist/i18n/compileIcu.d.ts.map +1 -0
  529. package/dist/i18n/createCollator.d.ts +0 -7
  530. package/dist/i18n/createCollator.d.ts.map +1 -1
  531. package/dist/i18n/createDateFormatter.d.ts +2 -8
  532. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  533. package/dist/i18n/createFilter.d.ts +0 -7
  534. package/dist/i18n/createFilter.d.ts.map +1 -1
  535. package/dist/i18n/createListFormatter.d.ts +9 -0
  536. package/dist/i18n/createListFormatter.d.ts.map +1 -0
  537. package/dist/i18n/createNumberFormatter.d.ts +0 -7
  538. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  539. package/dist/i18n/createStringFormatter.d.ts +14 -4
  540. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  541. package/dist/i18n/index.d.ts +1 -0
  542. package/dist/i18n/index.d.ts.map +1 -1
  543. package/dist/i18n/index.js +2 -2
  544. package/dist/i18n/index.jsx +2 -2
  545. package/dist/i18n/locale.d.ts +2 -8
  546. package/dist/i18n/locale.d.ts.map +1 -1
  547. package/dist/i18n/utils.d.ts +0 -7
  548. package/dist/i18n/utils.d.ts.map +1 -1
  549. package/dist/index.d.ts +12 -9
  550. package/dist/index.d.ts.map +1 -1
  551. package/dist/index.js +39 -27
  552. package/dist/index.jsx +39 -27
  553. package/dist/interactions/FocusableProvider.d.ts +3 -2
  554. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  555. package/dist/interactions/PressEvent.d.ts +2 -1
  556. package/dist/interactions/PressEvent.d.ts.map +1 -1
  557. package/dist/interactions/createContextMenu.d.ts +24 -0
  558. package/dist/interactions/createContextMenu.d.ts.map +1 -0
  559. package/dist/interactions/createFocus.d.ts +12 -4
  560. package/dist/interactions/createFocus.d.ts.map +1 -1
  561. package/dist/interactions/createFocusRing.d.ts +12 -3
  562. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  563. package/dist/interactions/createFocusWithin.d.ts +12 -8
  564. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  565. package/dist/interactions/createFocusable.d.ts +2 -6
  566. package/dist/interactions/createFocusable.d.ts.map +1 -1
  567. package/dist/interactions/createHover.d.ts +3 -10
  568. package/dist/interactions/createHover.d.ts.map +1 -1
  569. package/dist/interactions/createInteractionModality.d.ts +12 -10
  570. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  571. package/dist/interactions/createKeyboard.d.ts +12 -3
  572. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  573. package/dist/interactions/createKeyboardShortcutHandler.d.ts +24 -0
  574. package/dist/interactions/createKeyboardShortcutHandler.d.ts.map +1 -0
  575. package/dist/interactions/createLongPress.d.ts +4 -7
  576. package/dist/interactions/createLongPress.d.ts.map +1 -1
  577. package/dist/interactions/createMove.d.ts +1 -6
  578. package/dist/interactions/createMove.d.ts.map +1 -1
  579. package/dist/interactions/createPress.d.ts +3 -7
  580. package/dist/interactions/createPress.d.ts.map +1 -1
  581. package/dist/interactions/index.d.ts +1 -1
  582. package/dist/interactions/index.d.ts.map +1 -1
  583. package/dist/interactions/index.js +5 -3
  584. package/dist/interactions/index.jsx +5 -3
  585. package/dist/label/createField.d.ts +7 -1
  586. package/dist/label/createField.d.ts.map +1 -1
  587. package/dist/label/createLabel.d.ts +1 -1
  588. package/dist/label/createLabel.d.ts.map +1 -1
  589. package/dist/label/createLabels.d.ts +0 -7
  590. package/dist/label/createLabels.d.ts.map +1 -1
  591. package/dist/landmark/createLandmark.d.ts +63 -6
  592. package/dist/landmark/createLandmark.d.ts.map +1 -1
  593. package/dist/link/createLink.d.ts +1 -1
  594. package/dist/link/createLink.d.ts.map +1 -1
  595. package/dist/listbox/createListBox.d.ts +27 -7
  596. package/dist/listbox/createListBox.d.ts.map +1 -1
  597. package/dist/listbox/createOption.d.ts +7 -1
  598. package/dist/listbox/createOption.d.ts.map +1 -1
  599. package/dist/live-announcer/announce.d.ts +7 -16
  600. package/dist/live-announcer/announce.d.ts.map +1 -1
  601. package/dist/menu/createMenu.d.ts +3 -7
  602. package/dist/menu/createMenu.d.ts.map +1 -1
  603. package/dist/menu/createMenuItem.d.ts +7 -2
  604. package/dist/menu/createMenuItem.d.ts.map +1 -1
  605. package/dist/menu/createMenuTrigger.d.ts +24 -20
  606. package/dist/menu/createMenuTrigger.d.ts.map +1 -1
  607. package/dist/menu/index.d.ts +1 -1
  608. package/dist/menu/index.d.ts.map +1 -1
  609. package/dist/menu/intl/index.d.ts +4 -0
  610. package/dist/menu/intl/index.d.ts.map +1 -0
  611. package/dist/meter/createMeter.d.ts +2 -1
  612. package/dist/meter/createMeter.d.ts.map +1 -1
  613. package/dist/numberfield/createNumberField.d.ts +44 -6
  614. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  615. package/dist/numberfield/index.d.ts +1 -0
  616. package/dist/numberfield/index.d.ts.map +1 -1
  617. package/dist/numberfield/index.js +2 -2
  618. package/dist/numberfield/index.jsx +2 -2
  619. package/dist/numberfield/intl.d.ts +10 -0
  620. package/dist/numberfield/intl.d.ts.map +1 -0
  621. package/dist/overlays/ariaHideOutside.d.ts +0 -4
  622. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  623. package/dist/overlays/createCloseOnScroll.d.ts +11 -0
  624. package/dist/overlays/createCloseOnScroll.d.ts.map +1 -0
  625. package/dist/overlays/createInteractOutside.d.ts +2 -5
  626. package/dist/overlays/createInteractOutside.d.ts.map +1 -1
  627. package/dist/overlays/createModal.d.ts +3 -6
  628. package/dist/overlays/createModal.d.ts.map +1 -1
  629. package/dist/overlays/createOverlay.d.ts +1 -5
  630. package/dist/overlays/createOverlay.d.ts.map +1 -1
  631. package/dist/overlays/createOverlayTrigger.d.ts +2 -6
  632. package/dist/overlays/createOverlayTrigger.d.ts.map +1 -1
  633. package/dist/overlays/createPreventScroll.d.ts +0 -4
  634. package/dist/overlays/createPreventScroll.d.ts.map +1 -1
  635. package/dist/overlays/index.d.ts +2 -0
  636. package/dist/overlays/index.d.ts.map +1 -1
  637. package/dist/overlays/index.js +4 -3
  638. package/dist/overlays/index.jsx +4 -3
  639. package/dist/overlays/intl/index.d.ts +13 -0
  640. package/dist/overlays/intl/index.d.ts.map +1 -0
  641. package/dist/popover/calculatePosition.d.ts +1 -1
  642. package/dist/popover/calculatePosition.d.ts.map +1 -1
  643. package/dist/popover/createOverlayPosition.d.ts +1 -7
  644. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  645. package/dist/popover/createPopover.d.ts +8 -8
  646. package/dist/popover/createPopover.d.ts.map +1 -1
  647. package/dist/progress/createProgressBar.d.ts +2 -10
  648. package/dist/progress/createProgressBar.d.ts.map +1 -1
  649. package/dist/radio/createRadio.d.ts +8 -1
  650. package/dist/radio/createRadio.d.ts.map +1 -1
  651. package/dist/radio/createRadioGroup.d.ts +1 -11
  652. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  653. package/dist/searchfield/createSearchField.d.ts +1 -1
  654. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  655. package/dist/searchfield/intl/index.d.ts +13 -0
  656. package/dist/searchfield/intl/index.d.ts.map +1 -0
  657. package/dist/select/createHiddenSelect.d.ts +7 -14
  658. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  659. package/dist/select/createSelect.d.ts +13 -9
  660. package/dist/select/createSelect.d.ts.map +1 -1
  661. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -1
  662. package/dist/selection/ListKeyboardDelegate.d.ts +4 -2
  663. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -1
  664. package/dist/selection/constants.d.ts.map +1 -1
  665. package/dist/selection/createCollectionRowInteraction.d.ts +12 -1
  666. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -1
  667. package/dist/selection/createScrollIntoViewOnFocus.d.ts +0 -11
  668. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -1
  669. package/dist/selection/createSelectableCollection.d.ts +1 -23
  670. package/dist/selection/createSelectableCollection.d.ts.map +1 -1
  671. package/dist/selection/createSelectableItem.d.ts +3 -29
  672. package/dist/selection/createSelectableItem.d.ts.map +1 -1
  673. package/dist/selection/createSelectableList.d.ts +7 -18
  674. package/dist/selection/createSelectableList.d.ts.map +1 -1
  675. package/dist/selection/createTypeSelect.d.ts +7 -8
  676. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  677. package/dist/selection/index.js +6 -2
  678. package/dist/selection/index.jsx +6 -2
  679. package/dist/selection/selectItem.d.ts.map +1 -1
  680. package/dist/selection/utils.d.ts +1 -1
  681. package/dist/selection/utils.d.ts.map +1 -1
  682. package/dist/separator/createSeparator.d.ts +3 -1
  683. package/dist/separator/createSeparator.d.ts.map +1 -1
  684. package/dist/slider/createSlider.d.ts +25 -14
  685. package/dist/slider/createSlider.d.ts.map +1 -1
  686. package/dist/slider/createSliderThumb.d.ts +12 -0
  687. package/dist/slider/createSliderThumb.d.ts.map +1 -0
  688. package/dist/slider/index.d.ts +1 -0
  689. package/dist/slider/index.d.ts.map +1 -1
  690. package/dist/slider/index.js +2 -2
  691. package/dist/slider/index.jsx +2 -2
  692. package/dist/spinbutton/createSpinButton.d.ts +0 -9
  693. package/dist/spinbutton/createSpinButton.d.ts.map +1 -1
  694. package/dist/spinbutton/intl.d.ts.map +1 -1
  695. package/dist/ssr/index.d.ts +3 -28
  696. package/dist/ssr/index.d.ts.map +1 -1
  697. package/dist/ssr/index.js +52 -26
  698. package/dist/ssr/index.js.map +1 -1
  699. package/dist/ssr/index.jsx +52 -26
  700. package/dist/ssr/index.jsx.map +1 -1
  701. package/dist/steplist/createStepList.d.ts +19 -7
  702. package/dist/steplist/createStepList.d.ts.map +1 -1
  703. package/dist/steplist/index.d.ts +1 -1
  704. package/dist/steplist/index.d.ts.map +1 -1
  705. package/dist/steplist/index.js +2 -2
  706. package/dist/steplist/index.jsx +2 -2
  707. package/dist/steplist/intl/index.d.ts +12 -0
  708. package/dist/steplist/intl/index.d.ts.map +1 -0
  709. package/dist/switch/createSwitch.d.ts +2 -1
  710. package/dist/switch/createSwitch.d.ts.map +1 -1
  711. package/dist/table/createTable.d.ts +1 -5
  712. package/dist/table/createTable.d.ts.map +1 -1
  713. package/dist/table/createTableCell.d.ts +1 -5
  714. package/dist/table/createTableCell.d.ts.map +1 -1
  715. package/dist/table/createTableColumnHeader.d.ts +1 -5
  716. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  717. package/dist/table/createTableColumnResize.d.ts +16 -10
  718. package/dist/table/createTableColumnResize.d.ts.map +1 -1
  719. package/dist/table/createTableHeaderRow.d.ts +2 -6
  720. package/dist/table/createTableHeaderRow.d.ts.map +1 -1
  721. package/dist/table/createTableRow.d.ts +1 -5
  722. package/dist/table/createTableRow.d.ts.map +1 -1
  723. package/dist/table/createTableRowGroup.d.ts +1 -5
  724. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  725. package/dist/table/createTableSelectAllCheckbox.d.ts +1 -5
  726. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  727. package/dist/table/createTableSelectionCheckbox.d.ts +1 -5
  728. package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
  729. package/dist/table/index.d.ts +2 -2
  730. package/dist/table/intl/index.d.ts +23 -0
  731. package/dist/table/intl/index.d.ts.map +1 -0
  732. package/dist/table/types.d.ts +44 -2
  733. package/dist/table/types.d.ts.map +1 -1
  734. package/dist/table/utils.d.ts +6 -0
  735. package/dist/table/utils.d.ts.map +1 -1
  736. package/dist/tabs/createTabs.d.ts +14 -9
  737. package/dist/tabs/createTabs.d.ts.map +1 -1
  738. package/dist/tag/createTag.d.ts +4 -8
  739. package/dist/tag/createTag.d.ts.map +1 -1
  740. package/dist/tag/createTagGroup.d.ts +12 -13
  741. package/dist/tag/createTagGroup.d.ts.map +1 -1
  742. package/dist/tag/intl/index.d.ts +14 -0
  743. package/dist/tag/intl/index.d.ts.map +1 -0
  744. package/dist/textfield/createTextField.d.ts +16 -8
  745. package/dist/textfield/createTextField.d.ts.map +1 -1
  746. package/dist/toast/createToast.d.ts +3 -9
  747. package/dist/toast/createToast.d.ts.map +1 -1
  748. package/dist/toast/createToastRegion.d.ts +9 -19
  749. package/dist/toast/createToastRegion.d.ts.map +1 -1
  750. package/dist/toast/intl/index.d.ts +14 -0
  751. package/dist/toast/intl/index.d.ts.map +1 -0
  752. package/dist/toggle/createToggle.d.ts +13 -2
  753. package/dist/toggle/createToggle.d.ts.map +1 -1
  754. package/dist/tokenfield/createToken.d.ts +15 -0
  755. package/dist/tokenfield/createToken.d.ts.map +1 -0
  756. package/dist/tokenfield/createTokenField.d.ts +52 -0
  757. package/dist/tokenfield/createTokenField.d.ts.map +1 -0
  758. package/dist/tokenfield/index.d.ts +3 -0
  759. package/dist/tokenfield/index.d.ts.map +1 -0
  760. package/dist/tokenfield/index.js +2 -0
  761. package/dist/tokenfield/index.jsx +2 -0
  762. package/dist/toolbar/createToolbar.d.ts +1 -1
  763. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  764. package/dist/tooltip/createPreviewTrigger.d.ts +23 -0
  765. package/dist/tooltip/createPreviewTrigger.d.ts.map +1 -0
  766. package/dist/tooltip/createSafeArea.d.ts +20 -0
  767. package/dist/tooltip/createSafeArea.d.ts.map +1 -0
  768. package/dist/tooltip/createTooltip.d.ts +1 -1
  769. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  770. package/dist/tooltip/createTooltipTrigger.d.ts +1 -9
  771. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  772. package/dist/tooltip/index.d.ts +2 -0
  773. package/dist/tooltip/index.d.ts.map +1 -1
  774. package/dist/tooltip/index.js +2 -2
  775. package/dist/tooltip/index.jsx +2 -2
  776. package/dist/tooltip/intl/index.d.ts +4 -0
  777. package/dist/tooltip/intl/index.d.ts.map +1 -0
  778. package/dist/tree/createTree.d.ts +1 -5
  779. package/dist/tree/createTree.d.ts.map +1 -1
  780. package/dist/tree/createTreeItem.d.ts +1 -5
  781. package/dist/tree/createTreeItem.d.ts.map +1 -1
  782. package/dist/tree/createTreeSelectionCheckbox.d.ts +1 -5
  783. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  784. package/dist/tree/intl/index.d.ts +14 -0
  785. package/dist/tree/intl/index.d.ts.map +1 -0
  786. package/dist/tree/types.d.ts +37 -3
  787. package/dist/tree/types.d.ts.map +1 -1
  788. package/dist/utils/ShadowTreeWalker.d.ts +30 -0
  789. package/dist/utils/ShadowTreeWalker.d.ts.map +1 -0
  790. package/dist/utils/animation.d.ts +1 -29
  791. package/dist/utils/animation.d.ts.map +1 -1
  792. package/dist/utils/callEventHandler.d.ts +7 -0
  793. package/dist/utils/callEventHandler.d.ts.map +1 -0
  794. package/dist/utils/capture.d.ts +14 -0
  795. package/dist/utils/capture.d.ts.map +1 -0
  796. package/dist/utils/createDescription.d.ts +1 -25
  797. package/dist/utils/createDescription.d.ts.map +1 -1
  798. package/dist/utils/dom.d.ts +58 -11
  799. package/dist/utils/dom.d.ts.map +1 -1
  800. package/dist/utils/domAttrs.d.ts +16 -0
  801. package/dist/utils/domAttrs.d.ts.map +1 -0
  802. package/dist/utils/env.d.ts +30 -2
  803. package/dist/utils/env.d.ts.map +1 -1
  804. package/dist/utils/events.d.ts +0 -4
  805. package/dist/utils/events.d.ts.map +1 -1
  806. package/dist/utils/filterDOMProps.d.ts +0 -6
  807. package/dist/utils/filterDOMProps.d.ts.map +1 -1
  808. package/dist/utils/focus.d.ts +14 -10
  809. package/dist/utils/focus.d.ts.map +1 -1
  810. package/dist/utils/focusWithoutScrolling.d.ts +10 -0
  811. package/dist/utils/focusWithoutScrolling.d.ts.map +1 -0
  812. package/dist/utils/geometry.d.ts +1 -1
  813. package/dist/utils/geometry.d.ts.map +1 -1
  814. package/dist/utils/getMetaValue.d.ts +13 -0
  815. package/dist/utils/getMetaValue.d.ts.map +1 -0
  816. package/dist/utils/getNonce.d.ts +9 -0
  817. package/dist/utils/getNonce.d.ts.map +1 -0
  818. package/dist/utils/globalListeners.d.ts +0 -6
  819. package/dist/utils/globalListeners.d.ts.map +1 -1
  820. package/dist/utils/index.d.ts +10 -3
  821. package/dist/utils/index.d.ts.map +1 -1
  822. package/dist/utils/index.js +9 -4
  823. package/dist/utils/index.jsx +9 -4
  824. package/dist/utils/keyboard.d.ts +0 -4
  825. package/dist/utils/keyboard.d.ts.map +1 -1
  826. package/dist/utils/mergeProps.d.ts +5 -2
  827. package/dist/utils/mergeProps.d.ts.map +1 -1
  828. package/dist/utils/openLink.d.ts +52 -0
  829. package/dist/utils/openLink.d.ts.map +1 -0
  830. package/dist/utils/owner.d.ts +14 -0
  831. package/dist/utils/owner.d.ts.map +1 -0
  832. package/dist/utils/platform.d.ts +10 -13
  833. package/dist/utils/platform.d.ts.map +1 -1
  834. package/dist/utils/reactivity.d.ts +2 -0
  835. package/dist/utils/reactivity.d.ts.map +1 -1
  836. package/dist/utils/refs.d.ts +20 -0
  837. package/dist/utils/refs.d.ts.map +1 -0
  838. package/dist/utils/runAfterTransition.d.ts +2 -0
  839. package/dist/utils/runAfterTransition.d.ts.map +1 -0
  840. package/dist/utils/scrollIntoView.d.ts +0 -4
  841. package/dist/utils/scrollIntoView.d.ts.map +1 -1
  842. package/dist/utils/splitProps.d.ts +17 -0
  843. package/dist/utils/splitProps.d.ts.map +1 -0
  844. package/dist/utils/textSelection.d.ts +5 -12
  845. package/dist/utils/textSelection.d.ts.map +1 -1
  846. package/dist/virtualizer/ScrollView.d.ts +38 -0
  847. package/dist/virtualizer/ScrollView.d.ts.map +1 -0
  848. package/dist/virtualizer/index.d.ts +3 -0
  849. package/dist/virtualizer/index.d.ts.map +1 -0
  850. package/dist/virtualizer/index.js +2 -0
  851. package/dist/virtualizer/index.jsx +2 -0
  852. package/dist/virtualizer/utils.d.ts +10 -0
  853. package/dist/virtualizer/utils.d.ts.map +1 -0
  854. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -9
  855. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  856. package/dist/visually-hidden/index.js +1 -1
  857. package/dist/visually-hidden/index.jsx +1 -1
  858. package/package.json +28 -11
  859. package/src/actiongroup/createActionGroup.ts +56 -31
  860. package/src/autocomplete/createAutocomplete.ts +91 -20
  861. package/src/autocomplete/intl/ar-AE.json +3 -0
  862. package/src/autocomplete/intl/bg-BG.json +3 -0
  863. package/src/autocomplete/intl/cs-CZ.json +3 -0
  864. package/src/autocomplete/intl/da-DK.json +3 -0
  865. package/src/autocomplete/intl/de-DE.json +3 -0
  866. package/src/autocomplete/intl/el-GR.json +3 -0
  867. package/src/autocomplete/intl/en-US.json +3 -0
  868. package/src/autocomplete/intl/es-ES.json +3 -0
  869. package/src/autocomplete/intl/et-EE.json +3 -0
  870. package/src/autocomplete/intl/fi-FI.json +3 -0
  871. package/src/autocomplete/intl/fr-FR.json +3 -0
  872. package/src/autocomplete/intl/he-IL.json +3 -0
  873. package/src/autocomplete/intl/hr-HR.json +3 -0
  874. package/src/autocomplete/intl/hu-HU.json +3 -0
  875. package/src/autocomplete/intl/index.ts +122 -0
  876. package/src/autocomplete/intl/it-IT.json +3 -0
  877. package/src/autocomplete/intl/ja-JP.json +3 -0
  878. package/src/autocomplete/intl/ko-KR.json +3 -0
  879. package/src/autocomplete/intl/lt-LT.json +3 -0
  880. package/src/autocomplete/intl/lv-LV.json +3 -0
  881. package/src/autocomplete/intl/nb-NO.json +3 -0
  882. package/src/autocomplete/intl/nl-NL.json +3 -0
  883. package/src/autocomplete/intl/pl-PL.json +3 -0
  884. package/src/autocomplete/intl/pt-BR.json +3 -0
  885. package/src/autocomplete/intl/pt-PT.json +3 -0
  886. package/src/autocomplete/intl/ro-RO.json +3 -0
  887. package/src/autocomplete/intl/ru-RU.json +3 -0
  888. package/src/autocomplete/intl/sk-SK.json +3 -0
  889. package/src/autocomplete/intl/sl-SI.json +3 -0
  890. package/src/autocomplete/intl/sr-SP.json +3 -0
  891. package/src/autocomplete/intl/sv-SE.json +3 -0
  892. package/src/autocomplete/intl/tr-TR.json +3 -0
  893. package/src/autocomplete/intl/uk-UA.json +3 -0
  894. package/src/autocomplete/intl/zh-CN.json +3 -0
  895. package/src/autocomplete/intl/zh-TW.json +3 -0
  896. package/src/breadcrumbs/createBreadcrumbs.ts +47 -12
  897. package/src/breadcrumbs/intl/ar-AE.json +3 -0
  898. package/src/breadcrumbs/intl/bg-BG.json +3 -0
  899. package/src/breadcrumbs/intl/cs-CZ.json +3 -0
  900. package/src/breadcrumbs/intl/da-DK.json +3 -0
  901. package/src/breadcrumbs/intl/de-DE.json +3 -0
  902. package/src/breadcrumbs/intl/el-GR.json +3 -0
  903. package/src/breadcrumbs/intl/en-US.json +3 -0
  904. package/src/breadcrumbs/intl/es-ES.json +3 -0
  905. package/src/breadcrumbs/intl/et-EE.json +3 -0
  906. package/src/breadcrumbs/intl/fi-FI.json +3 -0
  907. package/src/breadcrumbs/intl/fr-FR.json +3 -0
  908. package/src/breadcrumbs/intl/he-IL.json +3 -0
  909. package/src/breadcrumbs/intl/hr-HR.json +3 -0
  910. package/src/breadcrumbs/intl/hu-HU.json +3 -0
  911. package/src/breadcrumbs/intl/index.ts +122 -0
  912. package/src/breadcrumbs/intl/it-IT.json +3 -0
  913. package/src/breadcrumbs/intl/ja-JP.json +3 -0
  914. package/src/breadcrumbs/intl/ko-KR.json +3 -0
  915. package/src/breadcrumbs/intl/lt-LT.json +3 -0
  916. package/src/breadcrumbs/intl/lv-LV.json +3 -0
  917. package/src/breadcrumbs/intl/nb-NO.json +3 -0
  918. package/src/breadcrumbs/intl/nl-NL.json +3 -0
  919. package/src/breadcrumbs/intl/pl-PL.json +3 -0
  920. package/src/breadcrumbs/intl/pt-BR.json +3 -0
  921. package/src/breadcrumbs/intl/pt-PT.json +3 -0
  922. package/src/breadcrumbs/intl/ro-RO.json +3 -0
  923. package/src/breadcrumbs/intl/ru-RU.json +3 -0
  924. package/src/breadcrumbs/intl/sk-SK.json +3 -0
  925. package/src/breadcrumbs/intl/sl-SI.json +3 -0
  926. package/src/breadcrumbs/intl/sr-SP.json +3 -0
  927. package/src/breadcrumbs/intl/sv-SE.json +3 -0
  928. package/src/breadcrumbs/intl/tr-TR.json +3 -0
  929. package/src/breadcrumbs/intl/uk-UA.json +3 -0
  930. package/src/breadcrumbs/intl/zh-CN.json +3 -0
  931. package/src/breadcrumbs/intl/zh-TW.json +3 -0
  932. package/src/button/createButton.ts +22 -3
  933. package/src/button/createToggleButton.ts +27 -15
  934. package/src/button/createToggleButtonGroup.ts +23 -8
  935. package/src/button/types.ts +16 -0
  936. package/src/calendar/createCalendar.ts +121 -28
  937. package/src/calendar/createCalendarCell.ts +111 -31
  938. package/src/calendar/createCalendarGrid.ts +70 -18
  939. package/src/calendar/createCalendarMonthPicker.ts +14 -0
  940. package/src/calendar/createCalendarYearPicker.ts +18 -2
  941. package/src/calendar/createRangeCalendar.ts +209 -19
  942. package/src/calendar/createRangeCalendarCell.ts +343 -51
  943. package/src/calendar/intl/index.ts +37 -0
  944. package/src/calendar/utils.ts +175 -62
  945. package/src/checkbox/createCheckbox.ts +46 -35
  946. package/src/checkbox/createCheckboxGroup.ts +76 -20
  947. package/src/checkbox/createCheckboxGroupItem.ts +82 -6
  948. package/src/collections/index.ts +37 -18
  949. package/src/color/createColorArea.ts +271 -40
  950. package/src/color/createColorField.ts +264 -34
  951. package/src/color/createColorSlider.ts +38 -4
  952. package/src/color/createColorSwatch.ts +18 -1
  953. package/src/color/createColorWheel.ts +103 -13
  954. package/src/color/intl/index.ts +35 -0
  955. package/src/color/types.ts +49 -1
  956. package/src/combobox/createComboBox.ts +343 -196
  957. package/src/combobox/intl/generated-locales.ts +38 -1
  958. package/src/combobox/intl/index.ts +38 -2
  959. package/src/datepicker/createDateField.ts +51 -38
  960. package/src/datepicker/createDatePicker.ts +46 -4
  961. package/src/datepicker/createDatePickerGroup.ts +24 -13
  962. package/src/datepicker/createDateRangePicker.ts +57 -5
  963. package/src/datepicker/createDateSegment.ts +93 -24
  964. package/src/datepicker/createDisplayNames.ts +16 -1
  965. package/src/datepicker/createTimeField.ts +14 -0
  966. package/src/datepicker/intl.ts +36 -0
  967. package/src/dialog/createDialog.ts +57 -30
  968. package/src/dialog/types.ts +14 -0
  969. package/src/disclosure/createDisclosure.ts +36 -10
  970. package/src/disclosure/createDisclosureGroup.ts +3 -4
  971. package/src/dnd/DragManager.ts +72 -11
  972. package/src/dnd/DropTargetKeyboardNavigation.ts +2 -2
  973. package/src/dnd/createDrag.ts +18 -1
  974. package/src/dnd/createDraggableCollection.ts +96 -32
  975. package/src/dnd/createDraggableItem.ts +150 -72
  976. package/src/dnd/createDrop.ts +71 -4
  977. package/src/dnd/createDropIndicator.ts +182 -0
  978. package/src/dnd/createDroppableCollection.ts +106 -40
  979. package/src/dnd/createDroppableItem.ts +193 -13
  980. package/src/dnd/index.ts +3 -0
  981. package/src/dnd/intl/index.ts +77 -66
  982. package/src/dnd/types.ts +20 -1
  983. package/src/dnd/utils.ts +19 -0
  984. package/src/focus/FocusScope.tsx +704 -156
  985. package/src/focus/createAutoFocus.ts +120 -69
  986. package/src/focus/createFocusRestore.ts +16 -12
  987. package/src/focus/createHasTabbableChild.ts +78 -0
  988. package/src/focus/createVirtualFocus.ts +21 -5
  989. package/src/focus/virtualFocus.ts +1 -1
  990. package/src/form/createFormReset.ts +40 -17
  991. package/src/form/createFormValidation.ts +158 -88
  992. package/src/grid/GridKeyboardDelegate.ts +14 -0
  993. package/src/grid/createGrid.ts +264 -5
  994. package/src/grid/createGridCell.ts +26 -5
  995. package/src/grid/createGridRow.ts +17 -2
  996. package/src/grid/index.ts +2 -2
  997. package/src/grid/intl/ar-AE.json +8 -0
  998. package/src/grid/intl/bg-BG.json +8 -0
  999. package/src/grid/intl/cs-CZ.json +8 -0
  1000. package/src/grid/intl/da-DK.json +8 -0
  1001. package/src/grid/intl/de-DE.json +8 -0
  1002. package/src/grid/intl/el-GR.json +8 -0
  1003. package/src/grid/intl/en-US.json +8 -0
  1004. package/src/grid/intl/es-ES.json +8 -0
  1005. package/src/grid/intl/et-EE.json +8 -0
  1006. package/src/grid/intl/fi-FI.json +8 -0
  1007. package/src/grid/intl/fr-FR.json +8 -0
  1008. package/src/grid/intl/he-IL.json +8 -0
  1009. package/src/grid/intl/hr-HR.json +8 -0
  1010. package/src/grid/intl/hu-HU.json +8 -0
  1011. package/src/grid/intl/index.ts +127 -0
  1012. package/src/grid/intl/it-IT.json +8 -0
  1013. package/src/grid/intl/ja-JP.json +8 -0
  1014. package/src/grid/intl/ko-KR.json +8 -0
  1015. package/src/grid/intl/lt-LT.json +8 -0
  1016. package/src/grid/intl/lv-LV.json +8 -0
  1017. package/src/grid/intl/nb-NO.json +8 -0
  1018. package/src/grid/intl/nl-NL.json +8 -0
  1019. package/src/grid/intl/pl-PL.json +8 -0
  1020. package/src/grid/intl/pt-BR.json +8 -0
  1021. package/src/grid/intl/pt-PT.json +8 -0
  1022. package/src/grid/intl/ro-RO.json +8 -0
  1023. package/src/grid/intl/ru-RU.json +8 -0
  1024. package/src/grid/intl/sk-SK.json +8 -0
  1025. package/src/grid/intl/sl-SI.json +8 -0
  1026. package/src/grid/intl/sr-SP.json +8 -0
  1027. package/src/grid/intl/sv-SE.json +8 -0
  1028. package/src/grid/intl/tr-TR.json +8 -0
  1029. package/src/grid/intl/uk-UA.json +8 -0
  1030. package/src/grid/intl/zh-CN.json +8 -0
  1031. package/src/grid/intl/zh-TW.json +8 -0
  1032. package/src/grid/types.ts +25 -2
  1033. package/src/gridlist/createGridList.ts +252 -47
  1034. package/src/gridlist/createGridListItem.ts +90 -20
  1035. package/src/gridlist/createGridListSection.ts +14 -0
  1036. package/src/gridlist/createGridListSelectionCheckbox.ts +31 -4
  1037. package/src/gridlist/intl/ar-AE.json +4 -0
  1038. package/src/gridlist/intl/bg-BG.json +4 -0
  1039. package/src/gridlist/intl/cs-CZ.json +4 -0
  1040. package/src/gridlist/intl/da-DK.json +4 -0
  1041. package/src/gridlist/intl/de-DE.json +4 -0
  1042. package/src/gridlist/intl/el-GR.json +4 -0
  1043. package/src/gridlist/intl/en-US.json +4 -0
  1044. package/src/gridlist/intl/es-ES.json +4 -0
  1045. package/src/gridlist/intl/et-EE.json +4 -0
  1046. package/src/gridlist/intl/fi-FI.json +4 -0
  1047. package/src/gridlist/intl/fr-FR.json +4 -0
  1048. package/src/gridlist/intl/he-IL.json +4 -0
  1049. package/src/gridlist/intl/hr-HR.json +4 -0
  1050. package/src/gridlist/intl/hu-HU.json +4 -0
  1051. package/src/gridlist/intl/index.ts +123 -0
  1052. package/src/gridlist/intl/it-IT.json +4 -0
  1053. package/src/gridlist/intl/ja-JP.json +4 -0
  1054. package/src/gridlist/intl/ko-KR.json +4 -0
  1055. package/src/gridlist/intl/lt-LT.json +4 -0
  1056. package/src/gridlist/intl/lv-LV.json +4 -0
  1057. package/src/gridlist/intl/nb-NO.json +4 -0
  1058. package/src/gridlist/intl/nl-NL.json +4 -0
  1059. package/src/gridlist/intl/pl-PL.json +4 -0
  1060. package/src/gridlist/intl/pt-BR.json +4 -0
  1061. package/src/gridlist/intl/pt-PT.json +4 -0
  1062. package/src/gridlist/intl/ro-RO.json +4 -0
  1063. package/src/gridlist/intl/ru-RU.json +4 -0
  1064. package/src/gridlist/intl/sk-SK.json +4 -0
  1065. package/src/gridlist/intl/sl-SI.json +4 -0
  1066. package/src/gridlist/intl/sr-SP.json +4 -0
  1067. package/src/gridlist/intl/sv-SE.json +4 -0
  1068. package/src/gridlist/intl/tr-TR.json +4 -0
  1069. package/src/gridlist/intl/uk-UA.json +4 -0
  1070. package/src/gridlist/intl/zh-CN.json +4 -0
  1071. package/src/gridlist/intl/zh-TW.json +4 -0
  1072. package/src/gridlist/types.ts +86 -2
  1073. package/src/i18n/compileIcu.ts +440 -0
  1074. package/src/i18n/createCollator.ts +14 -0
  1075. package/src/i18n/createDateFormatter.ts +17 -2
  1076. package/src/i18n/createFilter.ts +14 -0
  1077. package/src/i18n/createListFormatter.ts +38 -0
  1078. package/src/i18n/createNumberFormatter.ts +14 -0
  1079. package/src/i18n/createStringFormatter.ts +64 -8
  1080. package/src/i18n/index.ts +3 -0
  1081. package/src/i18n/locale.tsx +77 -20
  1082. package/src/i18n/utils.ts +14 -0
  1083. package/src/index.ts +81 -3
  1084. package/src/interactions/FocusableProvider.tsx +28 -11
  1085. package/src/interactions/PressEvent.ts +16 -1
  1086. package/src/interactions/createContextMenu.ts +108 -0
  1087. package/src/interactions/createFocus.ts +35 -8
  1088. package/src/interactions/createFocusRing.ts +39 -18
  1089. package/src/interactions/createFocusWithin.ts +61 -10
  1090. package/src/interactions/createFocusable.ts +67 -31
  1091. package/src/interactions/createHover.ts +98 -94
  1092. package/src/interactions/createInteractionModality.ts +135 -45
  1093. package/src/interactions/createKeyboard.ts +85 -9
  1094. package/src/interactions/createKeyboardShortcutHandler.ts +157 -0
  1095. package/src/interactions/createLongPress.ts +74 -22
  1096. package/src/interactions/createMove.ts +24 -3
  1097. package/src/interactions/createPress.ts +109 -74
  1098. package/src/interactions/index.ts +1 -0
  1099. package/src/label/createField.ts +58 -63
  1100. package/src/label/createLabel.ts +21 -4
  1101. package/src/label/createLabels.ts +17 -0
  1102. package/src/landmark/createLandmark.ts +491 -167
  1103. package/src/link/createLink.ts +48 -41
  1104. package/src/listbox/createListBox.ts +114 -310
  1105. package/src/listbox/createOption.ts +50 -14
  1106. package/src/live-announcer/announce.ts +27 -10
  1107. package/src/menu/createMenu.ts +123 -315
  1108. package/src/menu/createMenuItem.ts +84 -60
  1109. package/src/menu/createMenuTrigger.ts +179 -51
  1110. package/src/menu/index.ts +2 -0
  1111. package/src/menu/intl/index.ts +130 -0
  1112. package/src/meter/createMeter.ts +20 -5
  1113. package/src/numberfield/createNumberField.ts +459 -41
  1114. package/src/numberfield/index.ts +7 -0
  1115. package/src/numberfield/intl.ts +240 -0
  1116. package/src/overlays/ariaHideOutside.ts +76 -11
  1117. package/src/overlays/createCloseOnScroll.ts +90 -0
  1118. package/src/overlays/createInteractOutside.ts +73 -68
  1119. package/src/overlays/createModal.tsx +42 -27
  1120. package/src/overlays/createOverlay.ts +72 -67
  1121. package/src/overlays/createOverlayTrigger.ts +21 -6
  1122. package/src/overlays/createPreventScroll.ts +92 -62
  1123. package/src/overlays/index.ts +5 -0
  1124. package/src/overlays/intl/ar-AE.json +3 -0
  1125. package/src/overlays/intl/bg-BG.json +3 -0
  1126. package/src/overlays/intl/cs-CZ.json +3 -0
  1127. package/src/overlays/intl/da-DK.json +3 -0
  1128. package/src/overlays/intl/de-DE.json +3 -0
  1129. package/src/overlays/intl/el-GR.json +3 -0
  1130. package/src/overlays/intl/en-US.json +3 -0
  1131. package/src/overlays/intl/es-ES.json +3 -0
  1132. package/src/overlays/intl/et-EE.json +3 -0
  1133. package/src/overlays/intl/fi-FI.json +3 -0
  1134. package/src/overlays/intl/fr-FR.json +3 -0
  1135. package/src/overlays/intl/he-IL.json +3 -0
  1136. package/src/overlays/intl/hr-HR.json +3 -0
  1137. package/src/overlays/intl/hu-HU.json +3 -0
  1138. package/src/overlays/intl/index.ts +122 -0
  1139. package/src/overlays/intl/it-IT.json +3 -0
  1140. package/src/overlays/intl/ja-JP.json +3 -0
  1141. package/src/overlays/intl/ko-KR.json +3 -0
  1142. package/src/overlays/intl/lt-LT.json +3 -0
  1143. package/src/overlays/intl/lv-LV.json +3 -0
  1144. package/src/overlays/intl/nb-NO.json +3 -0
  1145. package/src/overlays/intl/nl-NL.json +3 -0
  1146. package/src/overlays/intl/pl-PL.json +3 -0
  1147. package/src/overlays/intl/pt-BR.json +3 -0
  1148. package/src/overlays/intl/pt-PT.json +3 -0
  1149. package/src/overlays/intl/ro-RO.json +3 -0
  1150. package/src/overlays/intl/ru-RU.json +3 -0
  1151. package/src/overlays/intl/sk-SK.json +3 -0
  1152. package/src/overlays/intl/sl-SI.json +3 -0
  1153. package/src/overlays/intl/sr-SP.json +3 -0
  1154. package/src/overlays/intl/sv-SE.json +3 -0
  1155. package/src/overlays/intl/tr-TR.json +3 -0
  1156. package/src/overlays/intl/uk-UA.json +3 -0
  1157. package/src/overlays/intl/zh-CN.json +3 -0
  1158. package/src/overlays/intl/zh-TW.json +3 -0
  1159. package/src/popover/calculatePosition.ts +21 -3
  1160. package/src/popover/createOverlayPosition.ts +154 -63
  1161. package/src/popover/createPopover.ts +121 -27
  1162. package/src/progress/createProgressBar.ts +23 -5
  1163. package/src/radio/createRadio.ts +65 -26
  1164. package/src/radio/createRadioGroup.ts +131 -86
  1165. package/src/searchfield/createSearchField.ts +34 -2
  1166. package/src/searchfield/intl/ar-AE.json +3 -0
  1167. package/src/searchfield/intl/bg-BG.json +3 -0
  1168. package/src/searchfield/intl/cs-CZ.json +3 -0
  1169. package/src/searchfield/intl/da-DK.json +3 -0
  1170. package/src/searchfield/intl/de-DE.json +3 -0
  1171. package/src/searchfield/intl/el-GR.json +3 -0
  1172. package/src/searchfield/intl/en-US.json +3 -0
  1173. package/src/searchfield/intl/es-ES.json +3 -0
  1174. package/src/searchfield/intl/et-EE.json +3 -0
  1175. package/src/searchfield/intl/fi-FI.json +3 -0
  1176. package/src/searchfield/intl/fr-FR.json +3 -0
  1177. package/src/searchfield/intl/he-IL.json +3 -0
  1178. package/src/searchfield/intl/hr-HR.json +3 -0
  1179. package/src/searchfield/intl/hu-HU.json +3 -0
  1180. package/src/searchfield/intl/index.ts +122 -0
  1181. package/src/searchfield/intl/it-IT.json +3 -0
  1182. package/src/searchfield/intl/ja-JP.json +3 -0
  1183. package/src/searchfield/intl/ko-KR.json +3 -0
  1184. package/src/searchfield/intl/lt-LT.json +3 -0
  1185. package/src/searchfield/intl/lv-LV.json +3 -0
  1186. package/src/searchfield/intl/nb-NO.json +3 -0
  1187. package/src/searchfield/intl/nl-NL.json +3 -0
  1188. package/src/searchfield/intl/pl-PL.json +3 -0
  1189. package/src/searchfield/intl/pt-BR.json +3 -0
  1190. package/src/searchfield/intl/pt-PT.json +3 -0
  1191. package/src/searchfield/intl/ro-RO.json +3 -0
  1192. package/src/searchfield/intl/ru-RU.json +3 -0
  1193. package/src/searchfield/intl/sk-SK.json +3 -0
  1194. package/src/searchfield/intl/sl-SI.json +3 -0
  1195. package/src/searchfield/intl/sr-SP.json +3 -0
  1196. package/src/searchfield/intl/sv-SE.json +3 -0
  1197. package/src/searchfield/intl/tr-TR.json +3 -0
  1198. package/src/searchfield/intl/uk-UA.json +3 -0
  1199. package/src/searchfield/intl/zh-CN.json +3 -0
  1200. package/src/searchfield/intl/zh-TW.json +3 -0
  1201. package/src/select/createHiddenSelect.tsx +157 -110
  1202. package/src/select/createSelect.ts +139 -61
  1203. package/src/selection/DOMLayoutDelegate.ts +14 -0
  1204. package/src/selection/ListKeyboardDelegate.ts +26 -4
  1205. package/src/selection/constants.ts +14 -0
  1206. package/src/selection/createCollectionRowInteraction.ts +77 -8
  1207. package/src/selection/createScrollIntoViewOnFocus.ts +23 -8
  1208. package/src/selection/createSelectableCollection.ts +394 -245
  1209. package/src/selection/createSelectableItem.ts +220 -45
  1210. package/src/selection/createSelectableList.ts +26 -3
  1211. package/src/selection/createTypeSelect.ts +34 -11
  1212. package/src/selection/selectItem.ts +14 -0
  1213. package/src/selection/utils.ts +15 -1
  1214. package/src/separator/createSeparator.ts +17 -1
  1215. package/src/slider/createSlider.ts +561 -302
  1216. package/src/slider/createSliderThumb.ts +46 -0
  1217. package/src/slider/index.ts +1 -0
  1218. package/src/spinbutton/createSpinButton.ts +16 -2
  1219. package/src/spinbutton/intl.ts +36 -0
  1220. package/src/ssr/index.tsx +93 -48
  1221. package/src/steplist/createStepList.ts +112 -48
  1222. package/src/steplist/index.ts +3 -0
  1223. package/src/steplist/intl/ar-AE.json +3 -0
  1224. package/src/steplist/intl/bg-BG.json +3 -0
  1225. package/src/steplist/intl/cs-CZ.json +3 -0
  1226. package/src/steplist/intl/da-DK.json +3 -0
  1227. package/src/steplist/intl/de-DE.json +3 -0
  1228. package/src/steplist/intl/el-GR.json +3 -0
  1229. package/src/steplist/intl/en-US.json +3 -0
  1230. package/src/steplist/intl/es-ES.json +3 -0
  1231. package/src/steplist/intl/et-EE.json +3 -0
  1232. package/src/steplist/intl/fi-FI.json +3 -0
  1233. package/src/steplist/intl/fr-FR.json +3 -0
  1234. package/src/steplist/intl/he-IL.json +3 -0
  1235. package/src/steplist/intl/hr-HR.json +3 -0
  1236. package/src/steplist/intl/hu-HU.json +3 -0
  1237. package/src/steplist/intl/index.ts +88 -0
  1238. package/src/steplist/intl/it-IT.json +3 -0
  1239. package/src/steplist/intl/ja-JP.json +3 -0
  1240. package/src/steplist/intl/ko-KR.json +3 -0
  1241. package/src/steplist/intl/lt-LT.json +3 -0
  1242. package/src/steplist/intl/lv-LV.json +3 -0
  1243. package/src/steplist/intl/nb-NO.json +3 -0
  1244. package/src/steplist/intl/nl-NL.json +3 -0
  1245. package/src/steplist/intl/pl-PL.json +3 -0
  1246. package/src/steplist/intl/pt-BR.json +3 -0
  1247. package/src/steplist/intl/pt-PT.json +3 -0
  1248. package/src/steplist/intl/ro-RO.json +3 -0
  1249. package/src/steplist/intl/ru-RU.json +3 -0
  1250. package/src/steplist/intl/sk-SK.json +3 -0
  1251. package/src/steplist/intl/sl-SI.json +3 -0
  1252. package/src/steplist/intl/sr-SP.json +3 -0
  1253. package/src/steplist/intl/sv-SE.json +3 -0
  1254. package/src/steplist/intl/tr-TR.json +3 -0
  1255. package/src/steplist/intl/uk-UA.json +3 -0
  1256. package/src/steplist/intl/zh-CN.json +3 -0
  1257. package/src/steplist/intl/zh-TW.json +3 -0
  1258. package/src/switch/createSwitch.ts +25 -4
  1259. package/src/table/createTable.ts +247 -82
  1260. package/src/table/createTableCell.ts +26 -6
  1261. package/src/table/createTableColumnHeader.ts +61 -13
  1262. package/src/table/createTableColumnResize.ts +303 -102
  1263. package/src/table/createTableHeaderRow.ts +20 -5
  1264. package/src/table/createTableRow.ts +48 -25
  1265. package/src/table/createTableRowGroup.ts +18 -3
  1266. package/src/table/createTableSelectAllCheckbox.ts +30 -14
  1267. package/src/table/createTableSelectionCheckbox.ts +21 -3
  1268. package/src/table/index.ts +2 -2
  1269. package/src/table/intl/ar-AE.json +13 -0
  1270. package/src/table/intl/bg-BG.json +13 -0
  1271. package/src/table/intl/cs-CZ.json +13 -0
  1272. package/src/table/intl/da-DK.json +13 -0
  1273. package/src/table/intl/de-DE.json +13 -0
  1274. package/src/table/intl/el-GR.json +13 -0
  1275. package/src/table/intl/en-US.json +13 -0
  1276. package/src/table/intl/es-ES.json +13 -0
  1277. package/src/table/intl/et-EE.json +13 -0
  1278. package/src/table/intl/fi-FI.json +13 -0
  1279. package/src/table/intl/fr-FR.json +13 -0
  1280. package/src/table/intl/he-IL.json +13 -0
  1281. package/src/table/intl/hr-HR.json +13 -0
  1282. package/src/table/intl/hu-HU.json +13 -0
  1283. package/src/table/intl/index.ts +132 -0
  1284. package/src/table/intl/it-IT.json +13 -0
  1285. package/src/table/intl/ja-JP.json +13 -0
  1286. package/src/table/intl/ko-KR.json +13 -0
  1287. package/src/table/intl/lt-LT.json +13 -0
  1288. package/src/table/intl/lv-LV.json +13 -0
  1289. package/src/table/intl/nb-NO.json +13 -0
  1290. package/src/table/intl/nl-NL.json +13 -0
  1291. package/src/table/intl/pl-PL.json +13 -0
  1292. package/src/table/intl/pt-BR.json +13 -0
  1293. package/src/table/intl/pt-PT.json +13 -0
  1294. package/src/table/intl/ro-RO.json +13 -0
  1295. package/src/table/intl/ru-RU.json +13 -0
  1296. package/src/table/intl/sk-SK.json +13 -0
  1297. package/src/table/intl/sl-SI.json +13 -0
  1298. package/src/table/intl/sr-SP.json +13 -0
  1299. package/src/table/intl/sv-SE.json +13 -0
  1300. package/src/table/intl/tr-TR.json +13 -0
  1301. package/src/table/intl/uk-UA.json +13 -0
  1302. package/src/table/intl/zh-CN.json +13 -0
  1303. package/src/table/intl/zh-TW.json +13 -0
  1304. package/src/table/types.ts +44 -2
  1305. package/src/table/utils.ts +27 -1
  1306. package/src/tabs/createTabs.ts +140 -67
  1307. package/src/tag/createTag.ts +157 -180
  1308. package/src/tag/createTagGroup.ts +160 -105
  1309. package/src/tag/intl/ar-AE.json +4 -0
  1310. package/src/tag/intl/bg-BG.json +4 -0
  1311. package/src/tag/intl/cs-CZ.json +4 -0
  1312. package/src/tag/intl/da-DK.json +4 -0
  1313. package/src/tag/intl/de-DE.json +4 -0
  1314. package/src/tag/intl/el-GR.json +4 -0
  1315. package/src/tag/intl/en-US.json +4 -0
  1316. package/src/tag/intl/es-ES.json +4 -0
  1317. package/src/tag/intl/et-EE.json +4 -0
  1318. package/src/tag/intl/fi-FI.json +4 -0
  1319. package/src/tag/intl/fr-FR.json +4 -0
  1320. package/src/tag/intl/he-IL.json +4 -0
  1321. package/src/tag/intl/hr-HR.json +4 -0
  1322. package/src/tag/intl/hu-HU.json +4 -0
  1323. package/src/tag/intl/index.ts +123 -0
  1324. package/src/tag/intl/it-IT.json +4 -0
  1325. package/src/tag/intl/ja-JP.json +4 -0
  1326. package/src/tag/intl/ko-KR.json +4 -0
  1327. package/src/tag/intl/lt-LT.json +4 -0
  1328. package/src/tag/intl/lv-LV.json +4 -0
  1329. package/src/tag/intl/nb-NO.json +4 -0
  1330. package/src/tag/intl/nl-NL.json +4 -0
  1331. package/src/tag/intl/pl-PL.json +4 -0
  1332. package/src/tag/intl/pt-BR.json +4 -0
  1333. package/src/tag/intl/pt-PT.json +4 -0
  1334. package/src/tag/intl/ro-RO.json +4 -0
  1335. package/src/tag/intl/ru-RU.json +4 -0
  1336. package/src/tag/intl/sk-SK.json +4 -0
  1337. package/src/tag/intl/sl-SI.json +4 -0
  1338. package/src/tag/intl/sr-SP.json +4 -0
  1339. package/src/tag/intl/sv-SE.json +4 -0
  1340. package/src/tag/intl/tr-TR.json +4 -0
  1341. package/src/tag/intl/uk-UA.json +4 -0
  1342. package/src/tag/intl/zh-CN.json +4 -0
  1343. package/src/tag/intl/zh-TW.json +4 -0
  1344. package/src/textfield/createTextField.ts +120 -14
  1345. package/src/toast/createToast.ts +72 -22
  1346. package/src/toast/createToastRegion.ts +60 -24
  1347. package/src/toast/intl/ar-AE.json +4 -0
  1348. package/src/toast/intl/bg-BG.json +4 -0
  1349. package/src/toast/intl/cs-CZ.json +4 -0
  1350. package/src/toast/intl/da-DK.json +4 -0
  1351. package/src/toast/intl/de-DE.json +4 -0
  1352. package/src/toast/intl/el-GR.json +4 -0
  1353. package/src/toast/intl/en-US.json +4 -0
  1354. package/src/toast/intl/es-ES.json +4 -0
  1355. package/src/toast/intl/et-EE.json +4 -0
  1356. package/src/toast/intl/fi-FI.json +4 -0
  1357. package/src/toast/intl/fr-FR.json +4 -0
  1358. package/src/toast/intl/he-IL.json +4 -0
  1359. package/src/toast/intl/hr-HR.json +4 -0
  1360. package/src/toast/intl/hu-HU.json +4 -0
  1361. package/src/toast/intl/index.ts +123 -0
  1362. package/src/toast/intl/it-IT.json +4 -0
  1363. package/src/toast/intl/ja-JP.json +4 -0
  1364. package/src/toast/intl/ko-KR.json +4 -0
  1365. package/src/toast/intl/lt-LT.json +4 -0
  1366. package/src/toast/intl/lv-LV.json +4 -0
  1367. package/src/toast/intl/nb-NO.json +4 -0
  1368. package/src/toast/intl/nl-NL.json +4 -0
  1369. package/src/toast/intl/pl-PL.json +4 -0
  1370. package/src/toast/intl/pt-BR.json +4 -0
  1371. package/src/toast/intl/pt-PT.json +4 -0
  1372. package/src/toast/intl/ro-RO.json +4 -0
  1373. package/src/toast/intl/ru-RU.json +4 -0
  1374. package/src/toast/intl/sk-SK.json +4 -0
  1375. package/src/toast/intl/sl-SI.json +4 -0
  1376. package/src/toast/intl/sr-SP.json +4 -0
  1377. package/src/toast/intl/sv-SE.json +4 -0
  1378. package/src/toast/intl/tr-TR.json +4 -0
  1379. package/src/toast/intl/uk-UA.json +4 -0
  1380. package/src/toast/intl/zh-CN.json +4 -0
  1381. package/src/toast/intl/zh-TW.json +4 -0
  1382. package/src/toggle/createToggle.ts +169 -21
  1383. package/src/tokenfield/createToken.ts +100 -0
  1384. package/src/tokenfield/createTokenField.ts +955 -0
  1385. package/src/tokenfield/index.ts +10 -0
  1386. package/src/toolbar/createToolbar.ts +26 -5
  1387. package/src/tooltip/createPreviewTrigger.ts +301 -0
  1388. package/src/tooltip/createSafeArea.ts +165 -0
  1389. package/src/tooltip/createTooltip.ts +15 -1
  1390. package/src/tooltip/createTooltipTrigger.ts +25 -11
  1391. package/src/tooltip/index.ts +7 -0
  1392. package/src/tooltip/intl/index.ts +76 -0
  1393. package/src/tree/createTree.ts +83 -48
  1394. package/src/tree/createTreeItem.ts +92 -35
  1395. package/src/tree/createTreeSelectionCheckbox.ts +34 -30
  1396. package/src/tree/intl/ar-AE.json +4 -0
  1397. package/src/tree/intl/bg-BG.json +4 -0
  1398. package/src/tree/intl/cs-CZ.json +4 -0
  1399. package/src/tree/intl/da-DK.json +4 -0
  1400. package/src/tree/intl/de-DE.json +4 -0
  1401. package/src/tree/intl/el-GR.json +4 -0
  1402. package/src/tree/intl/en-US.json +4 -0
  1403. package/src/tree/intl/es-ES.json +4 -0
  1404. package/src/tree/intl/et-EE.json +4 -0
  1405. package/src/tree/intl/fi-FI.json +4 -0
  1406. package/src/tree/intl/fr-FR.json +4 -0
  1407. package/src/tree/intl/he-IL.json +4 -0
  1408. package/src/tree/intl/hr-HR.json +4 -0
  1409. package/src/tree/intl/hu-HU.json +4 -0
  1410. package/src/tree/intl/index.ts +123 -0
  1411. package/src/tree/intl/it-IT.json +4 -0
  1412. package/src/tree/intl/ja-JP.json +4 -0
  1413. package/src/tree/intl/ko-KR.json +4 -0
  1414. package/src/tree/intl/lt-LT.json +4 -0
  1415. package/src/tree/intl/lv-LV.json +4 -0
  1416. package/src/tree/intl/nb-NO.json +4 -0
  1417. package/src/tree/intl/nl-NL.json +4 -0
  1418. package/src/tree/intl/pl-PL.json +4 -0
  1419. package/src/tree/intl/pt-BR.json +4 -0
  1420. package/src/tree/intl/pt-PT.json +4 -0
  1421. package/src/tree/intl/ro-RO.json +4 -0
  1422. package/src/tree/intl/ru-RU.json +4 -0
  1423. package/src/tree/intl/sk-SK.json +4 -0
  1424. package/src/tree/intl/sl-SI.json +4 -0
  1425. package/src/tree/intl/sr-SP.json +4 -0
  1426. package/src/tree/intl/sv-SE.json +4 -0
  1427. package/src/tree/intl/tr-TR.json +4 -0
  1428. package/src/tree/intl/uk-UA.json +4 -0
  1429. package/src/tree/intl/zh-CN.json +4 -0
  1430. package/src/tree/intl/zh-TW.json +4 -0
  1431. package/src/tree/types.ts +37 -3
  1432. package/src/utils/ShadowTreeWalker.ts +249 -0
  1433. package/src/utils/animation.ts +84 -107
  1434. package/src/utils/callEventHandler.ts +23 -0
  1435. package/src/utils/capture.ts +68 -0
  1436. package/src/utils/createDescription.ts +31 -8
  1437. package/src/utils/dom.ts +382 -72
  1438. package/src/utils/domAttrs.ts +84 -0
  1439. package/src/utils/env.ts +34 -3
  1440. package/src/utils/events.ts +39 -3
  1441. package/src/utils/filterDOMProps.ts +34 -2
  1442. package/src/utils/focus.ts +165 -78
  1443. package/src/utils/focusWithoutScrolling.ts +95 -0
  1444. package/src/utils/geometry.ts +15 -1
  1445. package/src/utils/getMetaValue.ts +57 -0
  1446. package/src/utils/getNonce.ts +40 -0
  1447. package/src/utils/globalListeners.ts +16 -3
  1448. package/src/utils/index.ts +40 -1
  1449. package/src/utils/keyboard.ts +15 -1
  1450. package/src/utils/mergeProps.ts +149 -16
  1451. package/src/utils/openLink.ts +241 -0
  1452. package/src/utils/owner.ts +26 -0
  1453. package/src/utils/platform.ts +81 -35
  1454. package/src/utils/reactivity.ts +2 -0
  1455. package/src/utils/refs.ts +53 -0
  1456. package/src/utils/runAfterTransition.ts +117 -0
  1457. package/src/utils/scrollIntoView.ts +14 -0
  1458. package/src/utils/splitProps.ts +70 -0
  1459. package/src/utils/textSelection.ts +53 -66
  1460. package/src/virtualizer/ScrollView.ts +210 -0
  1461. package/src/virtualizer/index.ts +2 -0
  1462. package/src/virtualizer/utils.ts +100 -0
  1463. package/src/visually-hidden/createVisuallyHidden.ts +20 -4
  1464. package/dist/_chunk/createFormValidation.js +0 -135
  1465. package/dist/_chunk/createFormValidation.js.map +0 -1
  1466. package/dist/_chunk/createFormValidation.jsx +0 -135
  1467. package/dist/_chunk/createFormValidation.jsx.map +0 -1
  1468. package/dist/_chunk/focus2.js +0 -631
  1469. package/dist/_chunk/focus2.js.map +0 -1
  1470. package/dist/_chunk/focus2.jsx +0 -631
  1471. package/dist/_chunk/focus2.jsx.map +0 -1
  1472. package/dist/_chunk/visually-hidden.js.map +0 -1
  1473. package/dist/_chunk/visually-hidden.jsx.map +0 -1
  1474. package/dist/checkbox/createCheckboxGroupState.d.ts +0 -71
  1475. package/dist/checkbox/createCheckboxGroupState.d.ts.map +0 -1
  1476. package/dist/radio/createRadioGroupState.d.ts +0 -77
  1477. package/dist/radio/createRadioGroupState.d.ts.map +0 -1
  1478. package/dist/toggle/createToggleState.d.ts +0 -34
  1479. package/dist/toggle/createToggleState.d.ts.map +0 -1
  1480. package/src/checkbox/createCheckboxGroupState.ts +0 -174
  1481. package/src/radio/createRadioGroupState.ts +0 -177
  1482. package/src/toggle/createToggleState.ts +0 -86
@@ -1,399 +1,651 @@
1
- //#region src/utils/dom.ts
1
+ import { C as runAfterTransition, _ as focusSafely } from "./utils.jsx";
2
+ import { t as onOwnedCleanup } from "./owner.jsx";
3
+ import { D as focusWithoutScrolling, i as getActiveElement$1, s as getOwnerDocument } from "./dom.jsx";
4
+ import { o as getInteractionModality } from "./createInteractionModality.jsx";
5
+ import { createSignal, getObserver, onSettled } from "solid-js";
6
+ import { isServer } from "@solidjs/web";
7
+ //#region src/focus/createFocusRestore.ts
2
8
  /**
3
- * DOM utilities for cross-browser compatibility.
4
- * Based on @react-aria/utils DOM utilities.
9
+ * Focus restoration utilities for solidaria
10
+ *
11
+ * Provides enhanced focus restoration with retry logic, cross-scope tracking,
12
+ * and safe restoration patterns.
13
+ *
14
+ * This is a local Solid helper. The pinned React Aria revision has no
15
+ * standalone retrying focus-restore stack API.
5
16
  */
17
+ const focusStack = [];
6
18
  /**
7
- * Gets the owner document of an element, or the global document.
19
+ * Push an element onto the focus stack.
8
20
  */
9
- function getOwnerDocument(el) {
10
- return el?.ownerDocument ?? document;
21
+ function pushFocusStack(element) {
22
+ focusStack.push(element);
11
23
  }
12
24
  /**
13
- * Gets the owner window of an element, or the global window.
25
+ * Pop the last element from the focus stack.
14
26
  */
15
- function getOwnerWindow(el) {
16
- return getOwnerDocument(el).defaultView ?? window;
27
+ function popFocusStack() {
28
+ return focusStack.pop();
17
29
  }
18
30
  /**
19
- * Cross-browser implementation of Node.contains that works with ShadowDOM.
20
- * In Safari, Node.contains doesn't properly detect elements inside shadow roots.
31
+ * Get the current focus stack length.
21
32
  */
22
- function nodeContains(parent, child) {
23
- if (!parent || !child) return false;
24
- if (parent.contains(child)) return true;
25
- let node = child;
26
- while (node) {
27
- if (node === parent) return true;
28
- if (node.host) node = node.host;
29
- else node = node.parentNode;
30
- }
31
- return false;
32
- }
33
- /**
34
- * Gets the event target, handling composed path for shadow DOM.
35
- */
36
- function getEventTarget(event) {
37
- if (typeof event.composedPath === "function") {
38
- const path = event.composedPath();
39
- if (path.length > 0) return path[0];
40
- }
41
- return event.target;
42
- }
43
- const supportsCheckVisibility = typeof Element !== "undefined" && "checkVisibility" in Element.prototype;
44
- function isHTMLOrSVGElement(element) {
45
- const windowObject = getOwnerWindow(element);
46
- return element instanceof windowObject.HTMLElement || element instanceof windowObject.SVGElement || typeof HTMLElement !== "undefined" && element instanceof HTMLElement || typeof SVGElement !== "undefined" && element instanceof SVGElement;
47
- }
48
- function isStyleVisible(element) {
49
- if (!isHTMLOrSVGElement(element)) return false;
50
- const { display, visibility } = element.style;
51
- let isVisible = display !== "none" && visibility !== "hidden" && visibility !== "collapse";
52
- if (isVisible) {
53
- const { getComputedStyle } = getOwnerWindow(element);
54
- const { display: computedDisplay, visibility: computedVisibility } = getComputedStyle(element);
55
- isVisible = computedDisplay !== "none" && computedVisibility !== "hidden" && computedVisibility !== "collapse";
56
- }
57
- return isVisible;
58
- }
59
- function isAttributeVisible(element, childElement) {
60
- return !element.hasAttribute("hidden") && !element.hasAttribute("data-react-aria-prevent-focus") && (element.nodeName === "DETAILS" && childElement && childElement.nodeName !== "SUMMARY" ? element.hasAttribute("open") : true);
61
- }
62
- /**
63
- * Whether an element is visible, and so eligible for focus. Adapted from
64
- * @react-aria/utils, which adapts testing-library/jest-dom and
65
- * vue-test-utils-next (MIT): uses `checkVisibility` when supported, otherwise
66
- * walks computed style and visibility-affecting attributes up the ancestor chain.
67
- */
68
- function isElementVisible(element, childElement) {
69
- if (supportsCheckVisibility) return element.checkVisibility({ visibilityProperty: true }) && !element.closest("[data-react-aria-prevent-focus]");
70
- return element.nodeName !== "#comment" && isStyleVisible(element) && isAttributeVisible(element, childElement) && (!element.parentElement || isElementVisible(element.parentElement, element));
33
+ function getFocusStackLength() {
34
+ return focusStack.length;
71
35
  }
72
- const focusableElements = [
73
- "input:not([disabled]):not([type=hidden])",
74
- "select:not([disabled])",
75
- "textarea:not([disabled])",
76
- "button:not([disabled])",
77
- "a[href]",
78
- "area[href]",
79
- "summary",
80
- "iframe",
81
- "object",
82
- "embed",
83
- "audio[controls]",
84
- "video[controls]",
85
- "[contenteditable]:not([contenteditable^=\"false\"])",
86
- "permission"
87
- ];
88
- const FOCUSABLE_ELEMENT_SELECTOR = focusableElements.join(":not([hidden]),") + ",[tabindex]:not([disabled]):not([hidden])";
89
- focusableElements.push("[tabindex]:not([tabindex=\"-1\"]):not([disabled])");
90
- const TABBABLE_ELEMENT_SELECTOR = focusableElements.join(":not([hidden]):not([tabindex=\"-1\"]),");
91
36
  /**
92
- * Checks if an element is a valid focusable element: it matches the focusable
93
- * selector, is not inside an `inert` subtree, and is visible. A negative tabindex
94
- * is programmatically focusable (matched here) but not tabbable. `skipVisibilityCheck`
95
- * lets callers (e.g. the press-path `preventFocus` ancestor walk) skip the
96
- * `isElementVisible` step, which also avoids touching layout on detached documents.
37
+ * Clear the entire focus stack.
97
38
  */
98
- function isFocusable(element, options) {
99
- return element.matches(FOCUSABLE_ELEMENT_SELECTOR) && !isInert(element) && (options?.skipVisibilityCheck || isElementVisible(element));
39
+ function clearFocusStack() {
40
+ focusStack.length = 0;
100
41
  }
101
42
  /**
102
- * Checks if an element is tabbable (reachable via the Tab key): focusable,
103
- * visible, not inert, and not `tabindex="-1"`.
43
+ * Gets the active element, accounting for shadow DOM.
104
44
  */
105
- function isTabbable(element) {
106
- return element.matches(TABBABLE_ELEMENT_SELECTOR) && isElementVisible(element) && !isInert(element);
107
- }
108
- function isInert(element) {
109
- let node = element;
110
- while (node != null) {
111
- if ((node instanceof getOwnerWindow(node).HTMLElement || typeof HTMLElement !== "undefined" && node instanceof HTMLElement) && node.inert) return true;
112
- node = node.parentElement;
113
- }
114
- return false;
115
- }
116
- /**
117
- * Checks if a keyboard event should trigger the default action (like clicking).
118
- */
119
- function isValidKeyboardEvent(event, currentTarget) {
120
- const { key, code } = event;
121
- const element = currentTarget;
122
- const tagName = element.tagName.toLowerCase();
123
- const role = element.getAttribute("role");
124
- if (!(key === "Enter" || key === " " || key === "Spacebar" || code === "Space")) return false;
125
- if (tagName === "textarea") return false;
126
- if (element.isContentEditable) return false;
127
- if ((role === "link" || !role && isHTMLAnchorLink(element)) && key !== "Enter") return false;
128
- if (tagName === "input") return isValidInputKey(element, key);
129
- return true;
45
+ function getActiveElement(doc) {
46
+ let activeElement = doc.activeElement;
47
+ while (activeElement?.shadowRoot?.activeElement) activeElement = activeElement.shadowRoot.activeElement;
48
+ return activeElement;
130
49
  }
131
50
  /**
132
- * Checks if a key is valid for a specific input type.
51
+ * Checks if an element is still valid for focus restoration.
133
52
  */
134
- function isValidInputKey(target, key) {
135
- const type = target.type.toLowerCase();
136
- if (type === "checkbox" || type === "radio") return key === " " || key === "Spacebar";
137
- if ([
138
- "text",
139
- "search",
140
- "url",
141
- "tel",
142
- "email",
143
- "password",
144
- "date",
145
- "month",
146
- "week",
147
- "time",
148
- "datetime-local",
149
- "number"
150
- ].includes(type)) return false;
53
+ function isValidForRestore(element) {
54
+ if (!element) return false;
55
+ if (!document.body.contains(element)) return false;
56
+ if (element.hasAttribute("disabled")) return false;
57
+ if (element.getAttribute("aria-disabled") === "true") return false;
58
+ if (element.getAttribute("aria-hidden") === "true") return false;
151
59
  return true;
152
60
  }
153
61
  /**
154
- * Checks if an element is an HTML anchor link (has href attribute).
155
- */
156
- function isHTMLAnchorLink(target) {
157
- return target.tagName === "A" && target.hasAttribute("href");
158
- }
159
- /**
160
- * Whether to prevent default on keyboard events for this element.
62
+ * Attempts to restore focus with retries.
161
63
  */
162
- function shouldPreventDefaultKeyboard(target, key) {
163
- if (target instanceof HTMLInputElement) return !isValidInputKey(target, key);
164
- return shouldPreventDefaultUp(target);
64
+ function tryRestoreFocus(element, options) {
65
+ const { maxRetries, retryDelay, preventScroll, onRestore, onRestoreFailed } = options;
66
+ let attempts = 0;
67
+ const attempt = () => {
68
+ if (!element) {
69
+ onRestoreFailed?.();
70
+ return;
71
+ }
72
+ if (isValidForRestore(element)) {
73
+ if (preventScroll) focusSafely(element);
74
+ else element.focus();
75
+ onRestore?.(element);
76
+ return;
77
+ }
78
+ attempts++;
79
+ if (attempts < maxRetries) setTimeout(attempt, retryDelay);
80
+ else onRestoreFailed?.();
81
+ };
82
+ requestAnimationFrame(attempt);
165
83
  }
166
84
  /**
167
- * Whether to prevent default on pointer up for this element.
85
+ * Creates a focus restoration manager.
86
+ *
87
+ * This hook saves the currently focused element when mounted and provides
88
+ * methods to restore focus later, with retry logic for reliability.
89
+ *
90
+ * @example
91
+ * ```tsx
92
+ * function Modal(props) {
93
+ * const focusRestore = createFocusRestore({
94
+ * restoreOnUnmount: true,
95
+ * onRestore: () => console.log('Focus restored'),
96
+ * });
97
+ *
98
+ * return (
99
+ * <div role="dialog">
100
+ * {props.children}
101
+ * <button onClick={() => focusRestore.restore()}>
102
+ * Close
103
+ * </button>
104
+ * </div>
105
+ * );
106
+ * }
107
+ * ```
108
+ *
109
+ * @example
110
+ * ```tsx
111
+ * // Manual focus management
112
+ * function Dropdown() {
113
+ * const focusRestore = createFocusRestore({ restoreOnUnmount: false });
114
+ *
115
+ * const onOpen = () => {
116
+ * focusRestore.saveCurrentFocus();
117
+ * // Focus dropdown content
118
+ * };
119
+ *
120
+ * const onClose = () => {
121
+ * focusRestore.restore();
122
+ * };
123
+ *
124
+ * return <div>...</div>;
125
+ * }
126
+ * ```
168
127
  */
169
- function shouldPreventDefaultUp(target) {
170
- const tagName = target.tagName.toLowerCase();
171
- if (tagName === "input" || tagName === "textarea" || tagName === "select") return false;
172
- if (tagName === "a" || target.getAttribute("role") === "link") return false;
173
- if (tagName === "button") {
174
- const type = target.type;
175
- if (type === "submit" || type === "reset") return false;
128
+ function createFocusRestore(options = {}) {
129
+ const { restoreOnUnmount = true, maxRetries = 3, retryDelay = 50, onRestore, onRestoreFailed, preventScroll = true } = options;
130
+ let savedElement = null;
131
+ onSettled(() => {
132
+ saveCurrentFocus();
133
+ });
134
+ if (isServer) return {
135
+ restore: () => false,
136
+ getSavedElement: () => null,
137
+ saveCurrentFocus: () => {},
138
+ clear: () => {}
139
+ };
140
+ onOwnedCleanup(() => {
141
+ if (restoreOnUnmount && savedElement) tryRestoreFocus(savedElement, {
142
+ maxRetries,
143
+ retryDelay,
144
+ preventScroll,
145
+ onRestore: onRestore ?? (() => {}),
146
+ onRestoreFailed: onRestoreFailed ?? (() => {})
147
+ });
148
+ });
149
+ function saveCurrentFocus() {
150
+ const doc = typeof document !== "undefined" ? document : null;
151
+ if (!doc) return;
152
+ const active = getActiveElement(doc);
153
+ if (active && active !== doc.body) {
154
+ savedElement = active;
155
+ pushFocusStack(active);
156
+ }
176
157
  }
177
- return true;
158
+ function restore() {
159
+ if (!savedElement) return false;
160
+ if (isValidForRestore(savedElement)) {
161
+ if (preventScroll) focusSafely(savedElement);
162
+ else savedElement.focus();
163
+ onRestore?.(savedElement);
164
+ return true;
165
+ }
166
+ while (focusStack.length > 0) {
167
+ const stackElement = popFocusStack();
168
+ if (stackElement && isValidForRestore(stackElement)) {
169
+ if (preventScroll) focusSafely(stackElement);
170
+ else stackElement.focus();
171
+ onRestore?.(stackElement);
172
+ return true;
173
+ }
174
+ }
175
+ onRestoreFailed?.();
176
+ return false;
177
+ }
178
+ function getSavedElement() {
179
+ return savedElement;
180
+ }
181
+ function clear() {
182
+ savedElement = null;
183
+ }
184
+ return {
185
+ restore,
186
+ getSavedElement,
187
+ saveCurrentFocus,
188
+ clear
189
+ };
178
190
  }
191
+ //#endregion
192
+ //#region src/focus/createVirtualFocus.ts
179
193
  /**
180
- * Opens a link, supporting both same-window and new-window navigation.
181
- * Used for keyboard activation of links with Space key (which doesn't natively open links).
194
+ * Virtual focus management for solidaria
195
+ *
196
+ * Provides virtual focus for large collections where tracking DOM focus
197
+ * on every item is impractical. Instead, a single element receives real
198
+ * focus while aria-activedescendant indicates the virtually focused item.
199
+ *
200
+ * This is commonly used in:
201
+ * - Virtualized lists (where not all items are in the DOM)
202
+ * - Large trees
203
+ * - Autocomplete/combobox suggestions
204
+ * - Grid/table navigation
205
+ *
206
+ * This is a local Solid helper. The pinned React Aria revision has no
207
+ * standalone virtual-focus controller with this API.
182
208
  */
183
- function openLink(target, event, allowOpener = false) {
184
- const { href, target: linkTarget, rel } = target;
185
- openLink.isOpening = true;
186
- const keyEvent = event;
187
- if (linkTarget === "_blank" || keyEvent?.metaKey || keyEvent?.ctrlKey || keyEvent?.shiftKey || keyEvent?.altKey) {
188
- const features = !allowOpener && rel?.includes("noopener") ? "noopener" : void 0;
189
- window.open(href, linkTarget || "_blank", features);
190
- } else window.location.href = href;
191
- openLink.isOpening = false;
192
- }
193
- openLink.isOpening = false;
209
+ const DEFAULT_PAGE_SIZE = 10;
194
210
  /**
195
- * Checks if an element is scrollable based on its overflow style.
196
- * @param node - The element to check
197
- * @param checkForOverflow - If true, also check if the element actually overflows
211
+ * Creates virtual focus management for a collection.
212
+ *
213
+ * Virtual focus uses aria-activedescendant to indicate which item is
214
+ * "focused" while keeping real DOM focus on a container element. This
215
+ * is more performant for large collections and required for virtualized
216
+ * lists where items may not be in the DOM.
217
+ *
218
+ * @example
219
+ * ```tsx
220
+ * function Listbox(props) {
221
+ * const virtualFocus = createVirtualFocus({
222
+ * items: () => props.items,
223
+ * getKey: (item) => item.id,
224
+ * isDisabled: (item) => item.disabled,
225
+ * });
226
+ *
227
+ * return (
228
+ * <ul
229
+ * role="listbox"
230
+ * tabIndex={0}
231
+ * aria-activedescendant={virtualFocus.containerProps['aria-activedescendant']()}
232
+ * onKeyDown={virtualFocus.containerProps.onKeyDown}
233
+ * >
234
+ * <For each={props.items}>
235
+ * {(item) => (
236
+ * <li
237
+ * {...virtualFocus.getItemProps(item.id)}
238
+ * role="option"
239
+ * aria-selected={virtualFocus.isFocused(item.id)}
240
+ * >
241
+ * {item.name}
242
+ * </li>
243
+ * )}
244
+ * </For>
245
+ * </ul>
246
+ * );
247
+ * }
248
+ * ```
249
+ *
250
+ * @example
251
+ * ```tsx
252
+ * // With controlled focus
253
+ * function ControlledListbox() {
254
+ * const [focusedKey, setFocusedKey] = createSignal<string | null>(null);
255
+ *
256
+ * const virtualFocus = createVirtualFocus({
257
+ * items: () => items,
258
+ * getKey: (item) => item.id,
259
+ * focusedKey: focusedKey,
260
+ * onFocusChange: setFocusedKey,
261
+ * });
262
+ *
263
+ * return <ul>...</ul>;
264
+ * }
265
+ * ```
198
266
  */
199
- function isScrollable(node, checkForOverflow) {
200
- if (!node) return false;
201
- const style = window.getComputedStyle(node);
202
- const scrollable = /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);
203
- if (scrollable && checkForOverflow) return node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;
204
- return scrollable;
267
+ function createVirtualFocus(options) {
268
+ const { items, getKey, isDisabled = () => false, defaultFocusedKey, focusedKey: controlledFocusedKey, onFocusChange, wrap = true, skipDisabled = true, orientation = "vertical" } = options;
269
+ if (isServer) {
270
+ const emptyAccessor = () => null;
271
+ return {
272
+ focusedKey: emptyAccessor,
273
+ focusedItem: emptyAccessor,
274
+ setFocusedKey: () => {},
275
+ focusNext: () => {},
276
+ focusPrevious: () => {},
277
+ focusFirst: () => {},
278
+ focusLast: () => {},
279
+ focusPageDown: () => {},
280
+ focusPageUp: () => {},
281
+ isFocused: () => false,
282
+ containerProps: {
283
+ "aria-activedescendant": () => void 0,
284
+ onKeyDown: () => {}
285
+ },
286
+ getItemProps: (key) => ({ id: `item-${key}` })
287
+ };
288
+ }
289
+ let liveKey = defaultFocusedKey ?? null;
290
+ const [internalKey, setInternalKeySignal] = createSignal(liveKey, { ownedWrite: true });
291
+ const internalKeyRead = (() => {
292
+ if (getObserver()) internalKey();
293
+ return liveKey;
294
+ });
295
+ const setInternalKey = (key) => {
296
+ liveKey = key;
297
+ setInternalKeySignal(key);
298
+ };
299
+ const focusedKey = controlledFocusedKey ?? internalKeyRead;
300
+ const setFocusedKey = (key) => {
301
+ if (controlledFocusedKey) onFocusChange?.(key);
302
+ else {
303
+ setInternalKey(key);
304
+ onFocusChange?.(key);
305
+ }
306
+ };
307
+ const focusedItem = () => {
308
+ const key = focusedKey();
309
+ if (!key) return null;
310
+ return items().find((item) => getKey(item) === key) ?? null;
311
+ };
312
+ const getValidItems = () => {
313
+ if (!skipDisabled) return items();
314
+ return items().filter((item) => !isDisabled(item));
315
+ };
316
+ const getKeyIndex = (key) => {
317
+ if (!key) return -1;
318
+ return getValidItems().findIndex((item) => getKey(item) === key);
319
+ };
320
+ const focusByIndex = (index) => {
321
+ const validItems = getValidItems();
322
+ if (validItems.length === 0) return;
323
+ let targetIndex = index;
324
+ if (wrap) targetIndex = (index % validItems.length + validItems.length) % validItems.length;
325
+ else targetIndex = Math.max(0, Math.min(index, validItems.length - 1));
326
+ const item = validItems[targetIndex];
327
+ if (item) setFocusedKey(getKey(item));
328
+ };
329
+ const focusNext = () => {
330
+ const currentIndex = getKeyIndex(focusedKey());
331
+ focusByIndex(currentIndex + 1);
332
+ };
333
+ const focusPrevious = () => {
334
+ const currentIndex = getKeyIndex(focusedKey());
335
+ if (currentIndex === -1) focusByIndex(getValidItems().length - 1);
336
+ else focusByIndex(currentIndex - 1);
337
+ };
338
+ const focusFirst = () => {
339
+ focusByIndex(0);
340
+ };
341
+ const focusLast = () => {
342
+ focusByIndex(getValidItems().length - 1);
343
+ };
344
+ const focusPageDown = (pageSize = DEFAULT_PAGE_SIZE) => {
345
+ const currentIndex = getKeyIndex(focusedKey());
346
+ focusByIndex(currentIndex + pageSize);
347
+ };
348
+ const focusPageUp = (pageSize = DEFAULT_PAGE_SIZE) => {
349
+ const currentIndex = getKeyIndex(focusedKey());
350
+ if (currentIndex === -1) focusByIndex(getValidItems().length - 1);
351
+ else focusByIndex(currentIndex - pageSize);
352
+ };
353
+ const isFocused = (key) => {
354
+ return focusedKey() === key;
355
+ };
356
+ const onKeyDown = (e) => {
357
+ const isVertical = orientation === "vertical" || orientation === "both";
358
+ const isHorizontal = orientation === "horizontal" || orientation === "both";
359
+ switch (e.key) {
360
+ case "ArrowDown":
361
+ if (isVertical) {
362
+ e.preventDefault();
363
+ focusNext();
364
+ }
365
+ break;
366
+ case "ArrowUp":
367
+ if (isVertical) {
368
+ e.preventDefault();
369
+ focusPrevious();
370
+ }
371
+ break;
372
+ case "ArrowRight":
373
+ if (isHorizontal) {
374
+ e.preventDefault();
375
+ focusNext();
376
+ }
377
+ break;
378
+ case "ArrowLeft":
379
+ if (isHorizontal) {
380
+ e.preventDefault();
381
+ focusPrevious();
382
+ }
383
+ break;
384
+ case "Home":
385
+ e.preventDefault();
386
+ focusFirst();
387
+ break;
388
+ case "End":
389
+ e.preventDefault();
390
+ focusLast();
391
+ break;
392
+ case "PageDown":
393
+ e.preventDefault();
394
+ focusPageDown();
395
+ break;
396
+ case "PageUp":
397
+ e.preventDefault();
398
+ focusPageUp();
399
+ }
400
+ };
401
+ const containerProps = {
402
+ "aria-activedescendant": () => {
403
+ const key = focusedKey();
404
+ return key ? `item-${key}` : void 0;
405
+ },
406
+ onKeyDown
407
+ };
408
+ const getItemProps = (key) => ({ id: `item-${key}` });
409
+ return {
410
+ focusedKey,
411
+ focusedItem,
412
+ setFocusedKey,
413
+ focusNext,
414
+ focusPrevious,
415
+ focusFirst,
416
+ focusLast,
417
+ focusPageDown,
418
+ focusPageUp,
419
+ isFocused,
420
+ containerProps,
421
+ getItemProps
422
+ };
205
423
  }
424
+ //#endregion
425
+ //#region src/focus/createAutoFocus.ts
206
426
  /**
207
- * Gets the nearest scrollable parent element.
208
- * @param node - The starting element
209
- * @param checkForOverflow - If true, only return parents that actually overflow
427
+ * Auto-focus management for solidaria
428
+ *
429
+ * Provides priority-based auto-focus with deferred execution
430
+ * and conflict resolution for multiple auto-focus elements.
431
+ *
432
+ * This is a local Solid helper. The pinned React Aria revision has no
433
+ * priority-based auto-focus queue API.
210
434
  */
211
- function getScrollParent(node, checkForOverflow) {
212
- let scrollableNode = node;
213
- if (isScrollable(scrollableNode, checkForOverflow)) scrollableNode = scrollableNode.parentElement;
214
- while (scrollableNode && !isScrollable(scrollableNode, checkForOverflow)) scrollableNode = scrollableNode.parentElement;
215
- return scrollableNode || document.scrollingElement || document.documentElement;
216
- }
435
+ let autoFocusQueue = [];
436
+ const pendingAutoFocus = /* @__PURE__ */ new Set();
437
+ let processingTimeout = null;
217
438
  /**
218
- * Gets every scrollable ancestor of an element, from the nearest up to (and
219
- * including) the document scrolling element.
220
- * @param node - The starting element
221
- * @param checkForOverflow - If true, only include parents that actually overflow
439
+ * Focus one owned request. Virtual modality defers inside `focusSafely` through
440
+ * `runAfterTransition`, and that callback cannot see this queue. Keep ownership
441
+ * until the frame so cancel, disposal, and clear still suppress focus and
442
+ * `onFocus`. The active-element guard matches `focusSafely`.
222
443
  */
223
- function getScrollParents(node, checkForOverflow) {
224
- const parentElements = [];
225
- const root = document.scrollingElement || document.documentElement;
226
- let current = node;
227
- while (current) {
228
- if (isScrollable(current, checkForOverflow)) parentElements.push(current);
229
- if (current === root) break;
230
- current = current.parentElement;
444
+ function focusOwned(item, element) {
445
+ if (!pendingAutoFocus.has(item)) return;
446
+ if (item.preventScroll && getInteractionModality() === "virtual") {
447
+ const ownerDocument = getOwnerDocument(element);
448
+ const lastFocusedElement = getActiveElement$1(ownerDocument);
449
+ runAfterTransition(() => {
450
+ if (!pendingAutoFocus.has(item)) return;
451
+ const activeElement = getActiveElement$1(ownerDocument);
452
+ const shouldFocus = (activeElement === lastFocusedElement || activeElement === ownerDocument.body) && element.isConnected;
453
+ removeRequest(item);
454
+ if (!shouldFocus) return;
455
+ focusWithoutScrolling(element);
456
+ item.onFocus?.(element);
457
+ });
458
+ return;
231
459
  }
232
- return parentElements;
460
+ removeRequest(item);
461
+ if (item.preventScroll) focusSafely(element);
462
+ else element.focus();
463
+ item.onFocus?.(element);
233
464
  }
234
465
  /**
235
- * Checks if an element will open a virtual keyboard when focused.
236
- * Used for iOS Safari scroll handling.
466
+ * Process the auto-focus queue and focus the highest priority element.
237
467
  */
238
- function willOpenKeyboard(target) {
239
- if (!target) return false;
240
- const tagName = target.tagName.toLowerCase();
241
- if (tagName === "input") {
242
- const type = target.type.toLowerCase();
243
- return [
244
- "text",
245
- "search",
246
- "url",
247
- "tel",
248
- "email",
249
- "password",
250
- "date",
251
- "month",
252
- "week",
253
- "time",
254
- "datetime-local",
255
- "number"
256
- ].includes(type);
468
+ function processAutoFocusQueue() {
469
+ if (processingTimeout !== null) {
470
+ clearTimeout(processingTimeout);
471
+ processingTimeout = null;
257
472
  }
258
- if (tagName === "textarea") return true;
259
- if (target.hasAttribute("contenteditable") && target.getAttribute("contenteditable") !== "false") return true;
260
- return false;
261
- }
262
- /**
263
- * Returns the deepest active element, descending through open shadow roots.
264
- * Mirrors @react-aria/utils' `getActiveElement`.
265
- */
266
- function getActiveElement(doc = document) {
267
- let activeElement = doc.activeElement;
268
- while (activeElement?.shadowRoot?.activeElement) activeElement = activeElement.shadowRoot.activeElement;
269
- return activeElement;
270
- }
271
- /**
272
- * Whether the (deepest) active element is `element` or is contained within it.
273
- * Mirrors @react-aria/utils' `isFocusWithin`.
274
- */
275
- function isFocusWithin(element) {
276
- const activeElement = getActiveElement(getOwnerDocument(element));
277
- return !!activeElement && nodeContains(element, activeElement);
278
- }
279
- /**
280
- * Creates a `TreeWalker` that visits the focusable (or, when `tabbable`, the
281
- * tabbable) descendants of `root`, skipping invisible and inert elements.
282
- * Mirrors @react-aria/focus's `getFocusableTreeWalker`, minus the focus-scope
283
- * containment filter (we don't model nested scopes here). Used to treat a
284
- * selectable collection as a single tab stop.
285
- */
286
- function getFocusableTreeWalker(root, opts) {
287
- const accept = (node) => (opts?.tabbable ? isTabbable(node) : isFocusable(node)) && (!opts?.accept || opts.accept(node));
288
- const walker = getOwnerDocument(root).createTreeWalker(root, NodeFilter.SHOW_ELEMENT, { acceptNode(node) {
289
- if (opts?.from?.contains(node)) return NodeFilter.FILTER_REJECT;
290
- if (accept(node)) return NodeFilter.FILTER_ACCEPT;
291
- return NodeFilter.FILTER_SKIP;
292
- } });
293
- if (opts?.from) walker.currentNode = opts.from;
294
- return walker;
295
- }
296
- //#endregion
297
- //#region src/utils/focus.ts
298
- /**
299
- * Focus management utilities.
300
- * Based on @react-aria/utils focus utilities.
301
- */
302
- /**
303
- * Focuses an element without scrolling the page.
304
- * Uses preventScroll option with fallback for older browsers.
305
- */
306
- function focusWithoutScrolling(element) {
307
- if (!element) return;
473
+ if (autoFocusQueue.length === 0) return;
474
+ autoFocusQueue.sort((a, b) => b.priority - a.priority);
475
+ const winner = autoFocusQueue[0];
476
+ const losers = autoFocusQueue.slice(1);
477
+ autoFocusQueue = [];
308
478
  try {
309
- element.focus({ preventScroll: true });
310
- } catch {
311
- const scrollPositions = getScrollableAncestors(element).map((el) => ({
312
- element: el,
313
- scrollTop: el.scrollTop,
314
- scrollLeft: el.scrollLeft
315
- }));
316
- element.focus();
317
- for (const { element: el, scrollTop, scrollLeft } of scrollPositions) {
318
- el.scrollTop = scrollTop;
319
- el.scrollLeft = scrollLeft;
479
+ for (const loser of losers) {
480
+ if (!pendingAutoFocus.has(loser)) continue;
481
+ removeRequest(loser);
482
+ loser.onSkip?.();
483
+ }
484
+ if (!pendingAutoFocus.has(winner)) return;
485
+ const element = winner.ref();
486
+ if (!pendingAutoFocus.has(winner)) return;
487
+ if (!element) {
488
+ removeRequest(winner);
489
+ winner.onSkip?.();
490
+ return;
320
491
  }
492
+ const activeElement = document.activeElement;
493
+ if (!(winner.force || !activeElement || activeElement === document.body || activeElement === document.documentElement)) {
494
+ removeRequest(winner);
495
+ winner.onSkip?.();
496
+ return;
497
+ }
498
+ if (winner.delay > 0) winner.timeout = setTimeout(() => {
499
+ if (!pendingAutoFocus.has(winner)) return;
500
+ const el = winner.ref();
501
+ if (!pendingAutoFocus.has(winner)) return;
502
+ if (!el || !document.body.contains(el)) {
503
+ removeRequest(winner);
504
+ return;
505
+ }
506
+ winner.timeout = void 0;
507
+ focusOwned(winner, el);
508
+ }, winner.delay);
509
+ else focusOwned(winner, element);
510
+ } catch (error) {
511
+ for (const item of [winner, ...losers]) removeRequest(item);
512
+ throw error;
321
513
  }
322
514
  }
323
515
  /**
324
- * Gets all scrollable ancestors of an element.
516
+ * Queue an element for auto-focus.
325
517
  */
326
- function getScrollableAncestors(element) {
327
- const ancestors = [];
328
- let parent = element.parentElement;
329
- while (parent) {
330
- const style = getComputedStyle(parent);
331
- const overflowY = style.overflowY;
332
- const overflowX = style.overflowX;
333
- if (overflowY === "auto" || overflowY === "scroll" || overflowX === "auto" || overflowX === "scroll") ancestors.push(parent);
334
- parent = parent.parentElement;
518
+ function queueAutoFocus(item) {
519
+ pendingAutoFocus.add(item);
520
+ autoFocusQueue.push(item);
521
+ if (processingTimeout === null) processingTimeout = setTimeout(processAutoFocusQueue, 0);
522
+ }
523
+ /**
524
+ * Cancel this request in the queue, processing batch, or delayed phase.
525
+ */
526
+ function removeRequest(item) {
527
+ pendingAutoFocus.delete(item);
528
+ autoFocusQueue = autoFocusQueue.filter((queued) => queued !== item);
529
+ if (item.timeout !== void 0) {
530
+ clearTimeout(item.timeout);
531
+ item.timeout = void 0;
335
532
  }
336
- const doc = getOwnerDocument(element);
337
- ancestors.push(doc.documentElement);
338
- return ancestors;
339
533
  }
340
534
  /**
341
- * Prevents focus from moving to a new element temporarily.
342
- * Used when clicking on a button that shouldn't steal focus.
535
+ * Creates auto-focus behavior for an element.
536
+ *
537
+ * This hook registers the element for auto-focus when mounted. If multiple
538
+ * elements request auto-focus, the one with the highest priority wins.
539
+ *
540
+ * @param ref - Accessor for the element to focus
541
+ * @param options - Auto-focus options
542
+ *
543
+ * @example
544
+ * ```tsx
545
+ * function Dialog(props) {
546
+ * let contentRef: HTMLDivElement | undefined;
547
+ *
548
+ * createAutoFocus(() => contentRef, {
549
+ * priority: 10, // High priority for dialogs
550
+ * onFocus: () => console.log('Dialog focused'),
551
+ * });
552
+ *
553
+ * return (
554
+ * <div ref={contentRef} tabIndex={-1}>
555
+ * {props.children}
556
+ * </div>
557
+ * );
558
+ * }
559
+ * ```
560
+ *
561
+ * @example
562
+ * ```tsx
563
+ * // With delay for animations
564
+ * function AnimatedPanel() {
565
+ * let panelRef: HTMLDivElement | undefined;
566
+ *
567
+ * createAutoFocus(() => panelRef, {
568
+ * delay: 300, // Wait for animation
569
+ * });
570
+ *
571
+ * return <div ref={panelRef} class="animated-panel">...</div>;
572
+ * }
573
+ * ```
574
+ *
575
+ * @example
576
+ * ```tsx
577
+ * // Conditional auto-focus
578
+ * function Input(props) {
579
+ * let inputRef: HTMLInputElement | undefined;
580
+ *
581
+ * createAutoFocus(() => inputRef, {
582
+ * isEnabled: props.autoFocus,
583
+ * });
584
+ *
585
+ * return <input ref={inputRef} />;
586
+ * }
587
+ * ```
343
588
  */
344
- function preventFocus(target) {
345
- while (target && !isFocusable(target)) target = target.parentElement;
346
- const ownerWindow = getOwnerWindow(target);
347
- const activeElement = ownerWindow.document.activeElement;
348
- if (!activeElement || activeElement === target) return;
349
- let isRefocusing = false;
350
- const onBlur = (event) => {
351
- if (getEventTarget(event) === activeElement || isRefocusing) event.stopImmediatePropagation();
589
+ function createAutoFocus(ref, options = {}) {
590
+ const { isEnabled = true, priority = 0, delay = 0, force = false, preventScroll = true, onFocus, onSkip } = options;
591
+ let canceled = false;
592
+ const request = {
593
+ ref,
594
+ priority,
595
+ delay,
596
+ force,
597
+ preventScroll,
598
+ onFocus,
599
+ onSkip
352
600
  };
353
- const onFocusOut = (event) => {
354
- if (getEventTarget(event) === activeElement || isRefocusing) {
355
- event.stopImmediatePropagation();
356
- if (!target && !isRefocusing) {
357
- isRefocusing = true;
358
- focusWithoutScrolling(activeElement);
359
- cleanup();
360
- }
361
- }
601
+ onSettled(() => {
602
+ if (!isEnabled || canceled) return;
603
+ queueAutoFocus(request);
604
+ });
605
+ if (isServer) return {
606
+ focus: () => {},
607
+ cancel: () => {}
362
608
  };
363
- const onFocus = (event) => {
364
- if (getEventTarget(event) === target || isRefocusing) event.stopImmediatePropagation();
609
+ onOwnedCleanup(() => {
610
+ canceled = true;
611
+ removeRequest(request);
612
+ });
613
+ const focus = () => {
614
+ if (canceled) return;
615
+ const element = ref();
616
+ if (!element) return;
617
+ if (preventScroll) focusSafely(element);
618
+ else element.focus();
619
+ onFocus?.(element);
365
620
  };
366
- const onFocusIn = (event) => {
367
- if (getEventTarget(event) === target || isRefocusing) {
368
- event.stopImmediatePropagation();
369
- if (!isRefocusing) {
370
- isRefocusing = true;
371
- focusWithoutScrolling(activeElement);
372
- cleanup();
373
- }
374
- }
621
+ const cancel = () => {
622
+ canceled = true;
623
+ removeRequest(request);
375
624
  };
376
- ownerWindow.addEventListener("blur", onBlur, true);
377
- ownerWindow.addEventListener("focusout", onFocusOut, true);
378
- ownerWindow.addEventListener("focusin", onFocusIn, true);
379
- ownerWindow.addEventListener("focus", onFocus, true);
380
- const raf = ownerWindow.requestAnimationFrame(cleanup);
381
- function cleanup() {
382
- ownerWindow.cancelAnimationFrame(raf);
383
- ownerWindow.removeEventListener("blur", onBlur, true);
384
- ownerWindow.removeEventListener("focusout", onFocusOut, true);
385
- ownerWindow.removeEventListener("focusin", onFocusIn, true);
386
- ownerWindow.removeEventListener("focus", onFocus, true);
387
- isRefocusing = false;
625
+ return {
626
+ focus,
627
+ cancel
628
+ };
629
+ }
630
+ /**
631
+ * Clears all pending auto-focus requests.
632
+ * Useful for testing or when navigating away.
633
+ */
634
+ function clearAutoFocusQueue() {
635
+ if (processingTimeout !== null) {
636
+ clearTimeout(processingTimeout);
637
+ processingTimeout = null;
388
638
  }
389
- return cleanup;
639
+ for (const item of pendingAutoFocus) removeRequest(item);
390
640
  }
391
641
  /**
392
- * Safely focuses an element, alias for focusWithoutScrolling.
393
- * This matches the react-aria focusSafely function name.
642
+ * Gets the current auto-focus queue length.
643
+ * Useful for debugging.
394
644
  */
395
- const focusSafely = focusWithoutScrolling;
645
+ function getAutoFocusQueueLength() {
646
+ return autoFocusQueue.length;
647
+ }
396
648
  //#endregion
397
- export { willOpenKeyboard as C, shouldPreventDefaultUp as S, isValidInputKey as _, getEventTarget as a, openLink as b, getOwnerWindow as c, isElementVisible as d, isFocusWithin as f, isTabbable as g, isScrollable as h, getActiveElement as i, getScrollParent as l, isHTMLAnchorLink as m, focusWithoutScrolling as n, getFocusableTreeWalker as o, isFocusable as p, preventFocus as r, getOwnerDocument as s, focusSafely as t, getScrollParents as u, isValidKeyboardEvent as v, shouldPreventDefaultKeyboard as x, nodeContains as y };
649
+ export { clearFocusStack as a, popFocusStack as c, createVirtualFocus as i, pushFocusStack as l, createAutoFocus as n, createFocusRestore as o, getAutoFocusQueueLength as r, getFocusStackLength as s, clearAutoFocusQueue as t };
398
650
 
399
651
  //# sourceMappingURL=focus.jsx.map