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/Checkbox.tsx CHANGED
@@ -112,7 +112,10 @@ export interface CheckboxRenderProps {
112
112
  export const CheckboxGroupContext = createContext<ContextValue<CheckboxGroupProps, HTMLDivElement>>(null);
113
113
  export const CheckboxGroupStateContext = createContext<CheckboxGroupState | null>(null);
114
114
 
115
- function CheckboxGroup(props: CheckboxGroupProps, ref: ForwardedRef<HTMLDivElement>) {
115
+ /**
116
+ * A checkbox group allows a user to select multiple items from a list of options.
117
+ */
118
+ export const CheckboxGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function CheckboxGroup(props: CheckboxGroupProps, ref: ForwardedRef<HTMLDivElement>) {
116
119
  [props, ref] = useContextProps(props, ref, CheckboxGroupContext);
117
120
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
118
121
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
@@ -165,9 +168,13 @@ function CheckboxGroup(props: CheckboxGroupProps, ref: ForwardedRef<HTMLDivEleme
165
168
  </Provider>
166
169
  </div>
167
170
  );
168
- }
171
+ });
169
172
 
170
- function Checkbox(props: CheckboxProps, ref: ForwardedRef<HTMLLabelElement>) {
173
+ /**
174
+ * A checkbox allows a user to select multiple items from a list of individual items, or
175
+ * to mark one individual item as selected.
176
+ */
177
+ export const Checkbox = /*#__PURE__*/ (forwardRef as forwardRefType)(function Checkbox(props: CheckboxProps, ref: ForwardedRef<HTMLLabelElement>) {
171
178
  let {
172
179
  inputRef: userProvidedInputRef = null,
173
180
  ...otherProps
@@ -244,17 +251,4 @@ function Checkbox(props: CheckboxProps, ref: ForwardedRef<HTMLLabelElement>) {
244
251
  {renderProps.children}
245
252
  </label>
246
253
  );
247
- }
248
-
249
- /**
250
- * A checkbox allows a user to select multiple items from a list of individual items, or
251
- * to mark one individual item as selected.
252
- */
253
- const _Checkbox = /*#__PURE__*/ (forwardRef as forwardRefType)(Checkbox);
254
-
255
- /**
256
- * A checkbox group allows a user to select multiple items from a list of options.
257
- */
258
- const _CheckboxGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(CheckboxGroup);
259
-
260
- export {_Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup};
254
+ });
package/src/ColorArea.tsx CHANGED
@@ -23,7 +23,10 @@ export interface ColorAreaProps extends AriaColorAreaProps, RenderProps<ColorAre
23
23
 
24
24
  export const ColorAreaStateContext = createContext<ColorAreaState | null>(null);
25
25
 
26
- function ColorArea(props: ColorAreaProps, ref: ForwardedRef<HTMLDivElement>) {
26
+ /**
27
+ * A color area allows users to adjust two channels of an RGB, HSL or HSB color value against a two-dimensional gradient background.
28
+ */
29
+ export const ColorArea = forwardRef(function ColorArea(props: ColorAreaProps, ref: ForwardedRef<HTMLDivElement>) {
27
30
  [props, ref] = useContextProps(props, ref, ColorAreaContext);
28
31
  let inputXRef = useRef(null);
29
32
  let inputYRef = useRef(null);
@@ -71,10 +74,4 @@ function ColorArea(props: ColorAreaProps, ref: ForwardedRef<HTMLDivElement>) {
71
74
  </Provider>
72
75
  </div>
73
76
  );
74
- }
75
-
76
- /**
77
- * A color area allows users to adjust two channels of an RGB, HSL or HSB color value against a two-dimensional gradient background.
78
- */
79
- const _ColorArea = forwardRef(ColorArea);
80
- export {_ColorArea as ColorArea};
77
+ });
@@ -61,20 +61,17 @@ export interface ColorFieldProps extends Omit<AriaColorFieldProps, 'label' | 'pl
61
61
 
62
62
  export const ColorFieldStateContext = createContext<ColorFieldState | null>(null);
63
63
 
64
- function ColorField(props: ColorFieldProps, ref: ForwardedRef<HTMLDivElement>) {
64
+ /**
65
+ * A color field allows users to edit a hex color or individual color channel value.
66
+ */
67
+ export const ColorField = forwardRef(function ColorField(props: ColorFieldProps, ref: ForwardedRef<HTMLDivElement>) {
65
68
  [props, ref] = useContextProps(props, ref, ColorFieldContext);
66
69
  if (props.channel) {
67
70
  return <ColorChannelField {...props} channel={props.channel} forwardedRef={ref} />;
68
71
  } else {
69
72
  return <HexColorField {...props} forwardedRef={ref} />;
70
73
  }
71
- }
72
-
73
- /**
74
- * A color field allows users to edit a hex color or individual color channel value.
75
- */
76
- const _ColorField = forwardRef(ColorField);
77
- export {_ColorField as ColorField};
74
+ });
78
75
 
79
76
  interface ColorChannelFieldProps extends Omit<ColorFieldProps, 'channel'> {
80
77
  channel: ColorChannel,
@@ -31,7 +31,10 @@ export interface ColorSliderProps extends Omit<AriaColorSliderProps, 'label'>, R
31
31
 
32
32
  export const ColorSliderStateContext = createContext<ColorSliderState | null>(null);
33
33
 
34
- function ColorSlider(props: ColorSliderProps, ref: ForwardedRef<HTMLDivElement>) {
34
+ /**
35
+ * A color slider allows users to adjust an individual channel of a color value.
36
+ */
37
+ export const ColorSlider = forwardRef(function ColorSlider(props: ColorSliderProps, ref: ForwardedRef<HTMLDivElement>) {
35
38
  [props, ref] = useContextProps(props, ref, ColorSliderContext);
36
39
  let {locale} = useLocale();
37
40
  let state = useColorSliderState({...props, locale});
@@ -88,10 +91,4 @@ function ColorSlider(props: ColorSliderProps, ref: ForwardedRef<HTMLDivElement>)
88
91
  data-disabled={state.isDisabled || undefined} />
89
92
  </Provider>
90
93
  );
91
- }
92
-
93
- /**
94
- * A color slider allows users to adjust an individual channel of a color value.
95
- */
96
- const _ColorSlider = forwardRef(ColorSlider);
97
- export {_ColorSlider as ColorSlider};
94
+ });
@@ -12,7 +12,10 @@ export interface ColorSwatchProps extends AriaColorSwatchProps, StyleRenderProps
12
12
 
13
13
  export const ColorSwatchContext = createContext<ContextValue<ColorSwatchProps, HTMLDivElement>>(null);
14
14
 
15
- function ColorSwatch(props: ColorSwatchProps, ref: ForwardedRef<HTMLDivElement>) {
15
+ /**
16
+ * A ColorSwatch displays a preview of a selected color.
17
+ */
18
+ export const ColorSwatch = forwardRef(function ColorSwatch(props: ColorSwatchProps, ref: ForwardedRef<HTMLDivElement>) {
16
19
  [props, ref] = useContextProps(props, ref, ColorSwatchContext);
17
20
  let {colorSwatchProps, color} = useColorSwatch(props);
18
21
  let renderProps = useRenderProps({
@@ -31,10 +34,4 @@ function ColorSwatch(props: ColorSwatchProps, ref: ForwardedRef<HTMLDivElement>)
31
34
  slot={props.slot || undefined}
32
35
  ref={ref} />
33
36
  );
34
- }
35
-
36
- /**
37
- * A ColorSwatch displays a preview of a selected color.
38
- */
39
- const _ColorSwatch = forwardRef(ColorSwatch);
40
- export {_ColorSwatch as ColorSwatch};
37
+ });
@@ -23,7 +23,10 @@ export interface ColorSwatchPickerProps extends ValueBase<string | Color, Color>
23
23
  export const ColorSwatchPickerContext = createContext<ContextValue<ColorSwatchPickerProps, HTMLDivElement>>(null);
24
24
  const ColorMapContext = createContext<Map<string, Color> | null>(null);
25
25
 
26
- function ColorSwatchPicker(props: ColorSwatchPickerProps, ref: ForwardedRef<HTMLDivElement>) {
26
+ /**
27
+ * A ColorSwatchPicker displays a list of color swatches and allows a user to select one of them.
28
+ */
29
+ export const ColorSwatchPicker = forwardRef(function ColorSwatchPicker(props: ColorSwatchPickerProps, ref: ForwardedRef<HTMLDivElement>) {
27
30
  [props, ref] = useContextProps(props, ref, ColorSwatchPickerContext);
28
31
  let state = useColorPickerState(props);
29
32
  let colorMap = useMemo(() => new Map(), []);
@@ -51,13 +54,7 @@ function ColorSwatchPicker(props: ColorSwatchPickerProps, ref: ForwardedRef<HTML
51
54
  </ColorMapContext.Provider>
52
55
  </ListBox>
53
56
  );
54
- }
55
-
56
- /**
57
- * A ColorSwatchPicker displays a list of color swatches and allows a user to select one of them.
58
- */
59
- let _ColorSwatchPicker = forwardRef(ColorSwatchPicker);
60
- export {_ColorSwatchPicker as ColorSwatchPicker};
57
+ });
61
58
 
62
59
  export interface ColorSwatchPickerItemRenderProps extends Omit<ListBoxItemRenderProps, 'selectionMode' | 'selectionBehavior'> {
63
60
  /** The color of the swatch. */
@@ -71,7 +68,7 @@ export interface ColorSwatchPickerItemProps extends RenderProps<ColorSwatchPicke
71
68
  isDisabled?: boolean
72
69
  }
73
70
 
74
- function ColorSwatchPickerItem(props: ColorSwatchPickerItemProps, ref: ForwardedRef<HTMLDivElement>) {
71
+ export const ColorSwatchPickerItem = forwardRef(function ColorSwatchPickerItem(props: ColorSwatchPickerItemProps, ref: ForwardedRef<HTMLDivElement>) {
75
72
  let propColor = props.color || '#0000';
76
73
  let color = useMemo(() => typeof propColor === 'string' ? parseColor(propColor) : propColor, [propColor]);
77
74
  let {locale} = useLocale();
@@ -106,7 +103,4 @@ function ColorSwatchPickerItem(props: ColorSwatchPickerItemProps, ref: Forwarded
106
103
  ))}
107
104
  </ListBoxItem>
108
105
  );
109
- }
110
-
111
- let _ColorSwatchPickerItem = forwardRef(ColorSwatchPickerItem);
112
- export {_ColorSwatchPickerItem as ColorSwatchPickerItem};
106
+ });
@@ -58,7 +58,10 @@ export interface ColorThumbRenderProps {
58
58
 
59
59
  export interface ColorThumbProps extends HoverEvents, RenderProps<ColorThumbRenderProps> {}
60
60
 
61
- function ColorThumb(props: ColorThumbProps, ref: ForwardedRef<HTMLDivElement>) {
61
+ /**
62
+ * A color thumb appears within a ColorArea, ColorSlider, or ColorWheel and allows a user to drag to adjust the color value.
63
+ */
64
+ export const ColorThumb = forwardRef(function ColorThumb(props: ColorThumbProps, ref: ForwardedRef<HTMLDivElement>) {
62
65
  let {state, thumbProps, inputXRef, inputYRef, xInputProps, yInputProps, isDisabled = false} = useContext(InternalColorThumbContext)!;
63
66
  let {focusProps, isFocused, isFocusVisible} = useFocusRing();
64
67
  let {hoverProps, isHovered} = useHover(props);
@@ -98,10 +101,4 @@ function ColorThumb(props: ColorThumbProps, ref: ForwardedRef<HTMLDivElement>) {
98
101
  {renderProps.children}
99
102
  </div>
100
103
  );
101
- }
102
-
103
- /**
104
- * A color thumb appears within a ColorArea, ColorSlider, or ColorWheel and allows a user to drag to adjust the color value.
105
- */
106
- const _ColorThumb = forwardRef(ColorThumb);
107
- export {_ColorThumb as ColorThumb};
104
+ });
@@ -22,7 +22,10 @@ export interface ColorWheelProps extends AriaColorWheelOptions, RenderProps<Colo
22
22
 
23
23
  export const ColorWheelStateContext = createContext<ColorWheelState | null>(null);
24
24
 
25
- function ColorWheel(props: ColorWheelProps, ref: ForwardedRef<HTMLDivElement>) {
25
+ /**
26
+ * A color wheel allows users to adjust the hue of an HSL or HSB color value on a circular track.
27
+ */
28
+ export const ColorWheel = forwardRef(function ColorWheel(props: ColorWheelProps, ref: ForwardedRef<HTMLDivElement>) {
26
29
  [props, ref] = useContextProps(props, ref, ColorWheelContext);
27
30
  let state = useColorWheelState(props);
28
31
  let inputRef = useRef(null);
@@ -60,13 +63,7 @@ function ColorWheel(props: ColorWheelProps, ref: ForwardedRef<HTMLDivElement>) {
60
63
  </Provider>
61
64
  </div>
62
65
  );
63
- }
64
-
65
- /**
66
- * A color wheel allows users to adjust the hue of an HSL or HSB color value on a circular track.
67
- */
68
- const _ColorWheel = forwardRef(ColorWheel);
69
- export {_ColorWheel as ColorWheel};
66
+ });
70
67
 
71
68
  export interface ColorWheelTrackRenderProps extends ColorWheelRenderProps {}
72
69
  export interface ColorWheelTrackProps extends StyleRenderProps<ColorWheelTrackRenderProps> {}
@@ -74,7 +71,10 @@ interface ColorWheelTrackContextValue extends Omit<HTMLAttributes<HTMLElement>,
74
71
 
75
72
  export const ColorWheelTrackContext = createContext<ContextValue<ColorWheelTrackContextValue, HTMLDivElement>>(null);
76
73
 
77
- function ColorWheelTrack(props: ColorWheelTrackProps, ref: ForwardedRef<HTMLDivElement>) {
74
+ /**
75
+ * A color wheel track renders a circular gradient track.
76
+ */
77
+ export const ColorWheelTrack = forwardRef(function ColorWheelTrack(props: ColorWheelTrackProps, ref: ForwardedRef<HTMLDivElement>) {
78
78
  [props, ref] = useContextProps(props, ref, ColorWheelTrackContext);
79
79
  let state = useContext(ColorWheelStateContext)!;
80
80
 
@@ -94,10 +94,4 @@ function ColorWheelTrack(props: ColorWheelTrackProps, ref: ForwardedRef<HTMLDivE
94
94
  ref={ref}
95
95
  data-disabled={state.isDisabled || undefined} />
96
96
  );
97
- }
98
-
99
- /**
100
- * A color wheel track renders a circular gradient track.
101
- */
102
- const _ColorWheelTrack = forwardRef(ColorWheelTrack);
103
- export {_ColorWheelTrack as ColorWheelTrack};
97
+ });
package/src/ComboBox.tsx CHANGED
@@ -66,7 +66,10 @@ export interface ComboBoxProps<T extends object> extends Omit<AriaComboBoxProps<
66
66
  export const ComboBoxContext = createContext<ContextValue<ComboBoxProps<any>, HTMLDivElement>>(null);
67
67
  export const ComboBoxStateContext = createContext<ComboBoxState<any> | null>(null);
68
68
 
69
- function ComboBox<T extends object>(props: ComboBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {
69
+ /**
70
+ * A combo box combines a text input with a listbox, allowing users to filter a list of options to items matching a query.
71
+ */
72
+ export const ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(function ComboBox<T extends object>(props: ComboBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {
70
73
  [props, ref] = useContextProps(props, ref, ComboBoxContext);
71
74
  let {children, isDisabled = false, isInvalid = false, isRequired = false} = props;
72
75
  let content = useMemo(() => (
@@ -88,7 +91,7 @@ function ComboBox<T extends object>(props: ComboBoxProps<T>, ref: ForwardedRef<H
88
91
  {collection => <ComboBoxInner props={props} collection={collection} comboBoxRef={ref} />}
89
92
  </CollectionBuilder>
90
93
  );
91
- }
94
+ });
92
95
 
93
96
  interface ComboBoxInnerProps<T extends object> {
94
97
  props: ComboBoxProps<T>,
@@ -219,9 +222,3 @@ function ComboBoxInner<T extends object>({props, collection, comboBoxRef: ref}:
219
222
  </Provider>
220
223
  );
221
224
  }
222
-
223
- /**
224
- * A combo box combines a text input with a listbox, allowing users to filter a list of options to items matching a query.
225
- */
226
- const _ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(ComboBox);
227
- export {_ComboBox as ComboBox};
package/src/DateField.tsx CHANGED
@@ -47,7 +47,11 @@ export const TimeFieldContext = createContext<ContextValue<TimeFieldProps<any>,
47
47
  export const DateFieldStateContext = createContext<DateFieldState | null>(null);
48
48
  export const TimeFieldStateContext = createContext<TimeFieldState | null>(null);
49
49
 
50
- function DateField<T extends DateValue>(props: DateFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {
50
+ /**
51
+ * A date field allows users to enter and edit date and time values using a keyboard.
52
+ * Each part of a date value is displayed in an individually editable segment.
53
+ */
54
+ export const DateField = /*#__PURE__*/ (forwardRef as forwardRefType)(function DateField<T extends DateValue>(props: DateFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {
51
55
  [props, ref] = useContextProps(props, ref, DateFieldContext);
52
56
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
53
57
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
@@ -105,16 +109,13 @@ function DateField<T extends DateValue>(props: DateFieldProps<T>, ref: Forwarded
105
109
  data-invalid={state.isInvalid || undefined} />
106
110
  </Provider>
107
111
  );
108
- }
112
+ });
109
113
 
110
114
  /**
111
- * A date field allows users to enter and edit date and time values using a keyboard.
112
- * Each part of a date value is displayed in an individually editable segment.
115
+ * A time field allows users to enter and edit time values using a keyboard.
116
+ * Each part of a time value is displayed in an individually editable segment.
113
117
  */
114
- const _DateField = /*#__PURE__*/ (forwardRef as forwardRefType)(DateField);
115
- export {_DateField as DateField};
116
-
117
- function TimeField<T extends TimeValue>(props: TimeFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {
118
+ export const TimeField = /*#__PURE__*/ (forwardRef as forwardRefType)(function TimeField<T extends TimeValue>(props: TimeFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {
118
119
  [props, ref] = useContextProps(props, ref, TimeFieldContext);
119
120
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
120
121
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
@@ -171,14 +172,7 @@ function TimeField<T extends TimeValue>(props: TimeFieldProps<T>, ref: Forwarded
171
172
  data-invalid={state.isInvalid || undefined} />
172
173
  </Provider>
173
174
  );
174
- }
175
-
176
- /**
177
- * A time field allows users to enter and edit time values using a keyboard.
178
- * Each part of a time value is displayed in an individually editable segment.
179
- */
180
- const _TimeField = /*#__PURE__*/ (forwardRef as forwardRefType)(TimeField);
181
- export {_TimeField as TimeField};
175
+ });
182
176
 
183
177
  export interface DateInputRenderProps {
184
178
  /**
@@ -213,7 +207,10 @@ export interface DateInputProps extends SlotProps, StyleRenderProps<DateInputRen
213
207
  children: (segment: IDateSegment) => ReactElement
214
208
  }
215
209
 
216
- function DateInput(props: DateInputProps, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
210
+ /**
211
+ * A date input groups the editable date segments within a date field.
212
+ */
213
+ export const DateInput = /*#__PURE__*/ (forwardRef as forwardRefType)(function DateInput(props: DateInputProps, ref: ForwardedRef<HTMLDivElement>): JSX.Element {
217
214
  // If state is provided by DateField/TimeField, just render.
218
215
  // Otherwise (e.g. in DatePicker), we need to call hooks and create state ourselves.
219
216
  let dateFieldState = useContext(DateFieldStateContext);
@@ -221,7 +218,7 @@ function DateInput(props: DateInputProps, ref: ForwardedRef<HTMLDivElement>): JS
221
218
  return dateFieldState || timeFieldState
222
219
  ? <DateInputInner {...props} ref={ref} />
223
220
  : <DateInputStandalone {...props} ref={ref} />;
224
- }
221
+ });
225
222
 
226
223
  const DateInputStandalone = forwardRef((props: DateInputProps, ref: ForwardedRef<HTMLDivElement>) => {
227
224
  let [dateFieldProps, fieldRef] = useContextProps({slot: props.slot} as DateFieldProps<any>, ref, DateFieldContext);
@@ -268,12 +265,6 @@ const DateInputInner = forwardRef((props: DateInputProps, ref: ForwardedRef<HTML
268
265
  );
269
266
  });
270
267
 
271
- /**
272
- * A date input groups the editable date segments within a date field.
273
- */
274
- const _DateInput = /*#__PURE__*/ (forwardRef as forwardRefType)(DateInput);
275
- export {_DateInput as DateInput};
276
-
277
268
  export interface DateSegmentRenderProps extends Omit<IDateSegment, 'isEditable'> {
278
269
  /**
279
270
  * Whether the segment is currently hovered with a mouse.
@@ -321,7 +312,11 @@ export interface DateSegmentProps extends RenderProps<DateSegmentRenderProps>, H
321
312
  segment: IDateSegment
322
313
  }
323
314
 
324
- function DateSegment({segment, ...otherProps}: DateSegmentProps, ref: ForwardedRef<HTMLDivElement>) {
315
+ /**
316
+ * A date segment displays an individual unit of a date and time, and allows users to edit
317
+ * the value by typing or using the arrow keys to increment and decrement.
318
+ */
319
+ export const DateSegment = /*#__PURE__*/ (forwardRef as forwardRefType)(function DateSegment({segment, ...otherProps}: DateSegmentProps, ref: ForwardedRef<HTMLDivElement>) {
325
320
  let dateFieldState = useContext(DateFieldStateContext);
326
321
  let timeFieldState = useContext(TimeFieldStateContext);
327
322
  let state = dateFieldState ?? timeFieldState!;
@@ -359,11 +354,4 @@ function DateSegment({segment, ...otherProps}: DateSegmentProps, ref: ForwardedR
359
354
  data-focused={isFocused || undefined}
360
355
  data-focus-visible={isFocusVisible || undefined} />
361
356
  );
362
- }
363
-
364
- /**
365
- * A date segment displays an individual unit of a date and time, and allows users to edit
366
- * the value by typing or using the arrow keys to increment and decrement.
367
- */
368
- const _DateSegment = /*#__PURE__*/ (forwardRef as forwardRefType)(DateSegment);
369
- export {_DateSegment as DateSegment};
357
+ });
@@ -72,7 +72,10 @@ export const DateRangePickerContext = createContext<ContextValue<DateRangePicker
72
72
  export const DatePickerStateContext = createContext<DatePickerState | null>(null);
73
73
  export const DateRangePickerStateContext = createContext<DateRangePickerState | null>(null);
74
74
 
75
- function DatePicker<T extends DateValue>(props: DatePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {
75
+ /**
76
+ * A date picker combines a DateField and a Calendar popover to allow users to enter or select a date and time value.
77
+ */
78
+ export const DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(function DatePicker<T extends DateValue>(props: DatePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {
76
79
  [props, ref] = useContextProps(props, ref, DatePickerContext);
77
80
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
78
81
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
@@ -167,15 +170,13 @@ function DatePicker<T extends DateValue>(props: DatePickerProps<T>, ref: Forward
167
170
  data-open={state.isOpen || undefined} />
168
171
  </Provider>
169
172
  );
170
- }
173
+ });
171
174
 
172
175
  /**
173
- * A date picker combines a DateField and a Calendar popover to allow users to enter or select a date and time value.
176
+ * A date range picker combines two DateFields and a RangeCalendar popover to allow
177
+ * users to enter or select a date and time range.
174
178
  */
175
- const _DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(DatePicker);
176
- export {_DatePicker as DatePicker};
177
-
178
- function DateRangePicker<T extends DateValue>(props: DateRangePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {
179
+ export const DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(function DateRangePicker<T extends DateValue>(props: DateRangePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {
179
180
  [props, ref] = useContextProps(props, ref, DateRangePickerContext);
180
181
  let {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
181
182
  let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';
@@ -276,11 +277,4 @@ function DateRangePicker<T extends DateValue>(props: DateRangePickerProps<T>, re
276
277
  data-open={state.isOpen || undefined} />
277
278
  </Provider>
278
279
  );
279
- }
280
-
281
- /**
282
- * A date range picker combines two DateFields and a RangeCalendar popover to allow
283
- * users to enter or select a date and time range.
284
- */
285
- const _DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(DateRangePicker);
286
- export {_DateRangePicker as DateRangePicker};
280
+ });
package/src/Dialog.tsx CHANGED
@@ -70,7 +70,10 @@ export function DialogTrigger(props: DialogTriggerProps) {
70
70
  );
71
71
  }
72
72
 
73
- function Dialog(props: DialogProps, ref: ForwardedRef<HTMLElement>) {
73
+ /**
74
+ * A dialog is an overlay shown above other content in an application.
75
+ */
76
+ export const Dialog = /*#__PURE__*/ (forwardRef as forwardRefType)(function Dialog(props: DialogProps, ref: ForwardedRef<HTMLElement>) {
74
77
  let originalAriaLabelledby = props['aria-labelledby'];
75
78
  [props, ref] = useContextProps(props, ref, DialogContext);
76
79
  let {dialogProps, titleProps} = useDialog({
@@ -129,10 +132,4 @@ function Dialog(props: DialogProps, ref: ForwardedRef<HTMLElement>) {
129
132
  </Provider>
130
133
  </section>
131
134
  );
132
- }
133
-
134
- /**
135
- * A dialog is an overlay shown above other content in an application.
136
- */
137
- const _Dialog = /*#__PURE__*/ (forwardRef as forwardRefType)(Dialog);
138
- export {_Dialog as Dialog};
135
+ });
@@ -35,7 +35,11 @@ export interface DisclosureGroupRenderProps {
35
35
 
36
36
  export const DisclosureGroupStateContext = createContext<DisclosureGroupState | null>(null);
37
37
 
38
- function DisclosureGroup(props: DisclosureGroupProps, ref: ForwardedRef<HTMLDivElement>) {
38
+ /**
39
+ * A DisclosureGroup is a grouping of related disclosures, sometimes called an accordion.
40
+ * It supports both single and multiple expanded items.
41
+ */
42
+ export const DisclosureGroup = forwardRef(function DisclosureGroup(props: DisclosureGroupProps, ref: ForwardedRef<HTMLDivElement>) {
39
43
  let state = useDisclosureGroupState(props);
40
44
 
41
45
  let renderProps = useRenderProps({
@@ -60,14 +64,7 @@ function DisclosureGroup(props: DisclosureGroupProps, ref: ForwardedRef<HTMLDivE
60
64
  </DisclosureGroupStateContext.Provider>
61
65
  </div>
62
66
  );
63
- }
64
-
65
- /**
66
- * A DisclosureGroup is a grouping of related disclosures, sometimes called an accordion.
67
- * It supports both single and multiple expanded items.
68
- */
69
- const _DisclosureGroup = forwardRef(DisclosureGroup);
70
- export {_DisclosureGroup as DisclosureGroup};
67
+ });
71
68
 
72
69
  export interface DisclosureProps extends Omit<AriaDisclosureProps, 'children'>, RenderProps<DisclosureRenderProps>, SlotProps {
73
70
  /** An id for the disclosure when used within a DisclosureGroup, matching the id used in `expandedKeys`. */
@@ -106,7 +103,10 @@ interface InternalDisclosureContextValue {
106
103
 
107
104
  const InternalDisclosureContext = createContext<InternalDisclosureContextValue | null>(null);
108
105
 
109
- function Disclosure(props: DisclosureProps, ref: ForwardedRef<HTMLDivElement>) {
106
+ /**
107
+ * A disclosure is a collapsible section of content. It is composed of a a header with a heading and trigger button, and a panel that contains the content.
108
+ */
109
+ export const Disclosure = /*#__PURE__*/ (forwardRef as forwardRefType)(function Disclosure(props: DisclosureProps, ref: ForwardedRef<HTMLDivElement>) {
110
110
  [props, ref] = useContextProps(props, ref, DisclosureContext);
111
111
  let groupState = useContext(DisclosureGroupStateContext)!;
112
112
  let {id, ...otherProps} = props;
@@ -179,7 +179,7 @@ function Disclosure(props: DisclosureProps, ref: ForwardedRef<HTMLDivElement>) {
179
179
  </div>
180
180
  </Provider>
181
181
  );
182
- }
182
+ });
183
183
 
184
184
  export interface DisclosurePanelRenderProps {
185
185
  /**
@@ -201,7 +201,10 @@ export interface DisclosurePanelProps extends RenderProps<DisclosurePanelRenderP
201
201
  children: ReactNode
202
202
  }
203
203
 
204
- function DisclosurePanel(props: DisclosurePanelProps, ref: ForwardedRef<HTMLDivElement>) {
204
+ /**
205
+ * A DisclosurePanel provides the content for a disclosure.
206
+ */
207
+ export const DisclosurePanel = /*#__PURE__*/ (forwardRef as forwardRefType)(function DisclosurePanel(props: DisclosurePanelProps, ref: ForwardedRef<HTMLDivElement>) {
205
208
  let {role = 'group'} = props;
206
209
  let {panelProps, panelRef} = useContext(InternalDisclosureContext)!;
207
210
  let {
@@ -232,16 +235,4 @@ function DisclosurePanel(props: DisclosurePanelProps, ref: ForwardedRef<HTMLDivE
232
235
  </Provider>
233
236
  </div>
234
237
  );
235
- }
236
-
237
- /**
238
- * A disclosure is a collapsible section of content. It is composed of a a header with a heading and trigger button, and a panel that contains the content.
239
- */
240
- const _Disclosure = /*#__PURE__*/ (forwardRef as forwardRefType)(Disclosure);
241
- export {_Disclosure as Disclosure};
242
-
243
- /**
244
- * A DisclosurePanel provides the content for a disclosure.
245
- */
246
- const _DisclosurePanel = /*#__PURE__*/ (forwardRef as forwardRefType)(DisclosurePanel);
247
- export {_DisclosurePanel as DisclosurePanel};
238
+ });
@@ -37,16 +37,13 @@ interface DropIndicatorContextValue {
37
37
  render: (props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) => ReactNode
38
38
  }
39
39
 
40
- function DropIndicator(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>): JSX.Element {
41
- let {render} = useContext(DropIndicatorContext)!;
42
- return <>{render(props, ref)}</>;
43
- }
44
-
45
40
  /**
46
41
  * A DropIndicator is rendered between items in a collection to indicate where dropped data will be inserted.
47
42
  */
48
- const _DropIndicator = forwardRef(DropIndicator);
49
- export {_DropIndicator as DropIndicator};
43
+ export const DropIndicator = forwardRef(function DropIndicator(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>): JSX.Element {
44
+ let {render} = useContext(DropIndicatorContext)!;
45
+ return <>{render(props, ref)}</>;
46
+ });
50
47
 
51
48
  export function useRenderDropIndicator(dragAndDropHooks?: DragAndDropHooks, dropState?: DroppableCollectionState) {
52
49
  let renderDropIndicator = dragAndDropHooks?.renderDropIndicator;
@@ -54,7 +51,7 @@ export function useRenderDropIndicator(dragAndDropHooks?: DragAndDropHooks, drop
54
51
  let fn = useCallback((target: ItemDropTarget) => {
55
52
  // Only show drop indicators when virtual dragging or this is the current drop target.
56
53
  if (isVirtualDragging || dropState?.isDropTarget(target)) {
57
- return renderDropIndicator ? renderDropIndicator(target) : <_DropIndicator target={target} />;
54
+ return renderDropIndicator ? renderDropIndicator(target) : <DropIndicator target={target} />;
58
55
  }
59
56
  // We invalidate whenever the target changes.
60
57
  // eslint-disable-next-line react-hooks/exhaustive-deps
package/src/DropZone.tsx CHANGED
@@ -52,7 +52,10 @@ export interface DropZoneProps extends Omit<DropOptions, 'getDropOperationForPoi
52
52
 
53
53
  export const DropZoneContext = createContext<ContextValue<DropZoneProps, HTMLDivElement>>(null);
54
54
 
55
- function DropZone(props: DropZoneProps, ref: ForwardedRef<HTMLDivElement>) {
55
+ /**
56
+ * A drop zone is an area into which one or multiple objects can be dragged and dropped.
57
+ */
58
+ export const DropZone = forwardRef(function DropZone(props: DropZoneProps, ref: ForwardedRef<HTMLDivElement>) {
56
59
  let {isDisabled = false} = props;
57
60
  [props, ref] = useContextProps(props, ref, DropZoneContext);
58
61
  let dropzoneRef = useObjectRef(ref);
@@ -127,10 +130,4 @@ function DropZone(props: DropZoneProps, ref: ForwardedRef<HTMLDivElement>) {
127
130
  </div>
128
131
  </Provider>
129
132
  );
130
- }
131
-
132
- /**
133
- * A drop zone is an area into which one or multiple objects can be dragged and dropped.
134
- */
135
- const _DropZone = forwardRef(DropZone);
136
- export {_DropZone as DropZone};
133
+ });
@@ -21,20 +21,17 @@ export const FieldErrorContext = createContext<ValidationResult | null>(null);
21
21
  export interface FieldErrorRenderProps extends ValidationResult {}
22
22
  export interface FieldErrorProps extends RenderProps<FieldErrorRenderProps>, DOMProps {}
23
23
 
24
- function FieldError(props: FieldErrorProps, ref: ForwardedRef<HTMLElement>) {
24
+ /**
25
+ * A FieldError displays validation errors for a form field.
26
+ */
27
+ export const FieldError = forwardRef(function FieldError(props: FieldErrorProps, ref: ForwardedRef<HTMLElement>) {
25
28
  let validation = useContext(FieldErrorContext);
26
29
  if (!validation?.isInvalid) {
27
30
  return null;
28
31
  }
29
32
 
30
33
  return <FieldErrorInner {...props} ref={ref} />;
31
- }
32
-
33
- /**
34
- * A FieldError displays validation errors for a form field.
35
- */
36
- const _FieldError = forwardRef(FieldError);
37
- export {_FieldError as FieldError};
34
+ });
38
35
 
39
36
  const FieldErrorInner = forwardRef((props: FieldErrorProps, ref: ForwardedRef<HTMLElement>) => {
40
37
  let validation = useContext(FieldErrorContext)!;
@@ -42,7 +42,10 @@ export interface FileTriggerProps {
42
42
  acceptDirectory?: boolean
43
43
  }
44
44
 
45
- function FileTrigger(props: FileTriggerProps, ref: ForwardedRef<HTMLInputElement>) {
45
+ /**
46
+ * A FileTrigger allows a user to access the file system with any pressable React Aria or React Spectrum component, or custom components built with usePress.
47
+ */
48
+ export const FileTrigger = forwardRef(function FileTrigger(props: FileTriggerProps, ref: ForwardedRef<HTMLInputElement>) {
46
49
  let {onSelect, acceptedFileTypes, allowsMultiple, defaultCamera, children, acceptDirectory, ...rest} = props;
47
50
  let inputRef = useObjectRef(ref);
48
51
  let domProps = filterDOMProps(rest);
@@ -71,10 +74,4 @@ function FileTrigger(props: FileTriggerProps, ref: ForwardedRef<HTMLInputElement
71
74
  webkitdirectory={acceptDirectory ? '' : undefined} />
72
75
  </>
73
76
  );
74
- }
75
-
76
- /**
77
- * A FileTrigger allows a user to access the file system with any pressable React Aria or React Spectrum component, or custom components built with usePress.
78
- */
79
- const _FileTrigger = forwardRef(FileTrigger);
80
- export {_FileTrigger as FileTrigger};
77
+ });