@proyecto-viviana/solidaria 0.2.8 → 0.4.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 (976) hide show
  1. package/README.md +31 -236
  2. package/dist/_chunk/actiongroup.js +207 -0
  3. package/dist/_chunk/actiongroup.js.map +1 -0
  4. package/dist/_chunk/actiongroup.jsx +207 -0
  5. package/dist/_chunk/actiongroup.jsx.map +1 -0
  6. package/dist/_chunk/ariaHideOutside.js +122 -0
  7. package/dist/_chunk/ariaHideOutside.js.map +1 -0
  8. package/dist/_chunk/ariaHideOutside.jsx +122 -0
  9. package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
  10. package/dist/_chunk/autocomplete.js +196 -0
  11. package/dist/_chunk/autocomplete.js.map +1 -0
  12. package/dist/_chunk/autocomplete.jsx +196 -0
  13. package/dist/_chunk/autocomplete.jsx.map +1 -0
  14. package/dist/_chunk/breadcrumbs.js +119 -0
  15. package/dist/_chunk/breadcrumbs.js.map +1 -0
  16. package/dist/_chunk/breadcrumbs.jsx +119 -0
  17. package/dist/_chunk/breadcrumbs.jsx.map +1 -0
  18. package/dist/_chunk/button.js +276 -0
  19. package/dist/_chunk/button.js.map +1 -0
  20. package/dist/_chunk/button.jsx +276 -0
  21. package/dist/_chunk/button.jsx.map +1 -0
  22. package/dist/_chunk/calendar.js +1036 -0
  23. package/dist/_chunk/calendar.js.map +1 -0
  24. package/dist/_chunk/calendar.jsx +1036 -0
  25. package/dist/_chunk/calendar.jsx.map +1 -0
  26. package/dist/_chunk/checkbox.js +234 -0
  27. package/dist/_chunk/checkbox.js.map +1 -0
  28. package/dist/_chunk/checkbox.jsx +234 -0
  29. package/dist/_chunk/checkbox.jsx.map +1 -0
  30. package/dist/_chunk/color.js +1174 -0
  31. package/dist/_chunk/color.js.map +1 -0
  32. package/dist/_chunk/color.jsx +1174 -0
  33. package/dist/_chunk/color.jsx.map +1 -0
  34. package/dist/_chunk/combobox.js +436 -0
  35. package/dist/_chunk/combobox.js.map +1 -0
  36. package/dist/_chunk/combobox.jsx +436 -0
  37. package/dist/_chunk/combobox.jsx.map +1 -0
  38. package/dist/_chunk/createCollator.js +229 -0
  39. package/dist/_chunk/createCollator.js.map +1 -0
  40. package/dist/_chunk/createCollator.jsx +223 -0
  41. package/dist/_chunk/createCollator.jsx.map +1 -0
  42. package/dist/_chunk/createCollectionRowInteraction.js +133 -0
  43. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
  44. package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
  45. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
  46. package/dist/_chunk/createField.js +54 -0
  47. package/dist/_chunk/createField.js.map +1 -0
  48. package/dist/_chunk/createField.jsx +54 -0
  49. package/dist/_chunk/createField.jsx.map +1 -0
  50. package/dist/_chunk/createFocus.js +101 -0
  51. package/dist/_chunk/createFocus.js.map +1 -0
  52. package/dist/_chunk/createFocus.jsx +101 -0
  53. package/dist/_chunk/createFocus.jsx.map +1 -0
  54. package/dist/_chunk/createFocusRing.js +54 -0
  55. package/dist/_chunk/createFocusRing.js.map +1 -0
  56. package/dist/_chunk/createFocusRing.jsx +54 -0
  57. package/dist/_chunk/createFocusRing.jsx.map +1 -0
  58. package/dist/_chunk/createFocusWithin.js +121 -0
  59. package/dist/_chunk/createFocusWithin.js.map +1 -0
  60. package/dist/_chunk/createFocusWithin.jsx +121 -0
  61. package/dist/_chunk/createFocusWithin.jsx.map +1 -0
  62. package/dist/_chunk/createFocusable.js +131 -0
  63. package/dist/_chunk/createFocusable.js.map +1 -0
  64. package/dist/_chunk/createFocusable.jsx +131 -0
  65. package/dist/_chunk/createFocusable.jsx.map +1 -0
  66. package/dist/_chunk/createFormValidation.js +135 -0
  67. package/dist/_chunk/createFormValidation.js.map +1 -0
  68. package/dist/_chunk/createFormValidation.jsx +135 -0
  69. package/dist/_chunk/createFormValidation.jsx.map +1 -0
  70. package/dist/_chunk/createHover.js +130 -0
  71. package/dist/_chunk/createHover.js.map +1 -0
  72. package/dist/_chunk/createHover.jsx +130 -0
  73. package/dist/_chunk/createHover.jsx.map +1 -0
  74. package/dist/_chunk/createInteractionModality.js +269 -0
  75. package/dist/_chunk/createInteractionModality.js.map +1 -0
  76. package/dist/_chunk/createInteractionModality.jsx +269 -0
  77. package/dist/_chunk/createInteractionModality.jsx.map +1 -0
  78. package/dist/_chunk/createLabel.js +46 -0
  79. package/dist/_chunk/createLabel.js.map +1 -0
  80. package/dist/_chunk/createLabel.jsx +46 -0
  81. package/dist/_chunk/createLabel.jsx.map +1 -0
  82. package/dist/_chunk/createLabels.js +31 -0
  83. package/dist/_chunk/createLabels.js.map +1 -0
  84. package/dist/_chunk/createLabels.jsx +31 -0
  85. package/dist/_chunk/createLabels.jsx.map +1 -0
  86. package/dist/_chunk/createLandmark.js +198 -0
  87. package/dist/_chunk/createLandmark.js.map +1 -0
  88. package/dist/_chunk/createLandmark.jsx +198 -0
  89. package/dist/_chunk/createLandmark.jsx.map +1 -0
  90. package/dist/_chunk/createLongPress.js +91 -0
  91. package/dist/_chunk/createLongPress.js.map +1 -0
  92. package/dist/_chunk/createLongPress.jsx +91 -0
  93. package/dist/_chunk/createLongPress.jsx.map +1 -0
  94. package/dist/_chunk/createOverlay.js +327 -0
  95. package/dist/_chunk/createOverlay.js.map +1 -0
  96. package/dist/_chunk/createOverlay.jsx +327 -0
  97. package/dist/_chunk/createOverlay.jsx.map +1 -0
  98. package/dist/_chunk/createPress.js +526 -0
  99. package/dist/_chunk/createPress.js.map +1 -0
  100. package/dist/_chunk/createPress.jsx +526 -0
  101. package/dist/_chunk/createPress.jsx.map +1 -0
  102. package/dist/_chunk/createProgressBar.js +81 -0
  103. package/dist/_chunk/createProgressBar.js.map +1 -0
  104. package/dist/_chunk/createProgressBar.jsx +81 -0
  105. package/dist/_chunk/createProgressBar.jsx.map +1 -0
  106. package/dist/_chunk/createSelectableItem.js +298 -0
  107. package/dist/_chunk/createSelectableItem.js.map +1 -0
  108. package/dist/_chunk/createSelectableItem.jsx +298 -0
  109. package/dist/_chunk/createSelectableItem.jsx.map +1 -0
  110. package/dist/_chunk/createToggle.js +158 -0
  111. package/dist/_chunk/createToggle.js.map +1 -0
  112. package/dist/_chunk/createToggle.jsx +158 -0
  113. package/dist/_chunk/createToggle.jsx.map +1 -0
  114. package/dist/_chunk/createTypeSelect.js +125 -0
  115. package/dist/_chunk/createTypeSelect.js.map +1 -0
  116. package/dist/_chunk/createTypeSelect.jsx +125 -0
  117. package/dist/_chunk/createTypeSelect.jsx.map +1 -0
  118. package/dist/_chunk/datepicker.js +1393 -0
  119. package/dist/_chunk/datepicker.js.map +1 -0
  120. package/dist/_chunk/datepicker.jsx +1393 -0
  121. package/dist/_chunk/datepicker.jsx.map +1 -0
  122. package/dist/_chunk/dialog.js +62 -0
  123. package/dist/_chunk/dialog.js.map +1 -0
  124. package/dist/_chunk/dialog.jsx +62 -0
  125. package/dist/_chunk/dialog.jsx.map +1 -0
  126. package/dist/_chunk/disclosure.js +185 -0
  127. package/dist/_chunk/disclosure.js.map +1 -0
  128. package/dist/_chunk/disclosure.jsx +185 -0
  129. package/dist/_chunk/disclosure.jsx.map +1 -0
  130. package/dist/_chunk/dnd.js +1304 -0
  131. package/dist/_chunk/dnd.js.map +1 -0
  132. package/dist/_chunk/dnd.jsx +1304 -0
  133. package/dist/_chunk/dnd.jsx.map +1 -0
  134. package/dist/_chunk/env.js +105 -0
  135. package/dist/_chunk/env.js.map +1 -0
  136. package/dist/_chunk/env.jsx +105 -0
  137. package/dist/_chunk/env.jsx.map +1 -0
  138. package/dist/_chunk/filterDOMProps.js +82 -0
  139. package/dist/_chunk/filterDOMProps.js.map +1 -0
  140. package/dist/_chunk/filterDOMProps.jsx +82 -0
  141. package/dist/_chunk/filterDOMProps.jsx.map +1 -0
  142. package/dist/_chunk/focus.js +399 -0
  143. package/dist/_chunk/focus.js.map +1 -0
  144. package/dist/_chunk/focus.jsx +399 -0
  145. package/dist/_chunk/focus.jsx.map +1 -0
  146. package/dist/_chunk/focus2.js +895 -0
  147. package/dist/_chunk/focus2.js.map +1 -0
  148. package/dist/_chunk/focus2.jsx +870 -0
  149. package/dist/_chunk/focus2.jsx.map +1 -0
  150. package/dist/_chunk/form.js +39 -0
  151. package/dist/_chunk/form.js.map +1 -0
  152. package/dist/_chunk/form.jsx +39 -0
  153. package/dist/_chunk/form.jsx.map +1 -0
  154. package/dist/_chunk/grid.js +623 -0
  155. package/dist/_chunk/grid.js.map +1 -0
  156. package/dist/_chunk/grid.jsx +623 -0
  157. package/dist/_chunk/grid.jsx.map +1 -0
  158. package/dist/_chunk/gridlist.js +364 -0
  159. package/dist/_chunk/gridlist.js.map +1 -0
  160. package/dist/_chunk/gridlist.jsx +364 -0
  161. package/dist/_chunk/gridlist.jsx.map +1 -0
  162. package/dist/_chunk/i18n.js +254 -0
  163. package/dist/_chunk/i18n.js.map +1 -0
  164. package/dist/_chunk/i18n.jsx +254 -0
  165. package/dist/_chunk/i18n.jsx.map +1 -0
  166. package/dist/_chunk/interactions.js +241 -0
  167. package/dist/_chunk/interactions.js.map +1 -0
  168. package/dist/_chunk/interactions.jsx +237 -0
  169. package/dist/_chunk/interactions.jsx.map +1 -0
  170. package/dist/_chunk/link.js +96 -0
  171. package/dist/_chunk/link.js.map +1 -0
  172. package/dist/_chunk/link.jsx +96 -0
  173. package/dist/_chunk/link.jsx.map +1 -0
  174. package/dist/_chunk/listbox.js +324 -0
  175. package/dist/_chunk/listbox.js.map +1 -0
  176. package/dist/_chunk/listbox.jsx +324 -0
  177. package/dist/_chunk/listbox.jsx.map +1 -0
  178. package/dist/_chunk/live-announcer.js +207 -0
  179. package/dist/_chunk/live-announcer.js.map +1 -0
  180. package/dist/_chunk/live-announcer.jsx +207 -0
  181. package/dist/_chunk/live-announcer.jsx.map +1 -0
  182. package/dist/_chunk/menu.js +518 -0
  183. package/dist/_chunk/menu.js.map +1 -0
  184. package/dist/_chunk/menu.jsx +518 -0
  185. package/dist/_chunk/menu.jsx.map +1 -0
  186. package/dist/_chunk/meter.js +33 -0
  187. package/dist/_chunk/meter.js.map +1 -0
  188. package/dist/_chunk/meter.jsx +33 -0
  189. package/dist/_chunk/meter.jsx.map +1 -0
  190. package/dist/_chunk/numberfield.js +258 -0
  191. package/dist/_chunk/numberfield.js.map +1 -0
  192. package/dist/_chunk/numberfield.jsx +258 -0
  193. package/dist/_chunk/numberfield.jsx.map +1 -0
  194. package/dist/_chunk/overlays.js +186 -0
  195. package/dist/_chunk/overlays.js.map +1 -0
  196. package/dist/_chunk/overlays.jsx +162 -0
  197. package/dist/_chunk/overlays.jsx.map +1 -0
  198. package/dist/_chunk/popover.js +574 -0
  199. package/dist/_chunk/popover.js.map +1 -0
  200. package/dist/_chunk/popover.jsx +574 -0
  201. package/dist/_chunk/popover.jsx.map +1 -0
  202. package/dist/_chunk/radio.js +319 -0
  203. package/dist/_chunk/radio.js.map +1 -0
  204. package/dist/_chunk/radio.jsx +319 -0
  205. package/dist/_chunk/radio.jsx.map +1 -0
  206. package/dist/_chunk/searchfield.js +209 -0
  207. package/dist/_chunk/searchfield.js.map +1 -0
  208. package/dist/_chunk/searchfield.jsx +209 -0
  209. package/dist/_chunk/searchfield.jsx.map +1 -0
  210. package/dist/_chunk/select.js +403 -0
  211. package/dist/_chunk/select.js.map +1 -0
  212. package/dist/_chunk/select.jsx +394 -0
  213. package/dist/_chunk/select.jsx.map +1 -0
  214. package/dist/_chunk/selection.js +679 -0
  215. package/dist/_chunk/selection.js.map +1 -0
  216. package/dist/_chunk/selection.jsx +679 -0
  217. package/dist/_chunk/selection.jsx.map +1 -0
  218. package/dist/_chunk/separator.js +29 -0
  219. package/dist/_chunk/separator.js.map +1 -0
  220. package/dist/_chunk/separator.jsx +29 -0
  221. package/dist/_chunk/separator.jsx.map +1 -0
  222. package/dist/_chunk/slider.js +255 -0
  223. package/dist/_chunk/slider.js.map +1 -0
  224. package/dist/_chunk/slider.jsx +255 -0
  225. package/dist/_chunk/slider.jsx.map +1 -0
  226. package/dist/_chunk/steplist.js +66 -0
  227. package/dist/_chunk/steplist.js.map +1 -0
  228. package/dist/_chunk/steplist.jsx +66 -0
  229. package/dist/_chunk/steplist.jsx.map +1 -0
  230. package/dist/_chunk/switch.js +34 -0
  231. package/dist/_chunk/switch.js.map +1 -0
  232. package/dist/_chunk/switch.jsx +34 -0
  233. package/dist/_chunk/switch.jsx.map +1 -0
  234. package/dist/_chunk/table.js +1051 -0
  235. package/dist/_chunk/table.js.map +1 -0
  236. package/dist/_chunk/table.jsx +1051 -0
  237. package/dist/_chunk/table.jsx.map +1 -0
  238. package/dist/_chunk/tabs.js +260 -0
  239. package/dist/_chunk/tabs.js.map +1 -0
  240. package/dist/_chunk/tabs.jsx +260 -0
  241. package/dist/_chunk/tabs.jsx.map +1 -0
  242. package/dist/_chunk/tag.js +286 -0
  243. package/dist/_chunk/tag.js.map +1 -0
  244. package/dist/_chunk/tag.jsx +286 -0
  245. package/dist/_chunk/tag.jsx.map +1 -0
  246. package/dist/_chunk/textfield.js +109 -0
  247. package/dist/_chunk/textfield.js.map +1 -0
  248. package/dist/_chunk/textfield.jsx +109 -0
  249. package/dist/_chunk/textfield.jsx.map +1 -0
  250. package/dist/_chunk/toast.js +250 -0
  251. package/dist/_chunk/toast.js.map +1 -0
  252. package/dist/_chunk/toast.jsx +250 -0
  253. package/dist/_chunk/toast.jsx.map +1 -0
  254. package/dist/_chunk/toolbar.js +258 -0
  255. package/dist/_chunk/toolbar.js.map +1 -0
  256. package/dist/_chunk/toolbar.jsx +258 -0
  257. package/dist/_chunk/toolbar.jsx.map +1 -0
  258. package/dist/_chunk/tooltip.js +185 -0
  259. package/dist/_chunk/tooltip.js.map +1 -0
  260. package/dist/_chunk/tooltip.jsx +185 -0
  261. package/dist/_chunk/tooltip.jsx.map +1 -0
  262. package/dist/_chunk/tree.js +424 -0
  263. package/dist/_chunk/tree.js.map +1 -0
  264. package/dist/_chunk/tree.jsx +424 -0
  265. package/dist/_chunk/tree.jsx.map +1 -0
  266. package/dist/_chunk/utils.js +665 -0
  267. package/dist/_chunk/utils.js.map +1 -0
  268. package/dist/_chunk/utils.jsx +665 -0
  269. package/dist/_chunk/utils.jsx.map +1 -0
  270. package/dist/_chunk/visually-hidden.js +92 -0
  271. package/dist/_chunk/visually-hidden.js.map +1 -0
  272. package/dist/_chunk/visually-hidden.jsx +92 -0
  273. package/dist/_chunk/visually-hidden.jsx.map +1 -0
  274. package/dist/actiongroup/createActionGroup.d.ts +5 -5
  275. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  276. package/dist/actiongroup/index.d.ts +1 -1
  277. package/dist/actiongroup/index.js +2 -0
  278. package/dist/actiongroup/index.jsx +2 -0
  279. package/dist/autocomplete/createAutocomplete.d.ts +12 -10
  280. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  281. package/dist/autocomplete/index.d.ts +1 -1
  282. package/dist/autocomplete/index.d.ts.map +1 -1
  283. package/dist/autocomplete/index.js +2 -0
  284. package/dist/autocomplete/index.jsx +2 -0
  285. package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
  286. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  287. package/dist/breadcrumbs/index.d.ts +1 -1
  288. package/dist/breadcrumbs/index.js +2 -0
  289. package/dist/breadcrumbs/index.jsx +2 -0
  290. package/dist/button/createButton.d.ts +1 -1
  291. package/dist/button/createButton.d.ts.map +1 -1
  292. package/dist/button/createToggleButton.d.ts +3 -3
  293. package/dist/button/createToggleButtonGroup.d.ts +7 -7
  294. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  295. package/dist/button/index.d.ts +6 -6
  296. package/dist/button/index.d.ts.map +1 -1
  297. package/dist/button/index.js +2 -0
  298. package/dist/button/index.jsx +2 -0
  299. package/dist/button/types.d.ts +18 -12
  300. package/dist/button/types.d.ts.map +1 -1
  301. package/dist/calendar/createCalendar.d.ts +15 -5
  302. package/dist/calendar/createCalendar.d.ts.map +1 -1
  303. package/dist/calendar/createCalendarCell.d.ts +6 -2
  304. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  305. package/dist/calendar/createCalendarGrid.d.ts +4 -4
  306. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  307. package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
  308. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
  309. package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
  310. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
  311. package/dist/calendar/createRangeCalendar.d.ts +15 -5
  312. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  313. package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
  314. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  315. package/dist/calendar/index.d.ts +7 -5
  316. package/dist/calendar/index.d.ts.map +1 -1
  317. package/dist/calendar/index.js +2 -0
  318. package/dist/calendar/index.jsx +2 -0
  319. package/dist/calendar/intl/index.d.ts +12 -0
  320. package/dist/calendar/intl/index.d.ts.map +1 -0
  321. package/dist/calendar/utils.d.ts +16 -0
  322. package/dist/calendar/utils.d.ts.map +1 -0
  323. package/dist/checkbox/createCheckbox.d.ts +10 -6
  324. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  325. package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
  326. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  327. package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
  328. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  329. package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
  330. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
  331. package/dist/checkbox/index.d.ts +8 -8
  332. package/dist/checkbox/index.d.ts.map +1 -1
  333. package/dist/checkbox/index.js +2 -0
  334. package/dist/checkbox/index.jsx +2 -0
  335. package/dist/collections/index.d.ts +3 -3
  336. package/dist/collections/index.d.ts.map +1 -1
  337. package/dist/collections/index.js +160 -0
  338. package/dist/collections/index.js.map +1 -0
  339. package/dist/collections/index.jsx +160 -0
  340. package/dist/collections/index.jsx.map +1 -0
  341. package/dist/color/createColorArea.d.ts +3 -3
  342. package/dist/color/createColorArea.d.ts.map +1 -1
  343. package/dist/color/createColorField.d.ts +4 -4
  344. package/dist/color/createColorField.d.ts.map +1 -1
  345. package/dist/color/createColorSlider.d.ts +4 -4
  346. package/dist/color/createColorSlider.d.ts.map +1 -1
  347. package/dist/color/createColorSwatch.d.ts +2 -2
  348. package/dist/color/createColorSwatch.d.ts.map +1 -1
  349. package/dist/color/createColorWheel.d.ts +3 -3
  350. package/dist/color/createColorWheel.d.ts.map +1 -1
  351. package/dist/color/index.d.ts +6 -6
  352. package/dist/color/index.js +2 -0
  353. package/dist/color/index.jsx +2 -0
  354. package/dist/color/types.d.ts +98 -16
  355. package/dist/color/types.d.ts.map +1 -1
  356. package/dist/combobox/createComboBox.d.ts +10 -7
  357. package/dist/combobox/createComboBox.d.ts.map +1 -1
  358. package/dist/combobox/index.d.ts +1 -1
  359. package/dist/combobox/index.js +2 -0
  360. package/dist/combobox/index.jsx +2 -0
  361. package/dist/combobox/intl/index.d.ts +1 -1
  362. package/dist/datepicker/createDateField.d.ts +18 -6
  363. package/dist/datepicker/createDateField.d.ts.map +1 -1
  364. package/dist/datepicker/createDatePicker.d.ts +51 -5
  365. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  366. package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
  367. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
  368. package/dist/datepicker/createDateRangePicker.d.ts +8 -6
  369. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  370. package/dist/datepicker/createDateSegment.d.ts +10 -2
  371. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  372. package/dist/datepicker/createTimeField.d.ts +11 -5
  373. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  374. package/dist/datepicker/createTimeSegment.d.ts +2 -2
  375. package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
  376. package/dist/datepicker/index.d.ts +7 -6
  377. package/dist/datepicker/index.d.ts.map +1 -1
  378. package/dist/datepicker/index.js +2 -0
  379. package/dist/datepicker/index.jsx +2 -0
  380. package/dist/dialog/createDialog.d.ts +5 -5
  381. package/dist/dialog/createDialog.d.ts.map +1 -1
  382. package/dist/dialog/index.d.ts +2 -2
  383. package/dist/dialog/index.d.ts.map +1 -1
  384. package/dist/dialog/index.js +2 -0
  385. package/dist/dialog/index.jsx +2 -0
  386. package/dist/dialog/types.d.ts +4 -4
  387. package/dist/disclosure/createDisclosure.d.ts +5 -2
  388. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  389. package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
  390. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  391. package/dist/disclosure/index.d.ts +2 -2
  392. package/dist/disclosure/index.js +2 -0
  393. package/dist/disclosure/index.jsx +2 -0
  394. package/dist/dnd/createDrag.d.ts +2 -2
  395. package/dist/dnd/createDrag.d.ts.map +1 -1
  396. package/dist/dnd/createDraggableCollection.d.ts +2 -2
  397. package/dist/dnd/createDraggableItem.d.ts +3 -3
  398. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  399. package/dist/dnd/createDrop.d.ts +2 -2
  400. package/dist/dnd/createDrop.d.ts.map +1 -1
  401. package/dist/dnd/createDroppableCollection.d.ts +26 -6
  402. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  403. package/dist/dnd/createDroppableItem.d.ts +3 -3
  404. package/dist/dnd/index.d.ts +12 -12
  405. package/dist/dnd/index.d.ts.map +1 -1
  406. package/dist/dnd/index.js +2 -0
  407. package/dist/dnd/index.jsx +2 -0
  408. package/dist/dnd/types.d.ts +2 -2
  409. package/dist/dnd/types.d.ts.map +1 -1
  410. package/dist/dnd/utils.d.ts +2 -2
  411. package/dist/dnd/utils.d.ts.map +1 -1
  412. package/dist/focus/FocusScope.d.ts +1 -1
  413. package/dist/focus/FocusScope.d.ts.map +1 -1
  414. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  415. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  416. package/dist/focus/createVirtualFocus.d.ts +4 -4
  417. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  418. package/dist/focus/index.d.ts +4 -4
  419. package/dist/focus/index.d.ts.map +1 -1
  420. package/dist/focus/index.js +2 -0
  421. package/dist/focus/index.jsx +2 -0
  422. package/dist/form/createFormReset.d.ts +1 -1
  423. package/dist/form/createFormValidation.d.ts +3 -3
  424. package/dist/form/createFormValidation.d.ts.map +1 -1
  425. package/dist/form/index.d.ts +2 -2
  426. package/dist/form/index.d.ts.map +1 -1
  427. package/dist/form/index.js +3 -0
  428. package/dist/form/index.jsx +3 -0
  429. package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
  430. package/dist/grid/createGrid.d.ts +3 -3
  431. package/dist/grid/createGridCell.d.ts +3 -3
  432. package/dist/grid/createGridRow.d.ts +3 -3
  433. package/dist/grid/index.d.ts +5 -5
  434. package/dist/grid/index.js +2 -0
  435. package/dist/grid/index.jsx +2 -0
  436. package/dist/grid/types.d.ts +8 -8
  437. package/dist/gridlist/createGridList.d.ts +12 -4
  438. package/dist/gridlist/createGridList.d.ts.map +1 -1
  439. package/dist/gridlist/createGridListItem.d.ts +4 -4
  440. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  441. package/dist/gridlist/createGridListSection.d.ts +15 -0
  442. package/dist/gridlist/createGridListSection.d.ts.map +1 -0
  443. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
  444. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  445. package/dist/gridlist/index.d.ts +5 -4
  446. package/dist/gridlist/index.d.ts.map +1 -1
  447. package/dist/gridlist/index.js +2 -0
  448. package/dist/gridlist/index.jsx +2 -0
  449. package/dist/gridlist/types.d.ts +61 -7
  450. package/dist/gridlist/types.d.ts.map +1 -1
  451. package/dist/i18n/createCollator.d.ts.map +1 -1
  452. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  453. package/dist/i18n/createFilter.d.ts.map +1 -1
  454. package/dist/i18n/createNumberFormatter.d.ts +1 -1
  455. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  456. package/dist/i18n/createStringFormatter.d.ts +2 -2
  457. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  458. package/dist/i18n/index.d.ts +8 -8
  459. package/dist/i18n/index.d.ts.map +1 -1
  460. package/dist/i18n/index.js +3 -0
  461. package/dist/i18n/index.jsx +3 -0
  462. package/dist/i18n/locale.d.ts +2 -2
  463. package/dist/i18n/locale.d.ts.map +1 -1
  464. package/dist/i18n/utils.d.ts.map +1 -1
  465. package/dist/index.d.ts +56 -51
  466. package/dist/index.d.ts.map +1 -1
  467. package/dist/index.js +71 -17119
  468. package/dist/index.jsx +71 -0
  469. package/dist/interactions/FocusableProvider.d.ts +2 -2
  470. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  471. package/dist/interactions/PressEvent.d.ts +13 -2
  472. package/dist/interactions/PressEvent.d.ts.map +1 -1
  473. package/dist/interactions/createFocus.d.ts +1 -1
  474. package/dist/interactions/createFocus.d.ts.map +1 -1
  475. package/dist/interactions/createFocusRing.d.ts +1 -1
  476. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  477. package/dist/interactions/createFocusWithin.d.ts +1 -1
  478. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  479. package/dist/interactions/createFocusable.d.ts +3 -3
  480. package/dist/interactions/createFocusable.d.ts.map +1 -1
  481. package/dist/interactions/createHover.d.ts +5 -5
  482. package/dist/interactions/createHover.d.ts.map +1 -1
  483. package/dist/interactions/createInteractionModality.d.ts +3 -4
  484. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  485. package/dist/interactions/createKeyboard.d.ts +1 -1
  486. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  487. package/dist/interactions/createLongPress.d.ts +5 -5
  488. package/dist/interactions/createMove.d.ts +5 -5
  489. package/dist/interactions/createMove.d.ts.map +1 -1
  490. package/dist/interactions/createPress.d.ts +4 -4
  491. package/dist/interactions/createPress.d.ts.map +1 -1
  492. package/dist/interactions/index.d.ts +12 -12
  493. package/dist/interactions/index.d.ts.map +1 -1
  494. package/dist/interactions/index.js +10 -0
  495. package/dist/interactions/index.jsx +10 -0
  496. package/dist/label/createField.d.ts +4 -4
  497. package/dist/label/createField.d.ts.map +1 -1
  498. package/dist/label/createLabel.d.ts +7 -7
  499. package/dist/label/createLabel.d.ts.map +1 -1
  500. package/dist/label/createLabels.d.ts +1 -1
  501. package/dist/label/createLabels.d.ts.map +1 -1
  502. package/dist/label/index.d.ts +5 -5
  503. package/dist/label/index.js +4 -0
  504. package/dist/label/index.jsx +4 -0
  505. package/dist/landmark/createLandmark.d.ts +5 -5
  506. package/dist/landmark/createLandmark.d.ts.map +1 -1
  507. package/dist/landmark/index.d.ts +1 -1
  508. package/dist/landmark/index.js +2 -0
  509. package/dist/landmark/index.jsx +2 -0
  510. package/dist/link/createLink.d.ts +14 -8
  511. package/dist/link/createLink.d.ts.map +1 -1
  512. package/dist/link/index.d.ts +1 -1
  513. package/dist/link/index.js +2 -0
  514. package/dist/link/index.jsx +2 -0
  515. package/dist/listbox/createListBox.d.ts +48 -6
  516. package/dist/listbox/createListBox.d.ts.map +1 -1
  517. package/dist/listbox/createOption.d.ts +27 -4
  518. package/dist/listbox/createOption.d.ts.map +1 -1
  519. package/dist/listbox/index.d.ts +2 -2
  520. package/dist/listbox/index.d.ts.map +1 -1
  521. package/dist/listbox/index.js +2 -0
  522. package/dist/listbox/index.jsx +2 -0
  523. package/dist/live-announcer/announce.d.ts +2 -2
  524. package/dist/live-announcer/announce.d.ts.map +1 -1
  525. package/dist/live-announcer/index.d.ts +1 -1
  526. package/dist/live-announcer/index.js +2 -0
  527. package/dist/live-announcer/index.jsx +2 -0
  528. package/dist/menu/createMenu.d.ts +14 -11
  529. package/dist/menu/createMenu.d.ts.map +1 -1
  530. package/dist/menu/createMenuItem.d.ts +25 -5
  531. package/dist/menu/createMenuItem.d.ts.map +1 -1
  532. package/dist/menu/createMenuTrigger.d.ts +4 -4
  533. package/dist/menu/index.d.ts +3 -3
  534. package/dist/menu/index.d.ts.map +1 -1
  535. package/dist/menu/index.js +2 -0
  536. package/dist/menu/index.jsx +2 -0
  537. package/dist/meter/createMeter.d.ts +6 -6
  538. package/dist/meter/createMeter.d.ts.map +1 -1
  539. package/dist/meter/index.d.ts +1 -1
  540. package/dist/meter/index.js +2 -0
  541. package/dist/meter/index.jsx +2 -0
  542. package/dist/numberfield/createNumberField.d.ts +9 -8
  543. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  544. package/dist/numberfield/index.d.ts +1 -1
  545. package/dist/numberfield/index.js +2 -0
  546. package/dist/numberfield/index.jsx +2 -0
  547. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  548. package/dist/overlays/createModal.d.ts +3 -3
  549. package/dist/overlays/createModal.d.ts.map +1 -1
  550. package/dist/overlays/createOverlay.d.ts +1 -1
  551. package/dist/overlays/createOverlay.d.ts.map +1 -1
  552. package/dist/overlays/createOverlayTrigger.d.ts +6 -6
  553. package/dist/overlays/index.d.ts +6 -6
  554. package/dist/overlays/index.d.ts.map +1 -1
  555. package/dist/overlays/index.js +4 -0
  556. package/dist/overlays/index.jsx +4 -0
  557. package/dist/popover/calculatePosition.d.ts +6 -4
  558. package/dist/popover/calculatePosition.d.ts.map +1 -1
  559. package/dist/popover/createOverlayPosition.d.ts +11 -3
  560. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  561. package/dist/popover/createPopover.d.ts +4 -4
  562. package/dist/popover/createPopover.d.ts.map +1 -1
  563. package/dist/popover/index.d.ts +3 -3
  564. package/dist/popover/index.js +2 -0
  565. package/dist/popover/index.jsx +2 -0
  566. package/dist/progress/createProgressBar.d.ts +7 -5
  567. package/dist/progress/createProgressBar.d.ts.map +1 -1
  568. package/dist/progress/index.d.ts +1 -1
  569. package/dist/progress/index.js +2 -0
  570. package/dist/progress/index.jsx +2 -0
  571. package/dist/radio/createRadio.d.ts +9 -7
  572. package/dist/radio/createRadio.d.ts.map +1 -1
  573. package/dist/radio/createRadioGroup.d.ts +10 -10
  574. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  575. package/dist/radio/createRadioGroupState.d.ts +3 -3
  576. package/dist/radio/createRadioGroupState.d.ts.map +1 -1
  577. package/dist/radio/index.d.ts +3 -3
  578. package/dist/radio/index.d.ts.map +1 -1
  579. package/dist/radio/index.js +2 -0
  580. package/dist/radio/index.jsx +2 -0
  581. package/dist/searchfield/createSearchField.d.ts +7 -7
  582. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  583. package/dist/searchfield/index.d.ts +2 -2
  584. package/dist/searchfield/index.js +2 -0
  585. package/dist/searchfield/index.jsx +2 -0
  586. package/dist/select/createHiddenSelect.d.ts +4 -4
  587. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  588. package/dist/select/createSelect.d.ts +14 -6
  589. package/dist/select/createSelect.d.ts.map +1 -1
  590. package/dist/select/index.d.ts +2 -2
  591. package/dist/select/index.d.ts.map +1 -1
  592. package/dist/select/index.js +2 -0
  593. package/dist/select/index.jsx +2 -0
  594. package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
  595. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
  596. package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
  597. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
  598. package/dist/selection/constants.d.ts +15 -0
  599. package/dist/selection/constants.d.ts.map +1 -0
  600. package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
  601. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
  602. package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
  603. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
  604. package/dist/selection/createSelectableCollection.d.ts +69 -0
  605. package/dist/selection/createSelectableCollection.d.ts.map +1 -0
  606. package/dist/selection/createSelectableItem.d.ts +154 -0
  607. package/dist/selection/createSelectableItem.d.ts.map +1 -0
  608. package/dist/selection/createSelectableList.d.ts +43 -0
  609. package/dist/selection/createSelectableList.d.ts.map +1 -0
  610. package/dist/selection/createTypeSelect.d.ts +2 -2
  611. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  612. package/dist/selection/index.d.ts +10 -1
  613. package/dist/selection/index.d.ts.map +1 -1
  614. package/dist/selection/index.js +4 -0
  615. package/dist/selection/index.jsx +4 -0
  616. package/dist/selection/selectItem.d.ts +29 -0
  617. package/dist/selection/selectItem.d.ts.map +1 -0
  618. package/dist/selection/utils.d.ts +40 -0
  619. package/dist/selection/utils.d.ts.map +1 -0
  620. package/dist/separator/createSeparator.d.ts +9 -5
  621. package/dist/separator/createSeparator.d.ts.map +1 -1
  622. package/dist/separator/index.d.ts +1 -1
  623. package/dist/separator/index.js +2 -0
  624. package/dist/separator/index.jsx +2 -0
  625. package/dist/slider/createSlider.d.ts +11 -7
  626. package/dist/slider/createSlider.d.ts.map +1 -1
  627. package/dist/slider/index.d.ts +2 -2
  628. package/dist/slider/index.js +2 -0
  629. package/dist/slider/index.jsx +2 -0
  630. package/dist/ssr/index.d.ts +18 -1
  631. package/dist/ssr/index.d.ts.map +1 -1
  632. package/dist/ssr/index.js +299 -0
  633. package/dist/ssr/index.js.map +1 -0
  634. package/dist/ssr/index.jsx +292 -0
  635. package/dist/ssr/index.jsx.map +1 -0
  636. package/dist/steplist/createStepList.d.ts +36 -0
  637. package/dist/steplist/createStepList.d.ts.map +1 -0
  638. package/dist/steplist/index.d.ts +2 -0
  639. package/dist/steplist/index.d.ts.map +1 -0
  640. package/dist/steplist/index.js +2 -0
  641. package/dist/steplist/index.jsx +2 -0
  642. package/dist/switch/createSwitch.d.ts +10 -4
  643. package/dist/switch/createSwitch.d.ts.map +1 -1
  644. package/dist/switch/index.d.ts +1 -1
  645. package/dist/switch/index.js +2 -0
  646. package/dist/switch/index.jsx +2 -0
  647. package/dist/table/createTable.d.ts +3 -3
  648. package/dist/table/createTable.d.ts.map +1 -1
  649. package/dist/table/createTableCell.d.ts +3 -3
  650. package/dist/table/createTableCell.d.ts.map +1 -1
  651. package/dist/table/createTableColumnHeader.d.ts +3 -3
  652. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  653. package/dist/table/createTableColumnResize.d.ts +41 -0
  654. package/dist/table/createTableColumnResize.d.ts.map +1 -0
  655. package/dist/table/createTableHeaderRow.d.ts +3 -3
  656. package/dist/table/createTableRow.d.ts +4 -4
  657. package/dist/table/createTableRow.d.ts.map +1 -1
  658. package/dist/table/createTableRowGroup.d.ts +2 -2
  659. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  660. package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
  661. package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
  662. package/dist/table/index.d.ts +11 -9
  663. package/dist/table/index.d.ts.map +1 -1
  664. package/dist/table/index.js +2 -0
  665. package/dist/table/index.jsx +2 -0
  666. package/dist/table/types.d.ts +41 -7
  667. package/dist/table/types.d.ts.map +1 -1
  668. package/dist/tabs/createTabs.d.ts +32 -28
  669. package/dist/tabs/createTabs.d.ts.map +1 -1
  670. package/dist/tabs/index.d.ts +1 -1
  671. package/dist/tabs/index.js +2 -0
  672. package/dist/tabs/index.jsx +2 -0
  673. package/dist/tag/createTag.d.ts +4 -2
  674. package/dist/tag/createTag.d.ts.map +1 -1
  675. package/dist/tag/createTagGroup.d.ts +5 -5
  676. package/dist/tag/createTagGroup.d.ts.map +1 -1
  677. package/dist/tag/index.d.ts +2 -2
  678. package/dist/tag/index.d.ts.map +1 -1
  679. package/dist/tag/index.js +2 -0
  680. package/dist/tag/index.jsx +2 -0
  681. package/dist/textfield/createTextField.d.ts +17 -11
  682. package/dist/textfield/createTextField.d.ts.map +1 -1
  683. package/dist/textfield/index.d.ts +1 -1
  684. package/dist/textfield/index.d.ts.map +1 -1
  685. package/dist/textfield/index.js +2 -0
  686. package/dist/textfield/index.jsx +2 -0
  687. package/dist/toast/createToast.d.ts +2 -2
  688. package/dist/toast/createToast.d.ts.map +1 -1
  689. package/dist/toast/createToastRegion.d.ts +5 -3
  690. package/dist/toast/createToastRegion.d.ts.map +1 -1
  691. package/dist/toast/index.d.ts +2 -2
  692. package/dist/toast/index.d.ts.map +1 -1
  693. package/dist/toast/index.js +2 -0
  694. package/dist/toast/index.jsx +2 -0
  695. package/dist/toggle/createToggle.d.ts +13 -9
  696. package/dist/toggle/createToggle.d.ts.map +1 -1
  697. package/dist/toggle/createToggleState.d.ts +2 -2
  698. package/dist/toggle/createToggleState.d.ts.map +1 -1
  699. package/dist/toggle/index.d.ts +4 -4
  700. package/dist/toggle/index.d.ts.map +1 -1
  701. package/dist/toggle/index.js +3 -0
  702. package/dist/toggle/index.jsx +3 -0
  703. package/dist/toolbar/createToolbar.d.ts +9 -9
  704. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  705. package/dist/toolbar/index.d.ts +1 -1
  706. package/dist/toolbar/index.d.ts.map +1 -1
  707. package/dist/toolbar/index.js +2 -0
  708. package/dist/toolbar/index.jsx +2 -0
  709. package/dist/tooltip/createTooltip.d.ts +5 -5
  710. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  711. package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
  712. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  713. package/dist/tooltip/index.d.ts +2 -2
  714. package/dist/tooltip/index.js +2 -0
  715. package/dist/tooltip/index.jsx +2 -0
  716. package/dist/tree/createTree.d.ts +8 -4
  717. package/dist/tree/createTree.d.ts.map +1 -1
  718. package/dist/tree/createTreeItem.d.ts +4 -4
  719. package/dist/tree/createTreeItem.d.ts.map +1 -1
  720. package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
  721. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  722. package/dist/tree/index.d.ts +4 -4
  723. package/dist/tree/index.js +2 -0
  724. package/dist/tree/index.jsx +2 -0
  725. package/dist/tree/types.d.ts +20 -6
  726. package/dist/tree/types.d.ts.map +1 -1
  727. package/dist/utils/animation.d.ts +60 -0
  728. package/dist/utils/animation.d.ts.map +1 -0
  729. package/dist/utils/createDescription.d.ts +2 -2
  730. package/dist/utils/createDescription.d.ts.map +1 -1
  731. package/dist/utils/dom.d.ts +48 -2
  732. package/dist/utils/dom.d.ts.map +1 -1
  733. package/dist/utils/env.d.ts.map +1 -1
  734. package/dist/utils/focus.d.ts +1 -1
  735. package/dist/utils/focus.d.ts.map +1 -1
  736. package/dist/utils/geometry.d.ts.map +1 -1
  737. package/dist/utils/index.d.ts +15 -12
  738. package/dist/utils/index.d.ts.map +1 -1
  739. package/dist/utils/index.js +5 -0
  740. package/dist/utils/index.jsx +5 -0
  741. package/dist/utils/keyboard.d.ts +17 -0
  742. package/dist/utils/keyboard.d.ts.map +1 -0
  743. package/dist/utils/mergeProps.d.ts.map +1 -1
  744. package/dist/utils/reactivity.d.ts +1 -1
  745. package/dist/utils/scrollIntoView.d.ts +30 -0
  746. package/dist/utils/scrollIntoView.d.ts.map +1 -0
  747. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
  748. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  749. package/dist/visually-hidden/index.d.ts +1 -1
  750. package/dist/visually-hidden/index.js +2 -0
  751. package/dist/visually-hidden/index.jsx +2 -0
  752. package/package.json +334 -33
  753. package/src/actiongroup/createActionGroup.ts +101 -91
  754. package/src/actiongroup/index.ts +1 -1
  755. package/src/autocomplete/createAutocomplete.ts +177 -148
  756. package/src/autocomplete/index.ts +1 -1
  757. package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
  758. package/src/breadcrumbs/index.ts +1 -1
  759. package/src/button/createButton.ts +102 -73
  760. package/src/button/createToggleButton.ts +10 -10
  761. package/src/button/createToggleButtonGroup.ts +25 -32
  762. package/src/button/index.ts +6 -9
  763. package/src/button/types.ts +18 -12
  764. package/src/calendar/createCalendar.ts +64 -29
  765. package/src/calendar/createCalendarCell.ts +115 -46
  766. package/src/calendar/createCalendarGrid.ts +97 -41
  767. package/src/calendar/createCalendarMonthPicker.ts +105 -0
  768. package/src/calendar/createCalendarYearPicker.ts +144 -0
  769. package/src/calendar/createRangeCalendar.ts +68 -31
  770. package/src/calendar/createRangeCalendarCell.ts +92 -31
  771. package/src/calendar/index.ts +21 -8
  772. package/src/calendar/intl/index.ts +210 -0
  773. package/src/calendar/utils.ts +231 -0
  774. package/src/checkbox/createCheckbox.ts +23 -21
  775. package/src/checkbox/createCheckboxGroup.ts +68 -44
  776. package/src/checkbox/createCheckboxGroupItem.ts +26 -41
  777. package/src/checkbox/createCheckboxGroupState.ts +3 -22
  778. package/src/checkbox/index.ts +8 -10
  779. package/src/collections/index.ts +33 -29
  780. package/src/color/createColorArea.ts +232 -154
  781. package/src/color/createColorField.ts +107 -58
  782. package/src/color/createColorSlider.ts +231 -73
  783. package/src/color/createColorSwatch.ts +38 -13
  784. package/src/color/createColorWheel.ts +208 -83
  785. package/src/color/index.ts +6 -6
  786. package/src/color/types.ts +98 -16
  787. package/src/combobox/createComboBox.ts +157 -100
  788. package/src/combobox/index.ts +1 -1
  789. package/src/combobox/intl/index.ts +5 -5
  790. package/src/datepicker/createDateField.ts +192 -39
  791. package/src/datepicker/createDatePicker.ts +260 -67
  792. package/src/datepicker/createDatePickerGroup.ts +149 -0
  793. package/src/datepicker/createDateRangePicker.ts +105 -57
  794. package/src/datepicker/createDateSegment.ts +188 -96
  795. package/src/datepicker/createTimeField.ts +38 -34
  796. package/src/datepicker/createTimeSegment.ts +67 -85
  797. package/src/datepicker/index.ts +13 -14
  798. package/src/dialog/createDialog.ts +45 -38
  799. package/src/dialog/index.ts +2 -2
  800. package/src/dialog/types.ts +4 -4
  801. package/src/disclosure/createDisclosure.ts +138 -33
  802. package/src/disclosure/createDisclosureGroup.ts +8 -21
  803. package/src/disclosure/index.ts +2 -2
  804. package/src/dnd/createDrag.ts +19 -25
  805. package/src/dnd/createDraggableCollection.ts +4 -4
  806. package/src/dnd/createDraggableItem.ts +20 -19
  807. package/src/dnd/createDrop.ts +42 -51
  808. package/src/dnd/createDroppableCollection.ts +293 -173
  809. package/src/dnd/createDroppableItem.ts +34 -34
  810. package/src/dnd/index.ts +23 -12
  811. package/src/dnd/types.ts +4 -7
  812. package/src/dnd/utils.ts +58 -47
  813. package/src/focus/FocusScope.tsx +301 -176
  814. package/src/focus/createAutoFocus.ts +4 -20
  815. package/src/focus/createFocusRestore.ts +15 -28
  816. package/src/focus/createVirtualFocus.ts +20 -36
  817. package/src/focus/index.ts +4 -8
  818. package/src/form/createFormReset.ts +4 -4
  819. package/src/form/createFormValidation.ts +23 -39
  820. package/src/form/index.ts +2 -5
  821. package/src/grid/GridKeyboardDelegate.ts +30 -30
  822. package/src/grid/createGrid.ts +36 -36
  823. package/src/grid/createGridCell.ts +18 -18
  824. package/src/grid/createGridRow.ts +14 -14
  825. package/src/grid/index.ts +5 -5
  826. package/src/grid/types.ts +8 -8
  827. package/src/gridlist/createGridList.ts +172 -64
  828. package/src/gridlist/createGridListItem.ts +98 -121
  829. package/src/gridlist/createGridListSection.ts +54 -0
  830. package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
  831. package/src/gridlist/index.ts +7 -4
  832. package/src/gridlist/types.ts +58 -7
  833. package/src/i18n/createCollator.ts +5 -18
  834. package/src/i18n/createDateFormatter.ts +5 -13
  835. package/src/i18n/createFilter.ts +11 -24
  836. package/src/i18n/createNumberFormatter.ts +4 -6
  837. package/src/i18n/createStringFormatter.ts +19 -15
  838. package/src/i18n/index.ts +8 -11
  839. package/src/i18n/locale.tsx +15 -40
  840. package/src/i18n/utils.ts +35 -39
  841. package/src/index.ts +111 -172
  842. package/src/interactions/FocusableProvider.tsx +3 -7
  843. package/src/interactions/PressEvent.ts +18 -4
  844. package/src/interactions/createFocus.ts +12 -8
  845. package/src/interactions/createFocusRing.ts +21 -19
  846. package/src/interactions/createFocusWithin.ts +20 -13
  847. package/src/interactions/createFocusable.ts +15 -16
  848. package/src/interactions/createHover.ts +70 -55
  849. package/src/interactions/createInteractionModality.ts +96 -94
  850. package/src/interactions/createKeyboard.ts +12 -2
  851. package/src/interactions/createLongPress.ts +23 -23
  852. package/src/interactions/createMove.ts +72 -62
  853. package/src/interactions/createPress.ts +192 -92
  854. package/src/interactions/index.ts +24 -16
  855. package/src/label/createField.ts +18 -19
  856. package/src/label/createLabel.ts +18 -30
  857. package/src/label/createLabels.ts +8 -12
  858. package/src/label/index.ts +5 -5
  859. package/src/landmark/createLandmark.ts +30 -51
  860. package/src/landmark/index.ts +1 -1
  861. package/src/link/createLink.ts +83 -56
  862. package/src/link/index.ts +1 -1
  863. package/src/listbox/createListBox.ts +198 -66
  864. package/src/listbox/createOption.ts +112 -71
  865. package/src/listbox/index.ts +2 -6
  866. package/src/live-announcer/announce.ts +44 -71
  867. package/src/live-announcer/index.ts +1 -1
  868. package/src/menu/createMenu.ts +171 -65
  869. package/src/menu/createMenuItem.ts +315 -51
  870. package/src/menu/createMenuTrigger.ts +15 -15
  871. package/src/menu/index.ts +3 -12
  872. package/src/meter/createMeter.ts +7 -15
  873. package/src/meter/index.ts +1 -1
  874. package/src/numberfield/createNumberField.ts +205 -80
  875. package/src/numberfield/index.ts +1 -1
  876. package/src/overlays/ariaHideOutside.ts +14 -10
  877. package/src/overlays/createInteractOutside.ts +21 -18
  878. package/src/overlays/createModal.tsx +17 -17
  879. package/src/overlays/createOverlay.ts +38 -8
  880. package/src/overlays/createOverlayTrigger.ts +16 -16
  881. package/src/overlays/createPreventScroll.ts +46 -24
  882. package/src/overlays/index.ts +6 -17
  883. package/src/popover/calculatePosition.ts +134 -124
  884. package/src/popover/createOverlayPosition.ts +55 -40
  885. package/src/popover/createPopover.ts +42 -17
  886. package/src/popover/index.ts +3 -3
  887. package/src/progress/createProgressBar.ts +31 -32
  888. package/src/progress/index.ts +1 -1
  889. package/src/radio/createRadio.ts +114 -75
  890. package/src/radio/createRadioGroup.ts +83 -77
  891. package/src/radio/createRadioGroupState.ts +7 -31
  892. package/src/radio/index.ts +3 -8
  893. package/src/searchfield/createSearchField.ts +57 -29
  894. package/src/searchfield/index.ts +2 -2
  895. package/src/select/createHiddenSelect.tsx +57 -44
  896. package/src/select/createSelect.ts +146 -73
  897. package/src/select/index.ts +2 -7
  898. package/src/selection/DOMLayoutDelegate.ts +102 -0
  899. package/src/selection/ListKeyboardDelegate.ts +398 -0
  900. package/src/selection/constants.ts +16 -0
  901. package/src/selection/createCollectionRowInteraction.ts +209 -0
  902. package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
  903. package/src/selection/createSelectableCollection.ts +645 -0
  904. package/src/selection/createSelectableItem.ts +498 -0
  905. package/src/selection/createSelectableList.ts +93 -0
  906. package/src/selection/createTypeSelect.ts +120 -59
  907. package/src/selection/index.ts +32 -1
  908. package/src/selection/selectItem.ts +80 -0
  909. package/src/selection/utils.ts +82 -0
  910. package/src/separator/createSeparator.ts +20 -25
  911. package/src/separator/index.ts +1 -1
  912. package/src/slider/createSlider.ts +128 -112
  913. package/src/slider/index.ts +2 -2
  914. package/src/ssr/index.tsx +38 -46
  915. package/src/steplist/createStepList.ts +106 -0
  916. package/src/steplist/index.ts +8 -0
  917. package/src/switch/createSwitch.ts +19 -14
  918. package/src/switch/index.ts +1 -1
  919. package/src/table/createTable.ts +192 -95
  920. package/src/table/createTableCell.ts +17 -16
  921. package/src/table/createTableColumnHeader.ts +67 -20
  922. package/src/table/createTableColumnResize.ts +256 -0
  923. package/src/table/createTableHeaderRow.ts +7 -7
  924. package/src/table/createTableRow.ts +206 -91
  925. package/src/table/createTableRowGroup.ts +5 -7
  926. package/src/table/createTableSelectAllCheckbox.ts +14 -14
  927. package/src/table/createTableSelectionCheckbox.ts +8 -8
  928. package/src/table/index.ts +14 -9
  929. package/src/table/types.ts +43 -7
  930. package/src/tabs/createTabs.ts +123 -111
  931. package/src/tabs/index.ts +1 -1
  932. package/src/tag/createTag.ts +57 -50
  933. package/src/tag/createTagGroup.ts +47 -41
  934. package/src/tag/index.ts +2 -6
  935. package/src/textfield/createTextField.ts +67 -35
  936. package/src/textfield/index.ts +1 -5
  937. package/src/toast/createToast.ts +29 -26
  938. package/src/toast/createToastRegion.ts +169 -26
  939. package/src/toast/index.ts +2 -6
  940. package/src/toggle/createToggle.ts +115 -53
  941. package/src/toggle/createToggleState.ts +2 -10
  942. package/src/toggle/index.ts +4 -5
  943. package/src/toolbar/createToolbar.ts +214 -230
  944. package/src/toolbar/index.ts +1 -1
  945. package/src/tooltip/createTooltip.ts +11 -24
  946. package/src/tooltip/createTooltipTrigger.ts +61 -49
  947. package/src/tooltip/index.ts +2 -2
  948. package/src/tree/createTree.ts +128 -72
  949. package/src/tree/createTreeItem.ts +120 -135
  950. package/src/tree/createTreeSelectionCheckbox.ts +11 -8
  951. package/src/tree/index.ts +4 -4
  952. package/src/tree/types.ts +20 -6
  953. package/src/utils/animation.ts +151 -0
  954. package/src/utils/createDescription.ts +6 -23
  955. package/src/utils/dom.ts +265 -68
  956. package/src/utils/env.ts +9 -11
  957. package/src/utils/events.ts +7 -7
  958. package/src/utils/filterDOMProps.ts +49 -49
  959. package/src/utils/focus.ts +60 -68
  960. package/src/utils/geometry.ts +1 -4
  961. package/src/utils/globalListeners.ts +9 -9
  962. package/src/utils/index.ts +20 -22
  963. package/src/utils/keyboard.ts +25 -0
  964. package/src/utils/mergeProps.ts +49 -15
  965. package/src/utils/platform.ts +2 -2
  966. package/src/utils/reactivity.ts +3 -3
  967. package/src/utils/scrollIntoView.ts +181 -0
  968. package/src/utils/textSelection.ts +16 -16
  969. package/src/visually-hidden/createVisuallyHidden.ts +16 -28
  970. package/src/visually-hidden/index.ts +1 -1
  971. package/dist/i18n/NumberFormatter.d.ts +0 -43
  972. package/dist/i18n/NumberFormatter.d.ts.map +0 -1
  973. package/dist/index.js.map +0 -1
  974. package/dist/index.ssr.js +0 -17082
  975. package/dist/index.ssr.js.map +0 -1
  976. package/src/i18n/NumberFormatter.ts +0 -266
