@proyecto-viviana/solidaria 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/README.md +31 -236
  2. package/dist/actiongroup/createActionGroup.d.ts +5 -5
  3. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  4. package/dist/actiongroup/index.d.ts +1 -1
  5. package/dist/autocomplete/createAutocomplete.d.ts +10 -10
  6. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  7. package/dist/autocomplete/index.d.ts +1 -1
  8. package/dist/autocomplete/index.d.ts.map +1 -1
  9. package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
  10. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  11. package/dist/breadcrumbs/index.d.ts +1 -1
  12. package/dist/button/createButton.d.ts +1 -1
  13. package/dist/button/createButton.d.ts.map +1 -1
  14. package/dist/button/createToggleButton.d.ts +3 -3
  15. package/dist/button/createToggleButtonGroup.d.ts +7 -7
  16. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  17. package/dist/button/index.d.ts +6 -6
  18. package/dist/button/index.d.ts.map +1 -1
  19. package/dist/button/types.d.ts +18 -12
  20. package/dist/button/types.d.ts.map +1 -1
  21. package/dist/calendar/createCalendar.d.ts +15 -5
  22. package/dist/calendar/createCalendar.d.ts.map +1 -1
  23. package/dist/calendar/createCalendarCell.d.ts +6 -2
  24. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  25. package/dist/calendar/createCalendarGrid.d.ts +4 -4
  26. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  27. package/dist/calendar/createRangeCalendar.d.ts +15 -5
  28. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  29. package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
  30. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  31. package/dist/calendar/index.d.ts +5 -5
  32. package/dist/calendar/index.d.ts.map +1 -1
  33. package/dist/calendar/intl/index.d.ts +12 -0
  34. package/dist/calendar/intl/index.d.ts.map +1 -0
  35. package/dist/calendar/utils.d.ts +12 -0
  36. package/dist/calendar/utils.d.ts.map +1 -0
  37. package/dist/checkbox/createCheckbox.d.ts +6 -6
  38. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  39. package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
  40. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  41. package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
  42. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  43. package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
  44. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
  45. package/dist/checkbox/index.d.ts +8 -8
  46. package/dist/checkbox/index.d.ts.map +1 -1
  47. package/dist/collections/index.d.ts +3 -3
  48. package/dist/collections/index.d.ts.map +1 -1
  49. package/dist/color/createColorArea.d.ts +3 -3
  50. package/dist/color/createColorArea.d.ts.map +1 -1
  51. package/dist/color/createColorField.d.ts +4 -4
  52. package/dist/color/createColorField.d.ts.map +1 -1
  53. package/dist/color/createColorSlider.d.ts +4 -4
  54. package/dist/color/createColorSlider.d.ts.map +1 -1
  55. package/dist/color/createColorSwatch.d.ts +2 -2
  56. package/dist/color/createColorSwatch.d.ts.map +1 -1
  57. package/dist/color/createColorWheel.d.ts +3 -3
  58. package/dist/color/createColorWheel.d.ts.map +1 -1
  59. package/dist/color/index.d.ts +6 -6
  60. package/dist/color/types.d.ts +98 -16
  61. package/dist/color/types.d.ts.map +1 -1
  62. package/dist/combobox/createComboBox.d.ts +10 -7
  63. package/dist/combobox/createComboBox.d.ts.map +1 -1
  64. package/dist/combobox/index.d.ts +1 -1
  65. package/dist/combobox/intl/index.d.ts +1 -1
  66. package/dist/datepicker/createDateField.d.ts +18 -6
  67. package/dist/datepicker/createDateField.d.ts.map +1 -1
  68. package/dist/datepicker/createDatePicker.d.ts +51 -5
  69. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  70. package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
  71. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
  72. package/dist/datepicker/createDateRangePicker.d.ts +8 -6
  73. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  74. package/dist/datepicker/createDateSegment.d.ts +10 -2
  75. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  76. package/dist/datepicker/createTimeField.d.ts +11 -5
  77. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  78. package/dist/datepicker/createTimeSegment.d.ts +2 -2
  79. package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
  80. package/dist/datepicker/index.d.ts +7 -6
  81. package/dist/datepicker/index.d.ts.map +1 -1
  82. package/dist/dialog/createDialog.d.ts +5 -5
  83. package/dist/dialog/createDialog.d.ts.map +1 -1
  84. package/dist/dialog/index.d.ts +2 -2
  85. package/dist/dialog/index.d.ts.map +1 -1
  86. package/dist/dialog/types.d.ts +4 -4
  87. package/dist/disclosure/createDisclosure.d.ts +5 -2
  88. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  89. package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
  90. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  91. package/dist/disclosure/index.d.ts +2 -2
  92. package/dist/dnd/createDrag.d.ts +2 -2
  93. package/dist/dnd/createDrag.d.ts.map +1 -1
  94. package/dist/dnd/createDraggableCollection.d.ts +2 -2
  95. package/dist/dnd/createDraggableItem.d.ts +3 -3
  96. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  97. package/dist/dnd/createDrop.d.ts +2 -2
  98. package/dist/dnd/createDrop.d.ts.map +1 -1
  99. package/dist/dnd/createDroppableCollection.d.ts +26 -6
  100. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  101. package/dist/dnd/createDroppableItem.d.ts +3 -3
  102. package/dist/dnd/index.d.ts +12 -12
  103. package/dist/dnd/index.d.ts.map +1 -1
  104. package/dist/dnd/types.d.ts +2 -2
  105. package/dist/dnd/types.d.ts.map +1 -1
  106. package/dist/dnd/utils.d.ts +1 -1
  107. package/dist/dnd/utils.d.ts.map +1 -1
  108. package/dist/focus/FocusScope.d.ts +1 -1
  109. package/dist/focus/FocusScope.d.ts.map +1 -1
  110. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  111. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  112. package/dist/focus/createVirtualFocus.d.ts +4 -4
  113. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  114. package/dist/focus/index.d.ts +4 -4
  115. package/dist/focus/index.d.ts.map +1 -1
  116. package/dist/form/createFormReset.d.ts +1 -1
  117. package/dist/form/createFormValidation.d.ts +3 -3
  118. package/dist/form/createFormValidation.d.ts.map +1 -1
  119. package/dist/form/index.d.ts +2 -2
  120. package/dist/form/index.d.ts.map +1 -1
  121. package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
  122. package/dist/grid/createGrid.d.ts +3 -3
  123. package/dist/grid/createGridCell.d.ts +3 -3
  124. package/dist/grid/createGridRow.d.ts +3 -3
  125. package/dist/grid/index.d.ts +5 -5
  126. package/dist/grid/types.d.ts +8 -8
  127. package/dist/gridlist/createGridList.d.ts +6 -4
  128. package/dist/gridlist/createGridList.d.ts.map +1 -1
  129. package/dist/gridlist/createGridListItem.d.ts +4 -4
  130. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  131. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
  132. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  133. package/dist/gridlist/index.d.ts +4 -4
  134. package/dist/gridlist/types.d.ts +11 -7
  135. package/dist/gridlist/types.d.ts.map +1 -1
  136. package/dist/i18n/createCollator.d.ts.map +1 -1
  137. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  138. package/dist/i18n/createFilter.d.ts.map +1 -1
  139. package/dist/i18n/createNumberFormatter.d.ts +1 -1
  140. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  141. package/dist/i18n/createStringFormatter.d.ts +2 -2
  142. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  143. package/dist/i18n/index.d.ts +8 -8
  144. package/dist/i18n/index.d.ts.map +1 -1
  145. package/dist/i18n/locale.d.ts +2 -2
  146. package/dist/i18n/locale.d.ts.map +1 -1
  147. package/dist/i18n/utils.d.ts.map +1 -1
  148. package/dist/index.d.ts +52 -51
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js +18012 -16820
  151. package/dist/index.js.map +1 -1
  152. package/dist/index.jsx +18242 -0
  153. package/dist/index.jsx.map +1 -0
  154. package/dist/interactions/FocusableProvider.d.ts +2 -2
  155. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  156. package/dist/interactions/PressEvent.d.ts +2 -2
  157. package/dist/interactions/createFocus.d.ts +1 -1
  158. package/dist/interactions/createFocus.d.ts.map +1 -1
  159. package/dist/interactions/createFocusRing.d.ts +1 -1
  160. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  161. package/dist/interactions/createFocusWithin.d.ts +1 -1
  162. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  163. package/dist/interactions/createFocusable.d.ts +3 -3
  164. package/dist/interactions/createFocusable.d.ts.map +1 -1
  165. package/dist/interactions/createHover.d.ts +5 -5
  166. package/dist/interactions/createHover.d.ts.map +1 -1
  167. package/dist/interactions/createInteractionModality.d.ts +3 -3
  168. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  169. package/dist/interactions/createKeyboard.d.ts +1 -1
  170. package/dist/interactions/createLongPress.d.ts +5 -5
  171. package/dist/interactions/createMove.d.ts +5 -5
  172. package/dist/interactions/createMove.d.ts.map +1 -1
  173. package/dist/interactions/createPress.d.ts +4 -4
  174. package/dist/interactions/createPress.d.ts.map +1 -1
  175. package/dist/interactions/index.d.ts +12 -12
  176. package/dist/interactions/index.d.ts.map +1 -1
  177. package/dist/label/createField.d.ts +4 -4
  178. package/dist/label/createField.d.ts.map +1 -1
  179. package/dist/label/createLabel.d.ts +7 -7
  180. package/dist/label/createLabel.d.ts.map +1 -1
  181. package/dist/label/createLabels.d.ts +1 -1
  182. package/dist/label/createLabels.d.ts.map +1 -1
  183. package/dist/label/index.d.ts +5 -5
  184. package/dist/landmark/createLandmark.d.ts +5 -5
  185. package/dist/landmark/createLandmark.d.ts.map +1 -1
  186. package/dist/landmark/index.d.ts +1 -1
  187. package/dist/link/createLink.d.ts +14 -8
  188. package/dist/link/createLink.d.ts.map +1 -1
  189. package/dist/link/index.d.ts +1 -1
  190. package/dist/listbox/createListBox.d.ts +11 -6
  191. package/dist/listbox/createListBox.d.ts.map +1 -1
  192. package/dist/listbox/createOption.d.ts +21 -4
  193. package/dist/listbox/createOption.d.ts.map +1 -1
  194. package/dist/listbox/index.d.ts +2 -2
  195. package/dist/listbox/index.d.ts.map +1 -1
  196. package/dist/live-announcer/announce.d.ts +2 -2
  197. package/dist/live-announcer/announce.d.ts.map +1 -1
  198. package/dist/live-announcer/index.d.ts +1 -1
  199. package/dist/menu/createMenu.d.ts +7 -7
  200. package/dist/menu/createMenu.d.ts.map +1 -1
  201. package/dist/menu/createMenuItem.d.ts +16 -4
  202. package/dist/menu/createMenuItem.d.ts.map +1 -1
  203. package/dist/menu/createMenuTrigger.d.ts +4 -4
  204. package/dist/menu/index.d.ts +3 -3
  205. package/dist/menu/index.d.ts.map +1 -1
  206. package/dist/meter/createMeter.d.ts +6 -6
  207. package/dist/meter/createMeter.d.ts.map +1 -1
  208. package/dist/meter/index.d.ts +1 -1
  209. package/dist/numberfield/createNumberField.d.ts +9 -8
  210. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  211. package/dist/numberfield/index.d.ts +1 -1
  212. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  213. package/dist/overlays/createModal.d.ts +3 -3
  214. package/dist/overlays/createModal.d.ts.map +1 -1
  215. package/dist/overlays/createOverlay.d.ts +1 -1
  216. package/dist/overlays/createOverlay.d.ts.map +1 -1
  217. package/dist/overlays/createOverlayTrigger.d.ts +6 -6
  218. package/dist/overlays/index.d.ts +6 -6
  219. package/dist/overlays/index.d.ts.map +1 -1
  220. package/dist/popover/calculatePosition.d.ts +4 -4
  221. package/dist/popover/calculatePosition.d.ts.map +1 -1
  222. package/dist/popover/createOverlayPosition.d.ts +3 -3
  223. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  224. package/dist/popover/createPopover.d.ts +4 -4
  225. package/dist/popover/createPopover.d.ts.map +1 -1
  226. package/dist/popover/index.d.ts +3 -3
  227. package/dist/progress/createProgressBar.d.ts +7 -5
  228. package/dist/progress/createProgressBar.d.ts.map +1 -1
  229. package/dist/progress/index.d.ts +1 -1
  230. package/dist/radio/createRadio.d.ts +7 -7
  231. package/dist/radio/createRadio.d.ts.map +1 -1
  232. package/dist/radio/createRadioGroup.d.ts +10 -10
  233. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  234. package/dist/radio/createRadioGroupState.d.ts +3 -3
  235. package/dist/radio/createRadioGroupState.d.ts.map +1 -1
  236. package/dist/radio/index.d.ts +3 -3
  237. package/dist/radio/index.d.ts.map +1 -1
  238. package/dist/searchfield/createSearchField.d.ts +7 -7
  239. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  240. package/dist/searchfield/index.d.ts +2 -2
  241. package/dist/select/createHiddenSelect.d.ts +4 -4
  242. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  243. package/dist/select/createSelect.d.ts +14 -6
  244. package/dist/select/createSelect.d.ts.map +1 -1
  245. package/dist/select/index.d.ts +2 -2
  246. package/dist/select/index.d.ts.map +1 -1
  247. package/dist/selection/createTypeSelect.d.ts +2 -2
  248. package/dist/selection/index.d.ts +1 -1
  249. package/dist/separator/createSeparator.d.ts +9 -5
  250. package/dist/separator/createSeparator.d.ts.map +1 -1
  251. package/dist/separator/index.d.ts +1 -1
  252. package/dist/slider/createSlider.d.ts +11 -7
  253. package/dist/slider/createSlider.d.ts.map +1 -1
  254. package/dist/slider/index.d.ts +2 -2
  255. package/dist/ssr/index.d.ts +1 -1
  256. package/dist/ssr/index.d.ts.map +1 -1
  257. package/dist/steplist/createStepList.d.ts +36 -0
  258. package/dist/steplist/createStepList.d.ts.map +1 -0
  259. package/dist/steplist/index.d.ts +2 -0
  260. package/dist/steplist/index.d.ts.map +1 -0
  261. package/dist/switch/createSwitch.d.ts +6 -4
  262. package/dist/switch/createSwitch.d.ts.map +1 -1
  263. package/dist/switch/index.d.ts +1 -1
  264. package/dist/table/createTable.d.ts +3 -3
  265. package/dist/table/createTable.d.ts.map +1 -1
  266. package/dist/table/createTableCell.d.ts +3 -3
  267. package/dist/table/createTableCell.d.ts.map +1 -1
  268. package/dist/table/createTableColumnHeader.d.ts +3 -3
  269. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  270. package/dist/table/createTableColumnResize.d.ts +41 -0
  271. package/dist/table/createTableColumnResize.d.ts.map +1 -0
  272. package/dist/table/createTableHeaderRow.d.ts +3 -3
  273. package/dist/table/createTableRow.d.ts +3 -3
  274. package/dist/table/createTableRow.d.ts.map +1 -1
  275. package/dist/table/createTableRowGroup.d.ts +2 -2
  276. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  277. package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
  278. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  279. package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
  280. package/dist/table/index.d.ts +11 -9
  281. package/dist/table/index.d.ts.map +1 -1
  282. package/dist/table/types.d.ts +15 -7
  283. package/dist/table/types.d.ts.map +1 -1
  284. package/dist/tabs/createTabs.d.ts +28 -25
  285. package/dist/tabs/createTabs.d.ts.map +1 -1
  286. package/dist/tabs/index.d.ts +1 -1
  287. package/dist/tag/createTag.d.ts +2 -2
  288. package/dist/tag/createTag.d.ts.map +1 -1
  289. package/dist/tag/createTagGroup.d.ts +5 -5
  290. package/dist/tag/createTagGroup.d.ts.map +1 -1
  291. package/dist/tag/index.d.ts +2 -2
  292. package/dist/tag/index.d.ts.map +1 -1
  293. package/dist/textfield/createTextField.d.ts +17 -11
  294. package/dist/textfield/createTextField.d.ts.map +1 -1
  295. package/dist/textfield/index.d.ts +1 -1
  296. package/dist/textfield/index.d.ts.map +1 -1
  297. package/dist/toast/createToast.d.ts +2 -2
  298. package/dist/toast/createToast.d.ts.map +1 -1
  299. package/dist/toast/createToastRegion.d.ts +5 -3
  300. package/dist/toast/createToastRegion.d.ts.map +1 -1
  301. package/dist/toast/index.d.ts +2 -2
  302. package/dist/toast/index.d.ts.map +1 -1
  303. package/dist/toggle/createToggle.d.ts +9 -9
  304. package/dist/toggle/createToggle.d.ts.map +1 -1
  305. package/dist/toggle/createToggleState.d.ts +2 -2
  306. package/dist/toggle/createToggleState.d.ts.map +1 -1
  307. package/dist/toggle/index.d.ts +4 -4
  308. package/dist/toggle/index.d.ts.map +1 -1
  309. package/dist/toolbar/createToolbar.d.ts +9 -9
  310. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  311. package/dist/toolbar/index.d.ts +1 -1
  312. package/dist/toolbar/index.d.ts.map +1 -1
  313. package/dist/tooltip/createTooltip.d.ts +5 -5
  314. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  315. package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
  316. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  317. package/dist/tooltip/index.d.ts +2 -2
  318. package/dist/tree/createTree.d.ts +3 -3
  319. package/dist/tree/createTree.d.ts.map +1 -1
  320. package/dist/tree/createTreeItem.d.ts +4 -4
  321. package/dist/tree/createTreeItem.d.ts.map +1 -1
  322. package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
  323. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  324. package/dist/tree/index.d.ts +4 -4
  325. package/dist/tree/types.d.ts +10 -6
  326. package/dist/tree/types.d.ts.map +1 -1
  327. package/dist/utils/createDescription.d.ts +2 -2
  328. package/dist/utils/createDescription.d.ts.map +1 -1
  329. package/dist/utils/dom.d.ts.map +1 -1
  330. package/dist/utils/env.d.ts.map +1 -1
  331. package/dist/utils/focus.d.ts +1 -1
  332. package/dist/utils/focus.d.ts.map +1 -1
  333. package/dist/utils/geometry.d.ts.map +1 -1
  334. package/dist/utils/index.d.ts +12 -12
  335. package/dist/utils/index.d.ts.map +1 -1
  336. package/dist/utils/mergeProps.d.ts.map +1 -1
  337. package/dist/utils/reactivity.d.ts +1 -1
  338. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
  339. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  340. package/dist/visually-hidden/index.d.ts +1 -1
  341. package/package.json +32 -32
  342. package/src/actiongroup/createActionGroup.ts +101 -91
  343. package/src/actiongroup/index.ts +1 -1
  344. package/src/autocomplete/createAutocomplete.ts +117 -134
  345. package/src/autocomplete/index.ts +1 -1
  346. package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
  347. package/src/breadcrumbs/index.ts +1 -1
  348. package/src/button/createButton.ts +102 -73
  349. package/src/button/createToggleButton.ts +10 -10
  350. package/src/button/createToggleButtonGroup.ts +25 -32
  351. package/src/button/index.ts +6 -9
  352. package/src/button/types.ts +18 -12
  353. package/src/calendar/createCalendar.ts +62 -29
  354. package/src/calendar/createCalendarCell.ts +98 -46
  355. package/src/calendar/createCalendarGrid.ts +57 -35
  356. package/src/calendar/createRangeCalendar.ts +66 -31
  357. package/src/calendar/createRangeCalendarCell.ts +92 -31
  358. package/src/calendar/index.ts +5 -9
  359. package/src/calendar/intl/index.ts +210 -0
  360. package/src/calendar/utils.ts +227 -0
  361. package/src/checkbox/createCheckbox.ts +13 -21
  362. package/src/checkbox/createCheckboxGroup.ts +68 -44
  363. package/src/checkbox/createCheckboxGroupItem.ts +16 -27
  364. package/src/checkbox/createCheckboxGroupState.ts +3 -22
  365. package/src/checkbox/index.ts +8 -10
  366. package/src/collections/index.ts +33 -29
  367. package/src/color/createColorArea.ts +232 -154
  368. package/src/color/createColorField.ts +107 -58
  369. package/src/color/createColorSlider.ts +231 -73
  370. package/src/color/createColorSwatch.ts +38 -13
  371. package/src/color/createColorWheel.ts +208 -83
  372. package/src/color/index.ts +6 -6
  373. package/src/color/types.ts +98 -16
  374. package/src/combobox/createComboBox.ts +157 -100
  375. package/src/combobox/index.ts +1 -1
  376. package/src/combobox/intl/index.ts +5 -5
  377. package/src/datepicker/createDateField.ts +192 -39
  378. package/src/datepicker/createDatePicker.ts +260 -67
  379. package/src/datepicker/createDatePickerGroup.ts +149 -0
  380. package/src/datepicker/createDateRangePicker.ts +105 -57
  381. package/src/datepicker/createDateSegment.ts +183 -96
  382. package/src/datepicker/createTimeField.ts +38 -34
  383. package/src/datepicker/createTimeSegment.ts +67 -85
  384. package/src/datepicker/index.ts +13 -14
  385. package/src/dialog/createDialog.ts +45 -38
  386. package/src/dialog/index.ts +2 -2
  387. package/src/dialog/types.ts +4 -4
  388. package/src/disclosure/createDisclosure.ts +138 -33
  389. package/src/disclosure/createDisclosureGroup.ts +8 -21
  390. package/src/disclosure/index.ts +2 -2
  391. package/src/dnd/createDrag.ts +19 -25
  392. package/src/dnd/createDraggableCollection.ts +4 -4
  393. package/src/dnd/createDraggableItem.ts +20 -19
  394. package/src/dnd/createDrop.ts +42 -51
  395. package/src/dnd/createDroppableCollection.ts +290 -173
  396. package/src/dnd/createDroppableItem.ts +34 -34
  397. package/src/dnd/index.ts +23 -12
  398. package/src/dnd/types.ts +4 -7
  399. package/src/dnd/utils.ts +36 -49
  400. package/src/focus/FocusScope.tsx +155 -164
  401. package/src/focus/createAutoFocus.ts +4 -20
  402. package/src/focus/createFocusRestore.ts +15 -28
  403. package/src/focus/createVirtualFocus.ts +20 -36
  404. package/src/focus/index.ts +4 -8
  405. package/src/form/createFormReset.ts +4 -4
  406. package/src/form/createFormValidation.ts +20 -43
  407. package/src/form/index.ts +2 -5
  408. package/src/grid/GridKeyboardDelegate.ts +30 -30
  409. package/src/grid/createGrid.ts +36 -36
  410. package/src/grid/createGridCell.ts +18 -18
  411. package/src/grid/createGridRow.ts +14 -14
  412. package/src/grid/index.ts +5 -5
  413. package/src/grid/types.ts +8 -8
  414. package/src/gridlist/createGridList.ts +34 -29
  415. package/src/gridlist/createGridListItem.ts +68 -23
  416. package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
  417. package/src/gridlist/index.ts +4 -4
  418. package/src/gridlist/types.ts +11 -7
  419. package/src/i18n/createCollator.ts +5 -18
  420. package/src/i18n/createDateFormatter.ts +5 -13
  421. package/src/i18n/createFilter.ts +11 -24
  422. package/src/i18n/createNumberFormatter.ts +4 -6
  423. package/src/i18n/createStringFormatter.ts +19 -15
  424. package/src/i18n/index.ts +8 -11
  425. package/src/i18n/locale.tsx +15 -40
  426. package/src/i18n/utils.ts +35 -39
  427. package/src/index.ts +68 -169
  428. package/src/interactions/FocusableProvider.tsx +3 -7
  429. package/src/interactions/PressEvent.ts +4 -4
  430. package/src/interactions/createFocus.ts +12 -8
  431. package/src/interactions/createFocusRing.ts +21 -19
  432. package/src/interactions/createFocusWithin.ts +20 -13
  433. package/src/interactions/createFocusable.ts +15 -16
  434. package/src/interactions/createHover.ts +70 -55
  435. package/src/interactions/createInteractionModality.ts +75 -82
  436. package/src/interactions/createKeyboard.ts +2 -2
  437. package/src/interactions/createLongPress.ts +23 -23
  438. package/src/interactions/createMove.ts +72 -62
  439. package/src/interactions/createPress.ts +164 -87
  440. package/src/interactions/index.ts +24 -16
  441. package/src/label/createField.ts +18 -19
  442. package/src/label/createLabel.ts +18 -30
  443. package/src/label/createLabels.ts +8 -12
  444. package/src/label/index.ts +5 -5
  445. package/src/landmark/createLandmark.ts +30 -51
  446. package/src/landmark/index.ts +1 -1
  447. package/src/link/createLink.ts +83 -56
  448. package/src/link/index.ts +1 -1
  449. package/src/listbox/createListBox.ts +69 -58
  450. package/src/listbox/createOption.ts +83 -37
  451. package/src/listbox/index.ts +2 -6
  452. package/src/live-announcer/announce.ts +44 -71
  453. package/src/live-announcer/index.ts +1 -1
  454. package/src/menu/createMenu.ts +79 -50
  455. package/src/menu/createMenuItem.ts +79 -27
  456. package/src/menu/createMenuTrigger.ts +15 -15
  457. package/src/menu/index.ts +3 -12
  458. package/src/meter/createMeter.ts +7 -15
  459. package/src/meter/index.ts +1 -1
  460. package/src/numberfield/createNumberField.ts +138 -81
  461. package/src/numberfield/index.ts +1 -1
  462. package/src/overlays/ariaHideOutside.ts +14 -10
  463. package/src/overlays/createInteractOutside.ts +21 -18
  464. package/src/overlays/createModal.tsx +17 -17
  465. package/src/overlays/createOverlay.ts +38 -8
  466. package/src/overlays/createOverlayTrigger.ts +16 -16
  467. package/src/overlays/createPreventScroll.ts +46 -24
  468. package/src/overlays/index.ts +6 -17
  469. package/src/popover/calculatePosition.ts +115 -117
  470. package/src/popover/createOverlayPosition.ts +46 -40
  471. package/src/popover/createPopover.ts +42 -17
  472. package/src/popover/index.ts +3 -3
  473. package/src/progress/createProgressBar.ts +31 -32
  474. package/src/progress/index.ts +1 -1
  475. package/src/radio/createRadio.ts +95 -73
  476. package/src/radio/createRadioGroup.ts +83 -77
  477. package/src/radio/createRadioGroupState.ts +7 -31
  478. package/src/radio/index.ts +3 -8
  479. package/src/searchfield/createSearchField.ts +57 -29
  480. package/src/searchfield/index.ts +2 -2
  481. package/src/select/createHiddenSelect.tsx +57 -44
  482. package/src/select/createSelect.ts +128 -71
  483. package/src/select/index.ts +2 -7
  484. package/src/selection/createTypeSelect.ts +11 -11
  485. package/src/selection/index.ts +1 -1
  486. package/src/separator/createSeparator.ts +20 -25
  487. package/src/separator/index.ts +1 -1
  488. package/src/slider/createSlider.ts +93 -124
  489. package/src/slider/index.ts +2 -2
  490. package/src/ssr/index.tsx +8 -47
  491. package/src/steplist/createStepList.ts +106 -0
  492. package/src/steplist/index.ts +8 -0
  493. package/src/switch/createSwitch.ts +9 -14
  494. package/src/switch/index.ts +1 -1
  495. package/src/table/createTable.ts +152 -85
  496. package/src/table/createTableCell.ts +17 -16
  497. package/src/table/createTableColumnHeader.ts +67 -20
  498. package/src/table/createTableColumnResize.ts +256 -0
  499. package/src/table/createTableHeaderRow.ts +7 -7
  500. package/src/table/createTableRow.ts +149 -29
  501. package/src/table/createTableRowGroup.ts +5 -7
  502. package/src/table/createTableSelectAllCheckbox.ts +12 -11
  503. package/src/table/createTableSelectionCheckbox.ts +8 -8
  504. package/src/table/index.ts +14 -9
  505. package/src/table/types.ts +15 -7
  506. package/src/tabs/createTabs.ts +74 -92
  507. package/src/tabs/index.ts +1 -1
  508. package/src/tag/createTag.ts +52 -50
  509. package/src/tag/createTagGroup.ts +47 -41
  510. package/src/tag/index.ts +2 -6
  511. package/src/textfield/createTextField.ts +67 -35
  512. package/src/textfield/index.ts +1 -5
  513. package/src/toast/createToast.ts +28 -26
  514. package/src/toast/createToastRegion.ts +169 -26
  515. package/src/toast/index.ts +2 -6
  516. package/src/toggle/createToggle.ts +95 -53
  517. package/src/toggle/createToggleState.ts +2 -10
  518. package/src/toggle/index.ts +4 -5
  519. package/src/toolbar/createToolbar.ts +193 -210
  520. package/src/toolbar/index.ts +1 -1
  521. package/src/tooltip/createTooltip.ts +11 -24
  522. package/src/tooltip/createTooltipTrigger.ts +61 -49
  523. package/src/tooltip/index.ts +2 -2
  524. package/src/tree/createTree.ts +35 -37
  525. package/src/tree/createTreeItem.ts +29 -29
  526. package/src/tree/createTreeSelectionCheckbox.ts +11 -8
  527. package/src/tree/index.ts +4 -4
  528. package/src/tree/types.ts +10 -6
  529. package/src/utils/createDescription.ts +6 -23
  530. package/src/utils/dom.ts +61 -54
  531. package/src/utils/env.ts +9 -11
  532. package/src/utils/events.ts +7 -7
  533. package/src/utils/filterDOMProps.ts +49 -49
  534. package/src/utils/focus.ts +60 -68
  535. package/src/utils/geometry.ts +1 -4
  536. package/src/utils/globalListeners.ts +9 -9
  537. package/src/utils/index.ts +12 -22
  538. package/src/utils/mergeProps.ts +42 -15
  539. package/src/utils/platform.ts +2 -2
  540. package/src/utils/reactivity.ts +3 -3
  541. package/src/utils/textSelection.ts +16 -16
  542. package/src/visually-hidden/createVisuallyHidden.ts +16 -28
  543. package/src/visually-hidden/index.ts +1 -1
  544. package/dist/i18n/NumberFormatter.d.ts +0 -43
  545. package/dist/i18n/NumberFormatter.d.ts.map +0 -1
  546. package/dist/index.ssr.js +0 -17082
  547. package/dist/index.ssr.js.map +0 -1
  548. package/src/i18n/NumberFormatter.ts +0 -266
