@react-md/core 6.5.2 → 7.0.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 (647) hide show
  1. package/dist/app-bar/AppBar.d.ts +3 -2
  2. package/dist/app-bar/AppBar.js +3 -4
  3. package/dist/app-bar/AppBar.js.map +1 -1
  4. package/dist/app-bar/AppBarTitle.d.ts +3 -1
  5. package/dist/app-bar/AppBarTitle.js +3 -4
  6. package/dist/app-bar/AppBarTitle.js.map +1 -1
  7. package/dist/autocomplete/AutocompleteChip.d.ts +2 -1
  8. package/dist/autocomplete/AutocompleteChip.js +3 -4
  9. package/dist/autocomplete/AutocompleteChip.js.map +1 -1
  10. package/dist/autocomplete/types.d.ts +1 -0
  11. package/dist/autocomplete/types.js.map +1 -1
  12. package/dist/autocomplete/utils.d.ts +4 -4
  13. package/dist/autocomplete/utils.js.map +1 -1
  14. package/dist/avatar/Avatar.d.ts +3 -2
  15. package/dist/avatar/Avatar.js +3 -4
  16. package/dist/avatar/Avatar.js.map +1 -1
  17. package/dist/badge/Badge.d.ts +3 -2
  18. package/dist/badge/Badge.js +3 -4
  19. package/dist/badge/Badge.js.map +1 -1
  20. package/dist/box/Box.d.ts +3 -2
  21. package/dist/box/Box.js +3 -4
  22. package/dist/box/Box.js.map +1 -1
  23. package/dist/button/AsyncButton.d.ts +3 -2
  24. package/dist/button/AsyncButton.js +3 -4
  25. package/dist/button/AsyncButton.js.map +1 -1
  26. package/dist/button/Button.d.ts +3 -2
  27. package/dist/button/Button.js +3 -4
  28. package/dist/button/Button.js.map +1 -1
  29. package/dist/button/ButtonUnstyled.d.ts +5 -3
  30. package/dist/button/ButtonUnstyled.js +3 -4
  31. package/dist/button/ButtonUnstyled.js.map +1 -1
  32. package/dist/button/FloatingActionButton.d.ts +3 -2
  33. package/dist/button/FloatingActionButton.js +3 -4
  34. package/dist/button/FloatingActionButton.js.map +1 -1
  35. package/dist/button/TooltippedButton.d.ts +3 -2
  36. package/dist/button/TooltippedButton.js +3 -4
  37. package/dist/button/TooltippedButton.js.map +1 -1
  38. package/dist/card/Card.d.ts +3 -2
  39. package/dist/card/Card.js +3 -4
  40. package/dist/card/Card.js.map +1 -1
  41. package/dist/card/CardContent.d.ts +3 -2
  42. package/dist/card/CardContent.js +3 -4
  43. package/dist/card/CardContent.js.map +1 -1
  44. package/dist/card/CardFooter.d.ts +3 -1
  45. package/dist/card/CardFooter.js +3 -4
  46. package/dist/card/CardFooter.js.map +1 -1
  47. package/dist/card/CardHeader.d.ts +3 -2
  48. package/dist/card/CardHeader.js +3 -4
  49. package/dist/card/CardHeader.js.map +1 -1
  50. package/dist/card/CardSubtitle.d.ts +3 -1
  51. package/dist/card/CardSubtitle.js +3 -4
  52. package/dist/card/CardSubtitle.js.map +1 -1
  53. package/dist/card/CardTitle.d.ts +3 -1
  54. package/dist/card/CardTitle.js +3 -4
  55. package/dist/card/CardTitle.js.map +1 -1
  56. package/dist/card/ClickableCard.d.ts +3 -2
  57. package/dist/card/ClickableCard.js +3 -4
  58. package/dist/card/ClickableCard.js.map +1 -1
  59. package/dist/chip/Chip.d.ts +4 -2
  60. package/dist/chip/Chip.js +4 -4
  61. package/dist/chip/Chip.js.map +1 -1
  62. package/dist/datetime/NativeDateField.d.ts +3 -1
  63. package/dist/datetime/NativeDateField.js +3 -4
  64. package/dist/datetime/NativeDateField.js.map +1 -1
  65. package/dist/datetime/NativeTimeField.d.ts +3 -1
  66. package/dist/datetime/NativeTimeField.js +3 -4
  67. package/dist/datetime/NativeTimeField.js.map +1 -1
  68. package/dist/dialog/Dialog.d.ts +3 -2
  69. package/dist/dialog/Dialog.js +4 -4
  70. package/dist/dialog/Dialog.js.map +1 -1
  71. package/dist/dialog/DialogContainer.d.ts +3 -2
  72. package/dist/dialog/DialogContainer.js +3 -4
  73. package/dist/dialog/DialogContainer.js.map +1 -1
  74. package/dist/dialog/DialogContent.d.ts +3 -2
  75. package/dist/dialog/DialogContent.js +3 -4
  76. package/dist/dialog/DialogContent.js.map +1 -1
  77. package/dist/dialog/DialogFooter.d.ts +3 -2
  78. package/dist/dialog/DialogFooter.js +3 -4
  79. package/dist/dialog/DialogFooter.js.map +1 -1
  80. package/dist/dialog/DialogHeader.d.ts +3 -1
  81. package/dist/dialog/DialogHeader.js +3 -4
  82. package/dist/dialog/DialogHeader.js.map +1 -1
  83. package/dist/dialog/DialogTitle.d.ts +3 -1
  84. package/dist/dialog/DialogTitle.js +3 -4
  85. package/dist/dialog/DialogTitle.js.map +1 -1
  86. package/dist/dialog/FixedDialog.d.ts +4 -3
  87. package/dist/dialog/FixedDialog.js +4 -4
  88. package/dist/dialog/FixedDialog.js.map +1 -1
  89. package/dist/divider/Divider.d.ts +3 -2
  90. package/dist/divider/Divider.js +3 -4
  91. package/dist/divider/Divider.js.map +1 -1
  92. package/dist/draggable/useDraggable.d.ts +3 -3
  93. package/dist/draggable/useDraggable.js.map +1 -1
  94. package/dist/draggable/utils.d.ts +1 -1
  95. package/dist/draggable/utils.js.map +1 -1
  96. package/dist/expansion-panel/ExpansionList.d.ts +3 -2
  97. package/dist/expansion-panel/ExpansionList.js +3 -4
  98. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  99. package/dist/expansion-panel/ExpansionPanel.d.ts +3 -2
  100. package/dist/expansion-panel/ExpansionPanel.js +3 -4
  101. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  102. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +3 -2
  103. package/dist/expansion-panel/ExpansionPanelHeader.js +3 -4
  104. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  105. package/dist/files/FileInput.d.ts +3 -2
  106. package/dist/files/FileInput.js +3 -4
  107. package/dist/files/FileInput.js.map +1 -1
  108. package/dist/focus/useFocusContainer.d.ts +1 -1
  109. package/dist/focus/useFocusContainer.js.map +1 -1
  110. package/dist/form/Checkbox.d.ts +2 -1
  111. package/dist/form/Checkbox.js +4 -4
  112. package/dist/form/Checkbox.js.map +1 -1
  113. package/dist/form/Fieldset.d.ts +3 -2
  114. package/dist/form/Fieldset.js +3 -4
  115. package/dist/form/Fieldset.js.map +1 -1
  116. package/dist/form/Form.d.ts +3 -2
  117. package/dist/form/Form.js +3 -4
  118. package/dist/form/Form.js.map +1 -1
  119. package/dist/form/FormMessage.d.ts +8 -2
  120. package/dist/form/FormMessage.js +3 -4
  121. package/dist/form/FormMessage.js.map +1 -1
  122. package/dist/form/FormMessageContainer.d.ts +5 -4
  123. package/dist/form/FormMessageContainer.js +3 -4
  124. package/dist/form/FormMessageContainer.js.map +1 -1
  125. package/dist/form/FormMessageCounter.d.ts +3 -2
  126. package/dist/form/FormMessageCounter.js +3 -4
  127. package/dist/form/FormMessageCounter.js.map +1 -1
  128. package/dist/form/InputToggle.d.ts +3 -2
  129. package/dist/form/InputToggle.js +3 -4
  130. package/dist/form/InputToggle.js.map +1 -1
  131. package/dist/form/InputToggleIcon.d.ts +3 -2
  132. package/dist/form/InputToggleIcon.js +3 -4
  133. package/dist/form/InputToggleIcon.js.map +1 -1
  134. package/dist/form/Label.d.ts +2 -1
  135. package/dist/form/Label.js +3 -4
  136. package/dist/form/Label.js.map +1 -1
  137. package/dist/form/Legend.d.ts +3 -1
  138. package/dist/form/Legend.js +3 -4
  139. package/dist/form/Legend.js.map +1 -1
  140. package/dist/form/NativeSelect.d.ts +3 -2
  141. package/dist/form/NativeSelect.js +3 -4
  142. package/dist/form/NativeSelect.js.map +1 -1
  143. package/dist/form/OptGroup.d.ts +3 -2
  144. package/dist/form/OptGroup.js +3 -4
  145. package/dist/form/OptGroup.js.map +1 -1
  146. package/dist/form/Option.d.ts +3 -2
  147. package/dist/form/Option.js +4 -4
  148. package/dist/form/Option.js.map +1 -1
  149. package/dist/form/Password.d.ts +2 -2
  150. package/dist/form/Password.js +3 -4
  151. package/dist/form/Password.js.map +1 -1
  152. package/dist/form/Radio.d.ts +2 -1
  153. package/dist/form/Radio.js +4 -4
  154. package/dist/form/Radio.js.map +1 -1
  155. package/dist/form/ResizingTextAreaWrapper.d.ts +3 -2
  156. package/dist/form/ResizingTextAreaWrapper.js +3 -4
  157. package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
  158. package/dist/form/SliderContainer.d.ts +3 -2
  159. package/dist/form/SliderContainer.js +3 -4
  160. package/dist/form/SliderContainer.js.map +1 -1
  161. package/dist/form/SliderThumb.d.ts +3 -2
  162. package/dist/form/SliderThumb.js +4 -4
  163. package/dist/form/SliderThumb.js.map +1 -1
  164. package/dist/form/SliderTrack.d.ts +3 -2
  165. package/dist/form/SliderTrack.js +3 -4
  166. package/dist/form/SliderTrack.js.map +1 -1
  167. package/dist/form/Switch.d.ts +3 -2
  168. package/dist/form/Switch.js +3 -4
  169. package/dist/form/Switch.js.map +1 -1
  170. package/dist/form/SwitchTrack.d.ts +3 -2
  171. package/dist/form/SwitchTrack.js +3 -4
  172. package/dist/form/SwitchTrack.js.map +1 -1
  173. package/dist/form/TextArea.d.ts +3 -2
  174. package/dist/form/TextArea.js +3 -4
  175. package/dist/form/TextArea.js.map +1 -1
  176. package/dist/form/TextField.d.ts +3 -2
  177. package/dist/form/TextField.js +3 -4
  178. package/dist/form/TextField.js.map +1 -1
  179. package/dist/form/TextFieldAddon.d.ts +2 -1
  180. package/dist/form/TextFieldAddon.js +3 -4
  181. package/dist/form/TextFieldAddon.js.map +1 -1
  182. package/dist/form/TextFieldContainer.d.ts +3 -2
  183. package/dist/form/TextFieldContainer.js +3 -4
  184. package/dist/form/TextFieldContainer.js.map +1 -1
  185. package/dist/form/sliderUtils.d.ts +1 -1
  186. package/dist/form/sliderUtils.js.map +1 -1
  187. package/dist/form/types.d.ts +11 -5
  188. package/dist/form/types.js.map +1 -1
  189. package/dist/form/useCombobox.d.ts +6 -6
  190. package/dist/form/useCombobox.js.map +1 -1
  191. package/dist/form/useFormReset.d.ts +1 -1
  192. package/dist/form/useFormReset.js.map +1 -1
  193. package/dist/form/useTextField.d.ts +4 -4
  194. package/dist/form/useTextField.js.map +1 -1
  195. package/dist/hoverMode/useHoverMode.js +1 -1
  196. package/dist/hoverMode/useHoverMode.js.map +1 -1
  197. package/dist/hoverMode/useHoverModeProvider.d.ts +5 -5
  198. package/dist/hoverMode/useHoverModeProvider.js +1 -1
  199. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  200. package/dist/icon/FontIcon.d.ts +3 -2
  201. package/dist/icon/FontIcon.js +3 -4
  202. package/dist/icon/FontIcon.js.map +1 -1
  203. package/dist/icon/IconRotator.d.ts +3 -2
  204. package/dist/icon/IconRotator.js +4 -4
  205. package/dist/icon/IconRotator.js.map +1 -1
  206. package/dist/icon/MaterialIcon.d.ts +3 -2
  207. package/dist/icon/MaterialIcon.js +3 -4
  208. package/dist/icon/MaterialIcon.js.map +1 -1
  209. package/dist/icon/MaterialSymbol.d.ts +3 -2
  210. package/dist/icon/MaterialSymbol.js +3 -4
  211. package/dist/icon/MaterialSymbol.js.map +1 -1
  212. package/dist/icon/SVGIcon.d.ts +3 -2
  213. package/dist/icon/SVGIcon.js +3 -4
  214. package/dist/icon/SVGIcon.js.map +1 -1
  215. package/dist/layout/LayoutAppBar.d.ts +3 -1
  216. package/dist/layout/LayoutAppBar.js +3 -4
  217. package/dist/layout/LayoutAppBar.js.map +1 -1
  218. package/dist/layout/LayoutNav.d.ts +3 -2
  219. package/dist/layout/LayoutNav.js +3 -4
  220. package/dist/layout/LayoutNav.js.map +1 -1
  221. package/dist/layout/LayoutWindowSplitter.d.ts +4 -2
  222. package/dist/layout/LayoutWindowSplitter.js +4 -4
  223. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  224. package/dist/layout/Main.d.ts +4 -3
  225. package/dist/layout/Main.js +3 -4
  226. package/dist/layout/Main.js.map +1 -1
  227. package/dist/link/Link.d.ts +10 -2
  228. package/dist/link/Link.js +4 -4
  229. package/dist/link/Link.js.map +1 -1
  230. package/dist/link/SkipToMainContent.d.ts +3 -2
  231. package/dist/link/SkipToMainContent.js +4 -4
  232. package/dist/link/SkipToMainContent.js.map +1 -1
  233. package/dist/list/List.d.ts +3 -2
  234. package/dist/list/List.js +3 -4
  235. package/dist/list/List.js.map +1 -1
  236. package/dist/list/ListItem.d.ts +3 -2
  237. package/dist/list/ListItem.js +3 -4
  238. package/dist/list/ListItem.js.map +1 -1
  239. package/dist/list/ListItemLink.d.ts +3 -2
  240. package/dist/list/ListItemLink.js +3 -4
  241. package/dist/list/ListItemLink.js.map +1 -1
  242. package/dist/list/ListItemText.d.ts +3 -2
  243. package/dist/list/ListItemText.js +3 -4
  244. package/dist/list/ListItemText.js.map +1 -1
  245. package/dist/list/ListSubheader.d.ts +3 -2
  246. package/dist/list/ListSubheader.js +3 -4
  247. package/dist/list/ListSubheader.js.map +1 -1
  248. package/dist/menu/DropdownMenu.js.map +1 -1
  249. package/dist/menu/Menu.d.ts +4 -2
  250. package/dist/menu/Menu.js +5 -4
  251. package/dist/menu/Menu.js.map +1 -1
  252. package/dist/menu/MenuBar.d.ts +3 -1
  253. package/dist/menu/MenuBar.js +3 -4
  254. package/dist/menu/MenuBar.js.map +1 -1
  255. package/dist/menu/MenuButton.d.ts +2 -1
  256. package/dist/menu/MenuButton.js +3 -4
  257. package/dist/menu/MenuButton.js.map +1 -1
  258. package/dist/menu/MenuItem.d.ts +3 -1
  259. package/dist/menu/MenuItem.js +3 -4
  260. package/dist/menu/MenuItem.js.map +1 -1
  261. package/dist/menu/MenuItemButton.d.ts +2 -1
  262. package/dist/menu/MenuItemButton.js +4 -4
  263. package/dist/menu/MenuItemButton.js.map +1 -1
  264. package/dist/menu/MenuItemCheckbox.d.ts +2 -1
  265. package/dist/menu/MenuItemCheckbox.js +4 -4
  266. package/dist/menu/MenuItemCheckbox.js.map +1 -1
  267. package/dist/menu/MenuItemCircularProgress.d.ts +3 -2
  268. package/dist/menu/MenuItemCircularProgress.js +3 -4
  269. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  270. package/dist/menu/MenuItemFileInput.d.ts +2 -2
  271. package/dist/menu/MenuItemFileInput.js +3 -4
  272. package/dist/menu/MenuItemFileInput.js.map +1 -1
  273. package/dist/menu/MenuItemGroup.d.ts +3 -3
  274. package/dist/menu/MenuItemGroup.js +4 -4
  275. package/dist/menu/MenuItemGroup.js.map +1 -1
  276. package/dist/menu/MenuItemInputToggle.d.ts +3 -2
  277. package/dist/menu/MenuItemInputToggle.js +3 -4
  278. package/dist/menu/MenuItemInputToggle.js.map +1 -1
  279. package/dist/menu/MenuItemRadio.d.ts +3 -1
  280. package/dist/menu/MenuItemRadio.js +4 -4
  281. package/dist/menu/MenuItemRadio.js.map +1 -1
  282. package/dist/menu/MenuItemSeparator.d.ts +3 -2
  283. package/dist/menu/MenuItemSeparator.js +3 -4
  284. package/dist/menu/MenuItemSeparator.js.map +1 -1
  285. package/dist/menu/MenuItemSwitch.d.ts +2 -1
  286. package/dist/menu/MenuItemSwitch.js +4 -4
  287. package/dist/menu/MenuItemSwitch.js.map +1 -1
  288. package/dist/menu/MenuItemTextField.d.ts +2 -2
  289. package/dist/menu/MenuItemTextField.js +3 -4
  290. package/dist/menu/MenuItemTextField.js.map +1 -1
  291. package/dist/menu/MenuVisibilityProvider.d.ts +3 -3
  292. package/dist/menu/MenuVisibilityProvider.js.map +1 -1
  293. package/dist/menu/MenuWidget.d.ts +4 -4
  294. package/dist/menu/MenuWidget.js +4 -4
  295. package/dist/menu/MenuWidget.js.map +1 -1
  296. package/dist/menu/useContextMenu.d.ts +4 -4
  297. package/dist/menu/useContextMenu.js.map +1 -1
  298. package/dist/movement/types.d.ts +5 -5
  299. package/dist/movement/types.js.map +1 -1
  300. package/dist/navigation/CollapsibleNavGroup.d.ts +2 -2
  301. package/dist/navigation/CollapsibleNavGroup.js +3 -4
  302. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  303. package/dist/navigation/NavGroup.d.ts +3 -2
  304. package/dist/navigation/NavGroup.js +3 -4
  305. package/dist/navigation/NavGroup.js.map +1 -1
  306. package/dist/navigation/NavItem.d.ts +3 -2
  307. package/dist/navigation/NavItem.js +3 -4
  308. package/dist/navigation/NavItem.js.map +1 -1
  309. package/dist/navigation/NavItemButton.d.ts +2 -2
  310. package/dist/navigation/NavItemButton.js +3 -4
  311. package/dist/navigation/NavItemButton.js.map +1 -1
  312. package/dist/navigation/NavItemLink.d.ts +3 -2
  313. package/dist/navigation/NavItemLink.js +4 -4
  314. package/dist/navigation/NavItemLink.js.map +1 -1
  315. package/dist/navigation/NavSubheader.d.ts +2 -1
  316. package/dist/navigation/NavSubheader.js +3 -4
  317. package/dist/navigation/NavSubheader.js.map +1 -1
  318. package/dist/navigation/Navigation.d.ts +1 -1
  319. package/dist/navigation/Navigation.js +1 -1
  320. package/dist/navigation/Navigation.js.map +1 -1
  321. package/dist/navigation/types.d.ts +5 -2
  322. package/dist/navigation/types.js.map +1 -1
  323. package/dist/navigation/useActiveHeadingId.js +1 -1
  324. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  325. package/dist/overlay/Overlay.d.ts +3 -2
  326. package/dist/overlay/Overlay.js +3 -4
  327. package/dist/overlay/Overlay.js.map +1 -1
  328. package/dist/positioning/useFixedPositioning.d.ts +1 -1
  329. package/dist/positioning/useFixedPositioning.js.map +1 -1
  330. package/dist/progress/CircularProgress.d.ts +2 -2
  331. package/dist/progress/CircularProgress.js +4 -4
  332. package/dist/progress/CircularProgress.js.map +1 -1
  333. package/dist/progress/LinearProgress.d.ts +2 -2
  334. package/dist/progress/LinearProgress.js +4 -4
  335. package/dist/progress/LinearProgress.js.map +1 -1
  336. package/dist/progress/types.d.ts +2 -0
  337. package/dist/progress/types.js.map +1 -1
  338. package/dist/responsive-item/ResponsiveItem.d.ts +3 -2
  339. package/dist/responsive-item/ResponsiveItem.js +3 -4
  340. package/dist/responsive-item/ResponsiveItem.js.map +1 -1
  341. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +3 -2
  342. package/dist/responsive-item/ResponsiveItemOverlay.js +3 -4
  343. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  344. package/dist/segmented-button/SegmentedButton.d.ts +3 -2
  345. package/dist/segmented-button/SegmentedButton.js +3 -4
  346. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  347. package/dist/segmented-button/SegmentedButtonContainer.d.ts +4 -3
  348. package/dist/segmented-button/SegmentedButtonContainer.js +4 -5
  349. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  350. package/dist/sheet/Sheet.d.ts +2 -1
  351. package/dist/sheet/Sheet.js +3 -4
  352. package/dist/sheet/Sheet.js.map +1 -1
  353. package/dist/snackbar/Snackbar.d.ts +3 -2
  354. package/dist/snackbar/Snackbar.js +3 -4
  355. package/dist/snackbar/Snackbar.js.map +1 -1
  356. package/dist/snackbar/Toast.d.ts +3 -2
  357. package/dist/snackbar/Toast.js +4 -4
  358. package/dist/snackbar/Toast.js.map +1 -1
  359. package/dist/snackbar/ToastActionButton.d.ts +2 -1
  360. package/dist/snackbar/ToastActionButton.js +3 -4
  361. package/dist/snackbar/ToastActionButton.js.map +1 -1
  362. package/dist/snackbar/ToastCloseButton.d.ts +2 -1
  363. package/dist/snackbar/ToastCloseButton.js +3 -4
  364. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  365. package/dist/snackbar/ToastContent.d.ts +3 -2
  366. package/dist/snackbar/ToastContent.js +4 -4
  367. package/dist/snackbar/ToastContent.js.map +1 -1
  368. package/dist/spinbutton/SpinButton.d.ts +4 -3
  369. package/dist/spinbutton/SpinButton.js +3 -4
  370. package/dist/spinbutton/SpinButton.js.map +1 -1
  371. package/dist/spinbutton/types.d.ts +1 -1
  372. package/dist/spinbutton/types.js.map +1 -1
  373. package/dist/table/StickyTableSection.d.ts +3 -2
  374. package/dist/table/StickyTableSection.js +3 -4
  375. package/dist/table/StickyTableSection.js.map +1 -1
  376. package/dist/table/Table.d.ts +3 -2
  377. package/dist/table/Table.js +4 -4
  378. package/dist/table/Table.js.map +1 -1
  379. package/dist/table/TableBody.d.ts +3 -2
  380. package/dist/table/TableBody.js +4 -4
  381. package/dist/table/TableBody.js.map +1 -1
  382. package/dist/table/TableCell.d.ts +3 -2
  383. package/dist/table/TableCell.js +3 -4
  384. package/dist/table/TableCell.js.map +1 -1
  385. package/dist/table/TableCellContent.d.ts +3 -2
  386. package/dist/table/TableCellContent.js +3 -4
  387. package/dist/table/TableCellContent.js.map +1 -1
  388. package/dist/table/TableCheckbox.d.ts +3 -2
  389. package/dist/table/TableCheckbox.js +3 -4
  390. package/dist/table/TableCheckbox.js.map +1 -1
  391. package/dist/table/TableContainer.d.ts +5 -3
  392. package/dist/table/TableContainer.js +4 -4
  393. package/dist/table/TableContainer.js.map +1 -1
  394. package/dist/table/TableContainerProvider.d.ts +1 -1
  395. package/dist/table/TableContainerProvider.js.map +1 -1
  396. package/dist/table/TableFooter.d.ts +3 -2
  397. package/dist/table/TableFooter.js +4 -5
  398. package/dist/table/TableFooter.js.map +1 -1
  399. package/dist/table/TableHeader.d.ts +3 -2
  400. package/dist/table/TableHeader.js +4 -5
  401. package/dist/table/TableHeader.js.map +1 -1
  402. package/dist/table/TableRadio.d.ts +3 -2
  403. package/dist/table/TableRadio.js +3 -4
  404. package/dist/table/TableRadio.js.map +1 -1
  405. package/dist/table/TableRow.d.ts +3 -2
  406. package/dist/table/TableRow.js +3 -4
  407. package/dist/table/TableRow.js.map +1 -1
  408. package/dist/tabs/SimpleTabPanel.d.ts +3 -2
  409. package/dist/tabs/SimpleTabPanel.js +3 -4
  410. package/dist/tabs/SimpleTabPanel.js.map +1 -1
  411. package/dist/tabs/SimpleTabPanels.d.ts +3 -2
  412. package/dist/tabs/SimpleTabPanels.js +3 -4
  413. package/dist/tabs/SimpleTabPanels.js.map +1 -1
  414. package/dist/tabs/TabList.d.ts +3 -2
  415. package/dist/tabs/TabList.js +4 -4
  416. package/dist/tabs/TabList.js.map +1 -1
  417. package/dist/tabs/TabListScrollButton.d.ts +3 -2
  418. package/dist/tabs/TabListScrollButton.js +4 -4
  419. package/dist/tabs/TabListScrollButton.js.map +1 -1
  420. package/dist/tabs/useTabList.d.ts +2 -2
  421. package/dist/tabs/useTabList.js.map +1 -1
  422. package/dist/theme/useCSSVariables.d.ts +1 -1
  423. package/dist/theme/useCSSVariables.js.map +1 -1
  424. package/dist/tooltip/Tooltip.d.ts +3 -2
  425. package/dist/tooltip/Tooltip.js +3 -4
  426. package/dist/tooltip/Tooltip.js.map +1 -1
  427. package/dist/tooltip/useTooltip.d.ts +3 -3
  428. package/dist/tooltip/useTooltip.js.map +1 -1
  429. package/dist/transition/SkeletonPlaceholder.d.ts +3 -2
  430. package/dist/transition/SkeletonPlaceholder.js +3 -4
  431. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  432. package/dist/transition/Slide.d.ts +3 -2
  433. package/dist/transition/Slide.js +3 -4
  434. package/dist/transition/Slide.js.map +1 -1
  435. package/dist/transition/SlideContainer.d.ts +3 -2
  436. package/dist/transition/SlideContainer.js +3 -4
  437. package/dist/transition/SlideContainer.js.map +1 -1
  438. package/dist/tree/TreeGroup.d.ts +2 -2
  439. package/dist/tree/TreeGroup.js +3 -4
  440. package/dist/tree/TreeGroup.js.map +1 -1
  441. package/dist/tree/TreeProvider.d.ts +2 -3
  442. package/dist/tree/TreeProvider.js.map +1 -1
  443. package/dist/tree/useTreeMovement.d.ts +6 -7
  444. package/dist/tree/useTreeMovement.js.map +1 -1
  445. package/dist/types.d.ts +1 -15
  446. package/dist/types.js.map +1 -1
  447. package/dist/typography/Mark.d.ts +3 -2
  448. package/dist/typography/Mark.js +3 -4
  449. package/dist/typography/Mark.js.map +1 -1
  450. package/dist/typography/SrOnly.d.ts +3 -2
  451. package/dist/typography/SrOnly.js +3 -4
  452. package/dist/typography/SrOnly.js.map +1 -1
  453. package/dist/typography/TextContainer.d.ts +3 -2
  454. package/dist/typography/TextContainer.js +3 -4
  455. package/dist/typography/TextContainer.js.map +1 -1
  456. package/dist/typography/Typography.d.ts +3 -2
  457. package/dist/typography/Typography.js +3 -4
  458. package/dist/typography/Typography.js.map +1 -1
  459. package/dist/useAsyncFunction.d.ts +3 -2
  460. package/dist/useAsyncFunction.js.map +1 -1
  461. package/dist/useDebouncedFunction.js +1 -1
  462. package/dist/useDebouncedFunction.js.map +1 -1
  463. package/dist/useDropzone.js +1 -1
  464. package/dist/useDropzone.js.map +1 -1
  465. package/dist/useEnsuredRef.d.ts +3 -3
  466. package/dist/useEnsuredRef.js +1 -1
  467. package/dist/useEnsuredRef.js.map +1 -1
  468. package/dist/useThrottledFunction.js +3 -3
  469. package/dist/useThrottledFunction.js.map +1 -1
  470. package/dist/useUnmounted.d.ts +2 -2
  471. package/dist/useUnmounted.js.map +1 -1
  472. package/dist/utils/applyRef.d.ts +1 -1
  473. package/dist/utils/applyRef.js.map +1 -1
  474. package/dist/window-splitter/WindowSplitter.d.ts +3 -2
  475. package/dist/window-splitter/WindowSplitter.js +3 -4
  476. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  477. package/package.json +9 -9
  478. package/src/app-bar/AppBar.tsx +54 -54
  479. package/src/app-bar/AppBarTitle.tsx +29 -27
  480. package/src/autocomplete/AutocompleteChip.tsx +4 -6
  481. package/src/autocomplete/types.ts +2 -0
  482. package/src/autocomplete/utils.ts +4 -4
  483. package/src/avatar/Avatar.tsx +47 -45
  484. package/src/badge/Badge.tsx +17 -11
  485. package/src/box/Box.tsx +51 -50
  486. package/src/button/AsyncButton.tsx +125 -119
  487. package/src/button/Button.tsx +74 -73
  488. package/src/button/ButtonUnstyled.tsx +9 -9
  489. package/src/button/FloatingActionButton.tsx +9 -7
  490. package/src/button/TooltippedButton.tsx +6 -6
  491. package/src/card/Card.tsx +36 -35
  492. package/src/card/CardContent.tsx +31 -28
  493. package/src/card/CardFooter.tsx +22 -16
  494. package/src/card/CardHeader.tsx +36 -30
  495. package/src/card/CardSubtitle.tsx +8 -6
  496. package/src/card/CardTitle.tsx +26 -25
  497. package/src/card/ClickableCard.tsx +57 -54
  498. package/src/chip/Chip.tsx +122 -120
  499. package/src/datetime/NativeDateField.tsx +7 -7
  500. package/src/datetime/NativeTimeField.tsx +7 -7
  501. package/src/dialog/Dialog.tsx +156 -150
  502. package/src/dialog/DialogContainer.tsx +35 -29
  503. package/src/dialog/DialogContent.tsx +26 -19
  504. package/src/dialog/DialogFooter.tsx +22 -19
  505. package/src/dialog/DialogHeader.tsx +24 -23
  506. package/src/dialog/DialogTitle.tsx +27 -26
  507. package/src/dialog/FixedDialog.tsx +70 -69
  508. package/src/divider/Divider.tsx +32 -26
  509. package/src/draggable/useDraggable.ts +3 -6
  510. package/src/draggable/utils.ts +1 -1
  511. package/src/expansion-panel/ExpansionList.tsx +24 -19
  512. package/src/expansion-panel/ExpansionPanel.tsx +11 -6
  513. package/src/expansion-panel/ExpansionPanelHeader.tsx +9 -6
  514. package/src/files/FileInput.tsx +79 -79
  515. package/src/focus/useFocusContainer.ts +1 -1
  516. package/src/form/Checkbox.tsx +6 -6
  517. package/src/form/Fieldset.tsx +33 -28
  518. package/src/form/Form.tsx +26 -25
  519. package/src/form/FormMessage.tsx +13 -7
  520. package/src/form/FormMessageContainer.tsx +12 -9
  521. package/src/form/FormMessageCounter.tsx +8 -7
  522. package/src/form/InputToggle.tsx +105 -107
  523. package/src/form/InputToggleIcon.tsx +12 -6
  524. package/src/form/Label.tsx +40 -41
  525. package/src/form/Legend.tsx +44 -43
  526. package/src/form/NativeSelect.tsx +116 -114
  527. package/src/form/OptGroup.tsx +15 -15
  528. package/src/form/Option.tsx +123 -122
  529. package/src/form/Password.tsx +66 -67
  530. package/src/form/Radio.tsx +6 -6
  531. package/src/form/ResizingTextAreaWrapper.tsx +7 -6
  532. package/src/form/SliderContainer.tsx +35 -29
  533. package/src/form/SliderThumb.tsx +8 -6
  534. package/src/form/SliderTrack.tsx +80 -80
  535. package/src/form/Switch.tsx +80 -79
  536. package/src/form/SwitchTrack.tsx +35 -34
  537. package/src/form/TextArea.tsx +167 -165
  538. package/src/form/TextField.tsx +106 -104
  539. package/src/form/TextFieldAddon.tsx +33 -32
  540. package/src/form/TextFieldContainer.tsx +8 -6
  541. package/src/form/sliderUtils.ts +1 -1
  542. package/src/form/types.ts +15 -5
  543. package/src/form/useCombobox.ts +6 -10
  544. package/src/form/useFormReset.ts +1 -1
  545. package/src/form/useTextField.ts +4 -4
  546. package/src/hoverMode/useHoverMode.ts +1 -1
  547. package/src/hoverMode/useHoverModeProvider.ts +13 -8
  548. package/src/icon/FontIcon.tsx +32 -30
  549. package/src/icon/IconRotator.tsx +30 -28
  550. package/src/icon/MaterialIcon.tsx +36 -30
  551. package/src/icon/MaterialSymbol.tsx +50 -44
  552. package/src/icon/SVGIcon.tsx +47 -41
  553. package/src/layout/LayoutAppBar.tsx +23 -28
  554. package/src/layout/LayoutNav.tsx +68 -62
  555. package/src/layout/LayoutWindowSplitter.tsx +9 -7
  556. package/src/layout/Main.tsx +30 -29
  557. package/src/link/Link.tsx +16 -11
  558. package/src/link/SkipToMainContent.tsx +6 -6
  559. package/src/list/List.tsx +31 -29
  560. package/src/list/ListItem.tsx +126 -125
  561. package/src/list/ListItemLink.tsx +128 -126
  562. package/src/list/ListItemText.tsx +42 -37
  563. package/src/list/ListSubheader.tsx +27 -26
  564. package/src/menu/DropdownMenu.tsx +2 -2
  565. package/src/menu/Menu.tsx +327 -326
  566. package/src/menu/MenuBar.tsx +51 -50
  567. package/src/menu/MenuButton.tsx +69 -70
  568. package/src/menu/MenuItem.tsx +37 -37
  569. package/src/menu/MenuItemButton.tsx +132 -133
  570. package/src/menu/MenuItemCheckbox.tsx +6 -7
  571. package/src/menu/MenuItemCircularProgress.tsx +13 -6
  572. package/src/menu/MenuItemFileInput.tsx +4 -6
  573. package/src/menu/MenuItemGroup.tsx +18 -18
  574. package/src/menu/MenuItemInputToggle.tsx +8 -6
  575. package/src/menu/MenuItemRadio.tsx +6 -6
  576. package/src/menu/MenuItemSeparator.tsx +7 -7
  577. package/src/menu/MenuItemSwitch.tsx +6 -6
  578. package/src/menu/MenuItemTextField.tsx +5 -7
  579. package/src/menu/MenuVisibilityProvider.tsx +3 -2
  580. package/src/menu/MenuWidget.tsx +123 -119
  581. package/src/menu/useContextMenu.ts +7 -4
  582. package/src/movement/types.ts +5 -9
  583. package/src/navigation/CollapsibleNavGroup.tsx +10 -6
  584. package/src/navigation/NavGroup.tsx +18 -19
  585. package/src/navigation/NavItem.tsx +16 -11
  586. package/src/navigation/NavItemButton.tsx +69 -66
  587. package/src/navigation/NavItemLink.tsx +102 -100
  588. package/src/navigation/NavSubheader.tsx +14 -16
  589. package/src/navigation/Navigation.tsx +1 -1
  590. package/src/navigation/types.ts +13 -4
  591. package/src/navigation/useActiveHeadingId.ts +1 -1
  592. package/src/overlay/Overlay.tsx +66 -65
  593. package/src/positioning/useFixedPositioning.ts +1 -1
  594. package/src/progress/CircularProgress.tsx +6 -6
  595. package/src/progress/LinearProgress.tsx +6 -6
  596. package/src/progress/types.ts +4 -0
  597. package/src/responsive-item/ResponsiveItem.tsx +29 -28
  598. package/src/responsive-item/ResponsiveItemOverlay.tsx +9 -8
  599. package/src/segmented-button/SegmentedButton.tsx +11 -6
  600. package/src/segmented-button/SegmentedButtonContainer.tsx +14 -8
  601. package/src/sheet/Sheet.tsx +42 -43
  602. package/src/snackbar/Snackbar.tsx +44 -38
  603. package/src/snackbar/Toast.tsx +110 -109
  604. package/src/snackbar/ToastActionButton.tsx +6 -6
  605. package/src/snackbar/ToastCloseButton.tsx +4 -6
  606. package/src/snackbar/ToastContent.tsx +56 -49
  607. package/src/spinbutton/SpinButton.tsx +9 -8
  608. package/src/spinbutton/types.ts +1 -1
  609. package/src/table/StickyTableSection.tsx +8 -6
  610. package/src/table/Table.tsx +47 -41
  611. package/src/table/TableBody.tsx +46 -42
  612. package/src/table/TableCell.tsx +83 -81
  613. package/src/table/TableCellContent.tsx +11 -6
  614. package/src/table/TableCheckbox.tsx +6 -6
  615. package/src/table/TableContainer.tsx +31 -26
  616. package/src/table/TableContainerProvider.ts +1 -1
  617. package/src/table/TableFooter.tsx +7 -12
  618. package/src/table/TableHeader.tsx +15 -9
  619. package/src/table/TableRadio.tsx +59 -58
  620. package/src/table/TableRow.tsx +34 -33
  621. package/src/tabs/SimpleTabPanel.tsx +18 -13
  622. package/src/tabs/SimpleTabPanels.tsx +11 -7
  623. package/src/tabs/TabList.tsx +106 -105
  624. package/src/tabs/TabListScrollButton.tsx +9 -6
  625. package/src/tabs/useTabList.ts +2 -2
  626. package/src/theme/useCSSVariables.ts +1 -1
  627. package/src/tooltip/Tooltip.tsx +61 -61
  628. package/src/tooltip/useTooltip.ts +2 -3
  629. package/src/transition/SkeletonPlaceholder.tsx +8 -6
  630. package/src/transition/Slide.tsx +54 -48
  631. package/src/transition/SlideContainer.tsx +16 -16
  632. package/src/tree/TreeGroup.tsx +54 -55
  633. package/src/tree/TreeProvider.tsx +2 -2
  634. package/src/tree/useTreeMovement.ts +6 -6
  635. package/src/types.ts +1 -16
  636. package/src/typography/Mark.tsx +16 -11
  637. package/src/typography/SrOnly.tsx +41 -35
  638. package/src/typography/TextContainer.tsx +12 -12
  639. package/src/typography/Typography.tsx +42 -41
  640. package/src/useAsyncFunction.ts +3 -3
  641. package/src/useDebouncedFunction.ts +1 -1
  642. package/src/useDropzone.ts +1 -1
  643. package/src/useEnsuredRef.ts +3 -3
  644. package/src/useThrottledFunction.ts +3 -3
  645. package/src/useUnmounted.ts +2 -4
  646. package/src/utils/applyRef.ts +2 -2
  647. package/src/window-splitter/WindowSplitter.tsx +6 -6
