@proyecto-viviana/solidaria 0.4.2 → 0.6.0-rc.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 (1377) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/dist/_chunk/DragManager.js +71 -25
  4. package/dist/_chunk/DragManager.js.map +1 -1
  5. package/dist/_chunk/DragManager.jsx +71 -25
  6. package/dist/_chunk/DragManager.jsx.map +1 -1
  7. package/dist/_chunk/FocusScope.js +281 -66
  8. package/dist/_chunk/FocusScope.js.map +1 -1
  9. package/dist/_chunk/FocusScope.jsx +274 -55
  10. package/dist/_chunk/FocusScope.jsx.map +1 -1
  11. package/dist/_chunk/actiongroup.js +43 -19
  12. package/dist/_chunk/actiongroup.js.map +1 -1
  13. package/dist/_chunk/actiongroup.jsx +43 -19
  14. package/dist/_chunk/actiongroup.jsx.map +1 -1
  15. package/dist/_chunk/announce.js +19 -6
  16. package/dist/_chunk/announce.js.map +1 -1
  17. package/dist/_chunk/announce.jsx +19 -6
  18. package/dist/_chunk/announce.jsx.map +1 -1
  19. package/dist/_chunk/ariaHideOutside.js +212 -10
  20. package/dist/_chunk/ariaHideOutside.js.map +1 -1
  21. package/dist/_chunk/ariaHideOutside.jsx +212 -10
  22. package/dist/_chunk/ariaHideOutside.jsx.map +1 -1
  23. package/dist/_chunk/autocomplete.js +26 -7
  24. package/dist/_chunk/autocomplete.js.map +1 -1
  25. package/dist/_chunk/autocomplete.jsx +26 -7
  26. package/dist/_chunk/autocomplete.jsx.map +1 -1
  27. package/dist/_chunk/breadcrumbs.js +17 -2
  28. package/dist/_chunk/breadcrumbs.js.map +1 -1
  29. package/dist/_chunk/breadcrumbs.jsx +17 -2
  30. package/dist/_chunk/breadcrumbs.jsx.map +1 -1
  31. package/dist/_chunk/button.js +53 -20
  32. package/dist/_chunk/button.js.map +1 -1
  33. package/dist/_chunk/button.jsx +53 -20
  34. package/dist/_chunk/button.jsx.map +1 -1
  35. package/dist/_chunk/calendar.js +341 -56
  36. package/dist/_chunk/calendar.js.map +1 -1
  37. package/dist/_chunk/calendar.jsx +341 -56
  38. package/dist/_chunk/calendar.jsx.map +1 -1
  39. package/dist/_chunk/checkbox.js +69 -26
  40. package/dist/_chunk/checkbox.js.map +1 -1
  41. package/dist/_chunk/checkbox.jsx +69 -26
  42. package/dist/_chunk/checkbox.jsx.map +1 -1
  43. package/dist/_chunk/color.js +307 -48
  44. package/dist/_chunk/color.js.map +1 -1
  45. package/dist/_chunk/color.jsx +307 -48
  46. package/dist/_chunk/color.jsx.map +1 -1
  47. package/dist/_chunk/combobox.js +193 -103
  48. package/dist/_chunk/combobox.js.map +1 -1
  49. package/dist/_chunk/combobox.jsx +193 -103
  50. package/dist/_chunk/combobox.jsx.map +1 -1
  51. package/dist/_chunk/constants.js +12 -0
  52. package/dist/_chunk/constants.js.map +1 -1
  53. package/dist/_chunk/constants.jsx +12 -0
  54. package/dist/_chunk/constants.jsx.map +1 -1
  55. package/dist/_chunk/createCollator.js +12 -0
  56. package/dist/_chunk/createCollator.js.map +1 -1
  57. package/dist/_chunk/createCollator.jsx +12 -0
  58. package/dist/_chunk/createCollator.jsx.map +1 -1
  59. package/dist/_chunk/createCollectionRowInteraction.js +50 -13
  60. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -1
  61. package/dist/_chunk/createCollectionRowInteraction.jsx +50 -13
  62. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -1
  63. package/dist/_chunk/createField.js +35 -25
  64. package/dist/_chunk/createField.js.map +1 -1
  65. package/dist/_chunk/createField.jsx +35 -25
  66. package/dist/_chunk/createField.jsx.map +1 -1
  67. package/dist/_chunk/createFocus.js +18 -5
  68. package/dist/_chunk/createFocus.js.map +1 -1
  69. package/dist/_chunk/createFocus.jsx +18 -5
  70. package/dist/_chunk/createFocus.jsx.map +1 -1
  71. package/dist/_chunk/createFocusRing.js +16 -7
  72. package/dist/_chunk/createFocusRing.js.map +1 -1
  73. package/dist/_chunk/createFocusRing.jsx +16 -7
  74. package/dist/_chunk/createFocusRing.jsx.map +1 -1
  75. package/dist/_chunk/createFocusWithin.js +16 -4
  76. package/dist/_chunk/createFocusWithin.js.map +1 -1
  77. package/dist/_chunk/createFocusWithin.jsx +16 -4
  78. package/dist/_chunk/createFocusWithin.jsx.map +1 -1
  79. package/dist/_chunk/createFocusable.js +39 -53
  80. package/dist/_chunk/createFocusable.js.map +1 -1
  81. package/dist/_chunk/createFocusable.jsx +39 -53
  82. package/dist/_chunk/createFocusable.jsx.map +1 -1
  83. package/dist/_chunk/createFormReset.js +24 -12
  84. package/dist/_chunk/createFormReset.js.map +1 -1
  85. package/dist/_chunk/createFormReset.jsx +24 -12
  86. package/dist/_chunk/createFormReset.jsx.map +1 -1
  87. package/dist/_chunk/createFormValidation.js +41 -17
  88. package/dist/_chunk/createFormValidation.js.map +1 -1
  89. package/dist/_chunk/createFormValidation.jsx +41 -17
  90. package/dist/_chunk/createFormValidation.jsx.map +1 -1
  91. package/dist/_chunk/createHover.js +56 -42
  92. package/dist/_chunk/createHover.js.map +1 -1
  93. package/dist/_chunk/createHover.jsx +56 -42
  94. package/dist/_chunk/createHover.jsx.map +1 -1
  95. package/dist/_chunk/createKeyboard.js +205 -0
  96. package/dist/_chunk/createKeyboard.js.map +1 -0
  97. package/dist/_chunk/createKeyboard.jsx +205 -0
  98. package/dist/_chunk/createKeyboard.jsx.map +1 -0
  99. package/dist/_chunk/createLabel.js +17 -4
  100. package/dist/_chunk/createLabel.js.map +1 -1
  101. package/dist/_chunk/createLabel.jsx +17 -4
  102. package/dist/_chunk/createLabel.jsx.map +1 -1
  103. package/dist/_chunk/createLabels.js +14 -2
  104. package/dist/_chunk/createLabels.js.map +1 -1
  105. package/dist/_chunk/createLabels.jsx +14 -2
  106. package/dist/_chunk/createLabels.jsx.map +1 -1
  107. package/dist/_chunk/createLandmark.js +19 -3
  108. package/dist/_chunk/createLandmark.js.map +1 -1
  109. package/dist/_chunk/createLandmark.jsx +19 -3
  110. package/dist/_chunk/createLandmark.jsx.map +1 -1
  111. package/dist/_chunk/createLongPress.js +105 -0
  112. package/dist/_chunk/createLongPress.js.map +1 -0
  113. package/dist/_chunk/createLongPress.jsx +105 -0
  114. package/dist/_chunk/createLongPress.jsx.map +1 -0
  115. package/dist/_chunk/createOverlay.js +220 -111
  116. package/dist/_chunk/createOverlay.js.map +1 -1
  117. package/dist/_chunk/createOverlay.jsx +220 -111
  118. package/dist/_chunk/createOverlay.jsx.map +1 -1
  119. package/dist/_chunk/createOverlayTrigger.js +58 -0
  120. package/dist/_chunk/createOverlayTrigger.js.map +1 -0
  121. package/dist/_chunk/createOverlayTrigger.jsx +58 -0
  122. package/dist/_chunk/createOverlayTrigger.jsx.map +1 -0
  123. package/dist/_chunk/createPress.js +38 -28
  124. package/dist/_chunk/createPress.js.map +1 -1
  125. package/dist/_chunk/createPress.jsx +38 -28
  126. package/dist/_chunk/createPress.jsx.map +1 -1
  127. package/dist/_chunk/createProgressBar.js +17 -4
  128. package/dist/_chunk/createProgressBar.js.map +1 -1
  129. package/dist/_chunk/createProgressBar.jsx +17 -4
  130. package/dist/_chunk/createProgressBar.jsx.map +1 -1
  131. package/dist/_chunk/createSelectableItem.js +58 -20
  132. package/dist/_chunk/createSelectableItem.js.map +1 -1
  133. package/dist/_chunk/createSelectableItem.jsx +58 -20
  134. package/dist/_chunk/createSelectableItem.jsx.map +1 -1
  135. package/dist/_chunk/createSelectableList.js +776 -0
  136. package/dist/_chunk/createSelectableList.js.map +1 -0
  137. package/dist/_chunk/createSelectableList.jsx +776 -0
  138. package/dist/_chunk/createSelectableList.jsx.map +1 -0
  139. package/dist/_chunk/createStringFormatter.js +350 -5
  140. package/dist/_chunk/createStringFormatter.js.map +1 -1
  141. package/dist/_chunk/createStringFormatter.jsx +350 -5
  142. package/dist/_chunk/createStringFormatter.jsx.map +1 -1
  143. package/dist/_chunk/createToggle.js +68 -19
  144. package/dist/_chunk/createToggle.js.map +1 -1
  145. package/dist/_chunk/createToggle.jsx +68 -19
  146. package/dist/_chunk/createToggle.jsx.map +1 -1
  147. package/dist/_chunk/createTypeSelect.js +15 -3
  148. package/dist/_chunk/createTypeSelect.js.map +1 -1
  149. package/dist/_chunk/createTypeSelect.jsx +15 -3
  150. package/dist/_chunk/createTypeSelect.jsx.map +1 -1
  151. package/dist/_chunk/{visually-hidden.js → createVisuallyHidden.js} +16 -4
  152. package/dist/_chunk/createVisuallyHidden.js.map +1 -0
  153. package/dist/_chunk/{visually-hidden.jsx → createVisuallyHidden.jsx} +16 -4
  154. package/dist/_chunk/createVisuallyHidden.jsx.map +1 -0
  155. package/dist/_chunk/datepicker.js +687 -602
  156. package/dist/_chunk/datepicker.js.map +1 -1
  157. package/dist/_chunk/datepicker.jsx +687 -602
  158. package/dist/_chunk/datepicker.jsx.map +1 -1
  159. package/dist/_chunk/dialog.js +49 -19
  160. package/dist/_chunk/dialog.js.map +1 -1
  161. package/dist/_chunk/dialog.jsx +49 -19
  162. package/dist/_chunk/dialog.jsx.map +1 -1
  163. package/dist/_chunk/disclosure.js +48 -28
  164. package/dist/_chunk/disclosure.js.map +1 -1
  165. package/dist/_chunk/disclosure.jsx +48 -28
  166. package/dist/_chunk/disclosure.jsx.map +1 -1
  167. package/dist/_chunk/dnd.js +1340 -1172
  168. package/dist/_chunk/dnd.js.map +1 -1
  169. package/dist/_chunk/dnd.jsx +1340 -1172
  170. package/dist/_chunk/dnd.jsx.map +1 -1
  171. package/dist/_chunk/dom.js +1200 -0
  172. package/dist/_chunk/dom.js.map +1 -0
  173. package/dist/_chunk/dom.jsx +1200 -0
  174. package/dist/_chunk/dom.jsx.map +1 -0
  175. package/dist/_chunk/env.js +1 -57
  176. package/dist/_chunk/env.js.map +1 -1
  177. package/dist/_chunk/env.jsx +1 -57
  178. package/dist/_chunk/env.jsx.map +1 -1
  179. package/dist/_chunk/filterDOMProps.js +32 -7
  180. package/dist/_chunk/filterDOMProps.js.map +1 -1
  181. package/dist/_chunk/filterDOMProps.jsx +32 -7
  182. package/dist/_chunk/filterDOMProps.jsx.map +1 -1
  183. package/dist/_chunk/focus.js +570 -338
  184. package/dist/_chunk/focus.js.map +1 -1
  185. package/dist/_chunk/focus.jsx +570 -338
  186. package/dist/_chunk/focus.jsx.map +1 -1
  187. package/dist/_chunk/grid.js +62 -8
  188. package/dist/_chunk/grid.js.map +1 -1
  189. package/dist/_chunk/grid.jsx +62 -8
  190. package/dist/_chunk/grid.jsx.map +1 -1
  191. package/dist/_chunk/gridlist.js +192 -53
  192. package/dist/_chunk/gridlist.js.map +1 -1
  193. package/dist/_chunk/gridlist.jsx +192 -53
  194. package/dist/_chunk/gridlist.jsx.map +1 -1
  195. package/dist/_chunk/i18n.js +68 -1
  196. package/dist/_chunk/i18n.js.map +1 -1
  197. package/dist/_chunk/i18n.jsx +68 -1
  198. package/dist/_chunk/i18n.jsx.map +1 -1
  199. package/dist/_chunk/interactions.js +38 -102
  200. package/dist/_chunk/interactions.js.map +1 -1
  201. package/dist/_chunk/interactions.jsx +38 -100
  202. package/dist/_chunk/interactions.jsx.map +1 -1
  203. package/dist/_chunk/intl.js +280 -0
  204. package/dist/_chunk/intl.js.map +1 -0
  205. package/dist/_chunk/intl.jsx +280 -0
  206. package/dist/_chunk/intl.jsx.map +1 -0
  207. package/dist/_chunk/link.js +15 -4
  208. package/dist/_chunk/link.js.map +1 -1
  209. package/dist/_chunk/link.jsx +15 -4
  210. package/dist/_chunk/link.jsx.map +1 -1
  211. package/dist/_chunk/listbox.js +99 -175
  212. package/dist/_chunk/listbox.js.map +1 -1
  213. package/dist/_chunk/listbox.jsx +99 -175
  214. package/dist/_chunk/listbox.jsx.map +1 -1
  215. package/dist/_chunk/locale.js +58 -12
  216. package/dist/_chunk/locale.js.map +1 -1
  217. package/dist/_chunk/locale.jsx +57 -11
  218. package/dist/_chunk/locale.jsx.map +1 -1
  219. package/dist/_chunk/menu.js +298 -57
  220. package/dist/_chunk/menu.js.map +1 -1
  221. package/dist/_chunk/menu.jsx +298 -57
  222. package/dist/_chunk/menu.jsx.map +1 -1
  223. package/dist/_chunk/mergeProps.js +216 -0
  224. package/dist/_chunk/mergeProps.js.map +1 -0
  225. package/dist/_chunk/mergeProps.jsx +216 -0
  226. package/dist/_chunk/mergeProps.jsx.map +1 -0
  227. package/dist/_chunk/meter.js +16 -4
  228. package/dist/_chunk/meter.js.map +1 -1
  229. package/dist/_chunk/meter.jsx +16 -4
  230. package/dist/_chunk/meter.jsx.map +1 -1
  231. package/dist/_chunk/numberfield.js +167 -22
  232. package/dist/_chunk/numberfield.js.map +1 -1
  233. package/dist/_chunk/numberfield.jsx +167 -22
  234. package/dist/_chunk/numberfield.jsx.map +1 -1
  235. package/dist/_chunk/overlays.js +87 -74
  236. package/dist/_chunk/overlays.js.map +1 -1
  237. package/dist/_chunk/overlays.jsx +71 -57
  238. package/dist/_chunk/overlays.jsx.map +1 -1
  239. package/dist/_chunk/owner.js +23 -0
  240. package/dist/_chunk/owner.js.map +1 -0
  241. package/dist/_chunk/owner.jsx +23 -0
  242. package/dist/_chunk/owner.jsx.map +1 -0
  243. package/dist/_chunk/popover.js +180 -42
  244. package/dist/_chunk/popover.js.map +1 -1
  245. package/dist/_chunk/popover.jsx +180 -42
  246. package/dist/_chunk/popover.jsx.map +1 -1
  247. package/dist/_chunk/radio.js +92 -32
  248. package/dist/_chunk/radio.js.map +1 -1
  249. package/dist/_chunk/radio.jsx +92 -32
  250. package/dist/_chunk/radio.jsx.map +1 -1
  251. package/dist/_chunk/reactivity.js.map +1 -1
  252. package/dist/_chunk/reactivity.jsx.map +1 -1
  253. package/dist/_chunk/refs.js +41 -0
  254. package/dist/_chunk/refs.js.map +1 -0
  255. package/dist/_chunk/refs.jsx +41 -0
  256. package/dist/_chunk/refs.jsx.map +1 -0
  257. package/dist/_chunk/searchfield.js +69 -3
  258. package/dist/_chunk/searchfield.js.map +1 -1
  259. package/dist/_chunk/searchfield.jsx +69 -3
  260. package/dist/_chunk/searchfield.jsx.map +1 -1
  261. package/dist/_chunk/select.js +226 -80
  262. package/dist/_chunk/select.js.map +1 -1
  263. package/dist/_chunk/select.jsx +162 -70
  264. package/dist/_chunk/select.jsx.map +1 -1
  265. package/dist/_chunk/selection.js +20 -638
  266. package/dist/_chunk/selection.js.map +1 -1
  267. package/dist/_chunk/selection.jsx +20 -638
  268. package/dist/_chunk/selection.jsx.map +1 -1
  269. package/dist/_chunk/separator.js +12 -0
  270. package/dist/_chunk/separator.js.map +1 -1
  271. package/dist/_chunk/separator.jsx +12 -0
  272. package/dist/_chunk/separator.jsx.map +1 -1
  273. package/dist/_chunk/slider.js +25 -16
  274. package/dist/_chunk/slider.js.map +1 -1
  275. package/dist/_chunk/slider.jsx +25 -16
  276. package/dist/_chunk/slider.jsx.map +1 -1
  277. package/dist/_chunk/spinbutton.js +52 -42
  278. package/dist/_chunk/spinbutton.js.map +1 -1
  279. package/dist/_chunk/spinbutton.jsx +52 -42
  280. package/dist/_chunk/spinbutton.jsx.map +1 -1
  281. package/dist/_chunk/steplist.js +14 -1
  282. package/dist/_chunk/steplist.js.map +1 -1
  283. package/dist/_chunk/steplist.jsx +14 -1
  284. package/dist/_chunk/steplist.jsx.map +1 -1
  285. package/dist/_chunk/switch.js +21 -3
  286. package/dist/_chunk/switch.js.map +1 -1
  287. package/dist/_chunk/switch.jsx +21 -3
  288. package/dist/_chunk/switch.jsx.map +1 -1
  289. package/dist/_chunk/table.js +666 -88
  290. package/dist/_chunk/table.js.map +1 -1
  291. package/dist/_chunk/table.jsx +666 -88
  292. package/dist/_chunk/table.jsx.map +1 -1
  293. package/dist/_chunk/tabs.js +115 -17
  294. package/dist/_chunk/tabs.js.map +1 -1
  295. package/dist/_chunk/tabs.jsx +115 -17
  296. package/dist/_chunk/tabs.jsx.map +1 -1
  297. package/dist/_chunk/tag.js +240 -39
  298. package/dist/_chunk/tag.js.map +1 -1
  299. package/dist/_chunk/tag.jsx +240 -39
  300. package/dist/_chunk/tag.jsx.map +1 -1
  301. package/dist/_chunk/textfield.js +83 -12
  302. package/dist/_chunk/textfield.js.map +1 -1
  303. package/dist/_chunk/textfield.jsx +83 -12
  304. package/dist/_chunk/textfield.jsx.map +1 -1
  305. package/dist/_chunk/toast.js +61 -28
  306. package/dist/_chunk/toast.js.map +1 -1
  307. package/dist/_chunk/toast.jsx +61 -28
  308. package/dist/_chunk/toast.jsx.map +1 -1
  309. package/dist/_chunk/tokenfield.js +567 -0
  310. package/dist/_chunk/tokenfield.js.map +1 -0
  311. package/dist/_chunk/tokenfield.jsx +567 -0
  312. package/dist/_chunk/tokenfield.jsx.map +1 -0
  313. package/dist/_chunk/toolbar.js +25 -8
  314. package/dist/_chunk/toolbar.js.map +1 -1
  315. package/dist/_chunk/toolbar.jsx +25 -8
  316. package/dist/_chunk/toolbar.jsx.map +1 -1
  317. package/dist/_chunk/tooltip.js +379 -6
  318. package/dist/_chunk/tooltip.js.map +1 -1
  319. package/dist/_chunk/tooltip.jsx +379 -6
  320. package/dist/_chunk/tooltip.jsx.map +1 -1
  321. package/dist/_chunk/tree.js +280 -69
  322. package/dist/_chunk/tree.js.map +1 -1
  323. package/dist/_chunk/tree.jsx +280 -69
  324. package/dist/_chunk/tree.jsx.map +1 -1
  325. package/dist/_chunk/utils.js +192 -150
  326. package/dist/_chunk/utils.js.map +1 -1
  327. package/dist/_chunk/utils.jsx +192 -150
  328. package/dist/_chunk/utils.jsx.map +1 -1
  329. package/dist/_chunk/virtualFocus.js +54 -0
  330. package/dist/_chunk/virtualFocus.js.map +1 -0
  331. package/dist/_chunk/virtualFocus.jsx +54 -0
  332. package/dist/_chunk/virtualFocus.jsx.map +1 -0
  333. package/dist/_chunk/virtualizer.js +202 -0
  334. package/dist/_chunk/virtualizer.js.map +1 -0
  335. package/dist/_chunk/virtualizer.jsx +202 -0
  336. package/dist/_chunk/virtualizer.jsx.map +1 -0
  337. package/dist/actiongroup/createActionGroup.d.ts +2 -1
  338. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  339. package/dist/autocomplete/createAutocomplete.d.ts +1 -9
  340. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  341. package/dist/autocomplete/intl/index.d.ts +13 -0
  342. package/dist/autocomplete/intl/index.d.ts.map +1 -0
  343. package/dist/breadcrumbs/createBreadcrumbs.d.ts +3 -1
  344. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  345. package/dist/breadcrumbs/intl/index.d.ts +13 -0
  346. package/dist/breadcrumbs/intl/index.d.ts.map +1 -0
  347. package/dist/button/createButton.d.ts.map +1 -1
  348. package/dist/button/createToggleButton.d.ts.map +1 -1
  349. package/dist/button/createToggleButtonGroup.d.ts +1 -1
  350. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  351. package/dist/button/types.d.ts +14 -0
  352. package/dist/button/types.d.ts.map +1 -1
  353. package/dist/calendar/createCalendar.d.ts +1 -7
  354. package/dist/calendar/createCalendar.d.ts.map +1 -1
  355. package/dist/calendar/createCalendarCell.d.ts +0 -6
  356. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  357. package/dist/calendar/createCalendarGrid.d.ts +1 -7
  358. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  359. package/dist/calendar/createCalendarMonthPicker.d.ts +0 -8
  360. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -1
  361. package/dist/calendar/createCalendarYearPicker.d.ts +0 -8
  362. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -1
  363. package/dist/calendar/createRangeCalendar.d.ts +13 -7
  364. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  365. package/dist/calendar/createRangeCalendarCell.d.ts +2 -6
  366. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  367. package/dist/calendar/intl/index.d.ts.map +1 -1
  368. package/dist/calendar/utils.d.ts.map +1 -1
  369. package/dist/checkbox/createCheckbox.d.ts +2 -1
  370. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  371. package/dist/checkbox/createCheckboxGroup.d.ts +1 -9
  372. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  373. package/dist/checkbox/createCheckboxGroupItem.d.ts +0 -8
  374. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  375. package/dist/collections/index.d.ts +1 -1
  376. package/dist/collections/index.d.ts.map +1 -1
  377. package/dist/collections/index.js +18 -2
  378. package/dist/collections/index.js.map +1 -1
  379. package/dist/collections/index.jsx +18 -2
  380. package/dist/collections/index.jsx.map +1 -1
  381. package/dist/color/createColorArea.d.ts +2 -7
  382. package/dist/color/createColorArea.d.ts.map +1 -1
  383. package/dist/color/createColorField.d.ts +2 -7
  384. package/dist/color/createColorField.d.ts.map +1 -1
  385. package/dist/color/createColorSlider.d.ts +1 -6
  386. package/dist/color/createColorSlider.d.ts.map +1 -1
  387. package/dist/color/createColorSwatch.d.ts +1 -6
  388. package/dist/color/createColorSwatch.d.ts.map +1 -1
  389. package/dist/color/createColorWheel.d.ts +1 -6
  390. package/dist/color/createColorWheel.d.ts.map +1 -1
  391. package/dist/color/intl/index.d.ts.map +1 -1
  392. package/dist/color/types.d.ts +47 -1
  393. package/dist/color/types.d.ts.map +1 -1
  394. package/dist/combobox/createComboBox.d.ts +17 -8
  395. package/dist/combobox/createComboBox.d.ts.map +1 -1
  396. package/dist/combobox/intl/generated-locales.d.ts +3 -0
  397. package/dist/combobox/intl/generated-locales.d.ts.map +1 -1
  398. package/dist/combobox/intl/index.d.ts +3 -2
  399. package/dist/combobox/intl/index.d.ts.map +1 -1
  400. package/dist/datepicker/createDateField.d.ts +0 -10
  401. package/dist/datepicker/createDateField.d.ts.map +1 -1
  402. package/dist/datepicker/createDatePicker.d.ts +0 -16
  403. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  404. package/dist/datepicker/createDatePickerGroup.d.ts +1 -1
  405. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
  406. package/dist/datepicker/createDateRangePicker.d.ts +0 -21
  407. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  408. package/dist/datepicker/createDateSegment.d.ts +0 -9
  409. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  410. package/dist/datepicker/createDisplayNames.d.ts +1 -9
  411. package/dist/datepicker/createDisplayNames.d.ts.map +1 -1
  412. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  413. package/dist/datepicker/intl.d.ts.map +1 -1
  414. package/dist/dialog/createDialog.d.ts +2 -4
  415. package/dist/dialog/createDialog.d.ts.map +1 -1
  416. package/dist/dialog/types.d.ts +14 -0
  417. package/dist/dialog/types.d.ts.map +1 -1
  418. package/dist/disclosure/createDisclosure.d.ts +1 -8
  419. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  420. package/dist/disclosure/createDisclosureGroup.d.ts +3 -4
  421. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  422. package/dist/dnd/DragManager.d.ts +1 -16
  423. package/dist/dnd/DragManager.d.ts.map +1 -1
  424. package/dist/dnd/DropTargetKeyboardNavigation.d.ts +2 -2
  425. package/dist/dnd/createDrag.d.ts +1 -7
  426. package/dist/dnd/createDrag.d.ts.map +1 -1
  427. package/dist/dnd/createDraggableCollection.d.ts +1 -7
  428. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  429. package/dist/dnd/createDraggableItem.d.ts +2 -7
  430. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  431. package/dist/dnd/createDrop.d.ts +1 -7
  432. package/dist/dnd/createDrop.d.ts.map +1 -1
  433. package/dist/dnd/createDropIndicator.d.ts +27 -0
  434. package/dist/dnd/createDropIndicator.d.ts.map +1 -0
  435. package/dist/dnd/createDroppableCollection.d.ts +6 -8
  436. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  437. package/dist/dnd/createDroppableItem.d.ts +12 -10
  438. package/dist/dnd/createDroppableItem.d.ts.map +1 -1
  439. package/dist/dnd/index.d.ts +3 -1
  440. package/dist/dnd/index.d.ts.map +1 -1
  441. package/dist/dnd/index.js +2 -2
  442. package/dist/dnd/index.jsx +2 -2
  443. package/dist/dnd/intl/index.d.ts +6 -4
  444. package/dist/dnd/intl/index.d.ts.map +1 -1
  445. package/dist/dnd/types.d.ts +20 -1
  446. package/dist/dnd/types.d.ts.map +1 -1
  447. package/dist/dnd/utils.d.ts +4 -0
  448. package/dist/dnd/utils.d.ts.map +1 -1
  449. package/dist/focus/FocusScope.d.ts +9 -5
  450. package/dist/focus/FocusScope.d.ts.map +1 -1
  451. package/dist/focus/createAutoFocus.d.ts +3 -0
  452. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  453. package/dist/focus/createFocusRestore.d.ts +3 -0
  454. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  455. package/dist/focus/createHasTabbableChild.d.ts +13 -0
  456. package/dist/focus/createHasTabbableChild.d.ts.map +1 -0
  457. package/dist/focus/createVirtualFocus.d.ts +4 -1
  458. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  459. package/dist/focus/index.js +3 -2
  460. package/dist/focus/index.jsx +3 -2
  461. package/dist/focus/virtualFocus.d.ts +1 -1
  462. package/dist/form/createFormReset.d.ts +1 -7
  463. package/dist/form/createFormReset.d.ts.map +1 -1
  464. package/dist/form/createFormValidation.d.ts +1 -9
  465. package/dist/form/createFormValidation.d.ts.map +1 -1
  466. package/dist/grid/GridKeyboardDelegate.d.ts.map +1 -1
  467. package/dist/grid/createGrid.d.ts +1 -5
  468. package/dist/grid/createGrid.d.ts.map +1 -1
  469. package/dist/grid/createGridCell.d.ts +1 -5
  470. package/dist/grid/createGridCell.d.ts.map +1 -1
  471. package/dist/grid/createGridRow.d.ts +1 -5
  472. package/dist/grid/createGridRow.d.ts.map +1 -1
  473. package/dist/grid/index.d.ts +2 -2
  474. package/dist/grid/intl/index.d.ts +18 -0
  475. package/dist/grid/intl/index.d.ts.map +1 -0
  476. package/dist/grid/types.d.ts +25 -2
  477. package/dist/grid/types.d.ts.map +1 -1
  478. package/dist/gridlist/createGridList.d.ts +3 -5
  479. package/dist/gridlist/createGridList.d.ts.map +1 -1
  480. package/dist/gridlist/createGridListItem.d.ts +1 -5
  481. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  482. package/dist/gridlist/createGridListSection.d.ts +0 -4
  483. package/dist/gridlist/createGridListSection.d.ts.map +1 -1
  484. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +1 -5
  485. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  486. package/dist/gridlist/intl/index.d.ts +14 -0
  487. package/dist/gridlist/intl/index.d.ts.map +1 -0
  488. package/dist/gridlist/types.d.ts +56 -2
  489. package/dist/gridlist/types.d.ts.map +1 -1
  490. package/dist/i18n/compileIcu.d.ts +24 -0
  491. package/dist/i18n/compileIcu.d.ts.map +1 -0
  492. package/dist/i18n/createCollator.d.ts +0 -7
  493. package/dist/i18n/createCollator.d.ts.map +1 -1
  494. package/dist/i18n/createDateFormatter.d.ts +0 -7
  495. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  496. package/dist/i18n/createFilter.d.ts +0 -7
  497. package/dist/i18n/createFilter.d.ts.map +1 -1
  498. package/dist/i18n/createListFormatter.d.ts +9 -0
  499. package/dist/i18n/createListFormatter.d.ts.map +1 -0
  500. package/dist/i18n/createNumberFormatter.d.ts +0 -7
  501. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  502. package/dist/i18n/createStringFormatter.d.ts +14 -4
  503. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  504. package/dist/i18n/index.d.ts +1 -0
  505. package/dist/i18n/index.d.ts.map +1 -1
  506. package/dist/i18n/index.js +2 -2
  507. package/dist/i18n/index.jsx +2 -2
  508. package/dist/i18n/locale.d.ts +2 -8
  509. package/dist/i18n/locale.d.ts.map +1 -1
  510. package/dist/i18n/utils.d.ts +0 -7
  511. package/dist/i18n/utils.d.ts.map +1 -1
  512. package/dist/index.d.ts +10 -7
  513. package/dist/index.d.ts.map +1 -1
  514. package/dist/index.js +27 -21
  515. package/dist/index.jsx +27 -21
  516. package/dist/interactions/FocusableProvider.d.ts +3 -2
  517. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  518. package/dist/interactions/PressEvent.d.ts +2 -1
  519. package/dist/interactions/PressEvent.d.ts.map +1 -1
  520. package/dist/interactions/createContextMenu.d.ts +24 -0
  521. package/dist/interactions/createContextMenu.d.ts.map +1 -0
  522. package/dist/interactions/createFocus.d.ts +3 -2
  523. package/dist/interactions/createFocus.d.ts.map +1 -1
  524. package/dist/interactions/createFocusRing.d.ts +2 -1
  525. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  526. package/dist/interactions/createFocusWithin.d.ts +1 -6
  527. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  528. package/dist/interactions/createFocusable.d.ts +2 -6
  529. package/dist/interactions/createFocusable.d.ts.map +1 -1
  530. package/dist/interactions/createHover.d.ts +3 -10
  531. package/dist/interactions/createHover.d.ts.map +1 -1
  532. package/dist/interactions/createInteractionModality.d.ts +12 -10
  533. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  534. package/dist/interactions/createKeyboard.d.ts +12 -3
  535. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  536. package/dist/interactions/createKeyboardShortcutHandler.d.ts +24 -0
  537. package/dist/interactions/createKeyboardShortcutHandler.d.ts.map +1 -0
  538. package/dist/interactions/createLongPress.d.ts +4 -7
  539. package/dist/interactions/createLongPress.d.ts.map +1 -1
  540. package/dist/interactions/createMove.d.ts +1 -6
  541. package/dist/interactions/createMove.d.ts.map +1 -1
  542. package/dist/interactions/createPress.d.ts +2 -7
  543. package/dist/interactions/createPress.d.ts.map +1 -1
  544. package/dist/interactions/index.d.ts +1 -1
  545. package/dist/interactions/index.d.ts.map +1 -1
  546. package/dist/interactions/index.js +5 -3
  547. package/dist/interactions/index.jsx +5 -3
  548. package/dist/label/createField.d.ts +7 -1
  549. package/dist/label/createField.d.ts.map +1 -1
  550. package/dist/label/createLabel.d.ts +1 -1
  551. package/dist/label/createLabel.d.ts.map +1 -1
  552. package/dist/label/createLabels.d.ts +0 -7
  553. package/dist/label/createLabels.d.ts.map +1 -1
  554. package/dist/landmark/createLandmark.d.ts +4 -1
  555. package/dist/landmark/createLandmark.d.ts.map +1 -1
  556. package/dist/link/createLink.d.ts +1 -1
  557. package/dist/link/createLink.d.ts.map +1 -1
  558. package/dist/listbox/createListBox.d.ts +8 -7
  559. package/dist/listbox/createListBox.d.ts.map +1 -1
  560. package/dist/listbox/createOption.d.ts +7 -1
  561. package/dist/listbox/createOption.d.ts.map +1 -1
  562. package/dist/live-announcer/announce.d.ts +2 -13
  563. package/dist/live-announcer/announce.d.ts.map +1 -1
  564. package/dist/menu/createMenu.d.ts +3 -7
  565. package/dist/menu/createMenu.d.ts.map +1 -1
  566. package/dist/menu/createMenuItem.d.ts +2 -1
  567. package/dist/menu/createMenuItem.d.ts.map +1 -1
  568. package/dist/menu/createMenuTrigger.d.ts +24 -20
  569. package/dist/menu/createMenuTrigger.d.ts.map +1 -1
  570. package/dist/menu/index.d.ts +1 -1
  571. package/dist/menu/index.d.ts.map +1 -1
  572. package/dist/menu/intl/index.d.ts +4 -0
  573. package/dist/menu/intl/index.d.ts.map +1 -0
  574. package/dist/meter/createMeter.d.ts +2 -1
  575. package/dist/meter/createMeter.d.ts.map +1 -1
  576. package/dist/numberfield/createNumberField.d.ts +29 -6
  577. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  578. package/dist/overlays/ariaHideOutside.d.ts +0 -4
  579. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  580. package/dist/overlays/createInteractOutside.d.ts +2 -5
  581. package/dist/overlays/createInteractOutside.d.ts.map +1 -1
  582. package/dist/overlays/createModal.d.ts +3 -6
  583. package/dist/overlays/createModal.d.ts.map +1 -1
  584. package/dist/overlays/createOverlay.d.ts +1 -5
  585. package/dist/overlays/createOverlay.d.ts.map +1 -1
  586. package/dist/overlays/createOverlayTrigger.d.ts +2 -6
  587. package/dist/overlays/createOverlayTrigger.d.ts.map +1 -1
  588. package/dist/overlays/createPreventScroll.d.ts +0 -4
  589. package/dist/overlays/createPreventScroll.d.ts.map +1 -1
  590. package/dist/overlays/index.d.ts +1 -0
  591. package/dist/overlays/index.d.ts.map +1 -1
  592. package/dist/overlays/index.js +3 -2
  593. package/dist/overlays/index.jsx +3 -2
  594. package/dist/overlays/intl/index.d.ts +13 -0
  595. package/dist/overlays/intl/index.d.ts.map +1 -0
  596. package/dist/popover/calculatePosition.d.ts +1 -1
  597. package/dist/popover/calculatePosition.d.ts.map +1 -1
  598. package/dist/popover/createOverlayPosition.d.ts +1 -7
  599. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  600. package/dist/popover/createPopover.d.ts +6 -7
  601. package/dist/popover/createPopover.d.ts.map +1 -1
  602. package/dist/progress/createProgressBar.d.ts +2 -10
  603. package/dist/progress/createProgressBar.d.ts.map +1 -1
  604. package/dist/radio/createRadio.d.ts +8 -1
  605. package/dist/radio/createRadio.d.ts.map +1 -1
  606. package/dist/radio/createRadioGroup.d.ts +1 -9
  607. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  608. package/dist/searchfield/createSearchField.d.ts +1 -1
  609. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  610. package/dist/searchfield/intl/index.d.ts +13 -0
  611. package/dist/searchfield/intl/index.d.ts.map +1 -0
  612. package/dist/select/createHiddenSelect.d.ts +3 -10
  613. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  614. package/dist/select/createSelect.d.ts +10 -6
  615. package/dist/select/createSelect.d.ts.map +1 -1
  616. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -1
  617. package/dist/selection/ListKeyboardDelegate.d.ts +2 -1
  618. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -1
  619. package/dist/selection/constants.d.ts.map +1 -1
  620. package/dist/selection/createCollectionRowInteraction.d.ts +12 -1
  621. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -1
  622. package/dist/selection/createScrollIntoViewOnFocus.d.ts +0 -11
  623. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -1
  624. package/dist/selection/createSelectableCollection.d.ts +1 -23
  625. package/dist/selection/createSelectableCollection.d.ts.map +1 -1
  626. package/dist/selection/createSelectableItem.d.ts +2 -29
  627. package/dist/selection/createSelectableItem.d.ts.map +1 -1
  628. package/dist/selection/createSelectableList.d.ts +4 -17
  629. package/dist/selection/createSelectableList.d.ts.map +1 -1
  630. package/dist/selection/createTypeSelect.d.ts +2 -8
  631. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  632. package/dist/selection/index.js +3 -2
  633. package/dist/selection/index.jsx +3 -2
  634. package/dist/selection/selectItem.d.ts.map +1 -1
  635. package/dist/selection/utils.d.ts +1 -1
  636. package/dist/selection/utils.d.ts.map +1 -1
  637. package/dist/separator/createSeparator.d.ts +3 -1
  638. package/dist/separator/createSeparator.d.ts.map +1 -1
  639. package/dist/slider/createSlider.d.ts +1 -6
  640. package/dist/slider/createSlider.d.ts.map +1 -1
  641. package/dist/spinbutton/createSpinButton.d.ts +0 -9
  642. package/dist/spinbutton/createSpinButton.d.ts.map +1 -1
  643. package/dist/spinbutton/index.d.ts +2 -2
  644. package/dist/spinbutton/index.d.ts.map +1 -1
  645. package/dist/spinbutton/intl.d.ts.map +1 -1
  646. package/dist/ssr/index.d.ts +3 -9
  647. package/dist/ssr/index.d.ts.map +1 -1
  648. package/dist/ssr/index.js +47 -26
  649. package/dist/ssr/index.js.map +1 -1
  650. package/dist/ssr/index.jsx +47 -26
  651. package/dist/ssr/index.jsx.map +1 -1
  652. package/dist/steplist/createStepList.d.ts +1 -1
  653. package/dist/steplist/createStepList.d.ts.map +1 -1
  654. package/dist/switch/createSwitch.d.ts +2 -1
  655. package/dist/switch/createSwitch.d.ts.map +1 -1
  656. package/dist/table/createTable.d.ts +1 -5
  657. package/dist/table/createTable.d.ts.map +1 -1
  658. package/dist/table/createTableCell.d.ts +1 -5
  659. package/dist/table/createTableCell.d.ts.map +1 -1
  660. package/dist/table/createTableColumnHeader.d.ts +1 -5
  661. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  662. package/dist/table/createTableColumnResize.d.ts +2 -8
  663. package/dist/table/createTableColumnResize.d.ts.map +1 -1
  664. package/dist/table/createTableHeaderRow.d.ts +1 -5
  665. package/dist/table/createTableHeaderRow.d.ts.map +1 -1
  666. package/dist/table/createTableRow.d.ts +1 -5
  667. package/dist/table/createTableRow.d.ts.map +1 -1
  668. package/dist/table/createTableRowGroup.d.ts +1 -5
  669. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  670. package/dist/table/createTableSelectAllCheckbox.d.ts +1 -5
  671. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  672. package/dist/table/createTableSelectionCheckbox.d.ts +1 -5
  673. package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
  674. package/dist/table/index.d.ts +2 -2
  675. package/dist/table/intl/index.d.ts +23 -0
  676. package/dist/table/intl/index.d.ts.map +1 -0
  677. package/dist/table/types.d.ts +44 -2
  678. package/dist/table/types.d.ts.map +1 -1
  679. package/dist/table/utils.d.ts.map +1 -1
  680. package/dist/tabs/createTabs.d.ts +5 -9
  681. package/dist/tabs/createTabs.d.ts.map +1 -1
  682. package/dist/tag/createTag.d.ts +4 -8
  683. package/dist/tag/createTag.d.ts.map +1 -1
  684. package/dist/tag/createTagGroup.d.ts +0 -9
  685. package/dist/tag/createTagGroup.d.ts.map +1 -1
  686. package/dist/tag/intl/index.d.ts +14 -0
  687. package/dist/tag/intl/index.d.ts.map +1 -0
  688. package/dist/textfield/createTextField.d.ts +6 -8
  689. package/dist/textfield/createTextField.d.ts.map +1 -1
  690. package/dist/toast/createToast.d.ts +1 -8
  691. package/dist/toast/createToast.d.ts.map +1 -1
  692. package/dist/toast/createToastRegion.d.ts +7 -18
  693. package/dist/toast/createToastRegion.d.ts.map +1 -1
  694. package/dist/toast/intl/index.d.ts +14 -0
  695. package/dist/toast/intl/index.d.ts.map +1 -0
  696. package/dist/toggle/createToggle.d.ts +8 -1
  697. package/dist/toggle/createToggle.d.ts.map +1 -1
  698. package/dist/tokenfield/createToken.d.ts +15 -0
  699. package/dist/tokenfield/createToken.d.ts.map +1 -0
  700. package/dist/tokenfield/createTokenField.d.ts +52 -0
  701. package/dist/tokenfield/createTokenField.d.ts.map +1 -0
  702. package/dist/tokenfield/index.d.ts +3 -0
  703. package/dist/tokenfield/index.d.ts.map +1 -0
  704. package/dist/tokenfield/index.js +2 -0
  705. package/dist/tokenfield/index.jsx +2 -0
  706. package/dist/toolbar/createToolbar.d.ts +1 -1
  707. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  708. package/dist/tooltip/createPreviewTrigger.d.ts +23 -0
  709. package/dist/tooltip/createPreviewTrigger.d.ts.map +1 -0
  710. package/dist/tooltip/createSafeArea.d.ts +20 -0
  711. package/dist/tooltip/createSafeArea.d.ts.map +1 -0
  712. package/dist/tooltip/createTooltip.d.ts +1 -1
  713. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  714. package/dist/tooltip/createTooltipTrigger.d.ts +1 -9
  715. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  716. package/dist/tooltip/index.d.ts +2 -0
  717. package/dist/tooltip/index.d.ts.map +1 -1
  718. package/dist/tooltip/index.js +2 -2
  719. package/dist/tooltip/index.jsx +2 -2
  720. package/dist/tooltip/intl/index.d.ts +4 -0
  721. package/dist/tooltip/intl/index.d.ts.map +1 -0
  722. package/dist/tree/createTree.d.ts +1 -5
  723. package/dist/tree/createTree.d.ts.map +1 -1
  724. package/dist/tree/createTreeItem.d.ts +1 -5
  725. package/dist/tree/createTreeItem.d.ts.map +1 -1
  726. package/dist/tree/createTreeSelectionCheckbox.d.ts +1 -5
  727. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  728. package/dist/tree/intl/index.d.ts +14 -0
  729. package/dist/tree/intl/index.d.ts.map +1 -0
  730. package/dist/tree/types.d.ts +35 -2
  731. package/dist/tree/types.d.ts.map +1 -1
  732. package/dist/utils/ShadowTreeWalker.d.ts +30 -0
  733. package/dist/utils/ShadowTreeWalker.d.ts.map +1 -0
  734. package/dist/utils/animation.d.ts +1 -29
  735. package/dist/utils/animation.d.ts.map +1 -1
  736. package/dist/utils/capture.d.ts +14 -0
  737. package/dist/utils/capture.d.ts.map +1 -0
  738. package/dist/utils/createDescription.d.ts +1 -25
  739. package/dist/utils/createDescription.d.ts.map +1 -1
  740. package/dist/utils/dom.d.ts +45 -11
  741. package/dist/utils/dom.d.ts.map +1 -1
  742. package/dist/utils/domAttrs.d.ts +16 -0
  743. package/dist/utils/domAttrs.d.ts.map +1 -0
  744. package/dist/utils/env.d.ts +2 -0
  745. package/dist/utils/env.d.ts.map +1 -1
  746. package/dist/utils/events.d.ts +0 -4
  747. package/dist/utils/events.d.ts.map +1 -1
  748. package/dist/utils/filterDOMProps.d.ts +0 -6
  749. package/dist/utils/filterDOMProps.d.ts.map +1 -1
  750. package/dist/utils/focus.d.ts +19 -6
  751. package/dist/utils/focus.d.ts.map +1 -1
  752. package/dist/utils/geometry.d.ts +1 -1
  753. package/dist/utils/geometry.d.ts.map +1 -1
  754. package/dist/utils/getMetaValue.d.ts +13 -0
  755. package/dist/utils/getMetaValue.d.ts.map +1 -0
  756. package/dist/utils/getNonce.d.ts +9 -0
  757. package/dist/utils/getNonce.d.ts.map +1 -0
  758. package/dist/utils/globalListeners.d.ts +0 -6
  759. package/dist/utils/globalListeners.d.ts.map +1 -1
  760. package/dist/utils/index.d.ts +6 -1
  761. package/dist/utils/index.d.ts.map +1 -1
  762. package/dist/utils/index.js +7 -4
  763. package/dist/utils/index.jsx +7 -4
  764. package/dist/utils/keyboard.d.ts +0 -4
  765. package/dist/utils/keyboard.d.ts.map +1 -1
  766. package/dist/utils/mergeProps.d.ts +5 -2
  767. package/dist/utils/mergeProps.d.ts.map +1 -1
  768. package/dist/utils/owner.d.ts +14 -0
  769. package/dist/utils/owner.d.ts.map +1 -0
  770. package/dist/utils/platform.d.ts +0 -4
  771. package/dist/utils/platform.d.ts.map +1 -1
  772. package/dist/utils/reactivity.d.ts +2 -0
  773. package/dist/utils/reactivity.d.ts.map +1 -1
  774. package/dist/utils/refs.d.ts +20 -0
  775. package/dist/utils/refs.d.ts.map +1 -0
  776. package/dist/utils/runAfterTransition.d.ts +2 -0
  777. package/dist/utils/runAfterTransition.d.ts.map +1 -0
  778. package/dist/utils/scrollIntoView.d.ts +0 -4
  779. package/dist/utils/scrollIntoView.d.ts.map +1 -1
  780. package/dist/utils/splitProps.d.ts +17 -0
  781. package/dist/utils/splitProps.d.ts.map +1 -0
  782. package/dist/utils/textSelection.d.ts +0 -8
  783. package/dist/utils/textSelection.d.ts.map +1 -1
  784. package/dist/virtualizer/ScrollView.d.ts +38 -0
  785. package/dist/virtualizer/ScrollView.d.ts.map +1 -0
  786. package/dist/virtualizer/index.d.ts +3 -0
  787. package/dist/virtualizer/index.d.ts.map +1 -0
  788. package/dist/virtualizer/index.js +2 -0
  789. package/dist/virtualizer/index.jsx +2 -0
  790. package/dist/virtualizer/utils.d.ts +10 -0
  791. package/dist/virtualizer/utils.d.ts.map +1 -0
  792. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -9
  793. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  794. package/dist/visually-hidden/index.js +1 -1
  795. package/dist/visually-hidden/index.jsx +1 -1
  796. package/package.json +30 -11
  797. package/src/actiongroup/createActionGroup.ts +49 -27
  798. package/src/autocomplete/createAutocomplete.ts +32 -5
  799. package/src/autocomplete/intl/ar-AE.json +3 -0
  800. package/src/autocomplete/intl/bg-BG.json +3 -0
  801. package/src/autocomplete/intl/cs-CZ.json +3 -0
  802. package/src/autocomplete/intl/da-DK.json +3 -0
  803. package/src/autocomplete/intl/de-DE.json +3 -0
  804. package/src/autocomplete/intl/el-GR.json +3 -0
  805. package/src/autocomplete/intl/en-US.json +3 -0
  806. package/src/autocomplete/intl/es-ES.json +3 -0
  807. package/src/autocomplete/intl/et-EE.json +3 -0
  808. package/src/autocomplete/intl/fi-FI.json +3 -0
  809. package/src/autocomplete/intl/fr-FR.json +3 -0
  810. package/src/autocomplete/intl/he-IL.json +3 -0
  811. package/src/autocomplete/intl/hr-HR.json +3 -0
  812. package/src/autocomplete/intl/hu-HU.json +3 -0
  813. package/src/autocomplete/intl/index.ts +122 -0
  814. package/src/autocomplete/intl/it-IT.json +3 -0
  815. package/src/autocomplete/intl/ja-JP.json +3 -0
  816. package/src/autocomplete/intl/ko-KR.json +3 -0
  817. package/src/autocomplete/intl/lt-LT.json +3 -0
  818. package/src/autocomplete/intl/lv-LV.json +3 -0
  819. package/src/autocomplete/intl/nb-NO.json +3 -0
  820. package/src/autocomplete/intl/nl-NL.json +3 -0
  821. package/src/autocomplete/intl/pl-PL.json +3 -0
  822. package/src/autocomplete/intl/pt-BR.json +3 -0
  823. package/src/autocomplete/intl/pt-PT.json +3 -0
  824. package/src/autocomplete/intl/ro-RO.json +3 -0
  825. package/src/autocomplete/intl/ru-RU.json +3 -0
  826. package/src/autocomplete/intl/sk-SK.json +3 -0
  827. package/src/autocomplete/intl/sl-SI.json +3 -0
  828. package/src/autocomplete/intl/sr-SP.json +3 -0
  829. package/src/autocomplete/intl/sv-SE.json +3 -0
  830. package/src/autocomplete/intl/tr-TR.json +3 -0
  831. package/src/autocomplete/intl/uk-UA.json +3 -0
  832. package/src/autocomplete/intl/zh-CN.json +3 -0
  833. package/src/autocomplete/intl/zh-TW.json +3 -0
  834. package/src/breadcrumbs/createBreadcrumbs.ts +18 -1
  835. package/src/breadcrumbs/intl/ar-AE.json +3 -0
  836. package/src/breadcrumbs/intl/bg-BG.json +3 -0
  837. package/src/breadcrumbs/intl/cs-CZ.json +3 -0
  838. package/src/breadcrumbs/intl/da-DK.json +3 -0
  839. package/src/breadcrumbs/intl/de-DE.json +3 -0
  840. package/src/breadcrumbs/intl/el-GR.json +3 -0
  841. package/src/breadcrumbs/intl/en-US.json +3 -0
  842. package/src/breadcrumbs/intl/es-ES.json +3 -0
  843. package/src/breadcrumbs/intl/et-EE.json +3 -0
  844. package/src/breadcrumbs/intl/fi-FI.json +3 -0
  845. package/src/breadcrumbs/intl/fr-FR.json +3 -0
  846. package/src/breadcrumbs/intl/he-IL.json +3 -0
  847. package/src/breadcrumbs/intl/hr-HR.json +3 -0
  848. package/src/breadcrumbs/intl/hu-HU.json +3 -0
  849. package/src/breadcrumbs/intl/index.ts +122 -0
  850. package/src/breadcrumbs/intl/it-IT.json +3 -0
  851. package/src/breadcrumbs/intl/ja-JP.json +3 -0
  852. package/src/breadcrumbs/intl/ko-KR.json +3 -0
  853. package/src/breadcrumbs/intl/lt-LT.json +3 -0
  854. package/src/breadcrumbs/intl/lv-LV.json +3 -0
  855. package/src/breadcrumbs/intl/nb-NO.json +3 -0
  856. package/src/breadcrumbs/intl/nl-NL.json +3 -0
  857. package/src/breadcrumbs/intl/pl-PL.json +3 -0
  858. package/src/breadcrumbs/intl/pt-BR.json +3 -0
  859. package/src/breadcrumbs/intl/pt-PT.json +3 -0
  860. package/src/breadcrumbs/intl/ro-RO.json +3 -0
  861. package/src/breadcrumbs/intl/ru-RU.json +3 -0
  862. package/src/breadcrumbs/intl/sk-SK.json +3 -0
  863. package/src/breadcrumbs/intl/sl-SI.json +3 -0
  864. package/src/breadcrumbs/intl/sr-SP.json +3 -0
  865. package/src/breadcrumbs/intl/sv-SE.json +3 -0
  866. package/src/breadcrumbs/intl/tr-TR.json +3 -0
  867. package/src/breadcrumbs/intl/uk-UA.json +3 -0
  868. package/src/breadcrumbs/intl/zh-CN.json +3 -0
  869. package/src/breadcrumbs/intl/zh-TW.json +3 -0
  870. package/src/button/createButton.ts +15 -1
  871. package/src/button/createToggleButton.ts +18 -5
  872. package/src/button/createToggleButtonGroup.ts +23 -8
  873. package/src/button/types.ts +16 -0
  874. package/src/calendar/createCalendar.ts +22 -3
  875. package/src/calendar/createCalendarCell.ts +104 -15
  876. package/src/calendar/createCalendarGrid.ts +37 -13
  877. package/src/calendar/createCalendarMonthPicker.ts +14 -0
  878. package/src/calendar/createCalendarYearPicker.ts +14 -0
  879. package/src/calendar/createRangeCalendar.ts +124 -1
  880. package/src/calendar/createRangeCalendarCell.ts +179 -40
  881. package/src/calendar/intl/index.ts +37 -0
  882. package/src/calendar/utils.ts +14 -0
  883. package/src/checkbox/createCheckbox.ts +32 -17
  884. package/src/checkbox/createCheckboxGroup.ts +31 -13
  885. package/src/checkbox/createCheckboxGroupItem.ts +15 -1
  886. package/src/collections/index.ts +21 -3
  887. package/src/color/createColorArea.ts +226 -29
  888. package/src/color/createColorField.ts +98 -22
  889. package/src/color/createColorSlider.ts +24 -3
  890. package/src/color/createColorSwatch.ts +18 -1
  891. package/src/color/createColorWheel.ts +27 -5
  892. package/src/color/intl/index.ts +35 -0
  893. package/src/color/types.ts +47 -1
  894. package/src/combobox/createComboBox.ts +303 -152
  895. package/src/combobox/intl/generated-locales.ts +38 -1
  896. package/src/combobox/intl/index.ts +38 -2
  897. package/src/datepicker/createDateField.ts +38 -22
  898. package/src/datepicker/createDatePicker.ts +14 -0
  899. package/src/datepicker/createDatePickerGroup.ts +24 -12
  900. package/src/datepicker/createDateRangePicker.ts +14 -0
  901. package/src/datepicker/createDateSegment.ts +110 -46
  902. package/src/datepicker/createDisplayNames.ts +16 -1
  903. package/src/datepicker/createTimeField.ts +15 -5
  904. package/src/datepicker/intl.ts +623 -544
  905. package/src/dialog/createDialog.ts +57 -30
  906. package/src/dialog/types.ts +14 -0
  907. package/src/disclosure/createDisclosure.ts +28 -6
  908. package/src/disclosure/createDisclosureGroup.ts +3 -4
  909. package/src/dnd/DragManager.ts +60 -9
  910. package/src/dnd/DropTargetKeyboardNavigation.ts +8 -6
  911. package/src/dnd/createDrag.ts +18 -1
  912. package/src/dnd/createDraggableCollection.ts +96 -32
  913. package/src/dnd/createDraggableItem.ts +73 -31
  914. package/src/dnd/createDrop.ts +18 -1
  915. package/src/dnd/createDropIndicator.ts +92 -0
  916. package/src/dnd/createDroppableCollection.ts +113 -48
  917. package/src/dnd/createDroppableItem.ts +161 -13
  918. package/src/dnd/index.ts +3 -0
  919. package/src/dnd/intl/index.ts +77 -66
  920. package/src/dnd/types.ts +20 -1
  921. package/src/dnd/utils.ts +19 -0
  922. package/src/focus/FocusScope.tsx +542 -157
  923. package/src/focus/createAutoFocus.ts +94 -68
  924. package/src/focus/createFocusRestore.ts +16 -12
  925. package/src/focus/createHasTabbableChild.ts +78 -0
  926. package/src/focus/createVirtualFocus.ts +21 -5
  927. package/src/focus/virtualFocus.ts +1 -1
  928. package/src/form/createFormReset.ts +40 -17
  929. package/src/form/createFormValidation.ts +128 -86
  930. package/src/grid/GridKeyboardDelegate.ts +14 -0
  931. package/src/grid/createGrid.ts +17 -2
  932. package/src/grid/createGridCell.ts +17 -2
  933. package/src/grid/createGridRow.ts +17 -2
  934. package/src/grid/index.ts +2 -2
  935. package/src/grid/intl/ar-AE.json +8 -0
  936. package/src/grid/intl/bg-BG.json +8 -0
  937. package/src/grid/intl/cs-CZ.json +8 -0
  938. package/src/grid/intl/da-DK.json +8 -0
  939. package/src/grid/intl/de-DE.json +8 -0
  940. package/src/grid/intl/el-GR.json +8 -0
  941. package/src/grid/intl/en-US.json +8 -0
  942. package/src/grid/intl/es-ES.json +8 -0
  943. package/src/grid/intl/et-EE.json +8 -0
  944. package/src/grid/intl/fi-FI.json +8 -0
  945. package/src/grid/intl/fr-FR.json +8 -0
  946. package/src/grid/intl/he-IL.json +8 -0
  947. package/src/grid/intl/hr-HR.json +8 -0
  948. package/src/grid/intl/hu-HU.json +8 -0
  949. package/src/grid/intl/index.ts +127 -0
  950. package/src/grid/intl/it-IT.json +8 -0
  951. package/src/grid/intl/ja-JP.json +8 -0
  952. package/src/grid/intl/ko-KR.json +8 -0
  953. package/src/grid/intl/lt-LT.json +8 -0
  954. package/src/grid/intl/lv-LV.json +8 -0
  955. package/src/grid/intl/nb-NO.json +8 -0
  956. package/src/grid/intl/nl-NL.json +8 -0
  957. package/src/grid/intl/pl-PL.json +8 -0
  958. package/src/grid/intl/pt-BR.json +8 -0
  959. package/src/grid/intl/pt-PT.json +8 -0
  960. package/src/grid/intl/ro-RO.json +8 -0
  961. package/src/grid/intl/ru-RU.json +8 -0
  962. package/src/grid/intl/sk-SK.json +8 -0
  963. package/src/grid/intl/sl-SI.json +8 -0
  964. package/src/grid/intl/sr-SP.json +8 -0
  965. package/src/grid/intl/sv-SE.json +8 -0
  966. package/src/grid/intl/tr-TR.json +8 -0
  967. package/src/grid/intl/uk-UA.json +8 -0
  968. package/src/grid/intl/zh-CN.json +8 -0
  969. package/src/grid/intl/zh-TW.json +8 -0
  970. package/src/grid/types.ts +25 -2
  971. package/src/gridlist/createGridList.ts +172 -42
  972. package/src/gridlist/createGridListItem.ts +51 -13
  973. package/src/gridlist/createGridListSection.ts +14 -0
  974. package/src/gridlist/createGridListSelectionCheckbox.ts +31 -4
  975. package/src/gridlist/intl/ar-AE.json +4 -0
  976. package/src/gridlist/intl/bg-BG.json +4 -0
  977. package/src/gridlist/intl/cs-CZ.json +4 -0
  978. package/src/gridlist/intl/da-DK.json +4 -0
  979. package/src/gridlist/intl/de-DE.json +4 -0
  980. package/src/gridlist/intl/el-GR.json +4 -0
  981. package/src/gridlist/intl/en-US.json +4 -0
  982. package/src/gridlist/intl/es-ES.json +4 -0
  983. package/src/gridlist/intl/et-EE.json +4 -0
  984. package/src/gridlist/intl/fi-FI.json +4 -0
  985. package/src/gridlist/intl/fr-FR.json +4 -0
  986. package/src/gridlist/intl/he-IL.json +4 -0
  987. package/src/gridlist/intl/hr-HR.json +4 -0
  988. package/src/gridlist/intl/hu-HU.json +4 -0
  989. package/src/gridlist/intl/index.ts +123 -0
  990. package/src/gridlist/intl/it-IT.json +4 -0
  991. package/src/gridlist/intl/ja-JP.json +4 -0
  992. package/src/gridlist/intl/ko-KR.json +4 -0
  993. package/src/gridlist/intl/lt-LT.json +4 -0
  994. package/src/gridlist/intl/lv-LV.json +4 -0
  995. package/src/gridlist/intl/nb-NO.json +4 -0
  996. package/src/gridlist/intl/nl-NL.json +4 -0
  997. package/src/gridlist/intl/pl-PL.json +4 -0
  998. package/src/gridlist/intl/pt-BR.json +4 -0
  999. package/src/gridlist/intl/pt-PT.json +4 -0
  1000. package/src/gridlist/intl/ro-RO.json +4 -0
  1001. package/src/gridlist/intl/ru-RU.json +4 -0
  1002. package/src/gridlist/intl/sk-SK.json +4 -0
  1003. package/src/gridlist/intl/sl-SI.json +4 -0
  1004. package/src/gridlist/intl/sr-SP.json +4 -0
  1005. package/src/gridlist/intl/sv-SE.json +4 -0
  1006. package/src/gridlist/intl/tr-TR.json +4 -0
  1007. package/src/gridlist/intl/uk-UA.json +4 -0
  1008. package/src/gridlist/intl/zh-CN.json +4 -0
  1009. package/src/gridlist/intl/zh-TW.json +4 -0
  1010. package/src/gridlist/types.ts +54 -2
  1011. package/src/i18n/compileIcu.ts +440 -0
  1012. package/src/i18n/createCollator.ts +14 -0
  1013. package/src/i18n/createDateFormatter.ts +14 -0
  1014. package/src/i18n/createFilter.ts +14 -0
  1015. package/src/i18n/createListFormatter.ts +38 -0
  1016. package/src/i18n/createNumberFormatter.ts +14 -0
  1017. package/src/i18n/createStringFormatter.ts +64 -8
  1018. package/src/i18n/index.ts +3 -0
  1019. package/src/i18n/locale.tsx +60 -19
  1020. package/src/i18n/utils.ts +14 -0
  1021. package/src/index.ts +49 -1
  1022. package/src/interactions/FocusableProvider.tsx +28 -11
  1023. package/src/interactions/PressEvent.ts +16 -1
  1024. package/src/interactions/createContextMenu.ts +108 -0
  1025. package/src/interactions/createFocus.ts +26 -6
  1026. package/src/interactions/createFocusRing.ts +28 -13
  1027. package/src/interactions/createFocusWithin.ts +23 -3
  1028. package/src/interactions/createFocusable.ts +45 -28
  1029. package/src/interactions/createHover.ts +102 -81
  1030. package/src/interactions/createInteractionModality.ts +135 -45
  1031. package/src/interactions/createKeyboard.ts +85 -9
  1032. package/src/interactions/createKeyboardShortcutHandler.ts +157 -0
  1033. package/src/interactions/createLongPress.ts +31 -9
  1034. package/src/interactions/createMove.ts +24 -3
  1035. package/src/interactions/createPress.ts +85 -41
  1036. package/src/interactions/index.ts +1 -0
  1037. package/src/label/createField.ts +58 -63
  1038. package/src/label/createLabel.ts +21 -4
  1039. package/src/label/createLabels.ts +25 -1
  1040. package/src/landmark/createLandmark.ts +27 -4
  1041. package/src/link/createLink.ts +20 -12
  1042. package/src/listbox/createListBox.ts +86 -310
  1043. package/src/listbox/createOption.ts +50 -14
  1044. package/src/live-announcer/announce.ts +21 -6
  1045. package/src/menu/createMenu.ts +92 -5
  1046. package/src/menu/createMenuItem.ts +40 -23
  1047. package/src/menu/createMenuTrigger.ts +179 -51
  1048. package/src/menu/index.ts +2 -0
  1049. package/src/menu/intl/index.ts +130 -0
  1050. package/src/meter/createMeter.ts +20 -5
  1051. package/src/numberfield/createNumberField.ts +254 -14
  1052. package/src/overlays/ariaHideOutside.ts +76 -11
  1053. package/src/overlays/createInteractOutside.ts +74 -47
  1054. package/src/overlays/createModal.tsx +42 -27
  1055. package/src/overlays/createOverlay.ts +107 -66
  1056. package/src/overlays/createOverlayTrigger.ts +21 -6
  1057. package/src/overlays/createPreventScroll.ts +92 -62
  1058. package/src/overlays/index.ts +2 -0
  1059. package/src/overlays/intl/ar-AE.json +3 -0
  1060. package/src/overlays/intl/bg-BG.json +3 -0
  1061. package/src/overlays/intl/cs-CZ.json +3 -0
  1062. package/src/overlays/intl/da-DK.json +3 -0
  1063. package/src/overlays/intl/de-DE.json +3 -0
  1064. package/src/overlays/intl/el-GR.json +3 -0
  1065. package/src/overlays/intl/en-US.json +3 -0
  1066. package/src/overlays/intl/es-ES.json +3 -0
  1067. package/src/overlays/intl/et-EE.json +3 -0
  1068. package/src/overlays/intl/fi-FI.json +3 -0
  1069. package/src/overlays/intl/fr-FR.json +3 -0
  1070. package/src/overlays/intl/he-IL.json +3 -0
  1071. package/src/overlays/intl/hr-HR.json +3 -0
  1072. package/src/overlays/intl/hu-HU.json +3 -0
  1073. package/src/overlays/intl/index.ts +122 -0
  1074. package/src/overlays/intl/it-IT.json +3 -0
  1075. package/src/overlays/intl/ja-JP.json +3 -0
  1076. package/src/overlays/intl/ko-KR.json +3 -0
  1077. package/src/overlays/intl/lt-LT.json +3 -0
  1078. package/src/overlays/intl/lv-LV.json +3 -0
  1079. package/src/overlays/intl/nb-NO.json +3 -0
  1080. package/src/overlays/intl/nl-NL.json +3 -0
  1081. package/src/overlays/intl/pl-PL.json +3 -0
  1082. package/src/overlays/intl/pt-BR.json +3 -0
  1083. package/src/overlays/intl/pt-PT.json +3 -0
  1084. package/src/overlays/intl/ro-RO.json +3 -0
  1085. package/src/overlays/intl/ru-RU.json +3 -0
  1086. package/src/overlays/intl/sk-SK.json +3 -0
  1087. package/src/overlays/intl/sl-SI.json +3 -0
  1088. package/src/overlays/intl/sr-SP.json +3 -0
  1089. package/src/overlays/intl/sv-SE.json +3 -0
  1090. package/src/overlays/intl/tr-TR.json +3 -0
  1091. package/src/overlays/intl/uk-UA.json +3 -0
  1092. package/src/overlays/intl/zh-CN.json +3 -0
  1093. package/src/overlays/intl/zh-TW.json +3 -0
  1094. package/src/popover/calculatePosition.ts +21 -3
  1095. package/src/popover/createOverlayPosition.ts +149 -41
  1096. package/src/popover/createPopover.ts +88 -23
  1097. package/src/progress/createProgressBar.ts +19 -4
  1098. package/src/radio/createRadio.ts +80 -25
  1099. package/src/radio/createRadioGroup.ts +47 -13
  1100. package/src/searchfield/createSearchField.ts +31 -2
  1101. package/src/searchfield/intl/ar-AE.json +3 -0
  1102. package/src/searchfield/intl/bg-BG.json +3 -0
  1103. package/src/searchfield/intl/cs-CZ.json +3 -0
  1104. package/src/searchfield/intl/da-DK.json +3 -0
  1105. package/src/searchfield/intl/de-DE.json +3 -0
  1106. package/src/searchfield/intl/el-GR.json +3 -0
  1107. package/src/searchfield/intl/en-US.json +3 -0
  1108. package/src/searchfield/intl/es-ES.json +3 -0
  1109. package/src/searchfield/intl/et-EE.json +3 -0
  1110. package/src/searchfield/intl/fi-FI.json +3 -0
  1111. package/src/searchfield/intl/fr-FR.json +3 -0
  1112. package/src/searchfield/intl/he-IL.json +3 -0
  1113. package/src/searchfield/intl/hr-HR.json +3 -0
  1114. package/src/searchfield/intl/hu-HU.json +3 -0
  1115. package/src/searchfield/intl/index.ts +122 -0
  1116. package/src/searchfield/intl/it-IT.json +3 -0
  1117. package/src/searchfield/intl/ja-JP.json +3 -0
  1118. package/src/searchfield/intl/ko-KR.json +3 -0
  1119. package/src/searchfield/intl/lt-LT.json +3 -0
  1120. package/src/searchfield/intl/lv-LV.json +3 -0
  1121. package/src/searchfield/intl/nb-NO.json +3 -0
  1122. package/src/searchfield/intl/nl-NL.json +3 -0
  1123. package/src/searchfield/intl/pl-PL.json +3 -0
  1124. package/src/searchfield/intl/pt-BR.json +3 -0
  1125. package/src/searchfield/intl/pt-PT.json +3 -0
  1126. package/src/searchfield/intl/ro-RO.json +3 -0
  1127. package/src/searchfield/intl/ru-RU.json +3 -0
  1128. package/src/searchfield/intl/sk-SK.json +3 -0
  1129. package/src/searchfield/intl/sl-SI.json +3 -0
  1130. package/src/searchfield/intl/sr-SP.json +3 -0
  1131. package/src/searchfield/intl/sv-SE.json +3 -0
  1132. package/src/searchfield/intl/tr-TR.json +3 -0
  1133. package/src/searchfield/intl/uk-UA.json +3 -0
  1134. package/src/searchfield/intl/zh-CN.json +3 -0
  1135. package/src/searchfield/intl/zh-TW.json +3 -0
  1136. package/src/select/createHiddenSelect.tsx +166 -69
  1137. package/src/select/createSelect.ts +80 -34
  1138. package/src/selection/DOMLayoutDelegate.ts +14 -0
  1139. package/src/selection/ListKeyboardDelegate.ts +16 -1
  1140. package/src/selection/constants.ts +14 -0
  1141. package/src/selection/createCollectionRowInteraction.ts +75 -6
  1142. package/src/selection/createScrollIntoViewOnFocus.ts +23 -8
  1143. package/src/selection/createSelectableCollection.ts +352 -226
  1144. package/src/selection/createSelectableItem.ts +51 -12
  1145. package/src/selection/createSelectableList.ts +21 -1
  1146. package/src/selection/createTypeSelect.ts +21 -5
  1147. package/src/selection/selectItem.ts +14 -0
  1148. package/src/selection/utils.ts +15 -1
  1149. package/src/separator/createSeparator.ts +17 -1
  1150. package/src/slider/createSlider.ts +24 -18
  1151. package/src/spinbutton/createSpinButton.ts +16 -2
  1152. package/src/spinbutton/index.ts +2 -10
  1153. package/src/spinbutton/intl.ts +70 -34
  1154. package/src/ssr/index.tsx +79 -48
  1155. package/src/steplist/createStepList.ts +17 -2
  1156. package/src/switch/createSwitch.ts +25 -4
  1157. package/src/table/createTable.ts +104 -52
  1158. package/src/table/createTableCell.ts +17 -2
  1159. package/src/table/createTableColumnHeader.ts +21 -3
  1160. package/src/table/createTableColumnResize.ts +19 -3
  1161. package/src/table/createTableHeaderRow.ts +17 -2
  1162. package/src/table/createTableRow.ts +29 -22
  1163. package/src/table/createTableRowGroup.ts +18 -3
  1164. package/src/table/createTableSelectAllCheckbox.ts +30 -14
  1165. package/src/table/createTableSelectionCheckbox.ts +21 -3
  1166. package/src/table/index.ts +2 -2
  1167. package/src/table/intl/ar-AE.json +13 -0
  1168. package/src/table/intl/bg-BG.json +13 -0
  1169. package/src/table/intl/cs-CZ.json +13 -0
  1170. package/src/table/intl/da-DK.json +13 -0
  1171. package/src/table/intl/de-DE.json +13 -0
  1172. package/src/table/intl/el-GR.json +13 -0
  1173. package/src/table/intl/en-US.json +13 -0
  1174. package/src/table/intl/es-ES.json +13 -0
  1175. package/src/table/intl/et-EE.json +13 -0
  1176. package/src/table/intl/fi-FI.json +13 -0
  1177. package/src/table/intl/fr-FR.json +13 -0
  1178. package/src/table/intl/he-IL.json +13 -0
  1179. package/src/table/intl/hr-HR.json +13 -0
  1180. package/src/table/intl/hu-HU.json +13 -0
  1181. package/src/table/intl/index.ts +132 -0
  1182. package/src/table/intl/it-IT.json +13 -0
  1183. package/src/table/intl/ja-JP.json +13 -0
  1184. package/src/table/intl/ko-KR.json +13 -0
  1185. package/src/table/intl/lt-LT.json +13 -0
  1186. package/src/table/intl/lv-LV.json +13 -0
  1187. package/src/table/intl/nb-NO.json +13 -0
  1188. package/src/table/intl/nl-NL.json +13 -0
  1189. package/src/table/intl/pl-PL.json +13 -0
  1190. package/src/table/intl/pt-BR.json +13 -0
  1191. package/src/table/intl/pt-PT.json +13 -0
  1192. package/src/table/intl/ro-RO.json +13 -0
  1193. package/src/table/intl/ru-RU.json +13 -0
  1194. package/src/table/intl/sk-SK.json +13 -0
  1195. package/src/table/intl/sl-SI.json +13 -0
  1196. package/src/table/intl/sr-SP.json +13 -0
  1197. package/src/table/intl/sv-SE.json +13 -0
  1198. package/src/table/intl/tr-TR.json +13 -0
  1199. package/src/table/intl/uk-UA.json +13 -0
  1200. package/src/table/intl/zh-CN.json +13 -0
  1201. package/src/table/intl/zh-TW.json +13 -0
  1202. package/src/table/types.ts +44 -2
  1203. package/src/table/utils.ts +15 -6
  1204. package/src/tabs/createTabs.ts +104 -37
  1205. package/src/tag/createTag.ts +118 -37
  1206. package/src/tag/createTagGroup.ts +20 -12
  1207. package/src/tag/intl/ar-AE.json +4 -0
  1208. package/src/tag/intl/bg-BG.json +4 -0
  1209. package/src/tag/intl/cs-CZ.json +4 -0
  1210. package/src/tag/intl/da-DK.json +4 -0
  1211. package/src/tag/intl/de-DE.json +4 -0
  1212. package/src/tag/intl/el-GR.json +4 -0
  1213. package/src/tag/intl/en-US.json +4 -0
  1214. package/src/tag/intl/es-ES.json +4 -0
  1215. package/src/tag/intl/et-EE.json +4 -0
  1216. package/src/tag/intl/fi-FI.json +4 -0
  1217. package/src/tag/intl/fr-FR.json +4 -0
  1218. package/src/tag/intl/he-IL.json +4 -0
  1219. package/src/tag/intl/hr-HR.json +4 -0
  1220. package/src/tag/intl/hu-HU.json +4 -0
  1221. package/src/tag/intl/index.ts +123 -0
  1222. package/src/tag/intl/it-IT.json +4 -0
  1223. package/src/tag/intl/ja-JP.json +4 -0
  1224. package/src/tag/intl/ko-KR.json +4 -0
  1225. package/src/tag/intl/lt-LT.json +4 -0
  1226. package/src/tag/intl/lv-LV.json +4 -0
  1227. package/src/tag/intl/nb-NO.json +4 -0
  1228. package/src/tag/intl/nl-NL.json +4 -0
  1229. package/src/tag/intl/pl-PL.json +4 -0
  1230. package/src/tag/intl/pt-BR.json +4 -0
  1231. package/src/tag/intl/pt-PT.json +4 -0
  1232. package/src/tag/intl/ro-RO.json +4 -0
  1233. package/src/tag/intl/ru-RU.json +4 -0
  1234. package/src/tag/intl/sk-SK.json +4 -0
  1235. package/src/tag/intl/sl-SI.json +4 -0
  1236. package/src/tag/intl/sr-SP.json +4 -0
  1237. package/src/tag/intl/sv-SE.json +4 -0
  1238. package/src/tag/intl/tr-TR.json +4 -0
  1239. package/src/tag/intl/uk-UA.json +4 -0
  1240. package/src/tag/intl/zh-CN.json +4 -0
  1241. package/src/tag/intl/zh-TW.json +4 -0
  1242. package/src/textfield/createTextField.ts +104 -14
  1243. package/src/toast/createToast.ts +39 -6
  1244. package/src/toast/createToastRegion.ts +28 -15
  1245. package/src/toast/intl/ar-AE.json +4 -0
  1246. package/src/toast/intl/bg-BG.json +4 -0
  1247. package/src/toast/intl/cs-CZ.json +4 -0
  1248. package/src/toast/intl/da-DK.json +4 -0
  1249. package/src/toast/intl/de-DE.json +4 -0
  1250. package/src/toast/intl/el-GR.json +4 -0
  1251. package/src/toast/intl/en-US.json +4 -0
  1252. package/src/toast/intl/es-ES.json +4 -0
  1253. package/src/toast/intl/et-EE.json +4 -0
  1254. package/src/toast/intl/fi-FI.json +4 -0
  1255. package/src/toast/intl/fr-FR.json +4 -0
  1256. package/src/toast/intl/he-IL.json +4 -0
  1257. package/src/toast/intl/hr-HR.json +4 -0
  1258. package/src/toast/intl/hu-HU.json +4 -0
  1259. package/src/toast/intl/index.ts +123 -0
  1260. package/src/toast/intl/it-IT.json +4 -0
  1261. package/src/toast/intl/ja-JP.json +4 -0
  1262. package/src/toast/intl/ko-KR.json +4 -0
  1263. package/src/toast/intl/lt-LT.json +4 -0
  1264. package/src/toast/intl/lv-LV.json +4 -0
  1265. package/src/toast/intl/nb-NO.json +4 -0
  1266. package/src/toast/intl/nl-NL.json +4 -0
  1267. package/src/toast/intl/pl-PL.json +4 -0
  1268. package/src/toast/intl/pt-BR.json +4 -0
  1269. package/src/toast/intl/pt-PT.json +4 -0
  1270. package/src/toast/intl/ro-RO.json +4 -0
  1271. package/src/toast/intl/ru-RU.json +4 -0
  1272. package/src/toast/intl/sk-SK.json +4 -0
  1273. package/src/toast/intl/sl-SI.json +4 -0
  1274. package/src/toast/intl/sr-SP.json +4 -0
  1275. package/src/toast/intl/sv-SE.json +4 -0
  1276. package/src/toast/intl/tr-TR.json +4 -0
  1277. package/src/toast/intl/uk-UA.json +4 -0
  1278. package/src/toast/intl/zh-CN.json +4 -0
  1279. package/src/toast/intl/zh-TW.json +4 -0
  1280. package/src/toggle/createToggle.ts +96 -15
  1281. package/src/tokenfield/createToken.ts +82 -0
  1282. package/src/tokenfield/createTokenField.ts +859 -0
  1283. package/src/tokenfield/index.ts +10 -0
  1284. package/src/toolbar/createToolbar.ts +26 -5
  1285. package/src/tooltip/createPreviewTrigger.ts +301 -0
  1286. package/src/tooltip/createSafeArea.ts +165 -0
  1287. package/src/tooltip/createTooltip.ts +15 -1
  1288. package/src/tooltip/createTooltipTrigger.ts +24 -3
  1289. package/src/tooltip/index.ts +7 -0
  1290. package/src/tooltip/intl/index.ts +76 -0
  1291. package/src/tree/createTree.ts +66 -50
  1292. package/src/tree/createTreeItem.ts +85 -21
  1293. package/src/tree/createTreeSelectionCheckbox.ts +29 -28
  1294. package/src/tree/intl/ar-AE.json +4 -0
  1295. package/src/tree/intl/bg-BG.json +4 -0
  1296. package/src/tree/intl/cs-CZ.json +4 -0
  1297. package/src/tree/intl/da-DK.json +4 -0
  1298. package/src/tree/intl/de-DE.json +4 -0
  1299. package/src/tree/intl/el-GR.json +4 -0
  1300. package/src/tree/intl/en-US.json +4 -0
  1301. package/src/tree/intl/es-ES.json +4 -0
  1302. package/src/tree/intl/et-EE.json +4 -0
  1303. package/src/tree/intl/fi-FI.json +4 -0
  1304. package/src/tree/intl/fr-FR.json +4 -0
  1305. package/src/tree/intl/he-IL.json +4 -0
  1306. package/src/tree/intl/hr-HR.json +4 -0
  1307. package/src/tree/intl/hu-HU.json +4 -0
  1308. package/src/tree/intl/index.ts +123 -0
  1309. package/src/tree/intl/it-IT.json +4 -0
  1310. package/src/tree/intl/ja-JP.json +4 -0
  1311. package/src/tree/intl/ko-KR.json +4 -0
  1312. package/src/tree/intl/lt-LT.json +4 -0
  1313. package/src/tree/intl/lv-LV.json +4 -0
  1314. package/src/tree/intl/nb-NO.json +4 -0
  1315. package/src/tree/intl/nl-NL.json +4 -0
  1316. package/src/tree/intl/pl-PL.json +4 -0
  1317. package/src/tree/intl/pt-BR.json +4 -0
  1318. package/src/tree/intl/pt-PT.json +4 -0
  1319. package/src/tree/intl/ro-RO.json +4 -0
  1320. package/src/tree/intl/ru-RU.json +4 -0
  1321. package/src/tree/intl/sk-SK.json +4 -0
  1322. package/src/tree/intl/sl-SI.json +4 -0
  1323. package/src/tree/intl/sr-SP.json +4 -0
  1324. package/src/tree/intl/sv-SE.json +4 -0
  1325. package/src/tree/intl/tr-TR.json +4 -0
  1326. package/src/tree/intl/uk-UA.json +4 -0
  1327. package/src/tree/intl/zh-CN.json +4 -0
  1328. package/src/tree/intl/zh-TW.json +4 -0
  1329. package/src/tree/types.ts +35 -2
  1330. package/src/utils/ShadowTreeWalker.ts +249 -0
  1331. package/src/utils/animation.ts +106 -85
  1332. package/src/utils/capture.ts +51 -0
  1333. package/src/utils/createDescription.ts +31 -8
  1334. package/src/utils/dom.ts +314 -33
  1335. package/src/utils/domAttrs.ts +84 -0
  1336. package/src/utils/env.ts +2 -0
  1337. package/src/utils/events.ts +39 -3
  1338. package/src/utils/filterDOMProps.ts +34 -2
  1339. package/src/utils/focus.ts +186 -32
  1340. package/src/utils/geometry.ts +15 -1
  1341. package/src/utils/getMetaValue.ts +57 -0
  1342. package/src/utils/getNonce.ts +40 -0
  1343. package/src/utils/globalListeners.ts +16 -3
  1344. package/src/utils/index.ts +14 -0
  1345. package/src/utils/keyboard.ts +15 -1
  1346. package/src/utils/mergeProps.ts +149 -16
  1347. package/src/utils/owner.ts +26 -0
  1348. package/src/utils/platform.ts +15 -1
  1349. package/src/utils/reactivity.ts +2 -0
  1350. package/src/utils/refs.ts +53 -0
  1351. package/src/utils/runAfterTransition.ts +117 -0
  1352. package/src/utils/scrollIntoView.ts +14 -0
  1353. package/src/utils/splitProps.ts +70 -0
  1354. package/src/utils/textSelection.ts +15 -1
  1355. package/src/virtualizer/ScrollView.ts +210 -0
  1356. package/src/virtualizer/index.ts +2 -0
  1357. package/src/virtualizer/utils.ts +100 -0
  1358. package/src/visually-hidden/createVisuallyHidden.ts +20 -4
  1359. package/dist/_chunk/createInteractionModality.js +0 -268
  1360. package/dist/_chunk/createInteractionModality.js.map +0 -1
  1361. package/dist/_chunk/createInteractionModality.jsx +0 -268
  1362. package/dist/_chunk/createInteractionModality.jsx.map +0 -1
  1363. package/dist/_chunk/focus2.js +0 -631
  1364. package/dist/_chunk/focus2.js.map +0 -1
  1365. package/dist/_chunk/focus2.jsx +0 -631
  1366. package/dist/_chunk/focus2.jsx.map +0 -1
  1367. package/dist/_chunk/visually-hidden.js.map +0 -1
  1368. package/dist/_chunk/visually-hidden.jsx.map +0 -1
  1369. package/dist/checkbox/createCheckboxGroupState.d.ts +0 -71
  1370. package/dist/checkbox/createCheckboxGroupState.d.ts.map +0 -1
  1371. package/dist/radio/createRadioGroupState.d.ts +0 -77
  1372. package/dist/radio/createRadioGroupState.d.ts.map +0 -1
  1373. package/dist/toggle/createToggleState.d.ts +0 -34
  1374. package/dist/toggle/createToggleState.d.ts.map +0 -1
  1375. package/src/checkbox/createCheckboxGroupState.ts +0 -174
  1376. package/src/radio/createRadioGroupState.ts +0 -177
  1377. package/src/toggle/createToggleState.ts +0 -86
