@react-md/core 1.0.0-next.14 → 1.0.0-next.15

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 (548) hide show
  1. package/.eslintrc.cjs +8 -0
  2. package/.turbo/turbo-build.log +22 -22
  3. package/.turbo/turbo-lint.log +3 -3
  4. package/.turbo/turbo-test.log +4000 -3982
  5. package/.turbo/turbo-typecheck.log +1 -23
  6. package/CHANGELOG.md +13 -0
  7. package/coverage/clover.xml +477 -410
  8. package/coverage/coverage-final.json +5 -4
  9. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +81 -15
  10. package/coverage/lcov-report/autocomplete/AutocompleteClearButton.tsx.html +262 -0
  11. package/coverage/lcov-report/autocomplete/FilterAutocompleteOptions.tsx.html +364 -0
  12. package/coverage/lcov-report/autocomplete/index.html +48 -18
  13. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  14. package/coverage/lcov-report/card/CardSubtitle.tsx.html +265 -0
  15. package/coverage/lcov-report/card/index.html +146 -0
  16. package/coverage/lcov-report/card/styles.ts.html +682 -0
  17. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  18. package/coverage/lcov-report/form/index.html +131 -0
  19. package/coverage/lcov-report/form/useListboxProvider.ts.html +253 -0
  20. package/coverage/lcov-report/index.html +22 -37
  21. package/coverage/lcov-report/src/card/Card.tsx.html +349 -0
  22. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +277 -0
  23. package/coverage/lcov-report/src/card/index.html +146 -0
  24. package/coverage/lcov-report/src/card/styles.ts.html +682 -0
  25. package/coverage/lcov-report/src/cssUtils.ts.html +787 -0
  26. package/coverage/lcov-report/src/index.html +116 -0
  27. package/coverage/lcov-report/src/transition/index.html +116 -0
  28. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +766 -0
  29. package/coverage/lcov-report/transition/index.html +116 -0
  30. package/coverage/lcov-report/transition/useCSSTransition.ts.html +766 -0
  31. package/coverage/lcov.info +572 -456
  32. package/dist/CoreProviders.js.map +1 -1
  33. package/dist/NoSsr.js.map +1 -1
  34. package/dist/RootHtml.js.map +1 -1
  35. package/dist/SsrProvider.js.map +1 -1
  36. package/dist/app-bar/AppBar.js.map +1 -1
  37. package/dist/app-bar/AppBarTitle.d.ts +8 -4
  38. package/dist/app-bar/AppBarTitle.js +3 -2
  39. package/dist/app-bar/AppBarTitle.js.map +1 -1
  40. package/dist/autocomplete/Autocomplete.js.map +1 -1
  41. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  42. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  43. package/dist/autocomplete/FilterAutocompleteOptions.js.map +1 -1
  44. package/dist/autocomplete/autocompleteStyles.js.map +1 -1
  45. package/dist/autocomplete/defaults.d.ts +2 -2
  46. package/dist/autocomplete/defaults.js +3 -3
  47. package/dist/autocomplete/defaults.js.map +1 -1
  48. package/dist/autocomplete/types.js.map +1 -1
  49. package/dist/avatar/Avatar.d.ts +1 -2
  50. package/dist/avatar/Avatar.js +1 -2
  51. package/dist/avatar/Avatar.js.map +1 -1
  52. package/dist/avatar/styles.js.map +1 -1
  53. package/dist/badge/Badge.js.map +1 -1
  54. package/dist/box/Box.js.map +1 -1
  55. package/dist/box/styles.js.map +1 -1
  56. package/dist/button/AsyncButton.js.map +1 -1
  57. package/dist/button/Button.js.map +1 -1
  58. package/dist/button/ButtonUnstyled.js.map +1 -1
  59. package/dist/button/FloatingActionButton.js.map +1 -1
  60. package/dist/button/TooltippedButton.js.map +1 -1
  61. package/dist/button/buttonStyles.js.map +1 -1
  62. package/dist/button/buttonUnstyledStyles.js.map +1 -1
  63. package/dist/card/Card.d.ts +2 -1
  64. package/dist/card/Card.js.map +1 -1
  65. package/dist/card/CardContent.js.map +1 -1
  66. package/dist/card/CardFooter.js.map +1 -1
  67. package/dist/card/CardHeader.js.map +1 -1
  68. package/dist/card/CardSubtitle.d.ts +6 -0
  69. package/dist/card/CardSubtitle.js +2 -1
  70. package/dist/card/CardSubtitle.js.map +1 -1
  71. package/dist/card/CardTitle.js.map +1 -1
  72. package/dist/card/ClickableCard.js.map +1 -1
  73. package/dist/card/styles.js +2 -4
  74. package/dist/card/styles.js.map +1 -1
  75. package/dist/chip/Chip.js.map +1 -1
  76. package/dist/chip/styles.js.map +1 -1
  77. package/dist/cssUtils.d.ts +1 -1
  78. package/dist/cssUtils.js.map +1 -1
  79. package/dist/delegateEvent.js.map +1 -1
  80. package/dist/dialog/Dialog.js.map +1 -1
  81. package/dist/dialog/DialogContainer.js.map +1 -1
  82. package/dist/dialog/DialogContent.js.map +1 -1
  83. package/dist/dialog/DialogFooter.js.map +1 -1
  84. package/dist/dialog/DialogHeader.js.map +1 -1
  85. package/dist/dialog/DialogTitle.js.map +1 -1
  86. package/dist/dialog/FixedDialog.js.map +1 -1
  87. package/dist/dialog/NestedDialogProvider.js.map +1 -1
  88. package/dist/dialog/styles.js.map +1 -1
  89. package/dist/divider/Divider.js.map +1 -1
  90. package/dist/divider/styles.js.map +1 -1
  91. package/dist/draggable/useDraggable.js.map +1 -1
  92. package/dist/draggable/utils.js.map +1 -1
  93. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  94. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  95. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  96. package/dist/expansion-panel/useExpansionList.js.map +1 -1
  97. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  98. package/dist/focus/useFocusContainer.js.map +1 -1
  99. package/dist/focus/utils.js.map +1 -1
  100. package/dist/form/Checkbox.js.map +1 -1
  101. package/dist/form/Fieldset.js.map +1 -1
  102. package/dist/form/FileInput.js.map +1 -1
  103. package/dist/form/Form.js.map +1 -1
  104. package/dist/form/FormMessage.js.map +1 -1
  105. package/dist/form/FormMessageContainer.js.map +1 -1
  106. package/dist/form/FormMessageCounter.js.map +1 -1
  107. package/dist/form/InputToggle.js.map +1 -1
  108. package/dist/form/InputToggleIcon.js.map +1 -1
  109. package/dist/form/Label.js.map +1 -1
  110. package/dist/form/Legend.js.map +1 -1
  111. package/dist/form/MenuItemCheckbox.js.map +1 -1
  112. package/dist/form/MenuItemFileInput.js.map +1 -1
  113. package/dist/form/MenuItemInputToggle.js.map +1 -1
  114. package/dist/form/MenuItemRadio.js.map +1 -1
  115. package/dist/form/MenuItemSwitch.js.map +1 -1
  116. package/dist/form/MenuItemTextField.js.map +1 -1
  117. package/dist/form/NativeSelect.js.map +1 -1
  118. package/dist/form/OptGroup.js.map +1 -1
  119. package/dist/form/Option.js.map +1 -1
  120. package/dist/form/Password.js.map +1 -1
  121. package/dist/form/Radio.js.map +1 -1
  122. package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
  123. package/dist/form/Select.js.map +1 -1
  124. package/dist/form/SelectedOption.js.map +1 -1
  125. package/dist/form/Slider.js.map +1 -1
  126. package/dist/form/SliderContainer.js.map +1 -1
  127. package/dist/form/SliderMark.js.map +1 -1
  128. package/dist/form/SliderMarkLabel.js.map +1 -1
  129. package/dist/form/SliderThumb.js.map +1 -1
  130. package/dist/form/SliderTrack.js.map +1 -1
  131. package/dist/form/SliderValueMarks.js.map +1 -1
  132. package/dist/form/SliderValueTooltip.js.map +1 -1
  133. package/dist/form/Switch.js.map +1 -1
  134. package/dist/form/SwitchTrack.js.map +1 -1
  135. package/dist/form/TextArea.js.map +1 -1
  136. package/dist/form/TextField.js.map +1 -1
  137. package/dist/form/TextFieldAddon.js.map +1 -1
  138. package/dist/form/TextFieldContainer.js.map +1 -1
  139. package/dist/form/fileUtils.js.map +1 -1
  140. package/dist/form/formConfig.js.map +1 -1
  141. package/dist/form/formMessageStyles.js.map +1 -1
  142. package/dist/form/inputToggleStyles.js.map +1 -1
  143. package/dist/form/menuItemInputToggleStyles.js.map +1 -1
  144. package/dist/form/nativeSelectStyles.js.map +1 -1
  145. package/dist/form/optionStyles.js.map +1 -1
  146. package/dist/form/passwordStyles.js.map +1 -1
  147. package/dist/form/selectStyles.js.map +1 -1
  148. package/dist/form/selectUtils.js.map +1 -1
  149. package/dist/form/sliderUtils.js.map +1 -1
  150. package/dist/form/switchStyles.js.map +1 -1
  151. package/dist/form/textAreaStyles.js.map +1 -1
  152. package/dist/form/textFieldContainerStyles.js.map +1 -1
  153. package/dist/form/textFieldStyles.js.map +1 -1
  154. package/dist/form/types.js.map +1 -1
  155. package/dist/form/useCheckboxGroup.js.map +1 -1
  156. package/dist/form/useCombobox.js.map +1 -1
  157. package/dist/form/useEditableCombobox.js.map +1 -1
  158. package/dist/form/useFileUpload.js.map +1 -1
  159. package/dist/form/useFormReset.js.map +1 -1
  160. package/dist/form/useListboxProvider.js.map +1 -1
  161. package/dist/form/useNumberField.js.map +1 -1
  162. package/dist/form/useRadioGroup.js.map +1 -1
  163. package/dist/form/useRangeSlider.js.map +1 -1
  164. package/dist/form/useResizingTextArea.js.map +1 -1
  165. package/dist/form/useSelectCombobox.js.map +1 -1
  166. package/dist/form/useSlider.js.map +1 -1
  167. package/dist/form/useTextField.js.map +1 -1
  168. package/dist/form/useTextFieldContainerAddons.js.map +1 -1
  169. package/dist/form/utils.js.map +1 -1
  170. package/dist/form/validation.js.map +1 -1
  171. package/dist/hoverMode/useHoverMode.js.map +1 -1
  172. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  173. package/dist/icon/FontIcon.d.ts +10 -6
  174. package/dist/icon/FontIcon.js +1 -5
  175. package/dist/icon/FontIcon.js.map +1 -1
  176. package/dist/icon/IconRotator.js.map +1 -1
  177. package/dist/icon/MaterialIcon.d.ts +19 -2
  178. package/dist/icon/MaterialIcon.js +14 -2
  179. package/dist/icon/MaterialIcon.js.map +1 -1
  180. package/dist/icon/MaterialSymbol.js.map +1 -1
  181. package/dist/icon/SVGIcon.d.ts +3 -0
  182. package/dist/icon/SVGIcon.js.map +1 -1
  183. package/dist/icon/TextIconSpacing.js.map +1 -1
  184. package/dist/icon/iconConfig.d.ts +1 -0
  185. package/dist/icon/iconConfig.js +1 -0
  186. package/dist/icon/iconConfig.js.map +1 -1
  187. package/dist/icon/material.d.ts +1 -1
  188. package/dist/icon/material.js.map +1 -1
  189. package/dist/icon/materialConfig.js.map +1 -1
  190. package/dist/icon/styles.js.map +1 -1
  191. package/dist/interaction/Ripple.js.map +1 -1
  192. package/dist/interaction/RippleContainer.js.map +1 -1
  193. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  194. package/dist/interaction/config.js.map +1 -1
  195. package/dist/interaction/types.js.map +1 -1
  196. package/dist/interaction/useElementInteraction.js.map +1 -1
  197. package/dist/interaction/useHigherContrastChildren.js.map +1 -1
  198. package/dist/interaction/utils.js.map +1 -1
  199. package/dist/layout/LayoutAppBar.js.map +1 -1
  200. package/dist/layout/LayoutNav.js.map +1 -1
  201. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  202. package/dist/layout/Main.js.map +1 -1
  203. package/dist/layout/layoutNavStyles.js.map +1 -1
  204. package/dist/layout/layoutWindowSplitterStyles.js.map +1 -1
  205. package/dist/layout/mainStyles.js.map +1 -1
  206. package/dist/layout/useExpandableLayout.js.map +1 -1
  207. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  208. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  209. package/dist/layout/useLayoutTree.js.map +1 -1
  210. package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
  211. package/dist/layout/useMainTabIndex.js.map +1 -1
  212. package/dist/layout/useResizableLayout.js.map +1 -1
  213. package/dist/layout/useTemporaryLayout.js.map +1 -1
  214. package/dist/link/Link.d.ts +2 -4
  215. package/dist/link/Link.js +1 -2
  216. package/dist/link/Link.js.map +1 -1
  217. package/dist/link/SkipToMainContent.d.ts +10 -3
  218. package/dist/link/SkipToMainContent.js +4 -1
  219. package/dist/link/SkipToMainContent.js.map +1 -1
  220. package/dist/link/styles.d.ts +2 -2
  221. package/dist/link/styles.js.map +1 -1
  222. package/dist/list/List.js.map +1 -1
  223. package/dist/list/ListItem.js.map +1 -1
  224. package/dist/list/ListItemAddon.js.map +1 -1
  225. package/dist/list/ListItemChildren.js.map +1 -1
  226. package/dist/list/ListItemLink.js.map +1 -1
  227. package/dist/list/ListItemText.js.map +1 -1
  228. package/dist/list/ListSubheader.js.map +1 -1
  229. package/dist/list/getListItemHeight.js.map +1 -1
  230. package/dist/list/listItemStyles.js.map +1 -1
  231. package/dist/list/types.js.map +1 -1
  232. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  233. package/dist/media-queries/appSize.js.map +1 -1
  234. package/dist/media-queries/useMediaQuery.js.map +1 -1
  235. package/dist/menu/DropdownMenu.js.map +1 -1
  236. package/dist/menu/Menu.js.map +1 -1
  237. package/dist/menu/MenuBar.js.map +1 -1
  238. package/dist/menu/MenuButton.js.map +1 -1
  239. package/dist/menu/MenuConfigurationProvider.js.map +1 -1
  240. package/dist/menu/MenuItem.js.map +1 -1
  241. package/dist/menu/MenuItemButton.js.map +1 -1
  242. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  243. package/dist/menu/MenuItemGroup.js.map +1 -1
  244. package/dist/menu/MenuItemSeparator.js.map +1 -1
  245. package/dist/menu/MenuSheet.js.map +1 -1
  246. package/dist/menu/MenuVisibilityProvider.js.map +1 -1
  247. package/dist/menu/MenuWidget.js.map +1 -1
  248. package/dist/menu/MenuWidgetKeyboardProvider.js.map +1 -1
  249. package/dist/menu/useContextMenu.js.map +1 -1
  250. package/dist/menu/useMenuBarProvider.js.map +1 -1
  251. package/dist/menu/utils.js.map +1 -1
  252. package/dist/movement/constants.js.map +1 -1
  253. package/dist/movement/findMatchIndex.js.map +1 -1
  254. package/dist/movement/types.js.map +1 -1
  255. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  256. package/dist/movement/utils.js.map +1 -1
  257. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  258. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  259. package/dist/navigation/NavGroup.js.map +1 -1
  260. package/dist/navigation/NavItem.js.map +1 -1
  261. package/dist/navigation/NavItemButton.js.map +1 -1
  262. package/dist/navigation/NavItemLink.js.map +1 -1
  263. package/dist/navigation/NavSubheader.js.map +1 -1
  264. package/dist/navigation/Navigation.js.map +1 -1
  265. package/dist/navigation/getHrefFromParents.js.map +1 -1
  266. package/dist/navigation/navGroupStyles.js.map +1 -1
  267. package/dist/navigation/navItemStyles.js.map +1 -1
  268. package/dist/navigation/types.js.map +1 -1
  269. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  270. package/dist/overlay/Overlay.d.ts +1 -0
  271. package/dist/overlay/Overlay.js.map +1 -1
  272. package/dist/overlay/overlayStyles.js.map +1 -1
  273. package/dist/portal/Portal.d.ts +4 -0
  274. package/dist/portal/Portal.js.map +1 -1
  275. package/dist/portal/PortalContainerProvider.d.ts +8 -3
  276. package/dist/portal/PortalContainerProvider.js +1 -0
  277. package/dist/portal/PortalContainerProvider.js.map +1 -1
  278. package/dist/positioning/constants.js.map +1 -1
  279. package/dist/positioning/createHorizontalPosition.js.map +1 -1
  280. package/dist/positioning/createVerticalPosition.js.map +1 -1
  281. package/dist/positioning/getFixedPosition.js.map +1 -1
  282. package/dist/positioning/types.js.map +1 -1
  283. package/dist/positioning/useFixedPositioning.js.map +1 -1
  284. package/dist/positioning/utils.js.map +1 -1
  285. package/dist/progress/CircularProgress.d.ts +5 -4
  286. package/dist/progress/CircularProgress.js.map +1 -1
  287. package/dist/progress/LinearProgress.js.map +1 -1
  288. package/dist/progress/getProgressA11y.js.map +1 -1
  289. package/dist/progress/types.js.map +1 -1
  290. package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -1
  291. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  292. package/dist/responsive-item/styles.js.map +1 -1
  293. package/dist/scroll/ScrollLock.js.map +1 -1
  294. package/dist/scroll/getScrollbarWidth.js.map +1 -1
  295. package/dist/scroll/useScrollLock.js.map +1 -1
  296. package/dist/searching/caseInsensitive.js.map +1 -1
  297. package/dist/searching/fuzzy.js.map +1 -1
  298. package/dist/searching/toSearchQuery.js.map +1 -1
  299. package/dist/searching/types.js.map +1 -1
  300. package/dist/searching/useFuzzyMatch.js.map +1 -1
  301. package/dist/searching/utils.js.map +1 -1
  302. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  303. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  304. package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
  305. package/dist/segmented-button/segmentedButtonStyles.js.map +1 -1
  306. package/dist/sheet/Sheet.js.map +1 -1
  307. package/dist/sheet/styles.js.map +1 -1
  308. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  309. package/dist/snackbar/Snackbar.js.map +1 -1
  310. package/dist/snackbar/Toast.js.map +1 -1
  311. package/dist/snackbar/ToastActionButton.js.map +1 -1
  312. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  313. package/dist/snackbar/ToastContent.js.map +1 -1
  314. package/dist/snackbar/ToastManager.js.map +1 -1
  315. package/dist/snackbar/ToastManagerProvider.js.map +1 -1
  316. package/dist/snackbar/snackbarStyles.js.map +1 -1
  317. package/dist/snackbar/toastContentStyles.js.map +1 -1
  318. package/dist/snackbar/toastStyles.js.map +1 -1
  319. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  320. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  321. package/dist/suspense/NullSuspense.js.map +1 -1
  322. package/dist/table/StickyTableSection.d.ts +23 -0
  323. package/dist/table/StickyTableSection.js +56 -0
  324. package/dist/table/StickyTableSection.js.map +1 -0
  325. package/dist/table/Table.d.ts +1 -1
  326. package/dist/table/Table.js.map +1 -1
  327. package/dist/table/TableBody.d.ts +1 -1
  328. package/dist/table/TableBody.js.map +1 -1
  329. package/dist/table/TableCell.d.ts +3 -2
  330. package/dist/table/TableCell.js.map +1 -1
  331. package/dist/table/TableCellContent.d.ts +1 -2
  332. package/dist/table/TableCellContent.js.map +1 -1
  333. package/dist/table/TableCheckbox.js.map +1 -1
  334. package/dist/table/TableConfigurationProvider.d.ts +1 -73
  335. package/dist/table/TableConfigurationProvider.js.map +1 -1
  336. package/dist/table/TableContainer.js.map +1 -1
  337. package/dist/table/TableContainerProvider.js.map +1 -1
  338. package/dist/table/TableFooter.d.ts +8 -17
  339. package/dist/table/TableFooter.js +17 -80
  340. package/dist/table/TableFooter.js.map +1 -1
  341. package/dist/table/TableHeader.d.ts +8 -17
  342. package/dist/table/TableHeader.js +20 -87
  343. package/dist/table/TableHeader.js.map +1 -1
  344. package/dist/table/TableRadio.js.map +1 -1
  345. package/dist/table/TableRow.d.ts +1 -1
  346. package/dist/table/TableRow.js.map +1 -1
  347. package/dist/table/tableCellStyles.d.ts +1 -1
  348. package/dist/table/tableCellStyles.js.map +1 -1
  349. package/dist/table/tableContainerStyles.js.map +1 -1
  350. package/dist/table/tableFooterStyles.js.map +1 -1
  351. package/dist/table/tableHeaderStyles.js.map +1 -1
  352. package/dist/table/tableRowStyles.js.map +1 -1
  353. package/dist/table/tableStyles.js.map +1 -1
  354. package/dist/table/types.d.ts +89 -9
  355. package/dist/table/types.js.map +1 -1
  356. package/dist/table/useStickyTableSection.d.ts +27 -0
  357. package/dist/table/useStickyTableSection.js +84 -0
  358. package/dist/table/useStickyTableSection.js.map +1 -0
  359. package/dist/table/useTableSectionConfig.d.ts +13 -0
  360. package/dist/table/useTableSectionConfig.js +33 -0
  361. package/dist/table/useTableSectionConfig.js.map +1 -0
  362. package/dist/tabs/Tab.js.map +1 -1
  363. package/dist/tabs/TabList.js.map +1 -1
  364. package/dist/tabs/TabListScrollButton.js.map +1 -1
  365. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  366. package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
  367. package/dist/tabs/tabListStyles.js.map +1 -1
  368. package/dist/tabs/tabStyles.js.map +1 -1
  369. package/dist/tabs/useTabList.js.map +1 -1
  370. package/dist/tabs/useTabs.js.map +1 -1
  371. package/dist/tabs/utils.js.map +1 -1
  372. package/dist/test-utils/IntersectionObserver.js.map +1 -1
  373. package/dist/test-utils/ResizeObserver.js.map +1 -1
  374. package/dist/test-utils/data-testid.js.map +1 -1
  375. package/dist/test-utils/index.js.map +1 -1
  376. package/dist/test-utils/jest-setup.js.map +1 -1
  377. package/dist/test-utils/matchMedia.js.map +1 -1
  378. package/dist/test-utils/polyfills/IntersectionObserver.js.map +1 -1
  379. package/dist/test-utils/polyfills/ResizeObserver.js.map +1 -1
  380. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
  381. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -1
  382. package/dist/test-utils/polyfills/index.js.map +1 -1
  383. package/dist/test-utils/polyfills/matchMedia.js.map +1 -1
  384. package/dist/test-utils/polyfills/offsetParent.js.map +1 -1
  385. package/dist/test-utils/polyfills/scrollIntoView.js.map +1 -1
  386. package/dist/test-utils/render.js.map +1 -1
  387. package/dist/test-utils/timers.js.map +1 -1
  388. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  389. package/dist/theme/ThemeProvider.js.map +1 -1
  390. package/dist/theme/_theme.scss +2 -1
  391. package/dist/theme/colors.js.map +1 -1
  392. package/dist/theme/cssVars.js.map +1 -1
  393. package/dist/theme/types.js.map +1 -1
  394. package/dist/theme/useCSSVariables.js.map +1 -1
  395. package/dist/theme/useColorScheme.js.map +1 -1
  396. package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
  397. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  398. package/dist/theme/usePrefersColorScheme.js.map +1 -1
  399. package/dist/theme/utils.js.map +1 -1
  400. package/dist/tooltip/Tooltip.d.ts +20 -9
  401. package/dist/tooltip/Tooltip.js.map +1 -1
  402. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  403. package/dist/tooltip/constants.js.map +1 -1
  404. package/dist/tooltip/tooltipStyles.js.map +1 -1
  405. package/dist/tooltip/useTooltip.d.ts +30 -16
  406. package/dist/tooltip/useTooltip.js.map +1 -1
  407. package/dist/tooltip/useTooltipPosition.d.ts +2 -4
  408. package/dist/tooltip/useTooltipPosition.js.map +1 -1
  409. package/dist/tooltip/utils.js.map +1 -1
  410. package/dist/transition/CSSTransition.js.map +1 -1
  411. package/dist/transition/Collapse.js.map +1 -1
  412. package/dist/transition/CrossFade.js.map +1 -1
  413. package/dist/transition/ScaleTransition.js.map +1 -1
  414. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  415. package/dist/transition/Slide.js.map +1 -1
  416. package/dist/transition/SlideContainer.js.map +1 -1
  417. package/dist/transition/collapseStyles.js.map +1 -1
  418. package/dist/transition/config.js.map +1 -1
  419. package/dist/transition/maxWidthTransition.js.map +1 -1
  420. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  421. package/dist/transition/types.d.ts +19 -24
  422. package/dist/transition/types.js.map +1 -1
  423. package/dist/transition/useCSSTransition.js.map +1 -1
  424. package/dist/transition/useCarousel.js.map +1 -1
  425. package/dist/transition/useCollapseTransition.js.map +1 -1
  426. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  427. package/dist/transition/useMaxWidthTransition.js.map +1 -1
  428. package/dist/transition/useScaleTransition.js.map +1 -1
  429. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  430. package/dist/transition/useSlideTransition.js.map +1 -1
  431. package/dist/transition/useTransition.d.ts +1 -0
  432. package/dist/transition/useTransition.js +1 -0
  433. package/dist/transition/useTransition.js.map +1 -1
  434. package/dist/transition/utils.js.map +1 -1
  435. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  436. package/dist/tree/Tree.js.map +1 -1
  437. package/dist/tree/TreeGroup.js.map +1 -1
  438. package/dist/tree/TreeItem.js.map +1 -1
  439. package/dist/tree/TreeItemExpander.js.map +1 -1
  440. package/dist/tree/TreeProvider.js.map +1 -1
  441. package/dist/tree/styles.js.map +1 -1
  442. package/dist/tree/types.js.map +1 -1
  443. package/dist/tree/useTree.d.ts +3 -3
  444. package/dist/tree/useTree.js.map +1 -1
  445. package/dist/tree/useTreeExpansion.js.map +1 -1
  446. package/dist/tree/useTreeItems.js.map +1 -1
  447. package/dist/tree/useTreeMovement.js.map +1 -1
  448. package/dist/tree/useTreeSelection.js.map +1 -1
  449. package/dist/tree/utils.js.map +1 -1
  450. package/dist/types.js.map +1 -1
  451. package/dist/typography/SrOnly.js.map +1 -1
  452. package/dist/typography/TextContainer.d.ts +4 -0
  453. package/dist/typography/TextContainer.js +2 -0
  454. package/dist/typography/TextContainer.js.map +1 -1
  455. package/dist/typography/Typography.d.ts +10 -0
  456. package/dist/typography/Typography.js +3 -0
  457. package/dist/typography/Typography.js.map +1 -1
  458. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  459. package/dist/typography/textContainerStyles.js.map +1 -1
  460. package/dist/typography/typographyStyles.js.map +1 -1
  461. package/dist/useAsyncFunction.js.map +1 -1
  462. package/dist/useDebouncedFunction.js.map +1 -1
  463. package/dist/useDropzone.js.map +1 -1
  464. package/dist/useElementSize.js.map +1 -1
  465. package/dist/useEnsuredId.js.map +1 -1
  466. package/dist/useEnsuredRef.js.map +1 -1
  467. package/dist/useEnsuredState.js.map +1 -1
  468. package/dist/useHtmlClassName.js.map +1 -1
  469. package/dist/useIntersectionObserver.js.map +1 -1
  470. package/dist/useIsomorphicLayoutEffect.js.map +1 -1
  471. package/dist/useLocalStorage.js.map +1 -1
  472. package/dist/useMutationObserver.js.map +1 -1
  473. package/dist/useOrientation.js.map +1 -1
  474. package/dist/usePageInactive.js.map +1 -1
  475. package/dist/useResizeListener.js.map +1 -1
  476. package/dist/useResizeObserver.js.map +1 -1
  477. package/dist/useThrottledFunction.js.map +1 -1
  478. package/dist/useToggle.js.map +1 -1
  479. package/dist/useUnmounted.js.map +1 -1
  480. package/dist/useWindowSize.js.map +1 -1
  481. package/dist/utils/RenderRecursively.js.map +1 -1
  482. package/dist/utils/alphaNumericSort.js.map +1 -1
  483. package/dist/utils/applyRef.js.map +1 -1
  484. package/dist/utils/bem.js.map +1 -1
  485. package/dist/utils/getClientPosition.js.map +1 -1
  486. package/dist/utils/getMiddleOfRange.js.map +1 -1
  487. package/dist/utils/getPercentage.js.map +1 -1
  488. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  489. package/dist/utils/getRangeSteps.js.map +1 -1
  490. package/dist/utils/identity.js.map +1 -1
  491. package/dist/utils/isElementVisible.js.map +1 -1
  492. package/dist/utils/loop.js.map +1 -1
  493. package/dist/utils/nearest.js.map +1 -1
  494. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  495. package/dist/utils/randomInt.js.map +1 -1
  496. package/dist/utils/wait.js.map +1 -1
  497. package/dist/utils/withinRange.js.map +1 -1
  498. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  499. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  500. package/package.json +21 -20
  501. package/scripts/getExportMap.ts +66 -0
  502. package/scripts/tsconfig.json +1 -1
  503. package/src/app-bar/AppBarTitle.tsx +8 -4
  504. package/src/autocomplete/defaults.ts +3 -3
  505. package/src/avatar/Avatar.tsx +1 -2
  506. package/src/card/Card.tsx +2 -1
  507. package/src/card/CardSubtitle.tsx +9 -0
  508. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  509. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  510. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  511. package/src/card/styles.ts +2 -6
  512. package/src/cssUtils.ts +1 -1
  513. package/src/icon/FontIcon.tsx +19 -9
  514. package/src/icon/MaterialIcon.tsx +23 -4
  515. package/src/icon/SVGIcon.tsx +3 -0
  516. package/src/icon/iconConfig.tsx +1 -0
  517. package/src/icon/material.ts +276 -19
  518. package/src/link/Link.tsx +2 -4
  519. package/src/link/SkipToMainContent.tsx +11 -4
  520. package/src/link/styles.ts +2 -2
  521. package/src/overlay/Overlay.tsx +1 -0
  522. package/src/portal/Portal.tsx +5 -0
  523. package/src/portal/PortalContainerProvider.tsx +16 -7
  524. package/src/progress/CircularProgress.tsx +5 -4
  525. package/src/table/StickyTableSection.tsx +91 -0
  526. package/src/table/Table.tsx +2 -5
  527. package/src/table/TableBody.tsx +1 -2
  528. package/src/table/TableCell.tsx +3 -5
  529. package/src/table/TableCellContent.tsx +1 -3
  530. package/src/table/TableConfigurationProvider.tsx +1 -86
  531. package/src/table/TableFooter.tsx +19 -116
  532. package/src/table/TableHeader.tsx +20 -118
  533. package/src/table/TableRow.tsx +2 -4
  534. package/src/table/__tests__/Table.tsx +9 -8
  535. package/src/table/tableCellStyles.ts +1 -1
  536. package/src/table/types.ts +105 -10
  537. package/src/table/useStickyTableSection.tsx +126 -0
  538. package/src/table/useTableSectionConfig.ts +45 -0
  539. package/src/theme/_theme.scss +2 -1
  540. package/src/tooltip/Tooltip.tsx +24 -8
  541. package/src/tooltip/useTooltip.ts +52 -27
  542. package/src/tooltip/useTooltipPosition.ts +2 -4
  543. package/src/transition/types.ts +23 -27
  544. package/src/transition/useTransition.ts +1 -0
  545. package/src/tree/useTree.ts +3 -5
  546. package/src/typography/TextContainer.tsx +4 -0
  547. package/src/typography/Typography.tsx +10 -0
  548. package/src/useResizeListener.ts +1 -1