@@ -7,91 +7,82 @@
7
7
  * Based on @react-aria/autocomplete useAutocomplete.
8
8
  */
9
9
 
10
- import {
11
- createSignal,
12
- createEffect,
13
- onCleanup,
14
- type Accessor,
15
- } from 'solid-js'
16
- import { createId, getOwnerDocument } from '../ssr'
17
- import { type AutocompleteState } from '@proyecto-viviana/solid-stately'
18
-
19
- // ============================================
20
- // TYPES
21
- // ============================================
10
+ import { createSignal, createEffect, onCleanup, type Accessor } from "solid-js";
11
+ import { createId, getOwnerDocument } from "../ssr";
12
+ import { type AutocompleteState } from "@proyecto-viviana/solid-stately";
22
13
 
23
14
  export interface CollectionOptions {
24
15
  /** The id of the collection element. */
25
- id?: string
16
+ id?: string;
26
17
  /** Accessible label for the collection. */
27
- 'aria-label'?: string
18
+ "aria-label"?: string;
28
19
  /** Whether the collection items should use virtual focus instead of being focused directly. */
29
- shouldUseVirtualFocus: boolean
20
+ shouldUseVirtualFocus: boolean;
30
21
  /** Whether typeahead is disabled. */
31
- disallowTypeAhead: boolean
22
+ disallowTypeAhead: boolean;
32
23
  }
