react-aria-components 3.0.0-nightly-ab9fd5c68-241125 → 3.0.0-nightly-10a43de88-241127

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 (315) hide show
  1. package/dist/Breadcrumbs.main.js +2 -5
  2. package/dist/Breadcrumbs.main.js.map +1 -1
  3. package/dist/Breadcrumbs.mjs +3 -6
  4. package/dist/Breadcrumbs.module.js +3 -6
  5. package/dist/Breadcrumbs.module.js.map +1 -1
  6. package/dist/Button.main.js +2 -5
  7. package/dist/Button.main.js.map +1 -1
  8. package/dist/Button.mjs +2 -5
  9. package/dist/Button.module.js +2 -5
  10. package/dist/Button.module.js.map +1 -1
  11. package/dist/Calendar.main.js +9 -22
  12. package/dist/Calendar.main.js.map +1 -1
  13. package/dist/Calendar.mjs +9 -22
  14. package/dist/Calendar.module.js +9 -22
  15. package/dist/Calendar.module.js.map +1 -1
  16. package/dist/Checkbox.main.js +5 -12
  17. package/dist/Checkbox.main.js.map +1 -1
  18. package/dist/Checkbox.mjs +6 -13
  19. package/dist/Checkbox.module.js +6 -13
  20. package/dist/Checkbox.module.js.map +1 -1
  21. package/dist/ColorArea.main.js +2 -5
  22. package/dist/ColorArea.main.js.map +1 -1
  23. package/dist/ColorArea.mjs +3 -6
  24. package/dist/ColorArea.module.js +3 -6
  25. package/dist/ColorArea.module.js.map +1 -1
  26. package/dist/ColorField.main.js +2 -5
  27. package/dist/ColorField.main.js.map +1 -1
  28. package/dist/ColorField.mjs +2 -5
  29. package/dist/ColorField.module.js +2 -5
  30. package/dist/ColorField.module.js.map +1 -1
  31. package/dist/ColorSlider.main.js +2 -5
  32. package/dist/ColorSlider.main.js.map +1 -1
  33. package/dist/ColorSlider.mjs +2 -5
  34. package/dist/ColorSlider.module.js +2 -5
  35. package/dist/ColorSlider.module.js.map +1 -1
  36. package/dist/ColorSwatch.main.js +2 -5
  37. package/dist/ColorSwatch.main.js.map +1 -1
  38. package/dist/ColorSwatch.mjs +2 -5
  39. package/dist/ColorSwatch.module.js +2 -5
  40. package/dist/ColorSwatch.module.js.map +1 -1
  41. package/dist/ColorSwatchPicker.main.js +4 -8
  42. package/dist/ColorSwatchPicker.main.js.map +1 -1
  43. package/dist/ColorSwatchPicker.mjs +5 -9
  44. package/dist/ColorSwatchPicker.module.js +5 -9
  45. package/dist/ColorSwatchPicker.module.js.map +1 -1
  46. package/dist/ColorThumb.main.js +2 -5
  47. package/dist/ColorThumb.main.js.map +1 -1
  48. package/dist/ColorThumb.mjs +3 -6
  49. package/dist/ColorThumb.module.js +3 -6
  50. package/dist/ColorThumb.module.js.map +1 -1
  51. package/dist/ColorWheel.main.js +5 -11
  52. package/dist/ColorWheel.main.js.map +1 -1
  53. package/dist/ColorWheel.mjs +6 -12
  54. package/dist/ColorWheel.module.js +6 -12
  55. package/dist/ColorWheel.module.js.map +1 -1
  56. package/dist/ComboBox.main.js +2 -5
  57. package/dist/ComboBox.main.js.map +1 -1
  58. package/dist/ComboBox.mjs +3 -6
  59. package/dist/ComboBox.module.js +3 -6
  60. package/dist/ComboBox.module.js.map +1 -1
  61. package/dist/DateField.main.js +8 -23
  62. package/dist/DateField.main.js.map +1 -1
  63. package/dist/DateField.mjs +9 -24
  64. package/dist/DateField.module.js +9 -24
  65. package/dist/DateField.module.js.map +1 -1
  66. package/dist/DatePicker.main.js +4 -11
  67. package/dist/DatePicker.main.js.map +1 -1
  68. package/dist/DatePicker.mjs +5 -12
  69. package/dist/DatePicker.module.js +5 -12
  70. package/dist/DatePicker.module.js.map +1 -1
  71. package/dist/Dialog.main.js +2 -5
  72. package/dist/Dialog.main.js.map +1 -1
  73. package/dist/Dialog.mjs +3 -6
  74. package/dist/Dialog.module.js +3 -6
  75. package/dist/Dialog.module.js.map +1 -1
  76. package/dist/Disclosure.main.js +6 -16
  77. package/dist/Disclosure.main.js.map +1 -1
  78. package/dist/Disclosure.mjs +6 -16
  79. package/dist/Disclosure.module.js +6 -16
  80. package/dist/Disclosure.module.js.map +1 -1
  81. package/dist/DragAndDrop.main.js +2 -5
  82. package/dist/DragAndDrop.main.js.map +1 -1
  83. package/dist/DragAndDrop.mjs +3 -6
  84. package/dist/DragAndDrop.module.js +3 -6
  85. package/dist/DragAndDrop.module.js.map +1 -1
  86. package/dist/DropZone.main.js +2 -5
  87. package/dist/DropZone.main.js.map +1 -1
  88. package/dist/DropZone.mjs +3 -6
  89. package/dist/DropZone.module.js +3 -6
  90. package/dist/DropZone.module.js.map +1 -1
  91. package/dist/FieldError.main.js +2 -5
  92. package/dist/FieldError.main.js.map +1 -1
  93. package/dist/FieldError.mjs +3 -6
  94. package/dist/FieldError.module.js +3 -6
  95. package/dist/FieldError.module.js.map +1 -1
  96. package/dist/FileTrigger.main.js +2 -5
  97. package/dist/FileTrigger.main.js.map +1 -1
  98. package/dist/FileTrigger.mjs +2 -5
  99. package/dist/FileTrigger.module.js +2 -5
  100. package/dist/FileTrigger.module.js.map +1 -1
  101. package/dist/Form.main.js +2 -6
  102. package/dist/Form.main.js.map +1 -1
  103. package/dist/Form.mjs +2 -6
  104. package/dist/Form.module.js +2 -6
  105. package/dist/Form.module.js.map +1 -1
  106. package/dist/GridList.main.js +2 -6
  107. package/dist/GridList.main.js.map +1 -1
  108. package/dist/GridList.mjs +3 -7
  109. package/dist/GridList.module.js +3 -7
  110. package/dist/GridList.module.js.map +1 -1
  111. package/dist/Group.main.js +2 -5
  112. package/dist/Group.main.js.map +1 -1
  113. package/dist/Group.mjs +2 -5
  114. package/dist/Group.module.js +2 -5
  115. package/dist/Group.module.js.map +1 -1
  116. package/dist/Heading.main.js +2 -3
  117. package/dist/Heading.main.js.map +1 -1
  118. package/dist/Heading.mjs +2 -3
  119. package/dist/Heading.module.js +2 -3
  120. package/dist/Heading.module.js.map +1 -1
  121. package/dist/Input.main.js +2 -5
  122. package/dist/Input.main.js.map +1 -1
  123. package/dist/Input.mjs +2 -5
  124. package/dist/Input.module.js +2 -5
  125. package/dist/Input.module.js.map +1 -1
  126. package/dist/Keyboard.main.js +2 -3
  127. package/dist/Keyboard.main.js.map +1 -1
  128. package/dist/Keyboard.mjs +2 -3
  129. package/dist/Keyboard.module.js +2 -3
  130. package/dist/Keyboard.module.js.map +1 -1
  131. package/dist/Label.main.js +2 -3
  132. package/dist/Label.main.js.map +1 -1
  133. package/dist/Label.mjs +2 -3
  134. package/dist/Label.module.js +2 -3
  135. package/dist/Label.module.js.map +1 -1
  136. package/dist/Link.main.js +2 -6
  137. package/dist/Link.main.js.map +1 -1
  138. package/dist/Link.mjs +2 -6
  139. package/dist/Link.module.js +2 -6
  140. package/dist/Link.module.js.map +1 -1
  141. package/dist/ListBox.main.js +5 -10
  142. package/dist/ListBox.main.js.map +1 -1
  143. package/dist/ListBox.mjs +6 -11
  144. package/dist/ListBox.module.js +6 -11
  145. package/dist/ListBox.module.js.map +1 -1
  146. package/dist/Menu.main.js +5 -10
  147. package/dist/Menu.main.js.map +1 -1
  148. package/dist/Menu.mjs +5 -10
  149. package/dist/Menu.module.js +5 -10
  150. package/dist/Menu.module.js.map +1 -1
  151. package/dist/Meter.main.js +2 -5
  152. package/dist/Meter.main.js.map +1 -1
  153. package/dist/Meter.mjs +2 -5
  154. package/dist/Meter.module.js +2 -5
  155. package/dist/Meter.module.js.map +1 -1
  156. package/dist/Modal.main.js +3 -6
  157. package/dist/Modal.main.js.map +1 -1
  158. package/dist/Modal.mjs +4 -7
  159. package/dist/Modal.module.js +4 -7
  160. package/dist/Modal.module.js.map +1 -1
  161. package/dist/NumberField.main.js +2 -5
  162. package/dist/NumberField.main.js.map +1 -1
  163. package/dist/NumberField.mjs +3 -6
  164. package/dist/NumberField.module.js +3 -6
  165. package/dist/NumberField.module.js.map +1 -1
  166. package/dist/OverlayArrow.main.js +2 -6
  167. package/dist/OverlayArrow.main.js.map +1 -1
  168. package/dist/OverlayArrow.mjs +2 -6
  169. package/dist/OverlayArrow.module.js +2 -6
  170. package/dist/OverlayArrow.module.js.map +1 -1
  171. package/dist/Popover.main.js +2 -5
  172. package/dist/Popover.main.js.map +1 -1
  173. package/dist/Popover.mjs +3 -6
  174. package/dist/Popover.module.js +3 -6
  175. package/dist/Popover.module.js.map +1 -1
  176. package/dist/ProgressBar.main.js +2 -6
  177. package/dist/ProgressBar.main.js.map +1 -1
  178. package/dist/ProgressBar.mjs +2 -6
  179. package/dist/ProgressBar.module.js +2 -6
  180. package/dist/ProgressBar.module.js.map +1 -1
  181. package/dist/RadioGroup.main.js +4 -10
  182. package/dist/RadioGroup.main.js.map +1 -1
  183. package/dist/RadioGroup.mjs +4 -10
  184. package/dist/RadioGroup.module.js +4 -10
  185. package/dist/RadioGroup.module.js.map +1 -1
  186. package/dist/SearchField.main.js +2 -5
  187. package/dist/SearchField.main.js.map +1 -1
  188. package/dist/SearchField.mjs +3 -6
  189. package/dist/SearchField.module.js +3 -6
  190. package/dist/SearchField.module.js.map +1 -1
  191. package/dist/Select.main.js +5 -12
  192. package/dist/Select.main.js.map +1 -1
  193. package/dist/Select.mjs +6 -13
  194. package/dist/Select.module.js +6 -13
  195. package/dist/Select.module.js.map +1 -1
  196. package/dist/Slider.main.js +8 -20
  197. package/dist/Slider.main.js.map +1 -1
  198. package/dist/Slider.mjs +9 -21
  199. package/dist/Slider.module.js +9 -21
  200. package/dist/Slider.module.js.map +1 -1
  201. package/dist/Switch.main.js +2 -5
  202. package/dist/Switch.main.js.map +1 -1
  203. package/dist/Switch.mjs +2 -5
  204. package/dist/Switch.module.js +2 -5
  205. package/dist/Switch.module.js.map +1 -1
  206. package/dist/Table.main.js +6 -12
  207. package/dist/Table.main.js.map +1 -1
  208. package/dist/Table.mjs +7 -13
  209. package/dist/Table.module.js +7 -13
  210. package/dist/Table.module.js.map +1 -1
  211. package/dist/Tabs.main.js +6 -16
  212. package/dist/Tabs.main.js.map +1 -1
  213. package/dist/Tabs.mjs +7 -17
  214. package/dist/Tabs.module.js +7 -17
  215. package/dist/Tabs.module.js.map +1 -1
  216. package/dist/TagGroup.main.js +4 -10
  217. package/dist/TagGroup.main.js.map +1 -1
  218. package/dist/TagGroup.mjs +5 -11
  219. package/dist/TagGroup.module.js +5 -11
  220. package/dist/TagGroup.module.js.map +1 -1
  221. package/dist/Text.main.js +2 -3
  222. package/dist/Text.main.js.map +1 -1
  223. package/dist/Text.mjs +2 -3
  224. package/dist/Text.module.js +2 -3
  225. package/dist/Text.module.js.map +1 -1
  226. package/dist/TextArea.main.js +2 -5
  227. package/dist/TextArea.main.js.map +1 -1
  228. package/dist/TextArea.mjs +2 -5
  229. package/dist/TextArea.module.js +2 -5
  230. package/dist/TextArea.module.js.map +1 -1
  231. package/dist/TextField.main.js +2 -5
  232. package/dist/TextField.main.js.map +1 -1
  233. package/dist/TextField.mjs +3 -6
  234. package/dist/TextField.module.js +3 -6
  235. package/dist/TextField.module.js.map +1 -1
  236. package/dist/ToggleButton.main.js +2 -5
  237. package/dist/ToggleButton.main.js.map +1 -1
  238. package/dist/ToggleButton.mjs +3 -6
  239. package/dist/ToggleButton.module.js +3 -6
  240. package/dist/ToggleButton.module.js.map +1 -1
  241. package/dist/ToggleButtonGroup.main.js +2 -5
  242. package/dist/ToggleButtonGroup.main.js.map +1 -1
  243. package/dist/ToggleButtonGroup.mjs +2 -5
  244. package/dist/ToggleButtonGroup.module.js +2 -5
  245. package/dist/ToggleButtonGroup.module.js.map +1 -1
  246. package/dist/Toolbar.main.js +2 -6
  247. package/dist/Toolbar.main.js.map +1 -1
  248. package/dist/Toolbar.mjs +2 -6
  249. package/dist/Toolbar.module.js +2 -6
  250. package/dist/Toolbar.module.js.map +1 -1
  251. package/dist/Tooltip.main.js +2 -5
  252. package/dist/Tooltip.main.js.map +1 -1
  253. package/dist/Tooltip.mjs +3 -6
  254. package/dist/Tooltip.module.js +3 -6
  255. package/dist/Tooltip.module.js.map +1 -1
  256. package/dist/Tree.main.js +2 -6
  257. package/dist/Tree.main.js.map +1 -1
  258. package/dist/Tree.mjs +3 -7
  259. package/dist/Tree.module.js +3 -7
  260. package/dist/Tree.module.js.map +1 -1
  261. package/dist/types.d.ts +10 -10
  262. package/dist/types.d.ts.map +1 -1
  263. package/package.json +30 -30
  264. package/src/Breadcrumbs.tsx +5 -8
  265. package/src/Button.tsx +5 -8
  266. package/src/Calendar.tsx +19 -31
  267. package/src/Checkbox.tsx +11 -17
  268. package/src/ColorArea.tsx +5 -8
  269. package/src/ColorField.tsx +5 -8
  270. package/src/ColorSlider.tsx +5 -8
  271. package/src/ColorSwatch.tsx +5 -8
  272. package/src/ColorSwatchPicker.tsx +7 -13
  273. package/src/ColorThumb.tsx +5 -8
  274. package/src/ColorWheel.tsx +10 -16
  275. package/src/ComboBox.tsx +5 -8
  276. package/src/DateField.tsx +21 -33
  277. package/src/DatePicker.tsx +9 -15
  278. package/src/Dialog.tsx +5 -8
  279. package/src/Disclosure.tsx +16 -25
  280. package/src/DragAndDrop.tsx +5 -8
  281. package/src/DropZone.tsx +5 -8
  282. package/src/FieldError.tsx +5 -8
  283. package/src/FileTrigger.tsx +5 -8
  284. package/src/Form.tsx +6 -9
  285. package/src/GridList.tsx +6 -9
  286. package/src/Group.tsx +5 -8
  287. package/src/Heading.tsx +2 -5
  288. package/src/Input.tsx +5 -8
  289. package/src/Keyboard.tsx +2 -5
  290. package/src/Label.tsx +2 -5
  291. package/src/Link.tsx +6 -9
  292. package/src/ListBox.tsx +8 -12
  293. package/src/Menu.tsx +8 -12
  294. package/src/Meter.tsx +5 -8
  295. package/src/Modal.tsx +5 -8
  296. package/src/NumberField.tsx +5 -8
  297. package/src/OverlayArrow.tsx +6 -9
  298. package/src/Popover.tsx +5 -8
  299. package/src/ProgressBar.tsx +6 -9
  300. package/src/RadioGroup.tsx +10 -16
  301. package/src/SearchField.tsx +5 -8
  302. package/src/Select.tsx +11 -17
  303. package/src/Slider.tsx +20 -32
  304. package/src/Switch.tsx +5 -8
  305. package/src/Table.tsx +10 -19
  306. package/src/Tabs.tsx +14 -23
  307. package/src/TagGroup.tsx +8 -14
  308. package/src/Text.tsx +2 -5
  309. package/src/TextArea.tsx +5 -7
  310. package/src/TextField.tsx +5 -8
  311. package/src/ToggleButton.tsx +5 -8
  312. package/src/ToggleButtonGroup.tsx +5 -8
  313. package/src/Toolbar.tsx +6 -9
  314. package/src/Tooltip.tsx +5 -8
  315. package/src/Tree.tsx +6 -9
