@depup/react-aria-components 1.16.0-depup.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 (661) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +31 -0
  3. package/changes.json +10 -0
  4. package/dist/Autocomplete.main.js +78 -0
  5. package/dist/Autocomplete.main.js.map +1 -0
  6. package/dist/Autocomplete.mjs +67 -0
  7. package/dist/Autocomplete.module.js +67 -0
  8. package/dist/Autocomplete.module.js.map +1 -0
  9. package/dist/Breadcrumbs.main.js +103 -0
  10. package/dist/Breadcrumbs.main.js.map +1 -0
  11. package/dist/Breadcrumbs.mjs +92 -0
  12. package/dist/Breadcrumbs.module.js +92 -0
  13. package/dist/Breadcrumbs.module.js.map +1 -0
  14. package/dist/Button.main.js +123 -0
  15. package/dist/Button.main.js.map +1 -0
  16. package/dist/Button.mjs +113 -0
  17. package/dist/Button.module.js +113 -0
  18. package/dist/Button.module.js.map +1 -0
  19. package/dist/Calendar.main.js +364 -0
  20. package/dist/Calendar.main.js.map +1 -0
  21. package/dist/Calendar.mjs +345 -0
  22. package/dist/Calendar.module.js +345 -0
  23. package/dist/Calendar.module.js.map +1 -0
  24. package/dist/Checkbox.main.js +188 -0
  25. package/dist/Checkbox.main.js.map +1 -0
  26. package/dist/Checkbox.mjs +176 -0
  27. package/dist/Checkbox.module.js +176 -0
  28. package/dist/Checkbox.module.js.map +1 -0
  29. package/dist/Collection.main.js +105 -0
  30. package/dist/Collection.main.js.map +1 -0
  31. package/dist/Collection.mjs +91 -0
  32. package/dist/Collection.module.js +91 -0
  33. package/dist/Collection.module.js.map +1 -0
  34. package/dist/ColorArea.main.js +80 -0
  35. package/dist/ColorArea.main.js.map +1 -0
  36. package/dist/ColorArea.mjs +70 -0
  37. package/dist/ColorArea.module.js +70 -0
  38. package/dist/ColorArea.module.js.map +1 -0
  39. package/dist/ColorField.main.js +168 -0
  40. package/dist/ColorField.main.js.map +1 -0
  41. package/dist/ColorField.mjs +158 -0
  42. package/dist/ColorField.module.js +158 -0
  43. package/dist/ColorField.module.js.map +1 -0
  44. package/dist/ColorPicker.main.js +102 -0
  45. package/dist/ColorPicker.main.js.map +1 -0
  46. package/dist/ColorPicker.mjs +91 -0
  47. package/dist/ColorPicker.module.js +91 -0
  48. package/dist/ColorPicker.module.js.map +1 -0
  49. package/dist/ColorSlider.main.js +112 -0
  50. package/dist/ColorSlider.main.js.map +1 -0
  51. package/dist/ColorSlider.mjs +102 -0
  52. package/dist/ColorSlider.module.js +102 -0
  53. package/dist/ColorSlider.module.js.map +1 -0
  54. package/dist/ColorSwatch.main.js +44 -0
  55. package/dist/ColorSwatch.main.js.map +1 -0
  56. package/dist/ColorSwatch.mjs +34 -0
  57. package/dist/ColorSwatch.module.js +34 -0
  58. package/dist/ColorSwatch.module.js.map +1 -0
  59. package/dist/ColorSwatchPicker.main.js +102 -0
  60. package/dist/ColorSwatchPicker.main.js.map +1 -0
  61. package/dist/ColorSwatchPicker.mjs +95 -0
  62. package/dist/ColorSwatchPicker.module.js +95 -0
  63. package/dist/ColorSwatchPicker.module.js.map +1 -0
  64. package/dist/ColorThumb.main.js +67 -0
  65. package/dist/ColorThumb.main.js.map +1 -0
  66. package/dist/ColorThumb.mjs +57 -0
  67. package/dist/ColorThumb.module.js +57 -0
  68. package/dist/ColorThumb.module.js.map +1 -0
  69. package/dist/ColorWheel.main.js +102 -0
  70. package/dist/ColorWheel.main.js.map +1 -0
  71. package/dist/ColorWheel.mjs +90 -0
  72. package/dist/ColorWheel.module.js +90 -0
  73. package/dist/ColorWheel.module.js.map +1 -0
  74. package/dist/ComboBox.main.js +322 -0
  75. package/dist/ComboBox.main.js.map +1 -0
  76. package/dist/ComboBox.mjs +309 -0
  77. package/dist/ComboBox.module.js +309 -0
  78. package/dist/ComboBox.module.js.map +1 -0
  79. package/dist/DateField.main.js +361 -0
  80. package/dist/DateField.main.js.map +1 -0
  81. package/dist/DateField.mjs +345 -0
  82. package/dist/DateField.module.js +345 -0
  83. package/dist/DateField.module.js.map +1 -0
  84. package/dist/DatePicker.main.js +342 -0
  85. package/dist/DatePicker.main.js.map +1 -0
  86. package/dist/DatePicker.mjs +328 -0
  87. package/dist/DatePicker.module.js +328 -0
  88. package/dist/DatePicker.module.js.map +1 -0
  89. package/dist/Dialog.main.js +167 -0
  90. package/dist/Dialog.main.js.map +1 -0
  91. package/dist/Dialog.mjs +155 -0
  92. package/dist/Dialog.module.js +155 -0
  93. package/dist/Dialog.module.js.map +1 -0
  94. package/dist/Disclosure.main.js +171 -0
  95. package/dist/Disclosure.main.js.map +1 -0
  96. package/dist/Disclosure.mjs +157 -0
  97. package/dist/Disclosure.module.js +157 -0
  98. package/dist/Disclosure.module.js.map +1 -0
  99. package/dist/DragAndDrop.main.js +103 -0
  100. package/dist/DragAndDrop.main.js.map +1 -0
  101. package/dist/DragAndDrop.mjs +90 -0
  102. package/dist/DragAndDrop.module.js +90 -0
  103. package/dist/DragAndDrop.module.js.map +1 -0
  104. package/dist/DropZone.main.js +127 -0
  105. package/dist/DropZone.main.js.map +1 -0
  106. package/dist/DropZone.mjs +121 -0
  107. package/dist/DropZone.module.js +121 -0
  108. package/dist/DropZone.module.js.map +1 -0
  109. package/dist/FieldError.main.js +61 -0
  110. package/dist/FieldError.main.js.map +1 -0
  111. package/dist/FieldError.mjs +51 -0
  112. package/dist/FieldError.module.js +51 -0
  113. package/dist/FieldError.module.js.map +1 -0
  114. package/dist/FileTrigger.main.js +60 -0
  115. package/dist/FileTrigger.main.js.map +1 -0
  116. package/dist/FileTrigger.mjs +51 -0
  117. package/dist/FileTrigger.module.js +51 -0
  118. package/dist/FileTrigger.module.js.map +1 -0
  119. package/dist/Form.main.js +49 -0
  120. package/dist/Form.main.js.map +1 -0
  121. package/dist/Form.mjs +39 -0
  122. package/dist/Form.module.js +39 -0
  123. package/dist/Form.module.js.map +1 -0
  124. package/dist/GridList.main.js +589 -0
  125. package/dist/GridList.main.js.map +1 -0
  126. package/dist/GridList.mjs +573 -0
  127. package/dist/GridList.module.js +573 -0
  128. package/dist/GridList.module.js.map +1 -0
  129. package/dist/Group.main.js +72 -0
  130. package/dist/Group.main.js.map +1 -0
  131. package/dist/Group.mjs +62 -0
  132. package/dist/Group.module.js +62 -0
  133. package/dist/Group.module.js.map +1 -0
  134. package/dist/Header.main.js +40 -0
  135. package/dist/Header.main.js.map +1 -0
  136. package/dist/Header.mjs +30 -0
  137. package/dist/Header.module.js +30 -0
  138. package/dist/Header.module.js.map +1 -0
  139. package/dist/Heading.main.js +40 -0
  140. package/dist/Heading.main.js.map +1 -0
  141. package/dist/Heading.mjs +31 -0
  142. package/dist/Heading.module.js +31 -0
  143. package/dist/Heading.module.js.map +1 -0
  144. package/dist/HiddenDateInput.main.js +126 -0
  145. package/dist/HiddenDateInput.main.js.map +1 -0
  146. package/dist/HiddenDateInput.mjs +117 -0
  147. package/dist/HiddenDateInput.module.js +117 -0
  148. package/dist/HiddenDateInput.module.js.map +1 -0
  149. package/dist/Input.main.js +72 -0
  150. package/dist/Input.main.js.map +1 -0
  151. package/dist/Input.mjs +62 -0
  152. package/dist/Input.module.js +62 -0
  153. package/dist/Input.module.js.map +1 -0
  154. package/dist/Keyboard.main.js +38 -0
  155. package/dist/Keyboard.main.js.map +1 -0
  156. package/dist/Keyboard.mjs +28 -0
  157. package/dist/Keyboard.module.js +28 -0
  158. package/dist/Keyboard.module.js.map +1 -0
  159. package/dist/Label.main.js +43 -0
  160. package/dist/Label.main.js.map +1 -0
  161. package/dist/Label.mjs +33 -0
  162. package/dist/Label.module.js +33 -0
  163. package/dist/Label.module.js.map +1 -0
  164. package/dist/Link.main.js +72 -0
  165. package/dist/Link.main.js.map +1 -0
  166. package/dist/Link.mjs +62 -0
  167. package/dist/Link.module.js +62 -0
  168. package/dist/Link.module.js.map +1 -0
  169. package/dist/ListBox.main.js +477 -0
  170. package/dist/ListBox.main.js.map +1 -0
  171. package/dist/ListBox.mjs +463 -0
  172. package/dist/ListBox.module.js +463 -0
  173. package/dist/ListBox.module.js.map +1 -0
  174. package/dist/Menu.main.js +459 -0
  175. package/dist/Menu.main.js.map +1 -0
  176. package/dist/Menu.mjs +443 -0
  177. package/dist/Menu.module.js +443 -0
  178. package/dist/Menu.module.js.map +1 -0
  179. package/dist/Meter.main.js +72 -0
  180. package/dist/Meter.main.js.map +1 -0
  181. package/dist/Meter.mjs +62 -0
  182. package/dist/Meter.module.js +62 -0
  183. package/dist/Meter.module.js.map +1 -0
  184. package/dist/Modal.main.js +191 -0
  185. package/dist/Modal.main.js.map +1 -0
  186. package/dist/Modal.mjs +180 -0
  187. package/dist/Modal.module.js +180 -0
  188. package/dist/Modal.module.js.map +1 -0
  189. package/dist/NumberField.main.js +147 -0
  190. package/dist/NumberField.main.js.map +1 -0
  191. package/dist/NumberField.mjs +136 -0
  192. package/dist/NumberField.module.js +136 -0
  193. package/dist/NumberField.module.js.map +1 -0
  194. package/dist/OverlayArrow.main.js +64 -0
  195. package/dist/OverlayArrow.main.js.map +1 -0
  196. package/dist/OverlayArrow.mjs +54 -0
  197. package/dist/OverlayArrow.module.js +54 -0
  198. package/dist/OverlayArrow.module.js.map +1 -0
  199. package/dist/Popover.main.js +196 -0
  200. package/dist/Popover.main.js.map +1 -0
  201. package/dist/Popover.mjs +186 -0
  202. package/dist/Popover.module.js +186 -0
  203. package/dist/Popover.module.js.map +1 -0
  204. package/dist/ProgressBar.main.js +73 -0
  205. package/dist/ProgressBar.main.js.map +1 -0
  206. package/dist/ProgressBar.mjs +63 -0
  207. package/dist/ProgressBar.module.js +63 -0
  208. package/dist/ProgressBar.module.js.map +1 -0
  209. package/dist/RSPContexts.main.js +37 -0
  210. package/dist/RSPContexts.main.js.map +1 -0
  211. package/dist/RSPContexts.mjs +25 -0
  212. package/dist/RSPContexts.module.js +25 -0
  213. package/dist/RSPContexts.module.js.map +1 -0
  214. package/dist/RadioGroup.main.js +184 -0
  215. package/dist/RadioGroup.main.js.map +1 -0
  216. package/dist/RadioGroup.mjs +171 -0
  217. package/dist/RadioGroup.module.js +171 -0
  218. package/dist/RadioGroup.module.js.map +1 -0
  219. package/dist/SearchField.main.js +140 -0
  220. package/dist/SearchField.main.js.map +1 -0
  221. package/dist/SearchField.mjs +130 -0
  222. package/dist/SearchField.module.js +130 -0
  223. package/dist/SearchField.module.js.map +1 -0
  224. package/dist/Select.main.js +324 -0
  225. package/dist/Select.main.js.map +1 -0
  226. package/dist/Select.mjs +315 -0
  227. package/dist/Select.module.js +315 -0
  228. package/dist/Select.module.js.map +1 -0
  229. package/dist/SelectionIndicator.main.js +45 -0
  230. package/dist/SelectionIndicator.main.js.map +1 -0
  231. package/dist/SelectionIndicator.mjs +35 -0
  232. package/dist/SelectionIndicator.module.js +35 -0
  233. package/dist/SelectionIndicator.module.js.map +1 -0
  234. package/dist/Separator.main.js +71 -0
  235. package/dist/Separator.main.js.map +1 -0
  236. package/dist/Separator.mjs +61 -0
  237. package/dist/Separator.module.js +61 -0
  238. package/dist/Separator.module.js.map +1 -0
  239. package/dist/SharedElementTransition.main.js +140 -0
  240. package/dist/SharedElementTransition.main.js.map +1 -0
  241. package/dist/SharedElementTransition.mjs +130 -0
  242. package/dist/SharedElementTransition.module.js +130 -0
  243. package/dist/SharedElementTransition.module.js.map +1 -0
  244. package/dist/Slider.main.js +220 -0
  245. package/dist/Slider.main.js.map +1 -0
  246. package/dist/Slider.mjs +204 -0
  247. package/dist/Slider.module.js +204 -0
  248. package/dist/Slider.module.js.map +1 -0
  249. package/dist/Switch.main.js +89 -0
  250. package/dist/Switch.main.js.map +1 -0
  251. package/dist/Switch.mjs +79 -0
  252. package/dist/Switch.module.js +79 -0
  253. package/dist/Switch.module.js.map +1 -0
  254. package/dist/Table.main.js +1171 -0
  255. package/dist/Table.main.js.map +1 -0
  256. package/dist/Table.mjs +1154 -0
  257. package/dist/Table.module.js +1154 -0
  258. package/dist/Table.module.js.map +1 -0
  259. package/dist/TableLayout.main.js +38 -0
  260. package/dist/TableLayout.main.js.map +1 -0
  261. package/dist/TableLayout.mjs +33 -0
  262. package/dist/TableLayout.module.js +33 -0
  263. package/dist/TableLayout.module.js.map +1 -0
  264. package/dist/Tabs.main.js +330 -0
  265. package/dist/Tabs.main.js.map +1 -0
  266. package/dist/Tabs.mjs +315 -0
  267. package/dist/Tabs.module.js +315 -0
  268. package/dist/Tabs.module.js.map +1 -0
  269. package/dist/TagGroup.main.js +255 -0
  270. package/dist/TagGroup.main.js.map +1 -0
  271. package/dist/TagGroup.mjs +242 -0
  272. package/dist/TagGroup.module.js +242 -0
  273. package/dist/TagGroup.module.js.map +1 -0
  274. package/dist/Text.main.js +41 -0
  275. package/dist/Text.main.js.map +1 -0
  276. package/dist/Text.mjs +31 -0
  277. package/dist/Text.module.js +31 -0
  278. package/dist/Text.module.js.map +1 -0
  279. package/dist/TextArea.main.js +57 -0
  280. package/dist/TextArea.main.js.map +1 -0
  281. package/dist/TextArea.mjs +47 -0
  282. package/dist/TextArea.module.js +47 -0
  283. package/dist/TextArea.module.js.map +1 -0
  284. package/dist/TextField.main.js +145 -0
  285. package/dist/TextField.main.js.map +1 -0
  286. package/dist/TextField.mjs +135 -0
  287. package/dist/TextField.module.js +135 -0
  288. package/dist/TextField.module.js.map +1 -0
  289. package/dist/Toast.main.js +183 -0
  290. package/dist/Toast.main.js.map +1 -0
  291. package/dist/Toast.mjs +170 -0
  292. package/dist/Toast.module.js +170 -0
  293. package/dist/Toast.module.js.map +1 -0
  294. package/dist/ToggleButton.main.js +96 -0
  295. package/dist/ToggleButton.main.js.map +1 -0
  296. package/dist/ToggleButton.mjs +86 -0
  297. package/dist/ToggleButton.module.js +86 -0
  298. package/dist/ToggleButton.module.js.map +1 -0
  299. package/dist/ToggleButtonGroup.main.js +66 -0
  300. package/dist/ToggleButtonGroup.main.js.map +1 -0
  301. package/dist/ToggleButtonGroup.mjs +55 -0
  302. package/dist/ToggleButtonGroup.module.js +55 -0
  303. package/dist/ToggleButtonGroup.module.js.map +1 -0
  304. package/dist/Toolbar.main.js +55 -0
  305. package/dist/Toolbar.main.js.map +1 -0
  306. package/dist/Toolbar.mjs +45 -0
  307. package/dist/Toolbar.module.js +45 -0
  308. package/dist/Toolbar.module.js.map +1 -0
  309. package/dist/Tooltip.main.js +132 -0
  310. package/dist/Tooltip.main.js.map +1 -0
  311. package/dist/Tooltip.mjs +120 -0
  312. package/dist/Tooltip.module.js +120 -0
  313. package/dist/Tooltip.module.js.map +1 -0
  314. package/dist/Tree.main.js +834 -0
  315. package/dist/Tree.main.js.map +1 -0
  316. package/dist/Tree.mjs +818 -0
  317. package/dist/Tree.module.js +818 -0
  318. package/dist/Tree.module.js.map +1 -0
  319. package/dist/TreeDropTargetDelegate.main.js +216 -0
  320. package/dist/TreeDropTargetDelegate.main.js.map +1 -0
  321. package/dist/TreeDropTargetDelegate.mjs +211 -0
  322. package/dist/TreeDropTargetDelegate.module.js +211 -0
  323. package/dist/TreeDropTargetDelegate.module.js.map +1 -0
  324. package/dist/Virtualizer.main.js +135 -0
  325. package/dist/Virtualizer.main.js.map +1 -0
  326. package/dist/Virtualizer.mjs +126 -0
  327. package/dist/Virtualizer.module.js +126 -0
  328. package/dist/Virtualizer.module.js.map +1 -0
  329. package/dist/ar-AE.main.js +9 -0
  330. package/dist/ar-AE.main.js.map +1 -0
  331. package/dist/ar-AE.mjs +11 -0
  332. package/dist/ar-AE.module.js +11 -0
  333. package/dist/ar-AE.module.js.map +1 -0
  334. package/dist/bg-BG.main.js +9 -0
  335. package/dist/bg-BG.main.js.map +1 -0
  336. package/dist/bg-BG.mjs +11 -0
  337. package/dist/bg-BG.module.js +11 -0
  338. package/dist/bg-BG.module.js.map +1 -0
  339. package/dist/cs-CZ.main.js +9 -0
  340. package/dist/cs-CZ.main.js.map +1 -0
  341. package/dist/cs-CZ.mjs +11 -0
  342. package/dist/cs-CZ.module.js +11 -0
  343. package/dist/cs-CZ.module.js.map +1 -0
  344. package/dist/da-DK.main.js +9 -0
  345. package/dist/da-DK.main.js.map +1 -0
  346. package/dist/da-DK.mjs +11 -0
  347. package/dist/da-DK.module.js +11 -0
  348. package/dist/da-DK.module.js.map +1 -0
  349. package/dist/de-DE.main.js +9 -0
  350. package/dist/de-DE.main.js.map +1 -0
  351. package/dist/de-DE.mjs +11 -0
  352. package/dist/de-DE.module.js +11 -0
  353. package/dist/de-DE.module.js.map +1 -0
  354. package/dist/el-GR.main.js +9 -0
  355. package/dist/el-GR.main.js.map +1 -0
  356. package/dist/el-GR.mjs +11 -0
  357. package/dist/el-GR.module.js +11 -0
  358. package/dist/el-GR.module.js.map +1 -0
  359. package/dist/en-US.main.js +9 -0
  360. package/dist/en-US.main.js.map +1 -0
  361. package/dist/en-US.mjs +11 -0
  362. package/dist/en-US.module.js +11 -0
  363. package/dist/en-US.module.js.map +1 -0
  364. package/dist/es-ES.main.js +9 -0
  365. package/dist/es-ES.main.js.map +1 -0
  366. package/dist/es-ES.mjs +11 -0
  367. package/dist/es-ES.module.js +11 -0
  368. package/dist/es-ES.module.js.map +1 -0
  369. package/dist/et-EE.main.js +9 -0
  370. package/dist/et-EE.main.js.map +1 -0
  371. package/dist/et-EE.mjs +11 -0
  372. package/dist/et-EE.module.js +11 -0
  373. package/dist/et-EE.module.js.map +1 -0
  374. package/dist/fi-FI.main.js +9 -0
  375. package/dist/fi-FI.main.js.map +1 -0
  376. package/dist/fi-FI.mjs +11 -0
  377. package/dist/fi-FI.module.js +11 -0
  378. package/dist/fi-FI.module.js.map +1 -0
  379. package/dist/fr-FR.main.js +9 -0
  380. package/dist/fr-FR.main.js.map +1 -0
  381. package/dist/fr-FR.mjs +11 -0
  382. package/dist/fr-FR.module.js +11 -0
  383. package/dist/fr-FR.module.js.map +1 -0
  384. package/dist/he-IL.main.js +9 -0
  385. package/dist/he-IL.main.js.map +1 -0
  386. package/dist/he-IL.mjs +11 -0
  387. package/dist/he-IL.module.js +11 -0
  388. package/dist/he-IL.module.js.map +1 -0
  389. package/dist/hr-HR.main.js +9 -0
  390. package/dist/hr-HR.main.js.map +1 -0
  391. package/dist/hr-HR.mjs +11 -0
  392. package/dist/hr-HR.module.js +11 -0
  393. package/dist/hr-HR.module.js.map +1 -0
  394. package/dist/hu-HU.main.js +9 -0
  395. package/dist/hu-HU.main.js.map +1 -0
  396. package/dist/hu-HU.mjs +11 -0
  397. package/dist/hu-HU.module.js +11 -0
  398. package/dist/hu-HU.module.js.map +1 -0
  399. package/dist/import.mjs +161 -0
  400. package/dist/intlStrings.main.js +108 -0
  401. package/dist/intlStrings.main.js.map +1 -0
  402. package/dist/intlStrings.mjs +110 -0
  403. package/dist/intlStrings.module.js +110 -0
  404. package/dist/intlStrings.module.js.map +1 -0
  405. package/dist/it-IT.main.js +9 -0
  406. package/dist/it-IT.main.js.map +1 -0
  407. package/dist/it-IT.mjs +11 -0
  408. package/dist/it-IT.module.js +11 -0
  409. package/dist/it-IT.module.js.map +1 -0
  410. package/dist/ja-JP.main.js +9 -0
  411. package/dist/ja-JP.main.js.map +1 -0
  412. package/dist/ja-JP.mjs +11 -0
  413. package/dist/ja-JP.module.js +11 -0
  414. package/dist/ja-JP.module.js.map +1 -0
  415. package/dist/ko-KR.main.js +9 -0
  416. package/dist/ko-KR.main.js.map +1 -0
  417. package/dist/ko-KR.mjs +11 -0
  418. package/dist/ko-KR.module.js +11 -0
  419. package/dist/ko-KR.module.js.map +1 -0
  420. package/dist/lt-LT.main.js +9 -0
  421. package/dist/lt-LT.main.js.map +1 -0
  422. package/dist/lt-LT.mjs +11 -0
  423. package/dist/lt-LT.module.js +11 -0
  424. package/dist/lt-LT.module.js.map +1 -0
  425. package/dist/lv-LV.main.js +9 -0
  426. package/dist/lv-LV.main.js.map +1 -0
  427. package/dist/lv-LV.mjs +11 -0
  428. package/dist/lv-LV.module.js +11 -0
  429. package/dist/lv-LV.module.js.map +1 -0
  430. package/dist/main.js +430 -0
  431. package/dist/main.js.map +1 -0
  432. package/dist/module.js +161 -0
  433. package/dist/module.js.map +1 -0
  434. package/dist/nb-NO.main.js +9 -0
  435. package/dist/nb-NO.main.js.map +1 -0
  436. package/dist/nb-NO.mjs +11 -0
  437. package/dist/nb-NO.module.js +11 -0
  438. package/dist/nb-NO.module.js.map +1 -0
  439. package/dist/nl-NL.main.js +9 -0
  440. package/dist/nl-NL.main.js.map +1 -0
  441. package/dist/nl-NL.mjs +11 -0
  442. package/dist/nl-NL.module.js +11 -0
  443. package/dist/nl-NL.module.js.map +1 -0
  444. package/dist/pl-PL.main.js +9 -0
  445. package/dist/pl-PL.main.js.map +1 -0
  446. package/dist/pl-PL.mjs +11 -0
  447. package/dist/pl-PL.module.js +11 -0
  448. package/dist/pl-PL.module.js.map +1 -0
  449. package/dist/pt-BR.main.js +9 -0
  450. package/dist/pt-BR.main.js.map +1 -0
  451. package/dist/pt-BR.mjs +11 -0
  452. package/dist/pt-BR.module.js +11 -0
  453. package/dist/pt-BR.module.js.map +1 -0
  454. package/dist/pt-PT.main.js +9 -0
  455. package/dist/pt-PT.main.js.map +1 -0
  456. package/dist/pt-PT.mjs +11 -0
  457. package/dist/pt-PT.module.js +11 -0
  458. package/dist/pt-PT.module.js.map +1 -0
  459. package/dist/ro-RO.main.js +9 -0
  460. package/dist/ro-RO.main.js.map +1 -0
  461. package/dist/ro-RO.mjs +11 -0
  462. package/dist/ro-RO.module.js +11 -0
  463. package/dist/ro-RO.module.js.map +1 -0
  464. package/dist/ru-RU.main.js +9 -0
  465. package/dist/ru-RU.main.js.map +1 -0
  466. package/dist/ru-RU.mjs +11 -0
  467. package/dist/ru-RU.module.js +11 -0
  468. package/dist/ru-RU.module.js.map +1 -0
  469. package/dist/sk-SK.main.js +9 -0
  470. package/dist/sk-SK.main.js.map +1 -0
  471. package/dist/sk-SK.mjs +11 -0
  472. package/dist/sk-SK.module.js +11 -0
  473. package/dist/sk-SK.module.js.map +1 -0
  474. package/dist/sl-SI.main.js +9 -0
  475. package/dist/sl-SI.main.js.map +1 -0
  476. package/dist/sl-SI.mjs +11 -0
  477. package/dist/sl-SI.module.js +11 -0
  478. package/dist/sl-SI.module.js.map +1 -0
  479. package/dist/sr-SP.main.js +9 -0
  480. package/dist/sr-SP.main.js.map +1 -0
  481. package/dist/sr-SP.mjs +11 -0
  482. package/dist/sr-SP.module.js +11 -0
  483. package/dist/sr-SP.module.js.map +1 -0
  484. package/dist/sv-SE.main.js +9 -0
  485. package/dist/sv-SE.main.js.map +1 -0
  486. package/dist/sv-SE.mjs +11 -0
  487. package/dist/sv-SE.module.js +11 -0
  488. package/dist/sv-SE.module.js.map +1 -0
  489. package/dist/tr-TR.main.js +9 -0
  490. package/dist/tr-TR.main.js.map +1 -0
  491. package/dist/tr-TR.mjs +11 -0
  492. package/dist/tr-TR.module.js +11 -0
  493. package/dist/tr-TR.module.js.map +1 -0
  494. package/dist/types.d.ts +3764 -0
  495. package/dist/types.d.ts.map +1 -0
  496. package/dist/uk-UA.main.js +9 -0
  497. package/dist/uk-UA.main.js.map +1 -0
  498. package/dist/uk-UA.mjs +11 -0
  499. package/dist/uk-UA.module.js +11 -0
  500. package/dist/uk-UA.module.js.map +1 -0
  501. package/dist/useDragAndDrop.main.js +74 -0
  502. package/dist/useDragAndDrop.main.js.map +1 -0
  503. package/dist/useDragAndDrop.mjs +69 -0
  504. package/dist/useDragAndDrop.module.js +69 -0
  505. package/dist/useDragAndDrop.module.js.map +1 -0
  506. package/dist/utils.main.js +205 -0
  507. package/dist/utils.main.js.map +1 -0
  508. package/dist/utils.mjs +188 -0
  509. package/dist/utils.module.js +188 -0
  510. package/dist/utils.module.js.map +1 -0
  511. package/dist/zh-CN.main.js +9 -0
  512. package/dist/zh-CN.main.js.map +1 -0
  513. package/dist/zh-CN.mjs +11 -0
  514. package/dist/zh-CN.module.js +11 -0
  515. package/dist/zh-CN.module.js.map +1 -0
  516. package/dist/zh-TW.main.js +9 -0
  517. package/dist/zh-TW.main.js.map +1 -0
  518. package/dist/zh-TW.mjs +11 -0
  519. package/dist/zh-TW.module.js +11 -0
  520. package/dist/zh-TW.module.js.map +1 -0
  521. package/i18n/ar-AE.js +1 -0
  522. package/i18n/ar-AE.mjs +1 -0
  523. package/i18n/bg-BG.js +1 -0
  524. package/i18n/bg-BG.mjs +1 -0
  525. package/i18n/cs-CZ.js +1 -0
  526. package/i18n/cs-CZ.mjs +1 -0
  527. package/i18n/da-DK.js +1 -0
  528. package/i18n/da-DK.mjs +1 -0
  529. package/i18n/de-DE.js +1 -0
  530. package/i18n/de-DE.mjs +1 -0
  531. package/i18n/el-GR.js +1 -0
  532. package/i18n/el-GR.mjs +1 -0
  533. package/i18n/en-US.js +1 -0
  534. package/i18n/en-US.mjs +1 -0
  535. package/i18n/es-ES.js +1 -0
  536. package/i18n/es-ES.mjs +1 -0
  537. package/i18n/et-EE.js +1 -0
  538. package/i18n/et-EE.mjs +1 -0
  539. package/i18n/fi-FI.js +1 -0
  540. package/i18n/fi-FI.mjs +1 -0
  541. package/i18n/fr-FR.js +1 -0
  542. package/i18n/fr-FR.mjs +1 -0
  543. package/i18n/he-IL.js +1 -0
  544. package/i18n/he-IL.mjs +1 -0
  545. package/i18n/hr-HR.js +1 -0
  546. package/i18n/hr-HR.mjs +1 -0
  547. package/i18n/hu-HU.js +1 -0
  548. package/i18n/hu-HU.mjs +1 -0
  549. package/i18n/index.d.ts +13 -0
  550. package/i18n/index.js +118 -0
  551. package/i18n/index.mjs +115 -0
  552. package/i18n/it-IT.js +1 -0
  553. package/i18n/it-IT.mjs +1 -0
  554. package/i18n/ja-JP.js +1 -0
  555. package/i18n/ja-JP.mjs +1 -0
  556. package/i18n/ko-KR.js +1 -0
  557. package/i18n/ko-KR.mjs +1 -0
  558. package/i18n/lang.d.ts +7 -0
  559. package/i18n/lt-LT.js +1 -0
  560. package/i18n/lt-LT.mjs +1 -0
  561. package/i18n/lv-LV.js +1 -0
  562. package/i18n/lv-LV.mjs +1 -0
  563. package/i18n/nb-NO.js +1 -0
  564. package/i18n/nb-NO.mjs +1 -0
  565. package/i18n/nl-NL.js +1 -0
  566. package/i18n/nl-NL.mjs +1 -0
  567. package/i18n/pl-PL.js +1 -0
  568. package/i18n/pl-PL.mjs +1 -0
  569. package/i18n/pt-BR.js +1 -0
  570. package/i18n/pt-BR.mjs +1 -0
  571. package/i18n/pt-PT.js +1 -0
  572. package/i18n/pt-PT.mjs +1 -0
  573. package/i18n/ro-RO.js +1 -0
  574. package/i18n/ro-RO.mjs +1 -0
  575. package/i18n/ru-RU.js +1 -0
  576. package/i18n/ru-RU.mjs +1 -0
  577. package/i18n/sk-SK.js +1 -0
  578. package/i18n/sk-SK.mjs +1 -0
  579. package/i18n/sl-SI.js +1 -0
  580. package/i18n/sl-SI.mjs +1 -0
  581. package/i18n/sr-SP.js +1 -0
  582. package/i18n/sr-SP.mjs +1 -0
  583. package/i18n/sv-SE.js +1 -0
  584. package/i18n/sv-SE.mjs +1 -0
  585. package/i18n/tr-TR.js +1 -0
  586. package/i18n/tr-TR.mjs +1 -0
  587. package/i18n/uk-UA.js +1 -0
  588. package/i18n/uk-UA.mjs +1 -0
  589. package/i18n/zh-CN.js +1 -0
  590. package/i18n/zh-CN.mjs +1 -0
  591. package/i18n/zh-TW.js +1 -0
  592. package/i18n/zh-TW.mjs +1 -0
  593. package/package.json +105 -0
  594. package/src/Autocomplete.tsx +64 -0
  595. package/src/Breadcrumbs.tsx +137 -0
  596. package/src/Button.tsx +185 -0
  597. package/src/Calendar.tsx +620 -0
  598. package/src/Checkbox.tsx +282 -0
  599. package/src/Collection.tsx +225 -0
  600. package/src/ColorArea.tsx +89 -0
  601. package/src/ColorField.tsx +243 -0
  602. package/src/ColorPicker.tsx +63 -0
  603. package/src/ColorSlider.tsx +110 -0
  604. package/src/ColorSwatch.tsx +54 -0
  605. package/src/ColorSwatchPicker.tsx +125 -0
  606. package/src/ColorThumb.tsx +108 -0
  607. package/src/ColorWheel.tsx +122 -0
  608. package/src/ComboBox.tsx +325 -0
  609. package/src/DateField.tsx +425 -0
  610. package/src/DatePicker.tsx +334 -0
  611. package/src/Dialog.tsx +159 -0
  612. package/src/Disclosure.tsx +259 -0
  613. package/src/DragAndDrop.tsx +115 -0
  614. package/src/DropZone.tsx +145 -0
  615. package/src/FieldError.tsx +57 -0
  616. package/src/FileTrigger.tsx +79 -0
  617. package/src/Form.tsx +52 -0
  618. package/src/GridList.tsx +678 -0
  619. package/src/Group.tsx +114 -0
  620. package/src/Header.tsx +28 -0
  621. package/src/Heading.tsx +31 -0
  622. package/src/HiddenDateInput.tsx +152 -0
  623. package/src/Input.tsx +113 -0
  624. package/src/Keyboard.tsx +23 -0
  625. package/src/Label.tsx +29 -0
  626. package/src/Link.tsx +115 -0
  627. package/src/ListBox.tsx +577 -0
  628. package/src/Menu.tsx +496 -0
  629. package/src/Meter.tsx +93 -0
  630. package/src/Modal.tsx +262 -0
  631. package/src/NumberField.tsx +152 -0
  632. package/src/OverlayArrow.tsx +91 -0
  633. package/src/Popover.tsx +267 -0
  634. package/src/ProgressBar.tsx +101 -0
  635. package/src/RSPContexts.ts +52 -0
  636. package/src/RadioGroup.tsx +273 -0
  637. package/src/SearchField.tsx +152 -0
  638. package/src/Select.tsx +356 -0
  639. package/src/SelectionIndicator.tsx +46 -0
  640. package/src/Separator.tsx +76 -0
  641. package/src/SharedElementTransition.tsx +186 -0
  642. package/src/Slider.tsx +310 -0
  643. package/src/Switch.tsx +146 -0
  644. package/src/Table.tsx +1597 -0
  645. package/src/TableLayout.ts +28 -0
  646. package/src/Tabs.tsx +495 -0
  647. package/src/TagGroup.tsx +310 -0
  648. package/src/Text.tsx +28 -0
  649. package/src/TextArea.tsx +65 -0
  650. package/src/TextField.tsx +148 -0
  651. package/src/Toast.tsx +248 -0
  652. package/src/ToggleButton.tsx +103 -0
  653. package/src/ToggleButtonGroup.tsx +90 -0
  654. package/src/Toolbar.tsx +69 -0
  655. package/src/Tooltip.tsx +187 -0
  656. package/src/Tree.tsx +1066 -0
  657. package/src/TreeDropTargetDelegate.ts +308 -0
  658. package/src/Virtualizer.tsx +174 -0
  659. package/src/index.ts +160 -0
  660. package/src/useDragAndDrop.tsx +150 -0
  661. package/src/utils.tsx +351 -0
