@octanejs/aria 0.0.40 → 0.0.42

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 (416) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/README.md +20 -7
  3. package/UPSTREAM.md +108 -0
  4. package/package.json +10 -6
  5. package/src/calendar/useCalendar.tsx +36 -0
  6. package/src/calendar/useCalendarBase.tsx +142 -0
  7. package/src/calendar/useCalendarCell.tsx +416 -0
  8. package/src/calendar/useCalendarGrid.tsx +202 -0
  9. package/src/calendar/useCalendarHeading.tsx +85 -0
  10. package/src/calendar/useCalendarMonthPicker.tsx +92 -0
  11. package/src/calendar/useCalendarYearPicker.tsx +127 -0
  12. package/src/calendar/useRangeCalendar.tsx +121 -0
  13. package/src/calendar/utils.tsx +183 -0
  14. package/src/color/useColorArea.tsx +599 -0
  15. package/src/color/useColorAreaGradient.tsx +157 -0
  16. package/src/color/useColorChannelField.tsx +53 -0
  17. package/src/color/useColorField.tsx +170 -0
  18. package/src/color/useColorSlider.tsx +177 -0
  19. package/src/color/useColorSwatch.tsx +83 -0
  20. package/src/color/useColorWheel.tsx +401 -0
  21. package/src/compat/react.ts +111 -0
  22. package/src/components/Calendar.tsx +842 -0
  23. package/src/components/ColorArea.tsx +120 -0
  24. package/src/components/ColorField.tsx +304 -0
  25. package/src/components/ColorPicker.tsx +86 -0
  26. package/src/components/ColorSlider.tsx +144 -0
  27. package/src/components/ColorSwatch.tsx +72 -0
  28. package/src/components/ColorSwatchPicker.tsx +176 -0
  29. package/src/components/ColorThumb.tsx +140 -0
  30. package/src/components/ColorWheel.tsx +163 -0
  31. package/src/components/DateField.tsx +580 -0
  32. package/src/components/DatePicker.tsx +386 -0
  33. package/src/components/DropZone.tsx +181 -0
  34. package/src/components/FileTrigger.tsx +96 -0
  35. package/src/components/GridLayout.tsx +33 -0
  36. package/src/components/HiddenDateInput.tsx +169 -0
  37. package/src/components/TableLayout.tsx +39 -0
  38. package/src/components/Toast.tsx +336 -0
  39. package/src/components/Virtualizer.tsx +219 -0
  40. package/src/components/index.ts +257 -7
  41. package/src/components/useDragAndDrop.tsx +221 -0
  42. package/src/components/utils.ts +12 -89
  43. package/src/datepicker/useDateField.tsx +272 -0
  44. package/src/datepicker/useDatePicker.tsx +229 -0
  45. package/src/datepicker/useDatePickerGroup.tsx +147 -0
  46. package/src/datepicker/useDateRangePicker.tsx +288 -0
  47. package/src/datepicker/useDateSegment.tsx +439 -0
  48. package/src/datepicker/useDisplayNames.tsx +53 -0
  49. package/src/dnd/DragManager.tsx +718 -0
  50. package/src/dnd/DragPreview.tsx +100 -0
  51. package/src/dnd/DropTargetKeyboardNavigation.tsx +317 -0
  52. package/src/dnd/ListDropTargetDelegate.tsx +215 -0
  53. package/src/dnd/constants.tsx +93 -0
  54. package/src/dnd/useAutoScroll.tsx +116 -0
  55. package/src/dnd/useClipboard.tsx +160 -0
  56. package/src/dnd/useDrag.tsx +437 -0
  57. package/src/dnd/useDraggableCollection.tsx +35 -0
  58. package/src/dnd/useDraggableItem.tsx +168 -0
  59. package/src/dnd/useDrop.tsx +518 -0
  60. package/src/dnd/useDropIndicator.tsx +129 -0
  61. package/src/dnd/useDroppableCollection.tsx +808 -0
  62. package/src/dnd/useDroppableItem.tsx +99 -0
  63. package/src/dnd/useVirtualDrop.tsx +52 -0
  64. package/src/dnd/utils.tsx +430 -0
  65. package/src/intl/calendar/ar-AE.json +14 -0
  66. package/src/intl/calendar/bg-BG.json +14 -0
  67. package/src/intl/calendar/cs-CZ.json +14 -0
  68. package/src/intl/calendar/da-DK.json +14 -0
  69. package/src/intl/calendar/de-DE.json +14 -0
  70. package/src/intl/calendar/el-GR.json +14 -0
  71. package/src/intl/calendar/en-US.json +14 -0
  72. package/src/intl/calendar/es-ES.json +14 -0
  73. package/src/intl/calendar/et-EE.json +14 -0
  74. package/src/intl/calendar/fi-FI.json +14 -0
  75. package/src/intl/calendar/fr-FR.json +14 -0
  76. package/src/intl/calendar/he-IL.json +14 -0
  77. package/src/intl/calendar/hr-HR.json +14 -0
  78. package/src/intl/calendar/hu-HU.json +14 -0
  79. package/src/intl/calendar/index.ts +73 -0
  80. package/src/intl/calendar/it-IT.json +14 -0
  81. package/src/intl/calendar/ja-JP.json +14 -0
  82. package/src/intl/calendar/ko-KR.json +14 -0
  83. package/src/intl/calendar/lt-LT.json +14 -0
  84. package/src/intl/calendar/lv-LV.json +14 -0
  85. package/src/intl/calendar/nb-NO.json +14 -0
  86. package/src/intl/calendar/nl-NL.json +14 -0
  87. package/src/intl/calendar/pl-PL.json +14 -0
  88. package/src/intl/calendar/pt-BR.json +14 -0
  89. package/src/intl/calendar/pt-PT.json +14 -0
  90. package/src/intl/calendar/ro-RO.json +14 -0
  91. package/src/intl/calendar/ru-RU.json +14 -0
  92. package/src/intl/calendar/sk-SK.json +14 -0
  93. package/src/intl/calendar/sl-SI.json +14 -0
  94. package/src/intl/calendar/sr-SP.json +14 -0
  95. package/src/intl/calendar/sv-SE.json +14 -0
  96. package/src/intl/calendar/tr-TR.json +14 -0
  97. package/src/intl/calendar/uk-UA.json +14 -0
  98. package/src/intl/calendar/zh-CN.json +14 -0
  99. package/src/intl/calendar/zh-TW.json +14 -0
  100. package/src/intl/color/ar-AE.json +8 -0
  101. package/src/intl/color/bg-BG.json +8 -0
  102. package/src/intl/color/cs-CZ.json +8 -0
  103. package/src/intl/color/da-DK.json +8 -0
  104. package/src/intl/color/de-DE.json +8 -0
  105. package/src/intl/color/el-GR.json +8 -0
  106. package/src/intl/color/en-US.json +8 -0
  107. package/src/intl/color/es-ES.json +8 -0
  108. package/src/intl/color/et-EE.json +8 -0
  109. package/src/intl/color/fi-FI.json +8 -0
  110. package/src/intl/color/fr-FR.json +8 -0
  111. package/src/intl/color/he-IL.json +8 -0
  112. package/src/intl/color/hr-HR.json +8 -0
  113. package/src/intl/color/hu-HU.json +8 -0
  114. package/src/intl/color/index.ts +73 -0
  115. package/src/intl/color/it-IT.json +8 -0
  116. package/src/intl/color/ja-JP.json +8 -0
  117. package/src/intl/color/ko-KR.json +8 -0
  118. package/src/intl/color/lt-LT.json +8 -0
  119. package/src/intl/color/lv-LV.json +8 -0
  120. package/src/intl/color/nb-NO.json +8 -0
  121. package/src/intl/color/nl-NL.json +8 -0
  122. package/src/intl/color/pl-PL.json +8 -0
  123. package/src/intl/color/pt-BR.json +8 -0
  124. package/src/intl/color/pt-PT.json +8 -0
  125. package/src/intl/color/ro-RO.json +8 -0
  126. package/src/intl/color/ru-RU.json +8 -0
  127. package/src/intl/color/sk-SK.json +8 -0
  128. package/src/intl/color/sl-SI.json +8 -0
  129. package/src/intl/color/sr-SP.json +8 -0
  130. package/src/intl/color/sv-SE.json +8 -0
  131. package/src/intl/color/tr-TR.json +8 -0
  132. package/src/intl/color/uk-UA.json +8 -0
  133. package/src/intl/color/zh-CN.json +8 -0
  134. package/src/intl/color/zh-TW.json +8 -0
  135. package/src/intl/datepicker/ar-AE.json +18 -0
  136. package/src/intl/datepicker/bg-BG.json +18 -0
  137. package/src/intl/datepicker/cs-CZ.json +18 -0
  138. package/src/intl/datepicker/da-DK.json +18 -0
  139. package/src/intl/datepicker/de-DE.json +18 -0
  140. package/src/intl/datepicker/el-GR.json +18 -0
  141. package/src/intl/datepicker/en-US.json +18 -0
  142. package/src/intl/datepicker/es-ES.json +18 -0
  143. package/src/intl/datepicker/et-EE.json +18 -0
  144. package/src/intl/datepicker/fi-FI.json +18 -0
  145. package/src/intl/datepicker/fr-FR.json +18 -0
  146. package/src/intl/datepicker/he-IL.json +18 -0
  147. package/src/intl/datepicker/hr-HR.json +18 -0
  148. package/src/intl/datepicker/hu-HU.json +18 -0
  149. package/src/intl/datepicker/index.ts +73 -0
  150. package/src/intl/datepicker/it-IT.json +18 -0
  151. package/src/intl/datepicker/ja-JP.json +18 -0
  152. package/src/intl/datepicker/ko-KR.json +18 -0
  153. package/src/intl/datepicker/lt-LT.json +18 -0
  154. package/src/intl/datepicker/lv-LV.json +18 -0
  155. package/src/intl/datepicker/nb-NO.json +18 -0
  156. package/src/intl/datepicker/nl-NL.json +18 -0
  157. package/src/intl/datepicker/pl-PL.json +18 -0
  158. package/src/intl/datepicker/pt-BR.json +18 -0
  159. package/src/intl/datepicker/pt-PT.json +18 -0
  160. package/src/intl/datepicker/ro-RO.json +18 -0
  161. package/src/intl/datepicker/ru-RU.json +18 -0
  162. package/src/intl/datepicker/sk-SK.json +18 -0
  163. package/src/intl/datepicker/sl-SI.json +18 -0
  164. package/src/intl/datepicker/sr-SP.json +18 -0
  165. package/src/intl/datepicker/sv-SE.json +18 -0
  166. package/src/intl/datepicker/tr-TR.json +18 -0
  167. package/src/intl/datepicker/uk-UA.json +18 -0
  168. package/src/intl/datepicker/zh-CN.json +18 -0
  169. package/src/intl/datepicker/zh-TW.json +18 -0
  170. package/src/intl/dnd/ar-AE.json +29 -0
  171. package/src/intl/dnd/bg-BG.json +29 -0
  172. package/src/intl/dnd/cs-CZ.json +29 -0
  173. package/src/intl/dnd/da-DK.json +29 -0
  174. package/src/intl/dnd/de-DE.json +29 -0
  175. package/src/intl/dnd/el-GR.json +29 -0
  176. package/src/intl/dnd/en-US.json +29 -0
  177. package/src/intl/dnd/es-ES.json +29 -0
  178. package/src/intl/dnd/et-EE.json +29 -0
  179. package/src/intl/dnd/fi-FI.json +29 -0
  180. package/src/intl/dnd/fr-FR.json +29 -0
  181. package/src/intl/dnd/he-IL.json +29 -0
  182. package/src/intl/dnd/hr-HR.json +29 -0
  183. package/src/intl/dnd/hu-HU.json +29 -0
  184. package/src/intl/dnd/index.ts +73 -0
  185. package/src/intl/dnd/it-IT.json +29 -0
  186. package/src/intl/dnd/ja-JP.json +29 -0
  187. package/src/intl/dnd/ko-KR.json +29 -0
  188. package/src/intl/dnd/lt-LT.json +29 -0
  189. package/src/intl/dnd/lv-LV.json +29 -0
  190. package/src/intl/dnd/nb-NO.json +29 -0
  191. package/src/intl/dnd/nl-NL.json +29 -0
  192. package/src/intl/dnd/pl-PL.json +29 -0
  193. package/src/intl/dnd/pt-BR.json +29 -0
  194. package/src/intl/dnd/pt-PT.json +29 -0
  195. package/src/intl/dnd/ro-RO.json +29 -0
  196. package/src/intl/dnd/ru-RU.json +29 -0
  197. package/src/intl/dnd/sk-SK.json +29 -0
  198. package/src/intl/dnd/sl-SI.json +29 -0
  199. package/src/intl/dnd/sr-SP.json +29 -0
  200. package/src/intl/dnd/sv-SE.json +29 -0
  201. package/src/intl/dnd/tr-TR.json +29 -0
  202. package/src/intl/dnd/uk-UA.json +29 -0
  203. package/src/intl/dnd/zh-CN.json +29 -0
  204. package/src/intl/dnd/zh-TW.json +29 -0
  205. package/src/intl/react-aria-components/ar-AE.json +6 -0
  206. package/src/intl/react-aria-components/bg-BG.json +6 -0
  207. package/src/intl/react-aria-components/cs-CZ.json +6 -0
  208. package/src/intl/react-aria-components/da-DK.json +6 -0
  209. package/src/intl/react-aria-components/de-DE.json +6 -0
  210. package/src/intl/react-aria-components/el-GR.json +6 -0
  211. package/src/intl/react-aria-components/en-US.json +6 -0
  212. package/src/intl/react-aria-components/es-ES.json +6 -0
  213. package/src/intl/react-aria-components/et-EE.json +6 -0
  214. package/src/intl/react-aria-components/fi-FI.json +6 -0
  215. package/src/intl/react-aria-components/fr-FR.json +6 -0
  216. package/src/intl/react-aria-components/he-IL.json +6 -0
  217. package/src/intl/react-aria-components/hr-HR.json +6 -0
  218. package/src/intl/react-aria-components/hu-HU.json +6 -0
  219. package/src/intl/react-aria-components/index.ts +73 -0
  220. package/src/intl/react-aria-components/it-IT.json +6 -0
  221. package/src/intl/react-aria-components/ja-JP.json +6 -0
  222. package/src/intl/react-aria-components/ko-KR.json +6 -0
  223. package/src/intl/react-aria-components/lt-LT.json +6 -0
  224. package/src/intl/react-aria-components/lv-LV.json +6 -0
  225. package/src/intl/react-aria-components/nb-NO.json +6 -0
  226. package/src/intl/react-aria-components/nl-NL.json +6 -0
  227. package/src/intl/react-aria-components/pl-PL.json +6 -0
  228. package/src/intl/react-aria-components/pt-BR.json +6 -0
  229. package/src/intl/react-aria-components/pt-PT.json +6 -0
  230. package/src/intl/react-aria-components/ro-RO.json +6 -0
  231. package/src/intl/react-aria-components/ru-RU.json +6 -0
  232. package/src/intl/react-aria-components/sk-SK.json +6 -0
  233. package/src/intl/react-aria-components/sl-SI.json +6 -0
  234. package/src/intl/react-aria-components/sr-SP.json +6 -0
  235. package/src/intl/react-aria-components/sv-SE.json +6 -0
  236. package/src/intl/react-aria-components/tr-TR.json +6 -0
  237. package/src/intl/react-aria-components/uk-UA.json +6 -0
  238. package/src/intl/react-aria-components/zh-CN.json +6 -0
  239. package/src/intl/react-aria-components/zh-TW.json +6 -0
  240. package/src/intl/stately-color/ar-AE.json +39 -0
  241. package/src/intl/stately-color/bg-BG.json +39 -0
  242. package/src/intl/stately-color/cs-CZ.json +39 -0
  243. package/src/intl/stately-color/da-DK.json +39 -0
  244. package/src/intl/stately-color/de-DE.json +39 -0
  245. package/src/intl/stately-color/el-GR.json +39 -0
  246. package/src/intl/stately-color/en-US.json +39 -0
  247. package/src/intl/stately-color/es-ES.json +39 -0
  248. package/src/intl/stately-color/et-EE.json +39 -0
  249. package/src/intl/stately-color/fi-FI.json +39 -0
  250. package/src/intl/stately-color/fr-FR.json +39 -0
  251. package/src/intl/stately-color/he-IL.json +39 -0
  252. package/src/intl/stately-color/hr-HR.json +39 -0
  253. package/src/intl/stately-color/hu-HU.json +39 -0
  254. package/src/intl/stately-color/index.ts +73 -0
  255. package/src/intl/stately-color/it-IT.json +39 -0
  256. package/src/intl/stately-color/ja-JP.json +39 -0
  257. package/src/intl/stately-color/ko-KR.json +39 -0
  258. package/src/intl/stately-color/lt-LT.json +39 -0
  259. package/src/intl/stately-color/lv-LV.json +39 -0
  260. package/src/intl/stately-color/nb-NO.json +39 -0
  261. package/src/intl/stately-color/nl-NL.json +39 -0
  262. package/src/intl/stately-color/pl-PL.json +39 -0
  263. package/src/intl/stately-color/pt-BR.json +39 -0
  264. package/src/intl/stately-color/pt-PT.json +39 -0
  265. package/src/intl/stately-color/ro-RO.json +39 -0
  266. package/src/intl/stately-color/ru-RU.json +39 -0
  267. package/src/intl/stately-color/sk-SK.json +39 -0
  268. package/src/intl/stately-color/sl-SI.json +39 -0
  269. package/src/intl/stately-color/sr-SP.json +39 -0
  270. package/src/intl/stately-color/sv-SE.json +39 -0
  271. package/src/intl/stately-color/tr-TR.json +39 -0
  272. package/src/intl/stately-color/uk-UA.json +39 -0
  273. package/src/intl/stately-color/zh-CN.json +39 -0
  274. package/src/intl/stately-color/zh-TW.json +39 -0
  275. package/src/intl/toast/ar-AE.json +4 -0
  276. package/src/intl/toast/bg-BG.json +4 -0
  277. package/src/intl/toast/cs-CZ.json +4 -0
  278. package/src/intl/toast/da-DK.json +4 -0
  279. package/src/intl/toast/de-DE.json +4 -0
  280. package/src/intl/toast/el-GR.json +4 -0
  281. package/src/intl/toast/en-US.json +4 -0
  282. package/src/intl/toast/es-ES.json +4 -0
  283. package/src/intl/toast/et-EE.json +4 -0
  284. package/src/intl/toast/fi-FI.json +4 -0
  285. package/src/intl/toast/fr-FR.json +4 -0
  286. package/src/intl/toast/he-IL.json +4 -0
  287. package/src/intl/toast/hr-HR.json +4 -0
  288. package/src/intl/toast/hu-HU.json +4 -0
  289. package/src/intl/toast/index.ts +73 -0
  290. package/src/intl/toast/it-IT.json +4 -0
  291. package/src/intl/toast/ja-JP.json +4 -0
  292. package/src/intl/toast/ko-KR.json +4 -0
  293. package/src/intl/toast/lt-LT.json +4 -0
  294. package/src/intl/toast/lv-LV.json +4 -0
  295. package/src/intl/toast/nb-NO.json +4 -0
  296. package/src/intl/toast/nl-NL.json +4 -0
  297. package/src/intl/toast/pl-PL.json +4 -0
  298. package/src/intl/toast/pt-BR.json +4 -0
  299. package/src/intl/toast/pt-PT.json +4 -0
  300. package/src/intl/toast/ro-RO.json +4 -0
  301. package/src/intl/toast/ru-RU.json +4 -0
  302. package/src/intl/toast/sk-SK.json +4 -0
  303. package/src/intl/toast/sl-SI.json +4 -0
  304. package/src/intl/toast/sr-SP.json +4 -0
  305. package/src/intl/toast/sv-SE.json +4 -0
  306. package/src/intl/toast/tr-TR.json +4 -0
  307. package/src/intl/toast/uk-UA.json +4 -0
  308. package/src/intl/toast/zh-CN.json +4 -0
  309. package/src/intl/toast/zh-TW.json +4 -0
  310. package/src/landmark/useLandmark.tsx +569 -0
  311. package/src/stately/calendar/types.tsx +239 -0
  312. package/src/stately/calendar/useCalendarState.tsx +527 -0
  313. package/src/stately/calendar/useRangeCalendarState.tsx +323 -0
  314. package/src/stately/calendar/utils.tsx +175 -0
  315. package/src/stately/color/Color.tsx +889 -0
  316. package/src/stately/color/types.tsx +82 -0
  317. package/src/stately/color/useColor.tsx +30 -0
  318. package/src/stately/color/useColorAreaState.tsx +255 -0
  319. package/src/stately/color/useColorChannelFieldState.tsx +86 -0
  320. package/src/stately/color/useColorFieldState.tsx +220 -0
  321. package/src/stately/color/useColorPickerState.tsx +31 -0
  322. package/src/stately/color/useColorSliderState.tsx +143 -0
  323. package/src/stately/color/useColorWheelState.tsx +225 -0
  324. package/src/stately/data/useAsyncList.tsx +382 -0
  325. package/src/stately/data/useListData.tsx +447 -0
  326. package/src/stately/data/useTreeData.tsx +603 -0
  327. package/src/stately/datepicker/IncompleteDate.tsx +427 -0
  328. package/src/stately/datepicker/placeholders.tsx +116 -0
  329. package/src/stately/datepicker/types.tsx +169 -0
  330. package/src/stately/datepicker/useDateFieldState.tsx +564 -0
  331. package/src/stately/datepicker/useDatePickerState.tsx +244 -0
  332. package/src/stately/datepicker/useDateRangePickerState.tsx +397 -0
  333. package/src/stately/datepicker/useTimeFieldState.tsx +123 -0
  334. package/src/stately/datepicker/utils.tsx +316 -0
  335. package/src/stately/dnd/useDraggableCollectionState.tsx +191 -0
  336. package/src/stately/dnd/useDroppableCollectionState.tsx +288 -0
  337. package/src/stately/layout/GridLayout.tsx +449 -0
  338. package/src/stately/layout/ListLayout.tsx +872 -0
  339. package/src/stately/layout/TableLayout.tsx +793 -0
  340. package/src/stately/layout/WaterfallLayout.tsx +399 -0
  341. package/src/stately/toast/useToastState.tsx +219 -0
  342. package/src/stately/virtualizer/Layout.tsx +105 -0
  343. package/src/stately/virtualizer/LayoutInfo.tsx +127 -0
  344. package/src/stately/virtualizer/OverscanManager.tsx +56 -0
  345. package/src/stately/virtualizer/Point.tsx +47 -0
  346. package/src/stately/virtualizer/Rect.tsx +194 -0
  347. package/src/stately/virtualizer/ReusableView.tsx +101 -0
  348. package/src/stately/virtualizer/Size.tsx +48 -0
  349. package/src/stately/virtualizer/Virtualizer.tsx +408 -0
  350. package/src/stately/virtualizer/types.tsx +48 -0
  351. package/src/stately/virtualizer/useVirtualizerState.tsx +138 -0
  352. package/src/stately/virtualizer/utils.tsx +32 -0
  353. package/src/textfield/useTextField.ts +3 -0
  354. package/src/toast/useToast.tsx +105 -0
  355. package/src/toast/useToastRegion.tsx +223 -0
  356. package/src/upstream-exports/react-aria/I18nProvider.tsx +17 -0
  357. package/src/upstream-exports/react-aria/ListDropTargetDelegate.tsx +15 -0
  358. package/src/upstream-exports/react-aria/PortalProvider.tsx +19 -0
  359. package/src/upstream-exports/react-aria/SSRProvider.tsx +15 -0
  360. package/src/upstream-exports/react-aria/VisuallyHidden.tsx +15 -0
  361. package/src/upstream-exports/react-aria/filterDOMProps.tsx +3 -0
  362. package/src/upstream-exports/react-aria/mergeProps.tsx +14 -0
  363. package/src/upstream-exports/react-aria/private/dnd/DragManager.tsx +3 -0
  364. package/src/upstream-exports/react-aria/private/interactions/PressResponder.tsx +3 -0
  365. package/src/upstream-exports/react-aria/private/utils/isFocusable.tsx +3 -0
  366. package/src/upstream-exports/react-aria/private/utils/shadowdom/DOMFunctions.tsx +8 -0
  367. package/src/upstream-exports/react-aria/private/utils/useId.tsx +3 -0
  368. package/src/upstream-exports/react-aria/private/utils/useLabels.tsx +3 -0
  369. package/src/upstream-exports/react-aria/private/virtualizer/ScrollView.tsx +3 -0
  370. package/src/upstream-exports/react-aria/private/virtualizer/VirtualizerItem.tsx +3 -0
  371. package/src/upstream-exports/react-aria/useButton.tsx +22 -0
  372. package/src/upstream-exports/react-aria/useCalendar.tsx +37 -0
  373. package/src/upstream-exports/react-aria/useClipboard.tsx +23 -0
  374. package/src/upstream-exports/react-aria/useColorArea.tsx +19 -0
  375. package/src/upstream-exports/react-aria/useColorField.tsx +20 -0
  376. package/src/upstream-exports/react-aria/useColorSlider.tsx +19 -0
  377. package/src/upstream-exports/react-aria/useColorSwatch.tsx +15 -0
  378. package/src/upstream-exports/react-aria/useColorWheel.tsx +19 -0
  379. package/src/upstream-exports/react-aria/useDateField.tsx +23 -0
  380. package/src/upstream-exports/react-aria/useDatePicker.tsx +17 -0
  381. package/src/upstream-exports/react-aria/useDateRangePicker.tsx +24 -0
  382. package/src/upstream-exports/react-aria/useDraggableCollection.tsx +31 -0
  383. package/src/upstream-exports/react-aria/useDrop.tsx +33 -0
  384. package/src/upstream-exports/react-aria/useDroppableCollection.tsx +47 -0
  385. package/src/upstream-exports/react-aria/useFocusRing.tsx +16 -0
  386. package/src/upstream-exports/react-aria/useHover.tsx +17 -0
  387. package/src/upstream-exports/react-aria/useLocalizedStringFormatter.tsx +19 -0
  388. package/src/upstream-exports/react-aria/useObjectRef.tsx +14 -0
  389. package/src/upstream-exports/react-aria/useRangeCalendar.tsx +38 -0
  390. package/src/upstream-exports/react-aria/useTimeField.tsx +23 -0
  391. package/src/upstream-exports/react-aria/useToast.tsx +18 -0
  392. package/src/upstream-exports/react-stately/Color.tsx +23 -0
  393. package/src/upstream-exports/react-stately/private/form/useFormValidationState.tsx +11 -0
  394. package/src/upstream-exports/react-stately/useCalendarState.tsx +24 -0
  395. package/src/upstream-exports/react-stately/useColorAreaState.tsx +24 -0
  396. package/src/upstream-exports/react-stately/useColorFieldState.tsx +22 -0
  397. package/src/upstream-exports/react-stately/useColorPickerState.tsx +25 -0
  398. package/src/upstream-exports/react-stately/useColorSliderState.tsx +25 -0
  399. package/src/upstream-exports/react-stately/useColorWheelState.tsx +24 -0
  400. package/src/upstream-exports/react-stately/useDateFieldState.tsx +29 -0
  401. package/src/upstream-exports/react-stately/useDatePickerState.tsx +25 -0
  402. package/src/upstream-exports/react-stately/useDateRangePickerState.tsx +26 -0
  403. package/src/upstream-exports/react-stately/useDraggableCollectionState.tsx +19 -0
  404. package/src/upstream-exports/react-stately/useDroppableCollectionState.tsx +19 -0
  405. package/src/upstream-exports/react-stately/useRangeCalendarState.tsx +27 -0
  406. package/src/upstream-exports/react-stately/useTimeFieldState.tsx +26 -0
  407. package/src/upstream-exports/react-stately/useToastState.tsx +21 -0
  408. package/src/upstream-exports/react-stately/useVirtualizerState.tsx +22 -0
  409. package/src/utils/useLoadMore.tsx +89 -0
  410. package/src/virtualizer/ScrollView.tsx +401 -0
  411. package/src/virtualizer/Virtualizer.tsx +147 -0
  412. package/src/virtualizer/VirtualizerItem.tsx +108 -0
  413. package/src/virtualizer/useVirtualizerItem.tsx +57 -0
  414. package/src/virtualizer/utils.tsx +105 -0
  415. package/LICENSE +0 -21
  416. package/src/components/useDragAndDrop.ts +0 -164
