react-aria-components 1.5.0 → 1.6.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 (403) hide show
  1. package/dist/Autocomplete.main.js +80 -0
  2. package/dist/Autocomplete.main.js.map +1 -0
  3. package/dist/Autocomplete.mjs +68 -0
  4. package/dist/Autocomplete.module.js +68 -0
  5. package/dist/Autocomplete.module.js.map +1 -0
  6. package/dist/Breadcrumbs.main.js +2 -5
  7. package/dist/Breadcrumbs.main.js.map +1 -1
  8. package/dist/Breadcrumbs.mjs +3 -6
  9. package/dist/Breadcrumbs.module.js +3 -6
  10. package/dist/Breadcrumbs.module.js.map +1 -1
  11. package/dist/Button.main.js +5 -5
  12. package/dist/Button.main.js.map +1 -1
  13. package/dist/Button.mjs +5 -5
  14. package/dist/Button.module.js +5 -5
  15. package/dist/Button.module.js.map +1 -1
  16. package/dist/Calendar.main.js +29 -28
  17. package/dist/Calendar.main.js.map +1 -1
  18. package/dist/Calendar.mjs +30 -29
  19. package/dist/Calendar.module.js +30 -29
  20. package/dist/Calendar.module.js.map +1 -1
  21. package/dist/Checkbox.main.js +5 -12
  22. package/dist/Checkbox.main.js.map +1 -1
  23. package/dist/Checkbox.mjs +6 -13
  24. package/dist/Checkbox.module.js +6 -13
  25. package/dist/Checkbox.module.js.map +1 -1
  26. package/dist/ColorArea.main.js +2 -5
  27. package/dist/ColorArea.main.js.map +1 -1
  28. package/dist/ColorArea.mjs +3 -6
  29. package/dist/ColorArea.module.js +3 -6
  30. package/dist/ColorArea.module.js.map +1 -1
  31. package/dist/ColorField.main.js +2 -5
  32. package/dist/ColorField.main.js.map +1 -1
  33. package/dist/ColorField.mjs +2 -5
  34. package/dist/ColorField.module.js +2 -5
  35. package/dist/ColorField.module.js.map +1 -1
  36. package/dist/ColorSlider.main.js +2 -5
  37. package/dist/ColorSlider.main.js.map +1 -1
  38. package/dist/ColorSlider.mjs +2 -5
  39. package/dist/ColorSlider.module.js +2 -5
  40. package/dist/ColorSlider.module.js.map +1 -1
  41. package/dist/ColorSwatch.main.js +2 -5
  42. package/dist/ColorSwatch.main.js.map +1 -1
  43. package/dist/ColorSwatch.mjs +2 -5
  44. package/dist/ColorSwatch.module.js +2 -5
  45. package/dist/ColorSwatch.module.js.map +1 -1
  46. package/dist/ColorSwatchPicker.main.js +4 -8
  47. package/dist/ColorSwatchPicker.main.js.map +1 -1
  48. package/dist/ColorSwatchPicker.mjs +5 -9
  49. package/dist/ColorSwatchPicker.module.js +5 -9
  50. package/dist/ColorSwatchPicker.module.js.map +1 -1
  51. package/dist/ColorThumb.main.js +2 -5
  52. package/dist/ColorThumb.main.js.map +1 -1
  53. package/dist/ColorThumb.mjs +3 -6
  54. package/dist/ColorThumb.module.js +3 -6
  55. package/dist/ColorThumb.module.js.map +1 -1
  56. package/dist/ColorWheel.main.js +5 -11
  57. package/dist/ColorWheel.main.js.map +1 -1
  58. package/dist/ColorWheel.mjs +6 -12
  59. package/dist/ColorWheel.module.js +6 -12
  60. package/dist/ColorWheel.module.js.map +1 -1
  61. package/dist/ComboBox.main.js +2 -5
  62. package/dist/ComboBox.main.js.map +1 -1
  63. package/dist/ComboBox.mjs +3 -6
  64. package/dist/ComboBox.module.js +3 -6
  65. package/dist/ComboBox.module.js.map +1 -1
  66. package/dist/DateField.main.js +8 -23
  67. package/dist/DateField.main.js.map +1 -1
  68. package/dist/DateField.mjs +9 -24
  69. package/dist/DateField.module.js +9 -24
  70. package/dist/DateField.module.js.map +1 -1
  71. package/dist/DatePicker.main.js +4 -11
  72. package/dist/DatePicker.main.js.map +1 -1
  73. package/dist/DatePicker.mjs +5 -12
  74. package/dist/DatePicker.module.js +5 -12
  75. package/dist/DatePicker.module.js.map +1 -1
  76. package/dist/Dialog.main.js +2 -5
  77. package/dist/Dialog.main.js.map +1 -1
  78. package/dist/Dialog.mjs +3 -6
  79. package/dist/Dialog.module.js +3 -6
  80. package/dist/Dialog.module.js.map +1 -1
  81. package/dist/Disclosure.main.js +6 -16
  82. package/dist/Disclosure.main.js.map +1 -1
  83. package/dist/Disclosure.mjs +6 -16
  84. package/dist/Disclosure.module.js +6 -16
  85. package/dist/Disclosure.module.js.map +1 -1
  86. package/dist/DragAndDrop.main.js +2 -5
  87. package/dist/DragAndDrop.main.js.map +1 -1
  88. package/dist/DragAndDrop.mjs +3 -6
  89. package/dist/DragAndDrop.module.js +3 -6
  90. package/dist/DragAndDrop.module.js.map +1 -1
  91. package/dist/DropZone.main.js +2 -5
  92. package/dist/DropZone.main.js.map +1 -1
  93. package/dist/DropZone.mjs +3 -6
  94. package/dist/DropZone.module.js +3 -6
  95. package/dist/DropZone.module.js.map +1 -1
  96. package/dist/FieldError.main.js +2 -5
  97. package/dist/FieldError.main.js.map +1 -1
  98. package/dist/FieldError.mjs +3 -6
  99. package/dist/FieldError.module.js +3 -6
  100. package/dist/FieldError.module.js.map +1 -1
  101. package/dist/FileTrigger.main.js +2 -5
  102. package/dist/FileTrigger.main.js.map +1 -1
  103. package/dist/FileTrigger.mjs +2 -5
  104. package/dist/FileTrigger.module.js +2 -5
  105. package/dist/FileTrigger.module.js.map +1 -1
  106. package/dist/Form.main.js +2 -6
  107. package/dist/Form.main.js.map +1 -1
  108. package/dist/Form.mjs +2 -6
  109. package/dist/Form.module.js +2 -6
  110. package/dist/Form.module.js.map +1 -1
  111. package/dist/GridList.main.js +2 -6
  112. package/dist/GridList.main.js.map +1 -1
  113. package/dist/GridList.mjs +3 -7
  114. package/dist/GridList.module.js +3 -7
  115. package/dist/GridList.module.js.map +1 -1
  116. package/dist/Group.main.js +2 -5
  117. package/dist/Group.main.js.map +1 -1
  118. package/dist/Group.mjs +2 -5
  119. package/dist/Group.module.js +2 -5
  120. package/dist/Group.module.js.map +1 -1
  121. package/dist/Heading.main.js +2 -3
  122. package/dist/Heading.main.js.map +1 -1
  123. package/dist/Heading.mjs +2 -3
  124. package/dist/Heading.module.js +2 -3
  125. package/dist/Heading.module.js.map +1 -1
  126. package/dist/Input.main.js +2 -5
  127. package/dist/Input.main.js.map +1 -1
  128. package/dist/Input.mjs +2 -5
  129. package/dist/Input.module.js +2 -5
  130. package/dist/Input.module.js.map +1 -1
  131. package/dist/Keyboard.main.js +2 -3
  132. package/dist/Keyboard.main.js.map +1 -1
  133. package/dist/Keyboard.mjs +2 -3
  134. package/dist/Keyboard.module.js +2 -3
  135. package/dist/Keyboard.module.js.map +1 -1
  136. package/dist/Label.main.js +2 -3
  137. package/dist/Label.main.js.map +1 -1
  138. package/dist/Label.mjs +2 -3
  139. package/dist/Label.module.js +2 -3
  140. package/dist/Label.module.js.map +1 -1
  141. package/dist/Link.main.js +2 -6
  142. package/dist/Link.main.js.map +1 -1
  143. package/dist/Link.mjs +2 -6
  144. package/dist/Link.module.js +2 -6
  145. package/dist/Link.module.js.map +1 -1
  146. package/dist/ListBox.main.js +22 -11
  147. package/dist/ListBox.main.js.map +1 -1
  148. package/dist/ListBox.mjs +24 -13
  149. package/dist/ListBox.module.js +24 -13
  150. package/dist/ListBox.module.js.map +1 -1
  151. package/dist/Menu.main.js +21 -13
  152. package/dist/Menu.main.js.map +1 -1
  153. package/dist/Menu.mjs +23 -15
  154. package/dist/Menu.module.js +23 -15
  155. package/dist/Menu.module.js.map +1 -1
  156. package/dist/Meter.main.js +2 -5
  157. package/dist/Meter.main.js.map +1 -1
  158. package/dist/Meter.mjs +2 -5
  159. package/dist/Meter.module.js +2 -5
  160. package/dist/Meter.module.js.map +1 -1
  161. package/dist/Modal.main.js +7 -10
  162. package/dist/Modal.main.js.map +1 -1
  163. package/dist/Modal.mjs +10 -13
  164. package/dist/Modal.module.js +10 -13
  165. package/dist/Modal.module.js.map +1 -1
  166. package/dist/NumberField.main.js +2 -5
  167. package/dist/NumberField.main.js.map +1 -1
  168. package/dist/NumberField.mjs +3 -6
  169. package/dist/NumberField.module.js +3 -6
  170. package/dist/NumberField.module.js.map +1 -1
  171. package/dist/OverlayArrow.main.js +2 -6
  172. package/dist/OverlayArrow.main.js.map +1 -1
  173. package/dist/OverlayArrow.mjs +2 -6
  174. package/dist/OverlayArrow.module.js +2 -6
  175. package/dist/OverlayArrow.module.js.map +1 -1
  176. package/dist/Popover.main.js +4 -7
  177. package/dist/Popover.main.js.map +1 -1
  178. package/dist/Popover.mjs +7 -10
  179. package/dist/Popover.module.js +7 -10
  180. package/dist/Popover.module.js.map +1 -1
  181. package/dist/ProgressBar.main.js +2 -6
  182. package/dist/ProgressBar.main.js.map +1 -1
  183. package/dist/ProgressBar.mjs +2 -6
  184. package/dist/ProgressBar.module.js +2 -6
  185. package/dist/ProgressBar.module.js.map +1 -1
  186. package/dist/RadioGroup.main.js +4 -10
  187. package/dist/RadioGroup.main.js.map +1 -1
  188. package/dist/RadioGroup.mjs +4 -10
  189. package/dist/RadioGroup.module.js +4 -10
  190. package/dist/RadioGroup.module.js.map +1 -1
  191. package/dist/SearchField.main.js +6 -8
  192. package/dist/SearchField.main.js.map +1 -1
  193. package/dist/SearchField.mjs +8 -10
  194. package/dist/SearchField.module.js +8 -10
  195. package/dist/SearchField.module.js.map +1 -1
  196. package/dist/Select.main.js +6 -12
  197. package/dist/Select.main.js.map +1 -1
  198. package/dist/Select.mjs +7 -13
  199. package/dist/Select.module.js +7 -13
  200. package/dist/Select.module.js.map +1 -1
  201. package/dist/Slider.main.js +8 -20
  202. package/dist/Slider.main.js.map +1 -1
  203. package/dist/Slider.mjs +9 -21
  204. package/dist/Slider.module.js +9 -21
  205. package/dist/Slider.module.js.map +1 -1
  206. package/dist/Switch.main.js +2 -5
  207. package/dist/Switch.main.js.map +1 -1
  208. package/dist/Switch.mjs +2 -5
  209. package/dist/Switch.module.js +2 -5
  210. package/dist/Switch.module.js.map +1 -1
  211. package/dist/Table.main.js +6 -12
  212. package/dist/Table.main.js.map +1 -1
  213. package/dist/Table.mjs +7 -13
  214. package/dist/Table.module.js +7 -13
  215. package/dist/Table.module.js.map +1 -1
  216. package/dist/Tabs.main.js +9 -17
  217. package/dist/Tabs.main.js.map +1 -1
  218. package/dist/Tabs.mjs +11 -19
  219. package/dist/Tabs.module.js +11 -19
  220. package/dist/Tabs.module.js.map +1 -1
  221. package/dist/TagGroup.main.js +4 -10
  222. package/dist/TagGroup.main.js.map +1 -1
  223. package/dist/TagGroup.mjs +5 -11
  224. package/dist/TagGroup.module.js +5 -11
  225. package/dist/TagGroup.module.js.map +1 -1
  226. package/dist/Text.main.js +2 -3
  227. package/dist/Text.main.js.map +1 -1
  228. package/dist/Text.mjs +2 -3
  229. package/dist/Text.module.js +2 -3
  230. package/dist/Text.module.js.map +1 -1
  231. package/dist/TextArea.main.js +2 -5
  232. package/dist/TextArea.main.js.map +1 -1
  233. package/dist/TextArea.mjs +2 -5
  234. package/dist/TextArea.module.js +2 -5
  235. package/dist/TextArea.module.js.map +1 -1
  236. package/dist/TextField.main.js +9 -9
  237. package/dist/TextField.main.js.map +1 -1
  238. package/dist/TextField.mjs +11 -11
  239. package/dist/TextField.module.js +11 -11
  240. package/dist/TextField.module.js.map +1 -1
  241. package/dist/ToggleButton.main.js +2 -5
  242. package/dist/ToggleButton.main.js.map +1 -1
  243. package/dist/ToggleButton.mjs +3 -6
  244. package/dist/ToggleButton.module.js +3 -6
  245. package/dist/ToggleButton.module.js.map +1 -1
  246. package/dist/ToggleButtonGroup.main.js +2 -5
  247. package/dist/ToggleButtonGroup.main.js.map +1 -1
  248. package/dist/ToggleButtonGroup.mjs +2 -5
  249. package/dist/ToggleButtonGroup.module.js +2 -5
  250. package/dist/ToggleButtonGroup.module.js.map +1 -1
  251. package/dist/Toolbar.main.js +2 -6
  252. package/dist/Toolbar.main.js.map +1 -1
  253. package/dist/Toolbar.mjs +2 -6
  254. package/dist/Toolbar.module.js +2 -6
  255. package/dist/Toolbar.module.js.map +1 -1
  256. package/dist/Tooltip.main.js +4 -7
  257. package/dist/Tooltip.main.js.map +1 -1
  258. package/dist/Tooltip.mjs +7 -10
  259. package/dist/Tooltip.module.js +7 -10
  260. package/dist/Tooltip.module.js.map +1 -1
  261. package/dist/Tree.main.js +2 -6
  262. package/dist/Tree.main.js.map +1 -1
  263. package/dist/Tree.mjs +3 -7
  264. package/dist/Tree.module.js +3 -7
  265. package/dist/Tree.module.js.map +1 -1
  266. package/dist/import.mjs +4 -2
  267. package/dist/main.js +6 -0
  268. package/dist/main.js.map +1 -1
  269. package/dist/module.js +4 -2
  270. package/dist/module.js.map +1 -1
  271. package/dist/types.d.ts +230 -220
  272. package/dist/types.d.ts.map +1 -1
  273. package/dist/utils.main.js +0 -61
  274. package/dist/utils.main.js.map +1 -1
  275. package/dist/utils.mjs +1 -60
  276. package/dist/utils.module.js +1 -60
  277. package/dist/utils.module.js.map +1 -1
  278. package/i18n/ar-AE.js +1 -1
  279. package/i18n/ar-AE.mjs +1 -1
  280. package/i18n/bg-BG.js +1 -1
  281. package/i18n/bg-BG.mjs +1 -1
  282. package/i18n/cs-CZ.js +1 -1
  283. package/i18n/cs-CZ.mjs +1 -1
  284. package/i18n/da-DK.js +1 -1
  285. package/i18n/da-DK.mjs +1 -1
  286. package/i18n/de-DE.js +1 -1
  287. package/i18n/de-DE.mjs +1 -1
  288. package/i18n/el-GR.js +1 -1
  289. package/i18n/el-GR.mjs +1 -1
  290. package/i18n/en-US.js +1 -1
  291. package/i18n/en-US.mjs +1 -1
  292. package/i18n/es-ES.js +1 -1
  293. package/i18n/es-ES.mjs +1 -1
  294. package/i18n/et-EE.js +1 -1
  295. package/i18n/et-EE.mjs +1 -1
  296. package/i18n/fi-FI.js +1 -1
  297. package/i18n/fi-FI.mjs +1 -1
  298. package/i18n/fr-FR.js +1 -1
  299. package/i18n/fr-FR.mjs +1 -1
  300. package/i18n/he-IL.js +1 -1
  301. package/i18n/he-IL.mjs +1 -1
  302. package/i18n/hr-HR.js +1 -1
  303. package/i18n/hr-HR.mjs +1 -1
  304. package/i18n/hu-HU.js +1 -1
  305. package/i18n/hu-HU.mjs +1 -1
  306. package/i18n/index.js +1 -1
  307. package/i18n/index.mjs +1 -1
  308. package/i18n/it-IT.js +1 -1
  309. package/i18n/it-IT.mjs +1 -1
  310. package/i18n/ja-JP.js +1 -1
  311. package/i18n/ja-JP.mjs +1 -1
  312. package/i18n/ko-KR.js +1 -1
  313. package/i18n/ko-KR.mjs +1 -1
  314. package/i18n/lt-LT.js +1 -1
  315. package/i18n/lt-LT.mjs +1 -1
  316. package/i18n/lv-LV.js +1 -1
  317. package/i18n/lv-LV.mjs +1 -1
  318. package/i18n/nb-NO.js +1 -1
  319. package/i18n/nb-NO.mjs +1 -1
  320. package/i18n/nl-NL.js +1 -1
  321. package/i18n/nl-NL.mjs +1 -1
  322. package/i18n/pl-PL.js +1 -1
  323. package/i18n/pl-PL.mjs +1 -1
  324. package/i18n/pt-BR.js +1 -1
  325. package/i18n/pt-BR.mjs +1 -1
  326. package/i18n/pt-PT.js +1 -1
  327. package/i18n/pt-PT.mjs +1 -1
  328. package/i18n/ro-RO.js +1 -1
  329. package/i18n/ro-RO.mjs +1 -1
  330. package/i18n/ru-RU.js +1 -1
  331. package/i18n/ru-RU.mjs +1 -1
  332. package/i18n/sk-SK.js +1 -1
  333. package/i18n/sk-SK.mjs +1 -1
  334. package/i18n/sl-SI.js +1 -1
  335. package/i18n/sl-SI.mjs +1 -1
  336. package/i18n/sr-SP.js +1 -1
  337. package/i18n/sr-SP.mjs +1 -1
  338. package/i18n/sv-SE.js +1 -1
  339. package/i18n/sv-SE.mjs +1 -1
  340. package/i18n/tr-TR.js +1 -1
  341. package/i18n/tr-TR.mjs +1 -1
  342. package/i18n/uk-UA.js +1 -1
  343. package/i18n/uk-UA.mjs +1 -1
  344. package/i18n/zh-CN.js +1 -1
  345. package/i18n/zh-CN.mjs +1 -1
  346. package/i18n/zh-TW.js +1 -1
  347. package/i18n/zh-TW.mjs +1 -1
  348. package/package.json +30 -28
  349. package/src/Autocomplete.tsx +71 -0
  350. package/src/Breadcrumbs.tsx +5 -8
  351. package/src/Button.tsx +8 -8
  352. package/src/Calendar.tsx +35 -39
  353. package/src/Checkbox.tsx +11 -17
  354. package/src/ColorArea.tsx +5 -8
  355. package/src/ColorField.tsx +5 -8
  356. package/src/ColorSlider.tsx +5 -8
  357. package/src/ColorSwatch.tsx +5 -8
  358. package/src/ColorSwatchPicker.tsx +7 -13
  359. package/src/ColorThumb.tsx +5 -8
  360. package/src/ColorWheel.tsx +10 -16
  361. package/src/ComboBox.tsx +5 -8
  362. package/src/DateField.tsx +21 -33
  363. package/src/DatePicker.tsx +9 -15
  364. package/src/Dialog.tsx +5 -8
  365. package/src/Disclosure.tsx +16 -25
  366. package/src/DragAndDrop.tsx +5 -8
  367. package/src/DropZone.tsx +5 -8
  368. package/src/FieldError.tsx +5 -8
  369. package/src/FileTrigger.tsx +5 -8
  370. package/src/Form.tsx +6 -9
  371. package/src/GridList.tsx +6 -9
  372. package/src/Group.tsx +5 -8
  373. package/src/Heading.tsx +2 -5
  374. package/src/Input.tsx +5 -8
  375. package/src/Keyboard.tsx +2 -5
  376. package/src/Label.tsx +2 -5
  377. package/src/Link.tsx +6 -9
  378. package/src/ListBox.tsx +16 -15
  379. package/src/Menu.tsx +20 -19
  380. package/src/Meter.tsx +5 -8
  381. package/src/Modal.tsx +7 -10
  382. package/src/NumberField.tsx +5 -8
  383. package/src/OverlayArrow.tsx +6 -9
  384. package/src/Popover.tsx +7 -10
  385. package/src/ProgressBar.tsx +6 -9
  386. package/src/RadioGroup.tsx +10 -16
  387. package/src/SearchField.tsx +9 -11
  388. package/src/Select.tsx +12 -17
  389. package/src/Slider.tsx +20 -32
  390. package/src/Switch.tsx +5 -8
  391. package/src/Table.tsx +10 -19
  392. package/src/Tabs.tsx +18 -25
  393. package/src/TagGroup.tsx +8 -14
  394. package/src/Text.tsx +2 -5
  395. package/src/TextArea.tsx +5 -7
  396. package/src/TextField.tsx +11 -13
  397. package/src/ToggleButton.tsx +5 -8
  398. package/src/ToggleButtonGroup.tsx +5 -8
  399. package/src/Toolbar.tsx +6 -9
  400. package/src/Tooltip.tsx +7 -10
  401. package/src/Tree.tsx +6 -9
  402. package/src/index.ts +3 -1
  403. package/src/utils.tsx +0 -71
