@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,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { type ButtonHTMLAttributes, forwardRef } from "react";
3
+ import { type ButtonHTMLAttributes, type ReactElement, type Ref } from "react";
4
4
 
5
5
  import { type ComponentWithRippleProps } from "../interaction/types.js";
6
6
  import { useElementInteraction } from "../interaction/useElementInteraction.js";
@@ -18,6 +18,8 @@ export interface ButtonProps
18
18
  ButtonHTMLAttributes<HTMLButtonElement>,
19
19
  ButtonClassNameThemeOptions,
20
20
  ComponentWithRippleProps {
21
+ ref?: Ref<HTMLButtonElement>;
22
+
21
23
  /** @defaultValue `"button"` */
22
24
  type?: "button" | "reset" | "submit";
23
25
 
@@ -119,20 +121,39 @@ export interface ButtonProps
119
121
  *
120
122
  * @see {@link https://react-md.dev/components/button | Button Demos}
121
123
  */
122
- export const Button = forwardRef<HTMLButtonElement, ButtonProps>(
123
- function Button(props, ref) {
124
- const {
125
- type = "button",
126
- disabled = false,
127
- floating = null,
128
- floatingProps,
129
- theme = floating ? "secondary" : "clear",
130
- themeType = floating ? "contained" : "flat",
131
- iconSize,
132
- buttonType = floating || iconSize ? "icon" : "text",
133
- className,
134
- responsive,
135
- children: propChildren,
124
+ export function Button(props: ButtonProps): ReactElement {
125
+ const {
126
+ ref,
127
+ type = "button",
128
+ disabled = false,
129
+ floating = null,
130
+ floatingProps,
131
+ theme = floating ? "secondary" : "clear",
132
+ themeType = floating ? "contained" : "flat",
133
+ iconSize,
134
+ buttonType = floating || iconSize ? "icon" : "text",
135
+ className,
136
+ responsive,
137
+ children: propChildren,
138
+ onBlur,
139
+ onClick,
140
+ onKeyDown,
141
+ onKeyUp,
142
+ onMouseDown,
143
+ onMouseUp,
144
+ onMouseLeave,
145
+ onDragStart,
146
+ onTouchStart,
147
+ onTouchEnd,
148
+ onTouchMove,
149
+ disableRipple,
150
+ ...remaining
151
+ } = props;
152
+ const isThemeDisabled = theme === "disabled";
153
+ const ariaDisabled = props["aria-disabled"];
154
+ const { pressed, pressedClassName, ripples, handlers } =
155
+ useElementInteraction({
156
+ mode: disableRipple ? "press" : undefined,
136
157
  onBlur,
137
158
  onClick,
138
159
  onKeyDown,
@@ -144,63 +165,43 @@ export const Button = forwardRef<HTMLButtonElement, ButtonProps>(
144
165
  onTouchStart,
145
166
  onTouchEnd,
146
167
  onTouchMove,
147
- disableRipple,
148
- ...remaining
149
- } = props;
150
- const isThemeDisabled = theme === "disabled";
151
- const ariaDisabled = props["aria-disabled"];
152
- const { pressed, pressedClassName, ripples, handlers } =
153
- useElementInteraction({
154
- mode: disableRipple ? "press" : undefined,
155
- onBlur,
156
- onClick,
157
- onKeyDown,
158
- onKeyUp,
159
- onMouseDown,
160
- onMouseUp,
161
- onMouseLeave,
162
- onDragStart,
163
- onTouchStart,
164
- onTouchEnd,
165
- onTouchMove,
166
- disabled:
167
- disabled ||
168
- isThemeDisabled ||
169
- (ariaDisabled && ariaDisabled !== "false"),
170
- });
168
+ disabled:
169
+ disabled ||
170
+ isThemeDisabled ||
171
+ (ariaDisabled && ariaDisabled !== "false"),
172
+ });
171
173
 
172
- const children = useHigherContrastChildren(propChildren);
174
+ const children = useHigherContrastChildren(propChildren);
173
175
 
174
- return (
175
- <FloatingActionButton position={floating} {...floatingProps}>
176
- <button
177
- {...remaining}
178
- // when the theme is set to `"disabled"`, the event handlers should be
179
- // removed so that it behaves like a disabled button. you do not want to
180
- // actually set the `disabled` attribute since it will lose keyboard
181
- // focus. this is mostly for supporting circular progress bars within
182
- // buttons
183
- {...(isThemeDisabled ? {} : handlers)}
184
- aria-disabled={isThemeDisabled || remaining["aria-disabled"]}
185
- disabled={disabled}
186
- ref={ref}
187
- type={type}
188
- className={button({
189
- theme,
190
- themeType,
191
- buttonType,
192
- disabled,
193
- responsive,
194
- iconSize,
195
- pressed,
196
- pressedClassName,
197
- className,
198
- })}
199
- >
200
- {children}
201
- {ripples}
202
- </button>
203
- </FloatingActionButton>
204
- );
205
- }
206
- );
176
+ return (
177
+ <FloatingActionButton position={floating} {...floatingProps}>
178
+ <button
179
+ {...remaining}
180
+ // when the theme is set to `"disabled"`, the event handlers should be
181
+ // removed so that it behaves like a disabled button. you do not want to
182
+ // actually set the `disabled` attribute since it will lose keyboard
183
+ // focus. this is mostly for supporting circular progress bars within
184
+ // buttons
185
+ {...(isThemeDisabled ? {} : handlers)}
186
+ aria-disabled={isThemeDisabled || remaining["aria-disabled"]}
187
+ disabled={disabled}
188
+ ref={ref}
189
+ type={type}
190
+ className={button({
191
+ theme,
192
+ themeType,
193
+ buttonType,
194
+ disabled,
195
+ responsive,
196
+ iconSize,
197
+ pressed,
198
+ pressedClassName,
199
+ className,
200
+ })}
201
+ >
202
+ {children}
203
+ {ripples}
204
+ </button>
205
+ </FloatingActionButton>
206
+ );
207
+ }
@@ -1,4 +1,4 @@
1
- import { type ButtonHTMLAttributes, forwardRef } from "react";
1
+ import { type ButtonHTMLAttributes, type ReactElement, type Ref } from "react";
2
2
 
3
3
  import { buttonUnstyled } from "./styles.js";
4
4
 
@@ -9,10 +9,12 @@ import { buttonUnstyled } from "./styles.js";
9
9
  *
10
10
  * @since 6.0.0 Renamed from `UnstyledButtonProps`
11
11
  */
12
- export type ButtonUnstyledProps = Omit<
12
+ export interface ButtonUnstyledProps extends Omit<
13
13
  ButtonHTMLAttributes<HTMLButtonElement>,
14
14
  "type"
15
- >;
15
+ > {
16
+ ref?: Ref<HTMLButtonElement>;
17
+ }
16
18
 
17
19
  /**
18
20
  * A simple wrapper for a `<button type="button">` that applies the unstyled
@@ -24,11 +26,9 @@ export type ButtonUnstyledProps = Omit<
24
26
  * @see {@link buttonUnstyled}
25
27
  * @since 6.0.0 Renamed from `UnstyledButton`
26
28
  */
27
- export const ButtonUnstyled = forwardRef<
28
- HTMLButtonElement,
29
- ButtonUnstyledProps
30
- >(function ButtonUnstyled(props, ref) {
31
- const { children, className, ...remaining } = props;
29
+ export function ButtonUnstyled(props: ButtonUnstyledProps): ReactElement {
30
+ const { ref, children, className, ...remaining } = props;
31
+
32
32
  return (
33
33
  <button
34
34
  {...remaining}
@@ -39,4 +39,4 @@ export const ButtonUnstyled = forwardRef<
39
39
  {children}
40
40
  </button>
41
41
  );
42
- });
42
+ }
@@ -1,5 +1,5 @@
1
1
  import { cnb } from "cnbuilder";
2
- import { type HTMLAttributes, forwardRef } from "react";
2
+ import { type HTMLAttributes, type ReactElement, type Ref } from "react";
3
3
 
4
4
  import { bem } from "../utils/bem.js";
5
5
 
@@ -64,17 +64,19 @@ export function fab(options: FloatingActionButtonClassNameOptions): string {
64
64
  export interface FloatingActionButtonProps
65
65
  extends
66
66
  HTMLAttributes<HTMLSpanElement>,
67
- FloatingActionButtonClassNameOptions {}
67
+ FloatingActionButtonClassNameOptions {
68
+ ref?: Ref<HTMLSpanElement>;
69
+ }
68
70
 
69
71
  /**
70
72
  * @since 6.0.0
71
73
  * @internal
72
74
  */
73
- export const FloatingActionButton = forwardRef<
74
- HTMLSpanElement,
75
- FloatingActionButtonProps
76
- >(function FloatingActionButton(props, ref) {
75
+ export function FloatingActionButton(
76
+ props: FloatingActionButtonProps
77
+ ): ReactElement {
77
78
  const {
79
+ ref,
78
80
  children,
79
81
  className,
80
82
  position = null,
@@ -98,4 +100,4 @@ export const FloatingActionButton = forwardRef<
98
100
  {children}
99
101
  </span>
100
102
  );
101
- });
103
+ }
@@ -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 { Tooltip, type TooltipProps } from "../tooltip/Tooltip.js";
6
6
  import {
@@ -16,6 +16,8 @@ import { type ButtonType } from "./styles.js";
16
16
  * @since 6.0.0
17
17
  */
18
18
  export interface TooltippedButtonProps extends ButtonProps {
19
+ ref?: Ref<HTMLButtonElement>;
20
+
19
21
  /** @defaultValue `"icon"` */
20
22
  buttonType?: ButtonType;
21
23
 
@@ -73,11 +75,9 @@ export interface TooltippedButtonProps extends ButtonProps {
73
75
  * @see {@link https://react-md.dev/components/button | Button Demos}
74
76
  * @since 6.0.0
75
77
  */
76
- export const TooltippedButton = forwardRef<
77
- HTMLButtonElement,
78
- TooltippedButtonProps
79
- >(function TooltippedButton(props, ref) {
78
+ export function TooltippedButton(props: TooltippedButtonProps): ReactElement {
80
79
  const {
80
+ ref,
81
81
  tooltip,
82
82
  tooltipProps,
83
83
  tooltipOptions,
@@ -116,4 +116,4 @@ export const TooltippedButton = forwardRef<
116
116
  </Tooltip>
117
117
  </>
118
118
  );
119
- });
119
+ }
package/src/card/Card.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, forwardRef } from "react";
1
+ import { type HTMLAttributes, type ReactElement, type Ref } from "react";
2
2
 
3
3
  import { Box } from "../box/Box.js";
4
4
  import { type BoxAlignItems, type BoxOptions } from "../box/styles.js";
@@ -13,6 +13,8 @@ export interface CardProps
13
13
  HTMLAttributes<HTMLDivElement>,
14
14
  CardClassNameOptions,
15
15
  Pick<BoxOptions, "align" | "justify" | "fullWidth" | "disableWrap"> {
16
+ ref?: Ref<HTMLDivElement>;
17
+
16
18
  /** @defaultValue `"stretch"` */
17
19
  align?: BoxAlignItems;
18
20
 
@@ -59,38 +61,37 @@ export interface CardProps
59
61
  * @since 6.0.0 Uses the `Box` component and displays as `flex` instead of
60
62
  * `block`/`inline-block`.
61
63
  */
62
- export const Card = forwardRef<HTMLDivElement, CardProps>(
63
- function Card(props, ref) {
64
- const {
65
- children,
66
- className,
67
- align = "stretch",
68
- justify = "stretch",
69
- bordered,
70
- raisable,
71
- interactable,
72
- ...remaining
73
- } = props;
64
+ export function Card(props: CardProps): ReactElement {
65
+ const {
66
+ ref,
67
+ children,
68
+ className,
69
+ align = "stretch",
70
+ justify = "stretch",
71
+ bordered,
72
+ raisable,
73
+ interactable,
74
+ ...remaining
75
+ } = props;
74
76
 
75
- return (
76
- <Box
77
- align={align}
78
- justify={justify}
79
- disableWrap
80
- {...remaining}
81
- stacked
82
- disableGap
83
- disablePadding
84
- ref={ref}
85
- className={card({
86
- className,
87
- bordered,
88
- raisable,
89
- interactable,
90
- })}
91
- >
92
- {children}
93
- </Box>
94
- );
95
- }
96
- );
77
+ return (
78
+ <Box
79
+ align={align}
80
+ justify={justify}
81
+ disableWrap
82
+ {...remaining}
83
+ stacked
84
+ disableGap
85
+ disablePadding
86
+ ref={ref}
87
+ className={card({
88
+ className,
89
+ bordered,
90
+ raisable,
91
+ interactable,
92
+ })}
93
+ >
94
+ {children}
95
+ </Box>
96
+ );
97
+ }
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, forwardRef } from "react";
1
+ import { type HTMLAttributes, type ReactElement, type Ref } from "react";
2
2
 
3
3
  import { type CardContentClassNameOptions, cardContent } from "./styles.js";
4
4
 
@@ -7,37 +7,40 @@ import { type CardContentClassNameOptions, cardContent } from "./styles.js";
7
7
  * removed the `disableParagraphMargin` prop.
8
8
  */
9
9
  export interface CardContentProps
10
- extends HTMLAttributes<HTMLDivElement>, CardContentClassNameOptions {}
10
+ extends HTMLAttributes<HTMLDivElement>, CardContentClassNameOptions {
11
+ ref?: Ref<HTMLDivElement>;
12
+ }
11
13
 
12
14
  /**
13
15
  * @see {@link https://react-md.dev/components/card | Card Demos}
14
16
  * @since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and
15
17
  * removed the `disableParagraphMargin` prop.
16
18
  */
17
- export const CardContent = forwardRef<HTMLDivElement, CardContentProps>(
18
- function CardContent(props, ref) {
19
- const {
20
- children,
21
- className,
22
- disablePadding,
23
- disableSecondaryColor,
24
- disableLastChildPadding,
25
- ...remaining
26
- } = props;
19
+ export const CardContent = function CardContent(
20
+ props: CardContentProps
21
+ ): ReactElement {
22
+ const {
23
+ ref,
24
+ children,
25
+ className,
26
+ disablePadding,
27
+ disableSecondaryColor,
28
+ disableLastChildPadding,
29
+ ...remaining
30
+ } = props;
27
31
 
28
- return (
29
- <div
30
- {...remaining}
31
- ref={ref}
32
- className={cardContent({
33
- className,
34
- disablePadding,
35
- disableSecondaryColor,
36
- disableLastChildPadding,
37
- })}
38
- >
39
- {children}
40
- </div>
41
- );
42
- }
43
- );
32
+ return (
33
+ <div
34
+ {...remaining}
35
+ ref={ref}
36
+ className={cardContent({
37
+ className,
38
+ disablePadding,
39
+ disableSecondaryColor,
40
+ disableLastChildPadding,
41
+ })}
42
+ >
43
+ {children}
44
+ </div>
45
+ );
46
+ };
@@ -1,4 +1,4 @@
1
- import { forwardRef } from "react";
1
+ import { type ReactElement, type Ref } from "react";
2
2
 
3
3
  import { Box, type BoxProps } from "../box/Box.js";
4
4
  import { type BoxJustifyContent } from "../box/styles.js";
@@ -6,6 +6,8 @@ import { cardFooter } from "./styles.js";
6
6
 
7
7
  /** @since 6.0.0 */
8
8
  export interface CardFooterProps extends BoxProps {
9
+ ref?: Ref<HTMLDivElement>;
10
+
9
11
  /**
10
12
  * @defaultValue `"flex-end"`
11
13
  */
@@ -19,19 +21,23 @@ export interface CardFooterProps extends BoxProps {
19
21
  * @see {@link https://react-md.dev/components/card | Card Demos}
20
22
  * @since 6.0.0
21
23
  */
22
- export const CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(
23
- function CardFooter(props, ref) {
24
- const { className, children, justify = "flex-end", ...remaining } = props;
24
+ export function CardFooter(props: CardFooterProps): ReactElement {
25
+ const {
26
+ ref,
27
+ className,
28
+ children,
29
+ justify = "flex-end",
30
+ ...remaining
31
+ } = props;
25
32
 
26
- return (
27
- <Box
28
- {...remaining}
29
- ref={ref}
30
- className={cardFooter({ className })}
31
- justify={justify}
32
- >
33
- {children}
34
- </Box>
35
- );
36
- }
37
- );
33
+ return (
34
+ <Box
35
+ {...remaining}
36
+ ref={ref}
37
+ className={cardFooter({ className })}
38
+ justify={justify}
39
+ >
40
+ {children}
41
+ </Box>
42
+ );
43
+ }
@@ -1,4 +1,9 @@
1
- import { type HTMLAttributes, type ReactNode, forwardRef } from "react";
1
+ import {
2
+ type HTMLAttributes,
3
+ type ReactElement,
4
+ type ReactNode,
5
+ type Ref,
6
+ } from "react";
2
7
 
3
8
  import { type PropsWithRef } from "../types.js";
4
9
  import { cardHeader, cardHeaderContent } from "./styles.js";
@@ -11,6 +16,8 @@ import { cardHeader, cardHeaderContent } from "./styles.js";
11
16
  * `contentProps`.
12
17
  */
13
18
  export interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {
19
+ ref?: Ref<HTMLDivElement>;
20
+
14
21
  /**
15
22
  * Any content to display after the children in the header. This could be an
16
23
  * expander icon button, visual media like an image or video, etc.
@@ -41,36 +48,35 @@ export interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {
41
48
  * relies on the CSS `gap` for spacing.
42
49
  * @since 6.0.0 Renders as a `<div>` instead of a `<header>`
43
50
  */
44
- export const CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(
45
- function CardHeader(props, ref) {
46
- const {
47
- className,
48
- children,
49
- beforeAddon,
50
- afterAddon,
51
- contentProps,
52
- ...remaining
53
- } = props;
51
+ export function CardHeader(props: CardHeaderProps): ReactElement {
52
+ const {
53
+ ref,
54
+ className,
55
+ children,
56
+ beforeAddon,
57
+ afterAddon,
58
+ contentProps,
59
+ ...remaining
60
+ } = props;
54
61
 
55
- return (
62
+ return (
63
+ <div
64
+ {...remaining}
65
+ ref={ref}
66
+ className={cardHeader({
67
+ className,
68
+ addonBefore: !!beforeAddon,
69
+ addonAfter: !!afterAddon,
70
+ })}
71
+ >
72
+ {beforeAddon}
56
73
  <div
57
- {...remaining}
58
- ref={ref}
59
- className={cardHeader({
60
- className,
61
- addonBefore: !!beforeAddon,
62
- addonAfter: !!afterAddon,
63
- })}
74
+ {...contentProps}
75
+ className={cardHeaderContent({ className: contentProps?.className })}
64
76
  >
65
- {beforeAddon}
66
- <div
67
- {...contentProps}
68
- className={cardHeaderContent({ className: contentProps?.className })}
69
- >
70
- {children}
71
- </div>
72
- {afterAddon}
77
+ {children}
73
78
  </div>
74
- );
75
- }
76
- );
79
+ {afterAddon}
80
+ </div>
81
+ );
82
+ }
@@ -1,4 +1,4 @@
1
- import { forwardRef } from "react";
1
+ import { type ReactElement, type Ref } from "react";
2
2
 
3
3
  import {
4
4
  Typography,
@@ -12,6 +12,8 @@ import { cardSubtitle } from "./styles.js";
12
12
  * `noWrap`/`disableSecondaryColor` props.
13
13
  */
14
14
  export interface CardSubtitleProps extends TypographyProps {
15
+ ref?: Ref<TypographyHTMLElement>;
16
+
15
17
  /** @defaultValue `"h6"` */
16
18
  as?: TypographyProps["as"];
17
19
 
@@ -34,11 +36,11 @@ export interface CardSubtitleProps extends TypographyProps {
34
36
  * @since 6.0.0 Extends the {@link Typography} component and removed the
35
37
  * `noWrap`/`disableSecondaryColor` props.
36
38
  */
37
- export const CardSubtitle = forwardRef<
38
- TypographyHTMLElement,
39
- CardSubtitleProps
40
- >(function CardSubtitle(props, ref) {
39
+ export const CardSubtitle = function CardSubtitle(
40
+ props: CardSubtitleProps
41
+ ): ReactElement {
41
42
  const {
43
+ ref,
42
44
  children,
43
45
  as = "h6",
44
46
  type = "subtitle-2",
@@ -61,4 +63,4 @@ export const CardSubtitle = forwardRef<
61
63
  {children}
62
64
  </Typography>
63
65
  );
64
- });
66
+ };