@@ -0,0 +1,66 @@
1
+ import { writeFile } from "fs/promises";
2
+ import { glob } from "glob";
3
+ import { resolve } from "node:path";
4
+ import { format } from "prettier";
5
+ import { Node, Project } from "ts-morph";
6
+ import { alphaNumericSort } from "../src/utils/alphaNumericSort.js";
7
+
8
+ const files = await glob("src/**/*.{ts,tsx}", {
9
+ cwd: process.cwd(),
10
+ ignore: ["**/__tests__/**", "**/test-utils/**"],
11
+ });
12
+ const project = new Project({
13
+ tsConfigFilePath: "./tsconfig.types.json",
14
+ skipLoadingLibFiles: true,
15
+ skipAddingFilesFromTsConfig: true,
16
+ });
17
+
18
+ const types = new Set<string>();
19
+ const variables = new Set<string>();
20
+ const exportMap: Record<string, string> = {};
21
+ files.forEach((file) => {
22
+ const exportPath = file
23
+ .replace("src", "@react-md/core")
24
+ .replace(/\.tsx?$/, "");
25
+ project.addSourceFileAtPath(file);
26
+ const sourceFile = project.getSourceFileOrThrow(file);
27
+ const exportDeclarations = sourceFile.getExportedDeclarations();
28
+
29
+ for (const [name, declarations] of exportDeclarations) {
30
+ if (
31
+ declarations.find(
32
+ (decl) =>
33
+ Node.isTypeAliasDeclaration(decl) || Node.isInterfaceDeclaration(decl)
34
+ )
35
+ ) {
36
+ types.add(name);
37
+ } else {
38
+ variables.add(name);
39
+ }
40
+
41
+ exportMap[name] = exportPath;
42
+ }
43
+ });
44
+
45
+ const sortedExports = Object.fromEntries(
46
+ alphaNumericSort(Object.entries(exportMap), {
47
+ extractor: ([name]) => name,
48
+ })
49
+ );
50
+ const sortedTypes = alphaNumericSort([...types]);
51
+ const sortedVariables = alphaNumericSort([...variables]);
52
+
53
+ await writeFile(
54
+ resolve("../codemod/transforms/v5-to-v6/coreExportMap.ts"),
55
+ await format(
56
+ `// THIS FILE WAS GENERATED BY A SCRIPT AND SHOULD NOT BE UPDATED MANUALLY
57
+
58
+ export const TYPES: ReadonlySet<string> = new Set(${JSON.stringify(sortedTypes)});
59
+ export const VARIABLES: ReadonlySet<string> = new Set(${JSON.stringify(sortedVariables)});
60
+ export const EXPORT_MAP: Record<string, string> = ${JSON.stringify(sortedExports, null, 2)};
61
+
62
+ `,
63
+ { parser: "typescript" }
64
+ ),
65
+ "utf8"
66
+ );
@@ -13,6 +13,6 @@
13
13
  "forceConsistentCasingInFileNames": true,