@@ -0,0 +1,219 @@
1
+ /** @jsxImportSource octane */
2
+ // Ported from adobe/react-spectrum@1c84a49a1faf50b571c84e00bcf9c60b22ddd03e (packages/react-aria-components/src/Virtualizer.tsx).
3
+ /*
4
+ * Copyright 2024 Adobe. All rights reserved.
5
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License. You may obtain a copy
7
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11
+ * OF ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ */
14
+
15
+ import {
16
+ CollectionBranchProps,
17
+ CollectionRenderer,
18
+ CollectionRendererContext,
19
+ CollectionRootProps,
20
+ renderAfterDropIndicators,
21
+ } from './Collection';
22
+ import { DropTargetDelegate, ItemDropTarget, Node } from '@react-types/shared';
23
+ import {
24
+ Layout,
25
+ ReusableView,
26
+ useVirtualizerState,
27
+ VirtualizerState,
28
+ } from '../upstream-exports/react-stately/useVirtualizerState';
29
+ import React, { createContext, JSX, ReactNode, useContext, useMemo } from '../compat/react';
30
+ import { useScrollView } from '../upstream-exports/react-aria/private/virtualizer/ScrollView';
31
+ import { VirtualizerItem } from '../upstream-exports/react-aria/private/virtualizer/VirtualizerItem';
32
+
33
+ type View = ReusableView<Node<unknown>, ReactNode>;
34
+
35
+ export interface LayoutOptionsDelegate<O> {
36
+ useLayoutOptions?(): O;
37
+ }
38
+
39
+ interface ILayout<O>
40
+ extends Layout<Node<unknown>, O>, Partial<DropTargetDelegate>, LayoutOptionsDelegate<O> {}
41
+
42
+ interface LayoutClass<O> {
43
+ new (): ILayout<O>;
44
+ }
45
+
46
+ export interface VirtualizerProps<O> {
47
+ /** The child collection to virtualize (e.g. ListBox, GridList, or Table). */
48
+ children: ReactNode;
49
+ /** The layout object that determines the position and size of the visible elements. */
50
+ layout: LayoutClass<O> | ILayout<O>;
51
+ /** Options for the layout. */
52
+ layoutOptions?: O;
53
+ }
54
+
55
+ interface LayoutContextValue {
56
+ layout: ILayout<any>;
57
+ layoutOptions?: any;
58
+ }
59
+
60
+ const VirtualizerContext = createContext<VirtualizerState<any, any> | null>(null);
61
+ const LayoutContext = createContext<LayoutContextValue | null>(null);
62
+
63
+ /**
64
+ * A Virtualizer renders a scrollable collection of data using customizable layouts.
65
+ * It supports very large collections by only rendering visible items to the DOM, reusing
66
+ * them as the user scrolls.
67
+ */
68
+ export function Virtualizer<O>(props: VirtualizerProps<O>): JSX.Element {
69
+ let { children, layout: layoutProp, layoutOptions } = props;
70
+ let layout = useMemo(
71
+ () => (typeof layoutProp === 'function' ? new layoutProp() : layoutProp),
72
+ [layoutProp],
73
+ );
74
+ let renderer: CollectionRenderer = useMemo(
75
+ () => ({
76
+ isVirtualized: true,
77
+ layoutDelegate: layout,
78
+ dropTargetDelegate: layout.getDropTargetFromPoint
79
+ ? (layout as DropTargetDelegate)
80
+ : undefined,
81
+ CollectionRoot,
82
+ CollectionBranch,
83
+ }),
84
+ [layout],
85
+ );
86
+
87
+ return (
88
+ <CollectionRendererContext.Provider value={renderer}>
89
+ <LayoutContext.Provider value={{ layout, layoutOptions }}>{children}</LayoutContext.Provider>
90
+ </CollectionRendererContext.Provider>
91
+ );
92
+ }
93
+
94
+ function CollectionRoot({
95
+ collection,
96
+ persistedKeys,
97
+ scrollRef,
98
+ renderDropIndicator,
99
+ }: CollectionRootProps) {
100
+ let { layout, layoutOptions } = useContext(LayoutContext)!;
101
+ let layoutOptions2 = layout.useLayoutOptions?.();
102
+ let state = useVirtualizerState({
103
+ allowsWindowScrolling: true,
104
+ layout,
105
+ collection,
106
+ renderView: (type, item) => {
107
+ return item?.render?.(item);
108
+ },
109
+ onVisibleRectChange(rect) {
110
+ let element = scrollRef?.current;
111
+ if (element) {
112
+ element.scrollLeft = rect.x;
113
+ element.scrollTop = rect.y;
114
+ }
115
+ },
116
+ persistedKeys,
117
+ layoutOptions: useMemo(() => {
118
+ if (layoutOptions && layoutOptions2) {
119
+ return { ...layoutOptions, ...layoutOptions2 };
120
+ }
121
+ return layoutOptions || layoutOptions2;
122
+ }, [layoutOptions, layoutOptions2]),
123
+ });
124
+
125
+ let { contentProps } = useScrollView(
126
+ {
127
+ onVisibleRectChange: state.setVisibleRect,
128
+ onSizeChange: state.setSize,
129
+ contentSize: state.contentSize,
130
+ onScrollStart: state.startScrolling,
131
+ onScrollEnd: state.endScrolling,
132
+ allowsWindowScrolling: true,
133
+ },
134
+ scrollRef!,
135
+ );
136
+
137
+ return (
138
+ <div {...contentProps}>
139
+ <VirtualizerContext.Provider value={state}>
140
+ {renderChildren(null, state.visibleViews, renderDropIndicator)}
141
+ </VirtualizerContext.Provider>
142
+ </div>
143
+ );
144
+ }
145
+
146
+ function CollectionBranch({ parent, renderDropIndicator }: CollectionBranchProps) {
147
+ let virtualizer = useContext(VirtualizerContext);
148
+ let parentView = virtualizer!.virtualizer.getVisibleView(parent.key)!;
149
+ return renderChildren(parentView, Array.from(parentView.children), renderDropIndicator);
150
+ }
151
+
152
+ function renderChildren(
153
+ parent: View | null,
154
+ children: View[],
155
+ renderDropIndicator?: (target: ItemDropTarget) => ReactNode,
156
+ ) {
157
+ return children.map((view) => renderWrapper(parent, view, renderDropIndicator));
158
+ }
159
+
160
+ function renderWrapper(
161
+ parent: View | null,
162
+ reusableView: View,
163
+ renderDropIndicator?: (target: ItemDropTarget) => ReactNode,
164
+ ): ReactNode {
165
+ let rendered = (
166
+ <VirtualizerItem
167
+ key={reusableView.key}
168
+ layoutInfo={reusableView.layoutInfo!}
169
+ virtualizer={reusableView.virtualizer}
170
+ parent={parent?.layoutInfo}
171
+ >
172
+ {reusableView.rendered}
173
+ </VirtualizerItem>
174
+ );
175
+
176
+ let { collection, layout } = reusableView.virtualizer;
177
+ let node = reusableView.content;
178
+ if (node?.type === 'item' && renderDropIndicator && layout.getDropTargetLayoutInfo) {
179
+ rendered = (
180
+ <React.Fragment key={reusableView.key}>
181
+ {renderDropIndicatorWrapper(
182
+ parent,
183
+ reusableView,
184
+ { type: 'item', key: reusableView.content!.key, dropPosition: 'before' },
185
+ renderDropIndicator,
186
+ )}
187
+ {rendered}
188
+ {renderAfterDropIndicators(collection, node, (target) =>
189
+ renderDropIndicatorWrapper(parent, reusableView, target, renderDropIndicator),
190
+ )}
191
+ </React.Fragment>
192
+ );
193
+ }
194
+
195
+ return rendered;
196
+ }
197
+
198
+ function renderDropIndicatorWrapper(
199
+ parent: View | null,
200
+ reusableView: View,
201
+ target: ItemDropTarget,
202
+ renderDropIndicator: (target: ItemDropTarget) => ReactNode,
203
+ ) {
204
+ let indicator = renderDropIndicator(target);
205
+ if (indicator) {
206
+ let layoutInfo = reusableView.virtualizer.layout.getDropTargetLayoutInfo!(target);
207
+ indicator = (
208
+ <VirtualizerItem
209
+ layoutInfo={layoutInfo}
210
+ virtualizer={reusableView.virtualizer}
211
+ parent={parent?.layoutInfo}
212
+ >
213
+ {indicator}
214
+ </VirtualizerItem>
215
+ );
216
+ }
217
+
218
+ return indicator;
219
+ }
@@ -1,10 +1,7 @@
1
1
  // @octanejs/aria/components — the react-aria-components surface, ported onto octane.