33
24
 
34
25
  export interface AutocompleteInputProps {
35
26
  /** Current input value. */
36
- value: Accessor<string>
27
+ value: Accessor<string>;
37
28
  /** Handler for input value changes. */
38
- onChange: (value: string) => void
29
+ onChange: (value: string) => void;
39
30
  /** Handler for key events. */
40
- onKeyDown: (e: KeyboardEvent) => void
31
+ onKeyDown: (e: KeyboardEvent) => void;
41
32
  /** Handler for focus events. */
42
- onFocus: (e: FocusEvent) => void
33
+ onFocus: (e: FocusEvent) => void;
43
34
  /** Handler for blur events. */
44
- onBlur: (e: FocusEvent) => void
35
+ onBlur: (e: FocusEvent) => void;
45
36
  /** The id of the currently focused item for aria-activedescendant. */
46
- 'aria-activedescendant': Accessor<string | undefined>
37
+ "aria-activedescendant": Accessor<string | undefined>;
47
38
  /** The id of the controlled collection. */
48
- 'aria-controls': string
39
+ "aria-controls": string;
49
40
  /** Autocomplete type. */
50
- 'aria-autocomplete': 'list' | 'none' | 'inline' | 'both'
41
+ "aria-autocomplete": "list" | "none" | "inline" | "both";
51
42
  /** Enter key hint for mobile keyboards. */
52
- enterKeyHint: 'go'
43
+ enterKeyHint: "go";
53
44
  /** Disable autocorrect. */
54
- autoCorrect: 'off'
45
+ autoCorrect: "off";
55
46
  /** Disable spell check. */
56
- spellCheck: 'false'
47
+ spellCheck: "false";
57
48
  /** Disable browser autocomplete. */
58
- autoComplete: 'off'
49
+ autoComplete: "off";
59
50
  }