@@ -1 +1 @@
1
- {"version":3,"file":"slider.jsx","names":["mergeProps"],"sources":["../../src/slider/createSlider.ts"],"sourcesContent":["/**\n * Provides the behavior and accessibility implementation for a slider component.\n * A slider allows users to select a value from a range.\n * Based on @react-aria/slider useSlider.\n */\n\nimport { type JSX, onCleanup, onMount } from \"solid-js\";\nimport { createLabel } from \"../label/createLabel\";\nimport { createFocusRing } from \"../interactions/createFocusRing\";\nimport { filterDOMProps } from \"../utils/filterDOMProps\";\nimport { focusWithoutScrolling } from \"../utils/focus\";\nimport { mergeProps } from \"../utils/mergeProps\";\nimport { createId } from \"../ssr\";\nimport { useLocale } from \"../i18n\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport type { SliderState, SliderOrientation } from \"@proyecto-viviana/solid-stately\";\n\nexport interface AriaSliderProps {\n /** An ID for the slider. */\n id?: string;\n /** Whether the slider is disabled. */\n isDisabled?: boolean;\n /** The label for the slider. */\n label?: JSX.Element;\n /** An accessible label for the slider when no visible label is provided. */\n \"aria-label\"?: string;\n /** The ID of an element that labels the slider. */\n \"aria-labelledby\"?: string;\n /** The ID of an element that describes the slider. */\n \"aria-describedby\"?: string;\n /** The orientation of the slider. */\n orientation?: SliderOrientation;\n /** The name for the form input. */\n name?: string;\n /** The form element this input belongs to. */\n form?: string;\n}\n\nexport interface SliderAria {\n /** Props for the label element. */\n labelProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the root group element. */\n groupProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the track element. */\n trackProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the thumb element. */\n thumbProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the hidden input element. */\n inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;\n /** Props for the output element (showing current value). */\n outputProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a slider.\n */\nexport function createSlider(\n props: MaybeAccessor<AriaSliderProps>,\n state: SliderState,\n trackRef?: () => HTMLElement | null,\n inputRef?: () => HTMLInputElement | null,\n): SliderAria {\n const getProps = () => access(props);\n const id = createId(getProps().id);\n const locale = useLocale();\n\n // Generate IDs for associated elements\n const inputId = `${id}-input`;\n const outputId = `${id}-output`;\n\n // Filter DOM props\n const domProps = () =>\n filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });\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 labelElementType: \"span\",\n });\n\n // Focus ring for keyboard focus styling\n const { isFocusVisible, focusProps } = createFocusRing({\n within: true,\n });\n\n // Track pointer state for drag handling\n let currentPointerId: number | null = null;\n\n // Calculate position from pointer event\n const getPositionFromPointer = (clientX: number, clientY: number): number => {\n const track = trackRef?.();\n if (!track) return 0;\n\n const rect = track.getBoundingClientRect();\n const isVertical = state.orientation === \"vertical\";\n\n let position: number;\n if (isVertical) {\n position = (rect.bottom - clientY) / rect.height;\n } else {\n position = (clientX - rect.left) / rect.width;\n }\n\n return Math.max(0, Math.min(1, position));\n };\n\n // Handle pointer down on track\n const onTrackPointerDown = (e: PointerEvent) => {\n if (state.isDisabled || e.button !== 0) return;\n\n e.preventDefault();\n currentPointerId = e.pointerId;\n\n const track = trackRef?.();\n if (track) {\n track.setPointerCapture(e.pointerId);\n }\n\n const percent = getPositionFromPointer(e.clientX, e.clientY);\n state.setValuePercent(percent);\n focusWithoutScrolling(inputRef?.() ?? null);\n state.setDragging(true);\n };\n\n // Handle pointer move for dragging\n const onTrackPointerMove = (e: PointerEvent) => {\n if (!state.isDragging() || e.pointerId !== currentPointerId) return;\n\n const percent = getPositionFromPointer(e.clientX, e.clientY);\n state.setValuePercent(percent);\n };\n\n // Handle pointer up to end drag\n const onTrackPointerUp = (e: PointerEvent) => {\n if (e.pointerId !== currentPointerId) return;\n\n const track = trackRef?.();\n if (track) {\n track.releasePointerCapture(e.pointerId);\n }\n\n currentPointerId = null;\n focusWithoutScrolling(inputRef?.() ?? null);\n state.setDragging(false);\n };\n\n // Keyboard navigation that is not consistently handled by the native range input.\n const onThumbKeyDown = (e: KeyboardEvent) => {\n if (state.isDisabled) return;\n\n switch (e.key) {\n case \"ArrowRight\":\n e.preventDefault();\n if (state.orientation === \"horizontal\" && locale().direction === \"rtl\") {\n state.decrement();\n } else {\n state.increment();\n }\n break;\n case \"ArrowLeft\":\n e.preventDefault();\n if (state.orientation === \"horizontal\" && locale().direction === \"rtl\") {\n state.increment();\n } else {\n state.decrement();\n }\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if (state.orientation === \"vertical\") {\n state.increment();\n } else {\n state.decrement();\n }\n break;\n case \"ArrowDown\":\n e.preventDefault();\n if (state.orientation === \"vertical\") {\n state.decrement();\n } else {\n state.increment();\n }\n break;\n case \"PageUp\":\n e.preventDefault();\n state.increment(state.pageStep / state.step);\n break;\n case \"PageDown\":\n e.preventDefault();\n state.decrement(state.pageStep / state.step);\n break;\n case \"Home\":\n e.preventDefault();\n state.setValue(state.minValue);\n break;\n case \"End\":\n e.preventDefault();\n state.setValue(state.maxValue);\n break;\n }\n };\n\n // Handle focus events\n const onFocus = () => {\n state.setFocused(true);\n };\n\n const onBlur = () => {\n state.setFocused(false);\n };\n\n // Handle pointer down on thumb (for direct thumb dragging)\n const onThumbPointerDown = (e: PointerEvent) => {\n if (state.isDisabled || e.button !== 0) return;\n\n e.preventDefault();\n e.stopPropagation(); // Prevent track from also handling\n currentPointerId = e.pointerId;\n focusWithoutScrolling(inputRef?.() ?? null);\n\n // Capture pointer on document for smooth dragging\n document.body.setPointerCapture(e.pointerId);\n state.setDragging(true);\n };\n\n // Global pointer move handler for thumb dragging\n const onDocumentPointerMove = (e: PointerEvent) => {\n if (!state.isDragging() || e.pointerId !== currentPointerId) return;\n\n const percent = getPositionFromPointer(e.clientX, e.clientY);\n state.setValuePercent(percent);\n };\n\n // Global pointer up handler\n const onDocumentPointerUp = (e: PointerEvent) => {\n if (e.pointerId !== currentPointerId) return;\n\n try {\n document.body.releasePointerCapture(e.pointerId);\n } catch {\n // Ignore if capture was already released\n }\n\n currentPointerId = null;\n focusWithoutScrolling(inputRef?.() ?? null);\n state.setDragging(false);\n };\n\n // Set up global listeners on mount (client-side only)\n onMount(() => {\n if (typeof document === \"undefined\") return;\n\n document.addEventListener(\"pointermove\", onDocumentPointerMove);\n document.addEventListener(\"pointerup\", onDocumentPointerUp);\n document.addEventListener(\"pointercancel\", onDocumentPointerUp);\n\n // Cleanup when component unmounts\n onCleanup(() => {\n document.removeEventListener(\"pointermove\", onDocumentPointerMove);\n document.removeEventListener(\"pointerup\", onDocumentPointerUp);\n document.removeEventListener(\"pointercancel\", onDocumentPointerUp);\n });\n });\n\n const labelledBy = () => (fieldProps as { \"aria-labelledby\"?: string })[\"aria-labelledby\"];\n const ariaLabel = () => (fieldProps as { \"aria-label\"?: string })[\"aria-label\"];\n\n return {\n get labelProps() {\n return labelProps as JSX.HTMLAttributes<HTMLElement>;\n },\n get groupProps() {\n return mergeProps(\n domProps(),\n fieldProps as Record<string, unknown>,\n {\n role: \"group\",\n \"data-disabled\": state.isDisabled || undefined,\n \"data-orientation\": state.orientation,\n } as Record<string, unknown>,\n ) as JSX.HTMLAttributes<HTMLElement>;\n },\n get trackProps() {\n return {\n onPointerDown: onTrackPointerDown,\n onPointerMove: onTrackPointerMove,\n onPointerUp: onTrackPointerUp,\n onPointerCancel: onTrackPointerUp,\n style: {\n position: \"relative\",\n \"touch-action\": \"none\",\n },\n \"data-disabled\": state.isDisabled || undefined,\n \"data-orientation\": state.orientation,\n \"data-dragging\": state.isDragging() || undefined,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get thumbProps() {\n const percent = state.getValuePercent();\n const isVertical = state.orientation === \"vertical\";\n\n return {\n role: \"slider\",\n \"aria-valuemin\": state.minValue,\n \"aria-valuemax\": state.maxValue,\n \"aria-valuenow\": state.value(),\n \"aria-valuetext\": state.getFormattedValue(),\n \"aria-orientation\": state.orientation,\n \"aria-disabled\": state.isDisabled || undefined,\n \"aria-labelledby\": labelledBy(),\n \"aria-label\": labelledBy() ? undefined : ariaLabel(),\n tabIndex: state.isDisabled ? undefined : 0,\n onPointerDown: onThumbPointerDown,\n onKeyDown: onThumbKeyDown,\n onFocus,\n onBlur,\n style: {\n position: \"absolute\",\n [isVertical ? \"bottom\" : \"left\"]: `${percent * 100}%`,\n transform: isVertical ? \"translateY(50%)\" : \"translateX(-50%)\",\n \"touch-action\": \"none\",\n },\n \"data-disabled\": state.isDisabled || undefined,\n \"data-dragging\": state.isDragging() || undefined,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get inputProps() {\n const p = getProps();\n\n return mergeProps(\n focusProps as Record<string, unknown>,\n {\n type: \"range\",\n id: inputId,\n \"aria-hidden\": true,\n min: state.minValue,\n max: state.maxValue,\n step: state.step,\n value: state.value(),\n name: p.name,\n form: p.form,\n disabled: state.isDisabled,\n \"aria-orientation\": state.orientation,\n \"aria-valuetext\": state.getFormattedValue(),\n \"aria-labelledby\": labelledBy(),\n \"aria-label\": labelledBy() ? undefined : ariaLabel(),\n tabIndex: -1,\n onInput: (e: Event) => {\n const target = e.target as HTMLInputElement;\n state.setValue(parseFloat(target.value));\n },\n onChange: (e: Event) => {\n const target = e.target as HTMLInputElement;\n state.setValue(parseFloat(target.value));\n },\n onFocus,\n onBlur,\n } as Record<string, unknown>,\n ) as JSX.InputHTMLAttributes<HTMLInputElement>;\n },\n get outputProps() {\n return {\n id: outputId,\n for: inputId,\n \"aria-live\": \"off\",\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"slider.jsx","names":[],"sources":["../../src/slider/createSlider.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/slider/useSlider.ts\n\n/**\n * Provides the behavior and accessibility implementation for a slider component.\n * A slider allows users to select a value from a range.\n * Based on @react-aria/slider useSlider.\n */\n\nimport { onSettled } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { createLabel } from \"../label/createLabel\";\nimport { createFocusRing } from \"../interactions/createFocusRing\";\nimport { filterDOMProps } from \"../utils/filterDOMProps\";\nimport { focusWithoutScrolling } from \"../utils/focus\";\nimport { mergeProps } from \"../utils/mergeProps\";\nimport { createId } from \"../ssr\";\nimport { useLocale } from \"../i18n\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport type { SliderState, SliderOrientation } from \"@proyecto-viviana/solid-stately\";\n\nexport interface AriaSliderProps {\n /** An ID for the slider. */\n id?: string;\n /** Whether the slider is disabled. */\n isDisabled?: boolean;\n /** The label for the slider. */\n label?: JSX.Element;\n /** An accessible label for the slider when no visible label is provided. */\n \"aria-label\"?: string;\n /** The ID of an element that labels the slider. */\n \"aria-labelledby\"?: string;\n /** The ID of an element that describes the slider. */\n \"aria-describedby\"?: string;\n /** The orientation of the slider. */\n orientation?: SliderOrientation;\n /** The name for the form input. */\n name?: string;\n /** The form element this input belongs to. */\n form?: string;\n}\n\nexport interface SliderAria {\n /** Props for the label element. */\n labelProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the root group element. */\n groupProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the track element. */\n trackProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the thumb element. */\n thumbProps: JSX.HTMLAttributes<HTMLElement>;\n /** Props for the hidden input element. */\n inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;\n /** Props for the output element (showing current value). */\n outputProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a slider.\n */\nexport function createSlider(\n props: MaybeAccessor<AriaSliderProps>,\n state: SliderState,\n trackRef?: () => HTMLElement | null,\n inputRef?: () => HTMLInputElement | null,\n): SliderAria {\n const getProps = () => access(props);\n const id = createId(getProps().id);\n const locale = useLocale();\n\n // Generate IDs for associated elements\n const inputId = `${id}-input`;\n const outputId = `${id}-output`;\n\n // Filter DOM props\n const domProps = () =>\n filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });\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 labelElementType: \"span\",\n });\n\n // Focus ring for keyboard focus styling\n const { focusProps } = createFocusRing({\n within: true,\n });\n\n // Track pointer state for drag handling\n let currentPointerId: number | null = null;\n\n // Calculate position from pointer event\n const getPositionFromPointer = (clientX: number, clientY: number): number => {\n const track = trackRef?.();\n if (!track) return 0;\n\n const rect = track.getBoundingClientRect();\n const isVertical = state.orientation === \"vertical\";\n\n let position: number;\n if (isVertical) {\n position = (rect.bottom - clientY) / rect.height;\n } else {\n position = (clientX - rect.left) / rect.width;\n }\n\n return Math.max(0, Math.min(1, position));\n };\n\n // Handle pointer down on track\n const onTrackPointerDown = (e: PointerEvent) => {\n if (state.isDisabled || e.button !== 0) return;\n\n e.preventDefault();\n currentPointerId = e.pointerId;\n\n const track = trackRef?.();\n if (track) {\n track.setPointerCapture(e.pointerId);\n }\n\n const percent = getPositionFromPointer(e.clientX, e.clientY);\n state.setValuePercent(percent);\n focusWithoutScrolling(inputRef?.() ?? null);\n state.setDragging(true);\n };\n\n // Handle pointer move for dragging\n const onTrackPointerMove = (e: PointerEvent) => {\n if (!state.isDragging() || e.pointerId !== currentPointerId) return;\n\n const percent = getPositionFromPointer(e.clientX, e.clientY);\n state.setValuePercent(percent);\n };\n\n // Handle pointer up to end drag\n const onTrackPointerUp = (e: PointerEvent) => {\n if (e.pointerId !== currentPointerId) return;\n\n const track = trackRef?.();\n if (track) {\n track.releasePointerCapture(e.pointerId);\n }\n\n currentPointerId = null;\n focusWithoutScrolling(inputRef?.() ?? null);\n state.setDragging(false);\n };\n\n // Keyboard navigation that is not consistently handled by the native range input.\n const onThumbKeyDown = (e: KeyboardEvent) => {\n if (state.isDisabled) return;\n\n switch (e.key) {\n case \"ArrowRight\":\n e.preventDefault();\n if (state.orientation === \"horizontal\" && locale().direction === \"rtl\") {\n state.decrement();\n } else {\n state.increment();\n }\n break;\n case \"ArrowLeft\":\n e.preventDefault();\n if (state.orientation === \"horizontal\" && locale().direction === \"rtl\") {\n state.increment();\n } else {\n state.decrement();\n }\n break;\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.increment(state.pageStep / state.step);\n break;\n case \"PageDown\":\n e.preventDefault();\n state.decrement(state.pageStep / state.step);\n break;\n case \"Home\":\n e.preventDefault();\n state.setValue(state.minValue);\n break;\n case \"End\":\n e.preventDefault();\n state.setValue(state.maxValue);\n break;\n }\n };\n\n // Handle focus events\n const onFocus = () => {\n state.setFocused(true);\n };\n\n const onBlur = () => {\n state.setFocused(false);\n };\n\n // Handle pointer down on thumb (for direct thumb dragging)\n const onThumbPointerDown = (e: PointerEvent) => {\n if (state.isDisabled || e.button !== 0) return;\n\n e.preventDefault();\n e.stopPropagation(); // Prevent track from also handling\n currentPointerId = e.pointerId;\n focusWithoutScrolling(inputRef?.() ?? null);\n\n // Capture pointer on document for smooth dragging\n document.body.setPointerCapture(e.pointerId);\n state.setDragging(true);\n };\n\n // Global pointer move handler for thumb dragging\n const onDocumentPointerMove = (e: PointerEvent) => {\n if (!state.isDragging() || e.pointerId !== currentPointerId) return;\n\n const percent = getPositionFromPointer(e.clientX, e.clientY);\n state.setValuePercent(percent);\n };\n\n // Global pointer up handler\n const onDocumentPointerUp = (e: PointerEvent) => {\n if (e.pointerId !== currentPointerId) return;\n\n try {\n document.body.releasePointerCapture(e.pointerId);\n } catch {\n // Ignore if capture was already released\n }\n\n currentPointerId = null;\n focusWithoutScrolling(inputRef?.() ?? null);\n state.setDragging(false);\n };\n\n // Set up global listeners on mount (client-side only)\n onSettled(() => {\n if (typeof document === \"undefined\") return;\n\n document.addEventListener(\"pointermove\", onDocumentPointerMove);\n document.addEventListener(\"pointerup\", onDocumentPointerUp);\n document.addEventListener(\"pointercancel\", onDocumentPointerUp);\n\n return () => {\n document.removeEventListener(\"pointermove\", onDocumentPointerMove);\n document.removeEventListener(\"pointerup\", onDocumentPointerUp);\n document.removeEventListener(\"pointercancel\", onDocumentPointerUp);\n };\n });\n\n const labelledBy = () => (fieldProps as { \"aria-labelledby\"?: string })[\"aria-labelledby\"];\n const ariaLabel = () => (fieldProps as { \"aria-label\"?: string })[\"aria-label\"];\n\n return {\n get labelProps() {\n return labelProps as JSX.HTMLAttributes<HTMLElement>;\n },\n get groupProps() {\n return mergeProps(\n domProps(),\n fieldProps as Record<string, unknown>,\n {\n role: \"group\",\n \"data-disabled\": state.isDisabled || undefined,\n \"data-orientation\": state.orientation,\n } as Record<string, unknown>,\n ) as JSX.HTMLAttributes<HTMLElement>;\n },\n get trackProps() {\n return {\n onPointerDown: onTrackPointerDown,\n onPointerMove: onTrackPointerMove,\n onPointerUp: onTrackPointerUp,\n onPointerCancel: onTrackPointerUp,\n style: {\n position: \"relative\",\n \"touch-action\": \"none\",\n },\n \"data-disabled\": state.isDisabled || undefined,\n \"data-orientation\": state.orientation,\n \"data-dragging\": state.isDragging() || undefined,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get thumbProps() {\n const percent = state.getValuePercent();\n const isVertical = state.orientation === \"vertical\";\n\n return {\n role: \"slider\",\n \"aria-valuemin\": state.minValue,\n \"aria-valuemax\": state.maxValue,\n \"aria-valuenow\": state.value(),\n \"aria-valuetext\": state.getFormattedValue(),\n \"aria-orientation\": state.orientation,\n \"aria-disabled\": state.isDisabled ? \"true\" : undefined,\n \"aria-labelledby\": labelledBy(),\n \"aria-label\": labelledBy() ? undefined : ariaLabel(),\n tabIndex: state.isDisabled ? undefined : 0,\n onPointerDown: onThumbPointerDown,\n onKeyDown: onThumbKeyDown,\n onFocus,\n onBlur,\n style: {\n position: \"absolute\",\n [isVertical ? \"bottom\" : \"left\"]: `${percent * 100}%`,\n transform: isVertical ? \"translateY(50%)\" : \"translateX(-50%)\",\n \"touch-action\": \"none\",\n },\n \"data-disabled\": state.isDisabled || undefined,\n \"data-dragging\": state.isDragging() || undefined,\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n get inputProps() {\n const p = getProps();\n\n return mergeProps(\n focusProps as Record<string, unknown>,\n {\n type: \"range\",\n id: inputId,\n \"aria-hidden\": \"true\",\n min: state.minValue,\n max: state.maxValue,\n step: state.step,\n value: state.value(),\n name: p.name,\n form: p.form,\n disabled: state.isDisabled,\n \"aria-orientation\": state.orientation,\n \"aria-valuetext\": state.getFormattedValue(),\n \"aria-labelledby\": labelledBy(),\n \"aria-label\": labelledBy() ? undefined : ariaLabel(),\n tabIndex: -1,\n onInput: (e: Event) => {\n const target = e.target as HTMLInputElement;\n state.setValue(parseFloat(target.value));\n },\n onChange: (e: Event) => {\n const target = e.target as HTMLInputElement;\n state.setValue(parseFloat(target.value));\n },\n onFocus,\n onBlur,\n } as Record<string, unknown>,\n ) as JSX.InputHTMLAttributes<HTMLInputElement>;\n },\n get outputProps() {\n return {\n id: outputId,\n for: inputId,\n \"aria-live\": \"off\",\n } as JSX.HTMLAttributes<HTMLElement>;\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,SAAgB,aACd,OACA,OACA,UACA,UACY;CACZ,MAAM,iBAAiB,OAAO,KAAK;CACnC,MAAM,KAAK,SAAS,SAAS,CAAC,CAAC,EAAE;CACjC,MAAM,SAAS,UAAU;CAGzB,MAAM,UAAU,GAAG,GAAG;CACtB,MAAM,WAAW,GAAG,GAAG;CAGvB,MAAM,iBACJ,eAAe,SAAS,GAAyC,EAAE,WAAW,KAAK,CAAC;CAGtF,MAAM,EAAE,YAAY,eAAe,YAAY;EAC7C,IAAI,KAAK;GACP,OAAO;EACT;EACA,IAAI,QAAQ;GACV,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,eAAe;GACjB,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,oBAAoB;GACtB,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,kBAAkB;CACpB,CAAC;CAGD,MAAM,EAAE,eAAe,gBAAgB,EACrC,QAAQ,KACV,CAAC;CAGD,IAAI,mBAAkC;CAGtC,MAAM,0BAA0B,SAAiB,YAA4B;EAC3E,MAAM,QAAQ,WAAW;EACzB,IAAI,CAAC,OAAO,OAAO;EAEnB,MAAM,OAAO,MAAM,sBAAsB;EACzC,MAAM,aAAa,MAAM,gBAAgB;EAEzC,IAAI;EACJ,IAAI,YACF,YAAY,KAAK,SAAS,WAAW,KAAK;OAE1C,YAAY,UAAU,KAAK,QAAQ,KAAK;EAG1C,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,QAAQ,CAAC;CAC1C;CAGA,MAAM,sBAAsB,MAAoB;EAC9C,IAAI,MAAM,cAAc,EAAE,WAAW,GAAG;EAExC,EAAE,eAAe;EACjB,mBAAmB,EAAE;EAErB,MAAM,QAAQ,WAAW;EACzB,IAAI,OACF,MAAM,kBAAkB,EAAE,SAAS;EAGrC,MAAM,UAAU,uBAAuB,EAAE,SAAS,EAAE,OAAO;EAC3D,MAAM,gBAAgB,OAAO;EAC7B,sBAAsB,WAAW,KAAK,IAAI;EAC1C,MAAM,YAAY,IAAI;CACxB;CAGA,MAAM,sBAAsB,MAAoB;EAC9C,IAAI,CAAC,MAAM,WAAW,KAAK,EAAE,cAAc,kBAAkB;EAE7D,MAAM,UAAU,uBAAuB,EAAE,SAAS,EAAE,OAAO;EAC3D,MAAM,gBAAgB,OAAO;CAC/B;CAGA,MAAM,oBAAoB,MAAoB;EAC5C,IAAI,EAAE,cAAc,kBAAkB;EAEtC,MAAM,QAAQ,WAAW;EACzB,IAAI,OACF,MAAM,sBAAsB,EAAE,SAAS;EAGzC,mBAAmB;EACnB,sBAAsB,WAAW,KAAK,IAAI;EAC1C,MAAM,YAAY,KAAK;CACzB;CAGA,MAAM,kBAAkB,MAAqB;EAC3C,IAAI,MAAM,YAAY;EAEtB,QAAQ,EAAE,KAAV;GACE,KAAK;IACH,EAAE,eAAe;IACjB,IAAI,MAAM,gBAAgB,gBAAgB,OAAO,CAAC,CAAC,cAAc,OAC/D,MAAM,UAAU;SAEhB,MAAM,UAAU;IAElB;GACF,KAAK;IACH,EAAE,eAAe;IACjB,IAAI,MAAM,gBAAgB,gBAAgB,OAAO,CAAC,CAAC,cAAc,OAC/D,MAAM,UAAU;SAEhB,MAAM,UAAU;IAElB;GACF,KAAK;IACH,EAAE,eAAe;IACjB,MAAM,UAAU;IAChB;GACF,KAAK;IACH,EAAE,eAAe;IACjB,MAAM,UAAU;IAChB;GACF,KAAK;IACH,EAAE,eAAe;IACjB,MAAM,UAAU,MAAM,WAAW,MAAM,IAAI;IAC3C;GACF,KAAK;IACH,EAAE,eAAe;IACjB,MAAM,UAAU,MAAM,WAAW,MAAM,IAAI;IAC3C;GACF,KAAK;IACH,EAAE,eAAe;IACjB,MAAM,SAAS,MAAM,QAAQ;IAC7B;GACF,KAAK;IACH,EAAE,eAAe;IACjB,MAAM,SAAS,MAAM,QAAQ;EAEjC;CACF;CAGA,MAAM,gBAAgB;EACpB,MAAM,WAAW,IAAI;CACvB;CAEA,MAAM,eAAe;EACnB,MAAM,WAAW,KAAK;CACxB;CAGA,MAAM,sBAAsB,MAAoB;EAC9C,IAAI,MAAM,cAAc,EAAE,WAAW,GAAG;EAExC,EAAE,eAAe;EACjB,EAAE,gBAAgB;EAClB,mBAAmB,EAAE;EACrB,sBAAsB,WAAW,KAAK,IAAI;EAG1C,SAAS,KAAK,kBAAkB,EAAE,SAAS;EAC3C,MAAM,YAAY,IAAI;CACxB;CAGA,MAAM,yBAAyB,MAAoB;EACjD,IAAI,CAAC,MAAM,WAAW,KAAK,EAAE,cAAc,kBAAkB;EAE7D,MAAM,UAAU,uBAAuB,EAAE,SAAS,EAAE,OAAO;EAC3D,MAAM,gBAAgB,OAAO;CAC/B;CAGA,MAAM,uBAAuB,MAAoB;EAC/C,IAAI,EAAE,cAAc,kBAAkB;EAEtC,IAAI;GACF,SAAS,KAAK,sBAAsB,EAAE,SAAS;EACjD,QAAQ,CAER;EAEA,mBAAmB;EACnB,sBAAsB,WAAW,KAAK,IAAI;EAC1C,MAAM,YAAY,KAAK;CACzB;CAGA,gBAAgB;EACd,IAAI,OAAO,aAAa,aAAa;EAErC,SAAS,iBAAiB,eAAe,qBAAqB;EAC9D,SAAS,iBAAiB,aAAa,mBAAmB;EAC1D,SAAS,iBAAiB,iBAAiB,mBAAmB;EAE9D,aAAa;GACX,SAAS,oBAAoB,eAAe,qBAAqB;GACjE,SAAS,oBAAoB,aAAa,mBAAmB;GAC7D,SAAS,oBAAoB,iBAAiB,mBAAmB;EACnE;CACF,CAAC;CAED,MAAM,mBAAoB,WAA8C;CACxE,MAAM,kBAAmB,WAAyC;CAElE,OAAO;EACL,IAAI,aAAa;GACf,OAAO;EACT;EACA,IAAI,aAAa;GACf,OAAO,WACL,SAAS,GACT,YACA;IACE,MAAM;IACN,iBAAiB,MAAM,cAAc,KAAA;IACrC,oBAAoB,MAAM;GAC5B,CACF;EACF;EACA,IAAI,aAAa;GACf,OAAO;IACL,eAAe;IACf,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,OAAO;KACL,UAAU;KACV,gBAAgB;IAClB;IACA,iBAAiB,MAAM,cAAc,KAAA;IACrC,oBAAoB,MAAM;IAC1B,iBAAiB,MAAM,WAAW,KAAK,KAAA;GACzC;EACF;EACA,IAAI,aAAa;GACf,MAAM,UAAU,MAAM,gBAAgB;GACtC,MAAM,aAAa,MAAM,gBAAgB;GAEzC,OAAO;IACL,MAAM;IACN,iBAAiB,MAAM;IACvB,iBAAiB,MAAM;IACvB,iBAAiB,MAAM,MAAM;IAC7B,kBAAkB,MAAM,kBAAkB;IAC1C,oBAAoB,MAAM;IAC1B,iBAAiB,MAAM,aAAa,SAAS,KAAA;IAC7C,mBAAmB,WAAW;IAC9B,cAAc,WAAW,IAAI,KAAA,IAAY,UAAU;IACnD,UAAU,MAAM,aAAa,KAAA,IAAY;IACzC,eAAe;IACf,WAAW;IACX;IACA;IACA,OAAO;KACL,UAAU;MACT,aAAa,WAAW,SAAS,GAAG,UAAU,IAAI;KACnD,WAAW,aAAa,oBAAoB;KAC5C,gBAAgB;IAClB;IACA,iBAAiB,MAAM,cAAc,KAAA;IACrC,iBAAiB,MAAM,WAAW,KAAK,KAAA;GACzC;EACF;EACA,IAAI,aAAa;GACf,MAAM,IAAI,SAAS;GAEnB,OAAO,WACL,YACA;IACE,MAAM;IACN,IAAI;IACJ,eAAe;IACf,KAAK,MAAM;IACX,KAAK,MAAM;IACX,MAAM,MAAM;IACZ,OAAO,MAAM,MAAM;IACnB,MAAM,EAAE;IACR,MAAM,EAAE;IACR,UAAU,MAAM;IAChB,oBAAoB,MAAM;IAC1B,kBAAkB,MAAM,kBAAkB;IAC1C,mBAAmB,WAAW;IAC9B,cAAc,WAAW,IAAI,KAAA,IAAY,UAAU;IACnD,UAAU;IACV,UAAU,MAAa;KACrB,MAAM,SAAS,EAAE;KACjB,MAAM,SAAS,WAAW,OAAO,KAAK,CAAC;IACzC;IACA,WAAW,MAAa;KACtB,MAAM,SAAS,EAAE;KACjB,MAAM,SAAS,WAAW,OAAO,KAAK,CAAC;IACzC;IACA;IACA;GACF,CACF;EACF;EACA,IAAI,cAAc;GAChB,OAAO;IACL,IAAI;IACJ,KAAK;IACL,aAAa;GACf;EACF;CACF;AACF"}
@@ -1,44 +1,56 @@
1
+ /*
2
+ * Copyright 2020 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/spinbutton/useSpinButton.ts
1
13
  import { t as access } from "./reactivity.js";
2
14
  import { n as createStringFormatter } from "./createStringFormatter.js";
3
15
  import { n as clearAnnouncer, t as announce } from "./announce.js";
4
- import { createEffect, createMemo } from "solid-js";
16
+ import { createMemo, createTrackedEffect } from "solid-js";
5
17
  import { LocalizedStringDictionary } from "@internationalized/string";
6
18
  //#region src/spinbutton/intl.ts
7
19
  const spinButtonStrings = {
8
- "ar-AE": { "Empty": `\u{641}\u{627}\u{631}\u{63A}` },
9
- "bg-BG": { "Empty": `\u{418}\u{437}\u{43F}\u{440}\u{430}\u{437}\u{43D}\u{438}` },
10
- "cs-CZ": { "Empty": `Pr\xe1zdn\xe9` },
11
- "da-DK": { "Empty": `Tom` },
12
- "de-DE": { "Empty": `Leer` },
13
- "el-GR": { "Empty": `\u{386}\u{3B4}\u{3B5}\u{3B9}\u{3BF}` },
14
- "en-US": { "Empty": `Empty` },
15
- "es-ES": { "Empty": `Vac\xedo` },
16
- "et-EE": { "Empty": `T\xfchjenda` },
17
- "fi-FI": { "Empty": `Tyhj\xe4` },
18
- "fr-FR": { "Empty": `Vide` },
19
- "he-IL": { "Empty": `\u{5E8}\u{5D9}\u{5E7}` },
20
- "hr-HR": { "Empty": `Prazno` },
21
- "hu-HU": { "Empty": `\xdcres` },
22
- "it-IT": { "Empty": `Vuoto` },
23
- "ja-JP": { "Empty": `\u{7A7A}` },
24
- "ko-KR": { "Empty": `\u{BE44}\u{C5B4} \u{C788}\u{C74C}` },
25
- "lt-LT": { "Empty": `Tu\u{161}\u{10D}ias` },
26
- "lv-LV": { "Empty": `Tuk\u{161}s` },
27
- "nb-NO": { "Empty": `Tom` },
28
- "nl-NL": { "Empty": `Leeg` },
29
- "pl-PL": { "Empty": `Pusty` },
30
- "pt-BR": { "Empty": `Vazio` },
31
- "pt-PT": { "Empty": `Vazio` },
32
- "ro-RO": { "Empty": `Gol` },
33
- "ru-RU": { "Empty": `\u{41D}\u{435} \u{437}\u{430}\u{43F}\u{43E}\u{43B}\u{43D}\u{435}\u{43D}\u{43E}` },
34
- "sk-SK": { "Empty": `Pr\xe1zdne` },
35
- "sl-SI": { "Empty": `Prazen` },
36
- "sr-SP": { "Empty": `Prazno` },
37
- "sv-SE": { "Empty": `Tomt` },
38
- "tr-TR": { "Empty": `Bo\u{15F}` },
39
- "uk-UA": { "Empty": `\u{41F}\u{443}\u{441}\u{442}\u{43E}` },
40
- "zh-CN": { "Empty": `\u{7A7A}` },
41
- "zh-TW": { "Empty": `\u{7A7A}\u{767D}` }
20
+ "ar-AE": { Empty: `\u{641}\u{627}\u{631}\u{63A}` },
21
+ "bg-BG": { Empty: `\u{418}\u{437}\u{43F}\u{440}\u{430}\u{437}\u{43D}\u{438}` },
22
+ "cs-CZ": { Empty: `Pr\xe1zdn\xe9` },
23
+ "da-DK": { Empty: `Tom` },
24
+ "de-DE": { Empty: `Leer` },
25
+ "el-GR": { Empty: `\u{386}\u{3B4}\u{3B5}\u{3B9}\u{3BF}` },
26
+ "en-US": { Empty: `Empty` },
27
+ "es-ES": { Empty: `Vac\xedo` },
28
+ "et-EE": { Empty: `T\xfchjenda` },
29
+ "fi-FI": { Empty: `Tyhj\xe4` },
30
+ "fr-FR": { Empty: `Vide` },
31
+ "he-IL": { Empty: `\u{5E8}\u{5D9}\u{5E7}` },
32
+ "hr-HR": { Empty: `Prazno` },
33
+ "hu-HU": { Empty: `\xdcres` },
34
+ "it-IT": { Empty: `Vuoto` },
35
+ "ja-JP": { Empty: `\u{7A7A}` },
36
+ "ko-KR": { Empty: `\u{BE44}\u{C5B4} \u{C788}\u{C74C}` },
37
+ "lt-LT": { Empty: `Tu\u{161}\u{10D}ias` },
38
+ "lv-LV": { Empty: `Tuk\u{161}s` },
39
+ "nb-NO": { Empty: `Tom` },
40
+ "nl-NL": { Empty: `Leeg` },
41
+ "pl-PL": { Empty: `Pusty` },
42
+ "pt-BR": { Empty: `Vazio` },
43
+ "pt-PT": { Empty: `Vazio` },
44
+ "ro-RO": { Empty: `Gol` },
45
+ "ru-RU": { Empty: `\u{41D}\u{435} \u{437}\u{430}\u{43F}\u{43E}\u{43B}\u{43D}\u{435}\u{43D}\u{43E}` },
46
+ "sk-SK": { Empty: `Pr\xe1zdne` },
47
+ "sl-SI": { Empty: `Prazen` },
48
+ "sr-SP": { Empty: `Prazno` },
49
+ "sv-SE": { Empty: `Tomt` },
50
+ "tr-TR": { Empty: `Bo\u{15F}` },
51
+ "uk-UA": { Empty: `\u{41F}\u{443}\u{441}\u{442}\u{43E}` },
52
+ "zh-CN": { Empty: `\u{7A7A}` },
53
+ "zh-TW": { Empty: `\u{7A7A}\u{767D}` }
42
54
  };
43
55
  const spinButtonDictionary = new LocalizedStringDictionary(spinButtonStrings);
44
56
  //#endregion
@@ -100,12 +112,10 @@ function createSpinButton(props) {
100
112
  p.onDecrementToMin();
101
113
  }
102
114
  break;
103
- case "End":
104
- if (p.onIncrementToMax) {
105
- e.preventDefault();
106
- p.onIncrementToMax();
107
- }
108
- break;
115
+ case "End": if (p.onIncrementToMax) {
116
+ e.preventDefault();
117
+ p.onIncrementToMax();
118
+ }
109
119
  }
110
120
  };
111
121
  let isFocused = false;
@@ -119,7 +129,7 @@ function createSpinButton(props) {
119
129
  const p = getProps();
120
130
  return p.textValue === "" ? stringFormatter().format("Empty") : (p.textValue || `${p.value}`).replace("-", "−");
121
131
  });
122
- createEffect(() => {
132
+ createTrackedEffect(() => {
123
133
  const value = ariaTextValue();
124
134
  if (isFocused) {
125
135
  clearAnnouncer("assertive");
@@ -1 +1 @@
1
- {"version":3,"file":"spinbutton.js","names":[],"sources":["../../src/spinbutton/intl.ts","../../src/spinbutton/createSpinButton.ts"],"sourcesContent":["// Spinbutton announcement catalog, ported verbatim from @react-aria/spinbutton's\n// intl/*.json (34 locales). Keep in sync with the vendored react-spectrum source on\n// every pin bump.\nimport { LocalizedStringDictionary } from \"@internationalized/string\";\n\nexport type SpinButtonStringKey = \"Empty\";\n\nexport const spinButtonStrings: Record<string, Record<SpinButtonStringKey, string>> = {\n \"ar-AE\": {\n \"Empty\": `\\u{641}\\u{627}\\u{631}\\u{63A}`\n },\n \"bg-BG\": {\n \"Empty\": `\\u{418}\\u{437}\\u{43F}\\u{440}\\u{430}\\u{437}\\u{43D}\\u{438}`\n },\n \"cs-CZ\": {\n \"Empty\": `Pr\\xe1zdn\\xe9`\n },\n \"da-DK\": {\n \"Empty\": `Tom`\n },\n \"de-DE\": {\n \"Empty\": `Leer`\n },\n \"el-GR\": {\n \"Empty\": `\\u{386}\\u{3B4}\\u{3B5}\\u{3B9}\\u{3BF}`\n },\n \"en-US\": {\n \"Empty\": `Empty`\n },\n \"es-ES\": {\n \"Empty\": `Vac\\xedo`\n },\n \"et-EE\": {\n \"Empty\": `T\\xfchjenda`\n },\n \"fi-FI\": {\n \"Empty\": `Tyhj\\xe4`\n },\n \"fr-FR\": {\n \"Empty\": `Vide`\n },\n \"he-IL\": {\n \"Empty\": `\\u{5E8}\\u{5D9}\\u{5E7}`\n },\n \"hr-HR\": {\n \"Empty\": `Prazno`\n },\n \"hu-HU\": {\n \"Empty\": `\\xdcres`\n },\n \"it-IT\": {\n \"Empty\": `Vuoto`\n },\n \"ja-JP\": {\n \"Empty\": `\\u{7A7A}`\n },\n \"ko-KR\": {\n \"Empty\": `\\u{BE44}\\u{C5B4} \\u{C788}\\u{C74C}`\n },\n \"lt-LT\": {\n \"Empty\": `Tu\\u{161}\\u{10D}ias`\n },\n \"lv-LV\": {\n \"Empty\": `Tuk\\u{161}s`\n },\n \"nb-NO\": {\n \"Empty\": `Tom`\n },\n \"nl-NL\": {\n \"Empty\": `Leeg`\n },\n \"pl-PL\": {\n \"Empty\": `Pusty`\n },\n \"pt-BR\": {\n \"Empty\": `Vazio`\n },\n \"pt-PT\": {\n \"Empty\": `Vazio`\n },\n \"ro-RO\": {\n \"Empty\": `Gol`\n },\n \"ru-RU\": {\n \"Empty\": `\\u{41D}\\u{435} \\u{437}\\u{430}\\u{43F}\\u{43E}\\u{43B}\\u{43D}\\u{435}\\u{43D}\\u{43E}`\n },\n \"sk-SK\": {\n \"Empty\": `Pr\\xe1zdne`\n },\n \"sl-SI\": {\n \"Empty\": `Prazen`\n },\n \"sr-SP\": {\n \"Empty\": `Prazno`\n },\n \"sv-SE\": {\n \"Empty\": `Tomt`\n },\n \"tr-TR\": {\n \"Empty\": `Bo\\u{15F}`\n },\n \"uk-UA\": {\n \"Empty\": `\\u{41F}\\u{443}\\u{441}\\u{442}\\u{43E}`\n },\n \"zh-CN\": {\n \"Empty\": `\\u{7A7A}`\n },\n \"zh-TW\": {\n \"Empty\": `\\u{7A7A}\\u{767D}`\n },\n};\n\nexport const spinButtonDictionary = new LocalizedStringDictionary<SpinButtonStringKey, string>(\n spinButtonStrings,\n);\n","/**\n * createSpinButton hook for Solidaria\n *\n * Provides the ARIA spinbutton props and live-region announcement behaviour for\n * a single spinbutton (e.g. a date-field segment). Port of the keyboard/announce\n * portion of @react-aria/spinbutton `useSpinButton`. The pointer press-and-hold\n * button machinery (increment/decrement buttons) is intentionally omitted — date\n * segments drive value changes through the keyboard only.\n */\n\nimport { createMemo, createEffect } from \"solid-js\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport { createStringFormatter } from \"../i18n\";\nimport { announce, clearAnnouncer } from \"../live-announcer\";\nimport { spinButtonStrings, type SpinButtonStringKey } from \"./intl\";\n\nexport interface SpinButtonProps {\n /** The current value of the spinbutton. */\n value?: number;\n /** A human-readable text alternative for the value. */\n textValue?: string;\n /** The smallest value allowed. */\n minValue?: number;\n /** The largest value allowed. */\n maxValue?: number;\n /** Whether the spinbutton is disabled. */\n isDisabled?: boolean;\n /** Whether the spinbutton is read only. */\n isReadOnly?: boolean;\n /** Whether the spinbutton is required. */\n isRequired?: boolean;\n onIncrement?: () => void;\n onIncrementPage?: () => void;\n onDecrement?: () => void;\n onDecrementPage?: () => void;\n onDecrementToMin?: () => void;\n onIncrementToMax?: () => void;\n}\n\nexport interface SpinButtonAria {\n /** Props for the spinbutton element. */\n spinButtonProps: Record<string, unknown>;\n}\n\n/**\n * Provides the behaviour and accessibility implementation for a spinbutton.\n */\nexport function createSpinButton(props: MaybeAccessor<SpinButtonProps>): SpinButtonAria {\n const getProps = () => access(props);\n const stringFormatter = createStringFormatter<SpinButtonStringKey>(\n spinButtonStrings,\n \"@react-aria/spinbutton\",\n );\n\n const onKeyDown = (e: KeyboardEvent) => {\n const p = getProps();\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || p.isReadOnly || e.isComposing) {\n return;\n }\n\n switch (e.key) {\n // Upstream deliberately falls through PageUp → ArrowUp when no page\n // handler exists; our tsconfig forbids lexical fallthrough, so the\n // PageUp case mirrors that branch inline instead.\n case \"PageUp\":\n if (p.onIncrementPage) {\n e.preventDefault();\n p.onIncrementPage();\n } else if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n case \"ArrowUp\":\n case \"Up\":\n if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n // Same faithful fallthrough as PageUp, mirrored inline (PageDown → ArrowDown).\n case \"PageDown\":\n if (p.onDecrementPage) {\n e.preventDefault();\n p.onDecrementPage();\n } else if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"ArrowDown\":\n case \"Down\":\n if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"Home\":\n if (p.onDecrementToMin) {\n e.preventDefault();\n p.onDecrementToMin();\n }\n break;\n case \"End\":\n if (p.onIncrementToMax) {\n e.preventDefault();\n p.onIncrementToMax();\n }\n break;\n }\n };\n\n // Non-reactive focus flag — matches upstream's `isFocused` ref. Toggling it must\n // NOT re-run the announce effect; only a change in `ariaTextValue` announces.\n let isFocused = false;\n const onFocus = () => {\n isFocused = true;\n };\n const onBlur = () => {\n isFocused = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212) so VoiceOver\n // announces it as \"minus\". Replace the empty string with the word \"Empty\".\n const ariaTextValue = createMemo(() => {\n const p = getProps();\n return p.textValue === \"\"\n ? stringFormatter().format(\"Empty\")\n : (p.textValue || `${p.value}`).replace(\"-\", \"−\");\n });\n\n createEffect(() => {\n const value = ariaTextValue();\n if (isFocused) {\n clearAnnouncer(\"assertive\");\n announce(value, \"assertive\");\n }\n });\n\n const spinButtonProps = createMemo(() => {\n const p = getProps();\n const value = p.value;\n return {\n role: \"spinbutton\",\n \"aria-valuenow\": value !== undefined && !isNaN(value) ? value : undefined,\n \"aria-valuetext\": ariaTextValue(),\n \"aria-valuemin\": p.minValue,\n \"aria-valuemax\": p.maxValue,\n \"aria-disabled\": p.isDisabled || undefined,\n \"aria-readonly\": p.isReadOnly || undefined,\n \"aria-required\": p.isRequired || undefined,\n onKeyDown,\n onFocus,\n onBlur,\n };\n });\n\n return {\n get spinButtonProps() {\n return spinButtonProps();\n },\n };\n}\n"],"mappings":";;;;;;AAOA,MAAa,oBAAyE;CACpF,SAAS,EACT,SAAS,+BACT;CACA,SAAS,EACT,SAAS,2DACT;CACA,SAAS,EACT,SAAS,gBACT;CACA,SAAS,EACT,SAAS,MACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,sCACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,cACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,wBACT;CACA,SAAS,EACT,SAAS,SACT;CACA,SAAS,EACT,SAAS,UACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,oCACT;CACA,SAAS,EACT,SAAS,sBACT;CACA,SAAS,EACT,SAAS,cACT;CACA,SAAS,EACT,SAAS,MACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,MACT;CACA,SAAS,EACT,SAAS,iFACT;CACA,SAAS,EACT,SAAS,aACT;CACA,SAAS,EACT,SAAS,SACT;CACA,SAAS,EACT,SAAS,SACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,YACT;CACA,SAAS,EACT,SAAS,sCACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,mBACT;AACF;AAEA,MAAa,uBAAuB,IAAI,0BACtC,iBACF;;;;;;;;;;;;;;;ACnEA,SAAgB,iBAAiB,OAAuD;CACtF,MAAM,iBAAiB,OAAO,KAAK;CACnC,MAAM,kBAAkB,sBACtB,mBACA,wBACF;CAEA,MAAM,aAAa,MAAqB;EACtC,MAAM,IAAI,SAAS;EACnB,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,aACxE;EAGF,QAAQ,EAAE,KAAV;GAIE,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GAEF,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;IACH,IAAI,EAAE,kBAAkB;KACtB,EAAE,eAAe;KACjB,EAAE,iBAAiB;IACrB;IACA;GACF,KAAK;IACH,IAAI,EAAE,kBAAkB;KACtB,EAAE,eAAe;KACjB,EAAE,iBAAiB;IACrB;IACA;EACJ;CACF;CAIA,IAAI,YAAY;CAChB,MAAM,gBAAgB;EACpB,YAAY;CACd;CACA,MAAM,eAAe;EACnB,YAAY;CACd;CAIA,MAAM,gBAAgB,iBAAiB;EACrC,MAAM,IAAI,SAAS;EACnB,OAAO,EAAE,cAAc,KACnB,gBAAgB,CAAC,CAAC,OAAO,OAAO,KAC/B,EAAE,aAAa,GAAG,EAAE,QAAA,CAAS,QAAQ,KAAK,GAAG;CACpD,CAAC;CAED,mBAAmB;EACjB,MAAM,QAAQ,cAAc;EAC5B,IAAI,WAAW;GACb,eAAe,WAAW;GAC1B,SAAS,OAAO,WAAW;EAC7B;CACF,CAAC;CAED,MAAM,kBAAkB,iBAAiB;EACvC,MAAM,IAAI,SAAS;EACnB,MAAM,QAAQ,EAAE;EAChB,OAAO;GACL,MAAM;GACN,iBAAiB,UAAU,KAAA,KAAa,CAAC,MAAM,KAAK,IAAI,QAAQ,KAAA;GAChE,kBAAkB,cAAc;GAChC,iBAAiB,EAAE;GACnB,iBAAiB,EAAE;GACnB,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC;GACA;GACA;EACF;CACF,CAAC;CAED,OAAO,EACL,IAAI,kBAAkB;EACpB,OAAO,gBAAgB;CACzB,EACF;AACF"}
1
+ {"version":3,"file":"spinbutton.js","names":[],"sources":["../../src/spinbutton/intl.ts","../../src/spinbutton/createSpinButton.ts"],"sourcesContent":["// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ar-AE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/bg-BG.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/cs-CZ.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/da-DK.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/de-DE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/el-GR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/en-US.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/es-ES.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/et-EE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/fi-FI.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/fr-FR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/he-IL.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/hr-HR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/hu-HU.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/it-IT.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ja-JP.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ko-KR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/lt-LT.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/lv-LV.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/nb-NO.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/nl-NL.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/pl-PL.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/pt-BR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/pt-PT.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ro-RO.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ru-RU.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sk-SK.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sl-SI.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sr-SP.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sv-SE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/tr-TR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/uk-UA.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/zh-CN.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/zh-TW.json\n\n// Ported from @react-aria/spinbutton intl catalog.\n// Spinbutton announcement catalog, ported verbatim from @react-aria/spinbutton's\n// intl/*.json (34 locales). Keep in sync with the vendored react-spectrum source on\n// every pin bump.\nimport { LocalizedStringDictionary } from \"@internationalized/string\";\n\nexport type SpinButtonStringKey = \"Empty\";\n\nexport const spinButtonStrings: Record<string, Record<SpinButtonStringKey, string>> = {\n \"ar-AE\": {\n Empty: `\\u{641}\\u{627}\\u{631}\\u{63A}`,\n },\n \"bg-BG\": {\n Empty: `\\u{418}\\u{437}\\u{43F}\\u{440}\\u{430}\\u{437}\\u{43D}\\u{438}`,\n },\n \"cs-CZ\": {\n Empty: `Pr\\xe1zdn\\xe9`,\n },\n \"da-DK\": {\n Empty: `Tom`,\n },\n \"de-DE\": {\n Empty: `Leer`,\n },\n \"el-GR\": {\n Empty: `\\u{386}\\u{3B4}\\u{3B5}\\u{3B9}\\u{3BF}`,\n },\n \"en-US\": {\n Empty: `Empty`,\n },\n \"es-ES\": {\n Empty: `Vac\\xedo`,\n },\n \"et-EE\": {\n Empty: `T\\xfchjenda`,\n },\n \"fi-FI\": {\n Empty: `Tyhj\\xe4`,\n },\n \"fr-FR\": {\n Empty: `Vide`,\n },\n \"he-IL\": {\n Empty: `\\u{5E8}\\u{5D9}\\u{5E7}`,\n },\n \"hr-HR\": {\n Empty: `Prazno`,\n },\n \"hu-HU\": {\n Empty: `\\xdcres`,\n },\n \"it-IT\": {\n Empty: `Vuoto`,\n },\n \"ja-JP\": {\n Empty: `\\u{7A7A}`,\n },\n \"ko-KR\": {\n Empty: `\\u{BE44}\\u{C5B4} \\u{C788}\\u{C74C}`,\n },\n \"lt-LT\": {\n Empty: `Tu\\u{161}\\u{10D}ias`,\n },\n \"lv-LV\": {\n Empty: `Tuk\\u{161}s`,\n },\n \"nb-NO\": {\n Empty: `Tom`,\n },\n \"nl-NL\": {\n Empty: `Leeg`,\n },\n \"pl-PL\": {\n Empty: `Pusty`,\n },\n \"pt-BR\": {\n Empty: `Vazio`,\n },\n \"pt-PT\": {\n Empty: `Vazio`,\n },\n \"ro-RO\": {\n Empty: `Gol`,\n },\n \"ru-RU\": {\n Empty: `\\u{41D}\\u{435} \\u{437}\\u{430}\\u{43F}\\u{43E}\\u{43B}\\u{43D}\\u{435}\\u{43D}\\u{43E}`,\n },\n \"sk-SK\": {\n Empty: `Pr\\xe1zdne`,\n },\n \"sl-SI\": {\n Empty: `Prazen`,\n },\n \"sr-SP\": {\n Empty: `Prazno`,\n },\n \"sv-SE\": {\n Empty: `Tomt`,\n },\n \"tr-TR\": {\n Empty: `Bo\\u{15F}`,\n },\n \"uk-UA\": {\n Empty: `\\u{41F}\\u{443}\\u{441}\\u{442}\\u{43E}`,\n },\n \"zh-CN\": {\n Empty: `\\u{7A7A}`,\n },\n \"zh-TW\": {\n Empty: `\\u{7A7A}\\u{767D}`,\n },\n};\n\nexport const spinButtonDictionary = new LocalizedStringDictionary<SpinButtonStringKey, string>(\n spinButtonStrings,\n);\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/spinbutton/useSpinButton.ts\n\n/**\n * createSpinButton hook for Solidaria\n *\n * Provides the ARIA spinbutton props and live-region announcement behaviour for\n * a single spinbutton (e.g. a date-field segment). Port of the keyboard/announce\n * portion of @react-aria/spinbutton `useSpinButton`. The pointer press-and-hold\n * button machinery (increment/decrement buttons) is intentionally omitted — date\n * segments drive value changes through the keyboard only.\n */\n\nimport { createMemo, createTrackedEffect } from \"solid-js\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport { createStringFormatter } from \"../i18n\";\nimport { announce, clearAnnouncer } from \"../live-announcer\";\nimport { spinButtonStrings, type SpinButtonStringKey } from \"./intl\";\n\nexport interface SpinButtonProps {\n /** The current value of the spinbutton. */\n value?: number;\n /** A human-readable text alternative for the value. */\n textValue?: string;\n /** The smallest value allowed. */\n minValue?: number;\n /** The largest value allowed. */\n maxValue?: number;\n /** Whether the spinbutton is disabled. */\n isDisabled?: boolean;\n /** Whether the spinbutton is read only. */\n isReadOnly?: boolean;\n /** Whether the spinbutton is required. */\n isRequired?: boolean;\n onIncrement?: () => void;\n onIncrementPage?: () => void;\n onDecrement?: () => void;\n onDecrementPage?: () => void;\n onDecrementToMin?: () => void;\n onIncrementToMax?: () => void;\n}\n\nexport interface SpinButtonAria {\n /** Props for the spinbutton element. */\n spinButtonProps: Record<string, unknown>;\n}\n\n/**\n * Provides the behaviour and accessibility implementation for a spinbutton.\n */\nexport function createSpinButton(props: MaybeAccessor<SpinButtonProps>): SpinButtonAria {\n const getProps = () => access(props);\n const stringFormatter = createStringFormatter<SpinButtonStringKey>(\n spinButtonStrings,\n \"@react-aria/spinbutton\",\n );\n\n const onKeyDown = (e: KeyboardEvent) => {\n const p = getProps();\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || p.isReadOnly || e.isComposing) {\n return;\n }\n\n switch (e.key) {\n // Upstream deliberately falls through PageUp → ArrowUp when no page\n // handler exists; our tsconfig forbids lexical fallthrough, so the\n // PageUp case mirrors that branch inline instead.\n case \"PageUp\":\n if (p.onIncrementPage) {\n e.preventDefault();\n p.onIncrementPage();\n } else if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n case \"ArrowUp\":\n case \"Up\":\n if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n // Same faithful fallthrough as PageUp, mirrored inline (PageDown → ArrowDown).\n case \"PageDown\":\n if (p.onDecrementPage) {\n e.preventDefault();\n p.onDecrementPage();\n } else if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"ArrowDown\":\n case \"Down\":\n if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"Home\":\n if (p.onDecrementToMin) {\n e.preventDefault();\n p.onDecrementToMin();\n }\n break;\n case \"End\":\n if (p.onIncrementToMax) {\n e.preventDefault();\n p.onIncrementToMax();\n }\n break;\n }\n };\n\n // Non-reactive focus flag — matches upstream's `isFocused` ref. Toggling it must\n // NOT re-run the announce effect; only a change in `ariaTextValue` announces.\n let isFocused = false;\n const onFocus = () => {\n isFocused = true;\n };\n const onBlur = () => {\n isFocused = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212) so VoiceOver\n // announces it as \"minus\". Replace the empty string with the word \"Empty\".\n const ariaTextValue = createMemo(() => {\n const p = getProps();\n return p.textValue === \"\"\n ? stringFormatter().format(\"Empty\")\n : (p.textValue || `${p.value}`).replace(\"-\", \"−\");\n });\n\n createTrackedEffect(() => {\n const value = ariaTextValue();\n if (isFocused) {\n clearAnnouncer(\"assertive\");\n announce(value, \"assertive\");\n }\n });\n\n const spinButtonProps = createMemo(() => {\n const p = getProps();\n const value = p.value;\n return {\n role: \"spinbutton\",\n \"aria-valuenow\": value !== undefined && !isNaN(value) ? value : undefined,\n \"aria-valuetext\": ariaTextValue(),\n \"aria-valuemin\": p.minValue,\n \"aria-valuemax\": p.maxValue,\n \"aria-disabled\": p.isDisabled || undefined,\n \"aria-readonly\": p.isReadOnly || undefined,\n \"aria-required\": p.isRequired || undefined,\n onKeyDown,\n onFocus,\n onBlur,\n };\n });\n\n return {\n get spinButtonProps() {\n return spinButtonProps();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA2CA,MAAa,oBAAyE;CACpF,SAAS,EACP,OAAO,+BACT;CACA,SAAS,EACP,OAAO,2DACT;CACA,SAAS,EACP,OAAO,gBACT;CACA,SAAS,EACP,OAAO,MACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,sCACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,cACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,wBACT;CACA,SAAS,EACP,OAAO,SACT;CACA,SAAS,EACP,OAAO,UACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,oCACT;CACA,SAAS,EACP,OAAO,sBACT;CACA,SAAS,EACP,OAAO,cACT;CACA,SAAS,EACP,OAAO,MACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,MACT;CACA,SAAS,EACP,OAAO,iFACT;CACA,SAAS,EACP,OAAO,aACT;CACA,SAAS,EACP,OAAO,SACT;CACA,SAAS,EACP,OAAO,SACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,YACT;CACA,SAAS,EACP,OAAO,sCACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,mBACT;AACF;AAEA,MAAa,uBAAuB,IAAI,0BACtC,iBACF;;;;;;;;;;;;;;;ACzFA,SAAgB,iBAAiB,OAAuD;CACtF,MAAM,iBAAiB,OAAO,KAAK;CACnC,MAAM,kBAAkB,sBACtB,mBACA,wBACF;CAEA,MAAM,aAAa,MAAqB;EACtC,MAAM,IAAI,SAAS;EACnB,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,aACxE;EAGF,QAAQ,EAAE,KAAV;GAIE,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GAEF,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;IACH,IAAI,EAAE,kBAAkB;KACtB,EAAE,eAAe;KACjB,EAAE,iBAAiB;IACrB;IACA;GACF,KAAK,OACH,IAAI,EAAE,kBAAkB;IACtB,EAAE,eAAe;IACjB,EAAE,iBAAiB;GACrB;EAEJ;CACF;CAIA,IAAI,YAAY;CAChB,MAAM,gBAAgB;EACpB,YAAY;CACd;CACA,MAAM,eAAe;EACnB,YAAY;CACd;CAIA,MAAM,gBAAgB,iBAAiB;EACrC,MAAM,IAAI,SAAS;EACnB,OAAO,EAAE,cAAc,KACnB,gBAAgB,CAAC,CAAC,OAAO,OAAO,KAC/B,EAAE,aAAa,GAAG,EAAE,QAAA,CAAS,QAAQ,KAAK,GAAG;CACpD,CAAC;CAED,0BAA0B;EACxB,MAAM,QAAQ,cAAc;EAC5B,IAAI,WAAW;GACb,eAAe,WAAW;GAC1B,SAAS,OAAO,WAAW;EAC7B;CACF,CAAC;CAED,MAAM,kBAAkB,iBAAiB;EACvC,MAAM,IAAI,SAAS;EACnB,MAAM,QAAQ,EAAE;EAChB,OAAO;GACL,MAAM;GACN,iBAAiB,UAAU,KAAA,KAAa,CAAC,MAAM,KAAK,IAAI,QAAQ,KAAA;GAChE,kBAAkB,cAAc;GAChC,iBAAiB,EAAE;GACnB,iBAAiB,EAAE;GACnB,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC;GACA;GACA;EACF;CACF,CAAC;CAED,OAAO,EACL,IAAI,kBAAkB;EACpB,OAAO,gBAAgB;CACzB,EACF;AACF"}
@@ -1,44 +1,56 @@
1
+ /*
2
+ * Copyright 2020 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/spinbutton/useSpinButton.ts
1
13
  import { t as access } from "./reactivity.jsx";
2
14
  import { n as createStringFormatter } from "./createStringFormatter.jsx";
3
15
  import { n as clearAnnouncer, t as announce } from "./announce.jsx";
4
- import { createEffect, createMemo } from "solid-js";
16
+ import { createMemo, createTrackedEffect } from "solid-js";
5
17
  import { LocalizedStringDictionary } from "@internationalized/string";
6
18
  //#region src/spinbutton/intl.ts
7
19
  const spinButtonStrings = {
8
- "ar-AE": { "Empty": `\u{641}\u{627}\u{631}\u{63A}` },
9
- "bg-BG": { "Empty": `\u{418}\u{437}\u{43F}\u{440}\u{430}\u{437}\u{43D}\u{438}` },
10
- "cs-CZ": { "Empty": `Pr\xe1zdn\xe9` },
11
- "da-DK": { "Empty": `Tom` },
12
- "de-DE": { "Empty": `Leer` },
13
- "el-GR": { "Empty": `\u{386}\u{3B4}\u{3B5}\u{3B9}\u{3BF}` },
14
- "en-US": { "Empty": `Empty` },
15
- "es-ES": { "Empty": `Vac\xedo` },
16
- "et-EE": { "Empty": `T\xfchjenda` },
17
- "fi-FI": { "Empty": `Tyhj\xe4` },
18
- "fr-FR": { "Empty": `Vide` },
19
- "he-IL": { "Empty": `\u{5E8}\u{5D9}\u{5E7}` },
20
- "hr-HR": { "Empty": `Prazno` },
21
- "hu-HU": { "Empty": `\xdcres` },
22
- "it-IT": { "Empty": `Vuoto` },
23
- "ja-JP": { "Empty": `\u{7A7A}` },
24
- "ko-KR": { "Empty": `\u{BE44}\u{C5B4} \u{C788}\u{C74C}` },
25
- "lt-LT": { "Empty": `Tu\u{161}\u{10D}ias` },
26
- "lv-LV": { "Empty": `Tuk\u{161}s` },
27
- "nb-NO": { "Empty": `Tom` },
28
- "nl-NL": { "Empty": `Leeg` },
29
- "pl-PL": { "Empty": `Pusty` },
30
- "pt-BR": { "Empty": `Vazio` },
31
- "pt-PT": { "Empty": `Vazio` },
32
- "ro-RO": { "Empty": `Gol` },
33
- "ru-RU": { "Empty": `\u{41D}\u{435} \u{437}\u{430}\u{43F}\u{43E}\u{43B}\u{43D}\u{435}\u{43D}\u{43E}` },
34
- "sk-SK": { "Empty": `Pr\xe1zdne` },
35
- "sl-SI": { "Empty": `Prazen` },
36
- "sr-SP": { "Empty": `Prazno` },
37
- "sv-SE": { "Empty": `Tomt` },
38
- "tr-TR": { "Empty": `Bo\u{15F}` },
39
- "uk-UA": { "Empty": `\u{41F}\u{443}\u{441}\u{442}\u{43E}` },
40
- "zh-CN": { "Empty": `\u{7A7A}` },
41
- "zh-TW": { "Empty": `\u{7A7A}\u{767D}` }
20
+ "ar-AE": { Empty: `\u{641}\u{627}\u{631}\u{63A}` },
21
+ "bg-BG": { Empty: `\u{418}\u{437}\u{43F}\u{440}\u{430}\u{437}\u{43D}\u{438}` },
22
+ "cs-CZ": { Empty: `Pr\xe1zdn\xe9` },
23
+ "da-DK": { Empty: `Tom` },
24
+ "de-DE": { Empty: `Leer` },
25
+ "el-GR": { Empty: `\u{386}\u{3B4}\u{3B5}\u{3B9}\u{3BF}` },
26
+ "en-US": { Empty: `Empty` },
27
+ "es-ES": { Empty: `Vac\xedo` },
28
+ "et-EE": { Empty: `T\xfchjenda` },
29
+ "fi-FI": { Empty: `Tyhj\xe4` },
30
+ "fr-FR": { Empty: `Vide` },
31
+ "he-IL": { Empty: `\u{5E8}\u{5D9}\u{5E7}` },
32
+ "hr-HR": { Empty: `Prazno` },
33
+ "hu-HU": { Empty: `\xdcres` },
34
+ "it-IT": { Empty: `Vuoto` },
35
+ "ja-JP": { Empty: `\u{7A7A}` },
36
+ "ko-KR": { Empty: `\u{BE44}\u{C5B4} \u{C788}\u{C74C}` },
37
+ "lt-LT": { Empty: `Tu\u{161}\u{10D}ias` },
38
+ "lv-LV": { Empty: `Tuk\u{161}s` },
39
+ "nb-NO": { Empty: `Tom` },
40
+ "nl-NL": { Empty: `Leeg` },
41
+ "pl-PL": { Empty: `Pusty` },
42
+ "pt-BR": { Empty: `Vazio` },
43
+ "pt-PT": { Empty: `Vazio` },
44
+ "ro-RO": { Empty: `Gol` },
45
+ "ru-RU": { Empty: `\u{41D}\u{435} \u{437}\u{430}\u{43F}\u{43E}\u{43B}\u{43D}\u{435}\u{43D}\u{43E}` },
46
+ "sk-SK": { Empty: `Pr\xe1zdne` },
47
+ "sl-SI": { Empty: `Prazen` },
48
+ "sr-SP": { Empty: `Prazno` },
49
+ "sv-SE": { Empty: `Tomt` },
50
+ "tr-TR": { Empty: `Bo\u{15F}` },
51
+ "uk-UA": { Empty: `\u{41F}\u{443}\u{441}\u{442}\u{43E}` },
52
+ "zh-CN": { Empty: `\u{7A7A}` },
53
+ "zh-TW": { Empty: `\u{7A7A}\u{767D}` }
42
54
  };
43
55
  const spinButtonDictionary = new LocalizedStringDictionary(spinButtonStrings);
44
56
  //#endregion
@@ -100,12 +112,10 @@ function createSpinButton(props) {
100
112
  p.onDecrementToMin();
101
113
  }
102
114
  break;
103
- case "End":
104
- if (p.onIncrementToMax) {
105
- e.preventDefault();
106
- p.onIncrementToMax();
107
- }
108
- break;
115
+ case "End": if (p.onIncrementToMax) {
116
+ e.preventDefault();
117
+ p.onIncrementToMax();
118
+ }
109
119
  }
110
120
  };
111
121
  let isFocused = false;
@@ -119,7 +129,7 @@ function createSpinButton(props) {
119
129
  const p = getProps();
120
130
  return p.textValue === "" ? stringFormatter().format("Empty") : (p.textValue || `${p.value}`).replace("-", "−");
121
131
  });
122
- createEffect(() => {
132
+ createTrackedEffect(() => {
123
133
  const value = ariaTextValue();
124
134
  if (isFocused) {
125
135
  clearAnnouncer("assertive");
@@ -1 +1 @@
1
- {"version":3,"file":"spinbutton.jsx","names":[],"sources":["../../src/spinbutton/intl.ts","../../src/spinbutton/createSpinButton.ts"],"sourcesContent":["// Spinbutton announcement catalog, ported verbatim from @react-aria/spinbutton's\n// intl/*.json (34 locales). Keep in sync with the vendored react-spectrum source on\n// every pin bump.\nimport { LocalizedStringDictionary } from \"@internationalized/string\";\n\nexport type SpinButtonStringKey = \"Empty\";\n\nexport const spinButtonStrings: Record<string, Record<SpinButtonStringKey, string>> = {\n \"ar-AE\": {\n \"Empty\": `\\u{641}\\u{627}\\u{631}\\u{63A}`\n },\n \"bg-BG\": {\n \"Empty\": `\\u{418}\\u{437}\\u{43F}\\u{440}\\u{430}\\u{437}\\u{43D}\\u{438}`\n },\n \"cs-CZ\": {\n \"Empty\": `Pr\\xe1zdn\\xe9`\n },\n \"da-DK\": {\n \"Empty\": `Tom`\n },\n \"de-DE\": {\n \"Empty\": `Leer`\n },\n \"el-GR\": {\n \"Empty\": `\\u{386}\\u{3B4}\\u{3B5}\\u{3B9}\\u{3BF}`\n },\n \"en-US\": {\n \"Empty\": `Empty`\n },\n \"es-ES\": {\n \"Empty\": `Vac\\xedo`\n },\n \"et-EE\": {\n \"Empty\": `T\\xfchjenda`\n },\n \"fi-FI\": {\n \"Empty\": `Tyhj\\xe4`\n },\n \"fr-FR\": {\n \"Empty\": `Vide`\n },\n \"he-IL\": {\n \"Empty\": `\\u{5E8}\\u{5D9}\\u{5E7}`\n },\n \"hr-HR\": {\n \"Empty\": `Prazno`\n },\n \"hu-HU\": {\n \"Empty\": `\\xdcres`\n },\n \"it-IT\": {\n \"Empty\": `Vuoto`\n },\n \"ja-JP\": {\n \"Empty\": `\\u{7A7A}`\n },\n \"ko-KR\": {\n \"Empty\": `\\u{BE44}\\u{C5B4} \\u{C788}\\u{C74C}`\n },\n \"lt-LT\": {\n \"Empty\": `Tu\\u{161}\\u{10D}ias`\n },\n \"lv-LV\": {\n \"Empty\": `Tuk\\u{161}s`\n },\n \"nb-NO\": {\n \"Empty\": `Tom`\n },\n \"nl-NL\": {\n \"Empty\": `Leeg`\n },\n \"pl-PL\": {\n \"Empty\": `Pusty`\n },\n \"pt-BR\": {\n \"Empty\": `Vazio`\n },\n \"pt-PT\": {\n \"Empty\": `Vazio`\n },\n \"ro-RO\": {\n \"Empty\": `Gol`\n },\n \"ru-RU\": {\n \"Empty\": `\\u{41D}\\u{435} \\u{437}\\u{430}\\u{43F}\\u{43E}\\u{43B}\\u{43D}\\u{435}\\u{43D}\\u{43E}`\n },\n \"sk-SK\": {\n \"Empty\": `Pr\\xe1zdne`\n },\n \"sl-SI\": {\n \"Empty\": `Prazen`\n },\n \"sr-SP\": {\n \"Empty\": `Prazno`\n },\n \"sv-SE\": {\n \"Empty\": `Tomt`\n },\n \"tr-TR\": {\n \"Empty\": `Bo\\u{15F}`\n },\n \"uk-UA\": {\n \"Empty\": `\\u{41F}\\u{443}\\u{441}\\u{442}\\u{43E}`\n },\n \"zh-CN\": {\n \"Empty\": `\\u{7A7A}`\n },\n \"zh-TW\": {\n \"Empty\": `\\u{7A7A}\\u{767D}`\n },\n};\n\nexport const spinButtonDictionary = new LocalizedStringDictionary<SpinButtonStringKey, string>(\n spinButtonStrings,\n);\n","/**\n * createSpinButton hook for Solidaria\n *\n * Provides the ARIA spinbutton props and live-region announcement behaviour for\n * a single spinbutton (e.g. a date-field segment). Port of the keyboard/announce\n * portion of @react-aria/spinbutton `useSpinButton`. The pointer press-and-hold\n * button machinery (increment/decrement buttons) is intentionally omitted — date\n * segments drive value changes through the keyboard only.\n */\n\nimport { createMemo, createEffect } from \"solid-js\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport { createStringFormatter } from \"../i18n\";\nimport { announce, clearAnnouncer } from \"../live-announcer\";\nimport { spinButtonStrings, type SpinButtonStringKey } from \"./intl\";\n\nexport interface SpinButtonProps {\n /** The current value of the spinbutton. */\n value?: number;\n /** A human-readable text alternative for the value. */\n textValue?: string;\n /** The smallest value allowed. */\n minValue?: number;\n /** The largest value allowed. */\n maxValue?: number;\n /** Whether the spinbutton is disabled. */\n isDisabled?: boolean;\n /** Whether the spinbutton is read only. */\n isReadOnly?: boolean;\n /** Whether the spinbutton is required. */\n isRequired?: boolean;\n onIncrement?: () => void;\n onIncrementPage?: () => void;\n onDecrement?: () => void;\n onDecrementPage?: () => void;\n onDecrementToMin?: () => void;\n onIncrementToMax?: () => void;\n}\n\nexport interface SpinButtonAria {\n /** Props for the spinbutton element. */\n spinButtonProps: Record<string, unknown>;\n}\n\n/**\n * Provides the behaviour and accessibility implementation for a spinbutton.\n */\nexport function createSpinButton(props: MaybeAccessor<SpinButtonProps>): SpinButtonAria {\n const getProps = () => access(props);\n const stringFormatter = createStringFormatter<SpinButtonStringKey>(\n spinButtonStrings,\n \"@react-aria/spinbutton\",\n );\n\n const onKeyDown = (e: KeyboardEvent) => {\n const p = getProps();\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || p.isReadOnly || e.isComposing) {\n return;\n }\n\n switch (e.key) {\n // Upstream deliberately falls through PageUp → ArrowUp when no page\n // handler exists; our tsconfig forbids lexical fallthrough, so the\n // PageUp case mirrors that branch inline instead.\n case \"PageUp\":\n if (p.onIncrementPage) {\n e.preventDefault();\n p.onIncrementPage();\n } else if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n case \"ArrowUp\":\n case \"Up\":\n if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n // Same faithful fallthrough as PageUp, mirrored inline (PageDown → ArrowDown).\n case \"PageDown\":\n if (p.onDecrementPage) {\n e.preventDefault();\n p.onDecrementPage();\n } else if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"ArrowDown\":\n case \"Down\":\n if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"Home\":\n if (p.onDecrementToMin) {\n e.preventDefault();\n p.onDecrementToMin();\n }\n break;\n case \"End\":\n if (p.onIncrementToMax) {\n e.preventDefault();\n p.onIncrementToMax();\n }\n break;\n }\n };\n\n // Non-reactive focus flag — matches upstream's `isFocused` ref. Toggling it must\n // NOT re-run the announce effect; only a change in `ariaTextValue` announces.\n let isFocused = false;\n const onFocus = () => {\n isFocused = true;\n };\n const onBlur = () => {\n isFocused = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212) so VoiceOver\n // announces it as \"minus\". Replace the empty string with the word \"Empty\".\n const ariaTextValue = createMemo(() => {\n const p = getProps();\n return p.textValue === \"\"\n ? stringFormatter().format(\"Empty\")\n : (p.textValue || `${p.value}`).replace(\"-\", \"−\");\n });\n\n createEffect(() => {\n const value = ariaTextValue();\n if (isFocused) {\n clearAnnouncer(\"assertive\");\n announce(value, \"assertive\");\n }\n });\n\n const spinButtonProps = createMemo(() => {\n const p = getProps();\n const value = p.value;\n return {\n role: \"spinbutton\",\n \"aria-valuenow\": value !== undefined && !isNaN(value) ? value : undefined,\n \"aria-valuetext\": ariaTextValue(),\n \"aria-valuemin\": p.minValue,\n \"aria-valuemax\": p.maxValue,\n \"aria-disabled\": p.isDisabled || undefined,\n \"aria-readonly\": p.isReadOnly || undefined,\n \"aria-required\": p.isRequired || undefined,\n onKeyDown,\n onFocus,\n onBlur,\n };\n });\n\n return {\n get spinButtonProps() {\n return spinButtonProps();\n },\n };\n}\n"],"mappings":";;;;;;AAOA,MAAa,oBAAyE;CACpF,SAAS,EACT,SAAS,+BACT;CACA,SAAS,EACT,SAAS,2DACT;CACA,SAAS,EACT,SAAS,gBACT;CACA,SAAS,EACT,SAAS,MACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,sCACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,cACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,wBACT;CACA,SAAS,EACT,SAAS,SACT;CACA,SAAS,EACT,SAAS,UACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,oCACT;CACA,SAAS,EACT,SAAS,sBACT;CACA,SAAS,EACT,SAAS,cACT;CACA,SAAS,EACT,SAAS,MACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,QACT;CACA,SAAS,EACT,SAAS,MACT;CACA,SAAS,EACT,SAAS,iFACT;CACA,SAAS,EACT,SAAS,aACT;CACA,SAAS,EACT,SAAS,SACT;CACA,SAAS,EACT,SAAS,SACT;CACA,SAAS,EACT,SAAS,OACT;CACA,SAAS,EACT,SAAS,YACT;CACA,SAAS,EACT,SAAS,sCACT;CACA,SAAS,EACT,SAAS,WACT;CACA,SAAS,EACT,SAAS,mBACT;AACF;AAEA,MAAa,uBAAuB,IAAI,0BACtC,iBACF;;;;;;;;;;;;;;;ACnEA,SAAgB,iBAAiB,OAAuD;CACtF,MAAM,iBAAiB,OAAO,KAAK;CACnC,MAAM,kBAAkB,sBACtB,mBACA,wBACF;CAEA,MAAM,aAAa,MAAqB;EACtC,MAAM,IAAI,SAAS;EACnB,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,aACxE;EAGF,QAAQ,EAAE,KAAV;GAIE,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GAEF,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;IACH,IAAI,EAAE,kBAAkB;KACtB,EAAE,eAAe;KACjB,EAAE,iBAAiB;IACrB;IACA;GACF,KAAK;IACH,IAAI,EAAE,kBAAkB;KACtB,EAAE,eAAe;KACjB,EAAE,iBAAiB;IACrB;IACA;EACJ;CACF;CAIA,IAAI,YAAY;CAChB,MAAM,gBAAgB;EACpB,YAAY;CACd;CACA,MAAM,eAAe;EACnB,YAAY;CACd;CAIA,MAAM,gBAAgB,iBAAiB;EACrC,MAAM,IAAI,SAAS;EACnB,OAAO,EAAE,cAAc,KACnB,gBAAgB,CAAC,CAAC,OAAO,OAAO,KAC/B,EAAE,aAAa,GAAG,EAAE,QAAA,CAAS,QAAQ,KAAK,GAAG;CACpD,CAAC;CAED,mBAAmB;EACjB,MAAM,QAAQ,cAAc;EAC5B,IAAI,WAAW;GACb,eAAe,WAAW;GAC1B,SAAS,OAAO,WAAW;EAC7B;CACF,CAAC;CAED,MAAM,kBAAkB,iBAAiB;EACvC,MAAM,IAAI,SAAS;EACnB,MAAM,QAAQ,EAAE;EAChB,OAAO;GACL,MAAM;GACN,iBAAiB,UAAU,KAAA,KAAa,CAAC,MAAM,KAAK,IAAI,QAAQ,KAAA;GAChE,kBAAkB,cAAc;GAChC,iBAAiB,EAAE;GACnB,iBAAiB,EAAE;GACnB,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC;GACA;GACA;EACF;CACF,CAAC;CAED,OAAO,EACL,IAAI,kBAAkB;EACpB,OAAO,gBAAgB;CACzB,EACF;AACF"}
1
+ {"version":3,"file":"spinbutton.jsx","names":[],"sources":["../../src/spinbutton/intl.ts","../../src/spinbutton/createSpinButton.ts"],"sourcesContent":["// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ar-AE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/bg-BG.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/cs-CZ.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/da-DK.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/de-DE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/el-GR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/en-US.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/es-ES.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/et-EE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/fi-FI.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/fr-FR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/he-IL.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/hr-HR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/hu-HU.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/it-IT.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ja-JP.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ko-KR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/lt-LT.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/lv-LV.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/nb-NO.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/nl-NL.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/pl-PL.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/pt-BR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/pt-PT.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ro-RO.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/ru-RU.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sk-SK.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sl-SI.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sr-SP.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/sv-SE.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/tr-TR.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/uk-UA.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/zh-CN.json\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/intl/spinbutton/zh-TW.json\n\n// Ported from @react-aria/spinbutton intl catalog.\n// Spinbutton announcement catalog, ported verbatim from @react-aria/spinbutton's\n// intl/*.json (34 locales). Keep in sync with the vendored react-spectrum source on\n// every pin bump.\nimport { LocalizedStringDictionary } from \"@internationalized/string\";\n\nexport type SpinButtonStringKey = \"Empty\";\n\nexport const spinButtonStrings: Record<string, Record<SpinButtonStringKey, string>> = {\n \"ar-AE\": {\n Empty: `\\u{641}\\u{627}\\u{631}\\u{63A}`,\n },\n \"bg-BG\": {\n Empty: `\\u{418}\\u{437}\\u{43F}\\u{440}\\u{430}\\u{437}\\u{43D}\\u{438}`,\n },\n \"cs-CZ\": {\n Empty: `Pr\\xe1zdn\\xe9`,\n },\n \"da-DK\": {\n Empty: `Tom`,\n },\n \"de-DE\": {\n Empty: `Leer`,\n },\n \"el-GR\": {\n Empty: `\\u{386}\\u{3B4}\\u{3B5}\\u{3B9}\\u{3BF}`,\n },\n \"en-US\": {\n Empty: `Empty`,\n },\n \"es-ES\": {\n Empty: `Vac\\xedo`,\n },\n \"et-EE\": {\n Empty: `T\\xfchjenda`,\n },\n \"fi-FI\": {\n Empty: `Tyhj\\xe4`,\n },\n \"fr-FR\": {\n Empty: `Vide`,\n },\n \"he-IL\": {\n Empty: `\\u{5E8}\\u{5D9}\\u{5E7}`,\n },\n \"hr-HR\": {\n Empty: `Prazno`,\n },\n \"hu-HU\": {\n Empty: `\\xdcres`,\n },\n \"it-IT\": {\n Empty: `Vuoto`,\n },\n \"ja-JP\": {\n Empty: `\\u{7A7A}`,\n },\n \"ko-KR\": {\n Empty: `\\u{BE44}\\u{C5B4} \\u{C788}\\u{C74C}`,\n },\n \"lt-LT\": {\n Empty: `Tu\\u{161}\\u{10D}ias`,\n },\n \"lv-LV\": {\n Empty: `Tuk\\u{161}s`,\n },\n \"nb-NO\": {\n Empty: `Tom`,\n },\n \"nl-NL\": {\n Empty: `Leeg`,\n },\n \"pl-PL\": {\n Empty: `Pusty`,\n },\n \"pt-BR\": {\n Empty: `Vazio`,\n },\n \"pt-PT\": {\n Empty: `Vazio`,\n },\n \"ro-RO\": {\n Empty: `Gol`,\n },\n \"ru-RU\": {\n Empty: `\\u{41D}\\u{435} \\u{437}\\u{430}\\u{43F}\\u{43E}\\u{43B}\\u{43D}\\u{435}\\u{43D}\\u{43E}`,\n },\n \"sk-SK\": {\n Empty: `Pr\\xe1zdne`,\n },\n \"sl-SI\": {\n Empty: `Prazen`,\n },\n \"sr-SP\": {\n Empty: `Prazno`,\n },\n \"sv-SE\": {\n Empty: `Tomt`,\n },\n \"tr-TR\": {\n Empty: `Bo\\u{15F}`,\n },\n \"uk-UA\": {\n Empty: `\\u{41F}\\u{443}\\u{441}\\u{442}\\u{43E}`,\n },\n \"zh-CN\": {\n Empty: `\\u{7A7A}`,\n },\n \"zh-TW\": {\n Empty: `\\u{7A7A}\\u{767D}`,\n },\n};\n\nexport const spinButtonDictionary = new LocalizedStringDictionary<SpinButtonStringKey, string>(\n spinButtonStrings,\n);\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/spinbutton/useSpinButton.ts\n\n/**\n * createSpinButton hook for Solidaria\n *\n * Provides the ARIA spinbutton props and live-region announcement behaviour for\n * a single spinbutton (e.g. a date-field segment). Port of the keyboard/announce\n * portion of @react-aria/spinbutton `useSpinButton`. The pointer press-and-hold\n * button machinery (increment/decrement buttons) is intentionally omitted — date\n * segments drive value changes through the keyboard only.\n */\n\nimport { createMemo, createTrackedEffect } from \"solid-js\";\nimport { access, type MaybeAccessor } from \"../utils/reactivity\";\nimport { createStringFormatter } from \"../i18n\";\nimport { announce, clearAnnouncer } from \"../live-announcer\";\nimport { spinButtonStrings, type SpinButtonStringKey } from \"./intl\";\n\nexport interface SpinButtonProps {\n /** The current value of the spinbutton. */\n value?: number;\n /** A human-readable text alternative for the value. */\n textValue?: string;\n /** The smallest value allowed. */\n minValue?: number;\n /** The largest value allowed. */\n maxValue?: number;\n /** Whether the spinbutton is disabled. */\n isDisabled?: boolean;\n /** Whether the spinbutton is read only. */\n isReadOnly?: boolean;\n /** Whether the spinbutton is required. */\n isRequired?: boolean;\n onIncrement?: () => void;\n onIncrementPage?: () => void;\n onDecrement?: () => void;\n onDecrementPage?: () => void;\n onDecrementToMin?: () => void;\n onIncrementToMax?: () => void;\n}\n\nexport interface SpinButtonAria {\n /** Props for the spinbutton element. */\n spinButtonProps: Record<string, unknown>;\n}\n\n/**\n * Provides the behaviour and accessibility implementation for a spinbutton.\n */\nexport function createSpinButton(props: MaybeAccessor<SpinButtonProps>): SpinButtonAria {\n const getProps = () => access(props);\n const stringFormatter = createStringFormatter<SpinButtonStringKey>(\n spinButtonStrings,\n \"@react-aria/spinbutton\",\n );\n\n const onKeyDown = (e: KeyboardEvent) => {\n const p = getProps();\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || p.isReadOnly || e.isComposing) {\n return;\n }\n\n switch (e.key) {\n // Upstream deliberately falls through PageUp → ArrowUp when no page\n // handler exists; our tsconfig forbids lexical fallthrough, so the\n // PageUp case mirrors that branch inline instead.\n case \"PageUp\":\n if (p.onIncrementPage) {\n e.preventDefault();\n p.onIncrementPage();\n } else if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n case \"ArrowUp\":\n case \"Up\":\n if (p.onIncrement) {\n e.preventDefault();\n p.onIncrement();\n }\n break;\n // Same faithful fallthrough as PageUp, mirrored inline (PageDown → ArrowDown).\n case \"PageDown\":\n if (p.onDecrementPage) {\n e.preventDefault();\n p.onDecrementPage();\n } else if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"ArrowDown\":\n case \"Down\":\n if (p.onDecrement) {\n e.preventDefault();\n p.onDecrement();\n }\n break;\n case \"Home\":\n if (p.onDecrementToMin) {\n e.preventDefault();\n p.onDecrementToMin();\n }\n break;\n case \"End\":\n if (p.onIncrementToMax) {\n e.preventDefault();\n p.onIncrementToMax();\n }\n break;\n }\n };\n\n // Non-reactive focus flag — matches upstream's `isFocused` ref. Toggling it must\n // NOT re-run the announce effect; only a change in `ariaTextValue` announces.\n let isFocused = false;\n const onFocus = () => {\n isFocused = true;\n };\n const onBlur = () => {\n isFocused = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212) so VoiceOver\n // announces it as \"minus\". Replace the empty string with the word \"Empty\".\n const ariaTextValue = createMemo(() => {\n const p = getProps();\n return p.textValue === \"\"\n ? stringFormatter().format(\"Empty\")\n : (p.textValue || `${p.value}`).replace(\"-\", \"−\");\n });\n\n createTrackedEffect(() => {\n const value = ariaTextValue();\n if (isFocused) {\n clearAnnouncer(\"assertive\");\n announce(value, \"assertive\");\n }\n });\n\n const spinButtonProps = createMemo(() => {\n const p = getProps();\n const value = p.value;\n return {\n role: \"spinbutton\",\n \"aria-valuenow\": value !== undefined && !isNaN(value) ? value : undefined,\n \"aria-valuetext\": ariaTextValue(),\n \"aria-valuemin\": p.minValue,\n \"aria-valuemax\": p.maxValue,\n \"aria-disabled\": p.isDisabled || undefined,\n \"aria-readonly\": p.isReadOnly || undefined,\n \"aria-required\": p.isRequired || undefined,\n onKeyDown,\n onFocus,\n onBlur,\n };\n });\n\n return {\n get spinButtonProps() {\n return spinButtonProps();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA2CA,MAAa,oBAAyE;CACpF,SAAS,EACP,OAAO,+BACT;CACA,SAAS,EACP,OAAO,2DACT;CACA,SAAS,EACP,OAAO,gBACT;CACA,SAAS,EACP,OAAO,MACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,sCACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,cACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,wBACT;CACA,SAAS,EACP,OAAO,SACT;CACA,SAAS,EACP,OAAO,UACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,oCACT;CACA,SAAS,EACP,OAAO,sBACT;CACA,SAAS,EACP,OAAO,cACT;CACA,SAAS,EACP,OAAO,MACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,QACT;CACA,SAAS,EACP,OAAO,MACT;CACA,SAAS,EACP,OAAO,iFACT;CACA,SAAS,EACP,OAAO,aACT;CACA,SAAS,EACP,OAAO,SACT;CACA,SAAS,EACP,OAAO,SACT;CACA,SAAS,EACP,OAAO,OACT;CACA,SAAS,EACP,OAAO,YACT;CACA,SAAS,EACP,OAAO,sCACT;CACA,SAAS,EACP,OAAO,WACT;CACA,SAAS,EACP,OAAO,mBACT;AACF;AAEA,MAAa,uBAAuB,IAAI,0BACtC,iBACF;;;;;;;;;;;;;;;ACzFA,SAAgB,iBAAiB,OAAuD;CACtF,MAAM,iBAAiB,OAAO,KAAK;CACnC,MAAM,kBAAkB,sBACtB,mBACA,wBACF;CAEA,MAAM,aAAa,MAAqB;EACtC,MAAM,IAAI,SAAS;EACnB,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,aACxE;EAGF,QAAQ,EAAE,KAAV;GAIE,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GAEF,KAAK;IACH,IAAI,EAAE,iBAAiB;KACrB,EAAE,eAAe;KACjB,EAAE,gBAAgB;IACpB,OAAO,IAAI,EAAE,aAAa;KACxB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;GACL,KAAK;IACH,IAAI,EAAE,aAAa;KACjB,EAAE,eAAe;KACjB,EAAE,YAAY;IAChB;IACA;GACF,KAAK;IACH,IAAI,EAAE,kBAAkB;KACtB,EAAE,eAAe;KACjB,EAAE,iBAAiB;IACrB;IACA;GACF,KAAK,OACH,IAAI,EAAE,kBAAkB;IACtB,EAAE,eAAe;IACjB,EAAE,iBAAiB;GACrB;EAEJ;CACF;CAIA,IAAI,YAAY;CAChB,MAAM,gBAAgB;EACpB,YAAY;CACd;CACA,MAAM,eAAe;EACnB,YAAY;CACd;CAIA,MAAM,gBAAgB,iBAAiB;EACrC,MAAM,IAAI,SAAS;EACnB,OAAO,EAAE,cAAc,KACnB,gBAAgB,CAAC,CAAC,OAAO,OAAO,KAC/B,EAAE,aAAa,GAAG,EAAE,QAAA,CAAS,QAAQ,KAAK,GAAG;CACpD,CAAC;CAED,0BAA0B;EACxB,MAAM,QAAQ,cAAc;EAC5B,IAAI,WAAW;GACb,eAAe,WAAW;GAC1B,SAAS,OAAO,WAAW;EAC7B;CACF,CAAC;CAED,MAAM,kBAAkB,iBAAiB;EACvC,MAAM,IAAI,SAAS;EACnB,MAAM,QAAQ,EAAE;EAChB,OAAO;GACL,MAAM;GACN,iBAAiB,UAAU,KAAA,KAAa,CAAC,MAAM,KAAK,IAAI,QAAQ,KAAA;GAChE,kBAAkB,cAAc;GAChC,iBAAiB,EAAE;GACnB,iBAAiB,EAAE;GACnB,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC,iBAAiB,EAAE,cAAc,KAAA;GACjC;GACA;GACA;EACF;CACF,CAAC;CAED,OAAO,EACL,IAAI,kBAAkB;EACpB,OAAO,gBAAgB;CACzB,EACF;AACF"}
@@ -1,3 +1,16 @@
1
+ /*
2
+ * Copyright 2023 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepList.ts
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepListItem.ts
1
14
  //#region src/steplist/createStepList.ts
2
15
  /**
3
16
  * Creates ARIA props for a step list container.
@@ -46,7 +59,7 @@ function createStep(props, state) {
46
59
  return isSelected() ? "step" : void 0;
47
60
  },
48
61
  get "aria-disabled"() {
49
- return !selectable() ? true : void 0;
62
+ return !selectable() ? "true" : void 0;
50
63
  },
51
64
  get tabIndex() {
52
65
  return selectable() ? 0 : void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"steplist.js","names":[],"sources":["../../src/steplist/createStepList.ts"],"sourcesContent":["/**\n * ARIA hooks for StepList components.\n * Provides accessible step list and step item props.\n */\n\nimport type { JSX } from \"solid-js\";\nimport type { StepListState } from \"@proyecto-viviana/solid-stately\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\n\nexport interface AriaStepListProps {\n /** Accessible label for the step list. */\n \"aria-label\"?: string;\n /** ID of element that labels the step list. */\n \"aria-labelledby\"?: string;\n}\n\nexport interface StepListAria {\n /** Props for the step list container element. */\n stepListProps: JSX.HTMLAttributes<HTMLOListElement>;\n}\n\n/**\n * Creates ARIA props for a step list container.\n */\nexport function createStepList(props: AriaStepListProps, _state: StepListState): StepListAria {\n return {\n stepListProps: {\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? \"Step List\";\n },\n get \"aria-labelledby\"() {\n return props[\"aria-labelledby\"];\n },\n },\n };\n}\n\nexport interface AriaStepProps {\n /** The key of this step. */\n key: Key;\n}\n\nexport interface StepAria {\n /** Props for the step element (anchor/link). */\n stepProps: JSX.HTMLAttributes<HTMLAnchorElement>;\n /** Accessible text describing the step state. */\n stepStateText: string;\n}\n\n/**\n * Creates ARIA props for an individual step within a step list.\n */\nexport function createStep(props: AriaStepProps, state: StepListState): StepAria {\n const isSelected = () => state.selectedKey() === props.key;\n const isCompleted = () => state.isCompleted(props.key);\n const selectable = () => state.isSelectable(props.key);\n\n const getStepStateText = (): string => {\n if (isSelected()) return \"Current\";\n if (isCompleted()) return \"Completed\";\n return \"Not completed\";\n };\n\n const handleClick: JSX.EventHandler<HTMLAnchorElement, MouseEvent> = (e) => {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n };\n\n const handleKeyDown: JSX.EventHandler<HTMLAnchorElement, KeyboardEvent> = (e) => {\n // Prevent arrow key scrolling — tab order handles navigation\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n e.preventDefault();\n return;\n }\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n }\n };\n\n return {\n get stepProps() {\n return {\n role: \"link\" as const,\n get \"aria-current\"() {\n return isSelected() ? (\"step\" as const) : undefined;\n },\n get \"aria-disabled\"() {\n return !selectable() ? true : undefined;\n },\n get tabIndex() {\n return selectable() ? 0 : undefined;\n },\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n };\n },\n get stepStateText() {\n return getStepStateText();\n },\n };\n}\n"],"mappings":";;;;AAwBA,SAAgB,eAAe,OAA0B,QAAqC;CAC5F,OAAO,EACL,eAAe;EACb,IAAI,eAAe;GACjB,OAAO,MAAM,iBAAiB;EAChC;EACA,IAAI,oBAAoB;GACtB,OAAO,MAAM;EACf;CACF,EACF;AACF;;;;AAiBA,SAAgB,WAAW,OAAsB,OAAgC;CAC/E,MAAM,mBAAmB,MAAM,YAAY,MAAM,MAAM;CACvD,MAAM,oBAAoB,MAAM,YAAY,MAAM,GAAG;CACrD,MAAM,mBAAmB,MAAM,aAAa,MAAM,GAAG;CAErD,MAAM,yBAAiC;EACrC,IAAI,WAAW,GAAG,OAAO;EACzB,IAAI,YAAY,GAAG,OAAO;EAC1B,OAAO;CACT;CAEA,MAAM,eAAgE,MAAM;EAC1E,EAAE,eAAe;EACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;CAElC;CAEA,MAAM,iBAAqE,MAAM;EAE/E,IAAI,EAAE,QAAQ,aAAa,EAAE,QAAQ,aAAa;GAChD,EAAE,eAAe;GACjB;EACF;EACA,IAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;GACtC,EAAE,eAAe;GACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;EAElC;CACF;CAEA,OAAO;EACL,IAAI,YAAY;GACd,OAAO;IACL,MAAM;IACN,IAAI,iBAAiB;KACnB,OAAO,WAAW,IAAK,SAAmB,KAAA;IAC5C;IACA,IAAI,kBAAkB;KACpB,OAAO,CAAC,WAAW,IAAI,OAAO,KAAA;IAChC;IACA,IAAI,WAAW;KACb,OAAO,WAAW,IAAI,IAAI,KAAA;IAC5B;IACA,SAAS;IACT,WAAW;GACb;EACF;EACA,IAAI,gBAAgB;GAClB,OAAO,iBAAiB;EAC1B;CACF;AACF"}