@@ -46,7 +46,10 @@ export interface NumberFieldProps extends Omit<AriaNumberFieldProps, 'label' | '
46
46
  export const NumberFieldContext = createContext<ContextValue<NumberFieldProps, HTMLDivElement>>(null);
47
47
  export const NumberFieldStateContext = createContext<NumberFieldState | null>(null);
48
48
 
49
- function NumberField(props: NumberFieldProps, ref: ForwardedRef<HTMLDivElement>) {
49
+ /**
50
+ * A number field allows a user to enter a number, and increment or decrement the value using stepper buttons.
51
+ */
52
+ export const NumberField = /*#__PURE__*/ (forwardRef as forwardRefType)(function NumberField(props: NumberFieldProps, ref: ForwardedRef<HTMLDivElement>) {
50
53
  [props, ref] = useContextProps(props, ref, NumberFieldContext);
51
54
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
52
55
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
@@ -118,10 +121,4 @@ function NumberField(props: NumberFieldProps, ref: ForwardedRef<HTMLDivElement>)
118
121
  {props.name && <input type="hidden" name={props.name} value={isNaN(state.numberValue) ? '' : state.numberValue} />}
119
122
  </Provider>
120
123
  );
121
- }
122
-
123
- /**
124
- * A number field allows a user to enter a number, and increment or decrement the value using stepper buttons.
125
- */
126
- const _NumberField = /*#__PURE__*/ (forwardRef as forwardRefType)(NumberField);
127
- export {_NumberField as NumberField};
124
+ });
@@ -33,7 +33,11 @@ export interface OverlayArrowRenderProps {
33
33
  placement: PlacementAxis | null
34
34
  }
