@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
@@ -5,15 +5,15 @@
5
5
  * Ported from @react-aria/overlays useOverlayPosition.
6
6
  */
7
7
 
8
- import { createEffect, createSignal, onCleanup, type JSX } from 'solid-js';
9
- import { useLocale } from '../i18n';
8
+ import { createEffect, createSignal, onCleanup, type JSX } from "solid-js";
9
+ import { useLocale } from "../i18n";
10
10
  import {
11
11
  calculatePosition,
12
12
  getRect,
13
13
  type Placement,
14
14
  type PlacementAxis,
15
15
  type PositionResult,
16
- } from './calculatePosition';
16
+ } from "./calculatePosition";
17
17
 
18
18
  export interface PositionProps {
19
19
  /**
@@ -109,13 +109,13 @@ export interface PositionAria {
109
109
  updatePosition: () => void;
110
110
  }
111
111
 
112
- const visualViewport = typeof document !== 'undefined' ? window.visualViewport : null;
112
+ const visualViewport = typeof document !== "undefined" ? window.visualViewport : null;
113
113
 
114
114
  function translateRTL(position: string, direction: string): string {
115
- if (direction === 'rtl') {
116
- return position.replace('start', 'right').replace('end', 'left');
115
+ if (direction === "rtl") {
116
+ return position.replace("start", "right").replace("end", "left");
117
117
  }
118
- return position.replace('start', 'left').replace('end', 'right');
118
+ return position.replace("start", "left").replace("end", "right");
119
119
  }
120
120
 
121
121
  /**
@@ -131,11 +131,11 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
131
131
  const overlayRef = () => props.overlayRef();
132
132
  const arrowRef = () => props.arrowRef?.() ?? null;
133
133
  const scrollRef = () => props.scrollRef?.() ?? overlayRef();
134
- const placement = () => (props.placement ?? 'bottom') as Placement;
134
+ const placement = () => (props.placement ?? "bottom") as Placement;
135
135
  const containerPadding = () => props.containerPadding ?? 12;
136
136
  const shouldFlip = () => props.shouldFlip ?? true;
137
137
  const boundaryElement = () =>
138
- props.boundaryElement ?? (typeof document !== 'undefined' ? document.body : null);
138
+ props.boundaryElement ?? (typeof document !== "undefined" ? document.body : null);
139
139
  const offset = () => props.offset ?? 0;
140
140
  const crossOffset = () => props.crossOffset ?? 0;
141
141
  const shouldUpdatePosition = () => props.shouldUpdatePosition ?? true;
@@ -174,9 +174,9 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
174
174
  // Reset overlay's previous max height
175
175
  const overlay = overlayNode as HTMLElement;
176
176
  if (!maxHeight() && overlayNode) {
177
- overlay.style.top = '0px';
178
- overlay.style.bottom = '';
179
- overlay.style.maxHeight = (window.visualViewport?.height ?? window.innerHeight) + 'px';
177
+ overlay.style.top = "0px";
178
+ overlay.style.bottom = "";
179
+ overlay.style.maxHeight = (window.visualViewport?.height ?? window.innerHeight) + "px";
180
180
  }
181
181
 
182
182
  const result = calculatePosition({
@@ -199,16 +199,16 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
199
199
  }
200
200
 
201
201
  // Apply styles directly for immediate positioning
202
- overlay.style.top = '';
203
- overlay.style.bottom = '';
204
- overlay.style.left = '';
205
- overlay.style.right = '';
202
+ overlay.style.top = "";
203
+ overlay.style.bottom = "";
204
+ overlay.style.left = "";
205
+ overlay.style.right = "";
206
206
 
207
207
  const pos = result.position as Record<string, number | undefined>;
208
208
  Object.keys(pos).forEach((key) => {
209
- overlay.style.setProperty(key, pos[key] + 'px');
209
+ overlay.style.setProperty(key, pos[key] + "px");
210
210
  });
211
- overlay.style.maxHeight = result.maxHeight != null ? result.maxHeight + 'px' : '';
211
+ overlay.style.maxHeight = result.maxHeight != null ? result.maxHeight + "px" : "";
212
212
 
213
213
  setPosition(result);
214
214
  };
@@ -240,10 +240,10 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
240
240
  if (!isOpen()) return;
241
241
 
242
242
  const handleResize = () => updatePosition();
243
- window.addEventListener('resize', handleResize, false);
243
+ window.addEventListener("resize", handleResize, false);
244
244
 
245
245
  onCleanup(() => {
246
- window.removeEventListener('resize', handleResize, false);
246
+ window.removeEventListener("resize", handleResize, false);
247
247
  });
248
248
  });
249
249
 
@@ -295,12 +295,12 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
295
295
  }
296
296
  };
297
297
 
298
- visualViewport?.addEventListener('resize', onResize);
299
- visualViewport?.addEventListener('scroll', onScroll);
298
+ visualViewport?.addEventListener("resize", onResize);
299
+ visualViewport?.addEventListener("scroll", onScroll);
300
300
 
301
301
  onCleanup(() => {
302
- visualViewport?.removeEventListener('resize', onResize);
303
- visualViewport?.removeEventListener('scroll', onScroll);
302
+ visualViewport?.removeEventListener("resize", onResize);
303
+ visualViewport?.removeEventListener("scroll", onScroll);
304
304
  clearTimeout(timeout);
305
305
  });
306
306
  });
@@ -325,35 +325,41 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
325
325
  }
326
326
  };
327
327
 
328
- document.addEventListener('scroll', handleScroll, true);
328
+ document.addEventListener("scroll", handleScroll, true);
329
329
 
330
330
  onCleanup(() => {
331
- document.removeEventListener('scroll', handleScroll, true);
331
+ document.removeEventListener("scroll", handleScroll, true);
332
332
  });
333
333
  });
334
334
 
335
335
  return {
336
336
  overlayProps: {
337
- style: {
338
- position: position() ? 'absolute' : 'fixed',
339
- top: !position() ? 0 : undefined,
340
- left: !position() ? 0 : undefined,
341
- 'z-index': 100000,
342
- 'max-height': position()?.maxHeight ?? '100vh',
343
- } as JSX.CSSProperties,
337
+ get style(): JSX.CSSProperties {
338
+ const current = position();
339
+ return {
340
+ position: current ? "absolute" : "fixed",
341
+ top: !current ? 0 : undefined,
342
+ left: !current ? 0 : undefined,
343
+ "z-index": 100000,
344
+ "max-height": current?.maxHeight ?? "100vh",
345
+ } as JSX.CSSProperties;
346
+ },
344
347
  },
345
348
  placement: () => position()?.placement ?? null,
346
349
  triggerAnchorPoint: () => position()?.triggerAnchorPoint ?? null,
347
350
  arrowProps: {
348
- 'aria-hidden': 'true',
349
- role: 'presentation',
350
- style: {
351
- left: position()?.arrowOffsetLeft != null ? `${position()!.arrowOffsetLeft}px` : undefined,
352
- top: position()?.arrowOffsetTop != null ? `${position()!.arrowOffsetTop}px` : undefined,
353
- } as JSX.CSSProperties,
351
+ "aria-hidden": "true",
352
+ role: "presentation",
353
+ get style(): JSX.CSSProperties {
354
+ const current = position();
355
+ return {
356
+ left: current?.arrowOffsetLeft != null ? `${current.arrowOffsetLeft}px` : undefined,
357
+ top: current?.arrowOffsetTop != null ? `${current.arrowOffsetTop}px` : undefined,
358
+ };
359
+ },
354
360
  },
355
361
  updatePosition,
356
362
  };
357
363
  }
358
364
 
359
- export { type Placement, type PlacementAxis } from './calculatePosition';
365
+ export { type Placement, type PlacementAxis } from "./calculatePosition";
@@ -5,16 +5,16 @@
5
5
  * Ported from @react-aria/overlays usePopover.
6
6
  */
7
7
 
8
- import { createEffect, onCleanup, type JSX } from 'solid-js';
9
- import { createOverlay } from '../overlays/createOverlay';
8
+ import { createEffect, onCleanup, type JSX } from "solid-js";
9
+ import { createOverlay } from "../overlays/createOverlay";
10
10
  import {
11
11
  createOverlayPosition,
12
12
  type AriaPositionProps,
13
13
  type PlacementAxis,
14
- } from './createOverlayPosition';
15
- import { createPreventScroll } from '../overlays/createPreventScroll';
16
- import { ariaHideOutside, keepVisible } from '../overlays/ariaHideOutside';
17
- import { mergeProps } from '../utils/mergeProps';
14
+ } from "./createOverlayPosition";
15
+ import { createPreventScroll } from "../overlays/createPreventScroll";
16
+ import { ariaHideOutside, keepVisible } from "../overlays/ariaHideOutside";
17
+ import { mergeProps } from "../utils/mergeProps";
18
18
 