60
51
 
61
52
  export interface AriaAutocompleteOptions<_T = unknown> {
62
53
  /** Ref accessor for the input element. */
63
- inputRef: Accessor<HTMLInputElement | undefined>
54
+ inputRef: Accessor<HTMLInputElement | undefined>;
64
55
  /** Ref accessor for the collection element. */
65
- collectionRef: Accessor<HTMLElement | undefined>
56
+ collectionRef: Accessor<HTMLElement | undefined>;
66
57
  /** Optional id override for the controlled collection element. */
67
- collectionId?: string
58
+ collectionId?: string;
68
59
  /** Optional accessible name for the controlled collection element. */
69
- collectionAriaLabel?: string
60
+ collectionAriaLabel?: string;
70
61
  /**
71
62
  * An optional filter function used to determine if an option should be included.
72
63
  * @param textValue - The text value of the item
73
64
  * @param inputValue - The current input value
74
65
  */
75
- filter?: (textValue: string, inputValue: string) => boolean
66
+ filter?: (textValue: string, inputValue: string) => boolean;
76
67
  /**
77
68
  * Whether to focus the first item after filtering.
78
69
  * @default false
79
70
  */
80
- disableAutoFocusFirst?: boolean
71
+ disableAutoFocusFirst?: boolean;
81
72
  /**
82
73
  * Whether to disable virtual focus (aria-activedescendant).
83
74
  * @default false
84
75
  */
85
- disableVirtualFocus?: boolean
76
+ disableVirtualFocus?: boolean;
86
77
  }