35
35
 
36
- function OverlayArrow(props: OverlayArrowProps, ref: ForwardedRef<HTMLDivElement>) {
36
+ /**
37
+ * An OverlayArrow renders a custom arrow element relative to an overlay element
38
+ * such as a popover or tooltip such that it aligns with a trigger element.
39
+ */
40
+ export const OverlayArrow = /*#__PURE__*/ (forwardRef as forwardRefType)(function OverlayArrow(props: OverlayArrowProps, ref: ForwardedRef<HTMLDivElement>) {
37
41
  [props, ref] = useContextProps(props, ref, OverlayArrowContext);
38
42
  let placement = (props as OverlayArrowContextValue).placement;
39
43
  let style: CSSProperties = {
@@ -68,11 +72,4 @@ function OverlayArrow(props: OverlayArrowProps, ref: ForwardedRef<HTMLDivElement
68
72
  ref={ref}
69
73
  data-placement={placement} />
70
74
  );
71
- }
72
-
73
- /**
74
- * An OverlayArrow renders a custom arrow element relative to an overlay element
75
- * such as a popover or tooltip such that it aligns with a trigger element.
76
- */
77
- const _OverlayArrow = /*#__PURE__*/ (forwardRef as forwardRefType)(OverlayArrow);
78
- export {_OverlayArrow as OverlayArrow};
75
+ });
package/src/Popover.tsx CHANGED
@@ -11,8 +11,8 @@
11
11
  */
12
12
 
13
13
  import {AriaPopoverProps, DismissButton, Overlay, PlacementAxis, PositionProps, usePopover} from 'react-aria';
14
- import {ContextValue, RenderProps, SlotProps, useContextProps, useEnterAnimation, useExitAnimation, useRenderProps} from './utils';
15
- import {filterDOMProps, mergeProps, useLayoutEffect} from '@react-aria/utils';
14
+ import {ContextValue, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';
15
+ import {filterDOMProps, mergeProps, useEnterAnimation, useExitAnimation, useLayoutEffect} from '@react-aria/utils';
16
16
  import {forwardRefType, RefObject} from '@react-types/shared';
17
17
  import {OverlayArrowContext} from './OverlayArrow';
18
18
  import {OverlayTriggerProps, OverlayTriggerState, useOverlayTriggerState} from 'react-stately';
@@ -80,7 +80,10 @@ export interface PopoverRenderProps {
80
80
 
81
81
  export const PopoverContext = createContext<ContextValue<PopoverProps, HTMLElement>>(null);
82
82
 
83
- function Popover(props: PopoverProps, ref: ForwardedRef<HTMLElement>) {
83
+ /**
84
+ * A popover is an overlay element positioned relative to a trigger.
85
+ */
86
+ export const Popover = /*#__PURE__*/ (forwardRef as forwardRefType)(function Popover(props: PopoverProps, ref: ForwardedRef<HTMLElement>) {
84
87
  [props, ref] = useContextProps(props, ref, PopoverContext);
85
88
  let contextState = useContext(OverlayTriggerStateContext);
86
89
  let localState = useOverlayTriggerState(props);
@@ -116,13 +119,7 @@ function Popover(props: PopoverProps, ref: ForwardedRef<HTMLElement>) {
116
119
  popoverRef={ref}
117
120
  isExiting={isExiting} />
118
121
  );
119
- }
120
-
121
- /**
122
- * A popover is an overlay element positioned relative to a trigger.
123
- */
124
- const _Popover = /*#__PURE__*/ (forwardRef as forwardRefType)(Popover);
125
- export {_Popover as Popover};
122
+ });
126
123
 
127
124
  interface PopoverInnerProps extends AriaPopoverProps, RenderProps<PopoverRenderProps>, SlotProps {
128
125
  state: OverlayTriggerState,
@@ -37,7 +37,11 @@ export interface ProgressBarRenderProps {
37
37
 
38
38
  export const ProgressBarContext = createContext<ContextValue<ProgressBarProps, HTMLDivElement>>(null);
39
39
 
40
- function ProgressBar(props: ProgressBarProps, ref: ForwardedRef<HTMLDivElement>) {
40
+ /**
41
+ * Progress bars show either determinate or indeterminate progress of an operation
42
+ * over time.
43
+ */
44
+ export const ProgressBar = forwardRef(function ProgressBar(props: ProgressBarProps, ref: ForwardedRef<HTMLDivElement>) {
41
45
  [props, ref] = useContextProps(props, ref, ProgressBarContext);
42
46
  let {
43
47
  value = 0,
@@ -73,11 +77,4 @@ function ProgressBar(props: ProgressBarProps, ref: ForwardedRef<HTMLDivElement>)
73
77
  </LabelContext.Provider>
74
78
  </div>
75
79
  );
76
- }
77
-
78
- /**
79
- * Progress bars show either determinate or indeterminate progress of an operation
80
- * over time.
81
- */
82
- const _ProgressBar = forwardRef(ProgressBar);
83
- export {_ProgressBar as ProgressBar};
80
+ });
@@ -113,7 +113,10 @@ export const RadioGroupContext = createContext<ContextValue<RadioGroupProps, HTM
113
113
  export const RadioContext = createContext<ContextValue<Partial<RadioProps>, HTMLLabelElement>>(null);
114
114
  export const RadioGroupStateContext = createContext<RadioGroupState | null>(null);
115
115
 
116
- function RadioGroup(props: RadioGroupProps, ref: ForwardedRef<HTMLDivElement>) {
116
+ /**
117
+ * A radio group allows a user to select a single item from a list of mutually exclusive options.
118
+ */
119
+ export const RadioGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function RadioGroup(props: RadioGroupProps, ref: ForwardedRef<HTMLDivElement>) {
117
120
  [props, ref] = useContextProps(props, ref, RadioGroupContext);
118
121
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
119
122
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
@@ -169,9 +172,12 @@ function RadioGroup(props: RadioGroupProps, ref: ForwardedRef<HTMLDivElement>) {
169
172
  </Provider>
170
173
  </div>
171
174
  );
172
- }
175
+ });
173
176
 
174
- function Radio(props: RadioProps, ref: ForwardedRef<HTMLLabelElement>) {
177
+ /**
178
+ * A radio represents an individual option within a radio group.
179
+ */
180
+ export const Radio = /*#__PURE__*/ (forwardRef as forwardRefType)(function Radio(props: RadioProps, ref: ForwardedRef<HTMLLabelElement>) {
175
181
  let {
176
182
  inputRef: userProvidedInputRef = null,
177
183
  ...otherProps
@@ -230,16 +236,4 @@ function Radio(props: RadioProps, ref: ForwardedRef<HTMLLabelElement>) {
230
236
  {renderProps.children}
231
237
  </label>
232
238
  );
233
- }
234
-
235
- /**
236
- * A radio group allows a user to select a single item from a list of mutually exclusive options.
237
- */
238
- const _RadioGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(RadioGroup);
239
-
240
- /**
241
- * A radio represents an individual option within a radio group.
242
- */
243
- const _Radio = /*#__PURE__*/ (forwardRef as forwardRefType)(Radio);
244
-
245
- export {_RadioGroup as RadioGroup, _Radio as Radio};
239
+ });
@@ -14,7 +14,7 @@ import {AriaSearchFieldProps, useSearchField} from 'react-aria';
14
14
  import {ButtonContext} from './Button';
15
15
  import {ContextValue, Provider, RACValidation, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot, useSlottedContext} from './utils';
16
16
  import {FieldErrorContext} from './FieldError';
17
- import {filterDOMProps} from '@react-aria/utils';
17
+ import {filterDOMProps, mergeProps} from '@react-aria/utils';
18
18
  import {FormContext} from './Form';
19
19
  import {forwardRefType} from '@react-types/shared';
20
20
  import {GroupContext} from './Group';
@@ -50,11 +50,15 @@ export interface SearchFieldProps extends Omit<AriaSearchFieldProps, 'label' | '
50
50
 
51
51
  export const SearchFieldContext = createContext<ContextValue<SearchFieldProps, HTMLDivElement>>(null);
52
52
 
53
- function SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>) {
53
+ /**
54
+ * A search field allows a user to enter and clear a search query.
55
+ */
56
+ export const SearchField = /*#__PURE__*/ (forwardRef as forwardRefType)(function SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>) {
54
57
  [props, ref] = useContextProps(props, ref, SearchFieldContext);
55
58
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
56
59
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
57
60
  let inputRef = useRef<HTMLInputElement>(null);
61
+ let [inputContextProps, mergedInputRef] = useContextProps({}, inputRef, InputContext);
58
62
  let [labelRef, label] = useSlot();
59
63
  let state = useSearchFieldState({
60
64
  ...props,
@@ -65,7 +69,7 @@ function SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>)
65
69
  ...removeDataAttributes(props),
66
70
  label,
67
71
  validationBehavior
68
- }, state, inputRef);
72
+ }, state, mergedInputRef);
69
73
 
70
74
  let renderProps = useRenderProps({
71
75
  ...props,
@@ -93,7 +97,7 @@ function SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>)
93
97
  <Provider
94
98
  values={[
95
99
  [LabelContext, {...labelProps, ref: labelRef}],
96
- [InputContext, {...inputProps, ref: inputRef}],
100
+ [InputContext, {...mergeProps(inputProps, inputContextProps), ref: mergedInputRef}],
97
101
  [ButtonContext, clearButtonProps],
98
102
  [TextContext, {
99
103
  slots: {
@@ -108,10 +112,4 @@ function SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>)
108
112
  </Provider>
109
113
  </div>
110
114
  );
111
- }
112
-
113
- /**
114
- * A search field allows a user to enter and clear a search query.
115
- */
116
- const _SearchField = /*#__PURE__*/ (forwardRef as forwardRefType)(SearchField);
117
- export {_SearchField as SearchField};
115
+ });
package/src/Select.tsx CHANGED
@@ -67,7 +67,10 @@ export interface SelectProps<T extends object = {}> extends Omit<AriaSelectProps
67
67
  export const SelectContext = createContext<ContextValue<SelectProps<any>, HTMLDivElement>>(null);
68
68
  export const SelectStateContext = createContext<SelectState<unknown> | null>(null);
69
69
 
70
- function Select<T extends object = {}>(props: SelectProps<T>, ref: ForwardedRef<HTMLDivElement>) {
70
+ /**
71
+ * A select displays a collapsible list of options and allows a user to select one of them.
72
+ */
73
+ export const Select = /*#__PURE__*/ (forwardRef as forwardRefType)(function Select<T extends object = {}>(props: SelectProps<T>, ref: ForwardedRef<HTMLDivElement>) {
71
74
  [props, ref] = useContextProps(props, ref, SelectContext);
72
75
  let {children, isDisabled = false, isInvalid = false, isRequired = false} = props;
73
76
  let content = useMemo(() => (
@@ -89,7 +92,7 @@ function Select<T extends object = {}>(props: SelectProps<T>, ref: ForwardedRef<
89
92
  {collection => <SelectInner props={props} collection={collection} selectRef={ref} />}
90
93
  </CollectionBuilder>
91
94
  );
92
- }
95
+ });
93
96
 
94
97
  interface SelectInnerProps<T extends object> {
95
98
  props: SelectProps<T>,
@@ -199,6 +202,7 @@ function SelectInner<T extends object>({props, selectRef: ref, collection}: Sele
199
202
  data-invalid={validation.isInvalid || undefined}
200
203
  data-required={props.isRequired || undefined} />
201
204
  <HiddenSelect
205
+ autoComplete={props.autoComplete}
202
206
  state={state}
203
207
  triggerRef={buttonRef}
204
208
  label={label}
@@ -208,12 +212,6 @@ function SelectInner<T extends object>({props, selectRef: ref, collection}: Sele
208
212
  );
209
213
  }
210
214
 
211
- /**
212
- * A select displays a collapsible list of options and allows a user to select one of them.
213
- */
214
- const _Select = /*#__PURE__*/ (forwardRef as forwardRefType)(Select);
215
- export {_Select as Select};
216
-
217
215
  export interface SelectValueRenderProps<T> {
218
216
  /**
219
217
  * Whether the value is a placeholder.
@@ -230,7 +228,11 @@ export interface SelectValueProps<T extends object> extends Omit<HTMLAttributes<
230
228
 
231
229
  export const SelectValueContext = createContext<ContextValue<SelectValueProps<any>, HTMLSpanElement>>(null);
232
230
 
233
- function SelectValue<T extends object>(props: SelectValueProps<T>, ref: ForwardedRef<HTMLSpanElement>) {
231
+ /**
232
+ * SelectValue renders the current value of a Select, or a placeholder if no value is selected.
233
+ * It is usually placed within the button element.
234
+ */
235
+ export const SelectValue = /*#__PURE__*/ (forwardRef as forwardRefType)(function SelectValue<T extends object>(props: SelectValueProps<T>, ref: ForwardedRef<HTMLSpanElement>) {
234
236
  [props, ref] = useContextProps(props, ref, SelectValueContext);
235
237
  let state = useContext(SelectStateContext)!;
236
238
  let {placeholder} = useSlottedContext(SelectContext)!;
@@ -276,11 +278,4 @@ function SelectValue<T extends object>(props: SelectValueProps<T>, ref: Forwarde
276
278
  </TextContext.Provider>
277
279
  </span>
278
280
  );
279
- }
280
-
281
- /**
282
- * SelectValue renders the current value of a Select, or a placeholder if no value is selected.
283
- * It is usually placed within the button element.
284
- */
285
- const _SelectValue = /*#__PURE__*/ (forwardRef as forwardRefType)(SelectValue);
286
- export {_SelectValue as SelectValue};
281
+ });
package/src/Slider.tsx CHANGED
@@ -47,7 +47,10 @@ export interface SliderRenderProps {
47
47
  state: SliderState
48
48
  }
49
49
 
50
- function Slider<T extends number | number[]>(props: SliderProps<T>, ref: ForwardedRef<HTMLDivElement>) {
50
+ /**
51
+ * A slider allows a user to select one or more values within a range.
52
+ */
53
+ export const Slider = /*#__PURE__*/ (forwardRef as forwardRefType)(function Slider<T extends number | number[]>(props: SliderProps<T>, ref: ForwardedRef<HTMLDivElement>) {
51
54
  [props, ref] = useContextProps(props, ref, SliderContext);
52
55
  let trackRef = useRef<HTMLDivElement>(null);
53
56
  let numberFormatter = useNumberFormatter(props.formatOptions);
@@ -91,18 +94,15 @@ function Slider<T extends number | number[]>(props: SliderProps<T>, ref: Forward
91
94
  data-disabled={state.isDisabled || undefined} />
92
95
  </Provider>
93
96
  );
94
- }
95
-
96
- /**
97
- * A slider allows a user to select one or more values within a range.
98
- */
99
- const _Slider = /*#__PURE__*/ (forwardRef as forwardRefType)(Slider);
100
- export {_Slider as Slider};
97
+ });
101
98
 
102
99
  export interface SliderOutputProps extends RenderProps<SliderRenderProps> {}
103
100
  interface SliderOutputContextValue extends Omit<OutputHTMLAttributes<HTMLOutputElement>, 'children' | 'className' | 'style'>, SliderOutputProps {}
104
101
 
105
- function SliderOutput(props: SliderOutputProps, ref: ForwardedRef<HTMLOutputElement>) {
102
+ /**
103
+ * A slider output displays the current value of a slider as text.
104
+ */
105
+ export const SliderOutput = /*#__PURE__*/ (forwardRef as forwardRefType)(function SliderOutput(props: SliderOutputProps, ref: ForwardedRef<HTMLOutputElement>) {
106
106
  [props, ref] = useContextProps(props, ref, SliderOutputContext);
107
107
  let {children, style, className, ...otherProps} = props;
108
108
  let state = useContext(SliderStateContext)!;
@@ -127,13 +127,7 @@ function SliderOutput(props: SliderOutputProps, ref: ForwardedRef<HTMLOutputElem
127
127
  data-orientation={state.orientation || undefined}
128
128
  data-disabled={state.isDisabled || undefined} />
129
129
  );
130
- }
131
-
132
- /**
133
- * A slider output displays the current value of a slider as text.
134
- */
135
- const _SliderOutput = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderOutput);
136
- export {_SliderOutput as SliderOutput};
130
+ });
137
131
 
138
132
  export interface SliderTrackRenderProps extends SliderRenderProps {
139
133
  /**
@@ -146,7 +140,10 @@ export interface SliderTrackRenderProps extends SliderRenderProps {
146
140
  export interface SliderTrackProps extends HoverEvents, RenderProps<SliderTrackRenderProps> {}
147
141
  interface SliderTrackContextValue extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style'>, SliderTrackProps {}
148
142
 
149
- function SliderTrack(props: SliderTrackProps, ref: ForwardedRef<HTMLDivElement>) {
143
+ /**
144
+ * A slider track is a container for one or more slider thumbs.
145
+ */
146
+ export const SliderTrack = /*#__PURE__*/ (forwardRef as forwardRefType)(function SliderTrack(props: SliderTrackProps, ref: ForwardedRef<HTMLDivElement>) {
150
147
  [props, ref] = useContextProps(props, ref, SliderTrackContext);
151
148
  let state = useContext(SliderStateContext)!;
152
149
  let {onHoverStart, onHoverEnd, onHoverChange, ...otherProps} = props;
@@ -171,13 +168,7 @@ function SliderTrack(props: SliderTrackProps, ref: ForwardedRef<HTMLDivElement>)
171
168
  data-orientation={state.orientation || undefined}
172
169
  data-disabled={state.isDisabled || undefined} />
173
170
  );
174
- }
175
-
176
- /**
177
- * A slider track is a container for one or more slider thumbs.
178
- */
179
- const _SliderTrack = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderTrack);
180
- export {_SliderTrack as SliderTrack};
171
+ });
181
172
 
182
173
  export interface SliderThumbRenderProps {
183
174
  /**
@@ -218,7 +209,10 @@ export interface SliderThumbProps extends Omit<AriaSliderThumbProps, 'label' | '
218
209
  inputRef?: RefObject<HTMLInputElement | null>
219
210
  }
220
211
 
221
- function SliderThumb(props: SliderThumbProps, ref: ForwardedRef<HTMLDivElement>) {
212
+ /**
213
+ * A slider thumb represents an individual value that the user can adjust within a slider track.
214
+ */
215
+ export const SliderThumb = /*#__PURE__*/ (forwardRef as forwardRefType)(function SliderThumb(props: SliderThumbProps, ref: ForwardedRef<HTMLDivElement>) {
222
216
  let {
223
217
  inputRef: userInputRef = null
224
218
  } = props;
@@ -277,10 +271,4 @@ function SliderThumb(props: SliderThumbProps, ref: ForwardedRef<HTMLDivElement>)
277
271
  </Provider>
278
272
  </div>
279
273
  );
280
- }
281
-
282
- /**
283
- * A slider thumb represents an individual value that the user can adjust within a slider track.
284
- */
285
- const _SliderThumb = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderThumb);
286
- export {_SliderThumb as SliderThumb};
274
+ });
package/src/Switch.tsx CHANGED
@@ -68,7 +68,10 @@ export interface SwitchRenderProps {
68
68
 
69
69
  export const SwitchContext = createContext<ContextValue<SwitchProps, HTMLLabelElement>>(null);
70
70
 
71
- function Switch(props: SwitchProps, ref: ForwardedRef<HTMLLabelElement>) {
71
+ /**
72
+ * A switch allows a user to turn a setting on or off.
73
+ */
74
+ export const Switch = /*#__PURE__*/ (forwardRef as forwardRefType)(function Switch(props: SwitchProps, ref: ForwardedRef<HTMLLabelElement>) {
72
75
  let {
73
76
  inputRef: userProvidedInputRef = null,
74
77
  ...otherProps
@@ -125,10 +128,4 @@ function Switch(props: SwitchProps, ref: ForwardedRef<HTMLLabelElement>) {
125
128
  {renderProps.children}
126
129
  </label>
127
130
  );
128
- }
129
-
130
- /**
131
- * A switch allows a user to turn a setting on or off.
132
- */
133
- const _Switch = /*#__PURE__*/ (forwardRef as forwardRefType)(Switch);
134
- export {_Switch as Switch};
131
+ });
package/src/Table.tsx CHANGED
@@ -214,7 +214,7 @@ export interface ResizableTableContainerProps extends DOMProps, ScrollableProps<
214
214
  onResizeEnd?: (widths: Map<Key, ColumnSize>) => void
215
215
  }
216
216
 
217
- function ResizableTableContainer(props: ResizableTableContainerProps, ref: ForwardedRef<HTMLDivElement>) {
217
+ export const ResizableTableContainer = forwardRef(function ResizableTableContainer(props: ResizableTableContainerProps, ref: ForwardedRef<HTMLDivElement>) {
218
218
  let containerRef = useObjectRef(ref);
219
219
  let tableRef = useRef<HTMLTableElement>(null);
220
220
  let scrollRef = useRef<HTMLElement | null>(null);
@@ -267,10 +267,7 @@ function ResizableTableContainer(props: ResizableTableContainerProps, ref: Forwa
267
267
  </ResizableTableContainerContext.Provider>
268
268
  </div>
269
269
  );
270
- }
271
-
272
- const _ResizableTableContainer = forwardRef(ResizableTableContainer);
273
- export {_ResizableTableContainer as ResizableTableContainer};
270
+ });
274
271
 
275
272
  export const TableContext = createContext<ContextValue<TableProps, HTMLTableElement>>(null);
276
273
  export const TableStateContext = createContext<TableState<any> | null>(null);
@@ -317,7 +314,11 @@ export interface TableProps extends Omit<SharedTableProps<any>, 'children'>, Sty
317
314
  dragAndDropHooks?: DragAndDropHooks
318
315
  }
319
316
 
320
- function Table(props: TableProps, ref: ForwardedRef<HTMLTableElement>) {
317
+ /**
318
+ * A table displays data in rows and columns and enables a user to navigate its contents via directional navigation keys,
319
+ * and optionally supports row selection and sorting.
320
+ */
321
+ export const Table = forwardRef(function Table(props: TableProps, ref: ForwardedRef<HTMLTableElement>) {
321
322
  [props, ref] = useContextProps(props, ref, TableContext);
322
323
 
323
324
  // Separate selection state so we have access to it from collection components via useTableOptions.
@@ -342,7 +343,7 @@ function Table(props: TableProps, ref: ForwardedRef<HTMLTableElement>) {
342
343
  {collection => <TableInner props={props} forwardedRef={ref} selectionState={selectionState} collection={collection} />}
343
344
  </CollectionBuilder>
344
345
  );
345
- }
346
+ });
346
347
 
347
348
  interface TableInnerProps {
348
349
  props: TableProps,
@@ -490,13 +491,6 @@ function TableInner({props, forwardedRef: ref, selectionState, collection}: Tabl
490
491
  );
491
492
  }
492
493
 
493
- /**
494
- * A table displays data in rows and columns and enables a user to navigate its contents via directional navigation keys,
495
- * and optionally supports row selection and sorting.
496
- */
497
- const _Table = forwardRef(Table);
498
- export {_Table as Table};
499
-
500
494
  function useElementType<E extends keyof JSX.IntrinsicElements>(element: E): E | 'div' {
501
495
  let {isVirtualized} = useContext(CollectionRendererContext);
502
496
  return isVirtualized ? 'div' : element;
@@ -802,7 +796,7 @@ interface ColumnResizerContextValue {
802
796
 
803
797
  const ColumnResizerContext = createContext<ColumnResizerContextValue | null>(null);
804
798
 
805
- function ColumnResizer(props: ColumnResizerProps, ref: ForwardedRef<HTMLDivElement>) {
799
+ export const ColumnResizer = forwardRef(function ColumnResizer(props: ColumnResizerProps, ref: ForwardedRef<HTMLDivElement>) {
806
800
  let layoutState = useContext(TableColumnResizeStateContext);
807
801
  if (!layoutState) {
808
802
  throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');
@@ -891,10 +885,7 @@ function ColumnResizer(props: ColumnResizerProps, ref: ForwardedRef<HTMLDivEleme
891
885
  {isResizing && isMouseDown && ReactDOM.createPortal(<div style={{position: 'fixed', top: 0, left: 0, bottom: 0, right: 0, cursor}} />, document.body)}
892
886
  </div>
893
887
  );
894
- }
895
-
896
- const _ColumnResizer = forwardRef(ColumnResizer);
897
- export {_ColumnResizer as ColumnResizer};
888
+ });
898
889
 
899
890
  export interface TableBodyRenderProps {
900
891
  /**
package/src/Tabs.tsx CHANGED
@@ -13,7 +13,7 @@
13
13
  import {AriaLabelingProps, forwardRefType, HoverEvents, Key, LinkDOMProps, RefObject} from '@react-types/shared';
14
14
  import {AriaTabListProps, AriaTabPanelProps, mergeProps, Orientation, useFocusRing, useHover, useTab, useTabList, useTabPanel} from 'react-aria';
15
15
  import {Collection, CollectionBuilder, createHideableComponent, createLeafComponent} from '@react-aria/collections';
16
- import {CollectionProps, CollectionRendererContext, usePersistedKeys} from './Collection';
16
+ import {CollectionProps, CollectionRendererContext, DefaultCollectionRenderer, usePersistedKeys} from './Collection';
17
17
  import {ContextValue, Provider, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlottedContext} from './utils';
18
18
  import {filterDOMProps, useObjectRef} from '@react-aria/utils';
19
19
  import {Collection as ICollection, Node, TabListState, useTabListState} from 'react-stately';
@@ -118,7 +118,10 @@ export interface TabPanelRenderProps {
118
118
  export const TabsContext = createContext<ContextValue<TabsProps, HTMLDivElement>>(null);
119
119
  export const TabListStateContext = createContext<TabListState<object> | null>(null);
120
120
 
121
- function Tabs(props: TabsProps, ref: ForwardedRef<HTMLDivElement>) {
121
+ /**
122
+ * Tabs organize content into multiple sections and allow users to navigate between them.
123
+ */
124
+ export const Tabs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Tabs(props: TabsProps, ref: ForwardedRef<HTMLDivElement>) {
122
125
  [props, ref] = useContextProps(props, ref, TabsContext);
123
126
  let {children, orientation = 'horizontal'} = props;
124
127
  children = useMemo(() => (
@@ -132,7 +135,7 @@ function Tabs(props: TabsProps, ref: ForwardedRef<HTMLDivElement>) {
132
135
  {collection => <TabsInner props={props} collection={collection} tabsRef={ref} />}
133
136
  </CollectionBuilder>
134
137
  );
135
- }
138
+ });
136
139
 
137
140
  interface TabsInnerProps {
138
141
  props: TabsProps,
@@ -182,17 +185,15 @@ function TabsInner({props, tabsRef: ref, collection}: TabsInnerProps) {
182
185
  }
183
186
 
184
187
  /**
185
- * Tabs organize content into multiple sections and allow users to navigate between them.
188
+ * A TabList is used within Tabs to group tabs that a user can switch between.
189
+ * The ids of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.
186
190
  */
187
- const _Tabs = /*#__PURE__*/ (forwardRef as forwardRefType)(Tabs);
188
- export {_Tabs as Tabs};
189
-
190
- function TabList<T extends object>(props: TabListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
191
+ export const TabList = /*#__PURE__*/ (forwardRef as forwardRefType)(function TabList<T extends object>(props: TabListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
191
192
  let state = useContext(TabListStateContext);
192
193
  return state
193
194
  ? <TabListInner props={props} forwardedRef={ref} />
194
195
  : <Collection {...props} />;
195
- }
196
+ });
196
197
 
197
198
  interface TabListInnerProps<T> {
198
199
  props: TabListProps<T>,
@@ -236,13 +237,6 @@ function TabListInner<T extends object>({props, forwardedRef: ref}: TabListInner
236
237
  );
237
238
  }
238
239
 
239
- /**
240
- * A TabList is used within Tabs to group tabs that a user can switch between.
241
- * The ids of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.
242
- */
243
- const _TabList = /*#__PURE__*/ (forwardRef as forwardRefType)(TabList);
244
- export {_TabList as TabList};
245
-
246
240
  /**
247
241
  * A Tab provides a title for an individual item within a TabList.
248
242
  */
@@ -287,7 +281,10 @@ export const Tab = /*#__PURE__*/ createLeafComponent('item', (props: TabProps, f
287
281
  );
288
282
  });
289
283
 
290
- function TabPanel(props: TabPanelProps, forwardedRef: ForwardedRef<HTMLDivElement>) {
284
+ /**
285
+ * A TabPanel provides the content for a tab.
286
+ */
287
+ export const TabPanel = /*#__PURE__*/ createHideableComponent(function TabPanel(props: TabPanelProps, forwardedRef: ForwardedRef<HTMLDivElement>) {
291
288
  const state = useContext(TabListStateContext)!;
292
289
  let ref = useObjectRef<HTMLDivElement>(forwardedRef);
293
290
  let {tabPanelProps} = useTabPanel(props, state, ref);
@@ -330,14 +327,10 @@ function TabPanel(props: TabPanelProps, forwardedRef: ForwardedRef<HTMLDivElemen
330
327
  [TabsContext, null],
331
328
  [TabListStateContext, null]
332
329
  ]}>
333
- {renderProps.children}
330
+ <CollectionRendererContext.Provider value={DefaultCollectionRenderer}>
331
+ {renderProps.children}
332
+ </CollectionRendererContext.Provider>
334
333
  </Provider>
335
334
  </div>
336
335
  );
337
- }
338
-
339
- /**
340
- * A TabPanel provides the content for a tab.
341
- */
342
- const _TabPanel = /*#__PURE__*/ createHideableComponent(TabPanel);
343
- export {_TabPanel as TabPanel};
336
+ });
package/src/TagGroup.tsx CHANGED
@@ -55,14 +55,17 @@ export interface TagListProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'
55
55
  export const TagGroupContext = createContext<ContextValue<TagGroupProps, HTMLDivElement>>(null);
56
56
  export const TagListContext = createContext<ContextValue<TagListProps<any>, HTMLDivElement>>(null);
57
57
 
58
- function TagGroup(props: TagGroupProps, ref: ForwardedRef<HTMLDivElement>) {
58
+ /**
59
+ * A tag group is a focusable list of labels, categories, keywords, filters, or other items, with support for keyboard navigation, selection, and removal.
60
+ */
61
+ export const TagGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagGroup(props: TagGroupProps, ref: ForwardedRef<HTMLDivElement>) {
59
62
  [props, ref] = useContextProps(props, ref, TagGroupContext);
60
63
  return (
61
64
  <CollectionBuilder content={props.children}>
62
65
  {collection => <TagGroupInner props={props} forwardedRef={ref} collection={collection} />}
63
66
  </CollectionBuilder>
64
67
  );
65
- }
68
+ });
66
69
 
67
70
  interface TagGroupInnerProps {
68
71
  props: TagGroupProps,
@@ -119,17 +122,14 @@ function TagGroupInner({props, forwardedRef: ref, collection}: TagGroupInnerProp
119
122
  }
120
123
 
121
124
  /**
122
- * A tag group is a focusable list of labels, categories, keywords, filters, or other items, with support for keyboard navigation, selection, and removal.
125
+ * A tag list is a container for tags within a TagGroup.
123
126
  */
124
- const _TagGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(TagGroup);
125
- export {_TagGroup as TagGroup};
126
-
127
- function TagList<T extends object>(props: TagListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
127
+ export const TagList = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagList<T extends object>(props: TagListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
128
128
  let state = useContext(ListStateContext);
129
129
  return state
130
130
  ? <TagListInner props={props} forwardedRef={ref} />
131
131
  : <Collection {...props} />;
132
- }
132
+ });
133
133
 
134
134
  interface TagListInnerProps<T> {
135
135
  props: TagListProps<T>,
@@ -174,12 +174,6 @@ function TagListInner<T extends object>({props, forwardedRef}: TagListInnerProps
174
174
  );
175
175
  }
176
176
 
177
- /**
178
- * A tag list is a container for tags within a TagGroup.
179
- */
180
- const _TagList = /*#__PURE__*/ (forwardRef as forwardRefType)(TagList);
181
- export {_TagList as TagList};
182
-
183
177
  export interface TagRenderProps extends Omit<ItemRenderProps, 'allowsDragging' | 'isDragging' | 'isDropTarget'> {
184
178
  /**
185
179
  * Whether the tag group allows items to be removed.
package/src/Text.tsx CHANGED
@@ -19,12 +19,9 @@ export interface TextProps extends HTMLAttributes<HTMLElement> {
19
19
 
20
20
  export const TextContext = createContext<ContextValue<TextProps, HTMLElement>>({});
21
21
 
22
- function Text(props: TextProps, ref: ForwardedRef<HTMLElement>) {
22
+ export const Text = forwardRef(function Text(props: TextProps, ref: ForwardedRef<HTMLElement>) {
23
23
  [props, ref] = useContextProps(props, ref, TextContext);
24
24
  let {elementType: ElementType = 'span', ...domProps} = props;
25
25
  // @ts-ignore
26
26
  return <ElementType className="react-aria-Text" {...domProps} ref={ref} />;
27
- }
28
-
29
- const _Text = forwardRef(Text);
30
- export {_Text as Text};
27
+ });