1
+ {"version":3,"file":"steplist.js","names":[],"sources":["../../src/steplist/createStepList.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepList.ts\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepListItem.ts\n\n/**\n * ARIA hooks for StepList components.\n * Provides accessible step list and step item props.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport type { StepListState } from \"@proyecto-viviana/solid-stately\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\n\nexport interface AriaStepListProps {\n /** Accessible label for the step list. */\n \"aria-label\"?: string;\n /** ID of element that labels the step list. */\n \"aria-labelledby\"?: string;\n}\n\nexport interface StepListAria {\n /** Props for the step list container element. */\n stepListProps: JSX.HTMLAttributes<HTMLOListElement>;\n}\n\n/**\n * Creates ARIA props for a step list container.\n */\nexport function createStepList(props: AriaStepListProps, _state: StepListState): StepListAria {\n return {\n stepListProps: {\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? \"Step List\";\n },\n get \"aria-labelledby\"() {\n return props[\"aria-labelledby\"];\n },\n },\n };\n}\n\nexport interface AriaStepProps {\n /** The key of this step. */\n key: Key;\n}\n\nexport interface StepAria {\n /** Props for the step element (anchor/link). */\n stepProps: JSX.HTMLAttributes<HTMLAnchorElement>;\n /** Accessible text describing the step state. */\n stepStateText: string;\n}\n\n/**\n * Creates ARIA props for an individual step within a step list.\n */\nexport function createStep(props: AriaStepProps, state: StepListState): StepAria {\n const isSelected = () => state.selectedKey() === props.key;\n const isCompleted = () => state.isCompleted(props.key);\n const selectable = () => state.isSelectable(props.key);\n\n const getStepStateText = (): string => {\n if (isSelected()) return \"Current\";\n if (isCompleted()) return \"Completed\";\n return \"Not completed\";\n };\n\n const handleClick: JSX.EventHandler<HTMLAnchorElement, MouseEvent> = (e) => {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n };\n\n const handleKeyDown: JSX.EventHandler<HTMLAnchorElement, KeyboardEvent> = (e) => {\n // Prevent arrow key scrolling — tab order handles navigation\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n e.preventDefault();\n return;\n }\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n }\n };\n\n return {\n get stepProps() {\n return {\n role: \"link\" as const,\n get \"aria-current\"() {\n return isSelected() ? (\"step\" as const) : undefined;\n },\n get \"aria-disabled\"() {\n return !selectable() ? \"true\" : undefined;\n },\n get tabIndex() {\n return selectable() ? 0 : undefined;\n },\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n };\n },\n get stepStateText() {\n return getStepStateText();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAuCA,SAAgB,eAAe,OAA0B,QAAqC;CAC5F,OAAO,EACL,eAAe;EACb,IAAI,eAAe;GACjB,OAAO,MAAM,iBAAiB;EAChC;EACA,IAAI,oBAAoB;GACtB,OAAO,MAAM;EACf;CACF,EACF;AACF;;;;AAiBA,SAAgB,WAAW,OAAsB,OAAgC;CAC/E,MAAM,mBAAmB,MAAM,YAAY,MAAM,MAAM;CACvD,MAAM,oBAAoB,MAAM,YAAY,MAAM,GAAG;CACrD,MAAM,mBAAmB,MAAM,aAAa,MAAM,GAAG;CAErD,MAAM,yBAAiC;EACrC,IAAI,WAAW,GAAG,OAAO;EACzB,IAAI,YAAY,GAAG,OAAO;EAC1B,OAAO;CACT;CAEA,MAAM,eAAgE,MAAM;EAC1E,EAAE,eAAe;EACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;CAElC;CAEA,MAAM,iBAAqE,MAAM;EAE/E,IAAI,EAAE,QAAQ,aAAa,EAAE,QAAQ,aAAa;GAChD,EAAE,eAAe;GACjB;EACF;EACA,IAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;GACtC,EAAE,eAAe;GACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;EAElC;CACF;CAEA,OAAO;EACL,IAAI,YAAY;GACd,OAAO;IACL,MAAM;IACN,IAAI,iBAAiB;KACnB,OAAO,WAAW,IAAK,SAAmB,KAAA;IAC5C;IACA,IAAI,kBAAkB;KACpB,OAAO,CAAC,WAAW,IAAI,SAAS,KAAA;IAClC;IACA,IAAI,WAAW;KACb,OAAO,WAAW,IAAI,IAAI,KAAA;IAC5B;IACA,SAAS;IACT,WAAW;GACb;EACF;EACA,IAAI,gBAAgB;GAClB,OAAO,iBAAiB;EAC1B;CACF;AACF"}
@@ -1,3 +1,16 @@
1
+ /*
2
+ * Copyright 2023 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepList.ts
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepListItem.ts
1
14
  //#region src/steplist/createStepList.ts
2
15
  /**
3
16
  * Creates ARIA props for a step list container.
@@ -46,7 +59,7 @@ function createStep(props, state) {
46
59
  return isSelected() ? "step" : void 0;
47
60
  },
48
61
  get "aria-disabled"() {
49
- return !selectable() ? true : void 0;
62
+ return !selectable() ? "true" : void 0;
50
63
  },
51
64
  get tabIndex() {
52
65
  return selectable() ? 0 : void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"steplist.jsx","names":[],"sources":["../../src/steplist/createStepList.ts"],"sourcesContent":["/**\n * ARIA hooks for StepList components.\n * Provides accessible step list and step item props.\n */\n\nimport type { JSX } from \"solid-js\";\nimport type { StepListState } from \"@proyecto-viviana/solid-stately\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\n\nexport interface AriaStepListProps {\n /** Accessible label for the step list. */\n \"aria-label\"?: string;\n /** ID of element that labels the step list. */\n \"aria-labelledby\"?: string;\n}\n\nexport interface StepListAria {\n /** Props for the step list container element. */\n stepListProps: JSX.HTMLAttributes<HTMLOListElement>;\n}\n\n/**\n * Creates ARIA props for a step list container.\n */\nexport function createStepList(props: AriaStepListProps, _state: StepListState): StepListAria {\n return {\n stepListProps: {\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? \"Step List\";\n },\n get \"aria-labelledby\"() {\n return props[\"aria-labelledby\"];\n },\n },\n };\n}\n\nexport interface AriaStepProps {\n /** The key of this step. */\n key: Key;\n}\n\nexport interface StepAria {\n /** Props for the step element (anchor/link). */\n stepProps: JSX.HTMLAttributes<HTMLAnchorElement>;\n /** Accessible text describing the step state. */\n stepStateText: string;\n}\n\n/**\n * Creates ARIA props for an individual step within a step list.\n */\nexport function createStep(props: AriaStepProps, state: StepListState): StepAria {\n const isSelected = () => state.selectedKey() === props.key;\n const isCompleted = () => state.isCompleted(props.key);\n const selectable = () => state.isSelectable(props.key);\n\n const getStepStateText = (): string => {\n if (isSelected()) return \"Current\";\n if (isCompleted()) return \"Completed\";\n return \"Not completed\";\n };\n\n const handleClick: JSX.EventHandler<HTMLAnchorElement, MouseEvent> = (e) => {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n };\n\n const handleKeyDown: JSX.EventHandler<HTMLAnchorElement, KeyboardEvent> = (e) => {\n // Prevent arrow key scrolling — tab order handles navigation\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n e.preventDefault();\n return;\n }\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n }\n };\n\n return {\n get stepProps() {\n return {\n role: \"link\" as const,\n get \"aria-current\"() {\n return isSelected() ? (\"step\" as const) : undefined;\n },\n get \"aria-disabled\"() {\n return !selectable() ? true : undefined;\n },\n get tabIndex() {\n return selectable() ? 0 : undefined;\n },\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n };\n },\n get stepStateText() {\n return getStepStateText();\n },\n };\n}\n"],"mappings":";;;;AAwBA,SAAgB,eAAe,OAA0B,QAAqC;CAC5F,OAAO,EACL,eAAe;EACb,IAAI,eAAe;GACjB,OAAO,MAAM,iBAAiB;EAChC;EACA,IAAI,oBAAoB;GACtB,OAAO,MAAM;EACf;CACF,EACF;AACF;;;;AAiBA,SAAgB,WAAW,OAAsB,OAAgC;CAC/E,MAAM,mBAAmB,MAAM,YAAY,MAAM,MAAM;CACvD,MAAM,oBAAoB,MAAM,YAAY,MAAM,GAAG;CACrD,MAAM,mBAAmB,MAAM,aAAa,MAAM,GAAG;CAErD,MAAM,yBAAiC;EACrC,IAAI,WAAW,GAAG,OAAO;EACzB,IAAI,YAAY,GAAG,OAAO;EAC1B,OAAO;CACT;CAEA,MAAM,eAAgE,MAAM;EAC1E,EAAE,eAAe;EACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;CAElC;CAEA,MAAM,iBAAqE,MAAM;EAE/E,IAAI,EAAE,QAAQ,aAAa,EAAE,QAAQ,aAAa;GAChD,EAAE,eAAe;GACjB;EACF;EACA,IAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;GACtC,EAAE,eAAe;GACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;EAElC;CACF;CAEA,OAAO;EACL,IAAI,YAAY;GACd,OAAO;IACL,MAAM;IACN,IAAI,iBAAiB;KACnB,OAAO,WAAW,IAAK,SAAmB,KAAA;IAC5C;IACA,IAAI,kBAAkB;KACpB,OAAO,CAAC,WAAW,IAAI,OAAO,KAAA;IAChC;IACA,IAAI,WAAW;KACb,OAAO,WAAW,IAAI,IAAI,KAAA;IAC5B;IACA,SAAS;IACT,WAAW;GACb;EACF;EACA,IAAI,gBAAgB;GAClB,OAAO,iBAAiB;EAC1B;CACF;AACF"}