19
19
  export interface OverlayTriggerState {
20
20
  /** Whether the overlay is currently open. */
@@ -27,8 +27,10 @@ export interface OverlayTriggerState {
27
27
  toggle: () => void;
28
28
  }
29
29
 
30
- export interface AriaPopoverProps
31
- extends Omit<AriaPositionProps, 'isOpen' | 'onClose' | 'targetRef' | 'overlayRef'> {
30
+ export interface AriaPopoverProps extends Omit<
31
+ AriaPositionProps,
32
+ "isOpen" | "onClose" | "targetRef" | "overlayRef"
33
+ > {
32
34
  /**
33
35
  * The ref for the element which the popover positions itself with respect to.
34
36
  */
@@ -94,17 +96,14 @@ export interface PopoverAria {
94
96
  * Provides the behavior and accessibility implementation for a popover component.
95
97
  * A popover is an overlay element positioned relative to a trigger.
96
98
  */
97
- export function createPopover(
98
- props: AriaPopoverProps,
99
- state: OverlayTriggerState
100
- ): PopoverAria {
99
+ export function createPopover(props: AriaPopoverProps, state: OverlayTriggerState): PopoverAria {
101
100
  const triggerRef = () => props.triggerRef();
102
101
  const popoverRef = () => props.popoverRef();
103
102
  const groupRef = () => props.groupRef?.() ?? null;
104
103
  const isNonModal = () => props.isNonModal ?? false;
105
104
  const isKeyboardDismissDisabled = () => props.isKeyboardDismissDisabled ?? false;
106
105
  const shouldCloseOnInteractOutside = props.shouldCloseOnInteractOutside;
107
- const isSubmenu = () => props.trigger === 'SubmenuTrigger';
106
+ const isSubmenu = () => props.trigger === "SubmenuTrigger";
108
107
 
109
108
  // Overlay behavior (dismiss handling)
110
109
  const { overlayProps, underlayProps } = createOverlay(
@@ -113,7 +112,9 @@ export function createPopover(
113
112
  return state.isOpen();
114
113
  },
115
114
  onClose: state.close,
116
- shouldCloseOnBlur: true,
115
+ get shouldCloseOnBlur() {
116
+ return !isSubmenu();
117
+ },
117
118
  get isDismissable() {
118
119
  return !isNonModal() || isSubmenu();
119
120
  },
@@ -124,7 +125,7 @@ export function createPopover(
124
125
  return shouldCloseOnInteractOutside;
125
126
  },
126
127
  },
127
- () => groupRef() ?? popoverRef()
128
+ () => groupRef() ?? popoverRef(),
128
129
  );
129
130
 
130
131
  // Overlay positioning
@@ -172,8 +173,32 @@ export function createPopover(
172
173
  }
173
174
  });
174
175
 
176
+ const merged = mergeProps(overlayProps, positionProps) as Record<string, unknown>;
177
+ const popoverProps = new Proxy(merged, {
178
+ get(target, key: string) {
179
+ if (key === "style") return positionProps.style;
180
+ return target[key];
181
+ },
182
+ has(target, key) {
183
+ return key in target;
184
+ },
185
+ ownKeys(target) {
186
+ return Reflect.ownKeys(target);
187
+ },
188
+ getOwnPropertyDescriptor(target, key) {
189
+ if (key === "style") {
190
+ return {
191
+ configurable: true,
192
+ enumerable: true,
193
+ get: () => positionProps.style,
194
+ };
195
+ }
196
+ return Reflect.getOwnPropertyDescriptor(target, key);
197
+ },
198
+ });
199
+
175
200
  return {
176
- popoverProps: mergeProps(overlayProps, positionProps),
201
+ popoverProps,
177
202
  arrowProps,
178
203
  underlayProps,
179
204
  placement,
@@ -181,4 +206,4 @@ export function createPopover(
181
206
  };
182
207
  }
183
208
 
184
- export { type PlacementAxis } from './createOverlayPosition';
209
+ export { type PlacementAxis } from "./createOverlayPosition";
@@ -4,7 +4,7 @@ export {
4
4
  type AriaPopoverProps,
5
5
  type PopoverAria,
6
6
  type OverlayTriggerState,
7
- } from './createPopover';
7
+ } from "./createPopover";
8
8
 
9
9
  // Overlay Position
10
10
  export {
@@ -12,7 +12,7 @@ export {
12
12
  type AriaPositionProps,
13
13
  type PositionProps,
14
14
  type PositionAria,
15
- } from './createOverlayPosition';
15
+ } from "./createOverlayPosition";
16
16
 
17
17
  // Position calculation utilities
18
18
  export {
@@ -21,4 +21,4 @@ export {
21
21
  type PlacementAxis,
22
22
  type PositionOpts,
23
23
  type PositionResult,
24
- } from './calculatePosition';
24
+ } from "./calculatePosition";
@@ -8,16 +8,14 @@
8
8
  * This is a 1:1 port of @react-aria/progress's useProgressBar hook.
9
9
  */
10
10
 
11
- import { createLabel } from '../label/createLabel';
12
- import { mergeProps } from '../utils/mergeProps';
13
- import { filterDOMProps } from '../utils/filterDOMProps';
14
- import { type MaybeAccessor, access } from '../utils/reactivity';
15
-
16
- // ============================================
17
- // TYPES
18
- // ============================================
11
+ import { createLabel } from "../label/createLabel";
12
+ import { mergeProps } from "../utils/mergeProps";
13
+ import { filterDOMProps } from "../utils/filterDOMProps";
14
+ import { type MaybeAccessor, access } from "../utils/reactivity";
19
15
 
20
16
  export interface AriaProgressBarProps {
17
+ /** The element id. */
18
+ id?: string;
21
19
  /** The current value (controlled). */
22
20
  value?: number;
23
21
  /** The smallest value allowed for the input. @default 0 */
@@ -33,13 +31,13 @@ export interface AriaProgressBarProps {
33
31
  /** The content to display as the label. */
34
32
  label?: string;
35
33
  /** An accessibility label for this item. */
36
- 'aria-label'?: string;
34
+ "aria-label"?: string;
37
35
  /** Identifies the element (or elements) that labels the current element. */
38
- 'aria-labelledby'?: string;
36
+ "aria-labelledby"?: string;
39
37
  /** Identifies the element (or elements) that describes the object. */
40
- 'aria-describedby'?: string;
38
+ "aria-describedby"?: string;
41
39
  /** Identifies the element (or elements) that provide a detailed, extended description for the object. */
42
- 'aria-details'?: string;
40
+ "aria-details"?: string;
43
41
  }
44
42
 
45
43
  export interface ProgressBarAria {
@@ -49,10 +47,6 @@ export interface ProgressBarAria {
49
47
  labelProps: Record<string, unknown>;
50
48
  }
51
49
 
52
- // ============================================
53
- // UTILITIES
54
- // ============================================
55
-
56
50
  function clamp(value: number, min: number, max: number): number {
57
51
  return Math.min(Math.max(value, min), max);
58
52
  }
@@ -62,28 +56,33 @@ function getSafeRange(min: number, max: number): number {
62
56
  return Number.isFinite(range) && range > 0 ? range : 1;
63
57
  }
64
58
 
65
- // ============================================
66
- // IMPLEMENTATION
67
- // ============================================
68
-
69
59
  /**
70
60
  * Provides the accessibility implementation for a progress bar component.
71
61
  * Progress bars show either determinate or indeterminate progress of an operation
72
62
  * over time.
73
63
  */
74
64
  export function createProgressBar(
75
- props: MaybeAccessor<AriaProgressBarProps> = {}
65
+ props: MaybeAccessor<AriaProgressBarProps> = {},
76
66
  ): ProgressBarAria {
77
67
  const getProps = () => access(props);
78
68
 
79
69
  // Create label handling
80
70
  const { labelProps, fieldProps } = createLabel({
81
- get label() { return getProps().label; },
82
- get 'aria-label'() { return getProps()['aria-label']; },
83
- get 'aria-labelledby'() { return getProps()['aria-labelledby']; },
71
+ get id() {
72
+ return getProps().id;
73
+ },
74
+ get label() {
75
+ return getProps().label;
76
+ },
77
+ get "aria-label"() {
78
+ return getProps()["aria-label"];
79
+ },
80
+ get "aria-labelledby"() {
81
+ return getProps()["aria-labelledby"];
82
+ },
84
83
  // Progress bar is not an HTML input element so it
85
84
  // shouldn't be labeled by a <label> element.
86
- labelElementType: 'span',
85
+ labelElementType: "span",
87
86
  });
88
87
 
89
88
  // Build progress bar props
@@ -93,7 +92,7 @@ export function createProgressBar(
93
92
  const minValue = p.minValue ?? 0;
94
93
  const maxValue = p.maxValue ?? 100;
95
94
  const isIndeterminate = p.isIndeterminate ?? false;
96
- const formatOptions = p.formatOptions ?? { style: 'percent' as const };
95
+ const formatOptions = p.formatOptions ?? { style: "percent" as const };
97
96
 
98
97
  const clampedValue = clamp(value, minValue, maxValue);
99
98
  const percentage = (clampedValue - minValue) / getSafeRange(minValue, maxValue);
@@ -101,7 +100,7 @@ export function createProgressBar(
101
100
  // Format value label
102
101
  let valueLabel = p.valueLabel;
103
102
  if (!isIndeterminate && !valueLabel) {
104
- const valueToFormat = formatOptions.style === 'percent' ? percentage : clampedValue;
103
+ const valueToFormat = formatOptions.style === "percent" ? percentage : clampedValue;
105
104
  try {
106
105
  const formatter = new Intl.NumberFormat(undefined, formatOptions);
107
106
  valueLabel = formatter.format(valueToFormat);
@@ -114,11 +113,11 @@ export function createProgressBar(
114
113
  const domProps = filterDOMProps(p as Record<string, unknown>, { labelable: true });
115
114
 
116
115
  return mergeProps(domProps, fieldProps as Record<string, unknown>, {
117
- 'aria-valuenow': isIndeterminate ? undefined : clampedValue,
118
- 'aria-valuemin': minValue,
119
- 'aria-valuemax': maxValue,
120
- 'aria-valuetext': isIndeterminate ? undefined : valueLabel,
121
- role: 'progressbar',
116
+ "aria-valuenow": isIndeterminate ? undefined : clampedValue,
117
+ "aria-valuemin": minValue,
118
+ "aria-valuemax": maxValue,
119
+ "aria-valuetext": isIndeterminate ? undefined : valueLabel,
120
+ role: "progressbar",
122
121
  });
123
122
  };
124
123
 
@@ -2,4 +2,4 @@ export {
2
2
  createProgressBar,
3
3
  type AriaProgressBarProps,
4
4
  type ProgressBarAria,
5
- } from './createProgressBar';
5
+ } from "./createProgressBar";