package/src/Form.tsx CHANGED
@@ -27,7 +27,11 @@ export interface FormProps extends SharedFormProps, DOMProps {
27
27
 
28
28
  export const FormContext = createContext<ContextValue<FormProps, HTMLFormElement>>(null);
29
29
 
30
- function Form(props: FormProps, ref: ForwardedRef<HTMLFormElement>) {
30
+ /**
31
+ * A form is a group of inputs that allows users to submit data to a server,
32
+ * with support for providing field validation errors.
33
+ */
34
+ export const Form = forwardRef(function Form(props: FormProps, ref: ForwardedRef<HTMLFormElement>) {
31
35
  [props, ref] = useContextProps(props, ref, FormContext);
32
36
  let {validationErrors, validationBehavior = 'native', children, className, ...domProps} = props;
33
37
  return (
@@ -39,11 +43,4 @@ function Form(props: FormProps, ref: ForwardedRef<HTMLFormElement>) {
39
43
  </FormContext.Provider>
40
44
  </form>
41
45
  );
42
- }
43
-
44
- /**
45
- * A form is a group of inputs that allows users to submit data to a server,
46
- * with support for providing field validation errors.
47
- */
48
- const _Form = forwardRef(Form);
49
- export {_Form as Form};
46
+ });
package/src/GridList.tsx CHANGED
@@ -73,7 +73,11 @@ export interface GridListProps<T> extends Omit<AriaGridListProps<T>, 'children'>
73
73
 
74
74
  export const GridListContext = createContext<ContextValue<GridListProps<any>, HTMLDivElement>>(null);
75
75
 
76
- function GridList<T extends object>(props: GridListProps<T>, ref: ForwardedRef<HTMLDivElement>) {
76
+ /**
77
+ * A grid list displays a list of interactive items, with support for keyboard navigation,
78
+ * single or multiple selection, and row actions.
79
+ */
80
+ export const GridList = /*#__PURE__*/ (forwardRef as forwardRefType)(function GridList<T extends object>(props: GridListProps<T>, ref: ForwardedRef<HTMLDivElement>) {
77
81
  // Render the portal first so that we have the collection by the time we render the DOM in SSR.
78
82
  [props, ref] = useContextProps(props, ref, GridListContext);
79
83
 
@@ -82,7 +86,7 @@ function GridList<T extends object>(props: GridListProps<T>, ref: ForwardedRef<H
82
86
  {collection => <GridListInner props={props} collection={collection} gridListRef={ref} />}
83
87
  </CollectionBuilder>
84
88
  );
85
- }
89
+ });
86
90
 
87
91
  interface GridListInnerProps<T extends object> {
88
92
  props: GridListProps<T>,
@@ -243,13 +247,6 @@ function GridListInner<T extends object>({props, collection, gridListRef: ref}:
243
247
  );
244
248
  }
245
249
 
246
- /**
247
- * A grid list displays a list of interactive items, with support for keyboard navigation,
248
- * single or multiple selection, and row actions.
249
- */
250
- const _GridList = /*#__PURE__*/ (forwardRef as forwardRefType)(GridList);
251
- export {_GridList as GridList};
252
-
253
250
  export interface GridListItemRenderProps extends ItemRenderProps {}
254
251
 
255
252
  export interface GridListItemProps<T = object> extends RenderProps<GridListItemRenderProps>, LinkDOMProps, HoverEvents {
package/src/Group.tsx CHANGED
@@ -60,7 +60,10 @@ export interface GroupProps extends AriaLabelingProps, Omit<HTMLAttributes<HTMLE
60
60
 
61
61
  export const GroupContext = createContext<ContextValue<GroupProps, HTMLDivElement>>({});
62
62
 
63
- function Group(props: GroupProps, ref: ForwardedRef<HTMLDivElement>) {
63
+ /**
64
+ * A group represents a set of related UI controls, and supports interactive states for styling.
65
+ */
66
+ export const Group = /*#__PURE__*/ (forwardRef as forwardRefType)(function Group(props: GroupProps, ref: ForwardedRef<HTMLDivElement>) {
64
67
  [props, ref] = useContextProps(props, ref, GroupContext);
65
68
  let {isDisabled, isInvalid, onHoverStart, onHoverChange, onHoverEnd, ...otherProps} = props;
66
69
 
@@ -92,10 +95,4 @@ function Group(props: GroupProps, ref: ForwardedRef<HTMLDivElement>) {
92
95
  {renderProps.children}
93
96
  </div>
94
97
  );
95
- }
96
-
97
- /**
98
- * A group represents a set of related UI controls, and supports interactive states for styling.
99
- */
100
- const _Group = /*#__PURE__*/ (forwardRef as forwardRefType)(Group);
101
- export {_Group as Group};
98
+ });
package/src/Heading.tsx CHANGED
@@ -18,7 +18,7 @@ export interface HeadingProps extends HTMLAttributes<HTMLElement> {
18
18
  level?: number
19
19
  }
20
20
 
21
- function Heading(props: HeadingProps, ref: ForwardedRef<HTMLHeadingElement>) {
21
+ export const Heading = forwardRef(function Heading(props: HeadingProps, ref: ForwardedRef<HTMLHeadingElement>) {
22
22
  [props, ref] = useContextProps(props, ref, HeadingContext);
23
23
  let {children, level = 3, className, ...domProps} = props;
24
24
  let Element = `h${level}` as ElementType;
@@ -28,7 +28,4 @@ function Heading(props: HeadingProps, ref: ForwardedRef<HTMLHeadingElement>) {
28
28
  {children}
29
29
  </Element>
30
30
  );
31
- }
32
-
33
- const _Heading = forwardRef(Heading);
34
- export {_Heading as Heading};
31
+ });
package/src/Input.tsx CHANGED
@@ -53,7 +53,10 @@ let filterHoverProps = (props: InputProps) => {
53
53
  return otherProps;
54
54
  };
55
55
 
56
- function Input(props: InputProps, ref: ForwardedRef<HTMLInputElement>) {
56
+ /**
57
+ * An input allows a user to input text.
58
+ */
59
+ export const Input = /*#__PURE__*/ createHideableComponent(function Input(props: InputProps, ref: ForwardedRef<HTMLInputElement>) {
57
60
  [props, ref] = useContextProps(props, ref, InputContext);
58
61
 
59
62
  let {hoverProps, isHovered} = useHover(props);
@@ -86,10 +89,4 @@ function Input(props: InputProps, ref: ForwardedRef<HTMLInputElement>) {
86
89
  data-focus-visible={isFocusVisible || undefined}
87
90
  data-invalid={isInvalid || undefined} />
88
91
  );
89
- }
90
-
91
- /**
92
- * An input allows a user to input text.
93
- */
94
- const _Input = /*#__PURE__*/ createHideableComponent(Input);
95
- export {_Input as Input};
92
+ });
package/src/Keyboard.tsx CHANGED
@@ -15,10 +15,7 @@ import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 're
15
15
 
16
16
  export const KeyboardContext = createContext<ContextValue<HTMLAttributes<HTMLElement>, HTMLElement>>({});
17
17
 
18
- function Keyboard(props: HTMLAttributes<HTMLElement>, ref: ForwardedRef<HTMLElement>) {
18
+ export const Keyboard = forwardRef(function Keyboard(props: HTMLAttributes<HTMLElement>, ref: ForwardedRef<HTMLElement>) {
19
19
  [props, ref] = useContextProps(props, ref, KeyboardContext);
20
20
  return <kbd dir="ltr" {...props} ref={ref} />;
21
- }
22
-
23
- const _Keyboard = forwardRef(Keyboard);
24
- export {_Keyboard as Keyboard};
21
+ });
package/src/Label.tsx CHANGED
@@ -20,12 +20,9 @@ export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
20
20
 
21
21
  export const LabelContext = createContext<ContextValue<LabelProps, HTMLLabelElement>>({});
22
22
 
23
- function Label(props: LabelProps, ref: ForwardedRef<HTMLLabelElement>) {
23
+ export const Label = /*#__PURE__*/ createHideableComponent(function Label(props: LabelProps, ref: ForwardedRef<HTMLLabelElement>) {
24
24
  [props, ref] = useContextProps(props, ref, LabelContext);
25
25
  let {elementType: ElementType = 'label', ...labelProps} = props;
26
26
  // @ts-ignore
27
27
  return <ElementType className="react-aria-Label" {...labelProps} ref={ref} />;
28
- }
29
-
30
- const _Label = /*#__PURE__*/ createHideableComponent(Label);
31
- export {_Label as Label};
28
+ });
package/src/Link.tsx CHANGED
@@ -52,7 +52,11 @@ export interface LinkRenderProps {
52
52
 
53
53
  export const LinkContext = createContext<ContextValue<LinkProps, HTMLAnchorElement>>(null);
54
54
 
55
- function Link(props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) {
55
+ /**
56
+ * A link allows a user to navigate to another page or resource within a web page
57
+ * or application.
58
+ */
59
+ export const Link = /*#__PURE__*/ (forwardRef as forwardRefType)(function Link(props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) {
56
60
  [props, ref] = useContextProps(props, ref, LinkContext);
57
61
 
58
62
  let ElementType: ElementType = props.href && !props.isDisabled ? 'a' : 'span';
@@ -88,11 +92,4 @@ function Link(props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) {
88
92
  {renderProps.children}
89
93
  </ElementType>
90
94
  );
91
- }
92
-
93
- /**
94
- * A link allows a user to navigate to another page or resource within a web page
95
- * or application.
96
- */
97
- const _Link = /*#__PURE__*/ (forwardRef as forwardRefType)(Link);
98
- export {_Link as Link};
95
+ });
package/src/ListBox.tsx CHANGED
@@ -79,7 +79,10 @@ export interface ListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'children' |
79
79
  export const ListBoxContext = createContext<ContextValue<ListBoxProps<any>, HTMLDivElement>>(null);
80
80
  export const ListStateContext = createContext<ListState<any> | null>(null);
81
81
 
82
- function ListBox<T extends object>(props: ListBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {
82
+ /**
83
+ * A listbox displays a list of options and allows a user to select one or more of them.
84
+ */
85
+ export const ListBox = /*#__PURE__*/ (forwardRef as forwardRefType)(function ListBox<T extends object>(props: ListBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {
83
86
  [props, ref] = useContextProps(props, ref, ListBoxContext);
84
87
  let state = useContext(ListStateContext);
85
88
 
@@ -98,7 +101,7 @@ function ListBox<T extends object>(props: ListBoxProps<T>, ref: ForwardedRef<HTM
98
101
  {collection => <StandaloneListBox props={props} listBoxRef={ref} collection={collection} />}
99
102
  </CollectionBuilder>
100
103
  );
101
- }
104
+ });
102
105
 
103
106
  function StandaloneListBox({props, listBoxRef, collection}) {
104
107
  props = {...props, collection, children: null, items: null};
@@ -107,12 +110,6 @@ function StandaloneListBox({props, listBoxRef, collection}) {
107
110
  return <ListBoxInner state={state} props={props} listBoxRef={listBoxRef} />;
108
111
  }
109
112
 
110
- /**
111
- * A listbox displays a list of options and allows a user to select one or more of them.
112
- */
113
- const _ListBox = /*#__PURE__*/ (forwardRef as forwardRefType)(ListBox);
114
- export {_ListBox as ListBox};
115
-
116
113
  interface ListBoxInnerProps<T> {
117
114
  state: ListState<T>,
118
115
  props: ListBoxProps<T> & AriaListBoxOptions<T>,
@@ -246,7 +243,7 @@ function ListBoxInner<T extends object>({state, props, listBoxRef}: ListBoxInner
246
243
  [DragAndDropContext, {dragAndDropHooks, dragState, dropState}],
247
244
  [SeparatorContext, {elementType: 'div'}],
248
245
  [DropIndicatorContext, {render: ListBoxDropIndicatorWrapper}],
249
- [SectionContext, {name: 'ListBoxSection', render: ListBoxSection}]
246
+ [SectionContext, {name: 'ListBoxSection', render: ListBoxSectionInner}]
250
247
  ]}>
251
248
  <CollectionRoot
252
249
  collection={collection}
@@ -263,7 +260,7 @@ function ListBoxInner<T extends object>({state, props, listBoxRef}: ListBoxInner
263
260
 
264
261
  export interface ListBoxSectionProps<T> extends SectionProps<T> {}
265
262
 
266
- function ListBoxSection<T extends object>(props: ListBoxSectionProps<T>, ref: ForwardedRef<HTMLElement>, section: Node<T>, className = 'react-aria-ListBoxSection') {
263
+ function ListBoxSectionInner<T extends object>(props: ListBoxSectionProps<T>, ref: ForwardedRef<HTMLElement>, section: Node<T>, className = 'react-aria-ListBoxSection') {
267
264
  let state = useContext(ListStateContext)!;
268
265
  let {dragAndDropHooks, dropState} = useContext(DragAndDropContext)!;
269
266
  let {CollectionBranch} = useContext(CollectionRendererContext);
@@ -298,8 +295,7 @@ function ListBoxSection<T extends object>(props: ListBoxSectionProps<T>, ref: Fo
298
295
  /**
299
296
  * A ListBoxSection represents a section within a ListBox.
300
297
  */
301
- const _ListBoxSection = /*#__PURE__*/ createBranchComponent('section', ListBoxSection);
302
- export {_ListBoxSection as ListBoxSection};
298
+ export const ListBoxSection = /*#__PURE__*/ createBranchComponent('section', ListBoxSectionInner);
303
299
 
304
300
  export interface ListBoxItemRenderProps extends ItemRenderProps {}
305
301
 
package/src/Menu.tsx CHANGED
@@ -151,7 +151,10 @@ export const SubmenuTrigger = /*#__PURE__*/ createBranchComponent('submenutrigg
151
151
 
152
152
  export interface MenuProps<T> extends Omit<AriaMenuProps<T>, 'children'>, CollectionProps<T>, StyleProps, SlotProps, ScrollableProps<HTMLDivElement> {}
153
153
 
154
- function Menu<T extends object>(props: MenuProps<T>, ref: ForwardedRef<HTMLDivElement>) {
154
+ /**
155
+ * A menu displays a list of actions or options that a user can choose.
156
+ */
157
+ export const Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(function Menu<T extends object>(props: MenuProps<T>, ref: ForwardedRef<HTMLDivElement>) {
155
158
  [props, ref] = useContextProps(props, ref, MenuContext);
156
159
 
157
160
  // Delay rendering the actual menu until we have the collection so that auto focus works properly.
@@ -160,7 +163,7 @@ function Menu<T extends object>(props: MenuProps<T>, ref: ForwardedRef<HTMLDivEl
160
163
  {collection => collection.size > 0 && <MenuInner props={props} collection={collection} menuRef={ref} />}
161
164
  </CollectionBuilder>
162
165
  );
163
- }
166
+ });
164
167
 
165
168
  interface MenuInnerProps<T> {
166
169
  props: MenuProps<T>,
@@ -197,7 +200,7 @@ function MenuInner<T extends object>({props, collection, menuRef: ref}: MenuInne
197
200
  values={[
198
201
  [MenuStateContext, state],
199
202
  [SeparatorContext, {elementType: 'div'}],
200
- [SectionContext, {name: 'MenuSection', render: MenuSection}],
203
+ [SectionContext, {name: 'MenuSection', render: MenuSectionInner}],
201
204
  [SubmenuTriggerContext, {parentMenuRef: ref}],
202
205
  [MenuItemContext, null],
203
206
  [SelectionManagerContext, state.selectionManager]
@@ -212,12 +215,6 @@ function MenuInner<T extends object>({props, collection, menuRef: ref}: MenuInne
212
215
  );
213
216
  }
214
217
 
215
- /**
216
- * A menu displays a list of actions or options that a user can choose.
217
- */
218
- const _Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(Menu);
219
- export {_Menu as Menu};
220
-
221
218
  export interface MenuSectionProps<T> extends SectionProps<T>, MultipleSelection {}
222
219
 
223
220
  // A subclass of SelectionManager that forwards focus-related properties to the parent,
@@ -251,7 +248,7 @@ class GroupSelectionManager extends SelectionManager {
251
248
  }
252
249
  }
253
250
 
254
- function MenuSection<T extends object>(props: MenuSectionProps<T>, ref: ForwardedRef<HTMLElement>, section: Node<T>, className = 'react-aria-MenuSection') {
251
+ function MenuSectionInner<T extends object>(props: MenuSectionProps<T>, ref: ForwardedRef<HTMLElement>, section: Node<T>, className = 'react-aria-MenuSection') {
255
252
  let state = useContext(MenuStateContext)!;
256
253
  let {CollectionBranch} = useContext(CollectionRendererContext);
257
254
  let [headingRef, heading] = useSlot();
@@ -290,8 +287,7 @@ function MenuSection<T extends object>(props: MenuSectionProps<T>, ref: Forwarde
290
287
  /**
291
288
  * A MenuSection represents a section within a Menu.
292
289
  */
293
- const _MenuSection = /*#__PURE__*/ createBranchComponent('section', MenuSection);
294
- export {_MenuSection as MenuSection};
290
+ export const MenuSection = /*#__PURE__*/ createBranchComponent('section', MenuSectionInner);
295
291
 
296
292
  export interface MenuItemRenderProps extends ItemRenderProps {
297
293
  /**
package/src/Meter.tsx CHANGED
@@ -33,7 +33,10 @@ export interface MeterRenderProps {
33
33
 
34
34
  export const MeterContext = createContext<ContextValue<MeterProps, HTMLDivElement>>(null);
35
35
 
36
- function Meter(props: MeterProps, ref: ForwardedRef<HTMLDivElement>) {
36
+ /**
37
+ * A meter represents a quantity within a known range, or a fractional value.
38
+ */
39
+ export const Meter = /*#__PURE__*/ (forwardRef as forwardRefType)(function Meter(props: MeterProps, ref: ForwardedRef<HTMLDivElement>) {
37
40
  [props, ref] = useContextProps(props, ref, MeterContext);
38
41
  let {
39
42
  value = 0,
@@ -67,10 +70,4 @@ function Meter(props: MeterProps, ref: ForwardedRef<HTMLDivElement>) {
67
70
  </LabelContext.Provider>
68
71
  </div>
69
72
  );
70
- }
71
-
72
- /**
73
- * A meter represents a quantity within a known range, or a fractional value.
74
- */
75
- const _Meter = /*#__PURE__*/ (forwardRef as forwardRefType)(Meter);
76
- export {_Meter as Meter};
73
+ });
package/src/Modal.tsx CHANGED
@@ -61,7 +61,10 @@ export interface ModalRenderProps {
61
61
  state: OverlayTriggerState
62
62
  }
63
63
 
64
- function Modal(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {
64
+ /**
65
+ * A modal is an overlay element which blocks interaction with elements outside it.
66
+ */
67
+ export const Modal = /*#__PURE__*/ (forwardRef as forwardRefType)(function Modal(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {
65
68
  let ctx = useContext(InternalModalContext);
66
69
 
67
70
  if (ctx) {
@@ -98,7 +101,7 @@ function Modal(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {
98
101
  </ModalContent>
99
102
  </ModalOverlay>
100
103
  );
101
- }
104
+ });
102
105
 
103
106
  interface ModalOverlayInnerProps extends ModalOverlayProps {
104
107
  overlayRef: RefObject<HTMLDivElement | null>,
@@ -107,12 +110,6 @@ interface ModalOverlayInnerProps extends ModalOverlayProps {
107
110
  isExiting: boolean
108
111
  }
109
112
 
110
- /**
111
- * A modal is an overlay element which blocks interaction with elements outside it.
112
- */
113
- const _Modal = /*#__PURE__*/ (forwardRef as forwardRefType)(Modal);
114
- export {_Modal as Modal};
115
-
116
113
  function ModalOverlayWithForwardRef(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {
117
114
  [props, ref] = useContextProps(props, ref, ModalContext);
118
115
  let contextState = useContext(OverlayTriggerStateContext);
@@ -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
@@ -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
+ });
@@ -50,7 +50,10 @@ 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';
@@ -108,10 +111,4 @@ function SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>)
108
111
  </Provider>
109
112
  </div>
110
113
  );
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};
114
+ });
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>,
@@ -208,12 +211,6 @@ function SelectInner<T extends object>({props, selectRef: ref, collection}: Sele
208
211
  );
209
212
  }
210
213
 
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
214
  export interface SelectValueRenderProps<T> {
218
215
  /**
219
216
  * Whether the value is a placeholder.
@@ -230,7 +227,11 @@ export interface SelectValueProps<T extends object> extends Omit<HTMLAttributes<
230
227
 
231
228
  export const SelectValueContext = createContext<ContextValue<SelectValueProps<any>, HTMLSpanElement>>(null);
232
229
 
233
- function SelectValue<T extends object>(props: SelectValueProps<T>, ref: ForwardedRef<HTMLSpanElement>) {
230
+ /**
231
+ * SelectValue renders the current value of a Select, or a placeholder if no value is selected.
232
+ * It is usually placed within the button element.
233
+ */
234
+ export const SelectValue = /*#__PURE__*/ (forwardRef as forwardRefType)(function SelectValue<T extends object>(props: SelectValueProps<T>, ref: ForwardedRef<HTMLSpanElement>) {
234
235
  [props, ref] = useContextProps(props, ref, SelectValueContext);
235
236
  let state = useContext(SelectStateContext)!;
236
237
  let {placeholder} = useSlottedContext(SelectContext)!;
@@ -276,11 +277,4 @@ function SelectValue<T extends object>(props: SelectValueProps<T>, ref: Forwarde
276
277
  </TextContext.Provider>
277
278
  </span>
278
279
  );
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};
280
+ });