@proyecto-viviana/solidaria 0.3.0 → 0.4.1

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 (743) hide show
  1. package/dist/_chunk/DragManager.js +627 -0
  2. package/dist/_chunk/DragManager.js.map +1 -0
  3. package/dist/_chunk/DragManager.jsx +627 -0
  4. package/dist/_chunk/DragManager.jsx.map +1 -0
  5. package/dist/_chunk/FocusScope.js +400 -0
  6. package/dist/_chunk/FocusScope.js.map +1 -0
  7. package/dist/_chunk/FocusScope.jsx +375 -0
  8. package/dist/_chunk/FocusScope.jsx.map +1 -0
  9. package/dist/_chunk/actiongroup.js +141 -0
  10. package/dist/_chunk/actiongroup.js.map +1 -0
  11. package/dist/_chunk/actiongroup.jsx +141 -0
  12. package/dist/_chunk/actiongroup.jsx.map +1 -0
  13. package/dist/_chunk/announce.js +207 -0
  14. package/dist/_chunk/announce.js.map +1 -0
  15. package/dist/_chunk/announce.jsx +207 -0
  16. package/dist/_chunk/announce.jsx.map +1 -0
  17. package/dist/_chunk/ariaHideOutside.js +122 -0
  18. package/dist/_chunk/ariaHideOutside.js.map +1 -0
  19. package/dist/_chunk/ariaHideOutside.jsx +122 -0
  20. package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
  21. package/dist/_chunk/autocomplete.js +244 -0
  22. package/dist/_chunk/autocomplete.js.map +1 -0
  23. package/dist/_chunk/autocomplete.jsx +244 -0
  24. package/dist/_chunk/autocomplete.jsx.map +1 -0
  25. package/dist/_chunk/breadcrumbs.js +121 -0
  26. package/dist/_chunk/breadcrumbs.js.map +1 -0
  27. package/dist/_chunk/breadcrumbs.jsx +121 -0
  28. package/dist/_chunk/breadcrumbs.jsx.map +1 -0
  29. package/dist/_chunk/button.js +275 -0
  30. package/dist/_chunk/button.js.map +1 -0
  31. package/dist/_chunk/button.jsx +275 -0
  32. package/dist/_chunk/button.jsx.map +1 -0
  33. package/dist/_chunk/calendar.js +1037 -0
  34. package/dist/_chunk/calendar.js.map +1 -0
  35. package/dist/_chunk/calendar.jsx +1037 -0
  36. package/dist/_chunk/calendar.jsx.map +1 -0
  37. package/dist/_chunk/checkbox.js +235 -0
  38. package/dist/_chunk/checkbox.js.map +1 -0
  39. package/dist/_chunk/checkbox.jsx +235 -0
  40. package/dist/_chunk/checkbox.jsx.map +1 -0
  41. package/dist/_chunk/color.js +1458 -0
  42. package/dist/_chunk/color.js.map +1 -0
  43. package/dist/_chunk/color.jsx +1458 -0
  44. package/dist/_chunk/color.jsx.map +1 -0
  45. package/dist/_chunk/combobox.js +1062 -0
  46. package/dist/_chunk/combobox.js.map +1 -0
  47. package/dist/_chunk/combobox.jsx +1062 -0
  48. package/dist/_chunk/combobox.jsx.map +1 -0
  49. package/dist/_chunk/constants.js +19 -0
  50. package/dist/_chunk/constants.js.map +1 -0
  51. package/dist/_chunk/constants.jsx +19 -0
  52. package/dist/_chunk/constants.jsx.map +1 -0
  53. package/dist/_chunk/createCollator.js +61 -0
  54. package/dist/_chunk/createCollator.js.map +1 -0
  55. package/dist/_chunk/createCollator.jsx +61 -0
  56. package/dist/_chunk/createCollator.jsx.map +1 -0
  57. package/dist/_chunk/createCollectionRowInteraction.js +133 -0
  58. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
  59. package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
  60. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
  61. package/dist/_chunk/createField.js +55 -0
  62. package/dist/_chunk/createField.js.map +1 -0
  63. package/dist/_chunk/createField.jsx +55 -0
  64. package/dist/_chunk/createField.jsx.map +1 -0
  65. package/dist/_chunk/createFocus.js +105 -0
  66. package/dist/_chunk/createFocus.js.map +1 -0
  67. package/dist/_chunk/createFocus.jsx +105 -0
  68. package/dist/_chunk/createFocus.jsx.map +1 -0
  69. package/dist/_chunk/createFocusRing.js +54 -0
  70. package/dist/_chunk/createFocusRing.js.map +1 -0
  71. package/dist/_chunk/createFocusRing.jsx +54 -0
  72. package/dist/_chunk/createFocusRing.jsx.map +1 -0
  73. package/dist/_chunk/createFocusWithin.js +120 -0
  74. package/dist/_chunk/createFocusWithin.js.map +1 -0
  75. package/dist/_chunk/createFocusWithin.jsx +120 -0
  76. package/dist/_chunk/createFocusWithin.jsx.map +1 -0
  77. package/dist/_chunk/createFocusable.js +131 -0
  78. package/dist/_chunk/createFocusable.js.map +1 -0
  79. package/dist/_chunk/createFocusable.jsx +131 -0
  80. package/dist/_chunk/createFocusable.jsx.map +1 -0
  81. package/dist/_chunk/createFormReset.js +39 -0
  82. package/dist/_chunk/createFormReset.js.map +1 -0
  83. package/dist/_chunk/createFormReset.jsx +39 -0
  84. package/dist/_chunk/createFormReset.jsx.map +1 -0
  85. package/dist/_chunk/createFormValidation.js +135 -0
  86. package/dist/_chunk/createFormValidation.js.map +1 -0
  87. package/dist/_chunk/createFormValidation.jsx +135 -0
  88. package/dist/_chunk/createFormValidation.jsx.map +1 -0
  89. package/dist/_chunk/createHover.js +131 -0
  90. package/dist/_chunk/createHover.js.map +1 -0
  91. package/dist/_chunk/createHover.jsx +131 -0
  92. package/dist/_chunk/createHover.jsx.map +1 -0
  93. package/dist/_chunk/createInteractionModality.js +268 -0
  94. package/dist/_chunk/createInteractionModality.js.map +1 -0
  95. package/dist/_chunk/createInteractionModality.jsx +268 -0
  96. package/dist/_chunk/createInteractionModality.jsx.map +1 -0
  97. package/dist/_chunk/createLabel.js +47 -0
  98. package/dist/_chunk/createLabel.js.map +1 -0
  99. package/dist/_chunk/createLabel.jsx +47 -0
  100. package/dist/_chunk/createLabel.jsx.map +1 -0
  101. package/dist/_chunk/createLabels.js +32 -0
  102. package/dist/_chunk/createLabels.js.map +1 -0
  103. package/dist/_chunk/createLabels.jsx +32 -0
  104. package/dist/_chunk/createLabels.jsx.map +1 -0
  105. package/dist/_chunk/createLandmark.js +198 -0
  106. package/dist/_chunk/createLandmark.js.map +1 -0
  107. package/dist/_chunk/createLandmark.jsx +198 -0
  108. package/dist/_chunk/createLandmark.jsx.map +1 -0
  109. package/dist/_chunk/createOverlay.js +327 -0
  110. package/dist/_chunk/createOverlay.js.map +1 -0
  111. package/dist/_chunk/createOverlay.jsx +327 -0
  112. package/dist/_chunk/createOverlay.jsx.map +1 -0
  113. package/dist/_chunk/createPress.js +526 -0
  114. package/dist/_chunk/createPress.js.map +1 -0
  115. package/dist/_chunk/createPress.jsx +526 -0
  116. package/dist/_chunk/createPress.jsx.map +1 -0
  117. package/dist/_chunk/createProgressBar.js +82 -0
  118. package/dist/_chunk/createProgressBar.js.map +1 -0
  119. package/dist/_chunk/createProgressBar.jsx +82 -0
  120. package/dist/_chunk/createProgressBar.jsx.map +1 -0
  121. package/dist/_chunk/createSelectableItem.js +302 -0
  122. package/dist/_chunk/createSelectableItem.js.map +1 -0
  123. package/dist/_chunk/createSelectableItem.jsx +302 -0
  124. package/dist/_chunk/createSelectableItem.jsx.map +1 -0
  125. package/dist/_chunk/createStringFormatter.js +61 -0
  126. package/dist/_chunk/createStringFormatter.js.map +1 -0
  127. package/dist/_chunk/createStringFormatter.jsx +61 -0
  128. package/dist/_chunk/createStringFormatter.jsx.map +1 -0
  129. package/dist/_chunk/createToggle.js +159 -0
  130. package/dist/_chunk/createToggle.js.map +1 -0
  131. package/dist/_chunk/createToggle.jsx +159 -0
  132. package/dist/_chunk/createToggle.jsx.map +1 -0
  133. package/dist/_chunk/createTypeSelect.js +125 -0
  134. package/dist/_chunk/createTypeSelect.js.map +1 -0
  135. package/dist/_chunk/createTypeSelect.jsx +125 -0
  136. package/dist/_chunk/createTypeSelect.jsx.map +1 -0
  137. package/dist/_chunk/datepicker.js +1706 -0
  138. package/dist/_chunk/datepicker.js.map +1 -0
  139. package/dist/_chunk/datepicker.jsx +1706 -0
  140. package/dist/_chunk/datepicker.jsx.map +1 -0
  141. package/dist/_chunk/dialog.js +62 -0
  142. package/dist/_chunk/dialog.js.map +1 -0
  143. package/dist/_chunk/dialog.jsx +62 -0
  144. package/dist/_chunk/dialog.jsx.map +1 -0
  145. package/dist/_chunk/disclosure.js +185 -0
  146. package/dist/_chunk/disclosure.js.map +1 -0
  147. package/dist/_chunk/disclosure.jsx +185 -0
  148. package/dist/_chunk/disclosure.jsx.map +1 -0
  149. package/dist/_chunk/dnd.js +2395 -0
  150. package/dist/_chunk/dnd.js.map +1 -0
  151. package/dist/_chunk/dnd.jsx +2395 -0
  152. package/dist/_chunk/dnd.jsx.map +1 -0
  153. package/dist/_chunk/env.js +87 -0
  154. package/dist/_chunk/env.js.map +1 -0
  155. package/dist/_chunk/env.jsx +87 -0
  156. package/dist/_chunk/env.jsx.map +1 -0
  157. package/dist/_chunk/filterDOMProps.js +82 -0
  158. package/dist/_chunk/filterDOMProps.js.map +1 -0
  159. package/dist/_chunk/filterDOMProps.jsx +82 -0
  160. package/dist/_chunk/filterDOMProps.jsx.map +1 -0
  161. package/dist/_chunk/focus.js +399 -0
  162. package/dist/_chunk/focus.js.map +1 -0
  163. package/dist/_chunk/focus.jsx +399 -0
  164. package/dist/_chunk/focus.jsx.map +1 -0
  165. package/dist/_chunk/focus2.js +631 -0
  166. package/dist/_chunk/focus2.js.map +1 -0
  167. package/dist/_chunk/focus2.jsx +631 -0
  168. package/dist/_chunk/focus2.jsx.map +1 -0
  169. package/dist/_chunk/grid.js +623 -0
  170. package/dist/_chunk/grid.js.map +1 -0
  171. package/dist/_chunk/grid.jsx +623 -0
  172. package/dist/_chunk/grid.jsx.map +1 -0
  173. package/dist/_chunk/gridlist.js +369 -0
  174. package/dist/_chunk/gridlist.js.map +1 -0
  175. package/dist/_chunk/gridlist.jsx +369 -0
  176. package/dist/_chunk/gridlist.jsx.map +1 -0
  177. package/dist/_chunk/i18n.js +199 -0
  178. package/dist/_chunk/i18n.js.map +1 -0
  179. package/dist/_chunk/i18n.jsx +199 -0
  180. package/dist/_chunk/i18n.jsx.map +1 -0
  181. package/dist/_chunk/interactions.js +331 -0
  182. package/dist/_chunk/interactions.js.map +1 -0
  183. package/dist/_chunk/interactions.jsx +325 -0
  184. package/dist/_chunk/interactions.jsx.map +1 -0
  185. package/dist/_chunk/link.js +97 -0
  186. package/dist/_chunk/link.js.map +1 -0
  187. package/dist/_chunk/link.jsx +97 -0
  188. package/dist/_chunk/link.jsx.map +1 -0
  189. package/dist/_chunk/listbox.js +356 -0
  190. package/dist/_chunk/listbox.js.map +1 -0
  191. package/dist/_chunk/listbox.jsx +356 -0
  192. package/dist/_chunk/listbox.jsx.map +1 -0
  193. package/dist/_chunk/locale.js +173 -0
  194. package/dist/_chunk/locale.js.map +1 -0
  195. package/dist/_chunk/locale.jsx +167 -0
  196. package/dist/_chunk/locale.jsx.map +1 -0
  197. package/dist/_chunk/menu.js +519 -0
  198. package/dist/_chunk/menu.js.map +1 -0
  199. package/dist/_chunk/menu.jsx +519 -0
  200. package/dist/_chunk/menu.jsx.map +1 -0
  201. package/dist/_chunk/meter.js +33 -0
  202. package/dist/_chunk/meter.js.map +1 -0
  203. package/dist/_chunk/meter.jsx +33 -0
  204. package/dist/_chunk/meter.jsx.map +1 -0
  205. package/dist/_chunk/numberfield.js +259 -0
  206. package/dist/_chunk/numberfield.js.map +1 -0
  207. package/dist/_chunk/numberfield.jsx +259 -0
  208. package/dist/_chunk/numberfield.jsx.map +1 -0
  209. package/dist/_chunk/overlays.js +186 -0
  210. package/dist/_chunk/overlays.js.map +1 -0
  211. package/dist/_chunk/overlays.jsx +162 -0
  212. package/dist/_chunk/overlays.jsx.map +1 -0
  213. package/dist/_chunk/popover.js +574 -0
  214. package/dist/_chunk/popover.js.map +1 -0
  215. package/dist/_chunk/popover.jsx +574 -0
  216. package/dist/_chunk/popover.jsx.map +1 -0
  217. package/dist/_chunk/radio.js +320 -0
  218. package/dist/_chunk/radio.js.map +1 -0
  219. package/dist/_chunk/radio.jsx +320 -0
  220. package/dist/_chunk/radio.jsx.map +1 -0
  221. package/dist/_chunk/reactivity.js +21 -0
  222. package/dist/_chunk/reactivity.js.map +1 -0
  223. package/dist/_chunk/reactivity.jsx +21 -0
  224. package/dist/_chunk/reactivity.jsx.map +1 -0
  225. package/dist/_chunk/searchfield.js +210 -0
  226. package/dist/_chunk/searchfield.js.map +1 -0
  227. package/dist/_chunk/searchfield.jsx +210 -0
  228. package/dist/_chunk/searchfield.jsx.map +1 -0
  229. package/dist/_chunk/select.js +406 -0
  230. package/dist/_chunk/select.js.map +1 -0
  231. package/dist/_chunk/select.jsx +397 -0
  232. package/dist/_chunk/select.jsx.map +1 -0
  233. package/dist/_chunk/selection.js +666 -0
  234. package/dist/_chunk/selection.js.map +1 -0
  235. package/dist/_chunk/selection.jsx +666 -0
  236. package/dist/_chunk/selection.jsx.map +1 -0
  237. package/dist/_chunk/separator.js +29 -0
  238. package/dist/_chunk/separator.js.map +1 -0
  239. package/dist/_chunk/separator.jsx +29 -0
  240. package/dist/_chunk/separator.jsx.map +1 -0
  241. package/dist/_chunk/slider.js +256 -0
  242. package/dist/_chunk/slider.js.map +1 -0
  243. package/dist/_chunk/slider.jsx +256 -0
  244. package/dist/_chunk/slider.jsx.map +1 -0
  245. package/dist/_chunk/spinbutton.js +153 -0
  246. package/dist/_chunk/spinbutton.js.map +1 -0
  247. package/dist/_chunk/spinbutton.jsx +153 -0
  248. package/dist/_chunk/spinbutton.jsx.map +1 -0
  249. package/dist/_chunk/steplist.js +66 -0
  250. package/dist/_chunk/steplist.js.map +1 -0
  251. package/dist/_chunk/steplist.jsx +66 -0
  252. package/dist/_chunk/steplist.jsx.map +1 -0
  253. package/dist/_chunk/switch.js +34 -0
  254. package/dist/_chunk/switch.js.map +1 -0
  255. package/dist/_chunk/switch.jsx +34 -0
  256. package/dist/_chunk/switch.jsx.map +1 -0
  257. package/dist/_chunk/table.js +1088 -0
  258. package/dist/_chunk/table.js.map +1 -0
  259. package/dist/_chunk/table.jsx +1088 -0
  260. package/dist/_chunk/table.jsx.map +1 -0
  261. package/dist/_chunk/tabs.js +263 -0
  262. package/dist/_chunk/tabs.js.map +1 -0
  263. package/dist/_chunk/tabs.jsx +263 -0
  264. package/dist/_chunk/tabs.jsx.map +1 -0
  265. package/dist/_chunk/tag.js +322 -0
  266. package/dist/_chunk/tag.js.map +1 -0
  267. package/dist/_chunk/tag.jsx +322 -0
  268. package/dist/_chunk/tag.jsx.map +1 -0
  269. package/dist/_chunk/textfield.js +110 -0
  270. package/dist/_chunk/textfield.js.map +1 -0
  271. package/dist/_chunk/textfield.jsx +110 -0
  272. package/dist/_chunk/textfield.jsx.map +1 -0
  273. package/dist/_chunk/toast.js +250 -0
  274. package/dist/_chunk/toast.js.map +1 -0
  275. package/dist/_chunk/toast.jsx +250 -0
  276. package/dist/_chunk/toast.jsx.map +1 -0
  277. package/dist/_chunk/toolbar.js +226 -0
  278. package/dist/_chunk/toolbar.js.map +1 -0
  279. package/dist/_chunk/toolbar.jsx +226 -0
  280. package/dist/_chunk/toolbar.jsx.map +1 -0
  281. package/dist/_chunk/tooltip.js +185 -0
  282. package/dist/_chunk/tooltip.js.map +1 -0
  283. package/dist/_chunk/tooltip.jsx +185 -0
  284. package/dist/_chunk/tooltip.jsx.map +1 -0
  285. package/dist/_chunk/tree.js +452 -0
  286. package/dist/_chunk/tree.js.map +1 -0
  287. package/dist/_chunk/tree.jsx +452 -0
  288. package/dist/_chunk/tree.jsx.map +1 -0
  289. package/dist/_chunk/utils.js +705 -0
  290. package/dist/_chunk/utils.js.map +1 -0
  291. package/dist/_chunk/utils.jsx +705 -0
  292. package/dist/_chunk/utils.jsx.map +1 -0
  293. package/dist/_chunk/visually-hidden.js +93 -0
  294. package/dist/_chunk/visually-hidden.js.map +1 -0
  295. package/dist/_chunk/visually-hidden.jsx +93 -0
  296. package/dist/_chunk/visually-hidden.jsx.map +1 -0
  297. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  298. package/dist/actiongroup/index.js +2 -0
  299. package/dist/actiongroup/index.jsx +2 -0
  300. package/dist/autocomplete/createAutocomplete.d.ts +12 -7
  301. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  302. package/dist/autocomplete/index.js +2 -0
  303. package/dist/autocomplete/index.jsx +2 -0
  304. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  305. package/dist/breadcrumbs/index.js +2 -0
  306. package/dist/breadcrumbs/index.jsx +2 -0
  307. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  308. package/dist/button/index.js +2 -0
  309. package/dist/button/index.jsx +2 -0
  310. package/dist/calendar/createCalendar.d.ts.map +1 -1
  311. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  312. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  313. package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
  314. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
  315. package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
  316. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
  317. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  318. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  319. package/dist/calendar/index.d.ts +2 -0
  320. package/dist/calendar/index.d.ts.map +1 -1
  321. package/dist/calendar/index.js +2 -0
  322. package/dist/calendar/index.jsx +2 -0
  323. package/dist/calendar/intl/index.d.ts +1 -1
  324. package/dist/calendar/intl/index.d.ts.map +1 -1
  325. package/dist/calendar/utils.d.ts +4 -0
  326. package/dist/calendar/utils.d.ts.map +1 -1
  327. package/dist/checkbox/createCheckbox.d.ts +4 -0
  328. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  329. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  330. package/dist/checkbox/index.js +2 -0
  331. package/dist/checkbox/index.jsx +2 -0
  332. package/dist/collections/index.js +160 -0
  333. package/dist/collections/index.js.map +1 -0
  334. package/dist/collections/index.jsx +160 -0
  335. package/dist/collections/index.jsx.map +1 -0
  336. package/dist/color/createColorArea.d.ts.map +1 -1
  337. package/dist/color/createColorField.d.ts.map +1 -1
  338. package/dist/color/createColorSlider.d.ts.map +1 -1
  339. package/dist/color/createColorSwatch.d.ts.map +1 -1
  340. package/dist/color/createColorWheel.d.ts.map +1 -1
  341. package/dist/color/index.js +2 -0
  342. package/dist/color/index.jsx +2 -0
  343. package/dist/color/intl/index.d.ts +30 -0
  344. package/dist/color/intl/index.d.ts.map +1 -0
  345. package/dist/combobox/createComboBox.d.ts.map +1 -1
  346. package/dist/combobox/index.js +2 -0
  347. package/dist/combobox/index.jsx +2 -0
  348. package/dist/combobox/intl/generated-locales.d.ts +16 -0
  349. package/dist/combobox/intl/generated-locales.d.ts.map +1 -0
  350. package/dist/combobox/intl/index.d.ts +2 -2
  351. package/dist/combobox/intl/index.d.ts.map +1 -1
  352. package/dist/datepicker/createDateField.d.ts +45 -23
  353. package/dist/datepicker/createDateField.d.ts.map +1 -1
  354. package/dist/datepicker/createDatePicker.d.ts +34 -6
  355. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  356. package/dist/datepicker/createDatePickerGroup.d.ts +13 -13
  357. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
  358. package/dist/datepicker/createDateRangePicker.d.ts +55 -7
  359. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  360. package/dist/datepicker/createDateSegment.d.ts +6 -15
  361. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  362. package/dist/datepicker/createDisplayNames.d.ts +17 -0
  363. package/dist/datepicker/createDisplayNames.d.ts.map +1 -0
  364. package/dist/datepicker/createTimeField.d.ts +12 -49
  365. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  366. package/dist/datepicker/index.d.ts +3 -3
  367. package/dist/datepicker/index.d.ts.map +1 -1
  368. package/dist/datepicker/index.js +2 -0
  369. package/dist/datepicker/index.jsx +2 -0
  370. package/dist/datepicker/intl.d.ts +12 -0
  371. package/dist/datepicker/intl.d.ts.map +1 -0
  372. package/dist/dialog/index.js +2 -0
  373. package/dist/dialog/index.jsx +2 -0
  374. package/dist/disclosure/index.js +2 -0
  375. package/dist/disclosure/index.jsx +2 -0
  376. package/dist/dnd/DragManager.d.ts +86 -0
  377. package/dist/dnd/DragManager.d.ts.map +1 -0
  378. package/dist/dnd/DropTargetKeyboardNavigation.d.ts +42 -0
  379. package/dist/dnd/DropTargetKeyboardNavigation.d.ts.map +1 -0
  380. package/dist/dnd/createDrag.d.ts.map +1 -1
  381. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  382. package/dist/dnd/createDraggableItem.d.ts +12 -7
  383. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  384. package/dist/dnd/createDroppableCollection.d.ts +7 -15
  385. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  386. package/dist/dnd/index.d.ts +5 -1
  387. package/dist/dnd/index.d.ts.map +1 -1
  388. package/dist/dnd/index.js +3 -0
  389. package/dist/dnd/index.jsx +3 -0
  390. package/dist/dnd/intl/index.d.ts +39 -0
  391. package/dist/dnd/intl/index.d.ts.map +1 -0
  392. package/dist/dnd/utils.d.ts +7 -2
  393. package/dist/dnd/utils.d.ts.map +1 -1
  394. package/dist/focus/FocusScope.d.ts +7 -0
  395. package/dist/focus/FocusScope.d.ts.map +1 -1
  396. package/dist/focus/index.d.ts +2 -1
  397. package/dist/focus/index.d.ts.map +1 -1
  398. package/dist/focus/index.js +3 -0
  399. package/dist/focus/index.jsx +3 -0
  400. package/dist/focus/virtualFocus.d.ts +26 -0
  401. package/dist/focus/virtualFocus.d.ts.map +1 -0
  402. package/dist/form/createFormValidation.d.ts.map +1 -1
  403. package/dist/form/index.js +3 -0
  404. package/dist/form/index.jsx +3 -0
  405. package/dist/grid/index.js +2 -0
  406. package/dist/grid/index.jsx +2 -0
  407. package/dist/gridlist/createGridList.d.ts +7 -1
  408. package/dist/gridlist/createGridList.d.ts.map +1 -1
  409. package/dist/gridlist/createGridListItem.d.ts +1 -1
  410. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  411. package/dist/gridlist/createGridListSection.d.ts +15 -0
  412. package/dist/gridlist/createGridListSection.d.ts.map +1 -0
  413. package/dist/gridlist/index.d.ts +2 -1
  414. package/dist/gridlist/index.d.ts.map +1 -1
  415. package/dist/gridlist/index.js +2 -0
  416. package/dist/gridlist/index.jsx +2 -0
  417. package/dist/gridlist/types.d.ts +50 -0
  418. package/dist/gridlist/types.d.ts.map +1 -1
  419. package/dist/i18n/index.js +5 -0
  420. package/dist/i18n/index.jsx +5 -0
  421. package/dist/index.d.ts +10 -6
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +77 -18311
  424. package/dist/index.jsx +77 -18242
  425. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  426. package/dist/interactions/PressEvent.d.ts +11 -0
  427. package/dist/interactions/PressEvent.d.ts.map +1 -1
  428. package/dist/interactions/createFocus.d.ts.map +1 -1
  429. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  430. package/dist/interactions/createInteractionModality.d.ts +0 -1
  431. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  432. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  433. package/dist/interactions/createPress.d.ts.map +1 -1
  434. package/dist/interactions/index.js +9 -0
  435. package/dist/interactions/index.jsx +9 -0
  436. package/dist/label/createLabels.d.ts.map +1 -1
  437. package/dist/label/index.js +4 -0
  438. package/dist/label/index.jsx +4 -0
  439. package/dist/landmark/index.js +2 -0
  440. package/dist/landmark/index.jsx +2 -0
  441. package/dist/link/index.js +2 -0
  442. package/dist/link/index.jsx +2 -0
  443. package/dist/listbox/createListBox.d.ts +37 -0
  444. package/dist/listbox/createListBox.d.ts.map +1 -1
  445. package/dist/listbox/createOption.d.ts +7 -1
  446. package/dist/listbox/createOption.d.ts.map +1 -1
  447. package/dist/listbox/index.js +2 -0
  448. package/dist/listbox/index.jsx +2 -0
  449. package/dist/live-announcer/index.js +2 -0
  450. package/dist/live-announcer/index.jsx +2 -0
  451. package/dist/menu/createMenu.d.ts +7 -4
  452. package/dist/menu/createMenu.d.ts.map +1 -1
  453. package/dist/menu/createMenuItem.d.ts +9 -1
  454. package/dist/menu/createMenuItem.d.ts.map +1 -1
  455. package/dist/menu/index.js +2 -0
  456. package/dist/menu/index.jsx +2 -0
  457. package/dist/meter/index.js +2 -0
  458. package/dist/meter/index.jsx +2 -0
  459. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  460. package/dist/numberfield/index.js +2 -0
  461. package/dist/numberfield/index.jsx +2 -0
  462. package/dist/overlays/index.js +4 -0
  463. package/dist/overlays/index.jsx +4 -0
  464. package/dist/popover/calculatePosition.d.ts +2 -0
  465. package/dist/popover/calculatePosition.d.ts.map +1 -1
  466. package/dist/popover/createOverlayPosition.d.ts +8 -0
  467. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  468. package/dist/popover/index.js +2 -0
  469. package/dist/popover/index.jsx +2 -0
  470. package/dist/progress/index.js +2 -0
  471. package/dist/progress/index.jsx +2 -0
  472. package/dist/radio/createRadio.d.ts +2 -0
  473. package/dist/radio/createRadio.d.ts.map +1 -1
  474. package/dist/radio/index.js +2 -0
  475. package/dist/radio/index.jsx +2 -0
  476. package/dist/searchfield/index.js +2 -0
  477. package/dist/searchfield/index.jsx +2 -0
  478. package/dist/select/createSelect.d.ts +2 -0
  479. package/dist/select/createSelect.d.ts.map +1 -1
  480. package/dist/select/index.js +2 -0
  481. package/dist/select/index.jsx +2 -0
  482. package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
  483. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
  484. package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
  485. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
  486. package/dist/selection/constants.d.ts +15 -0
  487. package/dist/selection/constants.d.ts.map +1 -0
  488. package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
  489. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
  490. package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
  491. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
  492. package/dist/selection/createSelectableCollection.d.ts +69 -0
  493. package/dist/selection/createSelectableCollection.d.ts.map +1 -0
  494. package/dist/selection/createSelectableItem.d.ts +154 -0
  495. package/dist/selection/createSelectableItem.d.ts.map +1 -0
  496. package/dist/selection/createSelectableList.d.ts +43 -0
  497. package/dist/selection/createSelectableList.d.ts.map +1 -0
  498. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  499. package/dist/selection/index.d.ts +9 -0
  500. package/dist/selection/index.d.ts.map +1 -1
  501. package/dist/selection/index.js +5 -0
  502. package/dist/selection/index.jsx +5 -0
  503. package/dist/selection/selectItem.d.ts +29 -0
  504. package/dist/selection/selectItem.d.ts.map +1 -0
  505. package/dist/selection/utils.d.ts +40 -0
  506. package/dist/selection/utils.d.ts.map +1 -0
  507. package/dist/separator/index.js +2 -0
  508. package/dist/separator/index.jsx +2 -0
  509. package/dist/slider/createSlider.d.ts.map +1 -1
  510. package/dist/slider/index.js +2 -0
  511. package/dist/slider/index.jsx +2 -0
  512. package/dist/spinbutton/createSpinButton.d.ts +41 -0
  513. package/dist/spinbutton/createSpinButton.d.ts.map +1 -0
  514. package/dist/spinbutton/index.d.ts +3 -0
  515. package/dist/spinbutton/index.d.ts.map +1 -0
  516. package/dist/spinbutton/index.js +2 -0
  517. package/dist/spinbutton/index.jsx +2 -0
  518. package/dist/spinbutton/intl.d.ts +5 -0
  519. package/dist/spinbutton/intl.d.ts.map +1 -0
  520. package/dist/ssr/index.d.ts +17 -0
  521. package/dist/ssr/index.d.ts.map +1 -1
  522. package/dist/ssr/index.js +299 -0
  523. package/dist/ssr/index.js.map +1 -0
  524. package/dist/ssr/index.jsx +292 -0
  525. package/dist/ssr/index.jsx.map +1 -0
  526. package/dist/steplist/index.js +2 -0
  527. package/dist/steplist/index.jsx +2 -0
  528. package/dist/switch/createSwitch.d.ts +4 -0
  529. package/dist/switch/createSwitch.d.ts.map +1 -1
  530. package/dist/switch/index.js +2 -0
  531. package/dist/switch/index.jsx +2 -0
  532. package/dist/table/createTable.d.ts.map +1 -1
  533. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  534. package/dist/table/createTableRow.d.ts +1 -1
  535. package/dist/table/createTableRow.d.ts.map +1 -1
  536. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  537. package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
  538. package/dist/table/index.js +2 -0
  539. package/dist/table/index.jsx +2 -0
  540. package/dist/table/types.d.ts +35 -1
  541. package/dist/table/types.d.ts.map +1 -1
  542. package/dist/table/utils.d.ts +15 -0
  543. package/dist/table/utils.d.ts.map +1 -0
  544. package/dist/tabs/createTabs.d.ts +5 -3
  545. package/dist/tabs/createTabs.d.ts.map +1 -1
  546. package/dist/tabs/index.js +2 -0
  547. package/dist/tabs/index.jsx +2 -0
  548. package/dist/tag/createTag.d.ts +2 -0
  549. package/dist/tag/createTag.d.ts.map +1 -1
  550. package/dist/tag/createTagGroup.d.ts +7 -0
  551. package/dist/tag/createTagGroup.d.ts.map +1 -1
  552. package/dist/tag/index.js +2 -0
  553. package/dist/tag/index.jsx +2 -0
  554. package/dist/textfield/index.js +2 -0
  555. package/dist/textfield/index.jsx +2 -0
  556. package/dist/toast/createToast.d.ts.map +1 -1
  557. package/dist/toast/index.js +2 -0
  558. package/dist/toast/index.jsx +2 -0
  559. package/dist/toggle/createToggle.d.ts +4 -0
  560. package/dist/toggle/createToggle.d.ts.map +1 -1
  561. package/dist/toggle/index.js +3 -0
  562. package/dist/toggle/index.jsx +3 -0
  563. package/dist/toolbar/createToolbar.d.ts +1 -1
  564. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  565. package/dist/toolbar/index.js +2 -0
  566. package/dist/toolbar/index.jsx +2 -0
  567. package/dist/tooltip/index.js +2 -0
  568. package/dist/tooltip/index.jsx +2 -0
  569. package/dist/tree/createTree.d.ts +5 -1
  570. package/dist/tree/createTree.d.ts.map +1 -1
  571. package/dist/tree/createTreeItem.d.ts +1 -1
  572. package/dist/tree/createTreeItem.d.ts.map +1 -1
  573. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  574. package/dist/tree/index.js +2 -0
  575. package/dist/tree/index.jsx +2 -0
  576. package/dist/tree/types.d.ts +10 -0
  577. package/dist/tree/types.d.ts.map +1 -1
  578. package/dist/utils/animation.d.ts +60 -0
  579. package/dist/utils/animation.d.ts.map +1 -0
  580. package/dist/utils/dom.d.ts +49 -2
  581. package/dist/utils/dom.d.ts.map +1 -1
  582. package/dist/utils/index.d.ts +4 -1
  583. package/dist/utils/index.d.ts.map +1 -1
  584. package/dist/utils/index.js +6 -0
  585. package/dist/utils/index.jsx +6 -0
  586. package/dist/utils/keyboard.d.ts +17 -0
  587. package/dist/utils/keyboard.d.ts.map +1 -0
  588. package/dist/utils/mergeProps.d.ts.map +1 -1
  589. package/dist/utils/scrollIntoView.d.ts +30 -0
  590. package/dist/utils/scrollIntoView.d.ts.map +1 -0
  591. package/dist/visually-hidden/index.js +2 -0
  592. package/dist/visually-hidden/index.jsx +2 -0
  593. package/package.json +304 -3
  594. package/src/actiongroup/createActionGroup.ts +26 -109
  595. package/src/autocomplete/createAutocomplete.ts +202 -35
  596. package/src/breadcrumbs/createBreadcrumbs.ts +12 -4
  597. package/src/button/createToggleButtonGroup.ts +19 -14
  598. package/src/calendar/createCalendar.ts +5 -4
  599. package/src/calendar/createCalendarCell.ts +36 -5
  600. package/src/calendar/createCalendarGrid.ts +47 -12
  601. package/src/calendar/createCalendarMonthPicker.ts +105 -0
  602. package/src/calendar/createCalendarYearPicker.ts +144 -0
  603. package/src/calendar/createRangeCalendar.ts +27 -15
  604. package/src/calendar/createRangeCalendarCell.ts +17 -3
  605. package/src/calendar/index.ts +17 -0
  606. package/src/calendar/intl/index.ts +8 -0
  607. package/src/calendar/utils.ts +4 -0
  608. package/src/checkbox/createCheckbox.ts +10 -0
  609. package/src/checkbox/createCheckboxGroupItem.ts +12 -16
  610. package/src/color/createColorArea.ts +17 -10
  611. package/src/color/createColorField.ts +8 -1
  612. package/src/color/createColorSlider.ts +1 -2
  613. package/src/color/createColorSwatch.ts +4 -2
  614. package/src/color/createColorWheel.ts +0 -6
  615. package/src/color/intl/index.ts +316 -0
  616. package/src/combobox/createComboBox.ts +35 -4
  617. package/src/combobox/intl/generated-locales.ts +635 -0
  618. package/src/combobox/intl/index.ts +8 -2
  619. package/src/datepicker/createDateField.ts +228 -213
  620. package/src/datepicker/createDatePicker.ts +157 -146
  621. package/src/datepicker/createDatePickerGroup.ts +88 -82
  622. package/src/datepicker/createDateRangePicker.ts +230 -179
  623. package/src/datepicker/createDateSegment.ts +386 -384
  624. package/src/datepicker/createDisplayNames.ts +45 -0
  625. package/src/datepicker/createTimeField.ts +36 -129
  626. package/src/datepicker/index.ts +13 -14
  627. package/src/datepicker/intl.ts +633 -0
  628. package/src/dnd/DragManager.ts +693 -0
  629. package/src/dnd/DropTargetKeyboardNavigation.ts +337 -0
  630. package/src/dnd/createDrag.ts +31 -5
  631. package/src/dnd/createDraggableCollection.ts +33 -15
  632. package/src/dnd/createDraggableItem.ts +92 -5
  633. package/src/dnd/createDroppableCollection.ts +488 -371
  634. package/src/dnd/index.ts +11 -0
  635. package/src/dnd/intl/ar-AE.json +29 -0
  636. package/src/dnd/intl/bg-BG.json +29 -0
  637. package/src/dnd/intl/cs-CZ.json +29 -0
  638. package/src/dnd/intl/da-DK.json +29 -0
  639. package/src/dnd/intl/de-DE.json +29 -0
  640. package/src/dnd/intl/el-GR.json +29 -0
  641. package/src/dnd/intl/en-US.json +29 -0
  642. package/src/dnd/intl/es-ES.json +29 -0
  643. package/src/dnd/intl/et-EE.json +29 -0
  644. package/src/dnd/intl/fi-FI.json +29 -0
  645. package/src/dnd/intl/fr-FR.json +29 -0
  646. package/src/dnd/intl/he-IL.json +29 -0
  647. package/src/dnd/intl/hr-HR.json +29 -0
  648. package/src/dnd/intl/hu-HU.json +29 -0
  649. package/src/dnd/intl/index.ts +139 -0
  650. package/src/dnd/intl/it-IT.json +29 -0
  651. package/src/dnd/intl/ja-JP.json +29 -0
  652. package/src/dnd/intl/ko-KR.json +29 -0
  653. package/src/dnd/intl/lt-LT.json +29 -0
  654. package/src/dnd/intl/lv-LV.json +29 -0
  655. package/src/dnd/intl/nb-NO.json +29 -0
  656. package/src/dnd/intl/nl-NL.json +29 -0
  657. package/src/dnd/intl/pl-PL.json +29 -0
  658. package/src/dnd/intl/pt-BR.json +29 -0
  659. package/src/dnd/intl/pt-PT.json +29 -0
  660. package/src/dnd/intl/ro-RO.json +29 -0
  661. package/src/dnd/intl/ru-RU.json +29 -0
  662. package/src/dnd/intl/sk-SK.json +29 -0
  663. package/src/dnd/intl/sl-SI.json +29 -0
  664. package/src/dnd/intl/sr-SP.json +29 -0
  665. package/src/dnd/intl/sv-SE.json +29 -0
  666. package/src/dnd/intl/tr-TR.json +29 -0
  667. package/src/dnd/intl/uk-UA.json +29 -0
  668. package/src/dnd/intl/zh-CN.json +29 -0
  669. package/src/dnd/intl/zh-TW.json +29 -0
  670. package/src/dnd/utils.ts +63 -3
  671. package/src/focus/FocusScope.tsx +266 -24
  672. package/src/focus/index.ts +8 -0
  673. package/src/focus/virtualFocus.ts +55 -0
  674. package/src/form/createFormValidation.ts +8 -1
  675. package/src/gridlist/createGridList.ts +187 -48
  676. package/src/gridlist/createGridListItem.ts +87 -155
  677. package/src/gridlist/createGridListSection.ts +54 -0
  678. package/src/gridlist/index.ts +3 -0
  679. package/src/gridlist/types.ts +47 -0
  680. package/src/index.ts +51 -3
  681. package/src/interactions/FocusableProvider.tsx +11 -6
  682. package/src/interactions/PressEvent.ts +14 -0
  683. package/src/interactions/createFocus.ts +26 -21
  684. package/src/interactions/createFocusWithin.ts +23 -24
  685. package/src/interactions/createInteractionModality.ts +26 -15
  686. package/src/interactions/createKeyboard.ts +10 -0
  687. package/src/interactions/createPress.ts +29 -6
  688. package/src/label/createLabels.ts +7 -4
  689. package/src/listbox/createListBox.ts +203 -10
  690. package/src/listbox/createOption.ts +84 -74
  691. package/src/menu/createMenu.ts +93 -16
  692. package/src/menu/createMenuItem.ts +253 -41
  693. package/src/numberfield/createNumberField.ts +82 -14
  694. package/src/popover/calculatePosition.ts +19 -7
  695. package/src/popover/createOverlayPosition.ts +9 -0
  696. package/src/radio/createRadio.ts +19 -2
  697. package/src/select/createSelect.ts +41 -4
  698. package/src/selection/DOMLayoutDelegate.ts +102 -0
  699. package/src/selection/ListKeyboardDelegate.ts +398 -0
  700. package/src/selection/constants.ts +16 -0
  701. package/src/selection/createCollectionRowInteraction.ts +209 -0
  702. package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
  703. package/src/selection/createSelectableCollection.ts +645 -0
  704. package/src/selection/createSelectableItem.ts +512 -0
  705. package/src/selection/createSelectableList.ts +93 -0
  706. package/src/selection/createTypeSelect.ts +112 -51
  707. package/src/selection/index.ts +31 -0
  708. package/src/selection/selectItem.ts +80 -0
  709. package/src/selection/utils.ts +82 -0
  710. package/src/slider/createSlider.ts +48 -1
  711. package/src/spinbutton/createSpinButton.ts +163 -0
  712. package/src/spinbutton/index.ts +10 -0
  713. package/src/spinbutton/intl.ts +115 -0
  714. package/src/ssr/index.tsx +31 -0
  715. package/src/switch/createSwitch.ts +10 -0
  716. package/src/table/createTable.ts +82 -27
  717. package/src/table/createTableColumnHeader.ts +10 -0
  718. package/src/table/createTableRow.ts +208 -203
  719. package/src/table/createTableSelectAllCheckbox.ts +3 -4
  720. package/src/table/createTableSelectionCheckbox.ts +24 -1
  721. package/src/table/types.ts +37 -1
  722. package/src/table/utils.ts +41 -0
  723. package/src/tabs/createTabs.ts +95 -24
  724. package/src/tag/createTag.ts +30 -36
  725. package/src/tag/createTagGroup.ts +92 -0
  726. package/src/toast/createToast.ts +1 -0
  727. package/src/toggle/createToggle.ts +20 -0
  728. package/src/toolbar/createToolbar.ts +43 -94
  729. package/src/tree/createTree.ts +165 -52
  730. package/src/tree/createTreeItem.ts +105 -120
  731. package/src/tree/createTreeSelectionCheckbox.ts +14 -1
  732. package/src/tree/types.ts +10 -0
  733. package/src/utils/animation.ts +243 -0
  734. package/src/utils/dom.ts +216 -25
  735. package/src/utils/index.ts +10 -0
  736. package/src/utils/keyboard.ts +25 -0
  737. package/src/utils/mergeProps.ts +8 -1
  738. package/src/utils/scrollIntoView.ts +181 -0
  739. package/dist/datepicker/createTimeSegment.d.ts +0 -29
  740. package/dist/datepicker/createTimeSegment.d.ts.map +0 -1
  741. package/dist/index.js.map +0 -1
  742. package/dist/index.jsx.map +0 -1
  743. package/src/datepicker/createTimeSegment.ts +0 -352
