@proyecto-viviana/solidaria 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/dist/_chunk/DragManager.js +627 -0
  2. package/dist/_chunk/DragManager.js.map +1 -0
  3. package/dist/_chunk/DragManager.jsx +627 -0
  4. package/dist/_chunk/DragManager.jsx.map +1 -0
  5. package/dist/_chunk/FocusScope.js +400 -0
  6. package/dist/_chunk/FocusScope.js.map +1 -0
  7. package/dist/_chunk/FocusScope.jsx +375 -0
  8. package/dist/_chunk/FocusScope.jsx.map +1 -0
  9. package/dist/_chunk/actiongroup.js +141 -0
  10. package/dist/_chunk/actiongroup.js.map +1 -0
  11. package/dist/_chunk/actiongroup.jsx +141 -0
  12. package/dist/_chunk/actiongroup.jsx.map +1 -0
  13. package/dist/_chunk/announce.js +207 -0
  14. package/dist/_chunk/announce.js.map +1 -0
  15. package/dist/_chunk/announce.jsx +207 -0
  16. package/dist/_chunk/announce.jsx.map +1 -0
  17. package/dist/_chunk/ariaHideOutside.js +122 -0
  18. package/dist/_chunk/ariaHideOutside.js.map +1 -0
  19. package/dist/_chunk/ariaHideOutside.jsx +122 -0
  20. package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
  21. package/dist/_chunk/autocomplete.js +244 -0
  22. package/dist/_chunk/autocomplete.js.map +1 -0
  23. package/dist/_chunk/autocomplete.jsx +244 -0
  24. package/dist/_chunk/autocomplete.jsx.map +1 -0
  25. package/dist/_chunk/breadcrumbs.js +121 -0
  26. package/dist/_chunk/breadcrumbs.js.map +1 -0
  27. package/dist/_chunk/breadcrumbs.jsx +121 -0
  28. package/dist/_chunk/breadcrumbs.jsx.map +1 -0
  29. package/dist/_chunk/button.js +275 -0
  30. package/dist/_chunk/button.js.map +1 -0
  31. package/dist/_chunk/button.jsx +275 -0
  32. package/dist/_chunk/button.jsx.map +1 -0
  33. package/dist/_chunk/calendar.js +1037 -0
  34. package/dist/_chunk/calendar.js.map +1 -0
  35. package/dist/_chunk/calendar.jsx +1037 -0
  36. package/dist/_chunk/calendar.jsx.map +1 -0
  37. package/dist/_chunk/checkbox.js +235 -0
  38. package/dist/_chunk/checkbox.js.map +1 -0
  39. package/dist/_chunk/checkbox.jsx +235 -0
  40. package/dist/_chunk/checkbox.jsx.map +1 -0
  41. package/dist/_chunk/color.js +1458 -0
  42. package/dist/_chunk/color.js.map +1 -0
  43. package/dist/_chunk/color.jsx +1458 -0
  44. package/dist/_chunk/color.jsx.map +1 -0
  45. package/dist/_chunk/combobox.js +1062 -0
  46. package/dist/_chunk/combobox.js.map +1 -0
  47. package/dist/_chunk/combobox.jsx +1062 -0
  48. package/dist/_chunk/combobox.jsx.map +1 -0
  49. package/dist/_chunk/constants.js +19 -0
  50. package/dist/_chunk/constants.js.map +1 -0
  51. package/dist/_chunk/constants.jsx +19 -0
  52. package/dist/_chunk/constants.jsx.map +1 -0
  53. package/dist/_chunk/createCollator.js +61 -0
  54. package/dist/_chunk/createCollator.js.map +1 -0
  55. package/dist/_chunk/createCollator.jsx +61 -0
  56. package/dist/_chunk/createCollator.jsx.map +1 -0
  57. package/dist/_chunk/createCollectionRowInteraction.js +133 -0
  58. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
  59. package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
  60. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
  61. package/dist/_chunk/createField.js +55 -0
  62. package/dist/_chunk/createField.js.map +1 -0
  63. package/dist/_chunk/createField.jsx +55 -0
  64. package/dist/_chunk/createField.jsx.map +1 -0
  65. package/dist/_chunk/createFocus.js +105 -0
  66. package/dist/_chunk/createFocus.js.map +1 -0
  67. package/dist/_chunk/createFocus.jsx +105 -0
  68. package/dist/_chunk/createFocus.jsx.map +1 -0
  69. package/dist/_chunk/createFocusRing.js +54 -0
  70. package/dist/_chunk/createFocusRing.js.map +1 -0
  71. package/dist/_chunk/createFocusRing.jsx +54 -0
  72. package/dist/_chunk/createFocusRing.jsx.map +1 -0
  73. package/dist/_chunk/createFocusWithin.js +120 -0
  74. package/dist/_chunk/createFocusWithin.js.map +1 -0
  75. package/dist/_chunk/createFocusWithin.jsx +120 -0
  76. package/dist/_chunk/createFocusWithin.jsx.map +1 -0
  77. package/dist/_chunk/createFocusable.js +131 -0
  78. package/dist/_chunk/createFocusable.js.map +1 -0
  79. package/dist/_chunk/createFocusable.jsx +131 -0
  80. package/dist/_chunk/createFocusable.jsx.map +1 -0
  81. package/dist/_chunk/createFormReset.js +39 -0
  82. package/dist/_chunk/createFormReset.js.map +1 -0
  83. package/dist/_chunk/createFormReset.jsx +39 -0
  84. package/dist/_chunk/createFormReset.jsx.map +1 -0
  85. package/dist/_chunk/createFormValidation.js +135 -0
  86. package/dist/_chunk/createFormValidation.js.map +1 -0
  87. package/dist/_chunk/createFormValidation.jsx +135 -0
  88. package/dist/_chunk/createFormValidation.jsx.map +1 -0
  89. package/dist/_chunk/createHover.js +131 -0
  90. package/dist/_chunk/createHover.js.map +1 -0
  91. package/dist/_chunk/createHover.jsx +131 -0
  92. package/dist/_chunk/createHover.jsx.map +1 -0
  93. package/dist/_chunk/createInteractionModality.js +268 -0
  94. package/dist/_chunk/createInteractionModality.js.map +1 -0
  95. package/dist/_chunk/createInteractionModality.jsx +268 -0
  96. package/dist/_chunk/createInteractionModality.jsx.map +1 -0
  97. package/dist/_chunk/createLabel.js +47 -0
  98. package/dist/_chunk/createLabel.js.map +1 -0
  99. package/dist/_chunk/createLabel.jsx +47 -0
  100. package/dist/_chunk/createLabel.jsx.map +1 -0
  101. package/dist/_chunk/createLabels.js +32 -0
  102. package/dist/_chunk/createLabels.js.map +1 -0
  103. package/dist/_chunk/createLabels.jsx +32 -0
  104. package/dist/_chunk/createLabels.jsx.map +1 -0
  105. package/dist/_chunk/createLandmark.js +198 -0
  106. package/dist/_chunk/createLandmark.js.map +1 -0
  107. package/dist/_chunk/createLandmark.jsx +198 -0
  108. package/dist/_chunk/createLandmark.jsx.map +1 -0
  109. package/dist/_chunk/createOverlay.js +327 -0
  110. package/dist/_chunk/createOverlay.js.map +1 -0
  111. package/dist/_chunk/createOverlay.jsx +327 -0
  112. package/dist/_chunk/createOverlay.jsx.map +1 -0
  113. package/dist/_chunk/createPress.js +526 -0
  114. package/dist/_chunk/createPress.js.map +1 -0
  115. package/dist/_chunk/createPress.jsx +526 -0
  116. package/dist/_chunk/createPress.jsx.map +1 -0
  117. package/dist/_chunk/createProgressBar.js +82 -0
  118. package/dist/_chunk/createProgressBar.js.map +1 -0
  119. package/dist/_chunk/createProgressBar.jsx +82 -0
  120. package/dist/_chunk/createProgressBar.jsx.map +1 -0
  121. package/dist/_chunk/createSelectableItem.js +302 -0
  122. package/dist/_chunk/createSelectableItem.js.map +1 -0
  123. package/dist/_chunk/createSelectableItem.jsx +302 -0
  124. package/dist/_chunk/createSelectableItem.jsx.map +1 -0
  125. package/dist/_chunk/createStringFormatter.js +61 -0
  126. package/dist/_chunk/createStringFormatter.js.map +1 -0
  127. package/dist/_chunk/createStringFormatter.jsx +61 -0
  128. package/dist/_chunk/createStringFormatter.jsx.map +1 -0
  129. package/dist/_chunk/createToggle.js +159 -0
  130. package/dist/_chunk/createToggle.js.map +1 -0
  131. package/dist/_chunk/createToggle.jsx +159 -0
  132. package/dist/_chunk/createToggle.jsx.map +1 -0
  133. package/dist/_chunk/createTypeSelect.js +125 -0
  134. package/dist/_chunk/createTypeSelect.js.map +1 -0
  135. package/dist/_chunk/createTypeSelect.jsx +125 -0
  136. package/dist/_chunk/createTypeSelect.jsx.map +1 -0
  137. package/dist/_chunk/datepicker.js +1706 -0
  138. package/dist/_chunk/datepicker.js.map +1 -0
  139. package/dist/_chunk/datepicker.jsx +1706 -0
  140. package/dist/_chunk/datepicker.jsx.map +1 -0
  141. package/dist/_chunk/dialog.js +62 -0
  142. package/dist/_chunk/dialog.js.map +1 -0
  143. package/dist/_chunk/dialog.jsx +62 -0
  144. package/dist/_chunk/dialog.jsx.map +1 -0
  145. package/dist/_chunk/disclosure.js +185 -0
  146. package/dist/_chunk/disclosure.js.map +1 -0
  147. package/dist/_chunk/disclosure.jsx +185 -0
  148. package/dist/_chunk/disclosure.jsx.map +1 -0
  149. package/dist/_chunk/dnd.js +2395 -0
  150. package/dist/_chunk/dnd.js.map +1 -0
  151. package/dist/_chunk/dnd.jsx +2395 -0
  152. package/dist/_chunk/dnd.jsx.map +1 -0
  153. package/dist/_chunk/env.js +87 -0
  154. package/dist/_chunk/env.js.map +1 -0
  155. package/dist/_chunk/env.jsx +87 -0
  156. package/dist/_chunk/env.jsx.map +1 -0
  157. package/dist/_chunk/filterDOMProps.js +82 -0
  158. package/dist/_chunk/filterDOMProps.js.map +1 -0
  159. package/dist/_chunk/filterDOMProps.jsx +82 -0
  160. package/dist/_chunk/filterDOMProps.jsx.map +1 -0
  161. package/dist/_chunk/focus.js +399 -0
  162. package/dist/_chunk/focus.js.map +1 -0
  163. package/dist/_chunk/focus.jsx +399 -0
  164. package/dist/_chunk/focus.jsx.map +1 -0
  165. package/dist/_chunk/focus2.js +631 -0
  166. package/dist/_chunk/focus2.js.map +1 -0
  167. package/dist/_chunk/focus2.jsx +631 -0
  168. package/dist/_chunk/focus2.jsx.map +1 -0
  169. package/dist/_chunk/grid.js +623 -0
  170. package/dist/_chunk/grid.js.map +1 -0
  171. package/dist/_chunk/grid.jsx +623 -0
  172. package/dist/_chunk/grid.jsx.map +1 -0
  173. package/dist/_chunk/gridlist.js +369 -0
  174. package/dist/_chunk/gridlist.js.map +1 -0
  175. package/dist/_chunk/gridlist.jsx +369 -0
  176. package/dist/_chunk/gridlist.jsx.map +1 -0
  177. package/dist/_chunk/i18n.js +199 -0
  178. package/dist/_chunk/i18n.js.map +1 -0
  179. package/dist/_chunk/i18n.jsx +199 -0
  180. package/dist/_chunk/i18n.jsx.map +1 -0
  181. package/dist/_chunk/interactions.js +331 -0
  182. package/dist/_chunk/interactions.js.map +1 -0
  183. package/dist/_chunk/interactions.jsx +325 -0
  184. package/dist/_chunk/interactions.jsx.map +1 -0
  185. package/dist/_chunk/link.js +97 -0
  186. package/dist/_chunk/link.js.map +1 -0
  187. package/dist/_chunk/link.jsx +97 -0
  188. package/dist/_chunk/link.jsx.map +1 -0
  189. package/dist/_chunk/listbox.js +356 -0
  190. package/dist/_chunk/listbox.js.map +1 -0
  191. package/dist/_chunk/listbox.jsx +356 -0
  192. package/dist/_chunk/listbox.jsx.map +1 -0
  193. package/dist/_chunk/locale.js +173 -0
  194. package/dist/_chunk/locale.js.map +1 -0
  195. package/dist/_chunk/locale.jsx +167 -0
  196. package/dist/_chunk/locale.jsx.map +1 -0
  197. package/dist/_chunk/menu.js +519 -0
  198. package/dist/_chunk/menu.js.map +1 -0
  199. package/dist/_chunk/menu.jsx +519 -0
  200. package/dist/_chunk/menu.jsx.map +1 -0
  201. package/dist/_chunk/meter.js +33 -0
  202. package/dist/_chunk/meter.js.map +1 -0
  203. package/dist/_chunk/meter.jsx +33 -0
  204. package/dist/_chunk/meter.jsx.map +1 -0
  205. package/dist/_chunk/numberfield.js +259 -0
  206. package/dist/_chunk/numberfield.js.map +1 -0
  207. package/dist/_chunk/numberfield.jsx +259 -0
  208. package/dist/_chunk/numberfield.jsx.map +1 -0
  209. package/dist/_chunk/overlays.js +186 -0
  210. package/dist/_chunk/overlays.js.map +1 -0
  211. package/dist/_chunk/overlays.jsx +162 -0
  212. package/dist/_chunk/overlays.jsx.map +1 -0
  213. package/dist/_chunk/popover.js +574 -0
  214. package/dist/_chunk/popover.js.map +1 -0
  215. package/dist/_chunk/popover.jsx +574 -0
  216. package/dist/_chunk/popover.jsx.map +1 -0
  217. package/dist/_chunk/radio.js +320 -0
  218. package/dist/_chunk/radio.js.map +1 -0
  219. package/dist/_chunk/radio.jsx +320 -0
  220. package/dist/_chunk/radio.jsx.map +1 -0
  221. package/dist/_chunk/reactivity.js +21 -0
  222. package/dist/_chunk/reactivity.js.map +1 -0
  223. package/dist/_chunk/reactivity.jsx +21 -0
  224. package/dist/_chunk/reactivity.jsx.map +1 -0
  225. package/dist/_chunk/searchfield.js +210 -0
  226. package/dist/_chunk/searchfield.js.map +1 -0
  227. package/dist/_chunk/searchfield.jsx +210 -0
  228. package/dist/_chunk/searchfield.jsx.map +1 -0
  229. package/dist/_chunk/select.js +406 -0
  230. package/dist/_chunk/select.js.map +1 -0
  231. package/dist/_chunk/select.jsx +397 -0
  232. package/dist/_chunk/select.jsx.map +1 -0
  233. package/dist/_chunk/selection.js +666 -0
  234. package/dist/_chunk/selection.js.map +1 -0
  235. package/dist/_chunk/selection.jsx +666 -0
  236. package/dist/_chunk/selection.jsx.map +1 -0
  237. package/dist/_chunk/separator.js +29 -0
  238. package/dist/_chunk/separator.js.map +1 -0
  239. package/dist/_chunk/separator.jsx +29 -0
  240. package/dist/_chunk/separator.jsx.map +1 -0
  241. package/dist/_chunk/slider.js +256 -0
  242. package/dist/_chunk/slider.js.map +1 -0
  243. package/dist/_chunk/slider.jsx +256 -0
  244. package/dist/_chunk/slider.jsx.map +1 -0
  245. package/dist/_chunk/spinbutton.js +153 -0
  246. package/dist/_chunk/spinbutton.js.map +1 -0
  247. package/dist/_chunk/spinbutton.jsx +153 -0
  248. package/dist/_chunk/spinbutton.jsx.map +1 -0
  249. package/dist/_chunk/steplist.js +66 -0
  250. package/dist/_chunk/steplist.js.map +1 -0
  251. package/dist/_chunk/steplist.jsx +66 -0
  252. package/dist/_chunk/steplist.jsx.map +1 -0
  253. package/dist/_chunk/switch.js +34 -0
  254. package/dist/_chunk/switch.js.map +1 -0
  255. package/dist/_chunk/switch.jsx +34 -0
  256. package/dist/_chunk/switch.jsx.map +1 -0
  257. package/dist/_chunk/table.js +1088 -0
  258. package/dist/_chunk/table.js.map +1 -0
  259. package/dist/_chunk/table.jsx +1088 -0
  260. package/dist/_chunk/table.jsx.map +1 -0
  261. package/dist/_chunk/tabs.js +263 -0
  262. package/dist/_chunk/tabs.js.map +1 -0
  263. package/dist/_chunk/tabs.jsx +263 -0
  264. package/dist/_chunk/tabs.jsx.map +1 -0
  265. package/dist/_chunk/tag.js +322 -0
  266. package/dist/_chunk/tag.js.map +1 -0
  267. package/dist/_chunk/tag.jsx +322 -0
  268. package/dist/_chunk/tag.jsx.map +1 -0
  269. package/dist/_chunk/textfield.js +110 -0
  270. package/dist/_chunk/textfield.js.map +1 -0
  271. package/dist/_chunk/textfield.jsx +110 -0
  272. package/dist/_chunk/textfield.jsx.map +1 -0
  273. package/dist/_chunk/toast.js +250 -0
  274. package/dist/_chunk/toast.js.map +1 -0
  275. package/dist/_chunk/toast.jsx +250 -0
  276. package/dist/_chunk/toast.jsx.map +1 -0
  277. package/dist/_chunk/toolbar.js +226 -0
  278. package/dist/_chunk/toolbar.js.map +1 -0
  279. package/dist/_chunk/toolbar.jsx +226 -0
  280. package/dist/_chunk/toolbar.jsx.map +1 -0
  281. package/dist/_chunk/tooltip.js +185 -0
  282. package/dist/_chunk/tooltip.js.map +1 -0
  283. package/dist/_chunk/tooltip.jsx +185 -0
  284. package/dist/_chunk/tooltip.jsx.map +1 -0
  285. package/dist/_chunk/tree.js +452 -0
  286. package/dist/_chunk/tree.js.map +1 -0
  287. package/dist/_chunk/tree.jsx +452 -0
  288. package/dist/_chunk/tree.jsx.map +1 -0
  289. package/dist/_chunk/utils.js +705 -0
  290. package/dist/_chunk/utils.js.map +1 -0
  291. package/dist/_chunk/utils.jsx +705 -0
  292. package/dist/_chunk/utils.jsx.map +1 -0
  293. package/dist/_chunk/visually-hidden.js +93 -0
  294. package/dist/_chunk/visually-hidden.js.map +1 -0
  295. package/dist/_chunk/visually-hidden.jsx +93 -0
  296. package/dist/_chunk/visually-hidden.jsx.map +1 -0
  297. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  298. package/dist/actiongroup/index.js +2 -0
  299. package/dist/actiongroup/index.jsx +2 -0
  300. package/dist/autocomplete/createAutocomplete.d.ts +12 -7
  301. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  302. package/dist/autocomplete/index.js +2 -0
  303. package/dist/autocomplete/index.jsx +2 -0
  304. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  305. package/dist/breadcrumbs/index.js +2 -0
  306. package/dist/breadcrumbs/index.jsx +2 -0
  307. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  308. package/dist/button/index.js +2 -0
  309. package/dist/button/index.jsx +2 -0
  310. package/dist/calendar/createCalendar.d.ts.map +1 -1
  311. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  312. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  313. package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
  314. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
  315. package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
  316. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
  317. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  318. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  319. package/dist/calendar/index.d.ts +2 -0
  320. package/dist/calendar/index.d.ts.map +1 -1
  321. package/dist/calendar/index.js +2 -0
  322. package/dist/calendar/index.jsx +2 -0
  323. package/dist/calendar/intl/index.d.ts +1 -1
  324. package/dist/calendar/intl/index.d.ts.map +1 -1
  325. package/dist/calendar/utils.d.ts +4 -0
  326. package/dist/calendar/utils.d.ts.map +1 -1
  327. package/dist/checkbox/createCheckbox.d.ts +4 -0
  328. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  329. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  330. package/dist/checkbox/index.js +2 -0
  331. package/dist/checkbox/index.jsx +2 -0
  332. package/dist/collections/index.js +160 -0
  333. package/dist/collections/index.js.map +1 -0
  334. package/dist/collections/index.jsx +160 -0
  335. package/dist/collections/index.jsx.map +1 -0
  336. package/dist/color/createColorArea.d.ts.map +1 -1
  337. package/dist/color/createColorField.d.ts.map +1 -1
  338. package/dist/color/createColorSlider.d.ts.map +1 -1
  339. package/dist/color/createColorSwatch.d.ts.map +1 -1
  340. package/dist/color/createColorWheel.d.ts.map +1 -1
  341. package/dist/color/index.js +2 -0
  342. package/dist/color/index.jsx +2 -0
  343. package/dist/color/intl/index.d.ts +30 -0
  344. package/dist/color/intl/index.d.ts.map +1 -0
  345. package/dist/combobox/createComboBox.d.ts.map +1 -1
  346. package/dist/combobox/index.js +2 -0
  347. package/dist/combobox/index.jsx +2 -0
  348. package/dist/combobox/intl/generated-locales.d.ts +16 -0
  349. package/dist/combobox/intl/generated-locales.d.ts.map +1 -0
  350. package/dist/combobox/intl/index.d.ts +2 -2
  351. package/dist/combobox/intl/index.d.ts.map +1 -1
  352. package/dist/datepicker/createDateField.d.ts +45 -23
  353. package/dist/datepicker/createDateField.d.ts.map +1 -1
  354. package/dist/datepicker/createDatePicker.d.ts +34 -6
  355. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  356. package/dist/datepicker/createDatePickerGroup.d.ts +13 -13
  357. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
  358. package/dist/datepicker/createDateRangePicker.d.ts +55 -7
  359. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  360. package/dist/datepicker/createDateSegment.d.ts +6 -15
  361. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  362. package/dist/datepicker/createDisplayNames.d.ts +17 -0
  363. package/dist/datepicker/createDisplayNames.d.ts.map +1 -0
  364. package/dist/datepicker/createTimeField.d.ts +12 -49
  365. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  366. package/dist/datepicker/index.d.ts +3 -3
  367. package/dist/datepicker/index.d.ts.map +1 -1
  368. package/dist/datepicker/index.js +2 -0
  369. package/dist/datepicker/index.jsx +2 -0
  370. package/dist/datepicker/intl.d.ts +12 -0
  371. package/dist/datepicker/intl.d.ts.map +1 -0
  372. package/dist/dialog/index.js +2 -0
  373. package/dist/dialog/index.jsx +2 -0
  374. package/dist/disclosure/index.js +2 -0
  375. package/dist/disclosure/index.jsx +2 -0
  376. package/dist/dnd/DragManager.d.ts +86 -0
  377. package/dist/dnd/DragManager.d.ts.map +1 -0
  378. package/dist/dnd/DropTargetKeyboardNavigation.d.ts +42 -0
  379. package/dist/dnd/DropTargetKeyboardNavigation.d.ts.map +1 -0
  380. package/dist/dnd/createDrag.d.ts.map +1 -1
  381. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  382. package/dist/dnd/createDraggableItem.d.ts +12 -7
  383. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  384. package/dist/dnd/createDroppableCollection.d.ts +7 -15
  385. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  386. package/dist/dnd/index.d.ts +5 -1
  387. package/dist/dnd/index.d.ts.map +1 -1
  388. package/dist/dnd/index.js +3 -0
  389. package/dist/dnd/index.jsx +3 -0
  390. package/dist/dnd/intl/index.d.ts +39 -0
  391. package/dist/dnd/intl/index.d.ts.map +1 -0
  392. package/dist/dnd/utils.d.ts +7 -2
  393. package/dist/dnd/utils.d.ts.map +1 -1
  394. package/dist/focus/FocusScope.d.ts +7 -0
  395. package/dist/focus/FocusScope.d.ts.map +1 -1
  396. package/dist/focus/index.d.ts +2 -1
  397. package/dist/focus/index.d.ts.map +1 -1
  398. package/dist/focus/index.js +3 -0
  399. package/dist/focus/index.jsx +3 -0
  400. package/dist/focus/virtualFocus.d.ts +26 -0
  401. package/dist/focus/virtualFocus.d.ts.map +1 -0
  402. package/dist/form/createFormValidation.d.ts.map +1 -1
  403. package/dist/form/index.js +3 -0
  404. package/dist/form/index.jsx +3 -0
  405. package/dist/grid/index.js +2 -0
  406. package/dist/grid/index.jsx +2 -0
  407. package/dist/gridlist/createGridList.d.ts +7 -1
  408. package/dist/gridlist/createGridList.d.ts.map +1 -1
  409. package/dist/gridlist/createGridListItem.d.ts +1 -1
  410. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  411. package/dist/gridlist/createGridListSection.d.ts +15 -0
  412. package/dist/gridlist/createGridListSection.d.ts.map +1 -0
  413. package/dist/gridlist/index.d.ts +2 -1
  414. package/dist/gridlist/index.d.ts.map +1 -1
  415. package/dist/gridlist/index.js +2 -0
  416. package/dist/gridlist/index.jsx +2 -0
  417. package/dist/gridlist/types.d.ts +50 -0
  418. package/dist/gridlist/types.d.ts.map +1 -1
  419. package/dist/i18n/index.js +5 -0
  420. package/dist/i18n/index.jsx +5 -0
  421. package/dist/index.d.ts +10 -6
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +77 -18311
  424. package/dist/index.jsx +77 -18242
  425. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  426. package/dist/interactions/PressEvent.d.ts +11 -0
  427. package/dist/interactions/PressEvent.d.ts.map +1 -1
  428. package/dist/interactions/createFocus.d.ts.map +1 -1
  429. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  430. package/dist/interactions/createInteractionModality.d.ts +0 -1
  431. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  432. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  433. package/dist/interactions/createPress.d.ts.map +1 -1
  434. package/dist/interactions/index.js +9 -0
  435. package/dist/interactions/index.jsx +9 -0
  436. package/dist/label/createLabels.d.ts.map +1 -1
  437. package/dist/label/index.js +4 -0
  438. package/dist/label/index.jsx +4 -0
  439. package/dist/landmark/index.js +2 -0
  440. package/dist/landmark/index.jsx +2 -0
  441. package/dist/link/index.js +2 -0
  442. package/dist/link/index.jsx +2 -0
  443. package/dist/listbox/createListBox.d.ts +37 -0
  444. package/dist/listbox/createListBox.d.ts.map +1 -1
  445. package/dist/listbox/createOption.d.ts +7 -1
  446. package/dist/listbox/createOption.d.ts.map +1 -1
  447. package/dist/listbox/index.js +2 -0
  448. package/dist/listbox/index.jsx +2 -0
  449. package/dist/live-announcer/index.js +2 -0
  450. package/dist/live-announcer/index.jsx +2 -0
  451. package/dist/menu/createMenu.d.ts +7 -4
  452. package/dist/menu/createMenu.d.ts.map +1 -1
  453. package/dist/menu/createMenuItem.d.ts +9 -1
  454. package/dist/menu/createMenuItem.d.ts.map +1 -1
  455. package/dist/menu/index.js +2 -0
  456. package/dist/menu/index.jsx +2 -0
  457. package/dist/meter/index.js +2 -0
  458. package/dist/meter/index.jsx +2 -0
  459. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  460. package/dist/numberfield/index.js +2 -0
  461. package/dist/numberfield/index.jsx +2 -0
  462. package/dist/overlays/index.js +4 -0
  463. package/dist/overlays/index.jsx +4 -0
  464. package/dist/popover/calculatePosition.d.ts +2 -0
  465. package/dist/popover/calculatePosition.d.ts.map +1 -1
  466. package/dist/popover/createOverlayPosition.d.ts +8 -0
  467. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  468. package/dist/popover/index.js +2 -0
  469. package/dist/popover/index.jsx +2 -0
  470. package/dist/progress/index.js +2 -0
  471. package/dist/progress/index.jsx +2 -0
  472. package/dist/radio/createRadio.d.ts +2 -0
  473. package/dist/radio/createRadio.d.ts.map +1 -1
  474. package/dist/radio/index.js +2 -0
  475. package/dist/radio/index.jsx +2 -0
  476. package/dist/searchfield/index.js +2 -0
  477. package/dist/searchfield/index.jsx +2 -0
  478. package/dist/select/createSelect.d.ts +2 -0
  479. package/dist/select/createSelect.d.ts.map +1 -1
  480. package/dist/select/index.js +2 -0
  481. package/dist/select/index.jsx +2 -0
  482. package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
  483. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
  484. package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
  485. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
  486. package/dist/selection/constants.d.ts +15 -0
  487. package/dist/selection/constants.d.ts.map +1 -0
  488. package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
  489. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
  490. package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
  491. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
  492. package/dist/selection/createSelectableCollection.d.ts +69 -0
  493. package/dist/selection/createSelectableCollection.d.ts.map +1 -0
  494. package/dist/selection/createSelectableItem.d.ts +154 -0
  495. package/dist/selection/createSelectableItem.d.ts.map +1 -0
  496. package/dist/selection/createSelectableList.d.ts +43 -0
  497. package/dist/selection/createSelectableList.d.ts.map +1 -0
  498. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  499. package/dist/selection/index.d.ts +9 -0
  500. package/dist/selection/index.d.ts.map +1 -1
  501. package/dist/selection/index.js +5 -0
  502. package/dist/selection/index.jsx +5 -0
  503. package/dist/selection/selectItem.d.ts +29 -0
  504. package/dist/selection/selectItem.d.ts.map +1 -0
  505. package/dist/selection/utils.d.ts +40 -0
  506. package/dist/selection/utils.d.ts.map +1 -0
  507. package/dist/separator/index.js +2 -0
  508. package/dist/separator/index.jsx +2 -0
  509. package/dist/slider/createSlider.d.ts.map +1 -1
  510. package/dist/slider/index.js +2 -0
  511. package/dist/slider/index.jsx +2 -0
  512. package/dist/spinbutton/createSpinButton.d.ts +41 -0
  513. package/dist/spinbutton/createSpinButton.d.ts.map +1 -0
  514. package/dist/spinbutton/index.d.ts +3 -0
  515. package/dist/spinbutton/index.d.ts.map +1 -0
  516. package/dist/spinbutton/index.js +2 -0
  517. package/dist/spinbutton/index.jsx +2 -0
  518. package/dist/spinbutton/intl.d.ts +5 -0
  519. package/dist/spinbutton/intl.d.ts.map +1 -0
  520. package/dist/ssr/index.d.ts +17 -0
  521. package/dist/ssr/index.d.ts.map +1 -1
  522. package/dist/ssr/index.js +299 -0
  523. package/dist/ssr/index.js.map +1 -0
  524. package/dist/ssr/index.jsx +292 -0
  525. package/dist/ssr/index.jsx.map +1 -0
  526. package/dist/steplist/index.js +2 -0
  527. package/dist/steplist/index.jsx +2 -0
  528. package/dist/switch/createSwitch.d.ts +4 -0
  529. package/dist/switch/createSwitch.d.ts.map +1 -1
  530. package/dist/switch/index.js +2 -0
  531. package/dist/switch/index.jsx +2 -0
  532. package/dist/table/createTable.d.ts.map +1 -1
  533. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  534. package/dist/table/createTableRow.d.ts +1 -1
  535. package/dist/table/createTableRow.d.ts.map +1 -1
  536. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  537. package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
  538. package/dist/table/index.js +2 -0
  539. package/dist/table/index.jsx +2 -0
  540. package/dist/table/types.d.ts +35 -1
  541. package/dist/table/types.d.ts.map +1 -1
  542. package/dist/table/utils.d.ts +15 -0
  543. package/dist/table/utils.d.ts.map +1 -0
  544. package/dist/tabs/createTabs.d.ts +5 -3
  545. package/dist/tabs/createTabs.d.ts.map +1 -1
  546. package/dist/tabs/index.js +2 -0
  547. package/dist/tabs/index.jsx +2 -0
  548. package/dist/tag/createTag.d.ts +2 -0
  549. package/dist/tag/createTag.d.ts.map +1 -1
  550. package/dist/tag/createTagGroup.d.ts +7 -0
  551. package/dist/tag/createTagGroup.d.ts.map +1 -1
  552. package/dist/tag/index.js +2 -0
  553. package/dist/tag/index.jsx +2 -0
  554. package/dist/textfield/index.js +2 -0
  555. package/dist/textfield/index.jsx +2 -0
  556. package/dist/toast/createToast.d.ts.map +1 -1
  557. package/dist/toast/index.js +2 -0
  558. package/dist/toast/index.jsx +2 -0
  559. package/dist/toggle/createToggle.d.ts +4 -0
  560. package/dist/toggle/createToggle.d.ts.map +1 -1
  561. package/dist/toggle/index.js +3 -0
  562. package/dist/toggle/index.jsx +3 -0
  563. package/dist/toolbar/createToolbar.d.ts +1 -1
  564. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  565. package/dist/toolbar/index.js +2 -0
  566. package/dist/toolbar/index.jsx +2 -0
  567. package/dist/tooltip/index.js +2 -0
  568. package/dist/tooltip/index.jsx +2 -0
  569. package/dist/tree/createTree.d.ts +5 -1
  570. package/dist/tree/createTree.d.ts.map +1 -1
  571. package/dist/tree/createTreeItem.d.ts +1 -1
  572. package/dist/tree/createTreeItem.d.ts.map +1 -1
  573. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  574. package/dist/tree/index.js +2 -0
  575. package/dist/tree/index.jsx +2 -0
  576. package/dist/tree/types.d.ts +10 -0
  577. package/dist/tree/types.d.ts.map +1 -1
  578. package/dist/utils/animation.d.ts +60 -0
  579. package/dist/utils/animation.d.ts.map +1 -0
  580. package/dist/utils/dom.d.ts +49 -2
  581. package/dist/utils/dom.d.ts.map +1 -1
  582. package/dist/utils/index.d.ts +4 -1
  583. package/dist/utils/index.d.ts.map +1 -1
  584. package/dist/utils/index.js +6 -0
  585. package/dist/utils/index.jsx +6 -0
  586. package/dist/utils/keyboard.d.ts +17 -0
  587. package/dist/utils/keyboard.d.ts.map +1 -0
  588. package/dist/utils/mergeProps.d.ts.map +1 -1
  589. package/dist/utils/scrollIntoView.d.ts +30 -0
  590. package/dist/utils/scrollIntoView.d.ts.map +1 -0
  591. package/dist/visually-hidden/index.js +2 -0
  592. package/dist/visually-hidden/index.jsx +2 -0
  593. package/package.json +304 -3
  594. package/src/actiongroup/createActionGroup.ts +26 -109
  595. package/src/autocomplete/createAutocomplete.ts +202 -35
  596. package/src/breadcrumbs/createBreadcrumbs.ts +12 -4
  597. package/src/button/createToggleButtonGroup.ts +19 -14
  598. package/src/calendar/createCalendar.ts +5 -4
  599. package/src/calendar/createCalendarCell.ts +36 -5
  600. package/src/calendar/createCalendarGrid.ts +47 -12
  601. package/src/calendar/createCalendarMonthPicker.ts +105 -0
  602. package/src/calendar/createCalendarYearPicker.ts +144 -0
  603. package/src/calendar/createRangeCalendar.ts +27 -15
  604. package/src/calendar/createRangeCalendarCell.ts +17 -3
  605. package/src/calendar/index.ts +17 -0
  606. package/src/calendar/intl/index.ts +8 -0
  607. package/src/calendar/utils.ts +4 -0
  608. package/src/checkbox/createCheckbox.ts +10 -0
  609. package/src/checkbox/createCheckboxGroupItem.ts +12 -16
  610. package/src/color/createColorArea.ts +17 -10
  611. package/src/color/createColorField.ts +8 -1
  612. package/src/color/createColorSlider.ts +1 -2
  613. package/src/color/createColorSwatch.ts +4 -2
  614. package/src/color/createColorWheel.ts +0 -6
  615. package/src/color/intl/index.ts +316 -0
  616. package/src/combobox/createComboBox.ts +35 -4
  617. package/src/combobox/intl/generated-locales.ts +635 -0
  618. package/src/combobox/intl/index.ts +8 -2
  619. package/src/datepicker/createDateField.ts +228 -213
  620. package/src/datepicker/createDatePicker.ts +157 -146
  621. package/src/datepicker/createDatePickerGroup.ts +88 -82
  622. package/src/datepicker/createDateRangePicker.ts +230 -179
  623. package/src/datepicker/createDateSegment.ts +386 -384
  624. package/src/datepicker/createDisplayNames.ts +45 -0
  625. package/src/datepicker/createTimeField.ts +36 -129
  626. package/src/datepicker/index.ts +13 -14
  627. package/src/datepicker/intl.ts +633 -0
  628. package/src/dnd/DragManager.ts +693 -0
  629. package/src/dnd/DropTargetKeyboardNavigation.ts +337 -0
  630. package/src/dnd/createDrag.ts +31 -5
  631. package/src/dnd/createDraggableCollection.ts +33 -15
  632. package/src/dnd/createDraggableItem.ts +92 -5
  633. package/src/dnd/createDroppableCollection.ts +488 -371
  634. package/src/dnd/index.ts +11 -0
  635. package/src/dnd/intl/ar-AE.json +29 -0
  636. package/src/dnd/intl/bg-BG.json +29 -0
  637. package/src/dnd/intl/cs-CZ.json +29 -0
  638. package/src/dnd/intl/da-DK.json +29 -0
  639. package/src/dnd/intl/de-DE.json +29 -0
  640. package/src/dnd/intl/el-GR.json +29 -0
  641. package/src/dnd/intl/en-US.json +29 -0
  642. package/src/dnd/intl/es-ES.json +29 -0
  643. package/src/dnd/intl/et-EE.json +29 -0
  644. package/src/dnd/intl/fi-FI.json +29 -0
  645. package/src/dnd/intl/fr-FR.json +29 -0
  646. package/src/dnd/intl/he-IL.json +29 -0
  647. package/src/dnd/intl/hr-HR.json +29 -0
  648. package/src/dnd/intl/hu-HU.json +29 -0
  649. package/src/dnd/intl/index.ts +139 -0
  650. package/src/dnd/intl/it-IT.json +29 -0
  651. package/src/dnd/intl/ja-JP.json +29 -0
  652. package/src/dnd/intl/ko-KR.json +29 -0
  653. package/src/dnd/intl/lt-LT.json +29 -0
  654. package/src/dnd/intl/lv-LV.json +29 -0
  655. package/src/dnd/intl/nb-NO.json +29 -0
  656. package/src/dnd/intl/nl-NL.json +29 -0
  657. package/src/dnd/intl/pl-PL.json +29 -0
  658. package/src/dnd/intl/pt-BR.json +29 -0
  659. package/src/dnd/intl/pt-PT.json +29 -0
  660. package/src/dnd/intl/ro-RO.json +29 -0
  661. package/src/dnd/intl/ru-RU.json +29 -0
  662. package/src/dnd/intl/sk-SK.json +29 -0
  663. package/src/dnd/intl/sl-SI.json +29 -0
  664. package/src/dnd/intl/sr-SP.json +29 -0
  665. package/src/dnd/intl/sv-SE.json +29 -0
  666. package/src/dnd/intl/tr-TR.json +29 -0
  667. package/src/dnd/intl/uk-UA.json +29 -0
  668. package/src/dnd/intl/zh-CN.json +29 -0
  669. package/src/dnd/intl/zh-TW.json +29 -0
  670. package/src/dnd/utils.ts +63 -3
  671. package/src/focus/FocusScope.tsx +266 -24
  672. package/src/focus/index.ts +8 -0
  673. package/src/focus/virtualFocus.ts +55 -0
  674. package/src/form/createFormValidation.ts +8 -1
  675. package/src/gridlist/createGridList.ts +187 -48
  676. package/src/gridlist/createGridListItem.ts +87 -155
  677. package/src/gridlist/createGridListSection.ts +54 -0
  678. package/src/gridlist/index.ts +3 -0
  679. package/src/gridlist/types.ts +47 -0
  680. package/src/index.ts +51 -3
  681. package/src/interactions/FocusableProvider.tsx +11 -6
  682. package/src/interactions/PressEvent.ts +14 -0
  683. package/src/interactions/createFocus.ts +26 -21
  684. package/src/interactions/createFocusWithin.ts +23 -24
  685. package/src/interactions/createInteractionModality.ts +26 -15
  686. package/src/interactions/createKeyboard.ts +10 -0
  687. package/src/interactions/createPress.ts +29 -6
  688. package/src/label/createLabels.ts +7 -4
  689. package/src/listbox/createListBox.ts +203 -10
  690. package/src/listbox/createOption.ts +84 -74
  691. package/src/menu/createMenu.ts +93 -16
  692. package/src/menu/createMenuItem.ts +253 -41
  693. package/src/numberfield/createNumberField.ts +82 -14
  694. package/src/popover/calculatePosition.ts +19 -7
  695. package/src/popover/createOverlayPosition.ts +9 -0
  696. package/src/radio/createRadio.ts +19 -2
  697. package/src/select/createSelect.ts +41 -4
  698. package/src/selection/DOMLayoutDelegate.ts +102 -0
  699. package/src/selection/ListKeyboardDelegate.ts +398 -0
  700. package/src/selection/constants.ts +16 -0
  701. package/src/selection/createCollectionRowInteraction.ts +209 -0
  702. package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
  703. package/src/selection/createSelectableCollection.ts +645 -0
  704. package/src/selection/createSelectableItem.ts +512 -0
  705. package/src/selection/createSelectableList.ts +93 -0
  706. package/src/selection/createTypeSelect.ts +112 -51
  707. package/src/selection/index.ts +31 -0
  708. package/src/selection/selectItem.ts +80 -0
  709. package/src/selection/utils.ts +82 -0
  710. package/src/slider/createSlider.ts +48 -1
  711. package/src/spinbutton/createSpinButton.ts +163 -0
  712. package/src/spinbutton/index.ts +10 -0
  713. package/src/spinbutton/intl.ts +115 -0
  714. package/src/ssr/index.tsx +31 -0
  715. package/src/switch/createSwitch.ts +10 -0
  716. package/src/table/createTable.ts +82 -27
  717. package/src/table/createTableColumnHeader.ts +10 -0
  718. package/src/table/createTableRow.ts +208 -203
  719. package/src/table/createTableSelectAllCheckbox.ts +3 -4
  720. package/src/table/createTableSelectionCheckbox.ts +24 -1
  721. package/src/table/types.ts +37 -1
  722. package/src/table/utils.ts +41 -0
  723. package/src/tabs/createTabs.ts +95 -24
  724. package/src/tag/createTag.ts +30 -36
  725. package/src/tag/createTagGroup.ts +92 -0
  726. package/src/toast/createToast.ts +1 -0
  727. package/src/toggle/createToggle.ts +20 -0
  728. package/src/toolbar/createToolbar.ts +43 -94
  729. package/src/tree/createTree.ts +165 -52
  730. package/src/tree/createTreeItem.ts +105 -120
  731. package/src/tree/createTreeSelectionCheckbox.ts +14 -1
  732. package/src/tree/types.ts +10 -0
  733. package/src/utils/animation.ts +243 -0
  734. package/src/utils/dom.ts +216 -25
  735. package/src/utils/index.ts +10 -0
  736. package/src/utils/keyboard.ts +25 -0
  737. package/src/utils/mergeProps.ts +8 -1
  738. package/src/utils/scrollIntoView.ts +181 -0
  739. package/dist/datepicker/createTimeSegment.d.ts +0 -29
  740. package/dist/datepicker/createTimeSegment.d.ts.map +0 -1
  741. package/dist/index.js.map +0 -1
  742. package/dist/index.jsx.map +0 -1
  743. package/src/datepicker/createTimeSegment.ts +0 -352