2
- // Exports mirror the upstream index (.react-spectrum/packages/react-aria-components/
3
- // exports/index.ts): the Phase-4 foundation (collections engine, plumbing,
4
- // non-collection components) plus the Phase-5 collection components (Autocomplete,
5
- // ListBox, Menu, Select, ComboBox, Tabs, TagGroup, GridList, Breadcrumbs, and the
6
- // inert DragAndDrop context layer). Tree/Table, date/color families, and the
7
- // drag-and-drop engine arrive in later phases — see docs/aria-migration-plan.md.
2
+ // Exports mirror the pinned react-aria-components 1.19.0 index. Octane refs remain
3
+ // ordinary props and DOM handlers receive native events, but the public component,
4
+ // hook, state, layout, and type names stay aligned with upstream.
8
5
 
9
6
  // plumbing
10
7
  export {
@@ -301,7 +298,6 @@ export type { VisuallyHiddenProps } from '../visually-hidden/VisuallyHidden';
301
298
  // 'react-aria/Focusable'` — the same component the hooks surface already
302
299
  // exports, published under both entry points.
303
300
  export { Focusable } from '../interactions/useFocusable';
304
- export type { FocusableProps } from '../interactions/useFocusable';
305
301
  export type { Placement } from '../overlays/useOverlayPosition';
306
302
  export { useFilter } from '../i18n/useFilter';
307
303
  export type { Filter } from '../i18n/useFilter';
@@ -344,6 +340,260 @@ export {
344
340
  TableColumnResizeStateContext,
345
341
  TableFooter,
346
342
  } from './Table';
343
+
344
+ // calendar and date/time
345
+ export {
346
+ Calendar,
347
+ CalendarGrid,
348
+ CalendarGridHeader,
349
+ CalendarGridBody,
350
+ CalendarHeaderCell,
351
+ CalendarCell,
352
+ RangeCalendar,
353
+ CalendarContext,
354
+ RangeCalendarContext,
355
+ CalendarStateContext,
356
+ RangeCalendarStateContext,
357
+ CalendarMonthPicker,
358
+ CalendarYearPicker,
359
+ CalendarHeading,
360
+ } from './Calendar';
361
+ export type {
362
+ CalendarCellProps,
363
+ CalendarProps,
364
+ CalendarRenderProps,
365
+ CalendarGridProps,
366
+ CalendarGridHeaderProps,
367
+ CalendarGridBodyProps,
368
+ CalendarHeaderCellProps,
369
+ CalendarCellRenderProps,
370
+ RangeCalendarProps,
371
+ RangeCalendarRenderProps,
372
+ CalendarMonthPickerProps,
373
+ CalendarYearPickerProps,
374
+ CalendarHeadingProps,
375
+ } from './Calendar';
376
+ export {
377
+ DateField,
378
+ DateInput,
379
+ DateSegment,
380
+ TimeField,
381
+ DateFieldContext,
382
+ TimeFieldContext,
383
+ DateFieldStateContext,
384
+ TimeFieldStateContext,
385
+ } from './DateField';
386
+ export type {
387
+ DateFieldProps,
388
+ DateFieldRenderProps,
389
+ DateInputProps,
390
+ DateInputRenderProps,
391
+ DateSegmentProps,
392
+ DateSegmentRenderProps,
393
+ TimeFieldProps,
394
+ } from './DateField';
395
+ export {
396
+ DatePicker,
397
+ DateRangePicker,
398
+ DatePickerContext,
399
+ DateRangePickerContext,
400
+ DatePickerStateContext,
401
+ DateRangePickerStateContext,
402
+ } from './DatePicker';
403
+ export type {
404
+ DatePickerProps,
405
+ DatePickerRenderProps,
406
+ DateRangePickerProps,
407
+ DateRangePickerRenderProps,
408
+ } from './DatePicker';
409
+
410
+ // color
411
+ export { ColorArea, ColorAreaContext, ColorAreaStateContext } from './ColorArea';
412
+ export type { ColorAreaProps, ColorAreaRenderProps } from './ColorArea';
413
+ export { ColorField, ColorFieldContext, ColorFieldStateContext } from './ColorField';
414
+ export type { ColorFieldProps, ColorFieldRenderProps } from './ColorField';
415
+ export { ColorPicker, ColorPickerContext, ColorPickerStateContext } from './ColorPicker';
416
+ export type { ColorPickerProps, ColorPickerRenderProps } from './ColorPicker';
417
+ export { ColorSlider, ColorSliderContext, ColorSliderStateContext } from './ColorSlider';
418
+ export type { ColorSliderProps, ColorSliderRenderProps } from './ColorSlider';
419
+ export { ColorSwatch, ColorSwatchContext } from './ColorSwatch';
420
+ export type { ColorSwatchProps, ColorSwatchRenderProps } from './ColorSwatch';
421
+ export {
422
+ ColorSwatchPicker,
423
+ ColorSwatchPickerItem,
424
+ ColorSwatchPickerContext,
425
+ } from './ColorSwatchPicker';
426
+ export type {
427
+ ColorSwatchPickerProps,
428
+ ColorSwatchPickerRenderProps,
429
+ ColorSwatchPickerItemProps,
430
+ ColorSwatchPickerItemRenderProps,
431
+ } from './ColorSwatchPicker';
432
+ export { ColorThumb } from './ColorThumb';
433
+ export type { ColorThumbProps, ColorThumbRenderProps } from './ColorThumb';
434
+ export {
435
+ ColorWheel,
436
+ ColorWheelContext,
437
+ ColorWheelTrack,
438
+ ColorWheelTrackContext,
439
+ ColorWheelStateContext,
440
+ } from './ColorWheel';
441
+ export type {
442
+ ColorWheelProps,
443
+ ColorWheelRenderProps,
444
+ ColorWheelTrackProps,
445
+ ColorWheelTrackRenderProps,
446
+ } from './ColorWheel';
447
+
448
+ // drag and drop, files, toasts, and virtualized layouts
449
+ export { DropZone, DropZoneContext } from './DropZone';
450
+ export type { DropZoneProps, DropZoneRenderProps } from './DropZone';
451
+ export { FileTrigger } from './FileTrigger';
452
+ export type { FileTriggerProps } from './FileTrigger';
453
+ export {
454
+ UNSTABLE_Toast,
455
+ UNSTABLE_ToastList,
456
+ UNSTABLE_ToastRegion,
457
+ UNSTABLE_ToastContent,
458
+ UNSTABLE_ToastStateContext,
459
+ } from './Toast';
460
+ export type {
461
+ ToastRegionProps,
462
+ ToastListProps,
463
+ ToastRegionRenderProps,
464
+ ToastProps,
465
+ ToastRenderProps,
466
+ } from './Toast';
467
+ export { Virtualizer } from './Virtualizer';
468
+ export type { VirtualizerProps } from './Virtualizer';
469
+ export { GridLayout } from './GridLayout';
470
+ export { TableLayout } from './TableLayout';
471
+
472
+ // upstream runtime re-exports
473
+ export { useDrag } from '../dnd/useDrag';
474
+ export { useDrop } from '../dnd/useDrop';
475
+ export {
476
+ DIRECTORY_DRAG_TYPE,
477
+ isDirectoryDropItem,
478
+ isFileDropItem,
479
+ isTextDropItem,
480
+ } from '../dnd/utils';
481
+ export { SSRProvider } from '../ssr/SSRProvider';
482
+ export { RouterProvider } from '../utils/openLink';
483
+ export { I18nProvider, useLocale } from '../i18n/I18nProvider';
484
+ export { isRTL } from '../i18n/utils';
485
+ export { Pressable } from '../interactions/Pressable';
486
+ export { FormValidationContext } from '../stately/form/useFormValidationState';
487
+ export { parseColor, getColorChannels } from '../stately/color/Color';
488
+ export { ToastQueue as UNSTABLE_ToastQueue } from '../stately/toast/useToastState';
489
+ export { useListData } from '../stately/data/useListData';
490
+ export { useTreeData } from '../stately/data/useTreeData';
491
+ export { useAsyncList } from '../stately/data/useAsyncList';
492
+ export { ListLayout } from '../stately/layout/ListLayout';
493
+ export { WaterfallLayout } from '../stately/layout/WaterfallLayout';
494
+ export { Layout } from '../stately/virtualizer/Layout';
495
+ export { LayoutInfo } from '../stately/virtualizer/LayoutInfo';
496
+ export { Size } from '../stately/virtualizer/Size';
497
+ export { Rect } from '../stately/virtualizer/Rect';
498
+ export { Point } from '../stately/virtualizer/Point';
499
+
500
+ // upstream public state and shared types
501
+ export type { DragOptions, DragResult } from '../dnd/useDrag';
502
+ export type { I18nProviderProps, Locale } from '../i18n/I18nProvider';
503
+ export type {
504
+ DateValue,
505
+ DateFieldState,
506
+ } from '../upstream-exports/react-stately/useDateFieldState';
507
+ export type {
508
+ DateRange,
509
+ DateRangePickerState,
510
+ } from '../upstream-exports/react-stately/useDateRangePickerState';
511
+ export type {
512
+ TimeValue,
513
+ TimeFieldState,
514
+ } from '../upstream-exports/react-stately/useTimeFieldState';
515
+ export type { DatePickerState } from '../stately/datepicker/useDatePickerState';
516
+ export type { CalendarState } from '../upstream-exports/react-stately/useCalendarState';
517
+ export type { RangeCalendarState } from '../upstream-exports/react-stately/useRangeCalendarState';
518
+ export type {
519
+ ColorSpace,
520
+ ColorChannel,
521
+ Color,
522
+ ColorFormat,
523
+ ColorAxes,
524
+ ColorChannelRange,
525
+ } from '../upstream-exports/react-stately/Color';
526
+ export type { ColorAreaState } from '../stately/color/useColorAreaState';
527
+ export type { ColorFieldState } from '../stately/color/useColorFieldState';
528
+ export type { ColorPickerState } from '../stately/color/useColorPickerState';
529
+ export type { ColorSliderState } from '../stately/color/useColorSliderState';
530
+ export type { ColorWheelState } from '../stately/color/useColorWheelState';
531
+ export type { QueuedToast, ToastOptions, ToastState } from '../stately/toast/useToastState';
532
+ export type { ListOptions as ListDataOptions, ListData } from '../stately/data/useListData';
533
+ export type { TreeOptions as TreeDataOptions, TreeData } from '../stately/data/useTreeData';
534
+ export type {
535
+ AsyncListOptions,
536
+ AsyncListData,
537
+ AsyncListLoadFunction,
538
+ AsyncListLoadOptions,
539
+ AsyncListStateUpdate,
540
+ } from '../stately/data/useAsyncList';
541
+ export type { ListLayoutOptions } from '../stately/layout/ListLayout';
542
+ export type { GridLayoutOptions } from '../stately/layout/GridLayout';
543
+ export type { TableLayoutProps } from '../stately/layout/TableLayout';
544
+ export type { WaterfallLayoutOptions } from '../stately/layout/WaterfallLayout';
545
+ export type { ComboBoxState } from '../stately/combobox/useComboBoxState';
546
+ export type { DisclosureState } from '../stately/disclosure/useDisclosureState';
547
+ export type { DisclosureGroupState } from '../stately/disclosure/useDisclosureGroupState';
548
+ export type { ListState } from '../stately/list/useListState';
549
+ export type { NumberFieldState } from '../stately/numberfield/useNumberFieldState';
550
+ export type { OverlayTriggerState } from '../stately/overlays/useOverlayTriggerState';
551
+ export type { RadioGroupState } from '../stately/radio/useRadioGroupState';
552
+ export type { RootMenuTriggerState } from '../stately/menu/useMenuTriggerState';
553
+ export type { SearchFieldState } from '../stately/searchfield/useSearchFieldState';
554
+ export type { SelectState } from '../stately/select/useSelectState';
555
+ export type { SliderState } from '../stately/slider/useSliderState';
556
+ export type { TableState } from '../stately/table/useTableState';
557
+ export type { TabListState } from '../stately/tabs/useTabListState';
558
+ export type { ToggleGroupState } from '../stately/toggle/useToggleGroupState';
559
+ export type { ToggleState } from '../stately/toggle/useToggleState';
560
+ export type { TooltipTriggerState } from '../stately/tooltip/useTooltipTriggerState';
561
+ export type { TreeState } from '../stately/tree/useTreeState';
562
+ export type { CheckboxGroupState } from '../stately/checkbox/useCheckboxGroupState';
563
+ export type { AutocompleteState } from '../stately/autocomplete/useAutocompleteState';
564
+ export type {
565
+ Key,
566
+ Selection,
567
+ SortDescriptor,
568
+ SortDirection,
569
+ SelectionMode,
570
+ DirectoryDropItem,
571
+ DraggableCollectionEndEvent,
572
+ DraggableCollectionMoveEvent,
573
+ DraggableCollectionStartEvent,
574
+ DragPreviewRenderer,
575
+ DragTypes,
576
+ DropItem,
577
+ DropOperation,
578
+ DroppableCollectionDropEvent,
579
+ DroppableCollectionEnterEvent,
580
+ DroppableCollectionExitEvent,
581
+ DroppableCollectionInsertDropEvent,
582
+ DroppableCollectionMoveEvent,
583
+ DroppableCollectionOnItemDropEvent,
584
+ DroppableCollectionReorderEvent,
585
+ DroppableCollectionRootDropEvent,
586
+ DropPosition,
587
+ DropTarget,
588
+ FileDropItem,
589
+ ItemDropTarget,
590
+ RootDropTarget,
591
+ TextDropItem,
592
+ PressEvent,
593
+ RangeValue,
594
+ ValidationResult,
595
+ RouterConfig,
596
+ } from '@react-types/shared';
347
597
  export type {
348
598
  TableProps,
349
599
  TableRenderProps,