@@ -1,16 +1,38 @@
1
1
  /**
2
2
  * createDateRangePicker hook for Solidaria
3
3
  *
4
- * Provides behavior and accessibility wiring for range date pickers.
5
- * Compatibility target: @react-aria/datepicker useDateRangePicker.
4
+ * Provides behavior and accessibility wiring for range date pickers. Faithful
5
+ * port of @react-aria/datepicker `useDateRangePicker`.
6
+ *
7
+ * Mirrors the composed `createDatePicker`: the range picker does NOT re-implement
8
+ * the two segmented fields. It hands each field its own field props (stamped
9
+ * `[roleSymbol]="presentation"` + a SHARED `[focusManagerSymbol]` so arrow keys
10
+ * and auto-advance walk across BOTH fields) to `createDateField`, which is what
11
+ * names the segments ("month, Start Date" / "month, End Date") and publishes them
12
+ * through the shared `hookData` WeakMap. Here we only provide:
13
+ * - `groupProps`: the labelled `role="group"` shell carrying the OUTER
14
+ * arrow-navigation (`createDatePickerGroup` with arrow-nav ENABLED — each inner
15
+ * presentation field disables its own and lets the key event bubble up here).
16
+ * The styled S2 layer overrides this to `role="presentation"`; the roleless
17
+ * root stays bare.
18
+ * - `startFieldProps` / `endFieldProps`: the presentation markers + shared focus
19
+ * manager + start/end labels, handed to `createDateField`.
20
+ * - `buttonProps` / `dialogProps` / `calendarProps` for the trigger + popover.
6
21
  */