@@ -0,0 +1,308 @@
1
+ import {Direction, DropTarget, DropTargetDelegate, ItemDropTarget, Key, Node, RootDropTarget} from '@react-types/shared';
2
+
3
+ interface TreeCollection<T> extends Iterable<Node<T>> {
4
+ getItem(key: Key): Node<T> | null,
5
+ getChildren?(key: Key): Iterable<Node<T>>,
6
+ getKeyAfter(key: Key): Key | null,
7
+ getKeyBefore(key: Key): Key | null
8
+ }
9
+
10
+ interface TreeState<T> {
11
+ collection: TreeCollection<T>,
12
+ expandedKeys: Set<Key>
13
+ }
14
+
15
+ interface PointerTracking {
16
+ lastY: number,
17
+ lastX: number,
18
+ yDirection: 'up' | 'down' | null,
19
+ xDirection: 'left' | 'right' | null,
20
+ boundaryContext: {
21
+ parentKey: Key,
22
+ lastSwitchY: number,
23
+ lastSwitchX: number,
24
+ preferredTargetIndex?: number
25
+ } | null
26
+ }
27
+
28
+ const X_SWITCH_THRESHOLD = 10;
29
+ const Y_SWITCH_THRESHOLD = 5;
30
+ export class TreeDropTargetDelegate<T> {
31
+ private delegate: DropTargetDelegate | null = null;
32
+ private state: TreeState<T> | null = null;
33
+ private direction: Direction = 'ltr';
34
+ private pointerTracking: PointerTracking = {
35
+ lastY: 0,
36
+ lastX: 0,
37
+ yDirection: null,
38
+ xDirection: null,
39
+ boundaryContext: null
40
+ };
41
+
42
+ setup(delegate: DropTargetDelegate, state: TreeState<T>, direction: Direction): void {
43
+ this.delegate = delegate;
44
+ this.state = state;
45
+ this.direction = direction;
46
+ }
47
+
48
+ getDropTargetFromPoint(x: number, y: number, isValidDropTarget: (target: DropTarget) => boolean): DropTarget | null {
49
+ let baseTarget = this.delegate!.getDropTargetFromPoint(x, y, isValidDropTarget);
50
+ if (!baseTarget || baseTarget.type === 'root') {
51
+ return baseTarget;
52
+ }
53
+
54
+ return this.resolveDropTarget(baseTarget, x, y, isValidDropTarget);
55
+ }
56
+
57
+ private resolveDropTarget(
58
+ target: ItemDropTarget,
59
+ x: number,
60
+ y: number,
61
+ isValidDropTarget: (target: DropTarget) => boolean
62
+ ): RootDropTarget | ItemDropTarget | null {
63
+ let tracking = this.pointerTracking;
64
+
65
+ // Calculate movement directions
66
+ let deltaY = y - tracking.lastY;
67
+ let deltaX = x - tracking.lastX;
68
+ let currentYMovement: 'up' | 'down' | null = tracking.yDirection;
69
+ let currentXMovement: 'left' | 'right' | null = tracking.xDirection;
70
+
71
+ if (Math.abs(deltaY) > Y_SWITCH_THRESHOLD) {
72
+ currentYMovement = deltaY > 0 ? 'down' : 'up';
73
+ tracking.yDirection = currentYMovement;
74
+ tracking.lastY = y;
75
+ }
76
+
77
+ if (Math.abs(deltaX) > X_SWITCH_THRESHOLD) {
78
+ currentXMovement = deltaX > 0 ? 'right' : 'left';
79
+ tracking.xDirection = currentXMovement;
80
+ tracking.lastX = x;
81
+ }
82
+
83
+ // Normalize to 'after'
84
+ if (target.dropPosition === 'before') {
85
+ let keyBefore = this.state!.collection.getKeyBefore(target.key);
86
+ if (keyBefore != null) {
87
+ let convertedTarget = {
88
+ type: 'item',
89
+ key: keyBefore,
90
+ dropPosition: 'after'
91
+ } as const;
92
+
93
+ if (isValidDropTarget(convertedTarget)) {
94
+ target = convertedTarget;
95
+ }
96
+ }
97
+ }
98
+
99
+ let potentialTargets = this.getPotentialTargets(target, isValidDropTarget);
100
+
101
+ if (potentialTargets.length === 0) {
102
+ return {type: 'root'};
103
+ }
104
+
105
+ let resolvedItemTarget: ItemDropTarget;
106
+ if (potentialTargets.length > 1) {
107
+ resolvedItemTarget = this.selectTarget(potentialTargets, target, x, y, currentYMovement, currentXMovement);
108
+ } else {
109
+ resolvedItemTarget = potentialTargets[0];
110
+ // Reset boundary context since we're not in a boundary case
111
+ tracking.boundaryContext = null;
112
+ }
113
+
114
+ return resolvedItemTarget;
115
+ }
116
+
117
+ // Returns potential targets for an ambiguous drop position (e.g. after the last child of a parent, or after the parent itself)
118
+ // Ordered by level, from innermost to outermost.
119
+ private getPotentialTargets(originalTarget: ItemDropTarget, isValidDropTarget: (target: DropTarget) => boolean): ItemDropTarget[] {
120
+ if (originalTarget.dropPosition === 'on') {
121
+ return [originalTarget];
122
+ }
123
+
124
+ let target = originalTarget;
125
+ let collection = this.state!.collection;
126
+
127
+ let currentItem = collection.getItem(target.key);
128
+ while (currentItem && currentItem?.type !== 'item' && currentItem.nextKey != null) {
129
+ target.key = currentItem.nextKey;
130
+ currentItem = collection.getItem(currentItem.nextKey);
131
+ }
132
+
133
+ let potentialTargets = [target];
134
+
135
+ // If target has children and is expanded, use "before first child"
136
+ if (currentItem && currentItem.hasChildNodes && this.state!.expandedKeys.has(currentItem.key) && collection.getChildren && target.dropPosition === 'after') {
137
+ let firstChildItemNode: Node<T> | null = null;
138
+ for (let child of collection.getChildren(currentItem.key)) {
139
+ if (child.type === 'item') {
140
+ firstChildItemNode = child;
141
+ break;
142
+ }
143
+ }
144
+
145
+ if (firstChildItemNode) {
146
+ const beforeFirstChildTarget = {
147
+ type: 'item',
148
+ key: firstChildItemNode.key,
149
+ dropPosition: 'before'
150
+ } as const;
151
+
152
+ if (isValidDropTarget(beforeFirstChildTarget)) {
153
+ return [beforeFirstChildTarget];
154
+ } else {
155
+ return [];
156
+ }
157
+ }
158
+ }
159
+
160
+ if (currentItem?.nextKey != null) {
161
+ return [originalTarget];
162
+ }
163
+
164
+ // Walk up the parent chain to find ancestors that are the last child at their level
165
+ let parentKey = currentItem?.parentKey;
166
+ let ancestorTargets: ItemDropTarget[] = [];
167
+
168
+ while (parentKey) {
169
+ let parentItem = collection.getItem(parentKey);
170
+ let nextItem = parentItem?.nextKey ? collection.getItem(parentItem.nextKey) : null;
171
+ let isLastChildAtLevel = !nextItem || nextItem.parentKey !== parentKey;
172
+
173
+ if (isLastChildAtLevel) {
174
+ let afterParentTarget = {
175
+ type: 'item',
176
+ key: parentKey,
177
+ dropPosition: 'after'
178
+ } as const;
179
+
180
+ if (isValidDropTarget(afterParentTarget)) {
181
+ ancestorTargets.push(afterParentTarget);
182
+ }
183
+ if (nextItem) {
184
+ break;
185
+ }
186
+ }
187
+
188
+ parentKey = parentItem?.parentKey;
189
+ }
190
+
191
+ if (ancestorTargets.length > 0) {
192
+ potentialTargets.push(...ancestorTargets);
193
+ }
194
+
195
+ // Handle converting "after" to "before next" for non-ambiguous cases
196
+ if (potentialTargets.length === 1) {
197
+ let nextKey = collection.getKeyAfter(target.key);
198
+ let nextNode = nextKey ? collection.getItem(nextKey) : null;
199
+ if (nextKey != null && nextNode && currentItem && nextNode.level != null && currentItem.level != null && nextNode.level > currentItem.level) {
200
+ let beforeTarget = {
201
+ type: 'item',
202
+ key: nextKey,
203
+ dropPosition: 'before'
204
+ } as const;
205
+ if (isValidDropTarget(beforeTarget)) {
206
+ return [beforeTarget];
207
+ }
208
+ }
209
+ }
210
+
211
+ return potentialTargets.filter(isValidDropTarget);
212
+ }
213
+
214
+ private selectTarget(
215
+ potentialTargets: ItemDropTarget[],
216
+ originalTarget: ItemDropTarget,
217
+ x: number,
218
+ y: number,
219
+ currentYMovement: 'up' | 'down' | null,
220
+ currentXMovement: 'left' | 'right' | null
221
+ ): ItemDropTarget {
222
+ if (potentialTargets.length < 2) {
223
+ return potentialTargets[0];
224
+ }
225
+
226
+ let tracking = this.pointerTracking;
227
+ let currentItem = this.state!.collection.getItem(originalTarget.key);
228
+ let parentKey = currentItem?.parentKey;
229
+
230
+ if (!parentKey) {
231
+ return potentialTargets[0];
232
+ }
233
+
234
+ // More than 1 potential target - use Y for initial target, then X for switching levels
235
+ // Initialize boundary context if needed
236
+ if (!tracking.boundaryContext || tracking.boundaryContext.parentKey !== parentKey) {
237
+ // If entering from below, start with outer-most
238
+ let initialTargetIndex = tracking.yDirection === 'up' ? potentialTargets.length - 1 : 0;
239
+ tracking.boundaryContext = {
240
+ parentKey,
241
+ preferredTargetIndex: initialTargetIndex,
242
+ lastSwitchY: y,
243
+ lastSwitchX: x
244
+ };
245
+ }
246
+
247
+ let boundaryContext = tracking.boundaryContext;
248
+ let distanceFromLastXSwitch = Math.abs(x - boundaryContext.lastSwitchX);
249
+ let distanceFromLastYSwitch = Math.abs(y - boundaryContext.lastSwitchY);
250
+
251
+ // Switch between targets based on Y movement
252
+ if (distanceFromLastYSwitch > Y_SWITCH_THRESHOLD && currentYMovement) {
253
+ let currentIndex = boundaryContext.preferredTargetIndex || 0;
254
+
255
+ if (currentYMovement === 'down' && currentIndex === 0) {
256
+ // Moving down from inner-most, switch to outer-most
257
+ boundaryContext.preferredTargetIndex = potentialTargets.length - 1;
258
+ } else if (currentYMovement === 'up' && currentIndex === potentialTargets.length - 1) {
259
+ // Moving up from outer-most, switch to inner-most
260
+ boundaryContext.preferredTargetIndex = 0;
261
+ }
262
+
263
+ // Reset x tracking so that moving diagonally doesn't cause flickering.
264
+ tracking.xDirection = null;
265
+ }
266
+
267
+ // X movement controls level selection
268
+ if (distanceFromLastXSwitch > X_SWITCH_THRESHOLD && currentXMovement) {
269
+ let currentTargetIndex = boundaryContext.preferredTargetIndex || 0;
270
+
271
+ if (currentXMovement === 'left') {
272
+ if (this.direction === 'ltr') {
273
+ // LTR: left = move to higher level in tree (increase index)
274
+ if (currentTargetIndex < potentialTargets.length - 1) {
275
+ boundaryContext.preferredTargetIndex = currentTargetIndex + 1;
276
+ boundaryContext.lastSwitchX = x;
277
+ }
278
+ } else {
279
+ // RTL: left = move to lower level in tree (decrease index)
280
+ if (currentTargetIndex > 0) {
281
+ boundaryContext.preferredTargetIndex = currentTargetIndex - 1;
282
+ boundaryContext.lastSwitchX = x;
283
+ }
284
+ }
285
+ } else if (currentXMovement === 'right') {
286
+ if (this.direction === 'ltr') {
287
+ // LTR: right = move to lower level in tree (decrease index)
288
+ if (currentTargetIndex > 0) {
289
+ boundaryContext.preferredTargetIndex = currentTargetIndex - 1;
290
+ boundaryContext.lastSwitchX = x;
291
+ }
292
+ } else {
293
+ // RTL: right = move to higher level in tree (increase index)
294
+ if (currentTargetIndex < potentialTargets.length - 1) {
295
+ boundaryContext.preferredTargetIndex = currentTargetIndex + 1;
296
+ boundaryContext.lastSwitchX = x;
297
+ }
298
+ }
299
+ }
300
+
301
+ // Reset y tracking so that moving diagonally doesn't cause flickering.
302
+ tracking.yDirection = null;
303
+ }
304
+
305
+ let targetIndex = Math.max(0, Math.min(boundaryContext.preferredTargetIndex || 0, potentialTargets.length - 1));
306
+ return potentialTargets[targetIndex];
307
+ }
308
+ }
@@ -0,0 +1,174 @@
1
+ /*
2
+ * Copyright 2024 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import {CollectionBranchProps, CollectionRenderer, CollectionRendererContext, CollectionRootProps, renderAfterDropIndicators} from './Collection';
14
+ import {DropTargetDelegate, ItemDropTarget, Node} from '@react-types/shared';
15
+ import {Layout, ReusableView, useVirtualizerState, VirtualizerState} from '@react-stately/virtualizer';
16
+ import React, {createContext, JSX, ReactNode, useContext, useMemo} from 'react';
17
+ import {useScrollView, VirtualizerItem} from '@react-aria/virtualizer';
18
+
19
+ type View = ReusableView<Node<unknown>, ReactNode>;
20
+
21
+ export interface LayoutOptionsDelegate<O> {
22
+ useLayoutOptions?(): O
23
+ }
24
+
25
+ interface ILayout<O> extends Layout<Node<unknown>, O>, Partial<DropTargetDelegate>, LayoutOptionsDelegate<O> {}
26
+
27
+ interface LayoutClass<O> {
28
+ new(): ILayout<O>
29
+ }
30
+
31
+ export interface VirtualizerProps<O> {
32
+ /** The child collection to virtualize (e.g. ListBox, GridList, or Table). */
33
+ children: ReactNode,
34
+ /** The layout object that determines the position and size of the visible elements. */
35
+ layout: LayoutClass<O> | ILayout<O>,
36
+ /** Options for the layout. */
37
+ layoutOptions?: O
38
+ }
39
+
40
+ interface LayoutContextValue {
41
+ layout: ILayout<any>,
42
+ layoutOptions?: any
43
+ }
44
+
45
+ const VirtualizerContext = createContext<VirtualizerState<any, any> | null>(null);
46
+ const LayoutContext = createContext<LayoutContextValue | null>(null);
47
+
48
+ /**
49
+ * A Virtualizer renders a scrollable collection of data using customizable layouts.
50
+ * It supports very large collections by only rendering visible items to the DOM, reusing
51
+ * them as the user scrolls.
52
+ */
53
+ export function Virtualizer<O>(props: VirtualizerProps<O>): JSX.Element {
54
+ let {children, layout: layoutProp, layoutOptions} = props;
55
+ let layout = useMemo(() => typeof layoutProp === 'function' ? new layoutProp() : layoutProp, [layoutProp]);
56
+ let renderer: CollectionRenderer = useMemo(() => ({
57
+ isVirtualized: true,
58
+ layoutDelegate: layout,
59
+ dropTargetDelegate: layout.getDropTargetFromPoint ? layout as DropTargetDelegate : undefined,
60
+ CollectionRoot,
61
+ CollectionBranch
62
+ }), [layout]);
63
+
64
+ return (
65
+ <CollectionRendererContext.Provider value={renderer}>
66
+ <LayoutContext.Provider value={{layout, layoutOptions}}>
67
+ {children}
68
+ </LayoutContext.Provider>
69
+ </CollectionRendererContext.Provider>
70
+ );
71
+ }
72
+
73
+ function CollectionRoot({collection, persistedKeys, scrollRef, renderDropIndicator}: CollectionRootProps) {
74
+ let {layout, layoutOptions} = useContext(LayoutContext)!;
75
+ let layoutOptions2 = layout.useLayoutOptions?.();
76
+ let state = useVirtualizerState({
77
+ layout,
78
+ collection,
79
+ renderView: (type, item) => {
80
+ return item?.render?.(item);
81
+ },
82
+ onVisibleRectChange(rect) {
83
+ let element = scrollRef?.current;
84
+ if (element) {
85
+ element.scrollLeft = rect.x;
86
+ element.scrollTop = rect.y;
87
+ }
88
+ },
89
+ persistedKeys,
90
+ layoutOptions: useMemo(() => {
91
+ if (layoutOptions && layoutOptions2) {
92
+ return {...layoutOptions, ...layoutOptions2};
93
+ }
94
+ return layoutOptions || layoutOptions2;
95
+ }, [layoutOptions, layoutOptions2])
96
+ });
97
+
98
+ let {contentProps} = useScrollView({
99
+ onVisibleRectChange: state.setVisibleRect,
100
+ contentSize: state.contentSize,
101
+ onScrollStart: state.startScrolling,
102
+ onScrollEnd: state.endScrolling
103
+ }, scrollRef!);
104
+
105
+ return (
106
+ <div {...contentProps}>
107
+ <VirtualizerContext.Provider value={state}>
108
+ {renderChildren(null, state.visibleViews, renderDropIndicator)}
109
+ </VirtualizerContext.Provider>
110
+ </div>
111
+ );
112
+ }
113
+
114
+ function CollectionBranch({parent, renderDropIndicator}: CollectionBranchProps) {
115
+ let virtualizer = useContext(VirtualizerContext);
116
+ let parentView = virtualizer!.virtualizer.getVisibleView(parent.key)!;
117
+ return renderChildren(parentView, Array.from(parentView.children), renderDropIndicator);
118
+ }
119
+
120
+ function renderChildren(parent: View | null, children: View[], renderDropIndicator?: (target: ItemDropTarget) => ReactNode) {
121
+ return children.map(view => renderWrapper(parent, view, renderDropIndicator));
122
+ }
123
+
124
+ function renderWrapper(
125
+ parent: View | null,
126
+ reusableView: View,
127
+ renderDropIndicator?: (target: ItemDropTarget) => ReactNode
128
+ ): ReactNode {
129
+ let rendered = (
130
+ <VirtualizerItem
131
+ key={reusableView.key}
132
+ layoutInfo={reusableView.layoutInfo!}
133
+ virtualizer={reusableView.virtualizer}
134
+ parent={parent?.layoutInfo}>
135
+ {reusableView.rendered}
136
+ </VirtualizerItem>
137
+ );
138
+
139
+ let {collection, layout} = reusableView.virtualizer;
140
+ let node = reusableView.content;
141
+ if (node?.type === 'item' && renderDropIndicator && layout.getDropTargetLayoutInfo) {
142
+ rendered = (
143
+ <React.Fragment key={reusableView.key}>
144
+ {renderDropIndicatorWrapper(parent, reusableView, {type: 'item', key: reusableView.content!.key, dropPosition: 'before'}, renderDropIndicator)}
145
+ {rendered}
146
+ {renderAfterDropIndicators(collection, node, target => renderDropIndicatorWrapper(parent, reusableView, target, renderDropIndicator))}
147
+ </React.Fragment>
148
+ );
149
+ }
150
+
151
+ return rendered;
152
+ }
153
+
154
+ function renderDropIndicatorWrapper(
155
+ parent: View | null,
156
+ reusableView: View,
157
+ target: ItemDropTarget,
158
+ renderDropIndicator: (target: ItemDropTarget) => ReactNode
159
+ ) {
160
+ let indicator = renderDropIndicator(target);
161
+ if (indicator) {
162
+ let layoutInfo = reusableView.virtualizer.layout.getDropTargetLayoutInfo!(target);
163
+ indicator = (
164
+ <VirtualizerItem
165
+ layoutInfo={layoutInfo}
166
+ virtualizer={reusableView.virtualizer}
167
+ parent={parent?.layoutInfo}>
168
+ {indicator}
169
+ </VirtualizerItem>
170
+ );
171
+ }
172
+
173
+ return indicator;
174
+ }
package/src/index.ts ADDED
@@ -0,0 +1,160 @@
1
+ /*
2
+ * Copyright 2022 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ // Mark as a client only package. This will cause a build time error if you try
14
+ // to import it from a React Server Component in a framework like Next.js.
15
+ import 'client-only';
16
+
17
+ export {CheckboxContext, ColorAreaContext, ColorFieldContext, ColorSliderContext, ColorWheelContext, HeadingContext, SelectableCollectionContext, FieldInputContext} from './RSPContexts';
18
+
19
+ export {Autocomplete, AutocompleteContext, AutocompleteStateContext} from './Autocomplete';
20
+ export {Breadcrumbs, BreadcrumbsContext, Breadcrumb} from './Breadcrumbs';
21
+ export {Button, ButtonContext} from './Button';
22
+ export {Calendar, CalendarGrid, CalendarGridHeader, CalendarGridBody, CalendarHeaderCell, CalendarCell, RangeCalendar, CalendarContext, RangeCalendarContext, CalendarStateContext, RangeCalendarStateContext} from './Calendar';
23
+ export {Checkbox, CheckboxGroup, CheckboxGroupContext, CheckboxGroupStateContext} from './Checkbox';
24
+ export {ColorArea, ColorAreaStateContext} from './ColorArea';
25
+ export {ColorField, ColorFieldStateContext} from './ColorField';
26
+ export {ColorPicker, ColorPickerContext, ColorPickerStateContext} from './ColorPicker';
27
+ export {ColorSlider, ColorSliderStateContext} from './ColorSlider';
28
+ export {ColorSwatch, ColorSwatchContext} from './ColorSwatch';
29
+ export {ColorSwatchPicker, ColorSwatchPickerItem, ColorSwatchPickerContext} from './ColorSwatchPicker';
30
+ export {ColorThumb} from './ColorThumb';
31
+ export {ColorWheel, ColorWheelTrack, ColorWheelTrackContext, ColorWheelStateContext} from './ColorWheel';
32
+ export {ComboBox, ComboBoxValue, ComboBoxContext, ComboBoxStateContext, ComboBoxValueContext} from './ComboBox';
33
+ export {composeRenderProps, DEFAULT_SLOT, Provider, useContextProps, useRenderProps, useSlottedContext} from './utils';
34
+ export {DateField, DateInput, DateSegment, TimeField, DateFieldContext, TimeFieldContext, DateFieldStateContext, TimeFieldStateContext} from './DateField';
35
+ export {DatePicker, DateRangePicker, DatePickerContext, DateRangePickerContext, DatePickerStateContext, DateRangePickerStateContext} from './DatePicker';
36
+ export {DialogTrigger, Dialog, DialogContext, OverlayTriggerStateContext} from './Dialog';
37
+ export {Disclosure, DisclosureGroup, DisclosureGroupStateContext, DisclosurePanel, DisclosureStateContext, DisclosureContext} from './Disclosure';
38
+ export {DropZone, DropZoneContext} from './DropZone';
39
+ export {FieldError, FieldErrorContext} from './FieldError';
40
+ export {FileTrigger} from './FileTrigger';
41
+ export {Form, FormContext} from './Form';
42
+ export {GridListLoadMoreItem, GridList, GridListItem, GridListContext, GridListHeader, GridListHeaderContext, GridListSection} from './GridList';
43
+ export {Group, GroupContext} from './Group';
44
+ export {Header, HeaderContext} from './Header';
45
+ export {Heading} from './Heading';
46
+ export {Input, InputContext} from './Input';
47
+ export {Section, CollectionRendererContext, DefaultCollectionRenderer} from './Collection';
48
+ export {Collection, createLeafComponent, createBranchComponent, CollectionBuilder} from '@react-aria/collections';
49
+ export {Keyboard, KeyboardContext} from './Keyboard';
50
+ export {Label, LabelContext} from './Label';
51
+ export {Link, LinkContext} from './Link';
52
+ export {ListBoxLoadMoreItem, ListBox, ListBoxItem, ListBoxSection, ListBoxContext, ListStateContext} from './ListBox';
53
+ export {Menu, MenuItem, MenuTrigger, MenuSection, MenuContext, MenuStateContext, RootMenuTriggerStateContext, SubmenuTrigger} from './Menu';
54
+ export {Meter, MeterContext} from './Meter';
55
+ export {Modal, ModalOverlay, ModalContext} from './Modal';
56
+ export {NumberField, NumberFieldContext, NumberFieldStateContext} from './NumberField';
57
+ export {OverlayArrow} from './OverlayArrow';
58
+ export {Popover, PopoverContext} from './Popover';
59
+ export {ProgressBar, ProgressBarContext} from './ProgressBar';
60
+ export {RadioGroup, Radio, RadioGroupContext, RadioContext, RadioGroupStateContext} from './RadioGroup';
61
+ export {SearchField, SearchFieldContext} from './SearchField';
62
+ export {Select, SelectValue, SelectContext, SelectValueContext, SelectStateContext} from './Select';
63
+ export {SelectionIndicator, SelectionIndicatorContext} from './SelectionIndicator';
64
+ export {Separator, SeparatorContext} from './Separator';
65
+ export {SharedElementTransition, SharedElement} from './SharedElementTransition';
66
+ export {Slider, SliderOutput, SliderTrack, SliderThumb, SliderContext, SliderOutputContext, SliderTrackContext, SliderStateContext} from './Slider';
67
+ export {Switch, SwitchContext} from './Switch';
68
+ export {TableLoadMoreItem, Table, Row, Cell, Column, ColumnResizer, TableHeader, TableBody, TableContext, ResizableTableContainer, useTableOptions, TableStateContext, TableColumnResizeStateContext} from './Table';
69
+ export {TableLayout} from './TableLayout';
70
+ export {Tabs, TabList, TabPanels, TabPanel, Tab, TabsContext, TabListStateContext} from './Tabs';
71
+ export {TagGroup, TagGroupContext, TagList, TagListContext, Tag} from './TagGroup';
72
+ export {Text, TextContext} from './Text';
73
+ export {TextArea, TextAreaContext} from './TextArea';
74
+ export {TextField, TextFieldContext} from './TextField';
75
+ export {Toast as UNSTABLE_Toast, ToastList as UNSTABLE_ToastList, ToastRegion as UNSTABLE_ToastRegion, ToastContent as UNSTABLE_ToastContent, ToastStateContext as UNSTABLE_ToastStateContext} from './Toast';
76
+ export {ToggleButton, ToggleButtonContext} from './ToggleButton';
77
+ export {ToggleButtonGroup, ToggleButtonGroupContext, ToggleGroupStateContext} from './ToggleButtonGroup';
78
+ export {Toolbar, ToolbarContext} from './Toolbar';
79
+ export {TooltipTrigger, Tooltip, TooltipTriggerStateContext, TooltipContext} from './Tooltip';
80
+ export {TreeLoadMoreItem, Tree, TreeItem, TreeContext, TreeItemContent, TreeHeader, TreeSection, TreeStateContext} from './Tree';
81
+ export {useDrag, useDrop} from '@react-aria/dnd';
82
+ export {useDragAndDrop} from './useDragAndDrop';
83
+ export {DropIndicator, DropIndicatorContext, DragAndDropContext} from './DragAndDrop';
84
+ export {Virtualizer} from './Virtualizer';
85
+ export {DIRECTORY_DRAG_TYPE, isDirectoryDropItem, isFileDropItem, isTextDropItem, SSRProvider, RouterProvider, I18nProvider, isRTL, useLocale, useFilter, Pressable, Focusable, VisuallyHidden} from 'react-aria';
86
+ export {FormValidationContext, parseColor, getColorChannels, ToastQueue as UNSTABLE_ToastQueue, useListData, useTreeData, useAsyncList} from 'react-stately';
87
+ export {ListLayout, GridLayout, WaterfallLayout} from '@react-stately/layout';
88
+ export {Layout, LayoutInfo, Size, Rect, Point} from '@react-stately/virtualizer';
89
+
90
+ export type {AutocompleteProps} from './Autocomplete';
91
+ export type {BreadcrumbsProps, BreadcrumbProps, BreadcrumbRenderProps} from './Breadcrumbs';
92
+ export type {ButtonProps, ButtonRenderProps} from './Button';
93
+ export type {CalendarCellProps, CalendarProps, CalendarRenderProps, CalendarGridProps, CalendarGridHeaderProps, CalendarGridBodyProps, CalendarHeaderCellProps, CalendarCellRenderProps, RangeCalendarProps, RangeCalendarRenderProps} from './Calendar';
94
+ export type {CheckboxGroupProps, CheckboxGroupRenderProps, CheckboxRenderProps, CheckboxProps} from './Checkbox';
95
+ export type {ColorAreaProps, ColorAreaRenderProps} from './ColorArea';
96
+ export type {ColorFieldProps, ColorFieldRenderProps} from './ColorField';
97
+ export type {ColorSliderProps, ColorSliderRenderProps} from './ColorSlider';
98
+ export type {ColorSwatchProps, ColorSwatchRenderProps} from './ColorSwatch';
99
+ export type {ColorSwatchPickerProps, ColorSwatchPickerRenderProps, ColorSwatchPickerItemProps, ColorSwatchPickerItemRenderProps} from './ColorSwatchPicker';
100
+ export type {ColorThumbProps, ColorThumbRenderProps} from './ColorThumb';
101
+ export type {ColorPickerProps, ColorPickerRenderProps} from './ColorPicker';
102
+ export type {ColorWheelProps, ColorWheelRenderProps, ColorWheelTrackProps, ColorWheelTrackRenderProps} from './ColorWheel';
103
+ export type {ComboBoxProps, ComboBoxRenderProps, ComboBoxValueProps, ComboBoxValueRenderProps} from './ComboBox';
104
+ export type {DateFieldProps, DateFieldRenderProps, DateInputProps, DateInputRenderProps, DateSegmentProps, DateSegmentRenderProps, TimeFieldProps} from './DateField';
105
+ export type {DatePickerProps, DatePickerRenderProps, DateRangePickerProps, DateRangePickerRenderProps} from './DatePicker';
106
+ export type {DialogProps, DialogTriggerProps, DialogRenderProps} from './Dialog';
107
+ export type {DisclosureProps, DisclosureRenderProps, DisclosurePanelProps, DisclosurePanelRenderProps, DisclosureGroupProps, DisclosureGroupRenderProps} from './Disclosure';
108
+ export type {DropZoneProps, DropZoneRenderProps} from './DropZone';
109
+ export type {FieldErrorProps, FieldErrorRenderProps} from './FieldError';
110
+ export type {FileTriggerProps} from './FileTrigger';
111
+ export type {FormProps} from './Form';
112
+ export type {GridListProps, GridListRenderProps, GridListItemProps, GridListItemRenderProps, GridListLoadMoreItemProps, GridListSectionProps} from './GridList';
113
+ export type {GroupProps, GroupRenderProps} from './Group';
114
+ export type {HeaderProps} from './Header';
115
+ export type {HeadingProps} from './Heading';
116
+ export type {InputProps, InputRenderProps} from './Input';
117
+ export type {SectionProps, CollectionRenderer} from './Collection';
118
+ export type {LabelProps} from './Label';
119
+ export type {LinkProps, LinkRenderProps} from './Link';
120
+ export type {ListBoxProps, ListBoxRenderProps, ListBoxItemProps, ListBoxItemRenderProps, ListBoxSectionProps, ListBoxLoadMoreItemProps} from './ListBox';
121
+ export type {MenuProps, MenuItemProps, MenuItemRenderProps, MenuTriggerProps, SubmenuTriggerProps, MenuSectionProps} from './Menu';
122
+ export type {MeterProps, MeterRenderProps} from './Meter';
123
+ export type {ModalOverlayProps, ModalRenderProps} from './Modal';
124
+ export type {NumberFieldProps, NumberFieldRenderProps} from './NumberField';
125
+ export type {OverlayArrowProps, OverlayArrowRenderProps} from './OverlayArrow';
126
+ export type {PopoverProps, PopoverRenderProps} from './Popover';
127
+ export type {ProgressBarProps, ProgressBarRenderProps} from './ProgressBar';
128
+ export type {RadioGroupProps, RadioGroupRenderProps, RadioProps, RadioRenderProps} from './RadioGroup';
129
+ export type {SearchFieldProps, SearchFieldRenderProps} from './SearchField';
130
+ export type {SelectProps, SelectValueProps, SelectValueRenderProps, SelectRenderProps} from './Select';
131
+ export type {SelectionIndicatorProps} from './SelectionIndicator';
132
+ export type {SharedElementTransitionProps, SharedElementProps, SharedElementRenderProps} from './SharedElementTransition';
133
+ export type {SeparatorProps} from './Separator';
134
+ export type {SliderOutputProps, SliderProps, SliderRenderProps, SliderThumbProps, SliderTrackProps, SliderTrackRenderProps, SliderThumbRenderProps} from './Slider';
135
+ export type {SwitchProps, SwitchRenderProps} from './Switch';
136
+ export type {TableProps, TableRenderProps, TableHeaderProps, TableBodyProps, TableBodyRenderProps, ResizableTableContainerProps, ColumnProps, ColumnRenderProps, ColumnResizerProps, ColumnResizerRenderProps, RowProps, RowRenderProps, CellProps, CellRenderProps, TableLoadMoreItemProps} from './Table';
137
+ export type {TabListProps, TabListRenderProps, TabPanelsProps, TabPanelProps, TabPanelRenderProps, TabProps, TabsProps, TabRenderProps, TabsRenderProps} from './Tabs';
138
+ export type {TagGroupProps, TagListProps, TagListRenderProps, TagProps, TagRenderProps} from './TagGroup';
139
+ export type {TextAreaProps} from './TextArea';
140
+ export type {TextFieldProps, TextFieldRenderProps} from './TextField';
141
+ export type {TextProps} from './Text';
142
+ export type {ToastRegionProps, ToastListProps, ToastRegionRenderProps, ToastProps, ToastRenderProps} from './Toast';
143
+ export type {ToggleButtonProps, ToggleButtonRenderProps} from './ToggleButton';
144
+ export type {ToggleButtonGroupProps, ToggleButtonGroupRenderProps} from './ToggleButtonGroup';
145
+ export type {ToolbarProps, ToolbarRenderProps} from './Toolbar';
146
+ export type {TooltipProps, TooltipRenderProps, TooltipTriggerComponentProps} from './Tooltip';
147
+ export type {TreeProps, TreeRenderProps, TreeItemProps, TreeItemRenderProps, TreeItemContentProps, TreeItemContentRenderProps, TreeLoadMoreItemProps, TreeLoadMoreItemRenderProps} from './Tree';
148
+ export type {DragOptions, DragResult} from '@react-aria/dnd';
149
+ export type {DragAndDropHooks, DragAndDropOptions} from './useDragAndDrop';
150
+ export type {DropIndicatorProps, DropIndicatorRenderProps} from './DragAndDrop';
151
+ export type {ContextValue, RenderProps, SlotProps, StyleRenderProps} from './utils';
152
+ export type {VirtualizerProps} from './Virtualizer';
153
+
154
+ export type {DateValue, DateRange, TimeValue} from 'react-aria';
155
+ export type {DirectoryDropItem, DraggableCollectionEndEvent, DraggableCollectionMoveEvent, DraggableCollectionStartEvent, DragPreviewRenderer, DragTypes, DropItem, DropOperation, DroppableCollectionDropEvent, DroppableCollectionEnterEvent, DroppableCollectionExitEvent, DroppableCollectionInsertDropEvent, DroppableCollectionMoveEvent, DroppableCollectionOnItemDropEvent, DroppableCollectionReorderEvent, DroppableCollectionRootDropEvent, DropPosition, DropTarget, FileDropItem, ItemDropTarget, RootDropTarget, TextDropItem, PressEvent} from 'react-aria';
156
+ export type {CalendarState, CheckboxGroupState, Color, ColorAreaState, ColorFieldState, ColorFormat, ColorPickerState, ColorSliderState, ColorSpace, ColorWheelState, ComboBoxState, DateFieldState, DatePickerState, DateRangePickerState, DisclosureState, DisclosureGroupState, Key, ListState, NumberFieldState, OverlayTriggerState, QueuedToast, RadioGroupState, RangeCalendarState, RootMenuTriggerState, SearchFieldState, Selection, SelectState, SliderState, SortDescriptor, SortDirection, SelectionMode, TableState, TabListState, TimeFieldState, ToastOptions, ToastState, ToggleGroupState, ToggleState, TooltipTriggerState, TreeState, ListData, TreeData, AsyncListData} from 'react-stately';
157
+ export type {AutocompleteState} from '@react-stately/autocomplete';
158
+ export type {ListLayoutOptions, GridLayoutOptions, WaterfallLayoutOptions} from '@react-stately/layout';
159
+ export type {RangeValue, ValidationResult, RouterConfig} from '@react-types/shared';
160
+ export type {SelectableCollectionContextValue} from './RSPContexts';