@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
@@ -3,26 +3,40 @@
3
3
  * Based on @react-aria/listbox useOption.
4
4
  */
5
5
 
6
- import { type JSX, type Accessor } from 'solid-js';
7
- import { createPress } from '../interactions/createPress';
8
- import { createHover } from '../interactions/createHover';
9
- import { createFocusRing } from '../interactions/createFocusRing';
10
- import { mergeProps } from '../utils/mergeProps';
11
- import { access, type MaybeAccessor } from '../utils/reactivity';
12
- import { getListBoxData } from './createListBox';
13
- import type { ListState, Key } from '@proyecto-viviana/solid-stately';
6
+ import { type JSX, type Accessor } from "solid-js";
7
+ import { createPress } from "../interactions/createPress";
8
+ import { createHover, type HoverEvents } from "../interactions/createHover";
9
+ import { createFocusRing } from "../interactions/createFocusRing";
10
+ import { mergeProps } from "../utils/mergeProps";
11
+ import { access, type MaybeAccessor } from "../utils/reactivity";
12
+ import { getListBoxData } from "./createListBox";
13
+ import type { ListState, Key } from "@proyecto-viviana/solid-stately";
14
14
 
15
15
  export interface AriaOptionProps {
16
16
  /** The unique key for the option. */
17
17
  key: Key;
18
+ /** Optional DOM id for the option element. Defaults to the key. */
19
+ optionId?: string;
18
20
  /** Whether the option is disabled. */
19
21
  isDisabled?: boolean;
20
22
  /** An accessible label for the option. */
21
- 'aria-label'?: string;
23
+ "aria-label"?: string;
22
24
  /** Whether selection should occur on press up. */
23
25
  shouldSelectOnPressUp?: boolean;
24
26
  /** Whether to focus the option on hover. */
25
27
  shouldFocusOnHover?: boolean;
28
+ /** Whether the option should use virtual focus instead of receiving DOM focus. */
29
+ shouldUseVirtualFocus?: boolean;
30
+ /** Whether press-up may occur without the press starting on this option. */
31
+ allowsDifferentPressOrigin?: boolean;
32
+ /** Handler called when hover starts. */
33
+ onHoverStart?: HoverEvents["onHoverStart"];
34
+ /** Handler called when hover ends. */
35
+ onHoverEnd?: HoverEvents["onHoverEnd"];
36
+ /** Handler called when hover state changes. */
37
+ onHoverChange?: HoverEvents["onHoverChange"];
38
+ /** Handler called when the option is activated. */
39
+ onAction?: () => void;
26
40
  }
27
41
 