87
78
 
88
79
  export interface AutocompleteAria<_T = unknown> {
89
80
  /** Props for the autocomplete input element. */
90
- inputProps: AutocompleteInputProps
81
+ inputProps: AutocompleteInputProps;
91
82
  /** Props for the collection (ListBox/Menu). */
92
- collectionProps: CollectionOptions
83
+ collectionProps: CollectionOptions;
93
84
  /** A filter function that returns if the item should be shown. */
94
- filter?: (textValue: string) => boolean
85
+ filter?: (textValue: string) => boolean;
95
86
  }
96
87
 
97
88
  function toKeyboardEventInit(e: KeyboardEvent): KeyboardEventInit {
@@ -107,20 +98,12 @@ function toKeyboardEventInit(e: KeyboardEvent): KeyboardEventInit {
107
98
  metaKey: e.metaKey,
108
99
  bubbles: e.bubbles,
109
100
  cancelable: e.cancelable,
110
- }
101
+ };
111
102
  }
112
103
 
113
- // ============================================
114
- // CONSTANTS
115
- // ============================================
116
-
117
104
  // Custom event names for collection communication
118
- export const AUTOCOMPLETE_FOCUS_EVENT = 'autocomplete:focus'
119
- export const AUTOCOMPLETE_CLEAR_FOCUS_EVENT = 'autocomplete:clearfocus'
120
-
121
- // ============================================
122
- // CREATE AUTOCOMPLETE HOOK
123
- // ============================================
105
+ export const AUTOCOMPLETE_FOCUS_EVENT = "autocomplete:focus";
106
+ export const AUTOCOMPLETE_CLEAR_FOCUS_EVENT = "autocomplete:clearfocus";
124
107
 