7
22
 
8
23
  import { createMemo } from "solid-js";
9
24
  import { createId } from "../ssr";
10
- import { createLabel } from "../label/createLabel";
25
+ import { createField } from "../label/createField";
26
+ import { createDescription } from "../utils/createDescription";
27
+ import { createFocusManager } from "../focus/FocusScope";
28
+ import { createStringFormatter } from "../i18n";
29
+ import { useLocale } from "../i18n";
11
30
  import { access, type MaybeAccessor } from "../utils/reactivity";
12
31
  import { mergeProps } from "../utils/mergeProps";
13
- import { useLocale } from "../i18n";
32
+ import { createPress } from "../interactions/createPress";
33
+ import { datePickerStrings } from "./intl";
34
+ import { createDatePickerGroup } from "./createDatePickerGroup";
35
+ import { roleSymbol, focusManagerSymbol } from "./createDateField";
14
36
  import type { RangeCalendarState } from "@proyecto-viviana/solid-stately";
15
37
  import type { DatePickerState } from "./createDatePicker";
16
38
 
@@ -26,214 +48,268 @@ export interface AriaDateRangePickerProps {
26
48
  isInvalid?: boolean;
27
49
  description?: string;
28
50
  errorMessage?: string;
51
+ /** Accessible label for the calendar trigger button. */
29
52
  buttonAriaLabel?: string;
53
+ /** Accessible label for the calendar dialog. */
30
54
  dialogAriaLabel?: string;
55
+ /** Accessible label for the calendar grid region. */
31
56
  calendarAriaLabel?: string;
32
- startFieldAriaLabel?: string;
33
- endFieldAriaLabel?: string;
57
+ /** The `name` attribute for the start date's hidden form input. */
58
+ startName?: string;
59
+ /** The `name` attribute for the end date's hidden form input. */
60
+ endName?: string;
61
+ /** The `<form>` the hidden inputs are associated with. */
62
+ form?: string;
63
+ /** Whether HTML form validation is used. */
64
+ validationBehavior?: "aria" | "native";
65
+ /** Auto focus the start field. */
66
+ autoFocus?: boolean;
67
+ /** Callback for key down (forwarded when the popover is closed). */
68
+ onKeyDown?: (e: KeyboardEvent) => void;
69
+ /** Callback for key up (forwarded when the popover is closed). */
70
+ onKeyUp?: (e: KeyboardEvent) => void;
34
71
  }