28
42
  export interface OptionAria {
@@ -40,6 +54,8 @@ export interface OptionAria {
40
54
  isFocusVisible: Accessor<boolean>;
41
55
  /** Whether the option is currently pressed. */
42
56
  isPressed: Accessor<boolean>;
57
+ /** Whether the option is currently hovered. */
58
+ isHovered: Accessor<boolean>;
43
59
  /** Whether the option is disabled. */
44
60
  isDisabled: Accessor<boolean>;
45
61
  }
@@ -50,16 +66,16 @@ export interface OptionAria {
50
66
  export function createOption<T>(
51
67
  props: MaybeAccessor<AriaOptionProps>,
52
68
  state: ListState<T>,
53
- _ref?: () => HTMLElement | null
69
+ _ref?: () => HTMLElement | null,
54
70
  ): OptionAria {
55
71
  const getProps = () => access(props);
56
72
 
57
- // Get shared data from listbox
58
73
  const getData = () => getListBoxData(state);
59
74
 
60
- // Computed states
61
75
  const isDisabled: Accessor<boolean> = () => {
62
- return Boolean(getData()?.isDisabled || getProps().isDisabled || state.isDisabled(getProps().key));
76
+ return Boolean(
77
+ getData()?.isDisabled || getProps().isDisabled || state.isDisabled(getProps().key),
78
+ );
63
79
  };
64
80
 
65
81
  const isSelected: Accessor<boolean> = () => {
@@ -74,48 +90,76 @@ export function createOption<T>(
74
90
  return getProps().shouldSelectOnPressUp ?? getData()?.shouldSelectOnPressUp ?? true;
75
91
  };
76
92
 
93
+ const shouldUseVirtualFocus = () => {
94
+ return getProps().shouldUseVirtualFocus ?? false;
95
+ };
96
+
97
+ const allowsDifferentPressOrigin = () => {
98
+ return getProps().allowsDifferentPressOrigin ?? false;
99
+ };
100
+
77
101
  const selectAndAction = () => {
78
102
  const key = getProps().key;
79
- if (state.selectionMode() !== 'none') {
103
+ if (state.selectionMode() !== "none") {
80
104
  state.select(key);
81
105
  }
106
+ getProps().onAction?.();
82
107
  getData()?.onAction?.(key);
83
108
  };
84
109
 
85
- // Handle press
86
110
  const { pressProps, isPressed } = createPress({
87
111
  get isDisabled() {
88
112
  return isDisabled();
89
113
  },
114
+ get preventFocusOnPress() {
115
+ return shouldUseVirtualFocus();
116
+ },
90
117
  onPressStart(e) {
91
- if (!shouldSelectOnPressUp() && e.pointerType !== 'keyboard' && e.pointerType !== 'virtual') {
118
+ if (!shouldSelectOnPressUp() && e.pointerType !== "keyboard" && e.pointerType !== "virtual") {
119
+ selectAndAction();
120
+ }
121
+ },
122
+ onPressUp(e) {
123
+ if (shouldSelectOnPressUp() && allowsDifferentPressOrigin() && e.pointerType === "mouse") {
92
124
  selectAndAction();
93
125
  }
94
126
  },
95
127
  onPress(e) {
96
- if (shouldSelectOnPressUp() || e.pointerType === 'keyboard' || e.pointerType === 'virtual') {
128
+ if (
129
+ (shouldSelectOnPressUp() && !allowsDifferentPressOrigin()) ||
130
+ (shouldSelectOnPressUp() &&
131
+ allowsDifferentPressOrigin() &&
132
+ e.pointerType !== "keyboard" &&
133
+ e.pointerType !== "mouse") ||
134
+ e.pointerType === "keyboard" ||
135
+ e.pointerType === "virtual"
136
+ ) {
97
137
  selectAndAction();
98
138
  }
99
139
  },
100
140
  });
101
141
 
102
- // Handle hover
103
142
  const { hoverProps, isHovered } = createHover({
104
143
  get isDisabled() {
105
144
  return isDisabled();
106
145
  },
107
- onHoverStart() {
146
+ onHoverStart(e) {
108
147
  const shouldFocus = getProps().shouldFocusOnHover ?? getData()?.shouldFocusOnHover;
109
148
  if (shouldFocus) {
110
149
  state.setFocusedKey(getProps().key);
111
150
  }
151
+ getProps().onHoverStart?.(e);
152
+ },
153
+ onHoverEnd(e) {
154
+ getProps().onHoverEnd?.(e);
155
+ },
156
+ onHoverChange(isHovering) {
157
+ getProps().onHoverChange?.(isHovering);
112
158
  },
113
159
  });
114
160
 
115
- // Handle focus ring
116
161
  const { isFocusVisible, focusProps } = createFocusRing();
117
162
 
118
- // Generate unique IDs for label and description
119
163
  const labelId = `${getProps().key}-label`;
120
164
  const descriptionId = `${getProps().key}-desc`;
121
165
 
@@ -123,28 +167,29 @@ export function createOption<T>(
123
167
  get optionProps() {
124
168
  const key = getProps().key;
125
169
  const selectionMode = state.selectionMode();
126
- const ariaLabel = getProps()['aria-label'];
170
+ const ariaLabel = getProps()["aria-label"];
127
171
 
128
172
  return mergeProps(
129
173
  pressProps as Record<string, unknown>,
130
174
  hoverProps as Record<string, unknown>,
131
175
  focusProps as Record<string, unknown>,
132
176
  {
133
- role: 'option',
134
- id: String(key),
135
- 'aria-selected': selectionMode !== 'none' ? isSelected() : undefined,
136
- 'aria-disabled': isDisabled() || undefined,
137
- 'aria-label': ariaLabel,
138
- 'aria-labelledby': !ariaLabel ? labelId : undefined,
139
- 'aria-describedby': descriptionId,
140
- tabIndex: isFocused() ? 0 : -1,
141
- 'data-selected': isSelected() || undefined,
142
- 'data-focused': isFocused() || undefined,
143
- 'data-focus-visible': isFocusVisible() || undefined,
144
- 'data-pressed': isPressed() || undefined,
145
- 'data-disabled': isDisabled() || undefined,
146
- 'data-hovered': isHovered() || undefined,
147
- } as Record<string, unknown>
177
+ role: "option",
178
+ id: getProps().optionId ?? String(key),
179
+ "data-key": String(key),
180
+ "aria-selected": selectionMode !== "none" ? isSelected() : undefined,
181
+ "aria-disabled": isDisabled() || undefined,
182
+ "aria-label": ariaLabel,
183
+ "aria-labelledby": !ariaLabel ? labelId : undefined,
184
+ "aria-describedby": descriptionId,
185
+ tabIndex: shouldUseVirtualFocus() ? undefined : isFocused() ? 0 : -1,
186
+ "data-selected": isSelected() || undefined,
187
+ "data-focused": isFocused() || undefined,
188
+ "data-focus-visible": isFocusVisible() || undefined,
189
+ "data-pressed": isPressed() || undefined,
190
+ "data-disabled": isDisabled() || undefined,
191
+ "data-hovered": isHovered() || undefined,
192
+ } as Record<string, unknown>,
148
193
  ) as JSX.HTMLAttributes<HTMLElement>;
149
194
  },
150
195
  labelProps: {
@@ -157,6 +202,7 @@ export function createOption<T>(
157
202
  isFocused,
158
203
  isFocusVisible: () => isFocused() && isFocusVisible(),
159
204
  isPressed,
205
+ isHovered,
160
206
  isDisabled,
161
207
  };
162
208
  }
@@ -3,10 +3,6 @@ export {
3
3
  getListBoxData,
4
4
  type AriaListBoxProps,
5
5
  type ListBoxAria,
6
- } from './createListBox';
6
+ } from "./createListBox";
7
7
 
8
- export {
9
- createOption,
10
- type AriaOptionProps,
11
- type OptionAria,
12
- } from './createOption';
8
+ export { createOption, type AriaOptionProps, type OptionAria } from "./createOption";
@@ -10,27 +10,15 @@
10
10
  * will only be created when running in the browser.
11
11
  */
12
12
 
13
- import { onCleanup, createEffect } from 'solid-js';
14
- import { isServer } from 'solid-js/web';
13
+ import { onCleanup, createEffect } from "solid-js";
14
+ import { isServer } from "solid-js/web";
15
15
 
16
- // ============================================
17
- // TYPES
18
- // ============================================
16
+ export type Assertiveness = "assertive" | "polite";
19
17
 
20
- export type Assertiveness = 'assertive' | 'polite';
21
-
22
- export type Message = string | { 'aria-labelledby': string };
23
-
24
- // ============================================
25
- // CONSTANTS
26
- // ============================================
18
+ export type Message = string | { "aria-labelledby": string };
27
19
 
28
20
  const LIVEREGION_TIMEOUT_DELAY = 7000;
29
21
 
30
- // ============================================
31
- // LIVE ANNOUNCER CLASS
32
- // ============================================
33
-
34
22
  /**
35
23
  * Singleton class that manages live region announcements.
36
24
  * Implemented using vanilla DOM for simplicity and framework independence.
@@ -41,27 +29,27 @@ class LiveAnnouncer {
41
29
  politeLog: HTMLElement | null = null;
42
30
 
43
31
  constructor() {
44
- if (typeof document !== 'undefined') {
45
- this.node = document.createElement('div');
46
- this.node.dataset.liveAnnouncer = 'true';
32
+ if (typeof document !== "undefined") {
33
+ this.node = document.createElement("div");
34
+ this.node.dataset.liveAnnouncer = "true";
47
35
  // Visually hidden styles
48
36
  Object.assign(this.node.style, {
49
- border: '0',
50
- clip: 'rect(0 0 0 0)',
51
- clipPath: 'inset(50%)',
52
- height: '1px',
53
- margin: '-1px',
54
- overflow: 'hidden',
55
- padding: '0',
56
- position: 'absolute',
57
- width: '1px',
58
- whiteSpace: 'nowrap',
37
+ border: "0",
38
+ clip: "rect(0 0 0 0)",
39
+ clipPath: "inset(50%)",
40
+ height: "1px",
41
+ margin: "-1px",
42
+ overflow: "hidden",
43
+ padding: "0",
44
+ position: "absolute",
45
+ width: "1px",
46
+ whiteSpace: "nowrap",
59
47
  });
60
48
 
61
- this.assertiveLog = this.createLog('assertive');
49
+ this.assertiveLog = this.createLog("assertive");
62
50
  this.node.appendChild(this.assertiveLog);
63
51
 
64
- this.politeLog = this.createLog('polite');
52
+ this.politeLog = this.createLog("polite");
65
53
  this.node.appendChild(this.politeLog);
66
54
 
67
55
  document.body.prepend(this.node);
@@ -73,10 +61,10 @@ class LiveAnnouncer {
73
61
  }
74
62
 
75
63
  createLog(ariaLive: string): HTMLElement {
76
- const node = document.createElement('div');
77
- node.setAttribute('role', 'log');
78
- node.setAttribute('aria-live', ariaLive);
79
- node.setAttribute('aria-relevant', 'additions');
64
+ const node = document.createElement("div");
65
+ node.setAttribute("role", "log");
66
+ node.setAttribute("aria-live", ariaLive);
67
+ node.setAttribute("aria-relevant", "additions");
80
68
  return node;
81
69
  }
82
70
 
@@ -91,29 +79,29 @@ class LiveAnnouncer {
91
79
 
92
80
  announce(
93
81
  message: Message,
94
- assertiveness: Assertiveness = 'assertive',
95
- timeout: number = LIVEREGION_TIMEOUT_DELAY
82
+ assertiveness: Assertiveness = "assertive",
83
+ timeout: number = LIVEREGION_TIMEOUT_DELAY,
96
84
  ): void {
97
85
  if (!this.node) {
98
86
  return;
99
87
  }
100
88
 
101
- const node = document.createElement('div');
102
- if (typeof message === 'object') {
89
+ const node = document.createElement("div");
90
+ if (typeof message === "object") {
103
91
  // To read an aria-labelledby, the element must have an appropriate role, such as img.
104
- node.setAttribute('role', 'img');
105
- node.setAttribute('aria-labelledby', message['aria-labelledby']);
92
+ node.setAttribute("role", "img");
93
+ node.setAttribute("aria-labelledby", message["aria-labelledby"]);
106
94
  } else {
107
95
  node.textContent = message;
108
96
  }
109
97
 
110
- if (assertiveness === 'assertive') {
98
+ if (assertiveness === "assertive") {
111
99
  this.assertiveLog?.appendChild(node);
112
100
  } else {
113
101
  this.politeLog?.appendChild(node);
114
102
  }
115
103
 
116
- if (message !== '') {
104
+ if (message !== "") {
117
105
  setTimeout(() => {
118
106
  node.remove();
119
107
  }, timeout);
@@ -125,26 +113,18 @@ class LiveAnnouncer {
125
113
  return;
126
114
  }
127
115
 
128
- if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) {
129
- this.assertiveLog.innerHTML = '';
116
+ if ((!assertiveness || assertiveness === "assertive") && this.assertiveLog) {
117
+ this.assertiveLog.innerHTML = "";
130
118
  }
131
119
 
132
- if ((!assertiveness || assertiveness === 'polite') && this.politeLog) {
133
- this.politeLog.innerHTML = '';
120
+ if ((!assertiveness || assertiveness === "polite") && this.politeLog) {
121
+ this.politeLog.innerHTML = "";
134
122
  }
135
123
  }
136
124
  }
137
125
 
138
- // ============================================
139
- // SINGLETON INSTANCE
140
- // ============================================
141
-
142
126
  let liveAnnouncer: LiveAnnouncer | null = null;
143
127
 
144
- // ============================================
145
- // PUBLIC API
146
- // ============================================
147
-
148
128
  /**
149
129
  * Announces a message to screen readers using ARIA live regions.
150
130
  *
@@ -166,8 +146,8 @@ let liveAnnouncer: LiveAnnouncer | null = null;
166
146
  */
167
147
  export function announce(
168
148
  message: Message,
169
- assertiveness: Assertiveness = 'assertive',
170
- timeout: number = LIVEREGION_TIMEOUT_DELAY
149
+ assertiveness: Assertiveness = "assertive",
150
+ timeout: number = LIVEREGION_TIMEOUT_DELAY,
171
151
  ): void {
172
152
  if (!liveAnnouncer) {
173
153
  liveAnnouncer = new LiveAnnouncer();
@@ -176,9 +156,10 @@ export function announce(
176
156
  // Found most times less than 100ms were not consistent when announcing with Safari.
177
157
 
178
158
  // Check for test environment
179
- const isTestEnv = typeof (globalThis as Record<string, unknown>).IS_SOLIDARIA_TEST === 'boolean'
180
- ? (globalThis as Record<string, unknown>).IS_SOLIDARIA_TEST
181
- : typeof (globalThis as Record<string, unknown>).vitest !== 'undefined';
159
+ const isTestEnv =
160
+ typeof (globalThis as Record<string, unknown>).IS_SOLIDARIA_TEST === "boolean"
161
+ ? (globalThis as Record<string, unknown>).IS_SOLIDARIA_TEST
162
+ : typeof (globalThis as Record<string, unknown>).vitest !== "undefined";
182
163
 
183
164
  if (!isTestEnv) {
184
165
  setTimeout(() => {
@@ -233,17 +214,9 @@ export function destroyAnnouncer(): void {
233
214
  }
234
215
  }
235
216
 
236
- // ============================================
237
- // HOOK-BASED API
238
- // ============================================
239
-
240
217
  export interface UseAnnouncerResult {
241
218
  /** Announce a message to screen readers. */
242
- announce: (
243
- message: Message,
244
- assertiveness?: Assertiveness,
245
- timeout?: number
246
- ) => void;
219
+ announce: (message: Message, assertiveness?: Assertiveness, timeout?: number) => void;
247
220
  /** Clear announcements for the given assertiveness level. */
248
221
  clear: (assertiveness?: Assertiveness) => void;
249
222
  }
@@ -310,8 +283,8 @@ export function useAnnouncer(): UseAnnouncerResult {
310
283
  return {
311
284
  announce: (
312
285
  message: Message,
313
- assertiveness: Assertiveness = 'assertive',
314
- timeout: number = LIVEREGION_TIMEOUT_DELAY
286
+ assertiveness: Assertiveness = "assertive",
287
+ timeout: number = LIVEREGION_TIMEOUT_DELAY,
315
288
  ) => {
316
289
  announce(message, assertiveness, timeout);
317
290
  },
@@ -6,4 +6,4 @@ export {
6
6
  type Assertiveness,
7
7
  type Message,
8
8
  type UseAnnouncerResult,
9
- } from './announce';
9
+ } from "./announce";