@@ -0,0 +1,33 @@
1
+ import { t as createProgressBar } from "./createProgressBar.jsx";
2
+ //#region src/meter/createMeter.ts
3
+ /**
4
+ * Meter hook for Solidaria
5
+ *
6
+ * Provides the accessibility implementation for a meter component.
7
+ * Meters represent a quantity within a known range, or a fractional value.
8
+ * Unlike progress bars, meters represent a current value rather than progress toward a goal.
9
+ *
10
+ * This is a port of @react-aria/meter's useMeter hook.
11
+ */
12
+ /**
13
+ * Provides the accessibility implementation for a meter component.
14
+ * Meters represent a quantity within a known range, or a fractional value.
15
+ */
16
+ function createMeter(props = {}) {
17
+ const { progressBarProps, labelProps } = createProgressBar(props);
18
+ return {
19
+ get meterProps() {
20
+ return {
21
+ ...progressBarProps,
22
+ role: "meter"
23
+ };
24
+ },
25
+ get labelProps() {
26
+ return labelProps;
27
+ }
28
+ };
29
+ }
30
+ //#endregion
31
+ export { createMeter as t };
32
+
33
+ //# sourceMappingURL=meter.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter.jsx","names":[],"sources":["../../src/meter/createMeter.ts"],"sourcesContent":["/**\n * Meter hook for Solidaria\n *\n * Provides the accessibility implementation for a meter component.\n * Meters represent a quantity within a known range, or a fractional value.\n * Unlike progress bars, meters represent a current value rather than progress toward a goal.\n *\n * This is a port of @react-aria/meter's useMeter hook.\n */\n\nimport { createProgressBar, type AriaProgressBarProps } from \"../progress/createProgressBar\";\n\nexport interface AriaMeterProps extends Omit<AriaProgressBarProps, \"isIndeterminate\"> {\n /** The current value (controlled). */\n value?: number;\n /** The smallest value allowed for the input. @default 0 */\n minValue?: number;\n /** The largest value allowed for the input. @default 100 */\n maxValue?: number;\n /** The content to display as the value's label (e.g. 1 of 4). */\n valueLabel?: string;\n /** The display format of the value label. */\n formatOptions?: Intl.NumberFormatOptions;\n /** The content to display as the label. */\n label?: string;\n /** An accessibility label for this item. */\n \"aria-label\"?: string;\n /** Identifies the element (or elements) that labels the current element. */\n \"aria-labelledby\"?: string;\n /** Identifies the element (or elements) that describes the object. */\n \"aria-describedby\"?: string;\n /** Identifies the element (or elements) that provide a detailed, extended description for the object. */\n \"aria-details\"?: string;\n}\n\nexport interface MeterAria {\n /** Props for the meter container element. */\n meterProps: Record<string, unknown>;\n /** Props for the meter's visual label element (if any). */\n labelProps: Record<string, unknown>;\n}\n\n/**\n * Provides the accessibility implementation for a meter component.\n * Meters represent a quantity within a known range, or a fractional value.\n */\nexport function createMeter(props: AriaMeterProps = {}): MeterAria {\n // Reuse progress bar implementation\n const { progressBarProps, labelProps } = createProgressBar(props);\n\n return {\n get meterProps() {\n return {\n ...progressBarProps,\n role: \"meter\",\n };\n },\n get labelProps() {\n return labelProps;\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AA8CA,SAAgB,YAAY,QAAwB,CAAC,GAAc;CAEjE,MAAM,EAAE,kBAAkB,eAAe,kBAAkB,KAAK;CAEhE,OAAO;EACL,IAAI,aAAa;GACf,OAAO;IACL,GAAG;IACH,MAAM;GACR;EACF;EACA,IAAI,aAAa;GACf,OAAO;EACT;CACF;AACF"}
@@ -0,0 +1,258 @@
1
+ import { i as access, o as mergeProps } from "./env.js";
2
+ import { t as filterDOMProps } from "./filterDOMProps.js";
3
+ import { createId } from "../ssr/index.js";
4
+ import { t as createLabel } from "./createLabel.js";
5
+ import { createMemo } from "solid-js";
6
+ //#region src/numberfield/createNumberField.ts
7
+ /**
8
+ * Provides the behavior and accessibility implementation for a number field.
9
+ * Based on @react-aria/numberfield useNumberField.
10
+ */
11
+ /**
12
+ * Provides the behavior and accessibility implementation for a number field.
13
+ */
14
+ function createNumberField(props, state, inputRef) {
15
+ const getProps = () => access(props);
16
+ const id = createId(getProps().id);
17
+ const inputId = `${id}-input`;
18
+ const incrementId = `${id}-increment`;
19
+ const decrementId = `${id}-decrement`;
20
+ const descriptionId = `${id}-description`;
21
+ const errorMessageId = `${id}-error`;
22
+ const { labelProps, fieldProps } = createLabel({
23
+ get id() {
24
+ return inputId;
25
+ },
26
+ get label() {
27
+ return getProps().label;
28
+ },
29
+ get "aria-label"() {
30
+ return getProps()["aria-label"];
31
+ },
32
+ get "aria-labelledby"() {
33
+ return getProps()["aria-labelledby"];
34
+ },
35
+ labelElementType: "label"
36
+ });
37
+ const fieldLabel = () => getProps()["aria-label"] ?? "";
38
+ const buttonLabelledBy = () => {
39
+ if (fieldLabel()) return void 0;
40
+ return getProps().label != null ? labelProps.id : getProps()["aria-labelledby"];
41
+ };
42
+ const domProps = createMemo(() => filterDOMProps(getProps(), { labelable: true }));
43
+ const onInputChange = (e) => {
44
+ const value = e.currentTarget.value;
45
+ if (state.validate(value)) state.setInputValue(value);
46
+ };
47
+ const onInputBlur = (e) => {
48
+ state.commit();
49
+ const p = getProps();
50
+ p.onBlur?.(e);
51
+ p.onFocusChange?.(false);
52
+ };
53
+ const onInputFocus = (e) => {
54
+ const p = getProps();
55
+ p.onFocus?.(e);
56
+ p.onFocusChange?.(true);
57
+ };
58
+ const onKeyDown = (e) => {
59
+ const p = getProps();
60
+ if (p.isDisabled || p.isReadOnly) {
61
+ p.onKeyDown?.(e);
62
+ return;
63
+ }
64
+ switch (e.key) {
65
+ case "ArrowUp":
66
+ e.preventDefault();
67
+ state.increment();
68
+ break;
69
+ case "ArrowDown":
70
+ e.preventDefault();
71
+ state.decrement();
72
+ break;
73
+ case "PageUp":
74
+ e.preventDefault();
75
+ state.incrementToMax();
76
+ break;
77
+ case "PageDown":
78
+ e.preventDefault();
79
+ state.decrementToMin();
80
+ break;
81
+ case "Home":
82
+ e.preventDefault();
83
+ state.decrementToMin();
84
+ break;
85
+ case "End":
86
+ e.preventDefault();
87
+ state.incrementToMax();
88
+ break;
89
+ case "Enter":
90
+ state.commit();
91
+ break;
92
+ }
93
+ p.onKeyDown?.(e);
94
+ };
95
+ const onKeyUp = (e) => {
96
+ getProps().onKeyUp?.(e);
97
+ };
98
+ const onButtonPressStart = (e) => {
99
+ const input = inputRef?.();
100
+ if (input && input.ownerDocument.activeElement === input) return;
101
+ if (e.pointerType === "mouse") input?.focus();
102
+ else if (e.target instanceof HTMLElement) e.target.focus();
103
+ };
104
+ let incrementTouchPressUp = false;
105
+ let decrementTouchPressUp = false;
106
+ const onIncrementPressStart = (e) => {
107
+ if (e.pointerType !== "touch") state.increment();
108
+ else incrementTouchPressUp = false;
109
+ onButtonPressStart(e);
110
+ };
111
+ const onIncrementPressUp = (e) => {
112
+ if (e.pointerType === "touch") incrementTouchPressUp = true;
113
+ };
114
+ const onIncrementPressEnd = (e) => {
115
+ if (e.pointerType === "touch" && incrementTouchPressUp) state.increment();
116
+ incrementTouchPressUp = false;
117
+ };
118
+ const onIncrementClick = (e) => {
119
+ if (!state.canIncrement()) {
120
+ e.preventDefault();
121
+ return;
122
+ }
123
+ state.increment();
124
+ inputRef?.()?.focus();
125
+ };
126
+ const onDecrementPressStart = (e) => {
127
+ if (e.pointerType !== "touch") state.decrement();
128
+ else decrementTouchPressUp = false;
129
+ onButtonPressStart(e);
130
+ };
131
+ const onDecrementPressUp = (e) => {
132
+ if (e.pointerType === "touch") decrementTouchPressUp = true;
133
+ };
134
+ const onDecrementPressEnd = (e) => {
135
+ if (e.pointerType === "touch" && decrementTouchPressUp) state.decrement();
136
+ decrementTouchPressUp = false;
137
+ };
138
+ const onDecrementClick = (e) => {
139
+ if (!state.canDecrement()) {
140
+ e.preventDefault();
141
+ return;
142
+ }
143
+ state.decrement();
144
+ inputRef?.()?.focus();
145
+ };
146
+ const getAriaDescribedBy = () => {
147
+ const p = getProps();
148
+ const parts = [];
149
+ if (p["aria-describedby"]) parts.push(p["aria-describedby"]);
150
+ if (p.description) parts.push(descriptionId);
151
+ if (p.isInvalid && p.errorMessage) parts.push(errorMessageId);
152
+ return parts.length > 0 ? parts.join(" ") : void 0;
153
+ };
154
+ return {
155
+ get labelProps() {
156
+ return labelProps;
157
+ },
158
+ get groupProps() {
159
+ return {
160
+ role: "group",
161
+ "aria-disabled": getProps().isDisabled || void 0,
162
+ "aria-invalid": getProps().isInvalid || void 0
163
+ };
164
+ },
165
+ get inputProps() {
166
+ const p = getProps();
167
+ const isDisabled = p.isDisabled ?? state.isDisabled();
168
+ const isReadOnly = p.isReadOnly ?? state.isReadOnly();
169
+ return mergeProps(domProps(), fieldProps, {
170
+ id: inputId,
171
+ type: "text",
172
+ inputMode: "decimal",
173
+ autoComplete: "off",
174
+ autoCorrect: "off",
175
+ spellcheck: false,
176
+ tabIndex: isDisabled ? void 0 : 0,
177
+ "aria-roledescription": "Number field",
178
+ "aria-invalid": p.isInvalid || void 0,
179
+ "aria-required": p.isRequired || void 0,
180
+ "aria-describedby": getAriaDescribedBy(),
181
+ disabled: isDisabled || void 0,
182
+ readOnly: isReadOnly || void 0,
183
+ required: p.isRequired || void 0,
184
+ value: state.inputValue(),
185
+ onInput: onInputChange,
186
+ onChange: onInputChange,
187
+ onFocus: onInputFocus,
188
+ onBlur: onInputBlur,
189
+ onKeyDown,
190
+ onKeyUp,
191
+ onPaste: p.onPaste,
192
+ onCopy: p.onCopy,
193
+ onCut: p.onCut,
194
+ name: p.name,
195
+ form: p.form,
196
+ autoFocus: p.autoFocus
197
+ });
198
+ },
199
+ get incrementButtonProps() {
200
+ const labelledBy = buttonLabelledBy();
201
+ return {
202
+ id: incrementId,
203
+ type: "button",
204
+ "aria-label": `Increase ${fieldLabel()}`.trim(),
205
+ "aria-labelledby": labelledBy ? `${incrementId} ${labelledBy}` : void 0,
206
+ "aria-controls": inputId,
207
+ excludeFromTabOrder: true,
208
+ preventFocusOnPress: true,
209
+ allowFocusWhenDisabled: true,
210
+ get disabled() {
211
+ return !state.canIncrement();
212
+ },
213
+ tabIndex: -1,
214
+ get isDisabled() {
215
+ return !state.canIncrement();
216
+ },
217
+ onClick: onIncrementClick,
218
+ onPressStart: onIncrementPressStart,
219
+ onPressUp: onIncrementPressUp,
220
+ onPressEnd: onIncrementPressEnd
221
+ };
222
+ },
223
+ get decrementButtonProps() {
224
+ const labelledBy = buttonLabelledBy();
225
+ return {
226
+ id: decrementId,
227
+ type: "button",
228
+ "aria-label": `Decrease ${fieldLabel()}`.trim(),
229
+ "aria-labelledby": labelledBy ? `${decrementId} ${labelledBy}` : void 0,
230
+ "aria-controls": inputId,
231
+ excludeFromTabOrder: true,
232
+ preventFocusOnPress: true,
233
+ allowFocusWhenDisabled: true,
234
+ get disabled() {
235
+ return !state.canDecrement();
236
+ },
237
+ tabIndex: -1,
238
+ get isDisabled() {
239
+ return !state.canDecrement();
240
+ },
241
+ onClick: onDecrementClick,
242
+ onPressStart: onDecrementPressStart,
243
+ onPressUp: onDecrementPressUp,
244
+ onPressEnd: onDecrementPressEnd
245
+ };
246
+ },
247
+ get descriptionProps() {
248
+ return { id: descriptionId };
249
+ },
250
+ get errorMessageProps() {
251
+ return { id: errorMessageId };
252
+ }
253
+ };
254
+ }
255
+ //#endregion
256
+ export { createNumberField as t };
257
+
258
+ //# sourceMappingURL=numberfield.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numberfield.js","names":[],"sources":["../../src/numberfield/createNumberField.ts"],"sourcesContent":["/**\n * Provides the behavior and accessibility implementation for a number field.\n * Based on @react-aria/numberfield useNumberField.\n */\n\nimport { type JSX, createMemo } from \"solid-js\";\nimport { createLabel } from \"../label/createLabel\";\nimport { filterDOMProps } from \"../utils/filterDOMProps\";\nimport { mergeProps } from \"../utils/mergeProps\";\nimport { createId } from \"../ssr\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport type { NumberFieldState } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaButtonProps } from \"../button/types\";\nimport type { PressEvent } from \"../interactions\";\n\nexport interface AriaNumberFieldProps {\n /** A label for the number field. */\n label?: JSX.Element;\n /** An accessible label for the number field. */\n \"aria-label\"?: string;\n /** The element ID that labels the number field. */\n \"aria-labelledby\"?: string;\n /** The element ID that describes the number field. */\n \"aria-describedby\"?: string;\n /** Whether the number field is disabled. */\n isDisabled?: boolean;\n /** Whether the number field is read-only. */\n isReadOnly?: boolean;\n /** Whether the number field is required. */\n isRequired?: boolean;\n /** Whether the number field is invalid. */\n isInvalid?: boolean;\n /** A description for the number field. */\n description?: JSX.Element;\n /** An error message for the number field. */\n errorMessage?: JSX.Element;\n /** The ID of the number field. */\n id?: string;\n /** Whether to auto-focus the input. */\n autoFocus?: boolean;\n /** The name for the form input. */\n name?: string;\n /** The form element this input belongs to. */\n form?: string;\n /** Handler for focus events. */\n onFocus?: JSX.EventHandler<HTMLInputElement, FocusEvent>;\n /** Handler for blur events. */\n onBlur?: JSX.EventHandler<HTMLInputElement, FocusEvent>;\n /** Handler called when focus state changes. */\n onFocusChange?: (isFocused: boolean) => void;\n /** Handler for key down events. */\n onKeyDown?: JSX.EventHandler<HTMLInputElement, KeyboardEvent>;\n /** Handler for key up events. */\n onKeyUp?: JSX.EventHandler<HTMLInputElement, KeyboardEvent>;\n /** Handler for paste events. */\n onPaste?: JSX.EventHandler<HTMLInputElement, ClipboardEvent>;\n /** Handler for copy events. */\n onCopy?: JSX.EventHandler<HTMLInputElement, ClipboardEvent>;\n /** Handler for cut events. */\n onCut?: JSX.EventHandler<HTMLInputElement, ClipboardEvent>;\n}\n\nexport interface NumberFieldAria {\n /** Props for the label element. */\n labelProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the input element group. */\n groupProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the input element. */\n inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;\n /** Props for the increment button. */\n incrementButtonProps: AriaButtonProps;\n /** Props for the decrement button. */\n decrementButtonProps: AriaButtonProps;\n /** Props for the description element. */\n descriptionProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the error message element. */\n errorMessageProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a number field.\n */\nexport function createNumberField(\n props: MaybeAccessor<AriaNumberFieldProps>,\n state: NumberFieldState,\n inputRef?: () => HTMLInputElement | null,\n): NumberFieldAria {\n const getProps = () => access(props);\n const id = createId(getProps().id);\n\n // Generate IDs for associated elements\n const inputId = `${id}-input`;\n const incrementId = `${id}-increment`;\n const decrementId = `${id}-decrement`;\n const descriptionId = `${id}-description`;\n const errorMessageId = `${id}-error`;\n\n // Label handling\n const { labelProps, fieldProps } = createLabel({\n get id() {\n return inputId;\n },\n get label() {\n return getProps().label;\n },\n get \"aria-label\"() {\n return getProps()[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return getProps()[\"aria-labelledby\"];\n },\n // Upstream react-aria `useNumberField` → `useField` → `useLabel` with the DEFAULT\n // `labelElementType: 'label'`: the S2 NumberField label is a native `<label htmlFor>`\n // (verified against the shipped React DOM: `<label id for=inputId>`). This hardcoded\n // `\"span\"` was a self-inflicted divergence — it dropped the `for` association and made\n // `NumberFieldLabel` render a `<span>`. Reverted to `\"label\"` so `createLabel` emits\n // `for: inputId` (the input still also carries `aria-labelledby`, exactly as upstream).\n labelElementType: \"label\",\n });\n\n // Increment/decrement button labels — a 1:1 port of upstream `useNumberField`'s\n // four-case logic. Upstream RAC's `NumberField` component feeds `useNumberField` a\n // BOOLEAN slot for `label` (from `useSlot`), never the label string, so a visible\n // label is NEVER concatenated into the button `aria-label`. Instead: with a visible\n // label the button reads `aria-label: \"Increase\"` PLUS `aria-labelledby: \"<selfId>\n // <labelId>\"`; only an explicit `aria-label` (and no visible label) changes the text\n // (`\"Increase <aria-label>\"`). The prior `Increase ${getLabelText()}` was a\n // self-inflicted divergence that produced \"Increase Quantity\" where S2 ships\n // \"Increase\". `fieldLabel` mirrors upstream: `props['aria-label'] || ''` — the visible\n // label string is intentionally excluded (it arrives as a boolean slot in RAC).\n const fieldLabel = (): string => getProps()[\"aria-label\"] ?? \"\";\n const buttonLabelledBy = (): string | undefined => {\n if (fieldLabel()) return undefined;\n return getProps().label != null\n ? (labelProps.id as string | undefined)\n : getProps()[\"aria-labelledby\"];\n };\n\n // Filter DOM props\n const domProps = createMemo(() =>\n filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true }),\n );\n\n // Handle input change\n const onInputChange: JSX.EventHandler<HTMLInputElement, Event> = (e) => {\n const value = e.currentTarget.value;\n if (state.validate(value)) {\n state.setInputValue(value);\n }\n };\n\n // Handle input blur - commit value\n const onInputBlur: JSX.EventHandler<HTMLInputElement, FocusEvent> = (e) => {\n state.commit();\n const p = getProps();\n p.onBlur?.(e);\n p.onFocusChange?.(false);\n };\n\n const onInputFocus: JSX.EventHandler<HTMLInputElement, FocusEvent> = (e) => {\n const p = getProps();\n p.onFocus?.(e);\n p.onFocusChange?.(true);\n };\n\n // Handle keyboard events\n const onKeyDown: JSX.EventHandler<HTMLInputElement, KeyboardEvent> = (e) => {\n const p = getProps();\n if (p.isDisabled || p.isReadOnly) {\n p.onKeyDown?.(e);\n return;\n }\n\n switch (e.key) {\n case \"ArrowUp\":\n e.preventDefault();\n state.increment();\n break;\n case \"ArrowDown\":\n e.preventDefault();\n state.decrement();\n break;\n case \"PageUp\":\n e.preventDefault();\n state.incrementToMax();\n break;\n case \"PageDown\":\n e.preventDefault();\n state.decrementToMin();\n break;\n case \"Home\":\n e.preventDefault();\n state.decrementToMin();\n break;\n case \"End\":\n e.preventDefault();\n state.incrementToMax();\n break;\n case \"Enter\":\n state.commit();\n break;\n }\n\n p.onKeyDown?.(e);\n };\n\n const onKeyUp: JSX.EventHandler<HTMLInputElement, KeyboardEvent> = (e) => {\n getProps().onKeyUp?.(e);\n };\n\n const onButtonPressStart = (e: PressEvent) => {\n const input = inputRef?.();\n\n // Keep existing input focus in place. This avoids hiding software keyboards\n // and prevents a blur/refocus flicker when mouse pressing the steppers.\n if (input && input.ownerDocument.activeElement === input) {\n return;\n }\n\n if (e.pointerType === \"mouse\") {\n input?.focus();\n } else if (e.target instanceof HTMLElement) {\n e.target.focus();\n }\n };\n\n let incrementTouchPressUp = false;\n let decrementTouchPressUp = false;\n\n const onIncrementPressStart = (e: PressEvent) => {\n if (e.pointerType !== \"touch\") {\n state.increment();\n } else {\n incrementTouchPressUp = false;\n }\n\n onButtonPressStart(e);\n };\n\n const onIncrementPressUp = (e: PressEvent) => {\n if (e.pointerType === \"touch\") {\n incrementTouchPressUp = true;\n }\n };\n\n const onIncrementPressEnd = (e: PressEvent) => {\n if (e.pointerType === \"touch\" && incrementTouchPressUp) {\n state.increment();\n }\n\n incrementTouchPressUp = false;\n };\n const onIncrementClick = (e: MouseEvent) => {\n if (!state.canIncrement()) {\n e.preventDefault();\n return;\n }\n\n state.increment();\n inputRef?.()?.focus();\n };\n\n const onDecrementPressStart = (e: PressEvent) => {\n if (e.pointerType !== \"touch\") {\n state.decrement();\n } else {\n decrementTouchPressUp = false;\n }\n\n onButtonPressStart(e);\n };\n\n const onDecrementPressUp = (e: PressEvent) => {\n if (e.pointerType === \"touch\") {\n decrementTouchPressUp = true;\n }\n };\n\n const onDecrementPressEnd = (e: PressEvent) => {\n if (e.pointerType === \"touch\" && decrementTouchPressUp) {\n state.decrement();\n }\n\n decrementTouchPressUp = false;\n };\n const onDecrementClick = (e: MouseEvent) => {\n if (!state.canDecrement()) {\n e.preventDefault();\n return;\n }\n\n state.decrement();\n inputRef?.()?.focus();\n };\n\n // Build aria-describedby\n const getAriaDescribedBy = () => {\n const p = getProps();\n const parts: string[] = [];\n if (p[\"aria-describedby\"]) parts.push(p[\"aria-describedby\"]);\n if (p.description) parts.push(descriptionId);\n if (p.isInvalid && p.errorMessage) parts.push(errorMessageId);\n return parts.length > 0 ? parts.join(\" \") : undefined;\n };\n\n return {\n get labelProps() {\n return labelProps as JSX.HTMLAttributes<HTMLElement>;\n },\n get groupProps() {\n return {\n role: \"group\",\n \"aria-disabled\": getProps().isDisabled || undefined,\n \"aria-invalid\": getProps().isInvalid || undefined,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get inputProps() {\n const p = getProps();\n const isDisabled = p.isDisabled ?? state.isDisabled();\n const isReadOnly = p.isReadOnly ?? state.isReadOnly();\n\n return mergeProps(\n domProps(),\n fieldProps as Record<string, unknown>,\n {\n id: inputId,\n type: \"text\",\n inputMode: \"decimal\" as const,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellcheck: false,\n // Upstream routes the input through useFormattedTextField → useTextField →\n // useFocusable, which \"always set[s] a tabIndex so that Safari allows\n // focusing native buttons and inputs\": `excludeFromTabOrder ? -1 : 0`, then\n // `undefined` when disabled. The input is never excluded, so the rendered\n // DOM carries `tabindex=\"0\"` (absent only when disabled). We hand-roll\n // inputProps (see the spinbutton-override note below) so we must replay that\n // one focusable prop here to stay byte-identical to React's tab order.\n tabIndex: isDisabled ? undefined : 0,\n // Upstream useNumberField wraps useSpinButton but deliberately\n // overrides its output: role=spinbutton can't be focused with\n // VoiceOver, so the input is a plain textbox (inside the role=group\n // wrapper above) and every aria-value* is dropped in favour of\n // aria-roledescription. The formatted value is still announced via the\n // input's own value. Mirror that contract instead of leaking the raw\n // spinbutton semantics.\n //\n // The string MUST match upstream's `stringFormatter.format('numberField')`,\n // whose en-US value is `Number field` (capitalised) — not a lowercase\n // hand-roll. Full locale routing via `createStringFormatter` (as\n // `createDateField` does) is tracked as `intl-roledescription-hardcodes`\n // (also covers the ColorArea/ColorSwatch English hardcodes); this keeps the\n // en-US roledescription byte-identical to React Spectrum in the meantime.\n \"aria-roledescription\": \"Number field\",\n \"aria-invalid\": p.isInvalid || undefined,\n \"aria-required\": p.isRequired || undefined,\n \"aria-describedby\": getAriaDescribedBy(),\n disabled: isDisabled || undefined,\n readOnly: isReadOnly || undefined,\n required: p.isRequired || undefined,\n value: state.inputValue(),\n onInput: onInputChange,\n onChange: onInputChange,\n onFocus: onInputFocus,\n onBlur: onInputBlur,\n onKeyDown,\n onKeyUp,\n onPaste: p.onPaste,\n onCopy: p.onCopy,\n onCut: p.onCut,\n name: p.name,\n form: p.form,\n autoFocus: p.autoFocus,\n } as Record<string, unknown>,\n ) as JSX.InputHTMLAttributes<HTMLInputElement>;\n },\n get incrementButtonProps() {\n const labelledBy = buttonLabelledBy();\n return {\n id: incrementId,\n type: \"button\",\n \"aria-label\": `Increase ${fieldLabel()}`.trim(),\n \"aria-labelledby\": labelledBy ? `${incrementId} ${labelledBy}` : undefined,\n \"aria-controls\": inputId,\n excludeFromTabOrder: true,\n preventFocusOnPress: true,\n allowFocusWhenDisabled: true,\n get disabled() {\n return !state.canIncrement();\n },\n tabIndex: -1,\n get isDisabled() {\n return !state.canIncrement();\n },\n onClick: onIncrementClick,\n onPressStart: onIncrementPressStart,\n onPressUp: onIncrementPressUp,\n onPressEnd: onIncrementPressEnd,\n } as AriaButtonProps;\n },\n get decrementButtonProps() {\n const labelledBy = buttonLabelledBy();\n return {\n id: decrementId,\n type: \"button\",\n \"aria-label\": `Decrease ${fieldLabel()}`.trim(),\n \"aria-labelledby\": labelledBy ? `${decrementId} ${labelledBy}` : undefined,\n \"aria-controls\": inputId,\n excludeFromTabOrder: true,\n preventFocusOnPress: true,\n allowFocusWhenDisabled: true,\n get disabled() {\n return !state.canDecrement();\n },\n tabIndex: -1,\n get isDisabled() {\n return !state.canDecrement();\n },\n onClick: onDecrementClick,\n onPressStart: onDecrementPressStart,\n onPressUp: onDecrementPressUp,\n onPressEnd: onDecrementPressEnd,\n } as AriaButtonProps;\n },\n get descriptionProps() {\n return {\n id: descriptionId,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get errorMessageProps() {\n return {\n id: errorMessageId,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ import { i as access, o as mergeProps } from "./env.jsx";
2
+ import { t as filterDOMProps } from "./filterDOMProps.jsx";
3
+ import { createId } from "../ssr/index.jsx";
4
+ import { t as createLabel } from "./createLabel.jsx";
5
+ import { createMemo } from "solid-js";
6
+ //#region src/numberfield/createNumberField.ts
7
+ /**
8
+ * Provides the behavior and accessibility implementation for a number field.
9
+ * Based on @react-aria/numberfield useNumberField.
10
+ */
11
+ /**
12
+ * Provides the behavior and accessibility implementation for a number field.
13
+ */
14
+ function createNumberField(props, state, inputRef) {
15
+ const getProps = () => access(props);
16
+ const id = createId(getProps().id);
17
+ const inputId = `${id}-input`;
18
+ const incrementId = `${id}-increment`;
19
+ const decrementId = `${id}-decrement`;
20
+ const descriptionId = `${id}-description`;
21
+ const errorMessageId = `${id}-error`;
22
+ const { labelProps, fieldProps } = createLabel({
23
+ get id() {
24
+ return inputId;
25
+ },
26
+ get label() {
27
+ return getProps().label;
28
+ },
29
+ get "aria-label"() {
30
+ return getProps()["aria-label"];
31
+ },
32
+ get "aria-labelledby"() {
33
+ return getProps()["aria-labelledby"];
34
+ },
35
+ labelElementType: "label"
36
+ });
37
+ const fieldLabel = () => getProps()["aria-label"] ?? "";
38
+ const buttonLabelledBy = () => {
39
+ if (fieldLabel()) return void 0;
40
+ return getProps().label != null ? labelProps.id : getProps()["aria-labelledby"];
41
+ };
42
+ const domProps = createMemo(() => filterDOMProps(getProps(), { labelable: true }));
43
+ const onInputChange = (e) => {
44
+ const value = e.currentTarget.value;
45
+ if (state.validate(value)) state.setInputValue(value);
46
+ };
47
+ const onInputBlur = (e) => {
48
+ state.commit();
49
+ const p = getProps();
50
+ p.onBlur?.(e);
51
+ p.onFocusChange?.(false);
52
+ };
53
+ const onInputFocus = (e) => {
54
+ const p = getProps();
55
+ p.onFocus?.(e);
56
+ p.onFocusChange?.(true);
57
+ };
58
+ const onKeyDown = (e) => {
59
+ const p = getProps();
60
+ if (p.isDisabled || p.isReadOnly) {
61
+ p.onKeyDown?.(e);
62
+ return;
63
+ }
64
+ switch (e.key) {
65
+ case "ArrowUp":
66
+ e.preventDefault();
67
+ state.increment();
68
+ break;
69
+ case "ArrowDown":
70
+ e.preventDefault();
71
+ state.decrement();
72
+ break;
73
+ case "PageUp":
74
+ e.preventDefault();
75
+ state.incrementToMax();
76
+ break;
77
+ case "PageDown":
78
+ e.preventDefault();
79
+ state.decrementToMin();
80
+ break;
81
+ case "Home":
82
+ e.preventDefault();
83
+ state.decrementToMin();
84
+ break;
85
+ case "End":
86
+ e.preventDefault();
87
+ state.incrementToMax();
88
+ break;
89
+ case "Enter":
90
+ state.commit();
91
+ break;
92
+ }
93
+ p.onKeyDown?.(e);
94
+ };
95
+ const onKeyUp = (e) => {
96
+ getProps().onKeyUp?.(e);
97
+ };
98
+ const onButtonPressStart = (e) => {
99
+ const input = inputRef?.();
100
+ if (input && input.ownerDocument.activeElement === input) return;
101
+ if (e.pointerType === "mouse") input?.focus();
102
+ else if (e.target instanceof HTMLElement) e.target.focus();
103
+ };
104
+ let incrementTouchPressUp = false;
105
+ let decrementTouchPressUp = false;
106
+ const onIncrementPressStart = (e) => {
107
+ if (e.pointerType !== "touch") state.increment();
108
+ else incrementTouchPressUp = false;
109
+ onButtonPressStart(e);
110
+ };
111
+ const onIncrementPressUp = (e) => {
112
+ if (e.pointerType === "touch") incrementTouchPressUp = true;
113
+ };
114
+ const onIncrementPressEnd = (e) => {
115
+ if (e.pointerType === "touch" && incrementTouchPressUp) state.increment();
116
+ incrementTouchPressUp = false;
117
+ };
118
+ const onIncrementClick = (e) => {
119
+ if (!state.canIncrement()) {
120
+ e.preventDefault();
121
+ return;
122
+ }
123
+ state.increment();
124
+ inputRef?.()?.focus();
125
+ };
126
+ const onDecrementPressStart = (e) => {
127
+ if (e.pointerType !== "touch") state.decrement();
128
+ else decrementTouchPressUp = false;
129
+ onButtonPressStart(e);
130
+ };
131
+ const onDecrementPressUp = (e) => {
132
+ if (e.pointerType === "touch") decrementTouchPressUp = true;
133
+ };
134
+ const onDecrementPressEnd = (e) => {
135
+ if (e.pointerType === "touch" && decrementTouchPressUp) state.decrement();
136
+ decrementTouchPressUp = false;
137
+ };
138
+ const onDecrementClick = (e) => {
139
+ if (!state.canDecrement()) {
140
+ e.preventDefault();
141
+ return;
142
+ }
143
+ state.decrement();
144
+ inputRef?.()?.focus();
145
+ };
146
+ const getAriaDescribedBy = () => {
147
+ const p = getProps();
148
+ const parts = [];
149
+ if (p["aria-describedby"]) parts.push(p["aria-describedby"]);
150
+ if (p.description) parts.push(descriptionId);
151
+ if (p.isInvalid && p.errorMessage) parts.push(errorMessageId);
152
+ return parts.length > 0 ? parts.join(" ") : void 0;
153
+ };
154
+ return {
155
+ get labelProps() {
156
+ return labelProps;
157
+ },
158
+ get groupProps() {
159
+ return {
160
+ role: "group",
161
+ "aria-disabled": getProps().isDisabled || void 0,
162
+ "aria-invalid": getProps().isInvalid || void 0
163
+ };
164
+ },
165
+ get inputProps() {
166
+ const p = getProps();
167
+ const isDisabled = p.isDisabled ?? state.isDisabled();
168
+ const isReadOnly = p.isReadOnly ?? state.isReadOnly();
169
+ return mergeProps(domProps(), fieldProps, {
170
+ id: inputId,
171
+ type: "text",
172
+ inputMode: "decimal",
173
+ autoComplete: "off",
174
+ autoCorrect: "off",
175
+ spellcheck: false,
176
+ tabIndex: isDisabled ? void 0 : 0,
177
+ "aria-roledescription": "Number field",
178
+ "aria-invalid": p.isInvalid || void 0,
179
+ "aria-required": p.isRequired || void 0,
180
+ "aria-describedby": getAriaDescribedBy(),
181
+ disabled: isDisabled || void 0,
182
+ readOnly: isReadOnly || void 0,
183
+ required: p.isRequired || void 0,
184
+ value: state.inputValue(),
185
+ onInput: onInputChange,
186
+ onChange: onInputChange,
187
+ onFocus: onInputFocus,
188
+ onBlur: onInputBlur,
189
+ onKeyDown,
190
+ onKeyUp,
191
+ onPaste: p.onPaste,
192
+ onCopy: p.onCopy,
193
+ onCut: p.onCut,
194
+ name: p.name,
195
+ form: p.form,
196
+ autoFocus: p.autoFocus
197
+ });
198
+ },
199
+ get incrementButtonProps() {
200
+ const labelledBy = buttonLabelledBy();
201
+ return {
202
+ id: incrementId,
203
+ type: "button",
204
+ "aria-label": `Increase ${fieldLabel()}`.trim(),
205
+ "aria-labelledby": labelledBy ? `${incrementId} ${labelledBy}` : void 0,
206
+ "aria-controls": inputId,
207
+ excludeFromTabOrder: true,
208
+ preventFocusOnPress: true,
209
+ allowFocusWhenDisabled: true,
210
+ get disabled() {
211
+ return !state.canIncrement();
212
+ },
213
+ tabIndex: -1,
214
+ get isDisabled() {
215
+ return !state.canIncrement();
216
+ },
217
+ onClick: onIncrementClick,
218
+ onPressStart: onIncrementPressStart,
219
+ onPressUp: onIncrementPressUp,
220
+ onPressEnd: onIncrementPressEnd
221
+ };
222
+ },
223
+ get decrementButtonProps() {
224
+ const labelledBy = buttonLabelledBy();
225
+ return {
226
+ id: decrementId,
227
+ type: "button",
228
+ "aria-label": `Decrease ${fieldLabel()}`.trim(),
229
+ "aria-labelledby": labelledBy ? `${decrementId} ${labelledBy}` : void 0,
230
+ "aria-controls": inputId,
231
+ excludeFromTabOrder: true,
232
+ preventFocusOnPress: true,
233
+ allowFocusWhenDisabled: true,
234
+ get disabled() {
235
+ return !state.canDecrement();
236
+ },
237
+ tabIndex: -1,
238
+ get isDisabled() {
239
+ return !state.canDecrement();
240
+ },
241
+ onClick: onDecrementClick,
242
+ onPressStart: onDecrementPressStart,
243
+ onPressUp: onDecrementPressUp,
244
+ onPressEnd: onDecrementPressEnd
245
+ };
246
+ },
247
+ get descriptionProps() {
248
+ return { id: descriptionId };
249
+ },
250
+ get errorMessageProps() {
251
+ return { id: errorMessageId };
252
+ }
253
+ };
254
+ }
255
+ //#endregion
256
+ export { createNumberField as t };
257
+
258
+ //# sourceMappingURL=numberfield.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numberfield.jsx","names":[],"sources":["../../src/numberfield/createNumberField.ts"],"sourcesContent":["/**\n * Provides the behavior and accessibility implementation for a number field.\n * Based on @react-aria/numberfield useNumberField.\n */\n\nimport { type JSX, createMemo } from \"solid-js\";\nimport { createLabel } from \"../label/createLabel\";\nimport { filterDOMProps } from \"../utils/filterDOMProps\";\nimport { mergeProps } from \"../utils/mergeProps\";\nimport { createId } from \"../ssr\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport type { NumberFieldState } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaButtonProps } from \"../button/types\";\nimport type { PressEvent } from \"../interactions\";\n\nexport interface AriaNumberFieldProps {\n /** A label for the number field. */\n label?: JSX.Element;\n /** An accessible label for the number field. */\n \"aria-label\"?: string;\n /** The element ID that labels the number field. */\n \"aria-labelledby\"?: string;\n /** The element ID that describes the number field. */\n \"aria-describedby\"?: string;\n /** Whether the number field is disabled. */\n isDisabled?: boolean;\n /** Whether the number field is read-only. */\n isReadOnly?: boolean;\n /** Whether the number field is required. */\n isRequired?: boolean;\n /** Whether the number field is invalid. */\n isInvalid?: boolean;\n /** A description for the number field. */\n description?: JSX.Element;\n /** An error message for the number field. */\n errorMessage?: JSX.Element;\n /** The ID of the number field. */\n id?: string;\n /** Whether to auto-focus the input. */\n autoFocus?: boolean;\n /** The name for the form input. */\n name?: string;\n /** The form element this input belongs to. */\n form?: string;\n /** Handler for focus events. */\n onFocus?: JSX.EventHandler<HTMLInputElement, FocusEvent>;\n /** Handler for blur events. */\n onBlur?: JSX.EventHandler<HTMLInputElement, FocusEvent>;\n /** Handler called when focus state changes. */\n onFocusChange?: (isFocused: boolean) => void;\n /** Handler for key down events. */\n onKeyDown?: JSX.EventHandler<HTMLInputElement, KeyboardEvent>;\n /** Handler for key up events. */\n onKeyUp?: JSX.EventHandler<HTMLInputElement, KeyboardEvent>;\n /** Handler for paste events. */\n onPaste?: JSX.EventHandler<HTMLInputElement, ClipboardEvent>;\n /** Handler for copy events. */\n onCopy?: JSX.EventHandler<HTMLInputElement, ClipboardEvent>;\n /** Handler for cut events. */\n onCut?: JSX.EventHandler<HTMLInputElement, ClipboardEvent>;\n}\n\nexport interface NumberFieldAria {\n /** Props for the label element. */\n labelProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the input element group. */\n groupProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the input element. */\n inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;\n /** Props for the increment button. */\n incrementButtonProps: AriaButtonProps;\n /** Props for the decrement button. */\n decrementButtonProps: AriaButtonProps;\n /** Props for the description element. */\n descriptionProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the error message element. */\n errorMessageProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a number field.\n */\nexport function createNumberField(\n props: MaybeAccessor<AriaNumberFieldProps>,\n state: NumberFieldState,\n inputRef?: () => HTMLInputElement | null,\n): NumberFieldAria {\n const getProps = () => access(props);\n const id = createId(getProps().id);\n\n // Generate IDs for associated elements\n const inputId = `${id}-input`;\n const incrementId = `${id}-increment`;\n const decrementId = `${id}-decrement`;\n const descriptionId = `${id}-description`;\n const errorMessageId = `${id}-error`;\n\n // Label handling\n const { labelProps, fieldProps } = createLabel({\n get id() {\n return inputId;\n },\n get label() {\n return getProps().label;\n },\n get \"aria-label\"() {\n return getProps()[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return getProps()[\"aria-labelledby\"];\n },\n // Upstream react-aria `useNumberField` → `useField` → `useLabel` with the DEFAULT\n // `labelElementType: 'label'`: the S2 NumberField label is a native `<label htmlFor>`\n // (verified against the shipped React DOM: `<label id for=inputId>`). This hardcoded\n // `\"span\"` was a self-inflicted divergence — it dropped the `for` association and made\n // `NumberFieldLabel` render a `<span>`. Reverted to `\"label\"` so `createLabel` emits\n // `for: inputId` (the input still also carries `aria-labelledby`, exactly as upstream).\n labelElementType: \"label\",\n });\n\n // Increment/decrement button labels — a 1:1 port of upstream `useNumberField`'s\n // four-case logic. Upstream RAC's `NumberField` component feeds `useNumberField` a\n // BOOLEAN slot for `label` (from `useSlot`), never the label string, so a visible\n // label is NEVER concatenated into the button `aria-label`. Instead: with a visible\n // label the button reads `aria-label: \"Increase\"` PLUS `aria-labelledby: \"<selfId>\n // <labelId>\"`; only an explicit `aria-label` (and no visible label) changes the text\n // (`\"Increase <aria-label>\"`). The prior `Increase ${getLabelText()}` was a\n // self-inflicted divergence that produced \"Increase Quantity\" where S2 ships\n // \"Increase\". `fieldLabel` mirrors upstream: `props['aria-label'] || ''` — the visible\n // label string is intentionally excluded (it arrives as a boolean slot in RAC).\n const fieldLabel = (): string => getProps()[\"aria-label\"] ?? \"\";\n const buttonLabelledBy = (): string | undefined => {\n if (fieldLabel()) return undefined;\n return getProps().label != null\n ? (labelProps.id as string | undefined)\n : getProps()[\"aria-labelledby\"];\n };\n\n // Filter DOM props\n const domProps = createMemo(() =>\n filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true }),\n );\n\n // Handle input change\n const onInputChange: JSX.EventHandler<HTMLInputElement, Event> = (e) => {\n const value = e.currentTarget.value;\n if (state.validate(value)) {\n state.setInputValue(value);\n }\n };\n\n // Handle input blur - commit value\n const onInputBlur: JSX.EventHandler<HTMLInputElement, FocusEvent> = (e) => {\n state.commit();\n const p = getProps();\n p.onBlur?.(e);\n p.onFocusChange?.(false);\n };\n\n const onInputFocus: JSX.EventHandler<HTMLInputElement, FocusEvent> = (e) => {\n const p = getProps();\n p.onFocus?.(e);\n p.onFocusChange?.(true);\n };\n\n // Handle keyboard events\n const onKeyDown: JSX.EventHandler<HTMLInputElement, KeyboardEvent> = (e) => {\n const p = getProps();\n if (p.isDisabled || p.isReadOnly) {\n p.onKeyDown?.(e);\n return;\n }\n\n switch (e.key) {\n case \"ArrowUp\":\n e.preventDefault();\n state.increment();\n break;\n case \"ArrowDown\":\n e.preventDefault();\n state.decrement();\n break;\n case \"PageUp\":\n e.preventDefault();\n state.incrementToMax();\n break;\n case \"PageDown\":\n e.preventDefault();\n state.decrementToMin();\n break;\n case \"Home\":\n e.preventDefault();\n state.decrementToMin();\n break;\n case \"End\":\n e.preventDefault();\n state.incrementToMax();\n break;\n case \"Enter\":\n state.commit();\n break;\n }\n\n p.onKeyDown?.(e);\n };\n\n const onKeyUp: JSX.EventHandler<HTMLInputElement, KeyboardEvent> = (e) => {\n getProps().onKeyUp?.(e);\n };\n\n const onButtonPressStart = (e: PressEvent) => {\n const input = inputRef?.();\n\n // Keep existing input focus in place. This avoids hiding software keyboards\n // and prevents a blur/refocus flicker when mouse pressing the steppers.\n if (input && input.ownerDocument.activeElement === input) {\n return;\n }\n\n if (e.pointerType === \"mouse\") {\n input?.focus();\n } else if (e.target instanceof HTMLElement) {\n e.target.focus();\n }\n };\n\n let incrementTouchPressUp = false;\n let decrementTouchPressUp = false;\n\n const onIncrementPressStart = (e: PressEvent) => {\n if (e.pointerType !== \"touch\") {\n state.increment();\n } else {\n incrementTouchPressUp = false;\n }\n\n onButtonPressStart(e);\n };\n\n const onIncrementPressUp = (e: PressEvent) => {\n if (e.pointerType === \"touch\") {\n incrementTouchPressUp = true;\n }\n };\n\n const onIncrementPressEnd = (e: PressEvent) => {\n if (e.pointerType === \"touch\" && incrementTouchPressUp) {\n state.increment();\n }\n\n incrementTouchPressUp = false;\n };\n const onIncrementClick = (e: MouseEvent) => {\n if (!state.canIncrement()) {\n e.preventDefault();\n return;\n }\n\n state.increment();\n inputRef?.()?.focus();\n };\n\n const onDecrementPressStart = (e: PressEvent) => {\n if (e.pointerType !== \"touch\") {\n state.decrement();\n } else {\n decrementTouchPressUp = false;\n }\n\n onButtonPressStart(e);\n };\n\n const onDecrementPressUp = (e: PressEvent) => {\n if (e.pointerType === \"touch\") {\n decrementTouchPressUp = true;\n }\n };\n\n const onDecrementPressEnd = (e: PressEvent) => {\n if (e.pointerType === \"touch\" && decrementTouchPressUp) {\n state.decrement();\n }\n\n decrementTouchPressUp = false;\n };\n const onDecrementClick = (e: MouseEvent) => {\n if (!state.canDecrement()) {\n e.preventDefault();\n return;\n }\n\n state.decrement();\n inputRef?.()?.focus();\n };\n\n // Build aria-describedby\n const getAriaDescribedBy = () => {\n const p = getProps();\n const parts: string[] = [];\n if (p[\"aria-describedby\"]) parts.push(p[\"aria-describedby\"]);\n if (p.description) parts.push(descriptionId);\n if (p.isInvalid && p.errorMessage) parts.push(errorMessageId);\n return parts.length > 0 ? parts.join(\" \") : undefined;\n };\n\n return {\n get labelProps() {\n return labelProps as JSX.HTMLAttributes<HTMLElement>;\n },\n get groupProps() {\n return {\n role: \"group\",\n \"aria-disabled\": getProps().isDisabled || undefined,\n \"aria-invalid\": getProps().isInvalid || undefined,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get inputProps() {\n const p = getProps();\n const isDisabled = p.isDisabled ?? state.isDisabled();\n const isReadOnly = p.isReadOnly ?? state.isReadOnly();\n\n return mergeProps(\n domProps(),\n fieldProps as Record<string, unknown>,\n {\n id: inputId,\n type: \"text\",\n inputMode: \"decimal\" as const,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellcheck: false,\n // Upstream routes the input through useFormattedTextField → useTextField →\n // useFocusable, which \"always set[s] a tabIndex so that Safari allows\n // focusing native buttons and inputs\": `excludeFromTabOrder ? -1 : 0`, then\n // `undefined` when disabled. The input is never excluded, so the rendered\n // DOM carries `tabindex=\"0\"` (absent only when disabled). We hand-roll\n // inputProps (see the spinbutton-override note below) so we must replay that\n // one focusable prop here to stay byte-identical to React's tab order.\n tabIndex: isDisabled ? undefined : 0,\n // Upstream useNumberField wraps useSpinButton but deliberately\n // overrides its output: role=spinbutton can't be focused with\n // VoiceOver, so the input is a plain textbox (inside the role=group\n // wrapper above) and every aria-value* is dropped in favour of\n // aria-roledescription. The formatted value is still announced via the\n // input's own value. Mirror that contract instead of leaking the raw\n // spinbutton semantics.\n //\n // The string MUST match upstream's `stringFormatter.format('numberField')`,\n // whose en-US value is `Number field` (capitalised) — not a lowercase\n // hand-roll. Full locale routing via `createStringFormatter` (as\n // `createDateField` does) is tracked as `intl-roledescription-hardcodes`\n // (also covers the ColorArea/ColorSwatch English hardcodes); this keeps the\n // en-US roledescription byte-identical to React Spectrum in the meantime.\n \"aria-roledescription\": \"Number field\",\n \"aria-invalid\": p.isInvalid || undefined,\n \"aria-required\": p.isRequired || undefined,\n \"aria-describedby\": getAriaDescribedBy(),\n disabled: isDisabled || undefined,\n readOnly: isReadOnly || undefined,\n required: p.isRequired || undefined,\n value: state.inputValue(),\n onInput: onInputChange,\n onChange: onInputChange,\n onFocus: onInputFocus,\n onBlur: onInputBlur,\n onKeyDown,\n onKeyUp,\n onPaste: p.onPaste,\n onCopy: p.onCopy,\n onCut: p.onCut,\n name: p.name,\n form: p.form,\n autoFocus: p.autoFocus,\n } as Record<string, unknown>,\n ) as JSX.InputHTMLAttributes<HTMLInputElement>;\n },\n get incrementButtonProps() {\n const labelledBy = buttonLabelledBy();\n return {\n id: incrementId,\n type: \"button\",\n \"aria-label\": `Increase ${fieldLabel()}`.trim(),\n \"aria-labelledby\": labelledBy ? `${incrementId} ${labelledBy}` : undefined,\n \"aria-controls\": inputId,\n excludeFromTabOrder: true,\n preventFocusOnPress: true,\n allowFocusWhenDisabled: true,\n get disabled() {\n return !state.canIncrement();\n },\n tabIndex: -1,\n get isDisabled() {\n return !state.canIncrement();\n },\n onClick: onIncrementClick,\n onPressStart: onIncrementPressStart,\n onPressUp: onIncrementPressUp,\n onPressEnd: onIncrementPressEnd,\n } as AriaButtonProps;\n },\n get decrementButtonProps() {\n const labelledBy = buttonLabelledBy();\n return {\n id: decrementId,\n type: \"button\",\n \"aria-label\": `Decrease ${fieldLabel()}`.trim(),\n \"aria-labelledby\": labelledBy ? `${decrementId} ${labelledBy}` : undefined,\n \"aria-controls\": inputId,\n excludeFromTabOrder: true,\n preventFocusOnPress: true,\n allowFocusWhenDisabled: true,\n get disabled() {\n return !state.canDecrement();\n },\n tabIndex: -1,\n get isDisabled() {\n return !state.canDecrement();\n },\n onClick: onDecrementClick,\n onPressStart: onDecrementPressStart,\n onPressUp: onDecrementPressUp,\n onPressEnd: onDecrementPressEnd,\n } as AriaButtonProps;\n },\n get descriptionProps() {\n return {\n id: descriptionId,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get errorMessageProps() {\n return {\n id: errorMessageId,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n };\n}\n"],"mappings":"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"}