14
14
  "lib": ["esnext"]
15
15
  },
16
- "include": ["**/*.ts"],
16
+ "include": ["**/*.ts", "../src/utils/alphaNumericSort.ts"],
17
17
  "exclude": ["node_modules"]
18
18
  }
@@ -48,8 +48,11 @@ export function appBarTitle(options: AppBarTitleClassNameOptions = {}): string {
48
48
  }
49
49
 
50
50
  /**
51
- * @since 6.0.0 Renamed the `noWrap` prop to `lineWrap` since the
52
- * `AppBarTitle` does not line wrap by default.
51
+ * @since 6.0.0 The `keyline` prop was changed from a boolean to a type
52
+ * union of different keylines: {@link AppBarTitleKeyline}
53
+ * @since 6.0.0 The `noWrap` prop was removed in favor of the `textOverflow`
54
+ * prop inherited through the base `Typography` component. The `textOverflow`
55
+ * will default to `"ellipsis"` which is new as well.
53
56
  */
54
57
  export interface AppBarTitleProps
55
58
  extends TypographyProps,
@@ -82,10 +85,11 @@ export interface AppBarTitleProps
82
85
  * }
83
86
  * ```
84
87
  *
85
- * @since 6.0.0 Renamed the `noWrap` prop to `lineWrap` since the `AppBarTitle`
86
- * does not line wrap by default.
87
88
  * @since 6.0.0 The `keyline` prop was changed from a boolean to a type
88
89
  * union of different keylines: {@link AppBarTitleKeyline}
90
+ * @since 6.0.0 The `noWrap` prop was removed in favor of the `textOverflow`
91
+ * prop inherited through the base `Typography` component. The `textOverflow`
92
+ * will default to `"ellipsis"` which is new as well.
89
93
  */
90
94
  export const AppBarTitle = forwardRef<HTMLHeadingElement, AppBarTitleProps>(
91
95
  function AppBarTitle(props, ref) {
@@ -4,7 +4,7 @@ import { defaultExtractor } from "../searching/utils.js";
4
4
  import { type AutocompleteFilterOptions } from "./types.js";
5
5
 
6
6
  /**
7
- * @remarks \@since 6.0.0
7
+ * @since 6.0.0
8
8
  * @internal
9
9
  */
10
10
  export const defaultAutocompleteExtractor = <T>(item: T): string => {
@@ -21,7 +21,7 @@ export const defaultAutocompleteExtractor = <T>(item: T): string => {
21
21
  };
22
22
 
23
23
  /**
24
- * @remarks \@since 6.0.0
24
+ * @since 6.0.0
25
25
  * @internal
26
26
  */
27
27
  const isProbablyMenuItemProps = (
@@ -29,7 +29,7 @@ const isProbablyMenuItemProps = (
29
29
  ): item is Partial<MenuItemProps> => !!item && typeof item === "object";
30
30
 
31
31
  /**
32
- * @remarks \@since 6.0.0
32
+ * @since 6.0.0
33
33
  * @internal
34
34
  */
35
35
  export const defaultAutocompleteOptionProps = <T>(options: {
@@ -97,8 +97,7 @@ export interface AvatarProps
97
97
  * }
98
98
  * ```