35
72
 
36
73
  export interface DateRangePickerAria {
74
+ /** Props for the labelled group shell (S2 overrides to role="presentation"). */
37
75
  groupProps: Record<string, unknown>;
76
+ /** Props for the label element. */
38
77
  labelProps: Record<string, unknown>;
78
+ /** Field props for the start date field — handed to createDateField. */
39
79
  startFieldProps: Record<string, unknown>;
80
+ /** Field props for the end date field — handed to createDateField. */
40
81
  endFieldProps: Record<string, unknown>;
41
- startInputProps: Record<string, unknown>;
42
- endInputProps: Record<string, unknown>;
82
+ /** Props for the button that opens the calendar. */
43
83
  buttonProps: Record<string, unknown>;
84
+ /** Whether the trigger button is currently pressed. */
85
+ isButtonPressed: () => boolean;
86
+ /** Whether the trigger button is disabled (picker disabled OR read-only). */
87
+ isButtonDisabled: () => boolean;
88
+ /** Props for the calendar dialog. */
44
89
  dialogProps: Record<string, unknown>;
90
+ /** Props for the calendar. */
45
91
  calendarProps: Record<string, unknown>;
92
+ /** Props for the description element. */
46
93
  descriptionProps: Record<string, unknown>;
94
+ /** Props for the error message element. */
47
95
  errorMessageProps: Record<string, unknown>;
96
+ /** Whether the picker is invalid. */
97
+ isInvalid: boolean;
98
+ /** Focus manager for programmatic segment focus (shared across both fields). */
99
+ focusManager: {
100
+ focusFirst: () => void;
101
+ focusLast: () => void;
102
+ };
48
103
  }
