@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,93 +1,31 @@
1
- import { t as createPress } from "./createPress.js";
2
- import { i as mergeProps$1 } from "./env.js";
3
- import { i as createDescription, l as disableTextSelection, s as createGlobalListeners, u as restoreTextSelection } from "./utils.js";
4
- import { n as focusWithoutScrolling } from "./focus.js";
5
- import { t as FocusableContext } from "./createFocusable.js";
6
- import { createEffect, createSignal, mergeProps, onCleanup, splitProps } from "solid-js";
7
- import { createComponent } from "solid-js/web";
8
- //#region src/interactions/createLongPress.ts
9
- /**
10
- * createLongPress - Handles long press interactions across mouse and touch.
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
11
6
  *
12
- * Port of @react-aria/interactions useLongPress, adapted for SolidJS.
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.
13
11
  */
14
- const DEFAULT_THRESHOLD = 500;
15
- function isDisabledValue(isDisabled) {
16
- return typeof isDisabled === "function" ? isDisabled() : !!isDisabled;
17
- }
18
- function createLongPressEvent(type, e) {
19
- return {
20
- type,
21
- pointerType: e.pointerType,
22
- target: e.target,
23
- shiftKey: e.shiftKey,
24
- ctrlKey: e.ctrlKey,
25
- metaKey: e.metaKey,
26
- altKey: e.altKey,
27
- x: e.x,
28
- y: e.y
29
- };
30
- }
31
- /**
32
- * Handles long press interactions across mouse and touch devices.
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/useFocusable.tsx
13
+ /*
14
+ * Copyright 2020 Adobe. All rights reserved.
15
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
16
+ * you may not use this file except in compliance with the License. You may obtain a copy
17
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * Unless required by applicable law or agreed to in writing, software distributed under
20
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
21
+ * OF ANY KIND, either express or implied. See the License for the specific language
22
+ * governing permissions and limitations under the License.
33
23
  */
34
- function createLongPress(props = {}) {
35
- const { isDisabled, onLongPressStart, onLongPressEnd, onLongPress, threshold = DEFAULT_THRESHOLD, accessibilityDescription } = props;
36
- let timeoutId;
37
- const { addGlobalListener } = createGlobalListeners();
38
- const { pressProps } = createPress({
39
- isDisabled,
40
- onPressStart(e) {
41
- e.continuePropagation();
42
- if (e.pointerType === "mouse" || e.pointerType === "touch") {
43
- onLongPressStart?.(createLongPressEvent("longpressstart", e));
44
- timeoutId = setTimeout(() => {
45
- e.target.dispatchEvent(new PointerEvent("pointercancel", { bubbles: true }));
46
- if (document.activeElement !== e.target) focusWithoutScrolling(e.target);
47
- onLongPress?.(createLongPressEvent("longpress", e));
48
- timeoutId = void 0;
49
- }, threshold);
50
- if (e.pointerType === "touch") {
51
- const onContextMenu = (event) => {
52
- event.preventDefault();
53
- };
54
- const target = e.target;
55
- target.addEventListener("contextmenu", onContextMenu, { once: true });
56
- addGlobalListener("pointerup", () => {
57
- setTimeout(() => {
58
- target.removeEventListener("contextmenu", onContextMenu);
59
- }, 30);
60
- }, {
61
- isWindow: true,
62
- once: true
63
- });
64
- }
65
- }
66
- },
67
- onPressEnd(e) {
68
- if (timeoutId) {
69
- clearTimeout(timeoutId);
70
- timeoutId = void 0;
71
- }
72
- if (onLongPressEnd && (e.pointerType === "mouse" || e.pointerType === "touch")) onLongPressEnd(createLongPressEvent("longpressend", e));
73
- }
74
- });
75
- const descriptionProps = createDescription(() => onLongPress && !isDisabledValue(isDisabled) ? accessibilityDescription : void 0);
76
- onCleanup(() => {
77
- if (timeoutId) {
78
- clearTimeout(timeoutId);
79
- timeoutId = void 0;
80
- }
81
- });
82
- const longPressProps = mergeProps$1(pressProps);
83
- Object.defineProperty(longPressProps, "aria-describedby", {
84
- get: () => descriptionProps["aria-describedby"],
85
- enumerable: true,
86
- configurable: true
87
- });
88
- return { longPressProps };
89
- }
90
- //#endregion
24
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/useMove.ts
25
+ import { l as disableTextSelection, s as createGlobalListeners, u as restoreTextSelection, x as splitProps } from "./utils.js";
26
+ import { t as FocusableContext } from "./createFocusable.js";
27
+ import { createSignal, createTrackedEffect } from "solid-js";
28
+ import { createComponent } from "@solidjs/web";
91
29
  //#region src/interactions/createMove.ts
92
30
  /**
93
31
  * createMove - Handles move interactions across mouse, touch, pointer, and keyboard.
@@ -138,13 +76,15 @@ function createMove(props = {}) {
138
76
  ...createBaseEvent(originalEvent, pointerType)
139
77
  });
140
78
  };
141
- createEffect(() => {
79
+ createTrackedEffect(() => {
80
+ const _s2Cleanups = [];
142
81
  const activePointer = pointerDown();
143
82
  if (!activePointer) return;
144
83
  if (activePointer === "pointer") {
145
84
  const onPointerMove = (e) => {
146
85
  if (e.pointerId === state.id) {
147
- move(e, e.pointerType || "mouse", e.pageX - (state.lastPosition?.pageX ?? 0), e.pageY - (state.lastPosition?.pageY ?? 0));
86
+ const pointerType = e.pointerType || "mouse";
87
+ move(e, pointerType, e.pageX - (state.lastPosition?.pageX ?? 0), e.pageY - (state.lastPosition?.pageY ?? 0));
148
88
  state.lastPosition = {
149
89
  pageX: e.pageX,
150
90
  pageY: e.pageY
@@ -153,7 +93,8 @@ function createMove(props = {}) {
153
93
  };
154
94
  const onPointerUp = (e) => {
155
95
  if (e.pointerId === state.id) {
156
- end(e, e.pointerType || "mouse");
96
+ const pointerType = e.pointerType || "mouse";
97
+ end(e, pointerType);
157
98
  state.id = null;
158
99
  removeGlobalListener("pointermove", onPointerMove, { isWindow: true });
159
100
  removeGlobalListener("pointerup", onPointerUp, { isWindow: true });
@@ -164,12 +105,15 @@ function createMove(props = {}) {
164
105
  addGlobalListener("pointermove", onPointerMove, { isWindow: true });
165
106
  addGlobalListener("pointerup", onPointerUp, { isWindow: true });
166
107
  addGlobalListener("pointercancel", onPointerUp, { isWindow: true });
167
- onCleanup(() => {
108
+ _s2Cleanups.push(() => {
168
109
  removeGlobalListener("pointermove", onPointerMove, { isWindow: true });
169
110
  removeGlobalListener("pointerup", onPointerUp, { isWindow: true });
170
111
  removeGlobalListener("pointercancel", onPointerUp, { isWindow: true });
171
112
  });
172
113
  }
114
+ return () => {
115
+ for (const c of _s2Cleanups) c();
116
+ };
173
117
  });
174
118
  const start = () => {
175
119
  disableTextSelection();
@@ -285,8 +229,6 @@ function createMove(props = {}) {
285
229
  e.preventDefault();
286
230
  e.stopPropagation();
287
231
  triggerKeyboardMove(e, 0, 1);
288
- break;
289
- default: break;
290
232
  }
291
233
  };
292
234
  return { moveProps };
@@ -294,11 +236,6 @@ function createMove(props = {}) {
294
236
  //#endregion
295
237
  //#region src/interactions/FocusableProvider.tsx
296
238
  /**
297
- * FocusableProvider - Provides DOM props to the nearest focusable child.
298
- *
299
- * This is a 1-1 port of React-Aria's FocusableProvider adapted for SolidJS.
300
- */
301
- /**
302
239
  * Provides DOM props to the nearest focusable child.
303
240
  * Used to pass focus-related props through component boundaries.
304
241
  *
@@ -317,15 +254,14 @@ function createMove(props = {}) {
317
254
  */
