@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,310 @@
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 {AriaTagGroupProps, useFocusRing, useHover, useTag, useTagGroup} from 'react-aria';
14
+ import {ButtonContext} from './Button';
15
+ import {
16
+ ClassNameOrFunction,
17
+ ContextValue,
18
+ dom,
19
+ DOMProps,
20
+ DOMRenderProps,
21
+ Provider,
22
+ RenderProps,
23
+ SlotProps,
24
+ StyleRenderProps,
25
+ useContextProps,
26
+ useRenderProps,
27
+ useSlot
28
+ } from './utils';
29
+ import {Collection, CollectionBuilder, createLeafComponent, ItemNode} from '@react-aria/collections';
30
+ import {CollectionProps, CollectionRendererContext, DefaultCollectionRenderer, ItemRenderProps, usePersistedKeys} from './Collection';
31
+ import {filterDOMProps, mergeProps, useObjectRef} from '@react-aria/utils';
32
+ import {FocusEvents, forwardRefType, GlobalDOMAttributes, HoverEvents, Key, LinkDOMProps, PressEvents, RefObject} from '@react-types/shared';
33
+ import {LabelContext} from './Label';
34
+ import {ListState, Node, UNSTABLE_useFilteredListState, useListState} from 'react-stately';
35
+ import {ListStateContext} from './ListBox';
36
+ import React, {createContext, ForwardedRef, forwardRef, JSX, ReactNode, useContext, useEffect, useRef} from 'react';
37
+ import {SelectableCollectionContext, SelectableCollectionContextValue} from './RSPContexts';
38
+ import {SelectionIndicatorContext} from './SelectionIndicator';
39
+ import {SharedElementTransition} from './SharedElementTransition';
40
+ import {TextContext} from './Text';
41
+
42
+ export interface TagGroupProps extends Omit<AriaTagGroupProps<unknown>, 'children' | 'items' | 'label' | 'description' | 'errorMessage' | 'keyboardDelegate'>, DOMProps, SlotProps, DOMRenderProps<'div', undefined>, GlobalDOMAttributes<HTMLDivElement> {
43
+ /**
44
+ * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element.
45
+ * @default 'react-aria-TagGroup'
46
+ */
47
+ className?: string
48
+ }
49
+
50
+ export interface TagListRenderProps {
51
+ /**
52
+ * Whether the tag list has no items and should display its empty state.
53
+ * @selector [data-empty]
54
+ */
55
+ isEmpty: boolean,
56
+ /**
57
+ * Whether the tag list is currently focused.
58
+ * @selector [data-focused]
59
+ */
60
+ isFocused: boolean,
61
+ /**
62
+ * Whether the tag list is currently keyboard focused.
63
+ * @selector [data-focus-visible]
64
+ */
65
+ isFocusVisible: boolean,
66
+ /**
67
+ * State of the TagGroup.
68
+ */
69
+ state: ListState<unknown>
70
+ }
71
+
72
+ export interface TagListProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleRenderProps<TagListRenderProps, 'div'>, GlobalDOMAttributes<HTMLDivElement> {
73
+ /**
74
+ * 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.
75
+ * @default 'react-aria-TagList'
76
+ */
77
+ className?: ClassNameOrFunction<TagListRenderProps>,
78
+ /** Provides content to display when there are no items in the tag list. */
79
+ renderEmptyState?: (props: TagListRenderProps) => ReactNode
80
+ }
81
+
82
+ export const TagGroupContext = createContext<ContextValue<TagGroupProps, HTMLDivElement>>(null);
83
+ export const TagListContext = createContext<ContextValue<TagListProps<any>, HTMLDivElement>>(null);
84
+
85
+ /**
86
+ * A tag group is a focusable list of labels, categories, keywords, filters, or other items, with support for keyboard navigation, selection, and removal.
87
+ */
88
+ export const TagGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagGroup(props: TagGroupProps, ref: ForwardedRef<HTMLDivElement>) {
89
+ [props, ref] = useContextProps(props, ref, TagGroupContext);
90
+ return (
91
+ <ListStateContext.Provider value={null}>
92
+ <CollectionBuilder content={props.children}>
93
+ {collection => <TagGroupInner props={props} forwardedRef={ref} collection={collection} />}
94
+ </CollectionBuilder>
95
+ </ListStateContext.Provider>
96
+ );
97
+ });
98
+
99
+ interface TagGroupInnerProps<T> {
100
+ props: TagGroupProps & SelectableCollectionContextValue<T>,
101
+ forwardedRef: ForwardedRef<HTMLDivElement>,
102
+ collection: any
103
+ }
104
+
105
+ function TagGroupInner<T extends object>({props, forwardedRef: ref, collection}: TagGroupInnerProps<T>) {
106
+ let tagListRef = useRef<HTMLElement>(null);
107
+ // Extract the user provided id so it doesn't clash with the collection id provided by Autocomplete
108
+ let {id, ...otherProps} = props;
109
+ [otherProps, tagListRef] = useContextProps(otherProps, tagListRef, SelectableCollectionContext);
110
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
111
+ let {filter, shouldUseVirtualFocus, ...DOMCollectionProps} = otherProps;
112
+ let [labelRef, label] = useSlot(
113
+ !props['aria-label'] && !props['aria-labelledby']
114
+ );
115
+ let tagGroupState = useListState({
116
+ ...DOMCollectionProps,
117
+ children: undefined,
118
+ collection
119
+ });
120
+
121
+ let filteredState = UNSTABLE_useFilteredListState(tagGroupState as ListState<T>, filter);
122
+
123
+ // Prevent DOM props from going to two places.
124
+ let domProps = filterDOMProps(otherProps, {global: true});
125
+ let domPropOverrides = Object.fromEntries(Object.entries(domProps).map(([k, val]) => [k, k === 'id' ? val : undefined]));
126
+ let {
127
+ gridProps,
128
+ labelProps,
129
+ descriptionProps,
130
+ errorMessageProps
131
+ } = useTagGroup({
132
+ ...DOMCollectionProps,
133
+ ...domPropOverrides,
134
+ label
135
+ }, filteredState, tagListRef);
136
+
137
+ return (
138
+ <dom.div
139
+ render={props.render}
140
+ {...domProps}
141
+ id={id}
142
+ ref={ref}
143
+ slot={props.slot || undefined}
144
+ className={props.className ?? 'react-aria-TagGroup'}
145
+ style={props.style}>
146
+ <Provider
147
+ values={[
148
+ [LabelContext, {...labelProps, elementType: 'span', ref: labelRef}],
149
+ [TagListContext, {...gridProps, ref: tagListRef as RefObject<HTMLDivElement>}],
150
+ [ListStateContext, filteredState],
151
+ [TextContext, {
152
+ slots: {
153
+ description: descriptionProps,
154
+ errorMessage: errorMessageProps
155
+ }
156
+ }]
157
+ ]}>
158
+ {props.children}
159
+ </Provider>
160
+ </dom.div>
161
+ );
162
+ }
163
+
164
+ /**
165
+ * A tag list is a container for tags within a TagGroup.
166
+ */
167
+ export const TagList = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagList<T extends object>(props: TagListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
168
+ let state = useContext(ListStateContext);
169
+ return state
170
+ ? <TagListInner props={props} forwardedRef={ref} />
171
+ : <Collection {...props} />;
172
+ });
173
+
174
+ interface TagListInnerProps<T> {
175
+ props: TagListProps<T>,
176
+ forwardedRef: ForwardedRef<HTMLDivElement>
177
+ }
178
+
179
+ function TagListInner<T extends object>({props, forwardedRef}: TagListInnerProps<T>) {
180
+ let state = useContext(ListStateContext)!;
181
+ let {CollectionRoot} = useContext(CollectionRendererContext);
182
+ let [gridProps, ref] = useContextProps({}, forwardedRef, TagListContext);
183
+
184
+ let {focusProps, isFocused, isFocusVisible} = useFocusRing();
185
+ let renderValues = {
186
+ isEmpty: state.collection.size === 0,
187
+ isFocused,
188
+ isFocusVisible,
189
+ state
190
+ };
191
+ let renderProps = useRenderProps({
192
+ ...props,
193
+ children: undefined,
194
+ defaultClassName: 'react-aria-TagList',
195
+ values: renderValues
196
+ });
197
+
198
+ let persistedKeys = usePersistedKeys(state.selectionManager.focusedKey);
199
+ let DOMProps = filterDOMProps(props, {global: true});
200
+
201
+ return (
202
+ <dom.div
203
+ {...mergeProps(DOMProps, renderProps, gridProps, focusProps)}
204
+ ref={ref}
205
+ data-empty={state.collection.size === 0 || undefined}
206
+ data-focused={isFocused || undefined}
207
+ data-focus-visible={isFocusVisible || undefined}>
208
+ <SharedElementTransition>
209
+ {state.collection.size === 0 && props.renderEmptyState
210
+ ? props.renderEmptyState(renderValues)
211
+ : <CollectionRoot collection={state.collection} persistedKeys={persistedKeys} />}
212
+ </SharedElementTransition>
213
+ </dom.div>
214
+ );
215
+ }
216
+
217
+ export interface TagRenderProps extends Omit<ItemRenderProps, 'allowsDragging' | 'isDragging' | 'isDropTarget'> {
218
+ /**
219
+ * Whether the tag group allows items to be removed.
220
+ * @selector [data-allows-removing]
221
+ */
222
+ allowsRemoving: boolean
223
+ }
224
+
225
+ export interface TagProps extends RenderProps<TagRenderProps, 'div'>, LinkDOMProps, HoverEvents, FocusEvents, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
226
+ /**
227
+ * 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.
228
+ * @default 'react-aria-Tag'
229
+ */
230
+ className?: ClassNameOrFunction<TagRenderProps>,
231
+ /** A unique id for the tag. */
232
+ id?: Key,
233
+ /**
234
+ * A string representation of the tags's contents, used for accessibility.
235
+ * Required if children is not a plain text string.
236
+ */
237
+ textValue?: string,
238
+ /** Whether the tag is disabled. */
239
+ isDisabled?: boolean
240
+ }
241
+
242
+ /**
243
+ * A Tag is an individual item within a TagList.
244
+ */
245
+ export const Tag = /*#__PURE__*/ createLeafComponent(ItemNode, (props: TagProps, forwardedRef: ForwardedRef<HTMLDivElement>, item: Node<unknown>) => {
246
+ let state = useContext(ListStateContext)!;
247
+ let ref = useObjectRef<HTMLDivElement>(forwardedRef);
248
+ let {focusProps, isFocusVisible} = useFocusRing({within: false});
249
+ let {rowProps, gridCellProps, removeButtonProps, ...states} = useTag({item}, state, ref);
250
+
251
+ let {hoverProps, isHovered} = useHover({
252
+ isDisabled: !states.allowsSelection,
253
+ onHoverStart: item.props.onHoverStart,
254
+ onHoverChange: item.props.onHoverChange,
255
+ onHoverEnd: item.props.onHoverEnd
256
+ });
257
+
258
+ let renderProps = useRenderProps({
259
+ ...props,
260
+ id: undefined,
261
+ children: item.rendered,
262
+ defaultClassName: 'react-aria-Tag',
263
+ values: {
264
+ ...states,
265
+ isFocusVisible,
266
+ isHovered,
267
+ selectionMode: state.selectionManager.selectionMode,
268
+ selectionBehavior: state.selectionManager.selectionBehavior
269
+ }
270
+ });
271
+
272
+ useEffect(() => {
273
+ if (!item.textValue && process.env.NODE_ENV !== 'production') {
274
+ console.warn('A `textValue` prop is required for <Tag> elements with non-plain text children for accessibility.');
275
+ }
276
+ }, [item.textValue]);
277
+
278
+ let DOMProps = filterDOMProps(props as any, {global: true});
279
+ delete DOMProps.id;
280
+ delete DOMProps.onClick;
281
+
282
+ return (
283
+ <dom.div
284
+ ref={ref}
285
+ {...mergeProps(DOMProps, renderProps, rowProps, focusProps, hoverProps)}
286
+ data-selected={states.isSelected || undefined}
287
+ data-disabled={states.isDisabled || undefined}
288
+ data-hovered={isHovered || undefined}
289
+ data-focused={states.isFocused || undefined}
290
+ data-focus-visible={isFocusVisible || undefined}
291
+ data-pressed={states.isPressed || undefined}
292
+ data-allows-removing={states.allowsRemoving || undefined}
293
+ data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>
294
+ <div {...gridCellProps} style={{display: 'contents'}}>
295
+ <Provider
296
+ values={[
297
+ [ButtonContext, {
298
+ slots: {
299
+ remove: removeButtonProps
300
+ }
301
+ }],
302
+ [CollectionRendererContext, DefaultCollectionRenderer],
303
+ [SelectionIndicatorContext, {isSelected: states.isSelected}]
304
+ ]}>
305
+ {renderProps.children}
306
+ </Provider>
307
+ </div>
308
+ </dom.div>
309
+ );
310
+ });
package/src/Text.tsx ADDED
@@ -0,0 +1,28 @@
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 {ContextValue, dom, DOMRenderProps, useContextProps} from './utils';
14
+ import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';
15
+
16
+ export interface TextProps extends HTMLAttributes<HTMLElement>, DOMRenderProps<any, any> {
17
+ elementType?: string
18
+ }
19
+
20
+ export const TextContext = createContext<ContextValue<TextProps, HTMLElement>>({});
21
+
22
+ export const Text = forwardRef(function Text(props: TextProps, ref: ForwardedRef<HTMLElement>) {
23
+ [props, ref] = useContextProps(props, ref, TextContext);
24
+ let {elementType = 'span', ...domProps} = props;
25
+ let ElementType = dom[elementType];
26
+ // @ts-ignore
27
+ return <ElementType className="react-aria-Text" {...domProps} ref={ref} />;
28
+ });
@@ -0,0 +1,65 @@
1
+ import {
2
+ ClassNameOrFunction,
3
+ ContextValue,
4
+ dom,
5
+ StyleRenderProps,
6
+ useContextProps,
7
+ useRenderProps
8
+ } from './utils';
9
+ import {HoverEvents, mergeProps, useFocusRing, useHover} from 'react-aria';
10
+ import {InputRenderProps} from './Input';
11
+ import React, {createContext, ForwardedRef, forwardRef, TextareaHTMLAttributes} from 'react';
12
+
13
+ export interface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'className' | 'style'>, HoverEvents, StyleRenderProps<InputRenderProps, 'textarea'> {
14
+ /**
15
+ * 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.
16
+ * @default 'react-aria-TextArea'
17
+ */
18
+ className?: ClassNameOrFunction<InputRenderProps>
19
+ }
20
+
21
+ export const TextAreaContext = createContext<ContextValue<TextAreaProps, HTMLTextAreaElement>>({});
22
+
23
+ let filterHoverProps = (props: TextAreaProps): TextAreaProps => {
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ let {onHoverStart, onHoverChange, onHoverEnd, ...otherProps} = props;
26
+ return otherProps;
27
+ };
28
+
29
+ /**
30
+ * A textarea allows a user to input mult-line text.
31
+ */
32
+ export const TextArea = forwardRef(function TextArea(props: TextAreaProps, ref: ForwardedRef<HTMLTextAreaElement>) {
33
+ [props, ref] = useContextProps(props, ref, TextAreaContext);
34
+
35
+ let {hoverProps, isHovered} = useHover(props);
36
+ let {isFocused, isFocusVisible, focusProps} = useFocusRing({
37
+ isTextInput: true,
38
+ autoFocus: props.autoFocus
39
+ });
40
+
41
+ let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
42
+ let renderProps = useRenderProps({
43
+ ...props,
44
+ values: {
45
+ isHovered,
46
+ isFocused,
47
+ isFocusVisible,
48
+ isDisabled: props.disabled || false,
49
+ isInvalid
50
+ },
51
+ defaultClassName: 'react-aria-TextArea'
52
+ });
53
+
54
+ return (
55
+ <dom.textarea
56
+ {...mergeProps(filterHoverProps(props), focusProps, hoverProps)}
57
+ {...renderProps}
58
+ ref={ref}
59
+ data-focused={isFocused || undefined}
60
+ data-disabled={props.disabled || undefined}
61
+ data-hovered={isHovered || undefined}
62
+ data-focus-visible={isFocusVisible || undefined}
63
+ data-invalid={isInvalid || undefined} />
64
+ );
65
+ });
@@ -0,0 +1,148 @@
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 {AriaTextFieldProps, useTextField} from 'react-aria';
14
+ import {
15
+ ClassNameOrFunction,
16
+ ContextValue,
17
+ dom,
18
+ DOMProps,
19
+ Provider,
20
+ RACValidation,
21
+ removeDataAttributes,
22
+ RenderProps,
23
+ SlotProps,
24
+ useContextProps,
25
+ useRenderProps,
26
+ useSlot,
27
+ useSlottedContext
28
+ } from './utils';
29
+ import {createHideableComponent} from '@react-aria/collections';
30
+ import {FieldErrorContext} from './FieldError';
31
+ import {FieldInputContext} from './RSPContexts';
32
+ import {filterDOMProps} from '@react-aria/utils';
33
+ import {FormContext} from './Form';
34
+ import {GlobalDOMAttributes} from '@react-types/shared';
35
+ import {GroupContext} from './Group';
36
+ import {InputContext} from './Input';
37
+ import {LabelContext} from './Label';
38
+ import React, {createContext, ForwardedRef, useCallback, useRef, useState} from 'react';
39
+ import {TextAreaContext} from './TextArea';
40
+ import {TextContext} from './Text';
41
+
42
+ export interface TextFieldRenderProps {
43
+ /**
44
+ * Whether the text field is disabled.
45
+ * @selector [data-disabled]
46
+ */
47
+ isDisabled: boolean,
48
+ /**
49
+ * Whether the value is invalid.
50
+ * @selector [data-invalid]
51
+ */
52
+ isInvalid: boolean,
53
+ /**
54
+ * Whether the text field is read only.
55
+ * @selector [data-readonly]
56
+ */
57
+ isReadOnly: boolean,
58
+ /**
59
+ * Whether the text field is required.
60
+ * @selector [data-required]
61
+ */
62
+ isRequired: boolean
63
+ }
64
+
65
+ export interface TextFieldProps extends Omit<AriaTextFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, Omit<DOMProps, 'style' | 'className' | 'render' | 'children'>, SlotProps, RenderProps<TextFieldRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
66
+ /**
67
+ * 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.
68
+ * @default 'react-aria-TextField'
69
+ */
70
+ className?: ClassNameOrFunction<TextFieldRenderProps>,
71
+ /** Whether the value is invalid. */
72
+ isInvalid?: boolean
73
+ }
74
+
75
+ export const TextFieldContext = createContext<ContextValue<TextFieldProps, HTMLDivElement>>(null);
76
+
77
+ /**
78
+ * A text field allows a user to enter a plain text value with a keyboard.
79
+ */
80
+ export const TextField = /*#__PURE__*/ createHideableComponent(function TextField(props: TextFieldProps, ref: ForwardedRef<HTMLDivElement>) {
81
+ [props, ref] = useContextProps(props, ref, TextFieldContext);
82
+ let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
83
+ let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
84
+ let inputRef = useRef<HTMLInputElement>(null);
85
+ [props, inputRef as unknown] = useContextProps(props, inputRef, FieldInputContext);
86
+ let [labelRef, label] = useSlot(
87
+ !props['aria-label'] && !props['aria-labelledby']
88
+ );
89
+ let [inputElementType, setInputElementType] = useState('input');
90
+ let {labelProps, inputProps, descriptionProps, errorMessageProps, ...validation} = useTextField<any>({
91
+ ...removeDataAttributes(props),
92
+ inputElementType,
93
+ label,
94
+ validationBehavior
95
+ }, inputRef);
96
+
97
+ // Intercept setting the input ref so we can determine what kind of element we have.
98
+ // useTextField uses this to determine what props to include.
99
+ let inputOrTextAreaRef = useCallback((el) => {
100
+ inputRef.current = el;
101
+ if (el) {
102
+ setInputElementType(el instanceof HTMLTextAreaElement ? 'textarea' : 'input');
103
+ }
104
+ }, [inputRef]);
105
+
106
+ let renderProps = useRenderProps({
107
+ ...props,
108
+ values: {
109
+ isDisabled: props.isDisabled || false,
110
+ isInvalid: validation.isInvalid,
111
+ isReadOnly: props.isReadOnly || false,
112
+ isRequired: props.isRequired || false
113
+ },
114
+ defaultClassName: 'react-aria-TextField'
115
+ });
116
+
117
+ let DOMProps = filterDOMProps(props, {global: true});
118
+ delete DOMProps.id;
119
+
120
+ return (
121
+ <dom.div
122
+ {...DOMProps}
123
+ {...renderProps}
124
+ ref={ref}
125
+ slot={props.slot || undefined}
126
+ data-disabled={props.isDisabled || undefined}
127
+ data-invalid={validation.isInvalid || undefined}
128
+ data-readonly={props.isReadOnly || undefined}
129
+ data-required={props.isRequired || undefined}>
130
+ <Provider
131
+ values={[
132
+ [LabelContext, {...labelProps, ref: labelRef}],
133
+ [InputContext, {...inputProps, ref: inputOrTextAreaRef}],
134
+ [TextAreaContext, {...inputProps, ref: inputOrTextAreaRef}],
135
+ [GroupContext, {role: 'presentation', isInvalid: validation.isInvalid, isDisabled: props.isDisabled || false}],
136
+ [TextContext, {
137
+ slots: {
138
+ description: descriptionProps,
139
+ errorMessage: errorMessageProps
140
+ }
141
+ }],
142
+ [FieldErrorContext, validation]
143
+ ]}>
144
+ {renderProps.children}
145
+ </Provider>
146
+ </dom.div>
147
+ );
148
+ });