125
108
  /**
126
109
  * Provides the behavior and accessibility implementation for an autocomplete component.
@@ -153,7 +136,7 @@ export const AUTOCOMPLETE_CLEAR_FOCUS_EVENT = 'autocomplete:clearfocus'
153
136
  */
154
137
  export function createAutocomplete<T = unknown>(
155
138
  props: AriaAutocompleteOptions<T>,
156
- state: AutocompleteState
139
+ state: AutocompleteState,
157
140
  ): AutocompleteAria<T> {
158
141
  const {
159
142
  inputRef,
@@ -163,109 +146,109 @@ export function createAutocomplete<T = unknown>(
163
146
  collectionAriaLabel,
164
147
  disableAutoFocusFirst = false,
165
148
  disableVirtualFocus = false,
166
- } = props
149
+ } = props;
167
150
 
168
- const collectionId = collectionIdProp ?? createId()
169
- const [shouldUseVirtualFocus] = createSignal(!disableVirtualFocus)
170
- let lastInputType = ''
151
+ const collectionId = collectionIdProp ?? createId();
152
+ const [shouldUseVirtualFocus] = createSignal(!disableVirtualFocus);
153
+ let lastInputType = "";
171
154
 
172
155
  // Track the input type for determining focus behavior
173
156
  const handleInput = (e: Event) => {
174
- const inputEvent = e as InputEvent
175
- lastInputType = inputEvent.inputType || ''
176
- }
157
+ const inputEvent = e as InputEvent;
158
+ lastInputType = inputEvent.inputType || "";
159
+ };
177
160
 
178
161
  // Set up input event listener
179
162
  createEffect(() => {
180
- const input = inputRef()
163
+ const input = inputRef();
181
164
  if (input) {
182
- input.addEventListener('input', handleInput)
165
+ input.addEventListener("input", handleInput);
183
166
  onCleanup(() => {
184
- input.removeEventListener('input', handleInput)
185
- })
167
+ input.removeEventListener("input", handleInput);
168
+ });
186
169
  }
187
- })
170
+ });
188
171
 
189
172
  // Focus first item in collection
190
173
  const focusFirstItem = () => {
191
- const collection = collectionRef()
174
+ const collection = collectionRef();
192
175
  if (collection) {
193
176
  collection.dispatchEvent(
194
177
  new CustomEvent(AUTOCOMPLETE_FOCUS_EVENT, {
195
178
  cancelable: true,
196
179
  bubbles: true,
197
- detail: { focusStrategy: 'first' },
198
- })
199
- )
180
+ detail: { focusStrategy: "first" },
181
+ }),
182
+ );
200
183
  }
201
- }
184
+ };
202
185
 
203
186
  // Clear virtual focus
204
187
  const clearVirtualFocus = (clearFocusKey = false) => {
205
- state.setFocusedNodeId(null)
206
- const collection = collectionRef()
188
+ state.setFocusedNodeId(null);
189
+ const collection = collectionRef();
207
190
  if (collection) {
208
191
  collection.dispatchEvent(
209
192
  new CustomEvent(AUTOCOMPLETE_CLEAR_FOCUS_EVENT, {
210
193
  cancelable: true,
211
194
  bubbles: true,
212
195
  detail: { clearFocusKey },
213
- })
214
- )
196
+ }),
197
+ );
215
198
  }
216
- }
199
+ };
217
200
 
218
201
  // Handle input value changes
219
202
  const onChange = (value: string) => {
220
203
  // Focus first item when typing forward, clear when backspacing/pasting
221
- if (lastInputType === 'insertText' && !disableAutoFocusFirst) {
222
- focusFirstItem()
204
+ if (lastInputType === "insertText" && !disableAutoFocusFirst) {
205
+ focusFirstItem();
223
206
  } else if (
224
207
  lastInputType &&
225
- (lastInputType.includes('insert') ||
226
- lastInputType.includes('delete') ||
227
- lastInputType.includes('history'))
208
+ (lastInputType.includes("insert") ||
209
+ lastInputType.includes("delete") ||
210
+ lastInputType.includes("history"))
228
211
  ) {
229
- clearVirtualFocus(true)
212
+ clearVirtualFocus(true);
230
213
  }
231
214
 
232
- state.setInputValue(value)
233
- }
215
+ state.setInputValue(value);
216
+ };
234
217
 