318
255
  const FocusableProvider = (props) => {
319
256
  const [, otherProps] = splitProps(props, ["children"]);
320
- const context = mergeProps(otherProps, { ref: (_el) => {} });
321
- return createComponent(FocusableContext.Provider, {
322
- value: context,
257
+ return createComponent(FocusableContext, {
258
+ value: otherProps,
323
259
  get children() {
324
260
  return props.children;
325
261
  }
326
262
  });
327
263
  };
328
264
  //#endregion
329
- export { createMove as n, createLongPress as r, FocusableProvider as t };
265
+ export { createMove as n, FocusableProvider as t };
330
266
 
331
267
  //# sourceMappingURL=interactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactions.js","names":["mergeProps","JSX","mergeProps","ParentComponent","splitProps","FocusableContext","FocusableContextValue","FocusableProviderProps","FocusableProvider","HTMLAttributes","HTMLElement","props","otherProps","context","ref","_el","_$createComponent","Provider","value","children"],"sources":["../../src/interactions/createLongPress.ts","../../src/interactions/createMove.ts","../../src/interactions/FocusableProvider.tsx"],"sourcesContent":["/**\n * createLongPress - Handles long press interactions across mouse and touch.\n *\n * Port of @react-aria/interactions useLongPress, adapted for SolidJS.\n */\n\nimport { JSX, onCleanup } from \"solid-js\";\nimport { createPress, type PressEvent } from \"./createPress\";\nimport { mergeProps, focusWithoutScrolling, createGlobalListeners } from \"../utils\";\nimport { createDescription } from \"../utils/createDescription\";\nimport { type MaybeAccessor } from \"../utils/reactivity\";\n\nexport interface LongPressEvent {\n /** The type of long press event being fired. */\n type: \"longpressstart\" | \"longpressend\" | \"longpress\";\n /** The pointer type that triggered the long press. */\n pointerType: PressEvent[\"pointerType\"];\n /** The target element of the long press event. */\n target: Element;\n /** Whether the shift keyboard modifier was held during the long press event. */\n shiftKey: boolean;\n /** Whether the ctrl keyboard modifier was held during the long press event. */\n ctrlKey: boolean;\n /** Whether the meta keyboard modifier was held during the long press event. */\n metaKey: boolean;\n /** Whether the alt keyboard modifier was held during the long press event. */\n altKey: boolean;\n /** X position relative to the target. */\n x: number;\n /** Y position relative to the target. */\n y: number;\n}\n\nexport interface LongPressProps {\n /** Whether long press events should be disabled. */\n isDisabled?: MaybeAccessor<boolean>;\n /** Handler that is called when a long press interaction starts. */\n onLongPressStart?: (e: LongPressEvent) => void;\n /**\n * Handler that is called when a long press interaction ends, either\n * over the target or when the pointer leaves the target.\n */\n onLongPressEnd?: (e: LongPressEvent) => void;\n /**\n * Handler that is called when the threshold time is met while\n * the press is over the target.\n */\n onLongPress?: (e: LongPressEvent) => void;\n /**\n * The amount of time in milliseconds to wait before triggering a long press.\n * @default 500ms\n */\n threshold?: number;\n /**\n * A description for assistive technology users indicating that a long press\n * action is available, e.g. \"Long press to open menu\".\n */\n accessibilityDescription?: string;\n}\n\nexport interface LongPressResult {\n /** Props to spread on the target element. */\n longPressProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\nconst DEFAULT_THRESHOLD = 500;\n\nfunction isDisabledValue(isDisabled: MaybeAccessor<boolean> | undefined): boolean {\n return typeof isDisabled === \"function\" ? isDisabled() : !!isDisabled;\n}\n\nfunction createLongPressEvent(type: LongPressEvent[\"type\"], e: PressEvent): LongPressEvent {\n return {\n type,\n pointerType: e.pointerType,\n target: e.target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n x: e.x,\n y: e.y,\n };\n}\n\n/**\n * Handles long press interactions across mouse and touch devices.\n */\nexport function createLongPress(props: LongPressProps = {}): LongPressResult {\n const {\n isDisabled,\n onLongPressStart,\n onLongPressEnd,\n onLongPress,\n threshold = DEFAULT_THRESHOLD,\n accessibilityDescription,\n } = props;\n\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n const { addGlobalListener } = createGlobalListeners();\n\n const { pressProps } = createPress({\n isDisabled,\n onPressStart(e) {\n e.continuePropagation();\n if (e.pointerType === \"mouse\" || e.pointerType === \"touch\") {\n onLongPressStart?.(createLongPressEvent(\"longpressstart\", e));\n\n timeoutId = setTimeout(() => {\n // Prevent other press handlers from also handling this event.\n e.target.dispatchEvent(new PointerEvent(\"pointercancel\", { bubbles: true }));\n\n // Ensure target is focused. On touch devices, browsers typically focus on pointer up.\n if (document.activeElement !== e.target) {\n focusWithoutScrolling(e.target as HTMLElement);\n }\n\n onLongPress?.(createLongPressEvent(\"longpress\", e));\n timeoutId = undefined;\n }, threshold);\n\n if (e.pointerType === \"touch\") {\n const onContextMenu = (event: Event) => {\n event.preventDefault();\n };\n const target = e.target as HTMLElement;\n target.addEventListener(\"contextmenu\", onContextMenu, { once: true });\n\n addGlobalListener(\n \"pointerup\",\n () => {\n setTimeout(() => {\n target.removeEventListener(\"contextmenu\", onContextMenu);\n }, 30);\n },\n { isWindow: true, once: true },\n );\n }\n }\n },\n onPressEnd(e) {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = undefined;\n }\n\n if (onLongPressEnd && (e.pointerType === \"mouse\" || e.pointerType === \"touch\")) {\n onLongPressEnd(createLongPressEvent(\"longpressend\", e));\n }\n },\n });\n\n const descriptionProps = createDescription(() =>\n onLongPress && !isDisabledValue(isDisabled) ? accessibilityDescription : undefined,\n );\n\n onCleanup(() => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = undefined;\n }\n });\n\n const longPressProps = mergeProps(pressProps) as JSX.HTMLAttributes<HTMLElement>;\n Object.defineProperty(longPressProps, \"aria-describedby\", {\n get: () => descriptionProps[\"aria-describedby\"],\n enumerable: true,\n configurable: true,\n });\n\n return {\n longPressProps,\n };\n}\n","/**\n * createMove - Handles move interactions across mouse, touch, pointer, and keyboard.\n *\n * Port of @react-aria/interactions useMove, adapted for SolidJS.\n */\n\nimport { JSX, createSignal, createEffect, onCleanup } from \"solid-js\";\nimport { disableTextSelection, restoreTextSelection, createGlobalListeners } from \"../utils\";\n\nexport type PointerType = \"mouse\" | \"pen\" | \"touch\" | \"keyboard\";\n\ninterface BaseMoveEvent {\n pointerType: PointerType;\n shiftKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n altKey: boolean;\n}\n\nexport interface MoveStartEvent extends BaseMoveEvent {\n type: \"movestart\";\n}\n\nexport interface MoveMoveEvent extends BaseMoveEvent {\n type: \"move\";\n deltaX: number;\n deltaY: number;\n}\n\nexport interface MoveEndEvent extends BaseMoveEvent {\n type: \"moveend\";\n}\n\nexport interface MoveEvents {\n onMoveStart?: (e: MoveStartEvent) => void;\n onMove?: (e: MoveMoveEvent) => void;\n onMoveEnd?: (e: MoveEndEvent) => void;\n}\n\nexport interface MoveResult {\n /** Props to spread on the target element. */\n moveProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\ninterface MoveState {\n didMove: boolean;\n lastPosition: { pageX: number; pageY: number } | null;\n id: number | null;\n}\n\nfunction createBaseEvent(\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n): BaseMoveEvent {\n return {\n pointerType,\n shiftKey: originalEvent.shiftKey,\n ctrlKey: originalEvent.ctrlKey,\n metaKey: originalEvent.metaKey,\n altKey: originalEvent.altKey,\n };\n}\n\n/**\n * Handles move interactions across mouse, touch, pointer, and keyboard.\n */\nexport function createMove(props: MoveEvents = {}): MoveResult {\n const { onMoveStart, onMove, onMoveEnd } = props;\n\n const state: MoveState = {\n didMove: false,\n lastPosition: null,\n id: null,\n };\n\n const { addGlobalListener, removeGlobalListener } = createGlobalListeners();\n const [pointerDown, setPointerDown] = createSignal<\"pointer\" | \"mouse\" | \"touch\" | null>(null);\n\n const move = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n deltaX: number,\n deltaY: number,\n ) => {\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n\n if (!state.didMove) {\n state.didMove = true;\n onMoveStart?.({\n type: \"movestart\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n\n onMove?.({\n type: \"move\",\n deltaX,\n deltaY,\n ...createBaseEvent(originalEvent, pointerType),\n });\n };\n\n const end = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n ) => {\n restoreTextSelection();\n if (state.didMove) {\n onMoveEnd?.({\n type: \"moveend\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n };\n\n createEffect(() => {\n const activePointer = pointerDown();\n if (!activePointer) return;\n\n if (activePointer === \"pointer\") {\n const onPointerMove = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n move(\n e,\n pointerType,\n e.pageX - (state.lastPosition?.pageX ?? 0),\n e.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n end(e, pointerType);\n state.id = null;\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n setPointerDown(null);\n }\n };\n\n addGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n addGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n addGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n onCleanup(() => {\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n });\n }\n\n // Mouse/touch listeners are attached directly in their handlers.\n });\n\n const start = () => {\n disableTextSelection();\n state.didMove = false;\n };\n\n const moveProps: JSX.HTMLAttributes<HTMLElement> = {};\n\n const hasPointerEvents =\n typeof window !== \"undefined\" && typeof window.PointerEvent !== \"undefined\";\n\n moveProps.onMouseDown = (e: MouseEvent) => {\n if (pointerDown() != null) {\n return;\n }\n if (e.button === 0) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n setPointerDown(\"mouse\");\n\n const onMouseMove = (event: MouseEvent) => {\n move(\n event,\n \"mouse\",\n event.pageX - (state.lastPosition?.pageX ?? 0),\n event.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: event.pageX, pageY: event.pageY };\n };\n const onMouseUp = (event: MouseEvent) => {\n end(event, \"mouse\");\n removeGlobalListener(\"mousemove\", onMouseMove);\n removeGlobalListener(\"mouseup\", onMouseUp);\n setPointerDown(null);\n };\n addGlobalListener(\"mousemove\", onMouseMove);\n addGlobalListener(\"mouseup\", onMouseUp);\n }\n };\n\n moveProps.onTouchStart = (e: TouchEvent) => {\n if (pointerDown() != null || e.changedTouches.length === 0 || state.id != null) {\n return;\n }\n const { pageX, pageY, identifier } = e.changedTouches[0];\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX, pageY };\n state.id = identifier;\n setPointerDown(\"touch\");\n\n const onTouchMove = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n const { pageX: moveX, pageY: moveY } = event.changedTouches[touchIndex];\n move(\n event,\n \"touch\",\n moveX - (state.lastPosition?.pageX ?? 0),\n moveY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: moveX, pageY: moveY };\n }\n };\n const onTouchEnd = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n end(event, \"touch\");\n state.id = null;\n removeGlobalListener(\"touchmove\", onTouchMove);\n removeGlobalListener(\"touchend\", onTouchEnd);\n removeGlobalListener(\"touchcancel\", onTouchEnd);\n setPointerDown(null);\n }\n };\n addGlobalListener(\"touchmove\", onTouchMove);\n addGlobalListener(\"touchend\", onTouchEnd);\n addGlobalListener(\"touchcancel\", onTouchEnd);\n };\n\n if (hasPointerEvents) {\n moveProps.onPointerDown = (e: PointerEvent) => {\n const button = e.button ?? 0;\n if (button === 0 && state.id == null) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n state.id = e.pointerId;\n setPointerDown(\"pointer\");\n }\n };\n }\n\n const triggerKeyboardMove = (e: KeyboardEvent, deltaX: number, deltaY: number) => {\n start();\n move(e, \"keyboard\", deltaX, deltaY);\n end(e, \"keyboard\");\n };\n\n moveProps.onKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Left\":\n case \"ArrowLeft\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, -1, 0);\n break;\n case \"Right\":\n case \"ArrowRight\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 1, 0);\n break;\n case \"Up\":\n case \"ArrowUp\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, -1);\n break;\n case \"Down\":\n case \"ArrowDown\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, 1);\n break;\n default:\n break;\n }\n };\n\n return { moveProps };\n}\n","/**\n * FocusableProvider - Provides DOM props to the nearest focusable child.\n *\n * This is a 1-1 port of React-Aria's FocusableProvider adapted for SolidJS.\n */\n\nimport { JSX, mergeProps, ParentComponent, splitProps } from \"solid-js\";\nimport { FocusableContext, FocusableContextValue, FocusableProviderProps } from \"./createFocusable\";\n\n/**\n * Provides DOM props to the nearest focusable child.\n * Used to pass focus-related props through component boundaries.\n *\n * @example\n * ```tsx\n * import { FocusableProvider } from 'solidaria';\n *\n * function MyComponent() {\n * return (\n * <FocusableProvider onFocus={() => console.log('focused!')}>\n * <NestedFocusableComponent />\n * </FocusableProvider>\n * );\n * }\n * ```\n */\nexport const FocusableProvider: ParentComponent<\n FocusableProviderProps & JSX.HTMLAttributes<HTMLElement>\n> = (props) => {\n // Don't destructure: `const { children, ...otherProps } = props` evaluates the\n // `children` getter immediately (2nd statement of the body), instantiating the\n // nested subtree BEFORE this provider mounts — so a child that reads\n // FocusableContext during its own setup would miss us. splitProps keeps\n // otherProps a reactive proxy; children is read lazily inside the JSX, under\n // the mounted provider. Same pattern as solidaria-components' useRenderProps.\n const [, otherProps] = splitProps(props, [\"children\"]);\n\n const context = mergeProps(otherProps, {\n ref: (_el: HTMLElement) => {\n // Store ref if needed by parent\n },\n }) as FocusableContextValue;\n\n return <FocusableContext.Provider value={context}>{props.children}</FocusableContext.Provider>;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"interactions.js","names":["<FocusableContext value={otherProps as FocusableContextValue}>\n {props.children}\n </FocusableContext>","value={otherProps as FocusableContextValue}"],"sources":["../../src/interactions/createMove.ts","../../src/interactions/FocusableProvider.tsx"],"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/interactions/useMove.ts\n\n/**\n * createMove - Handles move interactions across mouse, touch, pointer, and keyboard.\n *\n * Port of @react-aria/interactions useMove, adapted for SolidJS.\n */\n\nimport { createSignal, createTrackedEffect } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { disableTextSelection, restoreTextSelection, createGlobalListeners } from \"../utils\";\n\nexport type PointerType = \"mouse\" | \"pen\" | \"touch\" | \"keyboard\";\n\ninterface BaseMoveEvent {\n pointerType: PointerType;\n shiftKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n altKey: boolean;\n}\n\nexport interface MoveStartEvent extends BaseMoveEvent {\n type: \"movestart\";\n}\n\nexport interface MoveMoveEvent extends BaseMoveEvent {\n type: \"move\";\n deltaX: number;\n deltaY: number;\n}\n\nexport interface MoveEndEvent extends BaseMoveEvent {\n type: \"moveend\";\n}\n\nexport interface MoveEvents {\n onMoveStart?: (e: MoveStartEvent) => void;\n onMove?: (e: MoveMoveEvent) => void;\n onMoveEnd?: (e: MoveEndEvent) => void;\n}\n\nexport interface MoveResult {\n /** Props to spread on the target element. */\n moveProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\ninterface MoveState {\n didMove: boolean;\n lastPosition: { pageX: number; pageY: number } | null;\n id: number | null;\n}\n\nfunction createBaseEvent(\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n): BaseMoveEvent {\n return {\n pointerType,\n shiftKey: originalEvent.shiftKey,\n ctrlKey: originalEvent.ctrlKey,\n metaKey: originalEvent.metaKey,\n altKey: originalEvent.altKey,\n };\n}\n\n/**\n * Handles move interactions across mouse, touch, pointer, and keyboard.\n */\nexport function createMove(props: MoveEvents = {}): MoveResult {\n const { onMoveStart, onMove, onMoveEnd } = props;\n\n const state: MoveState = {\n didMove: false,\n lastPosition: null,\n id: null,\n };\n\n const { addGlobalListener, removeGlobalListener } = createGlobalListeners();\n const [pointerDown, setPointerDown] = createSignal<\"pointer\" | \"mouse\" | \"touch\" | null>(null);\n\n const move = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n deltaX: number,\n deltaY: number,\n ) => {\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n\n if (!state.didMove) {\n state.didMove = true;\n onMoveStart?.({\n type: \"movestart\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n\n onMove?.({\n type: \"move\",\n deltaX,\n deltaY,\n ...createBaseEvent(originalEvent, pointerType),\n });\n };\n\n const end = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n ) => {\n restoreTextSelection();\n if (state.didMove) {\n onMoveEnd?.({\n type: \"moveend\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n };\n\n createTrackedEffect(() => {\n const _s2Cleanups: Array<() => void> = [];\n\n const activePointer = pointerDown();\n if (!activePointer) return;\n\n if (activePointer === \"pointer\") {\n const onPointerMove = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n move(\n e,\n pointerType,\n e.pageX - (state.lastPosition?.pageX ?? 0),\n e.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n end(e, pointerType);\n state.id = null;\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n setPointerDown(null);\n }\n };\n\n addGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n addGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n addGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n _s2Cleanups.push(() => {\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n });\n }\n\n // Mouse/touch listeners are attached directly in their handlers.\n\n return () => {\n for (const c of _s2Cleanups) c();\n };\n });\n\n const start = () => {\n disableTextSelection();\n state.didMove = false;\n };\n\n const moveProps: JSX.HTMLAttributes<HTMLElement> = {};\n\n const hasPointerEvents =\n typeof window !== \"undefined\" && typeof window.PointerEvent !== \"undefined\";\n\n moveProps.onMouseDown = (e: MouseEvent) => {\n if (pointerDown() != null) {\n return;\n }\n if (e.button === 0) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n setPointerDown(\"mouse\");\n\n const onMouseMove = (event: MouseEvent) => {\n move(\n event,\n \"mouse\",\n event.pageX - (state.lastPosition?.pageX ?? 0),\n event.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: event.pageX, pageY: event.pageY };\n };\n const onMouseUp = (event: MouseEvent) => {\n end(event, \"mouse\");\n removeGlobalListener(\"mousemove\", onMouseMove);\n removeGlobalListener(\"mouseup\", onMouseUp);\n setPointerDown(null);\n };\n addGlobalListener(\"mousemove\", onMouseMove);\n addGlobalListener(\"mouseup\", onMouseUp);\n }\n };\n\n moveProps.onTouchStart = (e: TouchEvent) => {\n if (pointerDown() != null || e.changedTouches.length === 0 || state.id != null) {\n return;\n }\n const { pageX, pageY, identifier } = e.changedTouches[0];\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX, pageY };\n state.id = identifier;\n setPointerDown(\"touch\");\n\n const onTouchMove = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n const { pageX: moveX, pageY: moveY } = event.changedTouches[touchIndex];\n move(\n event,\n \"touch\",\n moveX - (state.lastPosition?.pageX ?? 0),\n moveY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: moveX, pageY: moveY };\n }\n };\n const onTouchEnd = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n end(event, \"touch\");\n state.id = null;\n removeGlobalListener(\"touchmove\", onTouchMove);\n removeGlobalListener(\"touchend\", onTouchEnd);\n removeGlobalListener(\"touchcancel\", onTouchEnd);\n setPointerDown(null);\n }\n };\n addGlobalListener(\"touchmove\", onTouchMove);\n addGlobalListener(\"touchend\", onTouchEnd);\n addGlobalListener(\"touchcancel\", onTouchEnd);\n };\n\n if (hasPointerEvents) {\n moveProps.onPointerDown = (e: PointerEvent) => {\n const button = e.button ?? 0;\n if (button === 0 && state.id == null) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n state.id = e.pointerId;\n setPointerDown(\"pointer\");\n }\n };\n }\n\n const triggerKeyboardMove = (e: KeyboardEvent, deltaX: number, deltaY: number) => {\n start();\n move(e, \"keyboard\", deltaX, deltaY);\n end(e, \"keyboard\");\n };\n\n moveProps.onKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Left\":\n case \"ArrowLeft\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, -1, 0);\n break;\n case \"Right\":\n case \"ArrowRight\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 1, 0);\n break;\n case \"Up\":\n case \"ArrowUp\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, -1);\n break;\n case \"Down\":\n case \"ArrowDown\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, 1);\n break;\n default:\n break;\n }\n };\n\n return { moveProps };\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/interactions/useFocusable.tsx\n\n/**\n * FocusableProvider - Provides DOM props to the nearest focusable child.\n *\n * Ported from packages/react-aria/src/interactions/useFocusable.tsx.\n */\n\nimport { ParentComponent } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { FocusableContext, FocusableContextValue, FocusableProviderProps } from \"./createFocusable\";\nimport { splitProps } from \"../utils/splitProps\";\n\n/**\n * Provides DOM props to the nearest focusable child.\n * Used to pass focus-related props through component boundaries.\n *\n * @example\n * ```tsx\n * import { FocusableProvider } from 'solidaria';\n *\n * function MyComponent() {\n * return (\n * <FocusableProvider onFocus={() => console.log('focused!')}>\n * <NestedFocusableComponent />\n * </FocusableProvider>\n * );\n * }\n * ```\n */\nexport const FocusableProvider: ParentComponent<\n FocusableProviderProps & JSX.HTMLAttributes<HTMLElement>\n> = (props) => {\n // Don't destructure: `const { children, ...otherProps } = props` evaluates the\n // `children` getter immediately (2nd statement of the body), instantiating the\n // nested subtree BEFORE this provider mounts — so a child that reads\n // FocusableContext during its own setup would miss us. splitProps keeps\n // otherProps a reactive proxy (including the parent ref); children is read\n // lazily inside the JSX, under the mounted provider. Same pattern as\n // solidaria-components' useRenderProps. RAC FocusableProvider puts the\n // forwarded ref on the context (`useFocusable.tsx` + useSyncRef) so\n // PreviewTrigger can measure the trigger for the hover safe-area.\n const [, otherProps] = splitProps(props, [\"children\"]);\n\n return (\n <FocusableContext value={otherProps as FocusableContextValue}>\n {props.children}\n </FocusableContext>\n );\n};\n"],"mappings":"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"}
@@ -1,92 +1,30 @@
1
- import { t as createPress } from "./createPress.jsx";
2
- import { i as mergeProps$1 } from "./env.jsx";
3
- import { i as createDescription, l as disableTextSelection, s as createGlobalListeners, u as restoreTextSelection } from "./utils.jsx";
4
- import { n as focusWithoutScrolling } from "./focus.jsx";
5
- import { t as FocusableContext } from "./createFocusable.jsx";
6
- import { createEffect, createSignal, mergeProps, onCleanup, splitProps } from "solid-js";
7
- //#region src/interactions/createLongPress.ts
8
- /**
9
- * createLongPress - Handles long press interactions across mouse and touch.
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
10
6
  *
11
- * Port of @react-aria/interactions useLongPress, adapted for SolidJS.
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.
12
11
  */
13
- const DEFAULT_THRESHOLD = 500;
14
- function isDisabledValue(isDisabled) {
15
- return typeof isDisabled === "function" ? isDisabled() : !!isDisabled;
16
- }
17
- function createLongPressEvent(type, e) {
18
- return {
19
- type,
20
- pointerType: e.pointerType,
21
- target: e.target,
22
- shiftKey: e.shiftKey,
23
- ctrlKey: e.ctrlKey,
24
- metaKey: e.metaKey,
25
- altKey: e.altKey,
26
- x: e.x,
27
- y: e.y
28
- };
29
- }
30
- /**
31
- * Handles long press interactions across mouse and touch devices.
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/useFocusable.tsx
13
+ /*
14
+ * Copyright 2020 Adobe. All rights reserved.
15
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
16
+ * you may not use this file except in compliance with the License. You may obtain a copy
17
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * Unless required by applicable law or agreed to in writing, software distributed under
20
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
21
+ * OF ANY KIND, either express or implied. See the License for the specific language
22
+ * governing permissions and limitations under the License.
32
23
  */
33
- function createLongPress(props = {}) {
34
- const { isDisabled, onLongPressStart, onLongPressEnd, onLongPress, threshold = DEFAULT_THRESHOLD, accessibilityDescription } = props;
35
- let timeoutId;
36
- const { addGlobalListener } = createGlobalListeners();
37
- const { pressProps } = createPress({
38
- isDisabled,
39
- onPressStart(e) {
40
- e.continuePropagation();
41
- if (e.pointerType === "mouse" || e.pointerType === "touch") {
42
- onLongPressStart?.(createLongPressEvent("longpressstart", e));
43
- timeoutId = setTimeout(() => {
44
- e.target.dispatchEvent(new PointerEvent("pointercancel", { bubbles: true }));
45
- if (document.activeElement !== e.target) focusWithoutScrolling(e.target);
46
- onLongPress?.(createLongPressEvent("longpress", e));
47
- timeoutId = void 0;
48
- }, threshold);
49
- if (e.pointerType === "touch") {
50
- const onContextMenu = (event) => {
51
- event.preventDefault();
52
- };
53
- const target = e.target;
54
- target.addEventListener("contextmenu", onContextMenu, { once: true });
55
- addGlobalListener("pointerup", () => {
56
- setTimeout(() => {
57
- target.removeEventListener("contextmenu", onContextMenu);
58
- }, 30);
59
- }, {
60
- isWindow: true,
61
- once: true
62
- });
63
- }
64
- }
65
- },
66
- onPressEnd(e) {
67
- if (timeoutId) {
68
- clearTimeout(timeoutId);
69
- timeoutId = void 0;
70
- }
71
- if (onLongPressEnd && (e.pointerType === "mouse" || e.pointerType === "touch")) onLongPressEnd(createLongPressEvent("longpressend", e));
72
- }
73
- });
74
- const descriptionProps = createDescription(() => onLongPress && !isDisabledValue(isDisabled) ? accessibilityDescription : void 0);
75
- onCleanup(() => {
76
- if (timeoutId) {
77
- clearTimeout(timeoutId);
78
- timeoutId = void 0;
79
- }
80
- });
81
- const longPressProps = mergeProps$1(pressProps);
82
- Object.defineProperty(longPressProps, "aria-describedby", {
83
- get: () => descriptionProps["aria-describedby"],
84
- enumerable: true,
85
- configurable: true
86
- });
87
- return { longPressProps };
88
- }
89
- //#endregion
24
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/useMove.ts
25
+ import { l as disableTextSelection, s as createGlobalListeners, u as restoreTextSelection, x as splitProps } from "./utils.jsx";
26
+ import { t as FocusableContext } from "./createFocusable.jsx";
27
+ import { createSignal, createTrackedEffect } from "solid-js";
90
28
  //#region src/interactions/createMove.ts
91
29
  /**
92
30
  * createMove - Handles move interactions across mouse, touch, pointer, and keyboard.
@@ -137,13 +75,15 @@ function createMove(props = {}) {
137
75
  ...createBaseEvent(originalEvent, pointerType)
138
76
  });
139
77
  };
140
- createEffect(() => {
78
+ createTrackedEffect(() => {
79
+ const _s2Cleanups = [];
141
80
  const activePointer = pointerDown();
142
81
  if (!activePointer) return;
143
82
  if (activePointer === "pointer") {
144
83
  const onPointerMove = (e) => {
145
84
  if (e.pointerId === state.id) {
146
- move(e, e.pointerType || "mouse", e.pageX - (state.lastPosition?.pageX ?? 0), e.pageY - (state.lastPosition?.pageY ?? 0));
85
+ const pointerType = e.pointerType || "mouse";
86
+ move(e, pointerType, e.pageX - (state.lastPosition?.pageX ?? 0), e.pageY - (state.lastPosition?.pageY ?? 0));
147
87
  state.lastPosition = {
148
88
  pageX: e.pageX,
149
89
  pageY: e.pageY
@@ -152,7 +92,8 @@ function createMove(props = {}) {
152
92
  };
153
93
  const onPointerUp = (e) => {
154
94
  if (e.pointerId === state.id) {
155
- end(e, e.pointerType || "mouse");
95
+ const pointerType = e.pointerType || "mouse";
96
+ end(e, pointerType);
156
97
  state.id = null;
157
98
  removeGlobalListener("pointermove", onPointerMove, { isWindow: true });
158
99
  removeGlobalListener("pointerup", onPointerUp, { isWindow: true });
@@ -163,12 +104,15 @@ function createMove(props = {}) {
163
104
  addGlobalListener("pointermove", onPointerMove, { isWindow: true });
164
105
  addGlobalListener("pointerup", onPointerUp, { isWindow: true });
165
106
  addGlobalListener("pointercancel", onPointerUp, { isWindow: true });
166
- onCleanup(() => {
107
+ _s2Cleanups.push(() => {
167
108
  removeGlobalListener("pointermove", onPointerMove, { isWindow: true });
168
109
  removeGlobalListener("pointerup", onPointerUp, { isWindow: true });
169
110
  removeGlobalListener("pointercancel", onPointerUp, { isWindow: true });
170
111
  });
171
112
  }
113
+ return () => {
114
+ for (const c of _s2Cleanups) c();
115
+ };
172
116
  });
173
117
  const start = () => {
174
118
  disableTextSelection();
@@ -284,8 +228,6 @@ function createMove(props = {}) {
284
228
  e.preventDefault();
285
229
  e.stopPropagation();
286
230
  triggerKeyboardMove(e, 0, 1);
287
- break;
288
- default: break;
289
231
  }
290
232
  };
291
233
  return { moveProps };
@@ -293,11 +235,6 @@ function createMove(props = {}) {
293
235
  //#endregion
294
236
  //#region src/interactions/FocusableProvider.tsx
295
237
  /**
296
- * FocusableProvider - Provides DOM props to the nearest focusable child.
297
- *
298
- * This is a 1-1 port of React-Aria's FocusableProvider adapted for SolidJS.
299
- */
300
- /**
301
238
  * Provides DOM props to the nearest focusable child.
302
239
  * Used to pass focus-related props through component boundaries.
303
240
  *
@@ -316,10 +253,11 @@ function createMove(props = {}) {
316
253
  */
317
254
  const FocusableProvider = (props) => {
318
255
  const [, otherProps] = splitProps(props, ["children"]);
319
- const context = mergeProps(otherProps, { ref: (_el) => {} });
320
- return <FocusableContext.Provider value={context}>{props.children}</FocusableContext.Provider>;
256
+ return <FocusableContext value={otherProps}>
257
+ {props.children}
258
+ </FocusableContext>;
321
259
  };
322
260
  //#endregion
323
- export { createMove as n, createLongPress as r, FocusableProvider as t };
261
+ export { createMove as n, FocusableProvider as t };
324
262
 
325
263
  //# sourceMappingURL=interactions.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactions.jsx","names":["mergeProps"],"sources":["../../src/interactions/createLongPress.ts","../../src/interactions/createMove.ts","../../src/interactions/FocusableProvider.tsx"],"sourcesContent":["/**\n * createLongPress - Handles long press interactions across mouse and touch.\n *\n * Port of @react-aria/interactions useLongPress, adapted for SolidJS.\n */\n\nimport { JSX, onCleanup } from \"solid-js\";\nimport { createPress, type PressEvent } from \"./createPress\";\nimport { mergeProps, focusWithoutScrolling, createGlobalListeners } from \"../utils\";\nimport { createDescription } from \"../utils/createDescription\";\nimport { type MaybeAccessor } from \"../utils/reactivity\";\n\nexport interface LongPressEvent {\n /** The type of long press event being fired. */\n type: \"longpressstart\" | \"longpressend\" | \"longpress\";\n /** The pointer type that triggered the long press. */\n pointerType: PressEvent[\"pointerType\"];\n /** The target element of the long press event. */\n target: Element;\n /** Whether the shift keyboard modifier was held during the long press event. */\n shiftKey: boolean;\n /** Whether the ctrl keyboard modifier was held during the long press event. */\n ctrlKey: boolean;\n /** Whether the meta keyboard modifier was held during the long press event. */\n metaKey: boolean;\n /** Whether the alt keyboard modifier was held during the long press event. */\n altKey: boolean;\n /** X position relative to the target. */\n x: number;\n /** Y position relative to the target. */\n y: number;\n}\n\nexport interface LongPressProps {\n /** Whether long press events should be disabled. */\n isDisabled?: MaybeAccessor<boolean>;\n /** Handler that is called when a long press interaction starts. */\n onLongPressStart?: (e: LongPressEvent) => void;\n /**\n * Handler that is called when a long press interaction ends, either\n * over the target or when the pointer leaves the target.\n */\n onLongPressEnd?: (e: LongPressEvent) => void;\n /**\n * Handler that is called when the threshold time is met while\n * the press is over the target.\n */\n onLongPress?: (e: LongPressEvent) => void;\n /**\n * The amount of time in milliseconds to wait before triggering a long press.\n * @default 500ms\n */\n threshold?: number;\n /**\n * A description for assistive technology users indicating that a long press\n * action is available, e.g. \"Long press to open menu\".\n */\n accessibilityDescription?: string;\n}\n\nexport interface LongPressResult {\n /** Props to spread on the target element. */\n longPressProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\nconst DEFAULT_THRESHOLD = 500;\n\nfunction isDisabledValue(isDisabled: MaybeAccessor<boolean> | undefined): boolean {\n return typeof isDisabled === \"function\" ? isDisabled() : !!isDisabled;\n}\n\nfunction createLongPressEvent(type: LongPressEvent[\"type\"], e: PressEvent): LongPressEvent {\n return {\n type,\n pointerType: e.pointerType,\n target: e.target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n x: e.x,\n y: e.y,\n };\n}\n\n/**\n * Handles long press interactions across mouse and touch devices.\n */\nexport function createLongPress(props: LongPressProps = {}): LongPressResult {\n const {\n isDisabled,\n onLongPressStart,\n onLongPressEnd,\n onLongPress,\n threshold = DEFAULT_THRESHOLD,\n accessibilityDescription,\n } = props;\n\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n const { addGlobalListener } = createGlobalListeners();\n\n const { pressProps } = createPress({\n isDisabled,\n onPressStart(e) {\n e.continuePropagation();\n if (e.pointerType === \"mouse\" || e.pointerType === \"touch\") {\n onLongPressStart?.(createLongPressEvent(\"longpressstart\", e));\n\n timeoutId = setTimeout(() => {\n // Prevent other press handlers from also handling this event.\n e.target.dispatchEvent(new PointerEvent(\"pointercancel\", { bubbles: true }));\n\n // Ensure target is focused. On touch devices, browsers typically focus on pointer up.\n if (document.activeElement !== e.target) {\n focusWithoutScrolling(e.target as HTMLElement);\n }\n\n onLongPress?.(createLongPressEvent(\"longpress\", e));\n timeoutId = undefined;\n }, threshold);\n\n if (e.pointerType === \"touch\") {\n const onContextMenu = (event: Event) => {\n event.preventDefault();\n };\n const target = e.target as HTMLElement;\n target.addEventListener(\"contextmenu\", onContextMenu, { once: true });\n\n addGlobalListener(\n \"pointerup\",\n () => {\n setTimeout(() => {\n target.removeEventListener(\"contextmenu\", onContextMenu);\n }, 30);\n },\n { isWindow: true, once: true },\n );\n }\n }\n },\n onPressEnd(e) {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = undefined;\n }\n\n if (onLongPressEnd && (e.pointerType === \"mouse\" || e.pointerType === \"touch\")) {\n onLongPressEnd(createLongPressEvent(\"longpressend\", e));\n }\n },\n });\n\n const descriptionProps = createDescription(() =>\n onLongPress && !isDisabledValue(isDisabled) ? accessibilityDescription : undefined,\n );\n\n onCleanup(() => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = undefined;\n }\n });\n\n const longPressProps = mergeProps(pressProps) as JSX.HTMLAttributes<HTMLElement>;\n Object.defineProperty(longPressProps, \"aria-describedby\", {\n get: () => descriptionProps[\"aria-describedby\"],\n enumerable: true,\n configurable: true,\n });\n\n return {\n longPressProps,\n };\n}\n","/**\n * createMove - Handles move interactions across mouse, touch, pointer, and keyboard.\n *\n * Port of @react-aria/interactions useMove, adapted for SolidJS.\n */\n\nimport { JSX, createSignal, createEffect, onCleanup } from \"solid-js\";\nimport { disableTextSelection, restoreTextSelection, createGlobalListeners } from \"../utils\";\n\nexport type PointerType = \"mouse\" | \"pen\" | \"touch\" | \"keyboard\";\n\ninterface BaseMoveEvent {\n pointerType: PointerType;\n shiftKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n altKey: boolean;\n}\n\nexport interface MoveStartEvent extends BaseMoveEvent {\n type: \"movestart\";\n}\n\nexport interface MoveMoveEvent extends BaseMoveEvent {\n type: \"move\";\n deltaX: number;\n deltaY: number;\n}\n\nexport interface MoveEndEvent extends BaseMoveEvent {\n type: \"moveend\";\n}\n\nexport interface MoveEvents {\n onMoveStart?: (e: MoveStartEvent) => void;\n onMove?: (e: MoveMoveEvent) => void;\n onMoveEnd?: (e: MoveEndEvent) => void;\n}\n\nexport interface MoveResult {\n /** Props to spread on the target element. */\n moveProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\ninterface MoveState {\n didMove: boolean;\n lastPosition: { pageX: number; pageY: number } | null;\n id: number | null;\n}\n\nfunction createBaseEvent(\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n): BaseMoveEvent {\n return {\n pointerType,\n shiftKey: originalEvent.shiftKey,\n ctrlKey: originalEvent.ctrlKey,\n metaKey: originalEvent.metaKey,\n altKey: originalEvent.altKey,\n };\n}\n\n/**\n * Handles move interactions across mouse, touch, pointer, and keyboard.\n */\nexport function createMove(props: MoveEvents = {}): MoveResult {\n const { onMoveStart, onMove, onMoveEnd } = props;\n\n const state: MoveState = {\n didMove: false,\n lastPosition: null,\n id: null,\n };\n\n const { addGlobalListener, removeGlobalListener } = createGlobalListeners();\n const [pointerDown, setPointerDown] = createSignal<\"pointer\" | \"mouse\" | \"touch\" | null>(null);\n\n const move = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n deltaX: number,\n deltaY: number,\n ) => {\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n\n if (!state.didMove) {\n state.didMove = true;\n onMoveStart?.({\n type: \"movestart\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n\n onMove?.({\n type: \"move\",\n deltaX,\n deltaY,\n ...createBaseEvent(originalEvent, pointerType),\n });\n };\n\n const end = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n ) => {\n restoreTextSelection();\n if (state.didMove) {\n onMoveEnd?.({\n type: \"moveend\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n };\n\n createEffect(() => {\n const activePointer = pointerDown();\n if (!activePointer) return;\n\n if (activePointer === \"pointer\") {\n const onPointerMove = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n move(\n e,\n pointerType,\n e.pageX - (state.lastPosition?.pageX ?? 0),\n e.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n end(e, pointerType);\n state.id = null;\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n setPointerDown(null);\n }\n };\n\n addGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n addGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n addGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n onCleanup(() => {\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n });\n }\n\n // Mouse/touch listeners are attached directly in their handlers.\n });\n\n const start = () => {\n disableTextSelection();\n state.didMove = false;\n };\n\n const moveProps: JSX.HTMLAttributes<HTMLElement> = {};\n\n const hasPointerEvents =\n typeof window !== \"undefined\" && typeof window.PointerEvent !== \"undefined\";\n\n moveProps.onMouseDown = (e: MouseEvent) => {\n if (pointerDown() != null) {\n return;\n }\n if (e.button === 0) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n setPointerDown(\"mouse\");\n\n const onMouseMove = (event: MouseEvent) => {\n move(\n event,\n \"mouse\",\n event.pageX - (state.lastPosition?.pageX ?? 0),\n event.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: event.pageX, pageY: event.pageY };\n };\n const onMouseUp = (event: MouseEvent) => {\n end(event, \"mouse\");\n removeGlobalListener(\"mousemove\", onMouseMove);\n removeGlobalListener(\"mouseup\", onMouseUp);\n setPointerDown(null);\n };\n addGlobalListener(\"mousemove\", onMouseMove);\n addGlobalListener(\"mouseup\", onMouseUp);\n }\n };\n\n moveProps.onTouchStart = (e: TouchEvent) => {\n if (pointerDown() != null || e.changedTouches.length === 0 || state.id != null) {\n return;\n }\n const { pageX, pageY, identifier } = e.changedTouches[0];\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX, pageY };\n state.id = identifier;\n setPointerDown(\"touch\");\n\n const onTouchMove = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n const { pageX: moveX, pageY: moveY } = event.changedTouches[touchIndex];\n move(\n event,\n \"touch\",\n moveX - (state.lastPosition?.pageX ?? 0),\n moveY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: moveX, pageY: moveY };\n }\n };\n const onTouchEnd = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n end(event, \"touch\");\n state.id = null;\n removeGlobalListener(\"touchmove\", onTouchMove);\n removeGlobalListener(\"touchend\", onTouchEnd);\n removeGlobalListener(\"touchcancel\", onTouchEnd);\n setPointerDown(null);\n }\n };\n addGlobalListener(\"touchmove\", onTouchMove);\n addGlobalListener(\"touchend\", onTouchEnd);\n addGlobalListener(\"touchcancel\", onTouchEnd);\n };\n\n if (hasPointerEvents) {\n moveProps.onPointerDown = (e: PointerEvent) => {\n const button = e.button ?? 0;\n if (button === 0 && state.id == null) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n state.id = e.pointerId;\n setPointerDown(\"pointer\");\n }\n };\n }\n\n const triggerKeyboardMove = (e: KeyboardEvent, deltaX: number, deltaY: number) => {\n start();\n move(e, \"keyboard\", deltaX, deltaY);\n end(e, \"keyboard\");\n };\n\n moveProps.onKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Left\":\n case \"ArrowLeft\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, -1, 0);\n break;\n case \"Right\":\n case \"ArrowRight\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 1, 0);\n break;\n case \"Up\":\n case \"ArrowUp\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, -1);\n break;\n case \"Down\":\n case \"ArrowDown\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, 1);\n break;\n default:\n break;\n }\n };\n\n return { moveProps };\n}\n","/**\n * FocusableProvider - Provides DOM props to the nearest focusable child.\n *\n * This is a 1-1 port of React-Aria's FocusableProvider adapted for SolidJS.\n */\n\nimport { JSX, mergeProps, ParentComponent, splitProps } from \"solid-js\";\nimport { FocusableContext, FocusableContextValue, FocusableProviderProps } from \"./createFocusable\";\n\n/**\n * Provides DOM props to the nearest focusable child.\n * Used to pass focus-related props through component boundaries.\n *\n * @example\n * ```tsx\n * import { FocusableProvider } from 'solidaria';\n *\n * function MyComponent() {\n * return (\n * <FocusableProvider onFocus={() => console.log('focused!')}>\n * <NestedFocusableComponent />\n * </FocusableProvider>\n * );\n * }\n * ```\n */\nexport const FocusableProvider: ParentComponent<\n FocusableProviderProps & JSX.HTMLAttributes<HTMLElement>\n> = (props) => {\n // Don't destructure: `const { children, ...otherProps } = props` evaluates the\n // `children` getter immediately (2nd statement of the body), instantiating the\n // nested subtree BEFORE this provider mounts — so a child that reads\n // FocusableContext during its own setup would miss us. splitProps keeps\n // otherProps a reactive proxy; children is read lazily inside the JSX, under\n // the mounted provider. Same pattern as solidaria-components' useRenderProps.\n const [, otherProps] = splitProps(props, [\"children\"]);\n\n const context = mergeProps(otherProps, {\n ref: (_el: HTMLElement) => {\n // Store ref if needed by parent\n },\n }) as FocusableContextValue;\n\n return <FocusableContext.Provider value={context}>{props.children}</FocusableContext.Provider>;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"interactions.jsx","names":[],"sources":["../../src/interactions/createMove.ts","../../src/interactions/FocusableProvider.tsx"],"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/interactions/useMove.ts\n\n/**\n * createMove - Handles move interactions across mouse, touch, pointer, and keyboard.\n *\n * Port of @react-aria/interactions useMove, adapted for SolidJS.\n */\n\nimport { createSignal, createTrackedEffect } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { disableTextSelection, restoreTextSelection, createGlobalListeners } from \"../utils\";\n\nexport type PointerType = \"mouse\" | \"pen\" | \"touch\" | \"keyboard\";\n\ninterface BaseMoveEvent {\n pointerType: PointerType;\n shiftKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n altKey: boolean;\n}\n\nexport interface MoveStartEvent extends BaseMoveEvent {\n type: \"movestart\";\n}\n\nexport interface MoveMoveEvent extends BaseMoveEvent {\n type: \"move\";\n deltaX: number;\n deltaY: number;\n}\n\nexport interface MoveEndEvent extends BaseMoveEvent {\n type: \"moveend\";\n}\n\nexport interface MoveEvents {\n onMoveStart?: (e: MoveStartEvent) => void;\n onMove?: (e: MoveMoveEvent) => void;\n onMoveEnd?: (e: MoveEndEvent) => void;\n}\n\nexport interface MoveResult {\n /** Props to spread on the target element. */\n moveProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\ninterface MoveState {\n didMove: boolean;\n lastPosition: { pageX: number; pageY: number } | null;\n id: number | null;\n}\n\nfunction createBaseEvent(\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n): BaseMoveEvent {\n return {\n pointerType,\n shiftKey: originalEvent.shiftKey,\n ctrlKey: originalEvent.ctrlKey,\n metaKey: originalEvent.metaKey,\n altKey: originalEvent.altKey,\n };\n}\n\n/**\n * Handles move interactions across mouse, touch, pointer, and keyboard.\n */\nexport function createMove(props: MoveEvents = {}): MoveResult {\n const { onMoveStart, onMove, onMoveEnd } = props;\n\n const state: MoveState = {\n didMove: false,\n lastPosition: null,\n id: null,\n };\n\n const { addGlobalListener, removeGlobalListener } = createGlobalListeners();\n const [pointerDown, setPointerDown] = createSignal<\"pointer\" | \"mouse\" | \"touch\" | null>(null);\n\n const move = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n deltaX: number,\n deltaY: number,\n ) => {\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n\n if (!state.didMove) {\n state.didMove = true;\n onMoveStart?.({\n type: \"movestart\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n\n onMove?.({\n type: \"move\",\n deltaX,\n deltaY,\n ...createBaseEvent(originalEvent, pointerType),\n });\n };\n\n const end = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n ) => {\n restoreTextSelection();\n if (state.didMove) {\n onMoveEnd?.({\n type: \"moveend\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n };\n\n createTrackedEffect(() => {\n const _s2Cleanups: Array<() => void> = [];\n\n const activePointer = pointerDown();\n if (!activePointer) return;\n\n if (activePointer === \"pointer\") {\n const onPointerMove = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n move(\n e,\n pointerType,\n e.pageX - (state.lastPosition?.pageX ?? 0),\n e.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n end(e, pointerType);\n state.id = null;\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n setPointerDown(null);\n }\n };\n\n addGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n addGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n addGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n _s2Cleanups.push(() => {\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n });\n }\n\n // Mouse/touch listeners are attached directly in their handlers.\n\n return () => {\n for (const c of _s2Cleanups) c();\n };\n });\n\n const start = () => {\n disableTextSelection();\n state.didMove = false;\n };\n\n const moveProps: JSX.HTMLAttributes<HTMLElement> = {};\n\n const hasPointerEvents =\n typeof window !== \"undefined\" && typeof window.PointerEvent !== \"undefined\";\n\n moveProps.onMouseDown = (e: MouseEvent) => {\n if (pointerDown() != null) {\n return;\n }\n if (e.button === 0) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n setPointerDown(\"mouse\");\n\n const onMouseMove = (event: MouseEvent) => {\n move(\n event,\n \"mouse\",\n event.pageX - (state.lastPosition?.pageX ?? 0),\n event.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: event.pageX, pageY: event.pageY };\n };\n const onMouseUp = (event: MouseEvent) => {\n end(event, \"mouse\");\n removeGlobalListener(\"mousemove\", onMouseMove);\n removeGlobalListener(\"mouseup\", onMouseUp);\n setPointerDown(null);\n };\n addGlobalListener(\"mousemove\", onMouseMove);\n addGlobalListener(\"mouseup\", onMouseUp);\n }\n };\n\n moveProps.onTouchStart = (e: TouchEvent) => {\n if (pointerDown() != null || e.changedTouches.length === 0 || state.id != null) {\n return;\n }\n const { pageX, pageY, identifier } = e.changedTouches[0];\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX, pageY };\n state.id = identifier;\n setPointerDown(\"touch\");\n\n const onTouchMove = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n const { pageX: moveX, pageY: moveY } = event.changedTouches[touchIndex];\n move(\n event,\n \"touch\",\n moveX - (state.lastPosition?.pageX ?? 0),\n moveY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: moveX, pageY: moveY };\n }\n };\n const onTouchEnd = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n end(event, \"touch\");\n state.id = null;\n removeGlobalListener(\"touchmove\", onTouchMove);\n removeGlobalListener(\"touchend\", onTouchEnd);\n removeGlobalListener(\"touchcancel\", onTouchEnd);\n setPointerDown(null);\n }\n };\n addGlobalListener(\"touchmove\", onTouchMove);\n addGlobalListener(\"touchend\", onTouchEnd);\n addGlobalListener(\"touchcancel\", onTouchEnd);\n };\n\n if (hasPointerEvents) {\n moveProps.onPointerDown = (e: PointerEvent) => {\n const button = e.button ?? 0;\n if (button === 0 && state.id == null) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n state.id = e.pointerId;\n setPointerDown(\"pointer\");\n }\n };\n }\n\n const triggerKeyboardMove = (e: KeyboardEvent, deltaX: number, deltaY: number) => {\n start();\n move(e, \"keyboard\", deltaX, deltaY);\n end(e, \"keyboard\");\n };\n\n moveProps.onKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Left\":\n case \"ArrowLeft\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, -1, 0);\n break;\n case \"Right\":\n case \"ArrowRight\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 1, 0);\n break;\n case \"Up\":\n case \"ArrowUp\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, -1);\n break;\n case \"Down\":\n case \"ArrowDown\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, 1);\n break;\n default:\n break;\n }\n };\n\n return { moveProps };\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/interactions/useFocusable.tsx\n\n/**\n * FocusableProvider - Provides DOM props to the nearest focusable child.\n *\n * Ported from packages/react-aria/src/interactions/useFocusable.tsx.\n */\n\nimport { ParentComponent } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { FocusableContext, FocusableContextValue, FocusableProviderProps } from \"./createFocusable\";\nimport { splitProps } from \"../utils/splitProps\";\n\n/**\n * Provides DOM props to the nearest focusable child.\n * Used to pass focus-related props through component boundaries.\n *\n * @example\n * ```tsx\n * import { FocusableProvider } from 'solidaria';\n *\n * function MyComponent() {\n * return (\n * <FocusableProvider onFocus={() => console.log('focused!')}>\n * <NestedFocusableComponent />\n * </FocusableProvider>\n * );\n * }\n * ```\n */\nexport const FocusableProvider: ParentComponent<\n FocusableProviderProps & JSX.HTMLAttributes<HTMLElement>\n> = (props) => {\n // Don't destructure: `const { children, ...otherProps } = props` evaluates the\n // `children` getter immediately (2nd statement of the body), instantiating the\n // nested subtree BEFORE this provider mounts — so a child that reads\n // FocusableContext during its own setup would miss us. splitProps keeps\n // otherProps a reactive proxy (including the parent ref); children is read\n // lazily inside the JSX, under the mounted provider. Same pattern as\n // solidaria-components' useRenderProps. RAC FocusableProvider puts the\n // forwarded ref on the context (`useFocusable.tsx` + useSyncRef) so\n // PreviewTrigger can measure the trigger for the hover safe-area.\n const [, otherProps] = splitProps(props, [\"children\"]);\n\n return (\n <FocusableContext value={otherProps as FocusableContextValue}>\n {props.children}\n </FocusableContext>\n );\n};\n"],"mappings":"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"}