49
104
 
50
105
  export function createDateRangePicker<T extends RangeCalendarState>(
51
106
  props: MaybeAccessor<AriaDateRangePickerProps>,
52
107
  state: T,
53
108
  overlayState: DatePickerState,
109
+ ref: () => HTMLElement | null = () => null,
54
110
  ): DateRangePickerAria {
55
- const locale = useLocale();
56
111
  const getProps = () => access(props);
57
- const id = createId(getProps().id);
112
+ const buttonId = createId();
113
+ const dialogId = createId();
58
114
  const startFieldId = createId();
59
115
  const endFieldId = createId();
60
- const descriptionId = createId();
61
- const errorMessageId = createId();
62
- const dialogId = createId();
63
116
 
64
- const { labelProps, fieldProps: labelFieldProps } = createLabel({
65
- get label() {
66
- return getProps().label;
67
- },
68
- get "aria-label"() {
69
- return getProps()["aria-label"];
70
- },
71
- get "aria-labelledby"() {
72
- return getProps()["aria-labelledby"];
73
- },
74
- labelElementType: "span",
75
- });
117
+ const stringFormatter = createStringFormatter(datePickerStrings, "@react-aria/datepicker");
118
+ const locale = useLocale();
76
119
 
77
- const getAriaDescribedBy = () => {
120
+ // Label + description/error-message ids, mirroring upstream `useField`.
121
+ const field = createField(() => {
78
122
  const p = getProps();
79
- const ids: string[] = [];
80
- if (p["aria-describedby"]) ids.push(p["aria-describedby"]);
81
- if (p.description) ids.push(descriptionId);
82
- if (p.isInvalid && p.errorMessage) ids.push(errorMessageId);
83
- return ids.length > 0 ? ids.join(" ") : undefined;
123
+ return {
124
+ id: p.id,
125
+ label: p.label,
126
+ "aria-label": p["aria-label"],
127
+ "aria-labelledby": p["aria-labelledby"],
128
+ "aria-describedby": p["aria-describedby"],
129
+ description: p.description,
130
+ labelElementType: "span",
131
+ isInvalid: p.isInvalid,
132
+ errorMessage: p.errorMessage,
133
+ };
134
+ });
135
+
136
+ // labelledBy = the field label id (or the field id when there is no label),
137
+ // reused by the fields, button and dialog. Mirrors useDateRangePicker.
138
+ const labelledBy = (): string | undefined => {
139
+ const fp = field.fieldProps as Record<string, string | undefined>;
140
+ return fp["aria-labelledby"] || fp.id;
84
141
  };
85
142
 
86
- const groupProps = createMemo(() => {
87
- const p = getProps();
88
- const isInvalid = p.isInvalid;
89
- return mergeProps(labelFieldProps as Record<string, unknown>, {
90
- id,
91
- role: "group",
92
- "aria-disabled": p.isDisabled || state.isDisabled() || undefined,
93
- "aria-readonly": p.isReadOnly || state.isReadOnly() || undefined,
94
- "aria-required": p.isRequired || undefined,
95
- "aria-invalid": isInvalid || undefined,
96
- "aria-describedby": getAriaDescribedBy(),
97
- });
143
+ // Selected-range description for screen readers:
144
+ // "Selected Range: February 3 to 14, 2025". Mirrors useDateRangePicker, which
145
+ // formats the range with `{month: 'long'}` and folds the hidden description id
146
+ // ahead of the visible describedby.
147
+ const valueDescription = createMemo(() => {
148
+ const range = state.formatValue(locale().locale, { month: "long" });
149
+ return range
150
+ ? stringFormatter().format("selectedRangeDescription", {
151
+ startDate: range.start,
152
+ endDate: range.end,
153
+ })
154
+ : "";
98
155
  });
156
+ const descProps = createDescription(valueDescription);
99
157
 
100
- const startFieldProps = createMemo(() => {
101
- const p = getProps();
102
- const defaults = getDateRangePickerLabelDefaults(locale().locale);
103
- const isDisabled = p.isDisabled || state.isDisabled();
104
- const isReadOnly = p.isReadOnly || state.isReadOnly();
105
- const isInvalid = p.isInvalid;
158
+ // The picker's own describedby = value description + the field's describedby
159
+ // (visible description / error message ids folded in by createField).
160
+ const ariaDescribedBy = (): string | undefined => {
161
+ const fp = field.fieldProps as Record<string, string | undefined>;
162
+ return (
163
+ [descProps["aria-describedby"], fp["aria-describedby"]].filter(Boolean).join(" ") || undefined
164
+ );
165
+ };
106
166
 
107
- return {
108
- id: startFieldId,
109
- "aria-label": p.startFieldAriaLabel ?? defaults.startField,
110
- "aria-describedby": getAriaDescribedBy(),
111
- "aria-disabled": isDisabled || undefined,
112
- "aria-readonly": isReadOnly || undefined,
113
- "aria-invalid": isInvalid || undefined,
114
- tabIndex: isDisabled ? -1 : 0,
115
- onClick: () => {
116
- if (!isDisabled) {
117
- overlayState.open();
167
+ // Shared focus manager scoped to the whole group element, handed to BOTH fields
168
+ // via focusManagerSymbol so auto-advance and programmatic focus (label click,
169
+ // autoFocus) walk across the start/end field boundary.
170
+ const sharedFocusManager = createFocusManager(ref);
171
+
172
+ // FieldGroup shell. Faithful to useDateRangePicker `groupProps.role === 'group'`;
173
+ // the label association, describedby, `aria-disabled` and the arrow-navigation /
174
+ // press layer live here. The styled S2 layer OVERRIDES this to role="presentation".
175
+ const outerGroup = createDatePickerGroup(
176
+ {
177
+ setOpen: (isOpen: boolean) => (isOpen ? overlayState.open() : overlayState.close()),
178
+ },
179
+ ref,
180
+ false,
181
+ );
182
+
183
+ const groupProps = createMemo(() =>
184
+ mergeProps(outerGroup(), {
185
+ role: "group" as const,
186
+ "aria-disabled": getProps().isDisabled || undefined,
187
+ "aria-labelledby": labelledBy(),
188
+ "aria-describedby": ariaDescribedBy(),
189
+ onKeyDown(e: KeyboardEvent) {
190
+ if (!overlayState.isOpen) {
191
+ getProps().onKeyDown?.(e);
118
192
  }
119
193
  },
120
- onKeyDown: (event: KeyboardEvent) => {
121
- if (isDisabled) return;
122
- if (event.key === "Enter" || event.key === " " || event.key === "ArrowDown") {
123
- event.preventDefault();
124
- overlayState.open();
194
+ onKeyUp(e: KeyboardEvent) {
195
+ if (!overlayState.isOpen) {
196
+ getProps().onKeyUp?.(e);
125
197
  }
126
198
  },
127
- };
128
- });
199
+ }),
200
+ );
129
201
 
130
- const endFieldProps = createMemo(() => {
202
+ // Props shared by both fields: presentation marker + the shared focus manager +
203
+ // validation flags. Display options (granularity/hourCycle/…) live on the field
204
+ // STATE (createDateFieldState), so they are not repeated here.
205
+ const commonFieldProps = () => {
131
206
  const p = getProps();
132
- const defaults = getDateRangePickerLabelDefaults(locale().locale);
133
- const isDisabled = p.isDisabled || state.isDisabled();
134
- const isReadOnly = p.isReadOnly || state.isReadOnly();
135
- const isInvalid = p.isInvalid;
136
-
137
207
  return {
138
- id: endFieldId,
139
- "aria-label": p.endFieldAriaLabel ?? defaults.endField,
140
- "aria-describedby": getAriaDescribedBy(),
141
- "aria-disabled": isDisabled || undefined,
142
- "aria-readonly": isReadOnly || undefined,
143
- "aria-invalid": isInvalid || undefined,
144
- tabIndex: isDisabled ? -1 : 0,
145
- onClick: () => {
146
- if (!isDisabled) {
147
- overlayState.open();
148
- }
149
- },
150
- onKeyDown: (event: KeyboardEvent) => {
151
- if (isDisabled) return;
152
- if (event.key === "Enter" || event.key === " " || event.key === "ArrowDown") {
153
- event.preventDefault();
154
- overlayState.open();
155
- }
156
- },
208
+ [roleSymbol]: "presentation",
209
+ [focusManagerSymbol]: sharedFocusManager,
210
+ "aria-labelledby": labelledBy(),
211
+ "aria-describedby": ariaDescribedBy(),
212
+ isDisabled: p.isDisabled || state.isDisabled(),
213
+ isReadOnly: p.isReadOnly || state.isReadOnly(),
214
+ isRequired: p.isRequired,
215
+ validationBehavior: p.validationBehavior,
216
+ form: p.form,
157
217
  };
158
- });
218
+ };
159
219
 
160
- const startInputProps = createMemo(() => {
220
+ const startFieldProps = createMemo(() => {
161
221
  const p = getProps();
162
- const defaults = getDateRangePickerLabelDefaults(locale().locale);
163
- const isDisabled = p.isDisabled || state.isDisabled();
164
- const isReadOnly = p.isReadOnly || state.isReadOnly();
165
- const isInvalid = p.isInvalid;
166
-
167
- return {
222
+ return mergeProps(commonFieldProps() as Record<string, unknown>, {
168
223
  id: startFieldId,
169
- "aria-label": p.startFieldAriaLabel ?? defaults.startField,
170
- "aria-describedby": getAriaDescribedBy(),
171
- "aria-disabled": isDisabled || undefined,
172
- "aria-readonly": isReadOnly || undefined,
173
- "aria-invalid": isInvalid || undefined,
174
- };
224
+ "aria-label": stringFormatter().format("startDate"),
225
+ autoFocus: p.autoFocus,
226
+ name: p.startName,
227
+ });
175
228
  });
176
229
 
177
- const endInputProps = createMemo(() => {
230
+ const endFieldProps = createMemo(() => {
178
231
  const p = getProps();
179
- const defaults = getDateRangePickerLabelDefaults(locale().locale);
180
- const isDisabled = p.isDisabled || state.isDisabled();
181
- const isReadOnly = p.isReadOnly || state.isReadOnly();
182
- const isInvalid = p.isInvalid;
183
-
184
- return {
232
+ return mergeProps(commonFieldProps() as Record<string, unknown>, {
185
233
  id: endFieldId,
186
- "aria-label": p.endFieldAriaLabel ?? defaults.endField,
187
- "aria-describedby": getAriaDescribedBy(),
188
- "aria-disabled": isDisabled || undefined,
189
- "aria-readonly": isReadOnly || undefined,
190
- "aria-invalid": isInvalid || undefined,
191
- };
234
+ "aria-label": stringFormatter().format("endDate"),
235
+ name: p.endName,
236
+ });
237
+ });
238
+
239
+ // Trigger button. Disabled when the picker is disabled OR read-only.
240
+ const isButtonDisabled = () => {
241
+ const p = getProps();
242
+ return p.isDisabled || state.isDisabled() || p.isReadOnly || state.isReadOnly();
243
+ };
244
+
245
+ const buttonPress = createPress({
246
+ get isDisabled() {
247
+ return isButtonDisabled();
248
+ },
249
+ onPress: () => {
250
+ overlayState.open();
251
+ },
192
252
  });
193
253
 
194
254
  const buttonProps = createMemo(() => {
195
255
  const p = getProps();
196
- const defaults = getDateRangePickerLabelDefaults(locale().locale);
197
- const isDisabled = p.isDisabled || state.isDisabled();
198
- return {
199
- "aria-label": p.buttonAriaLabel ?? defaults.button,
256
+ return mergeProps(buttonPress.pressProps as Record<string, unknown>, {
257
+ id: buttonId,
258
+ type: "button" as const,
200
259
  "aria-haspopup": "dialog" as const,
260
+ "aria-label": p.buttonAriaLabel ?? stringFormatter().format("calendar"),
261
+ "aria-labelledby": `${buttonId} ${labelledBy()}`,
262
+ "aria-describedby": ariaDescribedBy(),
201
263
  "aria-expanded": overlayState.isOpen,
202
- "aria-controls": overlayState.isOpen ? dialogId : undefined,
203
- disabled: isDisabled,
264
+ "aria-disabled": isButtonDisabled() || undefined,
204
265
  tabIndex: 0,
205
- onClick: () => {
206
- if (!isDisabled) overlayState.toggle();
207
- },
208
- };
266
+ });
209
267
  });
210
268
 
211
- const dialogProps = createMemo(() => {
212
- const defaults = getDateRangePickerLabelDefaults(locale().locale);
213
- return {
214
- id: dialogId,
215
- role: "dialog",
216
- "aria-modal": true,
217
- "aria-label": getProps().dialogAriaLabel ?? defaults.dialog,
218
- };
219
- });
269
+ // Dialog props. Upstream is only `{id, 'aria-labelledby'}`; the port keeps
270
+ // `role="dialog"` because DateRangePickerContent spreads these onto the popover
271
+ // container and this is the only role source there (RAC's Dialog would add it).
272
+ const dialogProps = createMemo(() => ({
273
+ id: dialogId,
274
+ role: "dialog" as const,
275
+ "aria-labelledby": `${buttonId} ${labelledBy()}`,
276
+ }));
220
277
 
278
+ // Calendar props. Faithful to useDateRangePicker (NO aria-label upstream); a
279
+ // provided calendar/dialog aria-label is threaded through for parity with the
280
+ // styled escape hatches. Largely vestigial in the port — the popover
281
+ // RangeCalendar reads its state through RangeCalendarContext directly.
221
282
  const calendarProps = createMemo(() => {
222
- const defaults = getDateRangePickerLabelDefaults(locale().locale);
283
+ const p = getProps();
284
+ const label = p.calendarAriaLabel ?? p.dialogAriaLabel;
223
285
  return {
224
- "aria-label": getProps().calendarAriaLabel ?? getProps().dialogAriaLabel ?? defaults.calendar,
286
+ autoFocus: true,
287
+ value: state.value(),
288
+ minValue: undefined,
289
+ maxValue: undefined,
290
+ isDisabled: p.isDisabled || state.isDisabled(),
291
+ isReadOnly: p.isReadOnly || state.isReadOnly(),
292
+ isInvalid: p.isInvalid,
293
+ ...(label ? { "aria-label": label } : {}),
225
294
  };
226
295
  });
227
296
 
228
- const descriptionProps = createMemo(() => ({ id: descriptionId }));
229
- const errorMessageProps = createMemo(() => ({ id: errorMessageId, role: "alert" }));
297
+ // Label click focuses the first segment (of the start field).
298
+ const enhancedLabelProps = createMemo(() => ({
299
+ ...(field.labelProps as Record<string, unknown>),
300
+ onClick: () => {
301
+ sharedFocusManager.focusFirst();
302
+ },
303
+ }));
304
+
305
+ const isInvalid = createMemo(() => Boolean(getProps().isInvalid));
230
306
 
231
307
  return {
232
308
  get groupProps() {
233
309
  return groupProps();
234
310
  },
235
311
  get labelProps() {
236
- return labelProps as Record<string, unknown>;
312
+ return enhancedLabelProps() as Record<string, unknown>;
237
313
  },
238
314
  get startFieldProps() {
239
315
  return startFieldProps();
@@ -241,15 +317,11 @@ export function createDateRangePicker<T extends RangeCalendarState>(
241
317
  get endFieldProps() {
242
318
  return endFieldProps();
243
319
  },
244
- get startInputProps() {
245
- return startInputProps();
246
- },
247
- get endInputProps() {
248
- return endInputProps();
249
- },
250
320
  get buttonProps() {
251
321
  return buttonProps();
252
322
  },
323
+ isButtonPressed: () => buttonPress.isPressed(),
324
+ isButtonDisabled: () => isButtonDisabled(),
253
325
  get dialogProps() {
254
326
  return dialogProps();
255
327
  },
@@ -257,38 +329,17 @@ export function createDateRangePicker<T extends RangeCalendarState>(
257
329
  return calendarProps();
258
330
  },
259
331
  get descriptionProps() {
260
- return descriptionProps();
332
+ return field.descriptionProps as Record<string, unknown>;
261
333
  },
262
334
  get errorMessageProps() {
263
- return errorMessageProps();
335
+ return field.errorMessageProps as Record<string, unknown>;
336
+ },
337
+ get isInvalid() {
338
+ return isInvalid();
339
+ },
340
+ focusManager: {
341
+ focusFirst: () => sharedFocusManager.focusFirst(),
342
+ focusLast: () => sharedFocusManager.focusLast(),
264
343
  },
265
- };
266
- }
267
-
268
- function getDateRangePickerLabelDefaults(locale: string): {
269
- button: string;
270
- dialog: string;
271
- calendar: string;
272
- startField: string;
273
- endField: string;
274
- } {
275
- const language = locale.toLowerCase().split("-")[0] ?? "en";
276
-
277
- if (language === "es") {
278
- return {
279
- button: "Abrir calendario de rango",
280
- dialog: "Calendario de rango",
281
- calendar: "Calendario de rango",
282
- startField: "Fecha de inicio",
283
- endField: "Fecha de fin",
284
- };
285
- }
286
-
287
- return {
288
- button: "Open range calendar",
289
- dialog: "Range calendar",
290
- calendar: "Range calendar",
291
- startField: "Start date",
292
- endField: "End date",
293
344
  };
294
345
  }