235
218
  // Handle keyboard navigation
236
219
  const onKeyDown = (e: KeyboardEvent) => {
237
- if ('isComposing' in e && e.isComposing) {
238
- return
220
+ if ("isComposing" in e && e.isComposing) {
221
+ return;
239
222
  }
240
223
 
241
- const focusedNodeId = state.focusedNodeId()
242
- const collection = collectionRef()
243
- const ownerDocument = getOwnerDocument(inputRef() ?? collection)
224
+ const focusedNodeId = state.focusedNodeId();
225
+ const collection = collectionRef();
226
+ const ownerDocument = getOwnerDocument(inputRef() ?? collection);
244
227
 
245
228
  switch (e.key) {
246
- case 'Escape':
229
+ case "Escape":
247
230
  // Let the input handle Escape (e.g., clear value)
248
231
  if (e.defaultPrevented) {
249
- return
232
+ return;
250
233
  }
251
- break
234
+ break;
252
235
 
253
- case ' ':
236
+ case " ":
254
237
  // Space shouldn't trigger item action
255
- return
238
+ return;
256
239
 
257
- case 'Tab':
240
+ case "Tab":
258
241
  // Let Tab propagate normally for focus management
259
- return
260
-
261
- case 'ArrowUp':
262
- case 'ArrowDown':
263
- case 'Home':
264
- case 'End':
265
- case 'PageUp':
266
- case 'PageDown': {
242
+ return;
243
+
244
+ case "ArrowUp":
245
+ case "ArrowDown":
246
+ case "Home":
247
+ case "End":
248
+ case "PageUp":
249
+ case "PageDown": {
267
250
  // Prevent cursor movement in input
268
- e.preventDefault()
251
+ e.preventDefault();
269
252
 
270
253
  // Dispatch focus event to collection
271
254
  if (collection) {
@@ -273,68 +256,68 @@ export function createAutocomplete<T = unknown>(
273
256
  new CustomEvent(AUTOCOMPLETE_FOCUS_EVENT, {
274
257
  cancelable: true,
275
258
  bubbles: true,
276
- })
277
- )
259
+ }),
260
+ );
278
261
  }
279
- break
262
+ break;
280
263
  }
281
264
 
282
- case 'ArrowLeft':
283
- case 'ArrowRight':
265
+ case "ArrowLeft":
266
+ case "ArrowRight":
284
267
  // Clear activedescendant so screen reader announces cursor movement
285
- clearVirtualFocus()
286
- return
268
+ clearVirtualFocus();
269
+ return;
287
270
 
288
- case 'Enter':
271
+ case "Enter":
289
272
  // Trigger click on focused item
290
273
  if (focusedNodeId) {
291
- const item = ownerDocument?.getElementById(focusedNodeId)
274
+ const item = ownerDocument?.getElementById(focusedNodeId);
292
275
  if (item) {
293
- item.click()
294
- e.preventDefault()
276
+ item.click();
277
+ e.preventDefault();
295
278
  }
296
279
  }
297
- return
280
+ return;
298
281
  }
299
282
 
300
283
  // Forward keyboard events to collection/focused item
301
284
  if (!e.defaultPrevented && collection) {
302
- e.stopPropagation()
285
+ e.stopPropagation();
303
286
 
304
287
  if (focusedNodeId) {
305
- const item = ownerDocument?.getElementById(focusedNodeId)
288
+ const item = ownerDocument?.getElementById(focusedNodeId);
306
289
  if (item) {
307
- item.dispatchEvent(new KeyboardEvent(e.type, toKeyboardEventInit(e)))
290
+ item.dispatchEvent(new KeyboardEvent(e.type, toKeyboardEventInit(e)));
308
291
  }
309
292
  } else {
310
- collection.dispatchEvent(new KeyboardEvent(e.type, toKeyboardEventInit(e)))
293
+ collection.dispatchEvent(new KeyboardEvent(e.type, toKeyboardEventInit(e)));
311
294
  }
312
295
  }
313
- }
296
+ };
314
297
 
315
298
  // Handle focus events
316
299
  const onFocus = (e: FocusEvent) => {
317
- if (!e.isTrusted) return
300
+ if (!e.isTrusted) return;
318
301
 
319
302
  // Restore virtual focus when refocusing input
320
- const focusedNodeId = state.focusedNodeId()
303
+ const focusedNodeId = state.focusedNodeId();
321
304
  if (focusedNodeId) {
322
- const item = document.getElementById(focusedNodeId)
305
+ const item = document.getElementById(focusedNodeId);
323
306
  if (item) {
324
307
  // Item still exists, keep focus on it
325
308
  }
326
309
  }
327
- }
310
+ };
328
311
 
329
312
  const onBlur = (e: FocusEvent) => {
330
- if (!e.isTrusted) return
313
+ if (!e.isTrusted) return;
331
314
  // Virtual focus blur handling would go here
332
- }
315
+ };
333
316
 
334
317
  // Create filter function
335
318
  const filterFn = filter
336
319
  ? (textValue: string) => filter(textValue, state.inputValue())
337
- : undefined
320
+ : undefined;
338
321
 
339
322
  return {
340
323
  inputProps: {
@@ -343,22 +326,22 @@ export function createAutocomplete<T = unknown>(
343
326
  onKeyDown,
344
327
  onFocus,
345
328
  onBlur,
346
- get 'aria-activedescendant'() {
347
- return () => (shouldUseVirtualFocus() ? state.focusedNodeId() ?? undefined : undefined)
329
+ get "aria-activedescendant"() {
330
+ return () => (shouldUseVirtualFocus() ? (state.focusedNodeId() ?? undefined) : undefined);
348
331
  },
349
- 'aria-controls': collectionId,
350
- 'aria-autocomplete': 'list',
351
- enterKeyHint: 'go',
352
- autoCorrect: 'off',
353
- spellCheck: 'false',
354
- autoComplete: 'off',
332
+ "aria-controls": collectionId,
333
+ "aria-autocomplete": "list",
334
+ enterKeyHint: "go",
335
+ autoCorrect: "off",
336
+ spellCheck: "false",
337
+ autoComplete: "off",
355
338
  },
356
339
  collectionProps: {
357
340
  id: collectionId,
358
- 'aria-label': collectionAriaLabel,
341
+ "aria-label": collectionAriaLabel,
359
342
  shouldUseVirtualFocus: shouldUseVirtualFocus(),
360
343
  disallowTypeAhead: shouldUseVirtualFocus(),
361
344
  },
362
345
  filter: filterFn,
363
- }
346
+ };
364
347
  }
@@ -6,4 +6,4 @@ export {
6
6
  type AutocompleteAria,
7
7
  type AutocompleteInputProps,
8
8
  type CollectionOptions,
9
- } from './createAutocomplete'
9
+ } from "./createAutocomplete";
@@ -5,22 +5,20 @@
5
5
  * Port of @react-aria/breadcrumbs.
6
6
  */
7
7
 