1
+ {"version":3,"file":"steplist.jsx","names":[],"sources":["../../src/steplist/createStepList.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepList.ts\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/steplist/useStepListItem.ts\n\n/**\n * ARIA hooks for StepList components.\n * Provides accessible step list and step item props.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport type { StepListState } from \"@proyecto-viviana/solid-stately\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\n\nexport interface AriaStepListProps {\n /** Accessible label for the step list. */\n \"aria-label\"?: string;\n /** ID of element that labels the step list. */\n \"aria-labelledby\"?: string;\n}\n\nexport interface StepListAria {\n /** Props for the step list container element. */\n stepListProps: JSX.HTMLAttributes<HTMLOListElement>;\n}\n\n/**\n * Creates ARIA props for a step list container.\n */\nexport function createStepList(props: AriaStepListProps, _state: StepListState): StepListAria {\n return {\n stepListProps: {\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? \"Step List\";\n },\n get \"aria-labelledby\"() {\n return props[\"aria-labelledby\"];\n },\n },\n };\n}\n\nexport interface AriaStepProps {\n /** The key of this step. */\n key: Key;\n}\n\nexport interface StepAria {\n /** Props for the step element (anchor/link). */\n stepProps: JSX.HTMLAttributes<HTMLAnchorElement>;\n /** Accessible text describing the step state. */\n stepStateText: string;\n}\n\n/**\n * Creates ARIA props for an individual step within a step list.\n */\nexport function createStep(props: AriaStepProps, state: StepListState): StepAria {\n const isSelected = () => state.selectedKey() === props.key;\n const isCompleted = () => state.isCompleted(props.key);\n const selectable = () => state.isSelectable(props.key);\n\n const getStepStateText = (): string => {\n if (isSelected()) return \"Current\";\n if (isCompleted()) return \"Completed\";\n return \"Not completed\";\n };\n\n const handleClick: JSX.EventHandler<HTMLAnchorElement, MouseEvent> = (e) => {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n };\n\n const handleKeyDown: JSX.EventHandler<HTMLAnchorElement, KeyboardEvent> = (e) => {\n // Prevent arrow key scrolling — tab order handles navigation\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n e.preventDefault();\n return;\n }\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n if (selectable()) {\n state.setSelectedKey(props.key);\n }\n }\n };\n\n return {\n get stepProps() {\n return {\n role: \"link\" as const,\n get \"aria-current\"() {\n return isSelected() ? (\"step\" as const) : undefined;\n },\n get \"aria-disabled\"() {\n return !selectable() ? \"true\" : undefined;\n },\n get tabIndex() {\n return selectable() ? 0 : undefined;\n },\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n };\n },\n get stepStateText() {\n return getStepStateText();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAuCA,SAAgB,eAAe,OAA0B,QAAqC;CAC5F,OAAO,EACL,eAAe;EACb,IAAI,eAAe;GACjB,OAAO,MAAM,iBAAiB;EAChC;EACA,IAAI,oBAAoB;GACtB,OAAO,MAAM;EACf;CACF,EACF;AACF;;;;AAiBA,SAAgB,WAAW,OAAsB,OAAgC;CAC/E,MAAM,mBAAmB,MAAM,YAAY,MAAM,MAAM;CACvD,MAAM,oBAAoB,MAAM,YAAY,MAAM,GAAG;CACrD,MAAM,mBAAmB,MAAM,aAAa,MAAM,GAAG;CAErD,MAAM,yBAAiC;EACrC,IAAI,WAAW,GAAG,OAAO;EACzB,IAAI,YAAY,GAAG,OAAO;EAC1B,OAAO;CACT;CAEA,MAAM,eAAgE,MAAM;EAC1E,EAAE,eAAe;EACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;CAElC;CAEA,MAAM,iBAAqE,MAAM;EAE/E,IAAI,EAAE,QAAQ,aAAa,EAAE,QAAQ,aAAa;GAChD,EAAE,eAAe;GACjB;EACF;EACA,IAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;GACtC,EAAE,eAAe;GACjB,IAAI,WAAW,GACb,MAAM,eAAe,MAAM,GAAG;EAElC;CACF;CAEA,OAAO;EACL,IAAI,YAAY;GACd,OAAO;IACL,MAAM;IACN,IAAI,iBAAiB;KACnB,OAAO,WAAW,IAAK,SAAmB,KAAA;IAC5C;IACA,IAAI,kBAAkB;KACpB,OAAO,CAAC,WAAW,IAAI,SAAS,KAAA;IAClC;IACA,IAAI,WAAW;KACb,OAAO,WAAW,IAAI,IAAI,KAAA;IAC5B;IACA,SAAS;IACT,WAAW;GACb;EACF;EACA,IAAI,gBAAgB;GAClB,OAAO,iBAAiB;EAC1B;CACF;AACF"}
@@ -1,3 +1,15 @@
1
+ /*
2
+ * Copyright 2020 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/switch/useSwitch.ts
1
13
  import { t as createToggle } from "./createToggle.js";
2
14
  //#region src/switch/createSwitch.ts
3
15
  /**
@@ -23,9 +35,15 @@ function createSwitch(props, state, ref) {
23
35
  },
24
36
  isSelected: toggle.isSelected,
25
37
  isPressed: toggle.isPressed,
26
- isDisabled: toggle.isDisabled,
27
- isReadOnly: toggle.isReadOnly,
28
- isInvalid: toggle.isInvalid
38
+ get isDisabled() {
39
+ return toggle.isDisabled;
40
+ },
41
+ get isReadOnly() {
42
+ return toggle.isReadOnly;
43
+ },
44
+ get isInvalid() {
45
+ return toggle.isInvalid;
46
+ }
29
47
  };
30
48
  }
31
49
  //#endregion