@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
@@ -1,6 +1,6 @@
1
1
  // Press interactions
2
- export { createPress, type CreatePressProps, type PressResult } from './createPress';
3
- export { PressEvent, type IPressEvent, type PressEventType } from './PressEvent';
2
+ export { createPress, type CreatePressProps, type PressResult } from "./createPress";
3
+ export { PressEvent, type IPressEvent, type PressEventType } from "./PressEvent";
4
4
 
5
5
  // Long press interactions
6
6
  export {
@@ -8,18 +8,30 @@ export {
8
8
  type LongPressProps,
9
9
  type LongPressResult,
10
10
  type LongPressEvent,
11
- } from './createLongPress';
11
+ } from "./createLongPress";
12
12
 
13
13
  // Move interactions
14
- export { createMove, type MoveEvents, type MoveResult, type MoveStartEvent, type MoveMoveEvent, type MoveEndEvent } from './createMove';
14
+ export {
15
+ createMove,
16
+ type MoveEvents,
17
+ type MoveResult,
18
+ type MoveStartEvent,
19
+ type MoveMoveEvent,
20
+ type MoveEndEvent,
21
+ } from "./createMove";
15
22
 
16
23
  // Focus interactions
17
- export { createFocus, type CreateFocusProps, type FocusResult, type FocusEvents } from './createFocus';
24
+ export {
25
+ createFocus,
26
+ type CreateFocusProps,
27
+ type FocusResult,
28
+ type FocusEvents,
29
+ } from "./createFocus";
18
30
  export {
19
31
  createFocusWithin,
20
32
  type FocusWithinProps,
21
33
  type FocusWithinResult,
22
- } from './createFocusWithin';
34
+ } from "./createFocusWithin";
23
35
  export {
24
36
  createFocusable,
25
37
  FocusableContext,
@@ -29,13 +41,9 @@ export {
29
41
  type FocusableProviderProps,
30
42
  type FocusableProps,
31
43
  type FocusableDOMProps,
32
- } from './createFocusable';
33
- export { FocusableProvider } from './FocusableProvider';
34
- export {
35
- createFocusRing,
36
- type FocusRingProps,
37
- type FocusRingResult,
38
- } from './createFocusRing';
44
+ } from "./createFocusable";
45
+ export { FocusableProvider } from "./FocusableProvider";
46
+ export { createFocusRing, type FocusRingProps, type FocusRingResult } from "./createFocusRing";
39
47
 
40
48
  // Interaction modality
41
49
  export {
@@ -56,7 +64,7 @@ export {
56
64
  type FocusVisibleResult,
57
65
  type FocusVisibleHandler,
58
66
  type InteractionModalityResult,
59
- } from './createInteractionModality';
67
+ } from "./createInteractionModality";
60
68
 
61
69
  // Hover interactions
62
70
  export {
@@ -66,7 +74,7 @@ export {
66
74
  type HoverResult,
67
75
  type HoverEvent,
68
76
  type HoverEvents,
69
- } from './createHover';
77
+ } from "./createHover";
70
78
 
71
79
  // Keyboard interactions
72
80
  export {
@@ -75,4 +83,4 @@ export {
75
83
  type KeyboardResult,
76
84
  type KeyboardEvents,
77
85
  type KeyboardEvent,
78
- } from './createKeyboard';
86
+ } from "./createKeyboard";
@@ -8,15 +8,17 @@
8
8
  * This is a 1:1 port of @react-aria/label's useField hook.
9
9
  */
10
10
 
11
- import { JSX } from 'solid-js';
12
- import { createId } from '../ssr';
13
- import { createLabel, type LabelAriaProps, type LabelAria, type AriaLabelingProps, type DOMProps } from './createLabel';
14
- import { mergeProps } from '../utils/mergeProps';
15
- import { type MaybeAccessor, access } from '../utils/reactivity';
16
-
17
- // ============================================
18
- // TYPES
19
- // ============================================
11
+ import { JSX } from "solid-js";
12
+ import { createId } from "../ssr";
13
+ import {
14
+ createLabel,
15
+ type LabelAriaProps,
16
+ type LabelAria,
17
+ type AriaLabelingProps,
18
+ type DOMProps,
19
+ } from "./createLabel";
20
+ import { mergeProps } from "../utils/mergeProps";
21
+ import { type MaybeAccessor, access } from "../utils/reactivity";
20
22
 
