@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,28 @@
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 {TableLayout as BaseTableLayout, TableLayoutProps} from '@react-stately/layout';
14
+ import {LayoutOptionsDelegate} from './Virtualizer';
15
+ import {TableColumnResizeStateContext} from './Table';
16
+ import {useContext, useMemo} from 'react';
17
+
18
+ export class TableLayout<T, O extends TableLayoutProps = TableLayoutProps> extends BaseTableLayout<T, O> implements LayoutOptionsDelegate<TableLayoutProps> {
19
+ // Invalidate the layout whenever the column widths change.
20
+ useLayoutOptions(): TableLayoutProps {
21
+ // This is not a React class component, just a regular class.
22
+ /* eslint-disable react-hooks/rules-of-hooks */
23
+ let colResizeState = useContext(TableColumnResizeStateContext);
24
+ return useMemo(() => ({
25
+ columnWidths: colResizeState?.columnWidths
26
+ }), [colResizeState?.columnWidths]);
27
+ }
28
+ }
package/src/Tabs.tsx ADDED
@@ -0,0 +1,495 @@
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
+ import {AriaLabelingProps, FocusEvents, forwardRefType, GlobalDOMAttributes, HoverEvents, Key, LinkDOMProps, PressEvents, RefObject} from '@react-types/shared';
14
+ import {AriaTabListProps, AriaTabPanelProps, mergeProps, Orientation, useFocusRing, useHover, useTab, useTabList, useTabPanel} from 'react-aria';
15
+ import {ClassNameOrFunction, ContextValue, dom, DOMRenderProps, PossibleLinkDOMRenderProps, Provider, RenderProps, SlotProps, StyleProps, StyleRenderProps, useContextProps, useRenderProps, useSlottedContext} from './utils';
16
+ import {Collection, CollectionBuilder, CollectionNode, createHideableComponent, createLeafComponent} from '@react-aria/collections';
17
+ import {CollectionProps, CollectionRendererContext, DefaultCollectionRenderer, usePersistedKeys} from './Collection';
18
+ import {filterDOMProps, inertValue, useEnterAnimation, useExitAnimation, useLayoutEffect, useObjectRef} from '@react-aria/utils';
19
+ import {Collection as ICollection, Node, TabListState, useTabListState} from 'react-stately';
20
+ import React, {createContext, ForwardedRef, forwardRef, JSX, useContext, useMemo, useRef, useState} from 'react';
21
+ import {SelectionIndicatorContext} from './SelectionIndicator';
22
+ import {SharedElementTransition} from './SharedElementTransition';
23
+
24
+ export interface TabsProps extends Omit<AriaTabListProps<any>, 'items' | 'children'>, RenderProps<TabsRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
25
+ /**
26
+ * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
27
+ * @default 'react-aria-Tabs'
28
+ */
29
+ className?: ClassNameOrFunction<TabsRenderProps>
30
+ }
31
+
32
+ export interface TabsRenderProps {
33
+ /**
34
+ * The orientation of the tabs.
35
+ * @selector [data-orientation="horizontal | vertical"]
36
+ */
37
+ orientation: Orientation
38
+ }
39
+
40
+ export interface TabListProps<T> extends StyleRenderProps<TabListRenderProps>, AriaLabelingProps, Omit<CollectionProps<T>, 'disabledKeys'>, GlobalDOMAttributes<HTMLDivElement> {
41
+ /**
42
+ * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
43
+ * @default 'react-aria-TabList'
44
+ */
45
+ className?: ClassNameOrFunction<TabListRenderProps>
46
+ }
47
+
48
+ export interface TabListRenderProps {
49
+ /**
50
+ * The orientation of the tab list.
51
+ * @selector [data-orientation="horizontal | vertical"]
52
+ */
53
+ orientation: Orientation,
54
+ /**
55
+ * State of the tab list.
56
+ */
57
+ state: TabListState<unknown>
58
+ }
59
+
60
+ export interface TabProps extends Omit<RenderProps<TabRenderProps>, 'render'>, PossibleLinkDOMRenderProps<'div', TabRenderProps>, AriaLabelingProps, LinkDOMProps, HoverEvents, FocusEvents, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
61
+ /**
62
+ * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
63
+ * @default 'react-aria-Tab'
64
+ */
65
+ className?: ClassNameOrFunction<TabRenderProps>,
66
+ /** The unique id of the tab. */
67
+ id?: Key,
68
+ /** Whether the tab is disabled. */
69
+ isDisabled?: boolean
70
+ }
71
+
72
+ export interface TabRenderProps {
73
+ /**
74
+ * Whether the tab is currently hovered with a mouse.
75
+ * @selector [data-hovered]
76
+ */
77
+ isHovered: boolean,
78
+ /**
79
+ * Whether the tab is currently in a pressed state.
80
+ * @selector [data-pressed]
81
+ */
82
+ isPressed: boolean,
83
+ /**
84
+ * Whether the tab is currently selected.
85
+ * @selector [data-selected]
86
+ */
87
+ isSelected: boolean,
88
+ /**
89
+ * Whether the tab is currently focused.
90
+ * @selector [data-focused]
91
+ */
92
+ isFocused: boolean,
93
+ /**
94
+ * Whether the tab is currently keyboard focused.
95
+ * @selector [data-focus-visible]
96
+ */
97
+ isFocusVisible: boolean,
98
+ /**
99
+ * Whether the tab is disabled.
100
+ * @selector [data-disabled]
101
+ */
102
+ isDisabled: boolean
103
+ }
104
+
105
+ export interface TabPanelProps extends AriaTabPanelProps, RenderProps<TabPanelRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
106
+ /**
107
+ * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
108
+ * @default 'react-aria-TabPanel'
109
+ */
110
+ className?: ClassNameOrFunction<TabPanelRenderProps>,
111
+ /**
112
+ * Whether to mount the tab panel in the DOM even when it is not currently selected.
113
+ * Inactive tab panels are inert and cannot be interacted with. They must be styled appropriately so this is clear to the user visually.
114
+ * @default false
115
+ */
116
+ shouldForceMount?: boolean
117
+ }
118
+
119
+ export interface TabPanelRenderProps {
120
+ /**
121
+ * Whether the tab panel is currently focused.
122
+ * @selector [data-focused]
123
+ */
124
+ isFocused: boolean,
125
+ /**
126
+ * Whether the tab panel is currently keyboard focused.
127
+ * @selector [data-focus-visible]
128
+ */
129
+ isFocusVisible: boolean,
130
+ /**
131
+ * Whether the tab panel is currently non-interactive. This occurs when the
132
+ * `shouldForceMount` prop is true, and the corresponding tab is not selected.
133
+ * @selector [data-inert]
134
+ */
135
+ isInert: boolean,
136
+ /**
137
+ * Whether the tab panel is currently entering. Use this to apply animations.
138
+ * @selector [data-entering]
139
+ */
140
+ isEntering: boolean,
141
+ /**
142
+ * Whether the tab panel is currently exiting. Use this to apply animations.
143
+ * @selector [data-exiting]
144
+ */
145
+ isExiting: boolean,
146
+ /**
147
+ * State of the tab list.
148
+ */
149
+ state: TabListState<unknown>
150
+ }
151
+
152
+ export const TabsContext = createContext<ContextValue<TabsProps, HTMLDivElement>>(null);
153
+ export const TabListStateContext = createContext<TabListState<object> | null>(null);
154
+
155
+ /**
156
+ * Tabs organize content into multiple sections and allow users to navigate between them.
157
+ */
158
+ export const Tabs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Tabs(props: TabsProps, ref: ForwardedRef<HTMLDivElement>) {
159
+ [props, ref] = useContextProps(props, ref, TabsContext);
160
+ let {children, orientation = 'horizontal'} = props;
161
+ children = useMemo(() => (
162
+ typeof children === 'function'
163
+ ? children({orientation, defaultChildren: null})
164
+ : children
165
+ ), [children, orientation]);
166
+
167
+ return (
168
+ <CollectionBuilder content={children}>
169
+ {collection => <TabsInner props={props} collection={collection} tabsRef={ref} />}
170
+ </CollectionBuilder>
171
+ );
172
+ });
173
+
174
+ interface TabsInnerProps {
175
+ props: TabsProps,
176
+ collection: ICollection<Node<any>>,
177
+ tabsRef: RefObject<HTMLDivElement | null>
178
+ }
179
+
180
+ function TabsInner({props, tabsRef: ref, collection}: TabsInnerProps) {
181
+ let {orientation = 'horizontal'} = props;
182
+ let state = useTabListState({
183
+ ...props,
184
+ collection,
185
+ children: undefined
186
+ });
187
+ let {focusProps, isFocused, isFocusVisible} = useFocusRing({within: true});
188
+ let values = useMemo(() => ({
189
+ orientation,
190
+ isFocusWithin: isFocused,
191
+ isFocusVisible
192
+ }), [orientation, isFocused, isFocusVisible]);
193
+ let renderProps = useRenderProps({
194
+ ...props,
195
+ defaultClassName: 'react-aria-Tabs',
196
+ values
197
+ });
198
+
199
+ let DOMProps = filterDOMProps(props, {global: true});
200
+
201
+ return (
202
+ <dom.div
203
+ {...mergeProps(DOMProps, renderProps, focusProps)}
204
+ ref={ref}
205
+ slot={props.slot || undefined}
206
+ data-focused={isFocused || undefined}
207
+ data-orientation={orientation}
208
+ data-focus-visible={isFocusVisible || undefined}
209
+ data-disabled={state.isDisabled || undefined}>
210
+ <Provider
211
+ values={[
212
+ [TabsContext, props],
213
+ [TabListStateContext, state]
214
+ ]}>
215
+ {renderProps.children}
216
+ </Provider>
217
+ </dom.div>
218
+ );
219
+ }
220
+
221
+ /**
222
+ * A TabList is used within Tabs to group tabs that a user can switch between.
223
+ * The ids of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.
224
+ */
225
+ export const TabList = /*#__PURE__*/ (forwardRef as forwardRefType)(function TabList<T extends object>(props: TabListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
226
+ let state = useContext(TabListStateContext);
227
+ return state
228
+ ? <TabListInner props={props} forwardedRef={ref} />
229
+ : <Collection {...props} />;
230
+ });
231
+
232
+ interface TabListInnerProps<T> {
233
+ props: TabListProps<T>,
234
+ forwardedRef: ForwardedRef<HTMLDivElement>
235
+ }
236
+
237
+ function TabListInner<T extends object>({props, forwardedRef: ref}: TabListInnerProps<T>) {
238
+ let state = useContext(TabListStateContext)!;
239
+ let {CollectionRoot} = useContext(CollectionRendererContext);
240
+ let {orientation = 'horizontal', keyboardActivation = 'automatic'} = useSlottedContext(TabsContext)!;
241
+ let objectRef = useObjectRef(ref);
242
+
243
+ let {tabListProps} = useTabList({
244
+ ...props,
245
+ orientation,
246
+ keyboardActivation
247
+ }, state, objectRef);
248
+
249
+ let renderProps = useRenderProps({
250
+ ...props,
251
+ children: null,
252
+ defaultClassName: 'react-aria-TabList',
253
+ values: {
254
+ orientation,
255
+ state
256
+ }
257
+ });
258
+
259
+ let DOMProps = filterDOMProps(props, {global: true});
260
+ delete DOMProps.id;
261
+
262
+ return (
263
+ <dom.div
264
+ {...mergeProps(DOMProps, renderProps, tabListProps)}
265
+ ref={objectRef}
266
+ data-orientation={orientation || undefined}>
267
+ <SharedElementTransition>
268
+ <CollectionRoot collection={state.collection} persistedKeys={usePersistedKeys(state.selectionManager.focusedKey)} />
269
+ </SharedElementTransition>
270
+ </dom.div>
271
+ );
272
+ }
273
+
274
+ class TabItemNode extends CollectionNode<unknown> {
275
+ static readonly type = 'item';
276
+ }
277
+
278
+ /**
279
+ * A Tab provides a title for an individual item within a TabList.
280
+ */
281
+ export const Tab = /*#__PURE__*/ createLeafComponent(TabItemNode, (props: TabProps, forwardedRef: ForwardedRef<HTMLDivElement>, item: Node<unknown>) => {
282
+ let state = useContext(TabListStateContext)!;
283
+ let ref = useObjectRef<any>(forwardedRef);
284
+ let {tabProps, isSelected, isDisabled, isPressed} = useTab({key: item.key, ...props}, state, ref);
285
+ let {focusProps, isFocused, isFocusVisible} = useFocusRing();
286
+ let {hoverProps, isHovered} = useHover({
287
+ isDisabled,
288
+ onHoverStart: props.onHoverStart,
289
+ onHoverEnd: props.onHoverEnd,
290
+ onHoverChange: props.onHoverChange
291
+ });
292
+
293
+ let renderProps = useRenderProps<TabRenderProps, any>({
294
+ ...props,
295
+ id: undefined,
296
+ children: item.rendered,
297
+ defaultClassName: 'react-aria-Tab',
298
+ values: {
299
+ isSelected,
300
+ isDisabled,
301
+ isFocused,
302
+ isFocusVisible,
303
+ isPressed,
304
+ isHovered
305
+ }
306
+ });
307
+
308
+ let ElementType = item.props.href ? dom.a : dom.div;
309
+ let DOMProps = filterDOMProps(props as any, {global: true});
310
+ delete DOMProps.id;
311
+ delete DOMProps.onClick;
312
+
313
+ return (
314
+ <ElementType
315
+ {...mergeProps(DOMProps, renderProps, tabProps, focusProps, hoverProps)}
316
+ ref={ref}
317
+ data-selected={isSelected || undefined}
318
+ data-disabled={isDisabled || undefined}
319
+ data-focused={isFocused || undefined}
320
+ data-focus-visible={isFocusVisible || undefined}
321
+ data-pressed={isPressed || undefined}
322
+ data-hovered={isHovered || undefined}>
323
+ <SelectionIndicatorContext.Provider value={{isSelected}}>
324
+ {renderProps.children}
325
+ </SelectionIndicatorContext.Provider>
326
+ </ElementType>
327
+ );
328
+ });
329
+
330
+ export interface TabPanelsProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleProps, DOMRenderProps<'div', undefined>, GlobalDOMAttributes<HTMLDivElement> {
331
+ /**
332
+ * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element.
333
+ * @default 'react-aria-TabPanels'
334
+ */
335
+ className?: string
336
+ }
337
+
338
+ /**
339
+ * Groups multiple `<TabPanel>` elements, and provides CSS variables for animated transitions.
340
+ */
341
+ export const TabPanels = /*#__PURE__*/ createHideableComponent(function TabPanels<T extends object>(props: TabPanelsProps<T>, forwardedRef: ForwardedRef<HTMLDivElement>) {
342
+ let state = useContext(TabListStateContext)!;
343
+ let ref = useObjectRef(forwardedRef);
344
+
345
+ let selectedKeyRef = useRef(state.selectedKey);
346
+ let prevSize = useRef<DOMRect | null>(null);
347
+ let hasTransition = useRef<boolean | null>(null);
348
+ useLayoutEffect(() => {
349
+ let el = ref.current;
350
+ if (!el) {
351
+ return;
352
+ }
353
+
354
+ if (hasTransition.current == null) {
355
+ hasTransition.current = /width|height|all/.test(window.getComputedStyle(el).transition);
356
+ }
357
+
358
+ if (hasTransition.current && selectedKeyRef.current != null && selectedKeyRef.current !== state.selectedKey) {
359
+ // Measure auto size.
360
+ el.style.setProperty('--tab-panel-width', 'auto');
361
+ el.style.setProperty('--tab-panel-height', 'auto');
362
+ let {width, height} = el.getBoundingClientRect();
363
+
364
+ if (prevSize.current && (prevSize.current.width !== width || prevSize.current.height !== height)) {
365
+ // Revert to previous size.
366
+ el.style.setProperty('--tab-panel-width', prevSize.current.width + 'px');
367
+ el.style.setProperty('--tab-panel-height', prevSize.current.height + 'px');
368
+
369
+ // Force style re-calculation to trigger animations.
370
+ window.getComputedStyle(el).height;
371
+
372
+ // Animate to current pixel size.
373
+ el.style.setProperty('--tab-panel-width', width + 'px');
374
+ el.style.setProperty('--tab-panel-height', height + 'px');
375
+
376
+ // When animations complete, revert back to auto size.
377
+ Promise.all(el.getAnimations().map(a => a.finished))
378
+ .then(() => {
379
+ el.style.setProperty('--tab-panel-width', 'auto');
380
+ el.style.setProperty('--tab-panel-height', 'auto');
381
+ })
382
+ .catch(() => {});
383
+ }
384
+ }
385
+
386
+ selectedKeyRef.current = state.selectedKey;
387
+ }, [ref, state.selectedKey]);
388
+
389
+ // Store previous size before DOM updates occur.
390
+ // This breaks the rules of hooks because there is no effect that runs _before_ DOM updates.
391
+ // eslint-disable-next-line rulesdir/pure-render
392
+ if (state.selectedKey != null && state.selectedKey !== selectedKeyRef.current && ref.current && hasTransition.current) {
393
+ // eslint-disable-next-line rulesdir/pure-render
394
+ prevSize.current = ref.current.getBoundingClientRect();
395
+ }
396
+
397
+ let DOMProps = filterDOMProps(props, {labelable: true, global: true});
398
+ delete DOMProps.id;
399
+
400
+ return (
401
+ <dom.div
402
+ render={props.render}
403
+ {...DOMProps}
404
+ ref={ref}
405
+ style={props.style}
406
+ className={props.className || 'react-aria-TabPanels'}>
407
+ <Collection {...props} />
408
+ </dom.div>
409
+ );
410
+ });
411
+
412
+ /**
413
+ * A TabPanel provides the content for a tab.
414
+ */
415
+ export const TabPanel = /*#__PURE__*/ createHideableComponent(function TabPanel(props: TabPanelProps, forwardedRef: ForwardedRef<HTMLDivElement>) {
416
+ const state = useContext(TabListStateContext)!;
417
+ let ref = useObjectRef<HTMLDivElement>(forwardedRef);
418
+
419
+ // Track if the tab panel was initially selected on mount (after extra render to populate the collection).
420
+ // In this case, we don't want to trigger animations.
421
+ let isSelected = state.selectedKey === props.id;
422
+ let [isInitiallySelected, setInitiallySelected] = useState<boolean | null>(state.selectedKey != null ? isSelected : null);
423
+ if (isInitiallySelected == null && state.selectedKey != null) {
424
+ setInitiallySelected(isSelected);
425
+ } else if (!isSelected && isInitiallySelected) {
426
+ setInitiallySelected(false);
427
+ }
428
+
429
+ let isExiting = useExitAnimation(ref, isSelected);
430
+ if (!isSelected && !props.shouldForceMount && !isExiting) {
431
+ return null;
432
+ }
433
+
434
+ return (
435
+ <TabPanelInner
436
+ {...props}
437
+ tabPanelRef={ref}
438
+ isInitiallySelected={isInitiallySelected || false}
439
+ isExiting={isExiting} />
440
+ );
441
+ });
442
+
443
+ function TabPanelInner(props: TabPanelProps & {tabPanelRef: RefObject<HTMLDivElement | null>, isInitiallySelected: boolean, isExiting: boolean}) {
444
+ let state = useContext(TabListStateContext)!;
445
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
446
+ let {id, tabPanelRef: ref, isInitiallySelected, isExiting, ...otherProps} = props;
447
+ let {tabPanelProps} = useTabPanel(props, state, ref);
448
+ let {focusProps, isFocused, isFocusVisible} = useFocusRing();
449
+
450
+ let isSelected = state.selectedKey === props.id;
451
+ let isEntering = useEnterAnimation(ref) && !isInitiallySelected;
452
+ let renderProps = useRenderProps({
453
+ ...props,
454
+ defaultClassName: 'react-aria-TabPanel',
455
+ values: {
456
+ isFocused,
457
+ isFocusVisible,
458
+ // @ts-ignore - compatibility with React < 19
459
+ isInert: inertValue(!isSelected),
460
+ isEntering,
461
+ isExiting,
462
+ state
463
+ }
464
+ });
465
+
466
+ let DOMProps = filterDOMProps(otherProps, {global: true});
467
+ delete DOMProps.id;
468
+
469
+ let domProps = isSelected
470
+ ? mergeProps(DOMProps, tabPanelProps, focusProps, renderProps)
471
+ : mergeProps(DOMProps, renderProps);
472
+
473
+ return (
474
+ <dom.div
475
+ {...domProps}
476
+ ref={ref}
477
+ data-focused={isFocused || undefined}
478
+ data-focus-visible={isFocusVisible || undefined}
479
+ // @ts-ignore
480
+ inert={inertValue(!isSelected || props.inert)}
481
+ data-inert={!isSelected ? 'true' : undefined}
482
+ data-entering={isEntering || undefined}
483
+ data-exiting={isExiting || undefined}>
484
+ <Provider
485
+ values={[
486
+ [TabsContext, null],
487
+ [TabListStateContext, null]
488
+ ]}>
489
+ <CollectionRendererContext.Provider value={DefaultCollectionRenderer}>
490
+ {renderProps.children}
491
+ </CollectionRendererContext.Provider>
492
+ </Provider>
493
+ </dom.div>
494
+ );
495
+ }