8
- import { createLink, type AriaLinkProps, type LinkAria } from '../link';
9
- import { filterDOMProps } from '../utils/filterDOMProps';
10
- import { mergeProps } from '../utils/mergeProps';
11
- import { type MaybeAccessor, access } from '../utils/reactivity';
12
-
13
- // ============================================
14
- // TYPES
15
- // ============================================
8
+ import { createLink, type AriaLinkProps, type LinkAria } from "../link";
9
+ import { filterDOMProps } from "../utils/filterDOMProps";
10
+ import { mergeProps } from "../utils/mergeProps";
11
+ import { type MaybeAccessor, access } from "../utils/reactivity";
16
12
 
17
13
  export interface AriaBreadcrumbsProps {
18
14
  /** Provides a label for the breadcrumbs navigation. */
19
- 'aria-label'?: string;
15
+ "aria-label"?: string;
20
16
  /** Identifies the element (or elements) that labels the breadcrumbs. */
21
- 'aria-labelledby'?: string;
17
+ "aria-labelledby"?: string;
22
18
  /** Identifies the element (or elements) that describes the breadcrumbs. */
23
- 'aria-describedby'?: string;
19
+ "aria-describedby"?: string;
20
+ /** Identifies the element (or elements) that provide a detailed description. */
21
+ "aria-details"?: string;
24
22
  /** Whether the breadcrumbs are disabled. */
25
23
  isDisabled?: boolean;
26
24
  }
@@ -30,13 +28,13 @@ export interface BreadcrumbsAria {
30
28
  navProps: Record<string, unknown>;
31
29
  }
32
30
 
33
- export interface AriaBreadcrumbItemProps extends Omit<AriaLinkProps, 'aria-current'> {
31
+ export interface AriaBreadcrumbItemProps extends Omit<AriaLinkProps, "aria-current"> {
34
32
  /** The DOM id for the breadcrumb item. */
35
33
  id?: string;
36
34
  /** Whether this is the current/last item in the breadcrumb trail. */
37
35
  isCurrent?: boolean;
38
36
  /** The type of current location for aria-current. @default 'page' */
39
- 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time' | boolean;
37
+ "aria-current"?: "page" | "step" | "location" | "date" | "time" | boolean;
40
38
  /** The HTML element type. @default 'a' */
41
39
  elementType?: string;
42
40
  }
@@ -46,15 +44,11 @@ export interface BreadcrumbItemAria extends LinkAria {
46
44
  itemProps: Record<string, unknown>;
47
45
  }
48
46
 
49
- // ============================================
50
- // IMPLEMENTATION
51
- // ============================================
52
-
53
47
  /**
54
48
  * Provides accessibility implementation for the breadcrumbs navigation container.
55
49
  */
56
50
  export function createBreadcrumbs(
57
- props: MaybeAccessor<AriaBreadcrumbsProps> = {}
51
+ props: MaybeAccessor<AriaBreadcrumbsProps> = {},
58
52
  ): BreadcrumbsAria {
59
53
  const getProps = () => access(props);
60
54
 
@@ -62,15 +56,12 @@ export function createBreadcrumbs(
62
56
  const p = getProps();
63
57
 
64
58
  // Only apply a default label when no other label source exists.
65
- const ariaLabel =
66
- p['aria-label'] ?? (p['aria-labelledby'] ? undefined : 'Breadcrumbs');
67
-
68
- return mergeProps(
69
- filterDOMProps(p as Record<string, unknown>, { labelable: true }),
70
- {
71
- 'aria-label': ariaLabel,
72
- }
73
- );
59
+ const ariaLabel = p["aria-label"] ?? (p["aria-labelledby"] ? undefined : "Breadcrumbs");
60
+
61
+ return mergeProps(filterDOMProps(p as Record<string, unknown>, { labelable: true }), {
62
+ "aria-label": ariaLabel,
63
+ "aria-details": p["aria-details"],
64
+ });
74
65
  };
75
66
 
76
67
  return {
@@ -84,13 +75,13 @@ export function createBreadcrumbs(
84
75
  * Provides accessibility implementation for an individual breadcrumb item.
85
76
  */
86
77
  export function createBreadcrumbItem(
87
- props: MaybeAccessor<AriaBreadcrumbItemProps> = {}
78
+ props: MaybeAccessor<AriaBreadcrumbItemProps> = {},
88
79
  ): BreadcrumbItemAria {
89
80
  const getProps = () => access(props);
90
81
 
91
82
  const isCurrent = () => getProps().isCurrent ?? false;
92
83
  const isDisabled = () => getProps().isDisabled ?? false;
93
- const elementType = () => getProps().elementType ?? 'a';
84
+ const elementType = () => getProps().elementType ?? "a";
94
85
 
95
86
  // Use createLink for base link behavior
96
87
  // Current items are treated as disabled (can't navigate to current page)
@@ -140,14 +131,17 @@ export function createBreadcrumbItem(
140
131
  get autoFocus() {
141
132
  return getProps().autoFocus;
142
133
  },
143
- get 'aria-label'() {
144
- return getProps()['aria-label'];
134
+ get "aria-label"() {
135
+ return getProps()["aria-label"];
145
136
  },
146
- get 'aria-labelledby'() {
147
- return getProps()['aria-labelledby'];
137
+ get "aria-labelledby"() {
138
+ return getProps()["aria-labelledby"];
148
139
  },
149
- get 'aria-describedby'() {
150
- return getProps()['aria-describedby'];
140
+ get "aria-describedby"() {
141
+ return getProps()["aria-describedby"];
142
+ },
143
+ get "aria-details"() {
144
+ return getProps()["aria-details"];
151
145
  },
152
146
  });
153
147
 
@@ -156,23 +150,20 @@ export function createBreadcrumbItem(
156
150
  const current = isCurrent();
157
151
 
158
152
  // Start with link props, forwarding id if provided
159
- let baseProps: Record<string, unknown> = p.id
160
- ? mergeProps(linkProps, { id: p.id })
161
- : linkProps;
153
+ let baseProps: Record<string, unknown> = p.id ? mergeProps(linkProps, { id: p.id }) : linkProps;
162
154
 
163
155
  // Add aria-current for current page
164
156
  if (current) {
165
- const ariaCurrent = p['aria-current'] ?? 'page';
157
+ const ariaCurrent = p["aria-current"] ?? "page";
166
158
  baseProps = mergeProps(baseProps, {
167
- 'aria-current': ariaCurrent,
159
+ "aria-current": ariaCurrent,
168
160
  });
169
-
170
161
  }
171
162
 
172
163
  // Add aria-disabled for disabled items
173
164
  if (isDisabled()) {
174
165
  baseProps = mergeProps(baseProps, {
175
- 'aria-disabled': true,
166
+ "aria-disabled": true,
176
167
  });
177
168
  }
178
169
 
@@ -5,4 +5,4 @@ export {
5
5
  type BreadcrumbsAria,
6
6
  type AriaBreadcrumbItemProps,
7
7
  type BreadcrumbItemAria,
8
- } from './createBreadcrumbs';
8
+ } from "./createBreadcrumbs";