@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,14 +5,10 @@
5
5
  * Based on @react-aria/datepicker useDateSegment semantics (time-field scope).
6
6
  */
7
7
 
8
- import { createMemo, createSignal } from 'solid-js';
9
- import { useLocale } from '../i18n';
10
- import { access, type MaybeAccessor } from '../utils/reactivity';
11
- import type { TimeFieldState, TimeSegment, TimeSegmentType } from '@proyecto-viviana/solid-stately';
12
-
13
- // ============================================
14
- // TYPES
15
- // ============================================
8
+ import { createMemo, createSignal } from "solid-js";
9
+ import { useLocale } from "../i18n";
10
+ import { access, type MaybeAccessor } from "../utils/reactivity";
11
+ import type { TimeFieldState, TimeSegment, TimeSegmentType } from "@proyecto-viviana/solid-stately";
16
12
 
17
13
  export interface AriaTimeSegmentProps {
18
14
  /** The segment data. */
@@ -32,21 +28,17 @@ export interface TimeSegmentAria {
32
28
  text: string;
33
29
  }
34
30
 
35
- // ============================================
36
- // IMPLEMENTATION
37
- // ============================================
38
-
39
31
  /**
40
32
  * Provides the behavior and accessibility implementation for a time segment.
41
33
  */
42
34
  export function createTimeSegment<T extends TimeFieldState>(
43
35
  props: MaybeAccessor<AriaTimeSegmentProps>,
44
36
  state: T,
45
- ref?: () => HTMLElement | null
37
+ ref?: () => HTMLElement | null,
46
38
  ): TimeSegmentAria {
47
39
  const getProps = () => access(props);
48
40
  const [isFocused, setIsFocused] = createSignal(false);
49
- const [enteredKeys, setEnteredKeys] = createSignal('');
41
+ const [enteredKeys, setEnteredKeys] = createSignal("");
50
42
  const [isComposing, setIsComposing] = createSignal(false);
51
43
  const locale = useLocale();
52
44
 
@@ -57,25 +49,23 @@ export function createTimeSegment<T extends TimeFieldState>(
57
49
  return seg.isEditable && !state.isDisabled() && !state.isReadOnly();
58
50
  });
59
51
 
60
- const focusSegment = (target: 'first' | 'last' | 'prev' | 'next') => {
52
+ const focusSegment = (target: "first" | "last" | "prev" | "next") => {
61
53
  const el = ref?.();
62
54
  if (!el) return;
63
55
 
64
56
  const container = el.parentElement;
65
57
  if (!container) return;
66
58
 
67
- const segments = Array.from(
68
- container.querySelectorAll<HTMLElement>('[role="spinbutton"]')
69
- );
59
+ const segments = Array.from(container.querySelectorAll<HTMLElement>('[role="spinbutton"]'));
70
60
 
71
61
  if (segments.length === 0) return;
72
62
 
73
- if (target === 'first') {
63
+ if (target === "first") {
74
64
  segments[0]?.focus();
75
65
  return;
76
66
  }
77
67
 
78
- if (target === 'last') {
68
+ if (target === "last") {
79
69
  segments[segments.length - 1]?.focus();
80
70
  return;
81
71
  }
@@ -83,7 +73,7 @@ export function createTimeSegment<T extends TimeFieldState>(
83
73
  const currentIndex = segments.indexOf(el);
84
74
  if (currentIndex < 0) return;
85
75
 
86
- const nextIndex = target === 'next' ? currentIndex + 1 : currentIndex - 1;
76
+ const nextIndex = target === "next" ? currentIndex + 1 : currentIndex - 1;
87
77
  if (nextIndex >= 0 && nextIndex < segments.length) {
88
78
  segments[nextIndex]?.focus();
89
79
  }
@@ -91,14 +81,10 @@ export function createTimeSegment<T extends TimeFieldState>(
91
81
 
92
82
  const clearCurrentSegment = (type: TimeSegmentType) => {
93
83
  state.clearSegment(type);
94
- setEnteredKeys('');
84
+ setEnteredKeys("");
95
85
  };
96
86
 
97
- const handleNumericInput = (
98
- key: string,
99
- type: TimeSegmentType,
100
- seg: TimeSegment
101
- ) => {
87
+ const handleNumericInput = (key: string, type: TimeSegmentType, seg: TimeSegment) => {
102
88
  const newKeys = enteredKeys() + key;
103
89
  const numValue = parseInt(newKeys, 10);
104
90
  const maxValue = seg.maxValue ?? 99;
@@ -108,10 +94,10 @@ export function createTimeSegment<T extends TimeFieldState>(
108
94
  if (numValue <= maxValue) {
109
95
  state.setSegment(type, numValue);
110
96
 
111
- const potentialNextValue = parseInt(newKeys + '0', 10);
97
+ const potentialNextValue = parseInt(newKeys + "0", 10);
112
98
  if (potentialNextValue > maxValue || newKeys.length >= maxDigits) {
113
- setEnteredKeys('');
114
- focusSegment('next');
99
+ setEnteredKeys("");
100
+ focusSegment("next");
115
101
  } else {
116
102
  setEnteredKeys(newKeys);
117
103
  }
@@ -119,15 +105,15 @@ export function createTimeSegment<T extends TimeFieldState>(
119
105
  const singleValue = parseInt(key, 10);
120
106
  if (singleValue >= minValue && singleValue <= maxValue) {
121
107
  state.setSegment(type, singleValue);
122
- const potentialNextValue = parseInt(key + '0', 10);
108
+ const potentialNextValue = parseInt(key + "0", 10);
123
109
  if (potentialNextValue > maxValue || key.length >= maxDigits) {
124
- setEnteredKeys('');
125
- focusSegment('next');
110
+ setEnteredKeys("");
111
+ focusSegment("next");
126
112
  } else {
127
113
  setEnteredKeys(key);
128
114
  }
129
115
  } else {
130
- setEnteredKeys('');
116
+ setEnteredKeys("");
131
117
  }
132
118
  }
133
119
  };
@@ -139,42 +125,42 @@ export function createTimeSegment<T extends TimeFieldState>(
139
125
  const seg = segment();
140
126
  const type = seg.type;
141
127
 
142
- if (type === 'literal') return;
128
+ if (type === "literal") return;
143
129
 
144
130
  switch (e.key) {
145
- case 'ArrowRight':
131
+ case "ArrowRight":
146
132
  e.preventDefault();
147
- focusSegment(locale().direction === 'rtl' ? 'prev' : 'next');
133
+ focusSegment(locale().direction === "rtl" ? "prev" : "next");
148
134
  break;
149
- case 'ArrowLeft':
135
+ case "ArrowLeft":
150
136
  e.preventDefault();
151
- focusSegment(locale().direction === 'rtl' ? 'next' : 'prev');
137
+ focusSegment(locale().direction === "rtl" ? "next" : "prev");
152
138
  break;
153
- case 'ArrowUp':
139
+ case "ArrowUp":
154
140
  e.preventDefault();
155
141
  state.incrementSegment(type);
156
142
  break;
157
- case 'ArrowDown':
143
+ case "ArrowDown":
158
144
  e.preventDefault();
159
145
  state.decrementSegment(type);
160
146
  break;
161
- case 'Home':
147
+ case "Home":
162
148
  e.preventDefault();
163
- focusSegment('first');
149
+ focusSegment("first");
164
150
  break;
165
- case 'End':
151
+ case "End":
166
152
  e.preventDefault();
167
- focusSegment('last');
153
+ focusSegment("last");
168
154
  break;
169
- case 'Backspace':
155
+ case "Backspace":
170
156
  e.preventDefault();
171
157
  if (seg.isPlaceholder) {
172
- focusSegment('prev');
158
+ focusSegment("prev");
173
159
  } else {
174
160
  clearCurrentSegment(type);
175
161
  }
176
162
  break;
177
- case 'Delete':
163
+ case "Delete":
178
164
  e.preventDefault();
179
165
  clearCurrentSegment(type);
180
166
  break;
@@ -193,15 +179,15 @@ export function createTimeSegment<T extends TimeFieldState>(
193
179
  if (isComposing()) return;
194
180
 
195
181
  const seg = segment();
196
- if (seg.type === 'literal') return;
182
+ if (seg.type === "literal") return;
197
183
 
198
- if (e.inputType === 'deleteContentBackward' || e.inputType === 'deleteContentForward') {
184
+ if (e.inputType === "deleteContentBackward" || e.inputType === "deleteContentForward") {
199
185
  e.preventDefault();
200
186
  clearCurrentSegment(seg.type);
201
187
  return;
202
188
  }
203
189
 
204
- if (e.inputType === 'insertText' && e.data) {
190
+ if (e.inputType === "insertText" && e.data) {
205
191
  const normalizedDigit = normalizeDigit(e.data);
206
192
  if (!normalizedDigit) return;
207
193
  e.preventDefault();
@@ -212,7 +198,7 @@ export function createTimeSegment<T extends TimeFieldState>(
212
198
  const handleCompositionStart = () => {
213
199
  if (!isEditable()) return;
214
200
  setIsComposing(true);
215
- setEnteredKeys('');
201
+ setEnteredKeys("");
216
202
  };
217
203
 
218
204
  const handleCompositionEnd = (e: CompositionEvent) => {
@@ -220,9 +206,9 @@ export function createTimeSegment<T extends TimeFieldState>(
220
206
  setIsComposing(false);
221
207
 
222
208
  const seg = segment();
223
- if (seg.type === 'literal') return;
209
+ if (seg.type === "literal") return;
224
210
 
225
- const digits = extractNormalizedDigits(e.data ?? '');
211
+ const digits = extractNormalizedDigits(e.data ?? "");
226
212
  if (digits.length === 0) return;
227
213
 
228
214
  for (const digit of digits) {
@@ -232,12 +218,12 @@ export function createTimeSegment<T extends TimeFieldState>(
232
218
 
233
219
  const handleFocus = () => {
234
220
  setIsFocused(true);
235
- setEnteredKeys('');
221
+ setEnteredKeys("");
236
222
  };
237
223
 
238
224
  const handleBlur = () => {
239
225
  setIsFocused(false);
240
- setEnteredKeys('');
226
+ setEnteredKeys("");
241
227
 
242
228
  const maybeState = state as unknown as { confirmPlaceholder?: () => void };
243
229
  maybeState.confirmPlaceholder?.();
@@ -247,28 +233,28 @@ export function createTimeSegment<T extends TimeFieldState>(
247
233
  const seg = segment();
248
234
  const type = seg.type;
249
235
 
250
- if (type === 'literal') {
236
+ if (type === "literal") {
251
237
  return {
252
- 'aria-hidden': true,
238
+ "aria-hidden": true,
253
239
  };
254
240
  }
255
241
 
256
242
  return {
257
- role: 'spinbutton',
243
+ role: "spinbutton",
258
244
  tabIndex: isEditable() ? 0 : -1,
259
- 'aria-label': getSegmentLabel(type, locale().locale),
260
- 'aria-valuenow': seg.value,
261
- 'aria-valuemin': seg.minValue,
262
- 'aria-valuemax': seg.maxValue,
263
- 'aria-valuetext': seg.isPlaceholder ? seg.placeholder : seg.text,
264
- 'aria-readonly': state.isReadOnly() || undefined,
265
- 'aria-disabled': state.isDisabled() || undefined,
266
- 'aria-invalid': state.isInvalid() || undefined,
245
+ "aria-label": getSegmentLabel(type, locale().locale),
246
+ "aria-valuenow": seg.value,
247
+ "aria-valuemin": seg.minValue,
248
+ "aria-valuemax": seg.maxValue,
249
+ "aria-valuetext": seg.isPlaceholder ? seg.placeholder : seg.text,
250
+ "aria-readonly": state.isReadOnly() || undefined,
251
+ "aria-disabled": state.isDisabled() || undefined,
252
+ "aria-invalid": state.isInvalid() || undefined,
267
253
  contentEditable: isEditable(),
268
254
  suppressContentEditableWarning: true,
269
- inputMode: 'numeric' as const,
270
- autoCorrect: 'off',
271
- enterKeyHint: 'next' as const,
255
+ inputMode: "numeric" as const,
256
+ autoCorrect: "off",
257
+ enterKeyHint: "next" as const,
272
258
  spellCheck: false,
273
259
  onKeyDown: handleKeyDown,
274
260
  onFocus: handleFocus,
@@ -306,31 +292,27 @@ export function createTimeSegment<T extends TimeFieldState>(
306
292
  };
307
293
  }
308
294
 
309
- // ============================================
310
- // HELPERS
311
- // ============================================
312
-
313
- type EditableTimeSegmentType = Exclude<TimeSegmentType, 'literal'>;
295
+ type EditableTimeSegmentType = Exclude<TimeSegmentType, "literal">;
314
296
 
315
297
  const SEGMENT_LABELS: Record<string, Record<EditableTimeSegmentType, string>> = {
316
298
  en: {
317
- hour: 'Hour',
318
- minute: 'Minute',
319
- second: 'Second',
320
- dayPeriod: 'AM/PM',
299
+ hour: "Hour",
300
+ minute: "Minute",
301
+ second: "Second",
302
+ dayPeriod: "AM/PM",
321
303
  },
322
304
  es: {
323
- hour: 'Hora',
324
- minute: 'Minuto',
325
- second: 'Segundo',
326
- dayPeriod: 'AM/PM',
305
+ hour: "Hora",
306
+ minute: "Minuto",
307
+ second: "Segundo",
308
+ dayPeriod: "AM/PM",
327
309
  },
328
310
  };
329
311
 
330
312
  function getSegmentLabel(type: TimeSegmentType, locale: string): string {
331
- if (type === 'literal') return '';
313
+ if (type === "literal") return "";
332
314
 
333
- const language = locale.toLowerCase().split('-')[0] ?? 'en';
315
+ const language = locale.toLowerCase().split("-")[0] ?? "en";
334
316
  const labels = SEGMENT_LABELS[language] ?? SEGMENT_LABELS.en;
335
317
  return labels[type];
336
318
  }
@@ -1,30 +1,22 @@
1
1
  // Date Field
2
- export {
3
- createDateField,
4
- type AriaDateFieldProps,
5
- type DateFieldAria,
6
- } from './createDateField';
2
+ export { createDateField, type AriaDateFieldProps, type DateFieldAria } from "./createDateField";
7
3
 
8
4
  // Date Segment
9
5
  export {
10
6
  createDateSegment,
11
7
  type AriaDateSegmentProps,
12
8
  type DateSegmentAria,
13
- } from './createDateSegment';
9
+ } from "./createDateSegment";
14
10
 
15
11
  // Time Field
16
- export {
17
- createTimeField,
18
- type AriaTimeFieldProps,
19
- type TimeFieldAria,
20
- } from './createTimeField';
12
+ export { createTimeField, type AriaTimeFieldProps, type TimeFieldAria } from "./createTimeField";
21
13
 
22
14
  // Time Segment
23
15
  export {
24
16
  createTimeSegment,
25
17
  type AriaTimeSegmentProps,
26
18
  type TimeSegmentAria,
27
- } from './createTimeSegment';
19
+ } from "./createTimeSegment";
28
20
 
29
21
  // Date Picker
30
22
  export {
@@ -32,11 +24,18 @@ export {
32
24
  type AriaDatePickerProps,
33
25
  type DatePickerAria,
34
26
  type DatePickerState,
35
- } from './createDatePicker';
27
+ } from "./createDatePicker";
28
+
29
+ // Date Picker Group
30
+ export {
31
+ createDatePickerGroup,
32
+ type AriaDatePickerGroupProps,
33
+ type DatePickerGroupAria,
34
+ } from "./createDatePickerGroup";
36
35
 
37
36
  // Date Range Picker
38
37
  export {
39
38
  createDateRangePicker,
40
39
  type AriaDateRangePickerProps,
41
40
  type DateRangePickerAria,
42
- } from './createDateRangePicker';
41
+ } from "./createDateRangePicker";
@@ -15,24 +15,31 @@
15
15
  * https://github.com/adobe/react-spectrum/blob/main/packages/@react-aria/dialog/src/useDialog.ts
16
16
  */
17
17
 
18
- import { Accessor, createEffect, createMemo, createSignal, createUniqueId, onCleanup } from 'solid-js'
19
- import { filterDOMProps, focusSafely } from '../utils'
20
- import type { AriaLabelingProps, DOMProps } from './types'
18
+ import {
19
+ Accessor,
20
+ createEffect,
21
+ createMemo,
22
+ createSignal,
23
+ createUniqueId,
24
+ onCleanup,
25
+ } from "solid-js";
26
+ import { filterDOMProps, focusSafely } from "../utils";
27
+ import type { AriaLabelingProps, DOMProps } from "./types";
21
28
 
22
29
  export interface AriaDialogProps extends DOMProps, AriaLabelingProps {
23
30
  /**
24
31
  * The role of the dialog element.
25
32
  * @default 'dialog'
26
33
  */
27
- role?: 'dialog' | 'alertdialog'
34
+ role?: "dialog" | "alertdialog";
28
35
  }
29
36
 
30
37
  export interface DialogAria {
31
38
  /** Props for the dialog container element. */
32
- dialogProps: Accessor<Record<string, any>>
39
+ dialogProps: Accessor<Record<string, unknown>>;
33
40
 
34
41
  /** Props for the dialog title element. */
35
- titleProps: Accessor<Record<string, any>>
42
+ titleProps: Accessor<Record<string, unknown>>;
36
43
  }
37
44
 
38
45
  /**
@@ -41,31 +48,31 @@ export interface DialogAria {
41
48
  */
42
49
  export function createDialog(
43
50
  props: AriaDialogProps | Accessor<AriaDialogProps>,
44
- ref: Accessor<HTMLElement | undefined>
51
+ ref: Accessor<HTMLElement | undefined>,
45
52
  ): DialogAria {
46
53
  // Support both direct props and accessor pattern
47
- const getProps = typeof props === 'function' ? props : () => props
54
+ const getProps = typeof props === "function" ? props : () => props;
48
55
 
49
- const role = () => getProps().role ?? 'dialog'
50
- const generatedTitleId = createUniqueId()
51
- const [isRefocusing, setIsRefocusing] = createSignal(false)
56
+ const role = () => getProps().role ?? "dialog";
57
+ const generatedTitleId = createUniqueId();
58
+ const [isRefocusing, setIsRefocusing] = createSignal(false);
52
59
 
53
60
  const titleId = createMemo(() => {
54
- const p = getProps()
61
+ const p = getProps();
55
62
  // Use provided aria-labelledby, or generated ID if no aria-label
56
- if (p['aria-labelledby']) return undefined
57
- return p['aria-label'] ? undefined : generatedTitleId
58
- })
63
+ if (p["aria-labelledby"]) return undefined;
64
+ return p["aria-label"] ? undefined : generatedTitleId;
65
+ });
59
66
 
60
67
  // Focus the dialog itself on mount, unless a child element is already focused.
61
68
  // Only run on the client (SSR-safe)
62
69
  createEffect(() => {
63
70
  // Guard against SSR - document is not available on the server
64
- if (typeof document === 'undefined') return
71
+ if (typeof document === "undefined") return;
65
72
 
66
- const dialogEl = ref()
73
+ const dialogEl = ref();
67
74
  if (dialogEl && !dialogEl.contains(document.activeElement)) {
68
- focusSafely(dialogEl)
75
+ focusSafely(dialogEl);
69
76
 
70
77
  // Safari on iOS does not move the VoiceOver cursor to the dialog
71
78
  // or announce that it has opened until it has rendered. A workaround
@@ -73,48 +80,48 @@ export function createDialog(
73
80
  const timeout = setTimeout(() => {
74
81
  // Check that the dialog is still focused, or focused was lost to the body.
75
82
  if (document.activeElement === dialogEl || document.activeElement === document.body) {
76
- setIsRefocusing(true)
77
- dialogEl.blur()
78
- focusSafely(dialogEl)
79
- setIsRefocusing(false)
83
+ setIsRefocusing(true);
84
+ dialogEl.blur();
85
+ focusSafely(dialogEl);
86
+ setIsRefocusing(false);
80
87
  }
81
- }, 500)
88
+ }, 500);
82
89
 
83
90
  onCleanup(() => {
84
- clearTimeout(timeout)
85
- })
91
+ clearTimeout(timeout);
92
+ });
86
93
  }
87
- })
94
+ });
88
95
 
89
96
  // Note: Focus containment is typically handled by createModal at a higher level
90
97
  // For standalone dialogs, focus containment should be managed by the overlay system
91
98
 
92
99
  const dialogProps = createMemo(() => {
93
- const p = getProps()
100
+ const p = getProps();
94
101
  return {
95
102
  ...filterDOMProps(p),
96
103
  role: role(),
97
104
  tabIndex: -1,
98
- 'aria-label': p['aria-label'],
99
- 'aria-labelledby': p['aria-labelledby'] || titleId(),
100
- 'aria-describedby': p['aria-describedby'],
105
+ "aria-label": p["aria-label"],
106
+ "aria-labelledby": p["aria-labelledby"] || titleId(),
107
+ "aria-describedby": p["aria-describedby"],
101
108
  // Prevent blur events from reaching createOverlay, which may cause
102
109
  // popovers to close. Since focus is contained within the dialog,
103
110
  // we don't want this to occur due to the above createEffect.
104
111
  onBlur: (e: FocusEvent) => {
105
112
  if (isRefocusing()) {
106
- e.stopPropagation()
113
+ e.stopPropagation();
107
114
  }
108
- }
109
- }
110
- })
115
+ },
116
+ };
117
+ });
111
118
 
112
119
  const titlePropsValue = createMemo(() => ({
113
- id: titleId()
114
- }))
120
+ id: titleId(),
121
+ }));
115
122
 
116
123
  return {
117
124
  dialogProps,
118
- titleProps: titlePropsValue
119
- }
125
+ titleProps: titlePropsValue,
126
+ };
120
127
  }
@@ -1,2 +1,2 @@
1
- export { createDialog } from './createDialog'
2
- export type { AriaDialogProps, DialogAria } from './createDialog'
1
+ export { createDialog } from "./createDialog";
2
+ export type { AriaDialogProps, DialogAria } from "./createDialog";
@@ -9,11 +9,11 @@ export interface DOMProps {
9
9
 
10
10
  export interface AriaLabelingProps {
11
11
  /** Defines a string value that labels the current element. */
12
- 'aria-label'?: string;
12
+ "aria-label"?: string;
13
13
  /** Identifies the element (or elements) that labels the current element. */
14
- 'aria-labelledby'?: string;
14
+ "aria-labelledby"?: string;
15
15
  /** Identifies the element (or elements) that describes the object. */
16
- 'aria-describedby'?: string;
16
+ "aria-describedby"?: string;
17
17
  /** Identifies the element (or elements) that provide a detailed, extended description for the object. */
18
- 'aria-details'?: string;
18
+ "aria-details"?: string;
19
19
  }