@@ -1,4 +1,4 @@
1
- import { forwardRef } from "react";
1
+ import { type ReactElement, type Ref } from "react";
2
2
 
3
3
  import { Typography, type TypographyProps } from "../typography/Typography.js";
4
4
  import { type LegendClassNameOptions, legend } from "./legendStyles.js";
@@ -7,7 +7,9 @@ import { type LegendClassNameOptions, legend } from "./legendStyles.js";
7
7
  * @since 6.0.0
8
8
  * @since 6.4.0 Extends the `LegendClassNameOptions`
9
9
  */
10
- export interface LegendProps extends TypographyProps, LegendClassNameOptions {}
10
+ export interface LegendProps extends TypographyProps, LegendClassNameOptions {
11
+ ref?: Ref<HTMLLegendElement>;
12
+ }
11
13
 
12
14
  /**
13
15
  * This should be used within a `Fieldset` to apply a label.
@@ -39,45 +41,44 @@ export interface LegendProps extends TypographyProps, LegendClassNameOptions {}
39
41
  * @see {@link https://react-md.dev/components/fieldset | Fieldset Demos}
40
42
  * @since 6.0.0
41
43
  */
42
- export const Legend = forwardRef<HTMLLegendElement, LegendProps>(
43
- function Legend(props, ref) {
44
- const {
45
- srOnly,
46
- floating,
47
- theme,
48
- gap,
49
- dense,
50
- active,
51
- error,
52
- disabled,
53
- stacked,
54
- reversed,
55
- className,
56
- children,
57
- ...remaining
58
- } = props;
44
+ export function Legend(props: LegendProps): ReactElement {
45
+ const {
46
+ ref,
47
+ srOnly,
48
+ floating,
49
+ theme,
50
+ gap,
51
+ dense,
52
+ active,
53
+ error,
54
+ disabled,
55
+ stacked,
56
+ reversed,
57
+ className,
58
+ children,
59
+ ...remaining
60
+ } = props;
59
61
 
60
- return (
61
- <Typography
62
- {...remaining}
63
- as="legend"
64
- ref={ref}
65
- className={legend({
66
- srOnly,
67
- floating,
68
- theme,
69
- gap,
70
- dense,
71
- active,
72
- error,
73
- disabled,
74
- stacked,
75
- reversed,
76
- className,
77
- })}
78
- >
79
- {children}
80
- </Typography>
81
- );
82
- }
83
- );
62
+ return (
63
+ <Typography
64
+ {...remaining}
65
+ as="legend"
66
+ ref={ref}
67
+ className={legend({
68
+ srOnly,
69
+ floating,
70
+ theme,
71
+ gap,
72
+ dense,
73
+ active,
74
+ error,
75
+ disabled,
76
+ stacked,
77
+ reversed,
78
+ className,
79
+ })}
80
+ >
81
+ {children}
82
+ </Typography>
83
+ );
84
+ }
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  type CSSProperties,
3
3
  type HTMLAttributes,