99
99
  *
100
- * @since 6.0.0 `aria-hidden` is set to `true` by default and removed
101
- * the `role="presentation"`.
100
+ * @since 6.0.0 `aria-hidden` is set to `true` by default.
102
101
  */
103
102
  export const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(
104
103
  function Avatar(props, ref) {
package/src/card/Card.tsx CHANGED
@@ -10,7 +10,8 @@ declare module "react" {
10
10
  }
11
11
 
12
12
  /**
13
- * @since 6.0.0 Extends the {@link CardClassNameOptions}.
13
+ * @since 6.0.0 Extends the {@link CardClassNameOptions} and removed the
14
+ * deprecated `raiseable` prop
14
15
  */
15
16
  export interface CardProps
16
17
  extends HTMLAttributes<HTMLDivElement>,
@@ -19,6 +19,13 @@ export interface CardSubtitleProps extends TypographyProps {
19
19
 
20
20
  /** @defaultValue `"none"` */
21
21
  margin?: TypographyProps["margin"];
22
+
23
+ /**
24
+ * Set this to `null` to inherit the current color.
25
+ *
26
+ * @defaultValue `"text-secondary"`
27
+ */
28
+ textColor?: TypographyProps["textColor"];
22
29
  }
23
30
 
24
31
  /**
@@ -36,6 +43,7 @@ export const CardSubtitle = forwardRef<
36
43
  as = "h6",
37
44
  type = "subtitle-2",
38
45
  margin = "none",
46
+ textColor = "text-secondary",
39
47
  className,
40
48
  ...remaining
41
49
  } = props;
@@ -47,6 +55,7 @@ export const CardSubtitle = forwardRef<
47
55
  as={as}
48
56
  type={type}
49
57
  margin={margin}
58
+ textColor={textColor}
50
59
  className={cardSubtitle({ className })}
51
60
  >
52
61
  {children}
@@ -18,7 +18,7 @@ exports[`CardHeader should allow addons before and after the children 1`] = `
18
18
  Elizabeth Park
19
19
  </h5>
20
20
  <h6
21
- class="rmd-typography rmd-typography--subtitle-2 rmd-no-margin rmd-card__subtitle rmd-text-secondary-color"
21
+ class="rmd-typography rmd-typography--subtitle-2 rmd-text-secondary-color rmd-no-margin rmd-card__subtitle"
22
22
  >
23
23
  Work contact
24
24
  </h6>
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`CardSubtitle should apply the correct styling, HTML attributes, and allow a ref 1`] = `
4
4
  <h6
5
- class="rmd-typography rmd-typography--subtitle-2 rmd-no-margin rmd-card__subtitle rmd-text-secondary-color"
5
+ class="rmd-typography rmd-typography--subtitle-2 rmd-text-secondary-color rmd-no-margin rmd-card__subtitle"
6
6
  >
7
7
  Subtitle
8
8
  </h6>
@@ -10,7 +10,7 @@ exports[`CardSubtitle should apply the correct styling, HTML attributes, and all
10
10
 
11
11
  exports[`CardSubtitle should apply the correct styling, HTML attributes, and allow a ref 2`] = `
12
12
  <h6
13
- class="rmd-typography rmd-typography--subtitle-2 rmd-no-margin rmd-card__subtitle rmd-text-secondary-color custom-class-name"
13
+ class="rmd-typography rmd-typography--subtitle-2 rmd-text-secondary-color rmd-no-margin rmd-card__subtitle custom-class-name"
14
14
  style="color: white;"
15
15
  >
16
16
  Subtitle
@@ -8,6 +8,6 @@ exports[`cardHeader should be callable without any arguments 1`] = `"rmd-card__h
8
8
 
9
9
  exports[`cardHeaderContent should be callable without any arguments 1`] = `"rmd-card__header-content"`;
10
10
 
11
- exports[`cardSubtitle should be callable without any arguments 1`] = `"rmd-card__subtitle rmd-text-secondary-color"`;
11
+ exports[`cardSubtitle should be callable without any arguments 1`] = `"rmd-card__subtitle"`;
12
12
 
13
13
  exports[`cardTitle should be callable without any arguments 1`] = `"rmd-card__title"`;
@@ -1,6 +1,6 @@
1
1
  import { cnb } from "cnbuilder";
2
- import { bem } from "../utils/bem.js";
3
2
  import { cssUtils } from "../cssUtils.js";
3
+ import { bem } from "../utils/bem.js";
4
4
 
5
5
  const cardStyles = bem("rmd-card");
6
6
 
@@ -130,11 +130,7 @@ export function cardSubtitle(
130
130
  ): string {
131
131
  const { className } = options;
132
132
 
133
- return cnb(
134
- cardStyles("subtitle"),
135
- cssUtils({ textColor: "text-secondary" }),
136
- className
137
- );
133
+ return cnb(cardStyles("subtitle"), className);
138
134
  }
139
135
 
140
136
  /** @since 6.0.0 */
package/src/cssUtils.ts CHANGED
@@ -86,7 +86,7 @@ export type TextOverflow = "allow" | "nowrap" | "ellipsis";
86
86
 
87
87
  /** @since 6.0.0 */
88
88
  export interface TextCssUtilsOptions {
89
- textColor?: ThemeColor | TextColor;
89
+ textColor?: ThemeColor | TextColor | null;
90
90
 
91
91
  textAlign?: TextAlign;
92
92
 
@@ -1,12 +1,26 @@
1
- import { forwardRef, type HTMLAttributes, type ReactNode } from "react";
1
+ import {
2
+ forwardRef,
3
+ type AriaAttributes,
4
+ type HTMLAttributes,
5
+ type ReactNode,
6
+ } from "react";
2
7
  import { icon, type FontIconClassNameOptions } from "./styles.js";
3
8
 
9
+ /**
10
+ * @since 6.0.0 Removed the `forceSize`/`forceFontSize` props and added the
11
+ * `inline` and `theme` props.
12
+ */
4
13
  export interface FontIconProps
5
- extends HTMLAttributes<HTMLElement>,
14
+ extends HTMLAttributes<HTMLSpanElement>,
6
15
  FontIconClassNameOptions {
16
+ /** @defaultValue `true` */
17
+ "aria-hidden"?: AriaAttributes["aria-hidden"];
18
+
7
19
  /**
8
20
  * Any children to render to create the font icon. This is required for
9
21
  * material-icons.
22
+ *
23
+ * @example `<FontIcon>clear</FontIcon>`
10
24
  */
11
25
  children?: ReactNode;
12
26
  }
@@ -18,22 +32,18 @@ export interface FontIconProps
18
32
  * The default is to use the `material-icons` library, but others can be used as
19
33
  * well.
20
34
  *
21
- * If you are using another font icon library that does not always create icons
22
- * with a perfect 1:1 scale (such as font awesome), it is recommended to use the
23
- * `forceSize` and `forceFontSize` props to fix the sizing issues.
24
- *
25
35
  * @since 6.0.0 Switched from `<i>` to `<span>` element and removed
26
36
  * the `forceSize`/`forceFontSize` props.
27
37
  */
28
38
  export const FontIcon = forwardRef<HTMLElement, FontIconProps>(
29
39
  function FontIcon(props, ref) {
30
40
  const {
31
- className,
32
- children,
33
41
  "aria-hidden": ariaHidden = true,
42
+ iconClassName = "material-icons",
34
43
  dense = false,
35
44
  theme,
36
- iconClassName = "material-icons",
45
+ className,
46
+ children,
37
47
  ...remaining
38
48
  } = props;
39
49
 
@@ -1,5 +1,5 @@
1
1
  import { forwardRef, type AriaAttributes, type HTMLAttributes } from "react";
2
- import { type MaterialIconName } from "./material.js";
2
+ import { type MaterialIconFamily, type MaterialIconName } from "./material.js";
3
3
  import { MATERIAL_CONFIG } from "./materialConfig.js";
4
4
  import { icon, type MaterialIconClassNameOptions } from "./styles.js";
5
5
 
@@ -7,15 +7,34 @@ import { icon, type MaterialIconClassNameOptions } from "./styles.js";
7
7
  export interface MaterialIconProps
8
8
  extends HTMLAttributes<HTMLSpanElement>,
9
9
  Partial<MaterialIconClassNameOptions> {
10
+ /**
11
+ * The icon name to use
12
+ */
13
+ name: MaterialIconName;
14
+
10
15
  /** @defaultValue `true` */
11
16
  "aria-hidden"?: AriaAttributes["aria-hidden"];
12
- name: MaterialIconName;
17
+
18
+ /** @defaultValue `MATERIAL_CONFIG.iconFamily` */
19
+ family?: MaterialIconFamily;
13
20
  children?: never;
14
21
  }
15
22
 
16
23
  /**
17
24
  * **Server Component**
18
25
  *
26
+ * The `MaterialIcon` component is used for rendering a material icon using the
27
+ * Google Fonts stylesheet (handled separately). This is mostly a convenience
28
+ * wrapper around the `FontIcon` that will catch typos for the supported icon
29
+ * names.
30
+ *
31
+ * @example Simple Example
32
+ * ```tsx
33
+ * <MaterialIcon name="3k" />
34
+ * <MaterialIcon name="favorite" theme="primary" />
35
+ * <MaterialIcon name="wifi" family="two-tone" dense theme="warning" />
36
+ * ```
37
+ *
19
38
  * @since 6.0.0
20
39
  */
21
40
  export const MaterialIcon = forwardRef<HTMLSpanElement, MaterialIconProps>(
@@ -32,9 +51,9 @@ export const MaterialIcon = forwardRef<HTMLSpanElement, MaterialIconProps>(
32
51
 
33
52
  return (
34
53
  <span
35
- ref={ref}
36
- aria-hidden={ariaHidden}
37
54
  {...remaining}
55
+ aria-hidden={ariaHidden}
56
+ ref={ref}
38
57
  className={icon({
39
58
  type: "material",
40
59
  family,
@@ -1,6 +1,9 @@
1
1
  import { forwardRef, type HTMLAttributes, type ReactNode } from "react";
2
2
  import { icon, type SVGIconClassNameOptions } from "./styles.js";
3
3
 
4
+ /**
5
+ * @since 6.0.0 Added the `inline` and `theme` props.
6
+ */
4
7
  export interface SVGIconProps
5
8
  extends HTMLAttributes<SVGSVGElement>,
6
9
  SVGIconClassNameOptions {
@@ -232,6 +232,7 @@ export const ICON_CONFIG: ConfiguredIcons = {
232
232
  *
233
233
  * @example Using SVG Material Icons
234
234
  * ```tsx
235
+ * "use client";
235
236
  * import { configureIcons } from "@react-md/core";
236
237
  * import ArrowDropDownIcon from "@react-md/material-icons/ArrowDropDownIcon";
237
238
  * import ArrowUpwardIcon from "@react-md/material-icons/ArrowUpwardIcon";