21
23
  export interface HelpTextProps {
22
24
  /** A description for the field. Provides a hint such as specific requirements for what to choose. */
@@ -43,7 +45,8 @@ export interface Validation<T> {
43
45
  validate?: (value: T) => string | string[] | true | null | undefined;
44
46
  }
45
47
 
46
- export interface AriaFieldProps extends LabelAriaProps, HelpTextProps, Omit<Validation<any>, 'isRequired'> {}
48
+ export interface AriaFieldProps
49
+ extends LabelAriaProps, HelpTextProps, Omit<Validation<any>, "isRequired"> {}
47
50
 
48
51
  export interface FieldAria extends LabelAria {
49
52
  /** Props for the description element, if any. */
@@ -52,10 +55,6 @@ export interface FieldAria extends LabelAria {
52
55
  errorMessageProps: JSX.HTMLAttributes<HTMLElement>;
53
56
  }
54
57
 
55
- // ============================================
56
- // IMPLEMENTATION
57
- // ============================================
58
-
59
58
  /**
60
59
  * Provides the accessibility implementation for input fields.
61
60
  * Fields accept user input, gain context from their label, and may display
@@ -72,7 +71,7 @@ export function createField(props: MaybeAccessor<AriaFieldProps>): FieldAria {
72
71
  const descriptionId = createId();
73
72
  const errorMessageId = createId();
74
73
 
75
- const getDescriptionProps = (): FieldAria['descriptionProps'] => {
74
+ const getDescriptionProps = (): FieldAria["descriptionProps"] => {
76
75
  const { description, errorMessage, isInvalid } = getProps();
77
76
 
78
77
  // Only include ID if description exists or there's an error message that might be shown
@@ -85,7 +84,7 @@ export function createField(props: MaybeAccessor<AriaFieldProps>): FieldAria {
85
84
  };
86
85
  };
87
86
 
88
- const getErrorMessageProps = (): FieldAria['errorMessageProps'] => {
87
+ const getErrorMessageProps = (): FieldAria["errorMessageProps"] => {
89
88
  const { errorMessage, isInvalid } = getProps();
90
89
 
91
90
  // Only include ID if there's an error message and the field is invalid
@@ -116,15 +115,15 @@ export function createField(props: MaybeAccessor<AriaFieldProps>): FieldAria {
116
115
  }
117
116
 
118
117
  // Add any existing aria-describedby from props
119
- const existingDescribedBy = getProps()['aria-describedby'];
118
+ const existingDescribedBy = getProps()["aria-describedby"];
120
119
  if (existingDescribedBy) {
121
120
  describedByIds.push(existingDescribedBy);
122
121
  }
123
122
 
124
- const ariaDescribedBy = describedByIds.length > 0 ? describedByIds.join(' ') : undefined;
123
+ const ariaDescribedBy = describedByIds.length > 0 ? describedByIds.join(" ") : undefined;
125
124
 
126
125
  return mergeProps(baseLabelFieldProps, {
127
- 'aria-describedby': ariaDescribedBy,
126
+ "aria-describedby": ariaDescribedBy,
128
127
  }) as AriaLabelingProps & DOMProps;
129
128
  };
130
129
 
@@ -7,25 +7,21 @@
7
7
  * This is a 1:1 port of @react-aria/label's useLabel hook.
8
8
  */
9
9
 
10
- import { JSX } from 'solid-js';
11
- import { createId } from '../ssr';
12
- import { createLabels } from './createLabels';
13
- import { type MaybeAccessor, access } from '../utils/reactivity';
14
- import { isDevEnv } from '../utils/env';
15
-
16
- // ============================================
17
- // TYPES
18
- // ============================================
10
+ import { JSX } from "solid-js";
11
+ import { createId } from "../ssr";
12
+ import { createLabels } from "./createLabels";
13
+ import { type MaybeAccessor, access } from "../utils/reactivity";
14
+ import { isDevEnv } from "../utils/env";
19
15
 
20
16
  export interface AriaLabelingProps {
21
17
  /** Defines a string value that labels the current element. */
22
- 'aria-label'?: string;
18
+ "aria-label"?: string;
23
19
  /** Identifies the element (or elements) that labels the current element. */
24
- 'aria-labelledby'?: string;
20
+ "aria-labelledby"?: string;
25
21
  /** Identifies the element (or elements) that describes the object. */
26
- 'aria-describedby'?: string;
22
+ "aria-describedby"?: string;
27
23
  /** Identifies the element (or elements) that provide a detailed, extended description for the object. */
28
- 'aria-details'?: string;
24
+ "aria-details"?: string;
29
25
  }
30
26
 
31
27
  export interface LabelableProps {
@@ -43,7 +39,7 @@ export interface LabelAriaProps extends LabelableProps, DOMProps, AriaLabelingPr
43
39
  * The HTML element used to render the label, e.g. 'label', or 'span'.
44
40
  * @default 'label'
45
41
  */
46
- labelElementType?: 'label' | 'span' | 'div';
42
+ labelElementType?: "label" | "span" | "div";
47
43
  }
48
44
 
49
45
  export interface LabelAria {
@@ -53,10 +49,6 @@ export interface LabelAria {
53
49
  fieldProps: AriaLabelingProps & DOMProps;
54
50
  }
55
51
 
56
- // ============================================
57
- // IMPLEMENTATION
58
- // ============================================
59
-
60
52
  /**
61
53
  * Provides the accessibility implementation for labels and their associated elements.
62
54
  * Labels provide context for user inputs.
@@ -69,8 +61,8 @@ export function createLabel(props: MaybeAccessor<LabelAriaProps>): LabelAria {
69
61
  const id = createId(getProps().id);
70
62
  const labelId = createId();
71
63
 
72
- const getLabelProps = (): LabelAria['labelProps'] => {
73
- const { label, labelElementType = 'label' } = getProps();
64
+ const getLabelProps = (): LabelAria["labelProps"] => {
65
+ const { label, labelElementType = "label" } = getProps();
74
66
 
75
67
  if (!label) {
76
68
  return {};
@@ -78,16 +70,12 @@ export function createLabel(props: MaybeAccessor<LabelAriaProps>): LabelAria {
78
70
 
79
71
  return {
80
72
  id: labelId,
81
- ...(labelElementType === 'label' ? { for: id } : {}),
73
+ ...(labelElementType === "label" ? { for: id } : {}),
82
74
  };
83
75
  };
84
76
 
85
- const getFieldProps = (): LabelAria['fieldProps'] => {
86
- const {
87
- label,
88
- 'aria-labelledby': ariaLabelledby,
89
- 'aria-label': ariaLabel,
90
- } = getProps();
77
+ const getFieldProps = (): LabelAria["fieldProps"] => {
78
+ const { label, "aria-labelledby": ariaLabelledby, "aria-label": ariaLabel } = getProps();
91
79
 
92
80
  let labelledBy = ariaLabelledby;
93
81
 
@@ -95,14 +83,14 @@ export function createLabel(props: MaybeAccessor<LabelAriaProps>): LabelAria {
95
83
  labelledBy = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;
96
84
  } else if (!ariaLabelledby && !ariaLabel && isDevEnv()) {
97
85
  console.warn(
98
- 'If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility'
86
+ "If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility",
99
87
  );
100
88
  }
101
89
 
102
90
  return createLabels({
103
91
  id,
104
- 'aria-label': ariaLabel,
105
- 'aria-labelledby': labelledBy,
92
+ "aria-label": ariaLabel,
93
+ "aria-labelledby": labelledBy,
106
94
  });
107
95
  };
108
96
 
@@ -6,8 +6,8 @@
6
6
  * This is a 1:1 port of @react-aria/utils's useLabels hook.
7
7
  */
8
8
 
9
- import { createId } from '../ssr';
10
- import type { AriaLabelingProps, DOMProps } from './createLabel';
9
+ import { createId } from "../ssr";
10
+ import type { AriaLabelingProps, DOMProps } from "./createLabel";
11
11
 
12
12
  /**
13
13
  * Merges aria-label and aria-labelledby into aria-labelledby when both exist.
@@ -17,13 +17,9 @@ import type { AriaLabelingProps, DOMProps } from './createLabel';
17
17
  */
18
18
  export function createLabels(
19
19
  props: DOMProps & AriaLabelingProps,
20
- defaultLabel?: string
20
+ defaultLabel?: string,
21
21
  ): DOMProps & AriaLabelingProps {
22
- let {
23
- id,
24
- 'aria-label': label,
25
- 'aria-labelledby': labelledBy,
26
- } = props;
22
+ let { id, "aria-label": label, "aria-labelledby": labelledBy } = props;
27
23
 
28
24
  // Generate an ID if not provided
29
25
  id = createId(id);
@@ -32,9 +28,9 @@ export function createLabels(
32
28
  // combine them by pointing to the element itself.
33
29
  if (labelledBy && label) {
34
30
  const ids = new Set([id, ...labelledBy.trim().split(/\s+/)]);
35
- labelledBy = [...ids].join(' ');
31
+ labelledBy = [...ids].join(" ");
36
32
  } else if (labelledBy) {
37
- labelledBy = labelledBy.trim().split(/\s+/).join(' ');
33
+ labelledBy = labelledBy.trim().split(/\s+/).join(" ");
38
34
  }
39
35
 
40
36
  // If no labels are provided, use the default
@@ -44,7 +40,7 @@ export function createLabels(
44
40
 
45
41
  return {
46
42
  id,
47
- 'aria-label': label,
48
- 'aria-labelledby': labelledBy,
43
+ "aria-label": label,
44
+ "aria-labelledby": labelledBy,
49
45
  };
50
46
  }
@@ -1,19 +1,19 @@
1
- export { createLabel } from './createLabel';
1
+ export { createLabel } from "./createLabel";
2
2
  export type {
3
3
  LabelAriaProps,
4
4
  LabelAria,
5
5
  AriaLabelingProps,
6
6
  LabelableProps,
7
7
  DOMProps,
8
- } from './createLabel';
8
+ } from "./createLabel";
9
9
 
10
- export { createField } from './createField';
10
+ export { createField } from "./createField";
11
11
  export type {
12
12
  AriaFieldProps,
13
13
  FieldAria,
14
14
  HelpTextProps,
15
15
  ValidationResult,
16
16
  Validation,
17
- } from './createField';
17
+ } from "./createField";
18
18
 
19
- export { createLabels } from './createLabels';
19
+ export { createLabels } from "./createLabels";
@@ -8,25 +8,21 @@
8
8
  * The F6 key (or Shift+F6) cycles through all registered landmarks.
9
9
  */
10
10
 
11
- import type { JSX, Accessor } from 'solid-js';
12
- import { createEffect, onCleanup } from 'solid-js';
13
- import { access, type MaybeAccessor } from '../utils';
14
- import { filterDOMProps } from '../utils';
15
-
16
- // ============================================
17
- // TYPES
18
- // ============================================
11
+ import type { JSX, Accessor } from "solid-js";
12
+ import { createEffect, onCleanup } from "solid-js";
13
+ import { access, type MaybeAccessor } from "../utils";
14
+ import { filterDOMProps } from "../utils";
19
15
 
20
16
  /** ARIA landmark roles */
21
17
  export type AriaLandmarkRole =
22
- | 'main'
23
- | 'region'
24
- | 'search'
25
- | 'navigation'
26
- | 'form'
27
- | 'banner'
28
- | 'contentinfo'
29
- | 'complementary';
18
+ | "main"
19
+ | "region"
20
+ | "search"
21
+ | "navigation"
22
+ | "form"
23
+ | "banner"
24
+ | "contentinfo"
25
+ | "complementary";
30
26
 
31
27
  export interface AriaLandmarkProps {
32
28
  /** The ARIA landmark role. */
@@ -35,9 +31,9 @@ export interface AriaLandmarkProps {
35
31
  * A human-readable label for the landmark.
36
32
  * Required when multiple landmarks with the same role exist on a page.
37
33
  */
38
- 'aria-label'?: string;
34
+ "aria-label"?: string;
39
35
  /** Identifies the element(s) that labels the landmark. */
40
- 'aria-labelledby'?: string;
36
+ "aria-labelledby"?: string;
41
37
  /** The element's unique identifier. */
42
38
  id?: string;
43
39
  /**
@@ -63,10 +59,6 @@ export interface LandmarkController {
63
59
  navigate: (role: AriaLandmarkRole) => void;
64
60
  }
65
61
 
66
- // ============================================
67
- // INTERNAL: Landmark Entry
68
- // ============================================
69
-
70
62
  interface LandmarkEntry {
71
63
  ref: HTMLElement;
72
64
  role: AriaLandmarkRole;
@@ -75,10 +67,6 @@ interface LandmarkEntry {
75
67
  lastFocused?: HTMLElement;
76
68
  }
77
69
 
78
- // ============================================
79
- // LANDMARK MANAGER (Singleton)
80
- // ============================================
81
-
82
70
  /**
83
71
  * Manages all registered landmarks and handles F6 keyboard navigation.
84
72
  */
@@ -88,7 +76,7 @@ class LandmarkManager {
88
76
  private listening = false;
89
77
 
90
78
  constructor() {
91
- if (typeof window !== 'undefined') {
79
+ if (typeof window !== "undefined") {
92
80
  this.startListening();
93
81
  }
94
82
  }
@@ -97,12 +85,12 @@ class LandmarkManager {
97
85
  if (this.listening) return;
98
86
  this.listening = true;
99
87
 
100
- window.addEventListener('keydown', this.handleKeyDown.bind(this), true);
88
+ window.addEventListener("keydown", this.handleKeyDown.bind(this), true);
101
89
  }
102
90
 
103
91
  private handleKeyDown(event: KeyboardEvent) {
104
92
  // F6 to navigate landmarks
105
- if (event.key === 'F6') {
93
+ if (event.key === "F6") {
106
94
  event.preventDefault();
107
95
  if (event.shiftKey) {
108
96
  this.focusPrevious();
@@ -168,7 +156,7 @@ class LandmarkManager {
168
156
  const uniqueLabels = new Set(labels.filter(Boolean));
169
157
  if (uniqueLabels.size < group.length) {
170
158
  console.warn(
171
- `Multiple landmarks with role "${role}" exist. Each should have a unique aria-label or aria-labelledby.`
159
+ `Multiple landmarks with role "${role}" exist. Each should have a unique aria-label or aria-labelledby.`,
172
160
  );
173
161
  }
174
162
  }
@@ -195,13 +183,12 @@ class LandmarkManager {
195
183
  this.currentIndex = this.findCurrentLandmarkIndex(activeElement);
196
184
 
197
185
  // Move to previous
198
- this.currentIndex =
199
- (this.currentIndex - 1 + this.landmarks.length) % this.landmarks.length;
186
+ this.currentIndex = (this.currentIndex - 1 + this.landmarks.length) % this.landmarks.length;
200
187
  this.focusLandmark(this.landmarks[this.currentIndex]);
201
188
  }
202
189
 
203
190
  focusMain(): void {
204
- const main = this.landmarks.find((l) => l.role === 'main');
191
+ const main = this.landmarks.find((l) => l.role === "main");
205
192
  if (main) {
206
193
  this.focusLandmark(main);
207
194
  }
@@ -252,21 +239,21 @@ class LandmarkManager {
252
239
  }
253
240
 
254
241
  // Fallback: make the landmark itself focusable and focus it
255
- if (!landmark.ref.hasAttribute('tabindex')) {
256
- landmark.ref.setAttribute('tabindex', '-1');
242
+ if (!landmark.ref.hasAttribute("tabindex")) {
243
+ landmark.ref.setAttribute("tabindex", "-1");
257
244
  }
258
245
  landmark.ref.focus();
259
246
  }
260
247
 
261
248
  private findFirstFocusable(container: HTMLElement): HTMLElement | null {
262
249
  const focusableSelectors = [
263
- 'a[href]',
264
- 'button:not([disabled])',
265
- 'input:not([disabled])',
266
- 'select:not([disabled])',
267
- 'textarea:not([disabled])',
250
+ "a[href]",
251
+ "button:not([disabled])",
252
+ "input:not([disabled])",
253
+ "select:not([disabled])",
254
+ "textarea:not([disabled])",
268
255
  '[tabindex]:not([tabindex="-1"])',
269
- ].join(', ');
256
+ ].join(", ");
270
257
 
271
258
  return container.querySelector<HTMLElement>(focusableSelectors);
272
259
  }
@@ -291,10 +278,6 @@ function getLandmarkManager(): LandmarkManager {
291
278
  return landmarkManager;
292
279
  }
293
280
 
294
- // ============================================
295
- // CREATE LANDMARK
296
- // ============================================
297
-
298
281
  /**
299
282
  * Provides landmark navigation in an application.
300
283
  * Call this with a role and label to register a landmark navigable with F6.
@@ -318,7 +301,7 @@ function getLandmarkManager(): LandmarkManager {
318
301
  */
319
302
  export function createLandmark<T extends HTMLElement = HTMLElement>(
320
303
  props: MaybeAccessor<AriaLandmarkProps>,
321
- ref: Accessor<T | undefined>
304
+ ref: Accessor<T | undefined>,
322
305
  ): LandmarkAria<T> {
323
306
  // Register with the landmark manager
324
307
  createEffect(() => {
@@ -329,7 +312,7 @@ export function createLandmark<T extends HTMLElement = HTMLElement>(
329
312
  const entry: LandmarkEntry = {
330
313
  ref: element,
331
314
  role: p.role,
332
- label: p['aria-label'],
315
+ label: p["aria-label"],
333
316
  focus: p.focus,
334
317
  };
335
318
 
@@ -358,10 +341,6 @@ export function createLandmark<T extends HTMLElement = HTMLElement>(
358
341
  };
359
342
  }
360
343
 
361
- // ============================================
362
- // LANDMARK CONTROLLER
363
- // ============================================
364
-
365
344
  /**
366
345
  * Returns a controller for programmatic landmark navigation.
367
346
  *
@@ -5,4 +5,4 @@ export {
5
5
  type AriaLandmarkProps,
6
6
  type LandmarkAria,
7
7
  type LandmarkController,
8
- } from './createLandmark';
8
+ } from "./createLandmark";