@@ -0,0 +1,666 @@
1
+ import { i as mergeProps$1 } from "./env.js";
2
+ import { t as access } from "./reactivity.js";
3
+ import { S as scrollIntoViewport, c as isCtrlKeyPressed, x as scrollIntoView } from "./utils.js";
4
+ import { a as getEventTarget, b as openLink, f as isFocusWithin, g as isTabbable, h as isScrollable, i as getActiveElement, n as focusWithoutScrolling, o as getFocusableTreeWalker, t as focusSafely, y as nodeContains } from "./focus.js";
5
+ import { o as getInteractionModality } from "./createInteractionModality.js";
6
+ import { i as useLocale } from "./locale.js";
7
+ import { t as createCollator } from "./createCollator.js";
8
+ import { n as FOCUS_EVENT, t as CLEAR_FOCUS_EVENT } from "./constants.js";
9
+ import { t as createTypeSelect } from "./createTypeSelect.js";
10
+ import { a as isNonContiguousSelectionModifier, i as getItemElement, o as registerCollectionId } from "./createSelectableItem.js";
11
+ import { createEffect, createMemo, on, onCleanup } from "solid-js";
12
+ import { isServer } from "solid-js/web";
13
+ //#region src/selection/createScrollIntoViewOnFocus.ts
14
+ /**
15
+ * Reveals the virtually-focused collection item when the focused key changes via
16
+ * keyboard navigation.
17
+ *
18
+ * Mirrors the focused-key scroll effect in @react-aria/selection's
19
+ * `useSelectableCollection`. Activedescendant collections (ListBox / Menu /
20
+ * ComboBox) keep real DOM focus on the container and point at the active item
21
+ * with `aria-activedescendant`, so the browser never natively scrolls the
22
+ * focused option into view the way a roving-tabindex collection would. This
23
+ * effect restores that behavior through our `scrollIntoViewport` util.
24
+ */
25
+ function createScrollIntoViewOnFocus(options) {
26
+ if (isServer) return;
27
+ const getItemElement = options.getItemElement ?? ((root, key) => root.querySelector(`[data-key="${key}"]`));
28
+ createEffect(() => {
29
+ const key = options.focusedKey();
30
+ if (key == null) return;
31
+ if (options.isActive && !options.isActive()) return;
32
+ if (getInteractionModality() === "pointer") return;
33
+ const root = options.ref();
34
+ if (!root) return;
35
+ queueMicrotask(() => {
36
+ const element = getItemElement(root, key);
37
+ if (element) scrollIntoViewport(element, { containingElement: root });
38
+ });
39
+ });
40
+ }
41
+ //#endregion
42
+ //#region src/selection/DOMLayoutDelegate.ts
43
+ /**
44
+ * A {@link LayoutDelegate} that measures items via the DOM.
45
+ */
46
+ var DOMLayoutDelegate = class {
47
+ ref;
48
+ constructor(ref) {
49
+ this.ref = ref;
50
+ }
51
+ getItemRect(key) {
52
+ const container = this.ref();
53
+ if (!container) return null;
54
+ const item = key != null ? getItemElement(this.ref, key) : null;
55
+ if (!item) return null;
56
+ const containerRect = container.getBoundingClientRect();
57
+ const itemRect = item.getBoundingClientRect();
58
+ return {
59
+ x: itemRect.left - containerRect.left - container.clientLeft + container.scrollLeft,
60
+ y: itemRect.top - containerRect.top - container.clientTop + container.scrollTop,
61
+ width: itemRect.width,
62
+ height: itemRect.height
63
+ };
64
+ }
65
+ getContentSize() {
66
+ const container = this.ref();
67
+ return {
68
+ width: container?.scrollWidth ?? 0,
69
+ height: container?.scrollHeight ?? 0
70
+ };
71
+ }
72
+ getVisibleRect() {
73
+ const container = this.ref();
74
+ return {
75
+ x: container?.scrollLeft ?? 0,
76
+ y: container?.scrollTop ?? 0,
77
+ width: container?.clientWidth ?? 0,
78
+ height: container?.clientHeight ?? 0
79
+ };
80
+ }
81
+ };
82
+ //#endregion
83
+ //#region src/selection/ListKeyboardDelegate.ts
84
+ /**
85
+ * A keyboard delegate that handles navigation within a list/stack collection.
86
+ */
87
+ var ListKeyboardDelegate = class {
88
+ collection;
89
+ disabledKeys;
90
+ disabledBehavior;
91
+ ref;
92
+ collator;
93
+ layout;
94
+ orientation;
95
+ direction;
96
+ layoutDelegate;
97
+ /** Present unless this is a vertical stack (mirrors upstream's method deletion). */
98
+ getKeyLeftOf;
99
+ /** Present unless this is a vertical stack (mirrors upstream's method deletion). */
100
+ getKeyRightOf;
101
+ constructor(options) {
102
+ this.collection = options.collection;
103
+ this.ref = options.ref;
104
+ this.collator = options.collator;
105
+ this.disabledKeys = options.disabledKeys ?? /* @__PURE__ */ new Set();
106
+ this.disabledBehavior = options.disabledBehavior ?? "all";
107
+ this.orientation = options.orientation ?? "vertical";
108
+ this.direction = options.direction;
109
+ this.layout = options.layout ?? "stack";
110
+ this.layoutDelegate = options.layoutDelegate ?? new DOMLayoutDelegate(options.ref);
111
+ if (!(this.layout === "stack" && this.orientation === "vertical")) {
112
+ this.getKeyLeftOf = (key, opts) => this.computeKeyLeftOf(key, opts);
113
+ this.getKeyRightOf = (key, opts) => this.computeKeyRightOf(key, opts);
114
+ }
115
+ }
116
+ isDisabled(item) {
117
+ return this.disabledBehavior === "all" && (item.props?.isDisabled === true || item.isDisabled === true || this.disabledKeys.has(item.key)) && item.props?.disabledBehavior !== "selection";
118
+ }
119
+ findNextNonDisabled(key, getNext, includeDisabled = false) {
120
+ let nextKey = key;
121
+ while (nextKey != null) {
122
+ const item = this.collection.getItem(nextKey);
123
+ if (item?.type === "item" && (includeDisabled || !this.isDisabled(item))) return nextKey;
124
+ nextKey = getNext(nextKey);
125
+ }
126
+ return null;
127
+ }
128
+ getNextKey(key, options) {
129
+ let nextKey = key;
130
+ nextKey = this.collection.getKeyAfter(nextKey);
131
+ return this.findNextNonDisabled(nextKey, (k) => this.collection.getKeyAfter(k), options?.includeDisabled);
132
+ }
133
+ getPreviousKey(key, options) {
134
+ let nextKey = key;
135
+ nextKey = this.collection.getKeyBefore(nextKey);
136
+ return this.findNextNonDisabled(nextKey, (k) => this.collection.getKeyBefore(k), options?.includeDisabled);
137
+ }
138
+ findKey(key, nextKey, shouldSkip) {
139
+ let tempKey = key;
140
+ let itemRect = this.layoutDelegate.getItemRect(tempKey);
141
+ if (!itemRect || tempKey == null) return null;
142
+ const prevRect = itemRect;
143
+ do {
144
+ tempKey = nextKey(tempKey);
145
+ if (tempKey == null) break;
146
+ itemRect = this.layoutDelegate.getItemRect(tempKey);
147
+ } while (itemRect && shouldSkip(prevRect, itemRect) && tempKey != null);
148
+ return tempKey;
149
+ }
150
+ isSameRow(prevRect, itemRect) {
151
+ return prevRect.y === itemRect.y || prevRect.x !== itemRect.x;
152
+ }
153
+ isSameColumn(prevRect, itemRect) {
154
+ return prevRect.x === itemRect.x || prevRect.y !== itemRect.y;
155
+ }
156
+ isReversed(key) {
157
+ const nextKey = this.getNextKey(key);
158
+ const currentEl = getItemElement(this.ref, key);
159
+ if (nextKey != null) {
160
+ const nextEl = getItemElement(this.ref, nextKey);
161
+ if (!currentEl || !nextEl) return false;
162
+ return currentEl.getBoundingClientRect().top > nextEl.getBoundingClientRect().top;
163
+ }
164
+ const prevKey = this.getPreviousKey(key);
165
+ if (prevKey != null) {
166
+ const prevEl = getItemElement(this.ref, prevKey);
167
+ if (!currentEl || !prevEl) return false;
168
+ return prevEl.getBoundingClientRect().top > currentEl.getBoundingClientRect().top;
169
+ }
170
+ return false;
171
+ }
172
+ getKeyBelow(key, options) {
173
+ if (this.layout === "grid" && this.orientation === "vertical") return this.findKey(key, (k) => this.getNextKey(k, options), this.isSameRow);
174
+ else if (this.orientation === "vertical") return this.isReversed(key) ? this.getPreviousKey(key, options) : this.getNextKey(key, options);
175
+ else return this.getNextKey(key, options);
176
+ }
177
+ getKeyAbove(key, options) {
178
+ if (this.layout === "grid" && this.orientation === "vertical") return this.findKey(key, (k) => this.getPreviousKey(k, options), this.isSameRow);
179
+ else if (this.orientation === "vertical") return this.isReversed(key) ? this.getNextKey(key, options) : this.getPreviousKey(key, options);
180
+ else return this.getPreviousKey(key, options);
181
+ }
182
+ getNextColumn(key, right, options) {
183
+ return right ? this.getPreviousKey(key, options) : this.getNextKey(key, options);
184
+ }
185
+ computeKeyRightOf(key, options) {
186
+ const method = this.direction === "ltr" ? "getKeyRightOf" : "getKeyLeftOf";
187
+ const layoutMethod = this.layoutDelegate[method];
188
+ if (layoutMethod) {
189
+ const next = layoutMethod.call(this.layoutDelegate, key);
190
+ return this.findNextNonDisabled(next, (k) => this.layoutDelegate[method]?.call(this.layoutDelegate, k) ?? null, options?.includeDisabled);
191
+ }
192
+ if (this.layout === "grid") if (this.orientation === "vertical") return this.getNextColumn(key, this.direction === "rtl", options);
193
+ else return this.findKey(key, (k) => this.getNextColumn(k, this.direction === "rtl", options), this.isSameColumn);
194
+ else if (this.orientation === "horizontal") return this.getNextColumn(key, this.direction === "rtl", options);
195
+ return null;
196
+ }
197
+ computeKeyLeftOf(key, options) {
198
+ const method = this.direction === "ltr" ? "getKeyLeftOf" : "getKeyRightOf";
199
+ const layoutMethod = this.layoutDelegate[method];
200
+ if (layoutMethod) {
201
+ const next = layoutMethod.call(this.layoutDelegate, key);
202
+ return this.findNextNonDisabled(next, (k) => this.layoutDelegate[method]?.call(this.layoutDelegate, k) ?? null, options?.includeDisabled);
203
+ }
204
+ if (this.layout === "grid") if (this.orientation === "vertical") return this.getNextColumn(key, this.direction === "ltr", options);
205
+ else return this.findKey(key, (k) => this.getNextColumn(k, this.direction === "ltr", options), this.isSameColumn);
206
+ else if (this.orientation === "horizontal") return this.getNextColumn(key, this.direction === "ltr", options);
207
+ return null;
208
+ }
209
+ getFirstKey() {
210
+ const key = this.collection.getFirstKey();
211
+ return this.findNextNonDisabled(key, (k) => this.collection.getKeyAfter(k));
212
+ }
213
+ getLastKey() {
214
+ const key = this.collection.getLastKey();
215
+ return this.findNextNonDisabled(key, (k) => this.collection.getKeyBefore(k));
216
+ }
217
+ getKeyPageAbove(key) {
218
+ const menu = this.ref();
219
+ let itemRect = this.layoutDelegate.getItemRect(key);
220
+ if (!itemRect) return null;
221
+ const reversed = this.isReversed(key);
222
+ if (menu && !isScrollable(menu)) return this.getFirstKey();
223
+ let nextKey = key;
224
+ if (this.orientation === "horizontal") {
225
+ const pageX = Math.max(0, itemRect.x + itemRect.width - this.layoutDelegate.getVisibleRect().width);
226
+ while (itemRect && itemRect.x > pageX && nextKey != null) {
227
+ nextKey = this.getKeyAbove(nextKey);
228
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
229
+ }
230
+ } else {
231
+ const visibleRect = this.layoutDelegate.getVisibleRect();
232
+ const pageY = reversed ? itemRect.y - visibleRect.height : Math.max(0, itemRect.y + itemRect.height - visibleRect.height);
233
+ while (itemRect && itemRect.y > pageY && nextKey != null) {
234
+ nextKey = this.getKeyAbove(nextKey);
235
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
236
+ }
237
+ }
238
+ return nextKey ?? (reversed ? this.getLastKey() : this.getFirstKey());
239
+ }
240
+ getKeyPageBelow(key) {
241
+ const menu = this.ref();
242
+ let itemRect = this.layoutDelegate.getItemRect(key);
243
+ if (!itemRect) return null;
244
+ const reversed = this.isReversed(key);
245
+ if (menu && !isScrollable(menu)) return this.getLastKey();
246
+ let nextKey = key;
247
+ if (this.orientation === "horizontal") {
248
+ const pageX = Math.min(this.layoutDelegate.getContentSize().width, itemRect.x - itemRect.width + this.layoutDelegate.getVisibleRect().width);
249
+ while (itemRect && itemRect.x < pageX && nextKey != null) {
250
+ nextKey = this.getKeyBelow(nextKey);
251
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
252
+ }
253
+ } else {
254
+ const pageY = Math.min(this.layoutDelegate.getContentSize().height, itemRect.y - itemRect.height + this.layoutDelegate.getVisibleRect().height);
255
+ while (itemRect && itemRect.y < pageY && nextKey != null) {
256
+ nextKey = this.getKeyBelow(nextKey);
257
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
258
+ }
259
+ }
260
+ return nextKey ?? (reversed ? this.getFirstKey() : this.getLastKey());
261
+ }
262
+ getKeyForSearch(search, fromKey) {
263
+ if (!this.collator) return null;
264
+ const collection = this.collection;
265
+ let key = fromKey ?? this.getFirstKey();
266
+ while (key != null) {
267
+ const item = collection.getItem(key);
268
+ if (!item) return null;
269
+ const substring = item.textValue.slice(0, search.length);
270
+ if (item.textValue && this.collator.compare(substring, search) === 0) return key;
271
+ key = this.getNextKey(key);
272
+ }
273
+ return null;
274
+ }
275
+ };
276
+ //#endregion
277
+ //#region src/selection/createSelectableCollection.ts
278
+ /**
279
+ * createSelectableCollection - keyboard, focus, and selection interactions for a
280
+ * selectable collection. Based on @react-aria/selection's
281
+ * `useSelectableCollection`.
282
+ *
283
+ * React → Solid adaptations (faithful to upstream behavior):
284
+ * - `ref` / `scrollRef` are Solid accessors; `keyboardDelegate` may be an
285
+ * accessor so a recreated delegate stays current.
286
+ * - Per-render React effects become `createEffect`s that read the manager's
287
+ * reactive getters: the autofocus and scroll-into-view effects track
288
+ * `isFocused` / `focusedKey` / `collection.size` and run when those change.
289
+ * `useUpdateLayoutEffect` (skip-first) maps to `on(..., { defer: true })`.
290
+ * - Plain closure variables replace `useRef` (a Solid component body runs once).
291
+ * - React's bubbling `onFocus` / `onBlur` are `onFocusIn` / `onFocusOut`
292
+ * (the native bubbling focus events) here.
293
+ * - The link branch opens the anchor directly (we have no router abstraction)
294
+ * and needs no `flushSync` — `setFocusedKey` is synchronous and the keyed
295
+ * item element already exists in the DOM.
296
+ * - Virtual-focus cursor movement (`moveVirtualFocus` / `dispatchVirtualFocus`)
297
+ * is not yet modeled — a documented gap, consistent with createSelectableItem.
298
+ * The focused-key bookkeeping around it is preserved.
299
+ */
300
+ /**
301
+ * Handles interactions with selectable collections.
302
+ */
303
+ function createSelectableCollection(options) {
304
+ const manager = options.selectionManager;
305
+ const delegate = () => access(options.keyboardDelegate);
306
+ const ref = options.ref;
307
+ const scrollRef = options.scrollRef ?? ref;
308
+ const autoFocus = options.autoFocus ?? false;
309
+ const shouldFocusWrap = options.shouldFocusWrap ?? false;
310
+ const disallowEmptySelection = options.disallowEmptySelection ?? false;
311
+ const disallowSelectAll = options.disallowSelectAll ?? false;
312
+ const escapeKeyBehavior = options.escapeKeyBehavior ?? "clearSelection";
313
+ const disallowTypeAhead = options.disallowTypeAhead ?? false;
314
+ const shouldUseVirtualFocus = options.shouldUseVirtualFocus ?? false;
315
+ const allowsTabNavigation = options.allowsTabNavigation ?? false;
316
+ const linkBehavior = options.linkBehavior ?? "action";
317
+ const focusOnEntry = options.UNSTABLE_focusOnEntry;
318
+ const selectOnFocus = () => options.selectOnFocus ?? manager.selectionBehavior === "replace";
319
+ const locale = useLocale();
320
+ const direction = () => locale().direction;
321
+ const onKeyDown = (e) => {
322
+ const d = delegate();
323
+ if (e.altKey && e.key === "Tab") e.preventDefault();
324
+ const root = ref();
325
+ if (!root || !nodeContains(root, getEventTarget(e))) return;
326
+ const navigateToKey = (key, childFocus) => {
327
+ if (key == null) return;
328
+ if (manager.isLink(key) && linkBehavior === "selection" && selectOnFocus() && !isNonContiguousSelectionModifier(e)) {
329
+ manager.setFocusedKey(key, childFocus);
330
+ const item = getItemElement(ref, key);
331
+ if (item instanceof HTMLAnchorElement) openLink(item, e);
332
+ return;
333
+ }
334
+ manager.setFocusedKey(key, childFocus);
335
+ if (manager.isLink(key) && linkBehavior === "override") return;
336
+ if (e.shiftKey && manager.selectionMode === "multiple") manager.extendSelection(key);
337
+ else if (selectOnFocus() && !isNonContiguousSelectionModifier(e)) manager.replaceSelection(key);
338
+ };
339
+ switch (e.key) {
340
+ case "ArrowDown":
341
+ if (d.getKeyBelow) {
342
+ let nextKey = manager.focusedKey != null ? d.getKeyBelow(manager.focusedKey) : d.getFirstKey?.();
343
+ if (nextKey == null && shouldFocusWrap) nextKey = d.getFirstKey?.(manager.focusedKey ?? void 0);
344
+ if (nextKey != null) {
345
+ e.preventDefault();
346
+ navigateToKey(nextKey);
347
+ }
348
+ }
349
+ break;
350
+ case "ArrowUp":
351
+ if (d.getKeyAbove) {
352
+ let nextKey = manager.focusedKey != null ? d.getKeyAbove(manager.focusedKey) : d.getLastKey?.();
353
+ if (nextKey == null && shouldFocusWrap) nextKey = d.getLastKey?.(manager.focusedKey ?? void 0);
354
+ if (nextKey != null) {
355
+ e.preventDefault();
356
+ navigateToKey(nextKey);
357
+ }
358
+ }
359
+ break;
360
+ case "ArrowLeft":
361
+ if (d.getKeyLeftOf) {
362
+ let nextKey = manager.focusedKey != null ? d.getKeyLeftOf(manager.focusedKey) : d.getFirstKey?.();
363
+ if (nextKey == null && shouldFocusWrap) nextKey = direction() === "rtl" ? d.getFirstKey?.(manager.focusedKey ?? void 0) : d.getLastKey?.(manager.focusedKey ?? void 0);
364
+ if (nextKey != null) {
365
+ e.preventDefault();
366
+ navigateToKey(nextKey, direction() === "rtl" ? "first" : "last");
367
+ }
368
+ }
369
+ break;
370
+ case "ArrowRight":
371
+ if (d.getKeyRightOf) {
372
+ let nextKey = manager.focusedKey != null ? d.getKeyRightOf(manager.focusedKey) : d.getFirstKey?.();
373
+ if (nextKey == null && shouldFocusWrap) nextKey = direction() === "rtl" ? d.getLastKey?.(manager.focusedKey ?? void 0) : d.getFirstKey?.(manager.focusedKey ?? void 0);
374
+ if (nextKey != null) {
375
+ e.preventDefault();
376
+ navigateToKey(nextKey, direction() === "rtl" ? "last" : "first");
377
+ }
378
+ }
379
+ break;
380
+ case "Home":
381
+ if (d.getFirstKey) {
382
+ if (manager.focusedKey == null && e.shiftKey) return;
383
+ e.preventDefault();
384
+ const firstKey = d.getFirstKey(manager.focusedKey ?? void 0, isCtrlKeyPressed(e));
385
+ manager.setFocusedKey(firstKey);
386
+ if (firstKey != null) {
387
+ if (isCtrlKeyPressed(e) && e.shiftKey && manager.selectionMode === "multiple") manager.extendSelection(firstKey);
388
+ else if (selectOnFocus()) manager.replaceSelection(firstKey);
389
+ }
390
+ }
391
+ break;
392
+ case "End":
393
+ if (d.getLastKey) {
394
+ if (manager.focusedKey == null && e.shiftKey) return;
395
+ e.preventDefault();
396
+ const lastKey = d.getLastKey(manager.focusedKey ?? void 0, isCtrlKeyPressed(e));
397
+ manager.setFocusedKey(lastKey);
398
+ if (lastKey != null) {
399
+ if (isCtrlKeyPressed(e) && e.shiftKey && manager.selectionMode === "multiple") manager.extendSelection(lastKey);
400
+ else if (selectOnFocus()) manager.replaceSelection(lastKey);
401
+ }
402
+ }
403
+ break;
404
+ case "PageDown":
405
+ if (d.getKeyPageBelow && manager.focusedKey != null) {
406
+ const nextKey = d.getKeyPageBelow(manager.focusedKey);
407
+ if (nextKey != null) {
408
+ e.preventDefault();
409
+ navigateToKey(nextKey);
410
+ }
411
+ }
412
+ break;
413
+ case "PageUp":
414
+ if (d.getKeyPageAbove && manager.focusedKey != null) {
415
+ const nextKey = d.getKeyPageAbove(manager.focusedKey);
416
+ if (nextKey != null) {
417
+ e.preventDefault();
418
+ navigateToKey(nextKey);
419
+ }
420
+ }
421
+ break;
422
+ case "a":
423
+ if (isCtrlKeyPressed(e) && manager.selectionMode === "multiple" && disallowSelectAll !== true) {
424
+ e.preventDefault();
425
+ manager.selectAll();
426
+ }
427
+ break;
428
+ case "Escape":
429
+ if (escapeKeyBehavior === "clearSelection" && !disallowEmptySelection && manager.selectedKeys.size !== 0) {
430
+ e.stopPropagation();
431
+ e.preventDefault();
432
+ manager.clearSelection();
433
+ }
434
+ break;
435
+ case "Tab": if (!allowsTabNavigation) {
436
+ if (e.shiftKey) root.focus();
437
+ else {
438
+ const walker = getFocusableTreeWalker(root, { tabbable: true });
439
+ let next;
440
+ let last;
441
+ do {
442
+ last = walker.lastChild();
443
+ if (last) next = last;
444
+ } while (last);
445
+ const activeElement = getActiveElement();
446
+ if (next && (!isFocusWithin(next) || activeElement && !isTabbable(activeElement))) focusWithoutScrolling(next);
447
+ }
448
+ break;
449
+ }
450
+ }
451
+ };
452
+ const scrollPos = {
453
+ top: 0,
454
+ left: 0
455
+ };
456
+ addRefListener(scrollRef, "scroll", () => {
457
+ const sr = scrollRef();
458
+ scrollPos.top = sr?.scrollTop ?? 0;
459
+ scrollPos.left = sr?.scrollLeft ?? 0;
460
+ });
461
+ const onFocusIn = (e) => {
462
+ const currentTarget = e.currentTarget;
463
+ if (manager.isFocused) {
464
+ if (!nodeContains(currentTarget, getEventTarget(e))) manager.setFocused(false);
465
+ return;
466
+ }
467
+ if (!nodeContains(currentTarget, getEventTarget(e))) return;
468
+ const modality = getInteractionModality();
469
+ manager.setFocused(true);
470
+ const navigate = (key) => {
471
+ if (key != null) {
472
+ manager.setFocusedKey(key);
473
+ if (selectOnFocus() && !manager.isSelected(key)) manager.replaceSelection(key);
474
+ }
475
+ };
476
+ if (focusOnEntry && (modality === "keyboard" || modality === "virtual")) navigate(focusOnEntry === "first" ? delegate().getFirstKey?.() : delegate().getLastKey?.());
477
+ else if (manager.focusedKey == null) {
478
+ const relatedTarget = e.relatedTarget;
479
+ if (relatedTarget && currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) navigate(manager.lastSelectedKey ?? delegate().getLastKey?.());
480
+ else navigate(manager.firstSelectedKey ?? delegate().getFirstKey?.());
481
+ } else if (scrollRef()) {
482
+ const sr = scrollRef();
483
+ sr.scrollTop = scrollPos.top;
484
+ sr.scrollLeft = scrollPos.left;
485
+ }
486
+ if (manager.focusedKey != null && scrollRef()) {
487
+ const element = getItemElement(ref, manager.focusedKey);
488
+ if (element instanceof HTMLElement) {
489
+ if (!isFocusWithin(element) && !shouldUseVirtualFocus) focusWithoutScrolling(element);
490
+ if (modality === "keyboard" || focusOnEntry && modality === "virtual") scrollIntoViewport(element, { containingElement: ref() });
491
+ }
492
+ }
493
+ };
494
+ const onFocusOut = (e) => {
495
+ const currentTarget = e.currentTarget;
496
+ if (!nodeContains(currentTarget, e.relatedTarget)) manager.setFocused(false);
497
+ };
498
+ let shouldVirtualFocusFirst = false;
499
+ if (shouldUseVirtualFocus) {
500
+ addRefListener(ref, FOCUS_EVENT, (e) => {
501
+ const detail = e.detail;
502
+ e.stopPropagation();
503
+ manager.setFocused(true);
504
+ if (detail?.focusStrategy === "first") shouldVirtualFocusFirst = true;
505
+ });
506
+ addRefListener(ref, CLEAR_FOCUS_EVENT, (e) => {
507
+ e.stopPropagation();
508
+ manager.setFocused(false);
509
+ if (e.detail?.clearFocusKey) manager.setFocusedKey(null);
510
+ });
511
+ }
512
+ createEffect(on(() => [delegate().getFirstKey?.() ?? null, manager.collection.size], ([firstKey]) => {
513
+ if (!shouldVirtualFocusFirst) return;
514
+ if (firstKey == null) {
515
+ if (manager.collection.size > 0) shouldVirtualFocusFirst = false;
516
+ } else {
517
+ manager.setFocusedKey(firstKey);
518
+ shouldVirtualFocusFirst = false;
519
+ }
520
+ }, { defer: true }));
521
+ createEffect(on(() => manager.focusedKey, () => {
522
+ if (manager.collection.size > 0) shouldVirtualFocusFirst = false;
523
+ }, { defer: true }));
524
+ let autoFocusActive = autoFocus !== false;
525
+ let didAutoFocus = false;
526
+ createEffect(() => {
527
+ const size = manager.collection.size;
528
+ const selectedKeys = manager.selectedKeys;
529
+ if (!autoFocusActive) return;
530
+ let focusedKey = null;
531
+ if (autoFocus === "first") focusedKey = delegate().getFirstKey?.() ?? null;
532
+ if (autoFocus === "last") focusedKey = delegate().getLastKey?.() ?? null;
533
+ if (selectedKeys.size) {
534
+ for (const key of selectedKeys) if (manager.canSelectItem(key)) {
535
+ focusedKey = key;
536
+ break;
537
+ }
538
+ }
539
+ manager.setFocused(true);
540
+ manager.setFocusedKey(focusedKey);
541
+ const root = ref();
542
+ if (focusedKey == null && !shouldUseVirtualFocus && root) focusSafely(root);
543
+ if (size > 0) {
544
+ autoFocusActive = false;
545
+ didAutoFocus = true;
546
+ }
547
+ });
548
+ let lastFocusedKey = manager.focusedKey;
549
+ let raf = null;
550
+ createEffect(() => {
551
+ const isFocused = manager.isFocused;
552
+ const focusedKey = manager.focusedKey;
553
+ const root = ref();
554
+ const sr = scrollRef();
555
+ if (isFocused && focusedKey != null && (focusedKey !== lastFocusedKey || didAutoFocus) && sr && root) {
556
+ const modality = getInteractionModality();
557
+ const element = getItemElement(ref, focusedKey);
558
+ if (!(element instanceof HTMLElement)) return;
559
+ if (modality === "keyboard" || didAutoFocus) {
560
+ if (raf != null) cancelAnimationFrame(raf);
561
+ raf = requestAnimationFrame(() => {
562
+ const scrollEl = scrollRef();
563
+ if (scrollEl) {
564
+ scrollIntoView(scrollEl, element);
565
+ if (modality !== "virtual") scrollIntoViewport(element, { containingElement: ref() });
566
+ }
567
+ });
568
+ }
569
+ }
570
+ if (!shouldUseVirtualFocus && isFocused && focusedKey == null && lastFocusedKey != null && root) focusSafely(root);
571
+ lastFocusedKey = focusedKey;
572
+ didAutoFocus = false;
573
+ });
574
+ onCleanup(() => {
575
+ if (raf != null) cancelAnimationFrame(raf);
576
+ });
577
+ addRefListener(ref, "react-aria-focus-scope-restore", (e) => {
578
+ e.preventDefault();
579
+ manager.setFocused(true);
580
+ });
581
+ const onMouseDown = (e) => {
582
+ if (scrollRef() === getEventTarget(e)) e.preventDefault();
583
+ };
584
+ const { typeSelectProps } = createTypeSelect({
585
+ collection: () => manager.collection,
586
+ focusedKey: () => manager.focusedKey,
587
+ onFocusedKeyChange: (key) => manager.setFocusedKey(key),
588
+ isKeyDisabled: (key) => manager.isDisabled(key)
589
+ });
590
+ const collectionId = registerCollectionId(manager);
591
+ return { get collectionProps() {
592
+ let tabIndex;
593
+ if (!shouldUseVirtualFocus) tabIndex = manager.focusedKey == null ? 0 : -1;
594
+ let handlers = {
595
+ onKeyDown,
596
+ onFocusIn,
597
+ onFocusOut,
598
+ onMouseDown
599
+ };
600
+ if (!disallowTypeAhead) handlers = mergeProps$1(typeSelectProps, handlers);
601
+ return mergeProps$1(handlers, {
602
+ tabIndex,
603
+ "data-collection": collectionId
604
+ });
605
+ } };
606
+ }
607
+ /** Attaches `type` to the element from `ref`, re-binding when the element changes. */
608
+ function addRefListener(ref, type, handler) {
609
+ createEffect(() => {
610
+ const el = ref();
611
+ if (!el) return;
612
+ el.addEventListener(type, handler);
613
+ onCleanup(() => el.removeEventListener(type, handler));
614
+ });
615
+ }
616
+ //#endregion
617
+ //#region src/selection/createSelectableList.ts
618
+ /**
619
+ * createSelectableList - keyboard navigation and selection for a list collection.
620
+ * Based on @react-aria/selection's `useSelectableList`.
621
+ *
622
+ * React → Solid adaptations (faithful to upstream behavior):
623
+ * - `ref` / `scrollRef` are Solid accessors.
624
+ * - The default `ListKeyboardDelegate` is built inside a `createMemo` so it is
625
+ * recreated whenever the collection, disabled keys, disabled behavior, or
626
+ * collator change (the house convention — the delegate stores those as plain
627
+ * values; see {@link ListKeyboardDelegate}). This is the Solid equivalent of
628
+ * upstream's `useMemo` keyed on the same inputs.
629
+ * - Upstream takes `collection` and `disabledKeys` as separate props; our
630
+ * SelectionManager already exposes them as reactive getters
631
+ * (`manager.collection`, `manager.disabledKeys`, `manager.disabledBehavior`),
632
+ * so the delegate is derived from the manager — a single source of truth.
633
+ * A `layoutDelegate` may still be supplied for virtualized collections.
634
+ */
635
+ /**
636
+ * Handles interactions with a selectable list collection.
637
+ */
638
+ function createSelectableList(options) {
639
+ const manager = options.selectionManager;
640
+ const collator = createCollator({
641
+ usage: "search",
642
+ sensitivity: "base"
643
+ });
644
+ const keyboardDelegate = createMemo(() => {
645
+ if (options.keyboardDelegate != null) return access(options.keyboardDelegate);
646
+ return new ListKeyboardDelegate({
647
+ collection: manager.collection,
648
+ disabledKeys: manager.disabledKeys,
649
+ disabledBehavior: manager.disabledBehavior,
650
+ ref: options.ref,
651
+ collator: collator(),
652
+ layoutDelegate: options.layoutDelegate
653
+ });
654
+ });
655
+ const collection = createSelectableCollection({
656
+ ...options,
657
+ keyboardDelegate
658
+ });
659
+ return { get listProps() {
660
+ return collection.collectionProps;
661
+ } };
662
+ }
663
+ //#endregion
664
+ export { createScrollIntoViewOnFocus as a, DOMLayoutDelegate as i, createSelectableCollection as n, ListKeyboardDelegate as r, createSelectableList as t };
665
+
666
+ //# sourceMappingURL=selection.js.map