@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
@@ -2,7 +2,8 @@ import {
2
2
  type CSSProperties,
3
3
  type HTMLAttributes,
4
4
  type InputHTMLAttributes,
5
- forwardRef,
5
+ type ReactElement,
6
+ type Ref,
6
7
  } from "react";
7
8
 
8
9
  import { type PropsWithRef } from "../types.js";
@@ -55,6 +56,8 @@ export interface TextFieldProps
55
56
  TextFieldInputAttributes,
56
57
  UserAgentAutocompleteProps,
57
58
  FormFieldOptions {
59
+ ref?: Ref<HTMLInputElement>;
60
+
58
61
  /**
59
62
  * @defaultValue `"text-field-" + useId()`
60
63
  */
@@ -122,112 +125,111 @@ export interface TextFieldProps
122
125
  *
123
126
  * @see {@link https://react-md.dev/components/textfield | TextField Demos}
124
127
  */
125
- export const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
126
- function TextField(props, ref) {
127
- const {
128
- id: propId,
129
- style,
130
- className,
131
- type = "text",
132
- label,
133
- labelProps,
134
- labelStyle,
135
- labelClassName,
136
- autoCompleteValue,
137
- autoComplete = autoCompleteValue,
138
- name = autoCompleteValue,
139
- dense,
140
- error,
141
- active,
142
- inline,
143
- leftAddon,
144
- leftAddonProps,
145
- rightAddon,
146
- rightAddonProps,
147
- disableLeftAddonStyles,
148
- disableRightAddonStyles,
149
- inputStyle,
150
- inputClassName,
151
- theme,
152
- underlineDirection,
153
- messageProps,
154
- messageContainerProps,
155
- containerProps,
156
- ...remaining
157
- } = props;
158
- const { disabled, readOnly } = props;
159
- const id = useEnsuredId(propId, "text-field");
128
+ export function TextField(props: TextFieldProps): ReactElement {
129
+ const {
130
+ ref,
131
+ id: propId,
132
+ style,
133
+ className,
134
+ type = "text",
135
+ label,
136
+ labelProps,
137
+ labelStyle,
138
+ labelClassName,
139
+ autoCompleteValue,
140
+ autoComplete = autoCompleteValue,
141
+ name = autoCompleteValue,
142
+ dense,
143
+ error,
144
+ active,
145
+ inline,
146
+ leftAddon,
147
+ leftAddonProps,
148
+ rightAddon,
149
+ rightAddonProps,
150
+ disableLeftAddonStyles,
151
+ disableRightAddonStyles,
152
+ inputStyle,
153
+ inputClassName,
154
+ theme,
155
+ underlineDirection,
156
+ messageProps,
157
+ messageContainerProps,
158
+ containerProps,
159
+ ...remaining
160
+ } = props;
161
+ const { disabled, readOnly } = props;
162
+ const id = useEnsuredId(propId, "text-field");
160
163
 
161
- let { placeholder = "" } = props;
162
- if (label && !placeholder) {
163
- // See the placeholder type definition comments for information
164
- placeholder = " ";
165
- }
164
+ let { placeholder = "" } = props;
165
+ if (label && !placeholder) {
166
+ // See the placeholder type definition comments for information
167
+ placeholder = " ";
168
+ }
166
169
 
167
- return (
168
- <FormMessageContainer
169
- inline={inline}
170
- {...messageContainerProps}
171
- messageProps={
172
- messageProps && {
173
- error,
174
- theme,
175
- ...messageProps,
176
- }
170
+ return (
171
+ <FormMessageContainer
172
+ inline={inline}
173
+ {...messageContainerProps}
174
+ messageProps={
175
+ messageProps && {
176
+ error,
177
+ theme,
178
+ ...messageProps,
177
179
  }
180
+ }
181
+ >
182
+ <TextFieldContainer
183
+ {...containerProps}
184
+ style={style}
185
+ className={className}
186
+ theme={theme}
187
+ label={!!label}
188
+ error={error}
189
+ dense={dense}
190
+ inline={inline}
191
+ active={active}
192
+ readOnly={readOnly}
193
+ disabled={disabled}
194
+ leftAddon={leftAddon}
195
+ leftAddonProps={leftAddonProps}
196
+ rightAddon={rightAddon}
197
+ rightAddonProps={rightAddonProps}
198
+ underlineDirection={underlineDirection}
199
+ disableLeftAddonStyles={disableLeftAddonStyles}
200
+ disableRightAddonStyles={disableRightAddonStyles}
178
201
  >
179
- <TextFieldContainer
180
- {...containerProps}
181
- style={style}
182
- className={className}
183
- theme={theme}
184
- label={!!label}
185
- error={error}
186
- dense={dense}
187
- inline={inline}
188
- active={active}
189
- readOnly={readOnly}
202
+ <input
203
+ {...remaining}
204
+ id={id}
205
+ ref={ref}
206
+ type={type}
207
+ name={name}
190
208
  disabled={disabled}
191
- leftAddon={leftAddon}
192
- leftAddonProps={leftAddonProps}
193
- rightAddon={rightAddon}
194
- rightAddonProps={rightAddonProps}
195
- underlineDirection={underlineDirection}
196
- disableLeftAddonStyles={disableLeftAddonStyles}
197
- disableRightAddonStyles={disableRightAddonStyles}
198
- >
199
- <input
200
- {...remaining}
201
- id={id}
202
- ref={ref}
203
- type={type}
204
- name={name}
209
+ placeholder={placeholder}
210
+ autoComplete={autoComplete}
211
+ style={inputStyle}
212
+ className={textField({
213
+ className: inputClassName,
214
+ placeholderHidden: !!label && !active,
215
+ })}
216
+ />
217
+ {label && (
218
+ <Label
219
+ floating
220
+ dense={dense}
221
+ error={error}
222
+ active={active}
205
223
  disabled={disabled}
206
- placeholder={placeholder}
207
- autoComplete={autoComplete}
208
- style={inputStyle}
209
- className={textField({
210
- className: inputClassName,
211
- placeholderHidden: !!label && !active,
212
- })}
213
- />
214
- {label && (
215
- <Label
216
- floating
217
- dense={dense}
218
- error={error}
219
- active={active}
220
- disabled={disabled}
221
- {...labelProps}
222
- htmlFor={id}
223
- style={labelProps?.style ?? labelStyle}
224
- className={labelProps?.className ?? labelClassName}
225
- >
226
- {label}
227
- </Label>
228
- )}
229
- </TextFieldContainer>
230
- </FormMessageContainer>
231
- );
232
- }
233
- );
224
+ {...labelProps}
225
+ htmlFor={id}
226
+ style={labelProps?.style ?? labelStyle}
227
+ className={labelProps?.className ?? labelClassName}
228
+ >
229
+ {label}
230
+ </Label>
231
+ )}
232
+ </TextFieldContainer>
233
+ </FormMessageContainer>
234
+ );
235
+ }
@@ -1,4 +1,4 @@
1
- import { forwardRef } from "react";
1
+ import { type ReactElement } from "react";
2
2
 
3
3
  import { textFieldAddon } from "./textFieldAddonStyles.js";
4
4
  import { type TextFieldAddonProps } from "./types.js";
@@ -7,37 +7,38 @@ import { type TextFieldAddonProps } from "./types.js";
7
7
  * This component is used to add an icon before or after the text field with
8
8
  * correct styling.
9
9
  */
10
- export const TextFieldAddon = forwardRef<HTMLSpanElement, TextFieldAddonProps>(
11
- function TextFieldAddon(props, ref) {
12
- const {
13
- after,
14
- disabled,
15
- pointerEvents,
16
- children,
17
- className,
18
- ...remaining
19
- } = props;
10
+ export function TextFieldAddon(
11
+ props: TextFieldAddonProps
12
+ ): ReactElement | null {
13
+ const {
14
+ ref,
15
+ after,
16
+ disabled,
17
+ pointerEvents,
18
+ children,
19
+ className,
20
+ ...remaining
21
+ } = props;
20
22
 
21
- if (!children) {
22
- return null;
23
- }
24
-
25
- if (disabled) {
26
- return <>{children}</>;
27
- }
23
+ if (!children) {
24
+ return null;
25
+ }
28
26
 
29
- return (
30
- <span
31
- {...remaining}
32
- ref={ref}
33
- className={textFieldAddon({
34
- after,
35
- presentational: !pointerEvents,
36
- className,
37
- })}
38
- >
39
- {children}
40
- </span>
41
- );
27
+ if (disabled) {
28
+ return <>{children}</>;
42
29
  }
43
- );
30
+
31
+ return (
32
+ <span
33
+ {...remaining}
34
+ ref={ref}
35
+ className={textFieldAddon({
36
+ after,
37
+ presentational: !pointerEvents,
38
+ className,
39
+ })}
40
+ >
41
+ {children}
42
+ </span>
43
+ );
44
+ }
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { type HTMLAttributes, forwardRef } from "react";
3
+ import { type HTMLAttributes, type ReactElement, type Ref } from "react";
4
4
 
5
5
  import { TextFieldAddon } from "./TextFieldAddon.js";
6
6
  import { getFormConfig } from "./formConfig.js";
@@ -9,6 +9,8 @@ import { type TextFieldContainerOptions } from "./types.js";
9
9
 
10
10
  export interface TextFieldContainerProps
11
11
  extends HTMLAttributes<HTMLDivElement>, TextFieldContainerOptions {
12
+ ref?: Ref<HTMLDivElement>;
13
+
12
14
  /**
13
15
  * Set this to `true` if there is a floating label with the `TextField` or
14
16
  * `TextArea`.
@@ -27,11 +29,11 @@ export interface TextFieldContainerProps
27
29
  *
28
30
  * @internal
29
31
  */
30
- export const TextFieldContainer = forwardRef<
31
- HTMLDivElement,
32
- TextFieldContainerProps
33
- >(function TextFieldContainer(props, ref) {
32
+ export function TextFieldContainer(
33
+ props: TextFieldContainerProps
34
+ ): ReactElement {
34
35
  const {
36
+ ref,
35
37
  children,
36
38
  className,
37
39
  dense,
@@ -89,4 +91,4 @@ export const TextFieldContainer = forwardRef<
89
91
  </TextFieldAddon>
90
92
  </div>
91
93
  );
92
- });
94
+ }
@@ -48,7 +48,7 @@ export type RequiredThumbProps = Pick<
48
48
  | "dragging"
49
49
  | keyof DraggableMouseEventHandlers<HTMLElement>
50
50
  | keyof DraggableTouchEventHandlers<HTMLElement>
51
- > & { ref: RefObject<HTMLSpanElement> };
51
+ > & { ref: RefObject<HTMLSpanElement | null> };
52
52
 
53
53
  /**
54
54
  * @since 6.0.0
package/src/form/types.ts CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  type InputHTMLAttributes,
5
5
  type LabelHTMLAttributes,
6
6
  type ReactNode,
7
+ type Ref,
7
8
  } from "react";
8
9
 
9
10
  import { type PropsWithRef } from "../types.js";
@@ -276,10 +277,15 @@ export interface FormMessageClassNameOptions {
276
277
  theme?: FormTheme;
277
278
  }
278
279
 
279
- export interface FormMessageProps
280
+ /**
281
+ * @since 7.0.0 Renamed from `FormMessageProps` to `ConfigurableFormMessageProps`
282
+ */
283
+ export interface ConfigurableFormMessageProps
280
284
  extends
281
285
  Omit<HTMLAttributes<HTMLDivElement>, "minLength" | "maxLength">,
282
286
  FormMessageClassNameOptions {
287
+ ref?: Ref<HTMLDivElement>;
288
+
283
289
  /**
284
290
  * If this component is acting as a form-level error message handler, the role
285
291
  * should be updated to be `"alert"` for additional accessibility.
@@ -382,12 +388,12 @@ export interface FormMessageInputLengthCounterProps {
382
388
  }
383
389
 
384
390
  export interface FormMessageWithCounterProps
385
- extends FormMessageProps, FormMessageInputLengthCounterProps {}
391
+ extends ConfigurableFormMessageProps, FormMessageInputLengthCounterProps {}
386
392
 
387
393
  /**
388
394
  * @since 6.0.0
389
395
  */
390
- export interface FormMessageWithoutCounterProps extends FormMessageProps {
396
+ export interface FormMessageWithoutCounterProps extends ConfigurableFormMessageProps {
391
397
  length?: never;
392
398
  maxLength?: never;
393
399
  counterStyle?: never;
@@ -401,7 +407,7 @@ export interface FormMessageContainerExtension {
401
407
  * purpose of this component though.
402
408
  */
403
409
  messageProps?: PropsWithRef<
404
- FormMessageProps & Partial<FormMessageInputLengthCounterProps>
410
+ ConfigurableFormMessageProps & Partial<FormMessageInputLengthCounterProps>
405
411
  >;
406
412
 
407
413
  /**
@@ -499,7 +505,9 @@ export interface LabelClassNameOptions {
499
505
  }
500
506
 
501
507
  export interface LabelProps
502
- extends LabelHTMLAttributes<HTMLLabelElement>, LabelClassNameOptions {}
508
+ extends LabelHTMLAttributes<HTMLLabelElement>, LabelClassNameOptions {
509
+ ref?: Ref<HTMLLabelElement>;
510
+ }
503
511
 
504
512
  /**
505
513
  * @since 6.0.0
@@ -518,6 +526,8 @@ export interface ConfigurableTextFieldAddonProps extends HTMLAttributes<HTMLSpan
518
526
  * @since 6.0.0 Split props into `ConfigurableTextFieldAddonProps`
519
527
  */
520
528
  export interface TextFieldAddonProps extends ConfigurableTextFieldAddonProps {
529
+ ref?: Ref<HTMLSpanElement>;
530
+
521
531
  /**
522
532
  * @defaultValue `false`
523
533
  */
@@ -30,11 +30,7 @@ import {
30
30
  } from "../positioning/types.js";
31
31
  import { getTransitionCallbacks } from "../transition/getTransitionCallbacks.js";
32
32
  import { type TransitionCallbacks } from "../transition/types.js";
33
- import {
34
- type NonNullMutableRef,
35
- type UseStateInitializer,
36
- type UseStateSetter,
37
- } from "../types.js";
33
+ import { type UseStateInitializer, type UseStateSetter } from "../types.js";
38
34
  import { useEnsuredId } from "../useEnsuredId.js";
39
35
  import { useEnsuredRef } from "../useEnsuredRef.js";
40
36
  import { useEnsuredState } from "../useEnsuredState.js";
@@ -74,7 +70,7 @@ export interface ComboboxKeyboardMovementData<
74
70
  * @since 6.3.0 Renamed from `focusLast` to `focusLastRef` to support the new
75
71
  * actions.
76
72
  */
77
- focusLastRef: NonNullMutableRef<boolean>;
73
+ focusLastRef: RefObject<boolean>;
78
74
  }
79
75
 
80
76
  /**
@@ -271,7 +267,7 @@ export interface ProvidedComboboxMenuProps<
271
267
  width: PositionWidth;
272
268
  /** @defaultValue `BELOW_CENTER_ANCHOR` */
273
269
  anchor: PositionAnchor;
274
- fixedTo: RefObject<HTMLElement>;
270
+ fixedTo: RefObject<HTMLElement | null>;
275
271
  sheetProps: MenuSheetConfigurableProps &
276
272
  Required<ComboboxTransitionCallbacks>;
277
273
  }
@@ -295,10 +291,10 @@ export interface ComboboxImplementation<
295
291
  hide: () => void;
296
292
  visible: boolean;
297
293
  setVisible: UseStateSetter<boolean>;
298
- focusLast: NonNullMutableRef<boolean>;
299
- popupRef: RefObject<PopupEl>;
294
+ focusLast: RefObject<boolean>;
295
+ popupRef: RefObject<PopupEl | null>;
300
296
  popupProps: ComboboxWidgetPopupProps<PopupEl>;
301
- comboboxRef: RefObject<ComboboxEl>;
297
+ comboboxRef: RefObject<ComboboxEl | null>;
302
298
  comboboxProps: ComboboxWidgetProps<ComboboxEl>;
303
299
  /**
304
300
  * Since the combobox usually uses the `Menu` as a popup element, this is a
@@ -15,7 +15,7 @@ import {
15
15
  */
16
16
  export interface FormResetOptions {
17
17
  form?: string;
18
- elementRef: RefObject<ChangeableHTMLElement>;
18
+ elementRef: RefObject<ChangeableHTMLElement | null>;
19
19
  onReset?: () => void;
20
20
  defaultValue?: string;
21
21
  }
@@ -17,8 +17,8 @@ import { useEnsuredId } from "../useEnsuredId.js";
17
17
  import { useEnsuredRef } from "../useEnsuredRef.js";
18
18
  import { type TextFieldProps } from "./TextField.js";
19
19
  import {
20
+ type ConfigurableFormMessageProps,
20
21
  type FormMessageInputLengthCounterProps,
21
- type FormMessageProps,
22
22
  } from "./types.js";
23
23
  import { useFormReset } from "./useFormReset.js";
24
24
  import {
@@ -53,7 +53,7 @@ export interface ErrorChangeHandlerOptions<
53
53
  * A ref containing the `TextField` or `TextArea` if you need access to that
54
54
  * DOM node for error reporting.
55
55
  */
56
- ref: RefObject<E>;
56
+ ref: RefObject<E | null>;
57
57
 
58
58
  /**
59
59
  * The current name for the `TextField` or `TextArea`.
@@ -126,7 +126,7 @@ export interface TextFieldHookState {
126
126
  */
127
127
  export interface ProvidedFormMessageProps
128
128
  extends
129
- Pick<FormMessageProps, "id" | "theme" | "children">,
129
+ Pick<ConfigurableFormMessageProps, "id" | "theme" | "children">,
130
130
  Required<Pick<TextFieldProps, "error">>,
131
131
  Partial<Pick<FormMessageInputLengthCounterProps, "length" | "maxLength">> {}
132
132
 
@@ -348,7 +348,7 @@ export interface TextFieldHookOptions<
348
348
  export interface TextFieldImplementation<
349
349
  E extends HTMLInputElement | HTMLTextAreaElement = HTMLInputElement,
350
350
  > extends TextFieldHookState {
351
- fieldRef: RefObject<E>;
351
+ fieldRef: RefObject<E | null>;
352
352
  reset: () => void;
353
353
  setState: UseStateSetter<Readonly<TextFieldHookState>>;
354
354
  fieldProps: ProvidedTextFieldProps<E>;
@@ -172,7 +172,7 @@ export function useHoverMode(
172
172
  [visible, setVisible] = state;
173
173
  }
174
174
 
175
- const visibilityTimeout = useRef<NodeJS.Timeout>();
175
+ const visibilityTimeout = useRef<NodeJS.Timeout>(undefined);
176
176
  const clearVisibilityTimeout = useCallback(() => {
177
177
  globalThis.clearTimeout(visibilityTimeout.current);
178
178
  }, []);
@@ -1,8 +1,13 @@
1
1
  "use client";
2
2
 
3
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
-
5
- import { type NonNullMutableRef, type NonNullRef } from "../types.js";
3
+ import {
4
+ type RefObject,
5
+ useCallback,
6
+ useEffect,
7
+ useMemo,
8
+ useRef,
9
+ useState,
10
+ } from "react";
6
11
 
7
12
  const noop = (): void => {
8
13
  // do nothing
@@ -29,7 +34,7 @@ export interface SimpleHoverModeContext {
29
34
  * }
30
35
  * ```
31
36
  */
32
- hoverTimeoutRef: NonNullRef<number | undefined>;
37
+ hoverTimeoutRef: RefObject<number | undefined>;
33
38
 
34
39
  /**
35
40
  * @example Main Usage
@@ -47,7 +52,7 @@ export interface SimpleHoverModeContext {
47
52
  * }
48
53
  * ```
49
54
  */
50
- leaveTimeoutRef: NonNullRef<number>;
55
+ leaveTimeoutRef: RefObject<number>;
51
56
 
52
57
  /**
53
58
  * When this is called, the {@link hoverTimeoutRef} will be set to `0` and the
@@ -91,7 +96,7 @@ export interface HoverModeContext extends SimpleHoverModeContext {
91
96
  * hovered within the `HoverModeProvider`. This will be an empty string
92
97
  * when the hover mode is not active.
93
98
  */
94
- activeIdRef: NonNullMutableRef<string>;
99
+ activeIdRef: RefObject<string>;
95
100
 
96
101
  /**
97
102
  * This ref can be used to disable transitions for a group of components using
@@ -103,7 +108,7 @@ export interface HoverModeContext extends SimpleHoverModeContext {
103
108
  * disabled. This would normally be after a timeout for the `onExited`
104
109
  * callback
105
110
  */
106
- animatedOnceRef: NonNullMutableRef<boolean>;
111
+ animatedOnceRef: RefObject<boolean>;
107
112
  }
108
113
 
109
114
  /**
@@ -261,7 +266,7 @@ export function useHoverModeProvider(
261
266
  const hoverTimeoutRef = useRef(hoverTimeout);
262
267
  const leaveTimeoutRef = useRef(leaveTimeout);
263
268
  const animatedOnceRef = useRef(!!defaultActiveId);
264
- const disableHoverModeTimeout = useRef<NodeJS.Timeout>();
269
+ const disableHoverModeTimeout = useRef<NodeJS.Timeout>(undefined);
265
270
  const clearDisableTimer = useCallback(() => {
266
271
  globalThis.clearTimeout(disableHoverModeTimeout.current);
267
272
  }, []);
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  type AriaAttributes,
3
3
  type HTMLAttributes,
4
+ type ReactElement,
4
5
  type ReactNode,
5
- forwardRef,
6
+ type Ref,
6
7
  } from "react";
7
8
 
8
9
  import { type FontIconClassNameOptions, icon } from "./styles.js";
@@ -13,6 +14,8 @@ import { type FontIconClassNameOptions, icon } from "./styles.js";
13
14
  */
14
15
  export interface FontIconProps
15
16
  extends HTMLAttributes<HTMLSpanElement>, FontIconClassNameOptions {
17
+ ref?: Ref<HTMLElement>;
18
+
16
19
  /** @defaultValue `true` */
17
20
  "aria-hidden"?: AriaAttributes["aria-hidden"];
18
21
 
@@ -36,33 +39,32 @@ export interface FontIconProps
36
39
  * @since 6.0.0 Switched from `<i>` to `<span>` element and removed
37
40
  * the `forceSize`/`forceFontSize` props.
38
41
  */
39
- export const FontIcon = forwardRef<HTMLElement, FontIconProps>(
40
- function FontIcon(props, ref) {
41
- const {
42
- "aria-hidden": ariaHidden = true,
43
- iconClassName = "material-icons",
44
- dense = false,
45
- theme,
46
- className,
47
- children,
48
- ...remaining
49
- } = props;
42
+ export function FontIcon(props: FontIconProps): ReactElement {
43
+ const {
44
+ ref,
45
+ "aria-hidden": ariaHidden = true,
46
+ iconClassName = "material-icons",
47
+ dense = false,
48
+ theme,
49
+ className,
50
+ children,
51
+ ...remaining
52
+ } = props;
50
53
 
51
- return (
52
- <span
53
- {...remaining}
54
- aria-hidden={ariaHidden}
55
- ref={ref}
56
- className={icon({
57
- type: "font",
58
- dense,
59
- theme,
60
- className,
61
- iconClassName,
62
- })}
63
- >
64
- {children}
65
- </span>
66
- );
67
- }
68
- );
54
+ return (
55
+ <span
56
+ {...remaining}
57
+ aria-hidden={ariaHidden}
58
+ ref={ref}
59
+ className={icon({
60
+ type: "font",
61
+ dense,
62
+ theme,
63
+ className,
64
+ iconClassName,
65
+ })}
66
+ >
67
+ {children}
68
+ </span>
69
+ );
70
+ }