4
+ type ReactElement,
4
5
  type ReactNode,
6
+ type Ref,
5
7
  type SelectHTMLAttributes,
6
- forwardRef,
7
8
  } from "react";
8
9
 
9
10
  import { getIcon } from "../icon/config.js";
@@ -27,6 +28,8 @@ export interface NativeSelectProps
27
28
  Omit<SelectHTMLAttributes<HTMLSelectElement>, "autoComplete">,
28
29
  UserAgentAutocompleteProps,
29
30
  FormFieldOptions {
31
+ ref?: Ref<HTMLSelectElement>;
32
+
30
33
  /**
31
34
  * A custom dropdown icon to use instead of the browser's default select
32
35
  * dropdown icon.
@@ -111,124 +114,123 @@ export interface NativeSelectProps
111
114
  *
112
115
  * @see {@link https://react-md.dev/components/native-select | NativeSelect Demos}
113
116
  */
114
- export const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(
115
- function NativeSelect(props, ref) {
116
- const {
117
- id: propId,
118
- style,
119
- className,
120
- icon: propIcon,
121
- label,
122
- labelProps,
123
- labelStyle,
124
- labelClassName,
125
- selectStyle,
126
- selectClassName,
127
- autoCompleteValue,
128
- autoComplete = autoCompleteValue,
129
- name = autoCompleteValue,
130
- dense,
131
- error,
132
- active,
133
- inline,
134
- leftAddon,
135
- rightAddon: propRightAddon,
136
- leftAddonProps,
137
- rightAddonProps,
138
- disableLeftAddonStyles,
139
- disableRightAddonStyles,
140
- theme: propTheme,
141
- underlineDirection: propUnderlineDirection,
142
- messageProps,
143
- messageContainerProps,
144
- containerProps,
145
- children,
146
- ...remaining
147
- } = props;
148
- const { disabled, readOnly, multiple } = props;
149
- const id = useEnsuredId(propId, "select");
150
- const theme = getFormConfig("theme", propTheme);
151
- const underlineDirection = getFormConfig(
152
- "underlineDirection",
153
- propUnderlineDirection
154
- );
155
- const icon = getIcon("dropdown", propIcon);
156
- const underlined = theme === "underline" || theme === "filled";
117
+ export function NativeSelect(props: NativeSelectProps): ReactElement {
118
+ const {
119
+ ref,
120
+ id: propId,
121
+ style,
122
+ className,
123
+ icon: propIcon,
124
+ label,
125
+ labelProps,
126
+ labelStyle,
127
+ labelClassName,
128
+ selectStyle,
129
+ selectClassName,
130
+ autoCompleteValue,
131
+ autoComplete = autoCompleteValue,
132
+ name = autoCompleteValue,
133
+ dense,
134
+ error,
135
+ active,
136
+ inline,
137
+ leftAddon,
138
+ rightAddon: propRightAddon,
139
+ leftAddonProps,
140
+ rightAddonProps,
141
+ disableLeftAddonStyles,
142
+ disableRightAddonStyles,
143
+ theme: propTheme,
144
+ underlineDirection: propUnderlineDirection,
145
+ messageProps,
146
+ messageContainerProps,
147
+ containerProps,
148
+ children,
149
+ ...remaining
150
+ } = props;
151
+ const { disabled, readOnly, multiple } = props;
152
+ const id = useEnsuredId(propId, "select");
153
+ const theme = getFormConfig("theme", propTheme);
154
+ const underlineDirection = getFormConfig(
155
+ "underlineDirection",
156
+ propUnderlineDirection
157
+ );
158
+ const icon = getIcon("dropdown", propIcon);
159
+ const underlined = theme === "underline" || theme === "filled";
157
160
 
158
- let rightAddon = propRightAddon;
159
- if (propRightAddon === undefined && !multiple) {
160
- rightAddon = icon;
161
- }
161
+ let rightAddon = propRightAddon;
162
+ if (propRightAddon === undefined && !multiple) {
163
+ rightAddon = icon;
164
+ }
162
165
 
163
- return (
164
- <FormMessageContainer
165
- inline={inline}
166
- {...messageContainerProps}
167
- messageProps={
168
- messageProps && {
169
- error,
170
- theme,
171
- ...messageProps,
172
- }
166
+ return (
167
+ <FormMessageContainer
168
+ inline={inline}
169
+ {...messageContainerProps}
170
+ messageProps={
171
+ messageProps && {
172
+ error,
173
+ theme,
174
+ ...messageProps,
173
175
  }
176
+ }
177
+ >
178
+ <TextFieldContainer
179
+ {...containerProps}
180
+ style={style}
181
+ className={nativeSelectContainer({
182
+ label: !!label,
183
+ multiple,
184
+ underlined,
185
+ className,
186
+ })}
187
+ theme={theme}
188
+ label={!!label}
189
+ error={error}
190
+ dense={dense}
191
+ inline={inline}
192
+ active={active}
193
+ readOnly={readOnly}
194
+ disabled={disabled}
195
+ leftAddon={leftAddon}
196
+ leftAddonProps={leftAddonProps}
197
+ rightAddon={rightAddon}
198
+ rightAddonProps={rightAddonProps}
199
+ underlineDirection={underlineDirection}
200
+ disableLeftAddonStyles={disableLeftAddonStyles}
201
+ disableRightAddonStyles={disableRightAddonStyles}
174
202
  >
175
- <TextFieldContainer
176
- {...containerProps}
177
- style={style}
178
- className={nativeSelectContainer({
179
- label: !!label,
180
- multiple,
181
- underlined,
182
- className,
183
- })}
184
- theme={theme}
185
- label={!!label}
186
- error={error}
187
- dense={dense}
188
- inline={inline}
189
- active={active}
190
- readOnly={readOnly}
203
+ <select
204
+ {...remaining}
205
+ id={id}
206
+ ref={ref}
207
+ autoComplete={autoComplete}
208
+ name={name}
191
209
  disabled={disabled}
192
- leftAddon={leftAddon}
193
- leftAddonProps={leftAddonProps}
194
- rightAddon={rightAddon}
195
- rightAddonProps={rightAddonProps}
196
- underlineDirection={underlineDirection}
197
- disableLeftAddonStyles={disableLeftAddonStyles}
198
- disableRightAddonStyles={disableRightAddonStyles}
210
+ style={selectStyle}
211
+ className={nativeSelect({
212
+ icon: !!icon,
213
+ className: selectClassName,
214
+ })}
199
215
  >
200
- <select
201
- {...remaining}
202
- id={id}
203
- ref={ref}
204
- autoComplete={autoComplete}
205
- name={name}
216
+ {children}
217
+ </select>
218
+ {label && (
219
+ <Label
220
+ {...labelProps}
221
+ htmlFor={id}
222
+ style={labelProps?.style ?? labelStyle}
223
+ className={labelProps?.className ?? labelClassName}
224
+ floating
225
+ dense={dense}
226
+ error={error}
227
+ active={active}
206
228
  disabled={disabled}
207
- style={selectStyle}
208
- className={nativeSelect({
209
- icon: !!icon,
210
- className: selectClassName,
211
- })}
212
229
  >
213
- {children}
214
- </select>
215
- {label && (
216
- <Label
217
- {...labelProps}
218
- htmlFor={id}
219
- style={labelProps?.style ?? labelStyle}
220
- className={labelProps?.className ?? labelClassName}
221
- floating
222
- dense={dense}
223
- error={error}
224
- active={active}
225
- disabled={disabled}
226
- >
227
- {label}
228
- </Label>
229
- )}
230
- </TextFieldContainer>
231
- </FormMessageContainer>
232
- );
233
- }
234
- );
230
+ {label}
231
+ </Label>
232
+ )}
233
+ </TextFieldContainer>
234
+ </FormMessageContainer>
235
+ );
236
+ }
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { type ReactNode, forwardRef } from "react";
3
+ import { type ReactElement, type ReactNode, type Ref } from "react";
4
4
 
5
5
  import { type ListElement, type ListProps } from "../list/List.js";
6
6
  import {
@@ -13,6 +13,8 @@ import { useEnsuredId } from "../useEnsuredId.js";
13
13
 
14
14
  /** @since 6.0.0 */
15
15
  export interface OptGroupProps extends Omit<ListProps, "role"> {
16
+ ref?: Ref<ListElement>;
17
+
16
18
  /**
17
19
  * This is really the `children` to display in a `ListSubheader` that
18
20
  * describes the optgroup. It was named `label` to match the native
@@ -70,18 +72,16 @@ export interface OptGroupProps extends Omit<ListProps, "role"> {
70
72
  * @see {@link https://react-md.dev/components/select | Select Demos}
71
73
  * @since 6.0.0
72
74
  */
73
- export const OptGroup = forwardRef<ListElement, OptGroupProps>(
74
- function OptGroup(props, ref) {
75
- const { children, label, labelProps, ...remaining } = props;
76
- const labelId = useEnsuredId(labelProps?.id, "optgroup");
75
+ export function OptGroup(props: OptGroupProps): ReactElement {
76
+ const { ref, children, label, labelProps, ...remaining } = props;
77
+ const labelId = useEnsuredId(labelProps?.id, "optgroup");
77
78
 
78
- return (
79
- <MenuItemGroup aria-labelledby={labelId} {...remaining} ref={ref}>
80
- <ListSubheader {...labelProps} id={labelId}>
81
- {label}
82
- </ListSubheader>
83
- {children}
84
- </MenuItemGroup>
85
- );
86
- }
87
- );
79
+ return (
80
+ <MenuItemGroup aria-labelledby={labelId} {...remaining} ref={ref}>
81
+ <ListSubheader {...labelProps} id={labelId}>
82
+ {label}
83
+ </ListSubheader>
84
+ {children}
85
+ </MenuItemGroup>
86
+ );
87
+ }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { cnb } from "cnbuilder";
4
- import { Fragment, type ReactNode, forwardRef } from "react";
4
+ import { Fragment, type ReactElement, type ReactNode, type Ref } from "react";
5
5
 
6
6
  import {
7
7
  TextIconSpacing,
@@ -68,6 +68,8 @@ export interface OptionSelectedIconProps {
68
68
  * `selectedIconAfter`, and `iconSpacingProps` props.
69
69
  */
70
70
  export interface OptionProps extends MenuItemProps, OptionSelectedIconProps {
71
+ ref?: Ref<HTMLLIElement>;
72
+
71
73
  /**
72
74
  * @defaultValue `"option"`
73
75
  */
@@ -137,131 +139,130 @@ export interface OptionProps extends MenuItemProps, OptionSelectedIconProps {
137
139
  * @since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,
138
140
  * `selectedIconAfter`, `iconSpacingProps`, and `selectedClassName` props.
139
141
  */
140
- export const Option = forwardRef<HTMLLIElement, OptionProps>(
141
- function Option(props, ref) {
142
- const {
143
- id: propId,
144
- role = "option",
145
- value,
146
- children: propChildren,
147
- onClick = noop,
148
- className,
149
- selectedClassName,
150
- selectedIcon: propSelectedIcon,
151
- unselectedIcon: propUnselectedIcon,
152
- selectedIconAfter: propSelectedIconAfter,
153
- disableSelectedIcon: propDisableSelectedIcon,
154
- textIconSpacingProps,
155
- leftAddon: propLeftAddon,
156
- leftAddonType,
157
- leftAddonClassName,
158
- rightAddon: propRightAddon,
159
- rightAddonType,
160
- rightAddonClassName,
161
- secondaryText,
162
- height: propHeight,
163
- disableTextChildren: propDisableTextChildren,
164
- ...remaining
165
- } = props;
142
+ export function Option(props: OptionProps): ReactElement {
143
+ const {
144
+ ref,
145
+ id: propId,
146
+ role = "option",
147
+ value,
148
+ children: propChildren,
149
+ onClick = noop,
150
+ className,
151
+ selectedClassName,
152
+ selectedIcon: propSelectedIcon,
153
+ unselectedIcon: propUnselectedIcon,
154
+ selectedIconAfter: propSelectedIconAfter,
155
+ disableSelectedIcon: propDisableSelectedIcon,
156
+ textIconSpacingProps,
157
+ leftAddon: propLeftAddon,
158
+ leftAddonType,
159
+ leftAddonClassName,
160
+ rightAddon: propRightAddon,
161
+ rightAddonType,
162
+ rightAddonClassName,
163
+ secondaryText,
164
+ height: propHeight,
165
+ disableTextChildren: propDisableTextChildren,
166
+ ...remaining
167
+ } = props;
166
168
 
167
- const id = useEnsuredId(propId, "option");
168
- const {
169
- selectOption,
170
- isOptionSelected,
171
- disableSelectedIcon: contextDisableSelectedIcon,
172
- selectedIcon: contextSelectedIcon,
173
- unselectedIcon: contextUnselectedIcon,
174
- selectedIconAfter: contextSelectedIconAfter,
175
- } = useListboxContext();
176
- const selectedIconAfter = propSelectedIconAfter ?? contextSelectedIconAfter;
177
- const disableSelectedIcon =
178
- propDisableSelectedIcon ?? contextDisableSelectedIcon;
179
- const selected = isOptionSelected(value);
180
- const selectedIcon = getIcon(
181
- "selected",
182
- disableSelectedIcon ? null : (propSelectedIcon ?? contextSelectedIcon)
183
- );
184
- const unselectedIcon = disableSelectedIcon
185
- ? null
186
- : (propUnselectedIcon ??
187
- contextUnselectedIcon ??
188
- DEFAULT_OPTION_UNSELECTED_ICON);
189
- const icon = selected ? selectedIcon : unselectedIcon;
169
+ const id = useEnsuredId(propId, "option");
170
+ const {
171
+ selectOption,
172
+ isOptionSelected,
173
+ disableSelectedIcon: contextDisableSelectedIcon,
174
+ selectedIcon: contextSelectedIcon,
175
+ unselectedIcon: contextUnselectedIcon,
176
+ selectedIconAfter: contextSelectedIconAfter,
177
+ } = useListboxContext();
178
+ const selectedIconAfter = propSelectedIconAfter ?? contextSelectedIconAfter;
179
+ const disableSelectedIcon =
180
+ propDisableSelectedIcon ?? contextDisableSelectedIcon;
181
+ const selected = isOptionSelected(value);
182
+ const selectedIcon = getIcon(
183
+ "selected",
184
+ disableSelectedIcon ? null : (propSelectedIcon ?? contextSelectedIcon)
185
+ );
186
+ const unselectedIcon = disableSelectedIcon
187
+ ? null
188
+ : (propUnselectedIcon ??
189
+ contextUnselectedIcon ??
190
+ DEFAULT_OPTION_UNSELECTED_ICON);
191
+ const icon = selected ? selectedIcon : unselectedIcon;
190
192
 
191
- let leftAddon = propLeftAddon;
192
- let rightAddon = propRightAddon;
193
- let children = propChildren;
194
- let disableTextChildren = propDisableTextChildren;
195
- if (!selectedIconAfter && icon) {
196
- leftAddon = icon;
197
- if (propLeftAddon) {
198
- disableTextChildren = true;
199
- const Wrapper = propDisableTextChildren ? Fragment : ListItemText;
193
+ let leftAddon = propLeftAddon;
194
+ let rightAddon = propRightAddon;
195
+ let children = propChildren;
196
+ let disableTextChildren = propDisableTextChildren;
197
+ if (!selectedIconAfter && icon) {
198
+ leftAddon = icon;
199
+ if (propLeftAddon) {
200
+ disableTextChildren = true;
201
+ const Wrapper = propDisableTextChildren ? Fragment : ListItemText;
200
202
 
201
- children = (
202
- <TextIconSpacing {...textIconSpacingProps} icon={propLeftAddon}>
203
- <Wrapper>{children}</Wrapper>
204
- </TextIconSpacing>
205
- );
206
- }
207
- } else if (icon) {
208
- rightAddon = icon;
209
- if (propRightAddon) {
210
- disableTextChildren = true;
211
- const Wrapper = propDisableTextChildren ? Fragment : ListItemText;
203
+ children = (
204
+ <TextIconSpacing {...textIconSpacingProps} icon={propLeftAddon}>
205
+ <Wrapper>{children}</Wrapper>
206
+ </TextIconSpacing>
207
+ );
208
+ }
209
+ } else if (icon) {
210
+ rightAddon = icon;
211
+ if (propRightAddon) {
212
+ disableTextChildren = true;
213
+ const Wrapper = propDisableTextChildren ? Fragment : ListItemText;
212
214
 
213
- children = (
214
- <TextIconSpacing {...textIconSpacingProps} icon={propRightAddon}>
215
- <Wrapper>{children}</Wrapper>
216
- </TextIconSpacing>
217
- );
218
- }
215
+ children = (
216
+ <TextIconSpacing {...textIconSpacingProps} icon={propRightAddon}>
217
+ <Wrapper>{children}</Wrapper>
218
+ </TextIconSpacing>
219
+ );
219
220
  }
221
+ }
220
222
 
221
- const height = getListItemHeight({
222
- height: propHeight,
223
- leftAddon: leftAddon === icon ? null : leftAddon,
224
- leftAddonType,
225
- rightAddon: rightAddon === icon ? null : rightAddon,
226
- rightAddonType,
227
- secondaryText,
228
- });
223
+ const height = getListItemHeight({
224
+ height: propHeight,
225
+ leftAddon: leftAddon === icon ? null : leftAddon,
226
+ leftAddonType,
227
+ rightAddon: rightAddon === icon ? null : rightAddon,
228
+ rightAddonType,
229
+ secondaryText,
230
+ });
229
231
 
230
- return (
231
- <MenuItem
232
- {...remaining}
233
- aria-selected={selected || undefined}
234
- id={id}
235
- ref={ref}
236
- role={role}
237
- onClick={(event) => {
238
- onClick(event);
239
- selectOption(value);
240
- }}
241
- className={option({
242
- icon: !!icon,
243
- selected,
244
- selectedClassName,
245
- className,
246
- })}
247
- secondaryText={secondaryText}
248
- height={height}
249
- leftAddon={leftAddon}
250
- leftAddonType={leftAddonType}
251
- leftAddonClassName={cnb(
252
- leftAddon === icon && "rmd-option__icon",
253
- leftAddonClassName
254
- )}
255
- rightAddon={rightAddon}
256
- rightAddonType={rightAddonType}
257
- rightAddonClassName={cnb(
258
- rightAddon === icon && "rmd-option__icon",
259
- rightAddonClassName
260
- )}
261
- disableTextChildren={disableTextChildren}
262
- >
263
- {children}
264
- </MenuItem>
265
- );
266
- }
267
- );
232
+ return (
233
+ <MenuItem
234
+ {...remaining}
235
+ aria-selected={selected || undefined}
236
+ id={id}
237
+ ref={ref}
238
+ role={role}
239
+ onClick={(event) => {
240
+ onClick(event);
241
+ selectOption(value);
242
+ }}
243
+ className={option({
244
+ icon: !!icon,
245
+ selected,
246
+ selectedClassName,
247
+ className,
248
+ })}
249
+ secondaryText={secondaryText}
250
+ height={height}
251
+ leftAddon={leftAddon}
252
+ leftAddonType={leftAddonType}
253
+ leftAddonClassName={cnb(
254
+ leftAddon === icon && "rmd-option__icon",
255
+ leftAddonClassName
256
+ )}
257
+ rightAddon={rightAddon}
258
+ rightAddonType={rightAddonType}
259
+ rightAddonClassName={cnb(
260
+ rightAddon === icon && "rmd-option__icon",
261
+ rightAddonClassName
262
+ )}
263
+ disableTextChildren={disableTextChildren}
264
+ >
265
+ {children}
266
+ </MenuItem>
267
+ );
268
+ }