@react-md/core 1.0.0-next.16 → 1.0.0-next.18

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 (665) hide show
  1. package/dist/_box-shadows.scss +76 -0
  2. package/dist/_colors.scss +279 -277
  3. package/dist/_core.scss +107 -16
  4. package/dist/_object-fit.scss +86 -0
  5. package/dist/_utils.scss +246 -72
  6. package/dist/app-bar/AppBar.d.ts +1 -90
  7. package/dist/app-bar/AppBar.js +1 -40
  8. package/dist/app-bar/AppBar.js.map +1 -1
  9. package/dist/app-bar/AppBarTitle.d.ts +1 -27
  10. package/dist/app-bar/AppBarTitle.js +1 -15
  11. package/dist/app-bar/AppBarTitle.js.map +1 -1
  12. package/dist/app-bar/_app-bar.scss +156 -25
  13. package/dist/app-bar/styles.d.ts +117 -0
  14. package/dist/app-bar/styles.js +55 -0
  15. package/dist/app-bar/styles.js.map +1 -0
  16. package/dist/autocomplete/Autocomplete.d.ts +8 -79
  17. package/dist/autocomplete/Autocomplete.js +112 -83
  18. package/dist/autocomplete/Autocomplete.js.map +1 -1
  19. package/dist/autocomplete/AutocompleteChip.d.ts +8 -0
  20. package/dist/autocomplete/AutocompleteChip.js +34 -0
  21. package/dist/autocomplete/AutocompleteChip.js.map +1 -0
  22. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +5 -11
  23. package/dist/autocomplete/AutocompleteCircularProgress.js +4 -0
  24. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  25. package/dist/autocomplete/AutocompleteClearButton.d.ts +9 -0
  26. package/dist/autocomplete/AutocompleteClearButton.js +29 -0
  27. package/dist/autocomplete/AutocompleteClearButton.js.map +1 -0
  28. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +4 -26
  29. package/dist/autocomplete/AutocompleteDropdownButton.js +5 -1
  30. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  31. package/dist/autocomplete/AutocompleteListboxChildren.d.ts +22 -0
  32. package/dist/autocomplete/AutocompleteListboxChildren.js +37 -0
  33. package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -0
  34. package/dist/autocomplete/_autocomplete.scss +362 -34
  35. package/dist/autocomplete/autocompleteStyles.d.ts +22 -0
  36. package/dist/autocomplete/autocompleteStyles.js +17 -8
  37. package/dist/autocomplete/autocompleteStyles.js.map +1 -1
  38. package/dist/autocomplete/defaults.d.ts +9 -9
  39. package/dist/autocomplete/defaults.js +13 -13
  40. package/dist/autocomplete/defaults.js.map +1 -1
  41. package/dist/autocomplete/types.d.ts +554 -56
  42. package/dist/autocomplete/types.js.map +1 -1
  43. package/dist/autocomplete/useAutocomplete.d.ts +22 -0
  44. package/dist/autocomplete/useAutocomplete.js +281 -0
  45. package/dist/autocomplete/useAutocomplete.js.map +1 -0
  46. package/dist/autocomplete/utils.d.ts +81 -0
  47. package/dist/autocomplete/utils.js +108 -0
  48. package/dist/autocomplete/utils.js.map +1 -0
  49. package/dist/avatar/_avatar.scss +93 -2
  50. package/dist/badge/Badge.d.ts +1 -20
  51. package/dist/badge/Badge.js +1 -14
  52. package/dist/badge/Badge.js.map +1 -1
  53. package/dist/badge/_badge.scss +90 -3
  54. package/dist/badge/styles.d.ts +26 -0
  55. package/dist/badge/styles.js +18 -0
  56. package/dist/badge/styles.js.map +1 -0
  57. package/dist/box/Box.js +2 -1
  58. package/dist/box/Box.js.map +1 -1
  59. package/dist/box/_box.scss +130 -17
  60. package/dist/box/styles.d.ts +6 -0
  61. package/dist/box/styles.js +2 -1
  62. package/dist/box/styles.js.map +1 -1
  63. package/dist/button/AsyncButton.d.ts +1 -1
  64. package/dist/button/AsyncButton.js.map +1 -1
  65. package/dist/button/Button.d.ts +2 -1
  66. package/dist/button/Button.js +2 -1
  67. package/dist/button/Button.js.map +1 -1
  68. package/dist/button/_button.scss +157 -25
  69. package/dist/card/Card.d.ts +16 -0
  70. package/dist/card/Card.js +11 -3
  71. package/dist/card/Card.js.map +1 -1
  72. package/dist/card/ClickableCard.d.ts +2 -1
  73. package/dist/card/ClickableCard.js +5 -2
  74. package/dist/card/ClickableCard.js.map +1 -1
  75. package/dist/card/_card.scss +90 -19
  76. package/dist/card/styles.d.ts +0 -7
  77. package/dist/card/styles.js +2 -3
  78. package/dist/card/styles.js.map +1 -1
  79. package/dist/chip/Chip.d.ts +2 -1
  80. package/dist/chip/Chip.js +2 -1
  81. package/dist/chip/Chip.js.map +1 -1
  82. package/dist/chip/_chip.scss +45 -22
  83. package/dist/chip/styles.d.ts +12 -10
  84. package/dist/chip/styles.js.map +1 -1
  85. package/dist/cssUtils.js.map +1 -1
  86. package/dist/delegateEvent.d.ts +2 -2
  87. package/dist/delegateEvent.js.map +1 -1
  88. package/dist/dialog/Dialog.d.ts +8 -21
  89. package/dist/dialog/Dialog.js +27 -27
  90. package/dist/dialog/Dialog.js.map +1 -1
  91. package/dist/dialog/FixedDialog.d.ts +1 -3
  92. package/dist/dialog/FixedDialog.js +0 -8
  93. package/dist/dialog/FixedDialog.js.map +1 -1
  94. package/dist/dialog/_dialog.scss +67 -13
  95. package/dist/dialog/styles.d.ts +56 -0
  96. package/dist/dialog/styles.js +29 -2
  97. package/dist/dialog/styles.js.map +1 -1
  98. package/dist/divider/Divider.d.ts +0 -11
  99. package/dist/divider/Divider.js.map +1 -1
  100. package/dist/divider/_divider.scss +7 -1
  101. package/dist/divider/styles.d.ts +11 -0
  102. package/dist/divider/styles.js.map +1 -1
  103. package/dist/draggable/useDraggable.d.ts +6 -6
  104. package/dist/draggable/useDraggable.js.map +1 -1
  105. package/dist/draggable/utils.d.ts +3 -3
  106. package/dist/draggable/utils.js.map +1 -1
  107. package/dist/expansion-panel/ExpansionPanel.d.ts +1 -1
  108. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  109. package/dist/expansion-panel/_expansion-panel.scss +5 -1
  110. package/dist/expansion-panel/useExpansionPanels.js +12 -24
  111. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  112. package/dist/{form → files}/FileInput.d.ts +3 -6
  113. package/dist/{form → files}/FileInput.js +3 -6
  114. package/dist/files/FileInput.js.map +1 -0
  115. package/dist/files/_files.scss +22 -0
  116. package/dist/files/styles.d.ts +5 -0
  117. package/dist/files/styles.js +7 -0
  118. package/dist/files/styles.js.map +1 -0
  119. package/dist/{form → files}/useFileUpload.d.ts +7 -9
  120. package/dist/{form → files}/useFileUpload.js +5 -7
  121. package/dist/files/useFileUpload.js.map +1 -0
  122. package/dist/files/utils.d.ts +169 -0
  123. package/dist/files/utils.js +114 -0
  124. package/dist/files/utils.js.map +1 -0
  125. package/dist/{form/fileUtils.d.ts → files/validation.d.ts} +11 -176
  126. package/dist/{form/fileUtils.js → files/validation.js} +10 -135
  127. package/dist/files/validation.js.map +1 -0
  128. package/dist/focus/useFocusContainer.d.ts +2 -2
  129. package/dist/focus/useFocusContainer.js.map +1 -1
  130. package/dist/focus/utils.js.map +1 -1
  131. package/dist/form/FormMessage.js.map +1 -1
  132. package/dist/form/FormMessageContainer.js +4 -2
  133. package/dist/form/FormMessageContainer.js.map +1 -1
  134. package/dist/form/InputToggle.d.ts +2 -1
  135. package/dist/form/InputToggle.js +2 -1
  136. package/dist/form/InputToggle.js.map +1 -1
  137. package/dist/form/InputToggleIcon.js.map +1 -1
  138. package/dist/form/Label.js +2 -2
  139. package/dist/form/Label.js.map +1 -1
  140. package/dist/form/Listbox.d.ts +24 -0
  141. package/dist/form/Listbox.js +46 -0
  142. package/dist/form/Listbox.js.map +1 -0
  143. package/dist/form/ListboxProvider.d.ts +21 -0
  144. package/dist/form/{useListboxProvider.js → ListboxProvider.js} +1 -1
  145. package/dist/form/ListboxProvider.js.map +1 -0
  146. package/dist/form/MenuItemTextField.js +1 -2
  147. package/dist/form/MenuItemTextField.js.map +1 -1
  148. package/dist/form/NativeSelect.js +7 -4
  149. package/dist/form/NativeSelect.js.map +1 -1
  150. package/dist/form/Option.d.ts +49 -10
  151. package/dist/form/Option.js +11 -9
  152. package/dist/form/Option.js.map +1 -1
  153. package/dist/form/Password.js.map +1 -1
  154. package/dist/form/Select.d.ts +2 -2
  155. package/dist/form/Select.js +81 -85
  156. package/dist/form/Select.js.map +1 -1
  157. package/dist/form/SelectedOption.js +2 -1
  158. package/dist/form/SelectedOption.js.map +1 -1
  159. package/dist/form/Slider.d.ts +4 -4
  160. package/dist/form/Slider.js +6 -2
  161. package/dist/form/Slider.js.map +1 -1
  162. package/dist/form/SliderThumb.d.ts +3 -3
  163. package/dist/form/SliderThumb.js.map +1 -1
  164. package/dist/form/SliderValueMarks.d.ts +2 -2
  165. package/dist/form/SliderValueMarks.js.map +1 -1
  166. package/dist/form/SliderValueTooltip.js.map +1 -1
  167. package/dist/form/TextArea.js +1 -2
  168. package/dist/form/TextArea.js.map +1 -1
  169. package/dist/form/TextField.js +1 -2
  170. package/dist/form/TextField.js.map +1 -1
  171. package/dist/form/TextFieldContainer.js +1 -2
  172. package/dist/form/TextFieldContainer.js.map +1 -1
  173. package/dist/form/_form.scss +193 -124
  174. package/dist/form/formMessageContainerStyles.d.ts +10 -0
  175. package/dist/form/formMessageContainerStyles.js +11 -0
  176. package/dist/form/formMessageContainerStyles.js.map +1 -0
  177. package/dist/form/inputToggleStyles.js.map +1 -1
  178. package/dist/form/optionStyles.d.ts +1 -0
  179. package/dist/form/optionStyles.js +2 -2
  180. package/dist/form/optionStyles.js.map +1 -1
  181. package/dist/form/selectUtils.js.map +1 -1
  182. package/dist/form/sliderUtils.d.ts +1 -1
  183. package/dist/form/sliderUtils.js.map +1 -1
  184. package/dist/form/textFieldContainerStyles.d.ts +0 -2
  185. package/dist/form/textFieldContainerStyles.js +1 -2
  186. package/dist/form/textFieldContainerStyles.js.map +1 -1
  187. package/dist/form/types.d.ts +3 -10
  188. package/dist/form/types.js.map +1 -1
  189. package/dist/form/useCheckboxGroup.d.ts +17 -17
  190. package/dist/form/useCheckboxGroup.js +9 -17
  191. package/dist/form/useCheckboxGroup.js.map +1 -1
  192. package/dist/form/useCombobox.d.ts +56 -21
  193. package/dist/form/useCombobox.js +19 -4
  194. package/dist/form/useCombobox.js.map +1 -1
  195. package/dist/form/useEditableCombobox.d.ts +24 -4
  196. package/dist/form/useEditableCombobox.js +5 -0
  197. package/dist/form/useEditableCombobox.js.map +1 -1
  198. package/dist/form/useNumberField.js.map +1 -1
  199. package/dist/form/useRadioGroup.d.ts +6 -6
  200. package/dist/form/useRadioGroup.js.map +1 -1
  201. package/dist/form/useResizingTextArea.js.map +1 -1
  202. package/dist/form/useSelectCombobox.d.ts +3 -4
  203. package/dist/form/useSelectCombobox.js.map +1 -1
  204. package/dist/form/useTextField.d.ts +1 -1
  205. package/dist/form/useTextField.js.map +1 -1
  206. package/dist/form/useTextFieldContainerAddons.js.map +1 -1
  207. package/dist/hoverMode/useHoverMode.d.ts +3 -3
  208. package/dist/hoverMode/useHoverMode.js.map +1 -1
  209. package/dist/hoverMode/useHoverModeProvider.d.ts +4 -4
  210. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  211. package/dist/icon/FontIcon.d.ts +4 -2
  212. package/dist/icon/FontIcon.js.map +1 -1
  213. package/dist/icon/TextIconSpacing.d.ts +3 -1
  214. package/dist/icon/TextIconSpacing.js.map +1 -1
  215. package/dist/icon/_icon.scss +151 -2
  216. package/dist/icon/iconConfig.d.ts +10 -0
  217. package/dist/icon/iconConfig.js +7 -0
  218. package/dist/icon/iconConfig.js.map +1 -1
  219. package/dist/icon/materialConfig.js.map +1 -1
  220. package/dist/icon/styles.js.map +1 -1
  221. package/dist/interaction/UserInteractionModeProvider.d.ts +5 -5
  222. package/dist/interaction/UserInteractionModeProvider.js +12 -8
  223. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  224. package/dist/interaction/types.d.ts +20 -2
  225. package/dist/interaction/types.js.map +1 -1
  226. package/dist/interaction/useElementInteraction.d.ts +7 -1
  227. package/dist/interaction/useElementInteraction.js +1 -2
  228. package/dist/interaction/useElementInteraction.js.map +1 -1
  229. package/dist/interaction/utils.d.ts +2 -2
  230. package/dist/interaction/utils.js +2 -2
  231. package/dist/interaction/utils.js.map +1 -1
  232. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  233. package/dist/layout/_layout.scss +23 -10
  234. package/dist/layout/useExpandableLayout.d.ts +3 -3
  235. package/dist/layout/useExpandableLayout.js.map +1 -1
  236. package/dist/layout/useLayoutAppBarHeight.d.ts +2 -3
  237. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  238. package/dist/layout/useTemporaryLayout.d.ts +2 -2
  239. package/dist/layout/useTemporaryLayout.js.map +1 -1
  240. package/dist/link/SkipToMainContent.js.map +1 -1
  241. package/dist/list/ListItem.d.ts +2 -1
  242. package/dist/list/ListItem.js +2 -1
  243. package/dist/list/ListItem.js.map +1 -1
  244. package/dist/list/ListItemChildren.js.map +1 -1
  245. package/dist/list/ListItemLink.d.ts +2 -1
  246. package/dist/list/ListItemLink.js +2 -1
  247. package/dist/list/ListItemLink.js.map +1 -1
  248. package/dist/list/_list.scss +6 -5
  249. package/dist/media-queries/_media-queries.scss +12 -0
  250. package/dist/media-queries/appSize.js.map +1 -1
  251. package/dist/media-queries/useMediaQuery.js +3 -1
  252. package/dist/media-queries/useMediaQuery.js.map +1 -1
  253. package/dist/menu/DropdownMenu.js.map +1 -1
  254. package/dist/menu/Menu.d.ts +8 -3
  255. package/dist/menu/Menu.js +2 -1
  256. package/dist/menu/Menu.js.map +1 -1
  257. package/dist/menu/MenuItemButton.js +6 -2
  258. package/dist/menu/MenuItemButton.js.map +1 -1
  259. package/dist/menu/useContextMenu.d.ts +3 -3
  260. package/dist/menu/useContextMenu.js.map +1 -1
  261. package/dist/movement/types.d.ts +5 -5
  262. package/dist/movement/types.js.map +1 -1
  263. package/dist/navigation/CollapsibleNavGroup.d.ts +5 -3
  264. package/dist/navigation/CollapsibleNavGroup.js +3 -4
  265. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  266. package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -2
  267. package/dist/navigation/DefaultNavigationRenderer.js +6 -2
  268. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  269. package/dist/navigation/NavItemButton.d.ts +1 -1
  270. package/dist/navigation/NavItemButton.js +1 -0
  271. package/dist/navigation/NavItemButton.js.map +1 -1
  272. package/dist/navigation/NavItemLink.d.ts +3 -2
  273. package/dist/navigation/NavItemLink.js +6 -2
  274. package/dist/navigation/NavItemLink.js.map +1 -1
  275. package/dist/navigation/NavSubheader.d.ts +2 -3
  276. package/dist/navigation/NavSubheader.js.map +1 -1
  277. package/dist/navigation/Navigation.d.ts +1 -1
  278. package/dist/navigation/Navigation.js.map +1 -1
  279. package/dist/navigation/_navigation.scss +6 -5
  280. package/dist/navigation/types.d.ts +54 -6
  281. package/dist/navigation/types.js.map +1 -1
  282. package/dist/navigation/useActiveHeadingId.d.ts +1 -1
  283. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  284. package/dist/navigation/useNavigationExpansion.d.ts +104 -0
  285. package/dist/navigation/useNavigationExpansion.js +77 -0
  286. package/dist/navigation/useNavigationExpansion.js.map +1 -0
  287. package/dist/navigation/utils.d.ts +13 -0
  288. package/dist/navigation/utils.js +36 -0
  289. package/dist/navigation/utils.js.map +1 -0
  290. package/dist/objectFit.d.ts +69 -0
  291. package/dist/objectFit.js +52 -0
  292. package/dist/objectFit.js.map +1 -0
  293. package/dist/overlay/_overlay.scss +2 -1
  294. package/dist/positioning/useFixedPositioning.d.ts +17 -4
  295. package/dist/positioning/useFixedPositioning.js +10 -5
  296. package/dist/positioning/useFixedPositioning.js.map +1 -1
  297. package/dist/positioning/utils.js.map +1 -1
  298. package/dist/progress/LinearProgress.js.map +1 -1
  299. package/dist/progress/_progress.scss +20 -14
  300. package/dist/responsive-item/ResponsiveItem.d.ts +64 -0
  301. package/dist/responsive-item/ResponsiveItem.js +68 -0
  302. package/dist/responsive-item/ResponsiveItem.js.map +1 -0
  303. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +1 -19
  304. package/dist/responsive-item/ResponsiveItemOverlay.js +1 -12
  305. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  306. package/dist/responsive-item/_responsive-item.scss +110 -133
  307. package/dist/responsive-item/responsiveItemOverlayStyles.d.ts +19 -0
  308. package/dist/responsive-item/responsiveItemOverlayStyles.js +14 -0
  309. package/dist/responsive-item/responsiveItemOverlayStyles.js.map +1 -0
  310. package/dist/responsive-item/responsiveItemStyles.d.ts +52 -0
  311. package/dist/responsive-item/responsiveItemStyles.js +15 -0
  312. package/dist/responsive-item/responsiveItemStyles.js.map +1 -0
  313. package/dist/scroll/useScrollLock.d.ts +5 -0
  314. package/dist/scroll/useScrollLock.js.map +1 -1
  315. package/dist/searching/utils.d.ts +2 -2
  316. package/dist/searching/utils.js.map +1 -1
  317. package/dist/segmented-button/SegmentedButton.d.ts +2 -1
  318. package/dist/segmented-button/SegmentedButton.js +2 -1
  319. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  320. package/dist/segmented-button/_segmented-button.scss +6 -6
  321. package/dist/sheet/_sheet.scss +18 -6
  322. package/dist/snackbar/ToastManager.js +15 -5
  323. package/dist/snackbar/ToastManager.js.map +1 -1
  324. package/dist/snackbar/_snackbar.scss +30 -17
  325. package/dist/snackbar/useCurrentToastActions.d.ts +5 -5
  326. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  327. package/dist/table/_table.scss +15 -3
  328. package/dist/table/tableCellStyles.d.ts +7 -3
  329. package/dist/table/tableCellStyles.js +2 -2
  330. package/dist/table/tableCellStyles.js.map +1 -1
  331. package/dist/tabs/Tab.d.ts +2 -1
  332. package/dist/tabs/Tab.js +2 -1
  333. package/dist/tabs/Tab.js.map +1 -1
  334. package/dist/tabs/TabList.d.ts +2 -2
  335. package/dist/tabs/TabList.js.map +1 -1
  336. package/dist/tabs/TabListScrollButton.d.ts +1 -1
  337. package/dist/tabs/TabListScrollButton.js +1 -1
  338. package/dist/tabs/TabListScrollButton.js.map +1 -1
  339. package/dist/tabs/_tabs.scss +30 -9
  340. package/dist/tabs/getTabListScrollToOptions.d.ts +18 -0
  341. package/dist/tabs/getTabListScrollToOptions.js +19 -0
  342. package/dist/tabs/getTabListScrollToOptions.js.map +1 -0
  343. package/dist/tabs/tabStyles.d.ts +3 -0
  344. package/dist/tabs/tabStyles.js.map +1 -1
  345. package/dist/tabs/useTabList.d.ts +1 -8
  346. package/dist/tabs/useTabList.js +1 -0
  347. package/dist/tabs/useTabList.js.map +1 -1
  348. package/dist/tabs/useTabs.d.ts +6 -6
  349. package/dist/tabs/useTabs.js.map +1 -1
  350. package/dist/tabs/utils.d.ts +0 -18
  351. package/dist/tabs/utils.js +0 -15
  352. package/dist/tabs/utils.js.map +1 -1
  353. package/dist/test-utils/ResizeObserver.d.ts +11 -12
  354. package/dist/test-utils/ResizeObserver.js +11 -12
  355. package/dist/test-utils/ResizeObserver.js.map +1 -1
  356. package/dist/test-utils/matchMedia.d.ts +3 -3
  357. package/dist/test-utils/matchMedia.js +6 -6
  358. package/dist/test-utils/matchMedia.js.map +1 -1
  359. package/dist/test-utils/polyfills/TextDecoder.js +0 -1
  360. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
  361. package/dist/test-utils/timers.d.ts +9 -5
  362. package/dist/test-utils/timers.js +5 -5
  363. package/dist/test-utils/timers.js.map +1 -1
  364. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +1 -1
  365. package/dist/theme/LocalStorageColorSchemeProvider.js +2 -1
  366. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  367. package/dist/theme/ThemeProvider.js +3 -1
  368. package/dist/theme/ThemeProvider.js.map +1 -1
  369. package/dist/theme/_a11y.scss +86 -13
  370. package/dist/theme/_colors.scss +279 -277
  371. package/dist/theme/_theme.scss +308 -37
  372. package/dist/theme/isColorScheme.d.ts +16 -0
  373. package/dist/theme/isColorScheme.js +19 -0
  374. package/dist/theme/isColorScheme.js.map +1 -0
  375. package/dist/theme/types.d.ts +53 -1
  376. package/dist/theme/types.js +1 -23
  377. package/dist/theme/types.js.map +1 -1
  378. package/dist/theme/useCSSVariables.d.ts +2 -19
  379. package/dist/theme/useCSSVariables.js.map +1 -1
  380. package/dist/theme/useColorScheme.d.ts +1 -35
  381. package/dist/theme/useColorScheme.js.map +1 -1
  382. package/dist/theme/useColorSchemeMetaTag.d.ts +1 -1
  383. package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
  384. package/dist/theme/useColorSchemeProvider.d.ts +1 -1
  385. package/dist/theme/useColorSchemeProvider.js +1 -1
  386. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  387. package/dist/theme/{usePrefersColorScheme.js → usePrefersDarkScheme.js} +1 -1
  388. package/dist/theme/usePrefersDarkScheme.js.map +1 -0
  389. package/dist/theme/utils.js.map +1 -1
  390. package/dist/tooltip/useTooltip.d.ts +14 -9
  391. package/dist/tooltip/useTooltip.js +2 -1
  392. package/dist/tooltip/useTooltip.js.map +1 -1
  393. package/dist/transition/_transition.scss +16 -9
  394. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  395. package/dist/transition/types.d.ts +1 -1
  396. package/dist/transition/types.js.map +1 -1
  397. package/dist/transition/useCarousel.d.ts +3 -3
  398. package/dist/transition/useCarousel.js.map +1 -1
  399. package/dist/transition/useCollapseTransition.js.map +1 -1
  400. package/dist/transition/useTransition.js +1 -0
  401. package/dist/transition/useTransition.js.map +1 -1
  402. package/dist/transition/utils.js.map +1 -1
  403. package/dist/tree/TreeItem.d.ts +2 -1
  404. package/dist/tree/TreeItem.js +4 -3
  405. package/dist/tree/TreeItem.js.map +1 -1
  406. package/dist/tree/TreeItemExpander.js.map +1 -1
  407. package/dist/tree/_tree.scss +8 -6
  408. package/dist/tree/useTreeExpansion.d.ts +1 -1
  409. package/dist/tree/useTreeExpansion.js +6 -18
  410. package/dist/tree/useTreeExpansion.js.map +1 -1
  411. package/dist/tree/useTreeSelection.d.ts +1 -1
  412. package/dist/tree/useTreeSelection.js +7 -25
  413. package/dist/tree/useTreeSelection.js.map +1 -1
  414. package/dist/tree/utils.d.ts +1 -1
  415. package/dist/tree/utils.js.map +1 -1
  416. package/dist/types.d.ts +12 -4
  417. package/dist/types.js.map +1 -1
  418. package/dist/typography/WritingDirectionProvider.d.ts +1 -1
  419. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  420. package/dist/typography/_typography.scss +94 -37
  421. package/dist/typography/typographyStyles.js.map +1 -1
  422. package/dist/useDebouncedFunction.d.ts +1 -5
  423. package/dist/useDebouncedFunction.js +3 -1
  424. package/dist/useDebouncedFunction.js.map +1 -1
  425. package/dist/useDropzone.d.ts +4 -4
  426. package/dist/useDropzone.js.map +1 -1
  427. package/dist/useEnsuredId.js.map +1 -1
  428. package/dist/useIntersectionObserver.d.ts +5 -5
  429. package/dist/useIntersectionObserver.js.map +1 -1
  430. package/dist/useLocalStorage.d.ts +3 -3
  431. package/dist/useLocalStorage.js +1 -1
  432. package/dist/useLocalStorage.js.map +1 -1
  433. package/dist/useMutationObserver.d.ts +1 -1
  434. package/dist/useMutationObserver.js.map +1 -1
  435. package/dist/useOrientation.js +3 -1
  436. package/dist/useOrientation.js.map +1 -1
  437. package/dist/usePageInactive.d.ts +2 -2
  438. package/dist/usePageInactive.js.map +1 -1
  439. package/dist/useReadonlySet.d.ts +76 -0
  440. package/dist/useReadonlySet.js +72 -0
  441. package/dist/useReadonlySet.js.map +1 -0
  442. package/dist/useResizeListener.d.ts +1 -1
  443. package/dist/useResizeListener.js.map +1 -1
  444. package/dist/useResizeObserver.d.ts +19 -0
  445. package/dist/useResizeObserver.js +19 -0
  446. package/dist/useResizeObserver.js.map +1 -1
  447. package/dist/useThrottledFunction.d.ts +1 -5
  448. package/dist/useThrottledFunction.js +3 -1
  449. package/dist/useThrottledFunction.js.map +1 -1
  450. package/dist/useToggle.d.ts +3 -3
  451. package/dist/useToggle.js.map +1 -1
  452. package/dist/utils/RenderRecursively.d.ts +2 -2
  453. package/dist/utils/RenderRecursively.js.map +1 -1
  454. package/dist/utils/alphaNumericSort.d.ts +5 -5
  455. package/dist/utils/alphaNumericSort.js.map +1 -1
  456. package/dist/utils/bem.d.ts +1 -1
  457. package/dist/utils/bem.js +1 -1
  458. package/dist/utils/bem.js.map +1 -1
  459. package/dist/utils/debounce.d.ts +5 -0
  460. package/dist/utils/debounce.js +17 -0
  461. package/dist/utils/debounce.js.map +1 -0
  462. package/dist/utils/nearest.js.map +1 -1
  463. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  464. package/dist/utils/throttle.d.ts +5 -0
  465. package/dist/utils/throttle.js +30 -0
  466. package/dist/utils/throttle.js.map +1 -0
  467. package/dist/utils/wait.js +3 -1
  468. package/dist/utils/wait.js.map +1 -1
  469. package/dist/window-splitter/WindowSplitter.d.ts +37 -15
  470. package/dist/window-splitter/WindowSplitter.js +38 -17
  471. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  472. package/dist/window-splitter/_window-splitter.scss +32 -14
  473. package/dist/window-splitter/styles.d.ts +14 -0
  474. package/dist/window-splitter/styles.js +18 -0
  475. package/dist/window-splitter/styles.js.map +1 -0
  476. package/package.json +25 -24
  477. package/src/app-bar/AppBar.tsx +1 -170
  478. package/src/app-bar/AppBarTitle.tsx +1 -44
  479. package/src/app-bar/styles.ts +206 -0
  480. package/src/autocomplete/Autocomplete.tsx +194 -211
  481. package/src/autocomplete/AutocompleteChip.tsx +48 -0
  482. package/src/autocomplete/AutocompleteCircularProgress.tsx +6 -17
  483. package/src/autocomplete/AutocompleteClearButton.tsx +44 -0
  484. package/src/autocomplete/AutocompleteDropdownButton.tsx +16 -37
  485. package/src/autocomplete/AutocompleteListboxChildren.tsx +68 -0
  486. package/src/autocomplete/autocompleteStyles.ts +48 -9
  487. package/src/autocomplete/defaults.ts +26 -17
  488. package/src/autocomplete/types.ts +744 -61
  489. package/src/autocomplete/useAutocomplete.ts +428 -0
  490. package/src/autocomplete/utils.ts +211 -0
  491. package/src/badge/Badge.tsx +1 -39
  492. package/src/badge/styles.ts +45 -0
  493. package/src/box/Box.tsx +11 -9
  494. package/src/box/styles.ts +14 -5
  495. package/src/button/AsyncButton.tsx +1 -1
  496. package/src/button/Button.tsx +5 -1
  497. package/src/card/Card.tsx +35 -4
  498. package/src/card/ClickableCard.tsx +9 -2
  499. package/src/card/styles.ts +1 -10
  500. package/src/chip/Chip.tsx +6 -1
  501. package/src/chip/styles.ts +12 -10
  502. package/src/delegateEvent.ts +5 -5
  503. package/src/dialog/Dialog.tsx +48 -61
  504. package/src/dialog/FixedDialog.tsx +1 -11
  505. package/src/dialog/styles.ts +97 -0
  506. package/src/divider/Divider.tsx +0 -12
  507. package/src/divider/styles.ts +12 -0
  508. package/src/draggable/useDraggable.ts +17 -10
  509. package/src/draggable/utils.ts +3 -3
  510. package/src/expansion-panel/ExpansionPanel.tsx +1 -1
  511. package/src/expansion-panel/useExpansionPanels.ts +18 -27
  512. package/src/{form → files}/FileInput.tsx +7 -15
  513. package/src/files/styles.ts +10 -0
  514. package/src/{form → files}/useFileUpload.ts +30 -34
  515. package/src/files/utils.ts +234 -0
  516. package/src/{form/fileUtils.ts → files/validation.ts} +15 -244
  517. package/src/focus/useFocusContainer.ts +16 -8
  518. package/src/form/FormMessageContainer.tsx +2 -2
  519. package/src/form/InputToggle.tsx +5 -1
  520. package/src/form/Label.tsx +18 -18
  521. package/src/form/Listbox.tsx +87 -0
  522. package/src/form/ListboxProvider.ts +37 -0
  523. package/src/form/MenuItemTextField.tsx +1 -2
  524. package/src/form/NativeSelect.tsx +14 -10
  525. package/src/form/Option.tsx +74 -22
  526. package/src/form/Select.tsx +89 -85
  527. package/src/form/SelectedOption.tsx +2 -0
  528. package/src/form/Slider.tsx +14 -11
  529. package/src/form/SliderThumb.tsx +4 -4
  530. package/src/form/SliderValueMarks.tsx +4 -4
  531. package/src/form/TextArea.tsx +6 -8
  532. package/src/form/TextField.tsx +0 -2
  533. package/src/form/TextFieldContainer.tsx +9 -11
  534. package/src/form/formMessageContainerStyles.ts +22 -0
  535. package/src/form/optionStyles.ts +7 -2
  536. package/src/form/sliderUtils.ts +1 -1
  537. package/src/form/textFieldContainerStyles.ts +9 -14
  538. package/src/form/types.ts +3 -11
  539. package/src/form/useCheckboxGroup.ts +28 -36
  540. package/src/form/useCombobox.ts +86 -38
  541. package/src/form/useEditableCombobox.ts +43 -8
  542. package/src/form/useRadioGroup.ts +6 -6
  543. package/src/form/useSelectCombobox.ts +4 -4
  544. package/src/form/useTextField.ts +1 -1
  545. package/src/hoverMode/useHoverMode.ts +3 -3
  546. package/src/hoverMode/useHoverModeProvider.ts +4 -4
  547. package/src/icon/FontIcon.tsx +4 -2
  548. package/src/icon/TextIconSpacing.tsx +1 -1
  549. package/src/icon/iconConfig.tsx +12 -0
  550. package/src/interaction/UserInteractionModeProvider.tsx +12 -8
  551. package/src/interaction/types.ts +21 -2
  552. package/src/interaction/useElementInteraction.tsx +9 -2
  553. package/src/interaction/utils.ts +7 -7
  554. package/src/layout/useExpandableLayout.ts +3 -3
  555. package/src/layout/useLayoutAppBarHeight.ts +3 -4
  556. package/src/layout/useTemporaryLayout.ts +2 -2
  557. package/src/list/ListItem.tsx +5 -1
  558. package/src/list/ListItemLink.tsx +5 -1
  559. package/src/media-queries/useMediaQuery.ts +2 -1
  560. package/src/menu/Menu.tsx +11 -3
  561. package/src/menu/MenuItemButton.tsx +7 -1
  562. package/src/menu/useContextMenu.ts +3 -3
  563. package/src/movement/types.ts +5 -5
  564. package/src/navigation/CollapsibleNavGroup.tsx +16 -8
  565. package/src/navigation/DefaultNavigationRenderer.tsx +8 -6
  566. package/src/navigation/NavItemButton.tsx +2 -1
  567. package/src/navigation/NavItemLink.tsx +11 -3
  568. package/src/navigation/NavSubheader.tsx +1 -1
  569. package/src/navigation/Navigation.tsx +1 -1
  570. package/src/navigation/types.ts +60 -10
  571. package/src/navigation/useActiveHeadingId.ts +1 -1
  572. package/src/navigation/useNavigationExpansion.ts +170 -0
  573. package/src/navigation/utils.ts +47 -0
  574. package/src/objectFit.ts +88 -0
  575. package/src/positioning/useFixedPositioning.ts +34 -11
  576. package/src/responsive-item/ResponsiveItem.tsx +96 -0
  577. package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -46
  578. package/src/responsive-item/responsiveItemOverlayStyles.ts +46 -0
  579. package/src/responsive-item/responsiveItemStyles.ts +81 -0
  580. package/src/scroll/useScrollLock.ts +6 -0
  581. package/src/searching/utils.ts +3 -3
  582. package/src/segmented-button/SegmentedButton.tsx +5 -1
  583. package/src/snackbar/ToastManager.tsx +16 -5
  584. package/src/snackbar/useCurrentToastActions.ts +5 -5
  585. package/src/table/tableCellStyles.ts +10 -6
  586. package/src/tabs/Tab.tsx +4 -1
  587. package/src/tabs/TabList.tsx +2 -2
  588. package/src/tabs/TabListScrollButton.tsx +4 -4
  589. package/src/tabs/getTabListScrollToOptions.ts +37 -0
  590. package/src/tabs/tabStyles.ts +4 -0
  591. package/src/tabs/useTabList.ts +2 -9
  592. package/src/tabs/useTabs.ts +6 -6
  593. package/src/tabs/utils.ts +0 -38
  594. package/src/test-utils/ResizeObserver.ts +11 -12
  595. package/src/test-utils/matchMedia.ts +7 -7
  596. package/src/test-utils/polyfills/TextDecoder.ts +0 -1
  597. package/src/test-utils/timers.ts +10 -7
  598. package/src/theme/LocalStorageColorSchemeProvider.tsx +4 -4
  599. package/src/theme/ThemeProvider.tsx +3 -3
  600. package/src/theme/isColorScheme.ts +22 -0
  601. package/src/theme/types.ts +67 -1
  602. package/src/theme/useCSSVariables.ts +7 -30
  603. package/src/theme/useColorScheme.ts +1 -40
  604. package/src/theme/useColorSchemeMetaTag.ts +1 -1
  605. package/src/theme/useColorSchemeProvider.ts +2 -2
  606. package/src/tooltip/useTooltip.ts +17 -9
  607. package/src/transition/types.ts +1 -1
  608. package/src/transition/useCarousel.ts +3 -3
  609. package/src/transition/useTransition.ts +1 -0
  610. package/src/tree/TreeItem.tsx +7 -1
  611. package/src/tree/TreeItemExpander.tsx +1 -1
  612. package/src/tree/useTreeExpansion.ts +7 -25
  613. package/src/tree/useTreeSelection.ts +8 -32
  614. package/src/tree/utils.ts +6 -2
  615. package/src/types.ts +20 -4
  616. package/src/typography/WritingDirectionProvider.tsx +1 -1
  617. package/src/useDebouncedFunction.ts +4 -9
  618. package/src/useDropzone.ts +4 -4
  619. package/src/useIntersectionObserver.ts +5 -5
  620. package/src/useLocalStorage.ts +6 -6
  621. package/src/useMutationObserver.ts +1 -1
  622. package/src/useOrientation.ts +3 -1
  623. package/src/usePageInactive.ts +2 -2
  624. package/src/useReadonlySet.ts +122 -0
  625. package/src/useResizeListener.ts +1 -1
  626. package/src/useResizeObserver.ts +19 -0
  627. package/src/useThrottledFunction.ts +6 -9
  628. package/src/useToggle.ts +3 -3
  629. package/src/utils/RenderRecursively.tsx +2 -2
  630. package/src/utils/alphaNumericSort.ts +5 -5
  631. package/src/utils/bem.ts +1 -1
  632. package/src/utils/debounce.ts +22 -0
  633. package/src/utils/throttle.ts +38 -0
  634. package/src/utils/wait.ts +5 -1
  635. package/src/window-splitter/WindowSplitter.tsx +38 -43
  636. package/src/window-splitter/styles.ts +42 -0
  637. package/dist/autocomplete/FilterAutocompleteOptions.d.ts +0 -8
  638. package/dist/autocomplete/FilterAutocompleteOptions.js +0 -57
  639. package/dist/autocomplete/FilterAutocompleteOptions.js.map +0 -1
  640. package/dist/dialog/DialogContainer.d.ts +0 -14
  641. package/dist/dialog/DialogContainer.js +0 -20
  642. package/dist/dialog/DialogContainer.js.map +0 -1
  643. package/dist/form/FileInput.js.map +0 -1
  644. package/dist/form/fileUtils.js.map +0 -1
  645. package/dist/form/useFileUpload.js.map +0 -1
  646. package/dist/form/useListboxProvider.d.ts +0 -31
  647. package/dist/form/useListboxProvider.js.map +0 -1
  648. package/dist/navigation/getHrefFromParents.d.ts +0 -5
  649. package/dist/navigation/getHrefFromParents.js +0 -13
  650. package/dist/navigation/getHrefFromParents.js.map +0 -1
  651. package/dist/responsive-item/ResponsiveItemContainer.d.ts +0 -115
  652. package/dist/responsive-item/ResponsiveItemContainer.js +0 -80
  653. package/dist/responsive-item/ResponsiveItemContainer.js.map +0 -1
  654. package/dist/responsive-item/styles.d.ts +0 -34
  655. package/dist/responsive-item/styles.js +0 -17
  656. package/dist/responsive-item/styles.js.map +0 -1
  657. package/dist/theme/usePrefersColorScheme.js.map +0 -1
  658. package/src/autocomplete/FilterAutocompleteOptions.tsx +0 -86
  659. package/src/dialog/DialogContainer.tsx +0 -28
  660. package/src/form/useListboxProvider.ts +0 -45
  661. package/src/navigation/getHrefFromParents.ts +0 -15
  662. package/src/responsive-item/ResponsiveItemContainer.tsx +0 -174
  663. package/src/responsive-item/styles.ts +0 -58
  664. /package/dist/theme/{usePrefersColorScheme.d.ts → usePrefersDarkScheme.d.ts} +0 -0
  665. /package/src/theme/{usePrefersColorScheme.ts → usePrefersDarkScheme.ts} +0 -0
@@ -11,48 +11,155 @@
11
11
  @use "../overlay/overlay";
12
12
  @use "../typography/typography";
13
13
 
14
+ // Set to `true` to disable all the styles
15
+ // @type boolean
14
16
  $disable-everything: false !default;
17
+
18
+ // Set to `true` to disable the text button styles
19
+ // @type boolean
15
20
  $disable-text: false !default;
21
+
22
+ // Set to `true` to disable the icon button styles
23
+ // @type boolean
16
24
  $disable-icon: false !default;
25
+
26
+ // Set to `true` to disable the icon-square button styles
27
+ // @type boolean
17
28
  $disable-icon-square: false !default;
29
+
30
+ // Set to `true` to disable the contained button styles
31
+ // @type boolean
18
32
  $disable-contained: false !default;
33
+
34
+ // Set to `true` to disable the contained with pressed elevation button styles
35
+ // @type boolean
19
36
  $disable-contained-pressed-elevation: false !default;
37
+
38
+ // Contained buttons should _normally_ always force dark background colors for
39
+ // the interaction states This means use the default light theme since it is
40
+ // based off of the root background color.
41
+ //
42
+ // @type boolean
20
43
  $disable-contained-interaction-colors: interaction.$light-surface-base-background-color
21
44
  == interaction.$dark-surface-base-background-color !default;
45
+
46
+ // Set to `true` to disable the floating button styles
47
+ // @type boolean
22
48
  $disable-floating: false !default;
49
+
50
+ // Set to `true` to disable the floating button `position: absolute` styles
51
+ // @type boolean
23
52
  $disable-floating-absolute-position: false !default;
53
+
54
+ // Set to `true` to disable updating the circular progress size within buttons
55
+ // @type boolean
24
56
  $disable-circular-progress: progress.$disable-circular !default;
57
+
58
+ // Set to `true` to disable the async button styles
59
+ // @type boolean
25
60
  $disable-async: $disable-circular-progress !default;
61
+
62
+ // Set to `true` to disable `.rmd-button-unstyled` utility class
63
+ // @type boolean
26
64
  $disable-unstyled-utility-class: false !default;
27
65
 
66
+ // The default border radius to apply to text buttons
67
+ // @type number
28
68
  $text-border-radius: 0.5rem !default;
69
+
70
+ // The default horizontal padding to apply to text buttons
71
+ // @type number
29
72
  $text-horizontal-padding: 1rem !default;
73
+
74
+ // The default vertical padding to apply to text buttons
75
+ // @type number
30
76
  $text-vertical-padding: 0 !default;
77
+
78
+ // The default min-height to apply to text buttons
79
+ // @type number
31
80
  $text-min-height: 2.25rem !default;
81
+
82
+ // The default min-width to apply to text buttons
83
+ // @type number
32
84
  $text-min-width: 4rem !default;
85
+
86
+ // The default size to set icons that appear as children of text buttons
87
+ // @type number
33
88
  $text-icon-size: 1.125rem !default;
34
89
 
90
+ // The default border radius to apply to icon buttons
91
+ // @type number
35
92
  $icon-border-radius: 50% !default;
93
+
94
+ // The default border radius to apply to square icon buttons
95
+ // @type number
36
96
  $icon-square-border-radius: $text-border-radius !default;
97
+
98
+ // The default height and width of icon buttons. This default value makes them
99
+ // responsive based on the current font size.
100
+ // @type number
37
101
  $icon-size: auto !default;
102
+
103
+ // The default icon button small size
104
+ // @type number
38
105
  $icon-small-size: icon.$size - 0.25rem !default;
106
+
107
+ // The default icon button large size
108
+ // @type number
39
109
  $icon-large-size: icon.$size + 0.25rem !default;
110
+
111
+ // The default icon button font size which is used to update the total size of
112
+ // the button as well.
113
+ // @type number
40
114
  $icon-font-size: icon.$size !default;
115
+
116
+ // The default padding for icon buttons. The icon button size is determined by
117
+ // adding the padding to the icon size.
118
+ // @type number
41
119
  $icon-padding: 0.5em !default;
42
120
 
121
+ // The default material design elevation for the contained button theme. This
122
+ // should be a number from 0 - 24.
123
+ // @type number
43
124
  $contained-elevation: 2 !default;
125
+
126
+ // The default material design elevation for the contained button theme while
127
+ // pressed. This should be a number from 0 - 24.
128
+ // @type number
44
129
  $contained-pressed-elevation: 4 !default;
130
+
131
+ // The default background color to apply to contained buttons while the theme is
132
+ // set to clear
133
+ // @type Color
45
134
  $clear-contained-background-color: theme.$light-theme-surface-color !default;
135
+
136
+ // The default text color to apply to contained buttons while the theme is set
137
+ // to clear
138
+ // @type Color
46
139
  $clear-contained-color: a11y.contrast-color(
47
140
  $clear-contained-background-color
48
141
  ) !default;
49
142
 
143
+ // The default size for circular progress components that appear as a child of
144
+ // a text button
145
+ // @type number
50
146
  $circular-progress-size: icon.get-var(size) !default;
51
147
 
148
+ // The default viewport margin for a floating action button
149
+ // @type number
52
150
  $floating-margin: 1.5rem !default;
151
+
152
+ // The default z-index for a floating action button
153
+ // @type number
53
154
  $floating-z-index: utils.$temporary-element-z-index !default;
54
- // set this below the app bar
155
+
156
+ // The default z-index for an absolute positioned floating action button. This
157
+ // should be a number lower than the `$app-bar-fixed-z-index`.
158
+ // @type number
55
159
  $floating-absolute-z-index: 5 !default;
160
+
161
+ // The default floating action button positions and their margin styles.
162
+ // @type number
56
163
  $floating-positions: (
57
164
  tl: (
58
165
  left: $floating-margin,
@@ -72,6 +179,9 @@ $floating-positions: (
72
179
  ),
73
180
  ) !default;
74
181
 
182
+ // The available configurable css variables and mostly used internally for the
183
+ // `get-var`, `set-var`, and `use-var` utils.
184
+ // @type List
75
185
  $variables: (
76
186
  background-color,
77
187
  color,
@@ -88,6 +198,9 @@ $variables: (
88
198
  fab-offset
89
199
  );
90
200
 
201
+ // @param {string} name - The supported variable name
202
+ // @param {any} fallback - An optional fallback value
203
+ // @returns {string} a `var()` statement
91
204
  @function get-var($name, $fallback: null) {
92
205
  $var: utils.get-var-name($variables, $name, "button");
93
206
  @if $fallback {
@@ -97,12 +210,19 @@ $variables: (
97
210
  @return var(#{$var});
98
211
  }
99
212
 
213
+ // @param {string} name - The supported variable name
214
+ // @param {any} value - The value to set the variable to. Supports `null` which
215
+ // will just be a no-op.
100
216
  @mixin set-var($name, $value) {
101
217
  @if $value {
102
218
  #{utils.get-var-name($variables, $name, "button")}: #{$value};
103
219
  }
104
220
  }
105
221
 
222
+ // @param {string} property - The css property to apply the variable to
223
+ // @param {string} name - The supported variable name
224
+ // @param {any} fallback - An optional fallback value if the variable has not
225
+ // been set
106
226
  @mixin use-var($property, $name: $property, $fallback: null) {
107
227
  #{$property}: get-var($name, $fallback);
108
228
  }
@@ -118,9 +238,11 @@ $variables: (
118
238
  $box-shadow: $box-shadow
119
239
  );
120
240
 
121
- background-color: transparent;
122
- border-width: 0;
123
- display: inline-flex;
241
+ & {
242
+ background-color: transparent;
243
+ border-width: 0;
244
+ display: inline-flex;
245
+ }
124
246
  }
125
247
 
126
248
  @mixin text-styles {
@@ -134,6 +256,7 @@ $variables: (
134
256
  padding: get-var(text-vertical-padding) get-var(text-horizontal-padding);
135
257
  }
136
258
 
259
+ // Conditionally applies the css variables based on feature flags
137
260
  @mixin variables {
138
261
  @if not $disable-everything {
139
262
  @include set-var(background-color, transparent);
@@ -164,6 +287,10 @@ $variables: (
164
287
  }
165
288
  }
166
289
 
290
+ // Generates all the styles based on feature flags.
291
+ //
292
+ // @param {boolean} disable-layer - Set this to `true` to disable the
293
+ // layer behavior
167
294
  @mixin styles($disable-layer: false) {
168
295
  @if not $disable-everything {
169
296
  @include utils.optional-layer(button, $disable-layer) {
@@ -238,18 +365,6 @@ $variables: (
238
365
 
239
366
  @if not $disable-contained {
240
367
  &--contained {
241
- @include box-shadows.elevation-transition(
242
- $contained-elevation,
243
- if(
244
- $disable-contained-pressed-elevation,
245
- null,
246
- $contained-pressed-elevation
247
- ),
248
- "&.rmd-button--pressed",
249
- $pseudo-before: false,
250
- $position-relative: false
251
- );
252
-
253
368
  // contained buttons should _normally_ always force dark background
254
369
  // colors for the interaction states This means use the default light
255
370
  // theme since it is based off of the root background color
@@ -262,6 +377,18 @@ $variables: (
262
377
  get-var(contained-background-color)
263
378
  );
264
379
  @include set-var(color, get-var(contained-color));
380
+
381
+ @include box-shadows.elevation-transition(
382
+ $contained-elevation,
383
+ if(
384
+ $disable-contained-pressed-elevation,
385
+ null,
386
+ $contained-pressed-elevation
387
+ ),
388
+ "&.rmd-button--pressed",
389
+ $pseudo-before: false,
390
+ $position-relative: false
391
+ );
265
392
  }
266
393
  }
267
394
 
@@ -269,7 +396,6 @@ $variables: (
269
396
  &--async {
270
397
  @include overlay.set-var(background-color, transparent);
271
398
  @include progress.set-var(color, currentcolor);
272
- // @include progress.set-var(background-color, currentcolor);
273
399
  }
274
400
 
275
401
  &--async-overlay {
@@ -302,25 +428,31 @@ $variables: (
302
428
 
303
429
  @each $suffix, $styles in $floating-positions {
304
430
  &--#{$suffix} {
431
+ $left: null;
432
+ $right: null;
433
+
305
434
  @each $property, $value in $styles {
306
435
  @if $property == left {
307
- @include utils.rtl {
308
- left: auto;
309
- right: calc(#{$value} + #{get-var(fab-offset)});
310
- }
436
+ $left: auto;
437
+ $right: calc(#{$value} + #{get-var(fab-offset)});
311
438
 
312
439
  left: $value;
313
440
  } @else if $property == right {
314
- @include utils.rtl {
315
- left: $value;
316
- right: auto;
317
- }
441
+ $left: $value;
442
+ $right: auto;
318
443
 
319
444
  right: calc(#{$value} + #{get-var(fab-offset)});
320
445
  } @else {
321
446
  #{$property}: #{$value};
322
447
  }
323
448
  }
449
+
450
+ @if $left and $right {
451
+ @include utils.rtl {
452
+ left: $left;
453
+ right: $right;
454
+ }
455
+ }
324
456
  }
325
457
  }
326
458
  }
@@ -1,4 +1,5 @@
1
1
  import { type HTMLAttributes } from "react";
2
+ import { type BoxAlignItems } from "../box/styles.js";
2
3
  import { type CardClassNameOptions } from "./styles.js";
3
4
  declare module "react" {
4
5
  interface CSSProperties {
@@ -12,6 +13,19 @@ declare module "react" {
12
13
  * deprecated `raiseable` prop
13
14
  */
14
15
  export interface CardProps extends HTMLAttributes<HTMLDivElement>, CardClassNameOptions {
16
+ /**
17
+ * @defaultValue `"stretch"`
18
+ */
19
+ align?: BoxAlignItems;
20
+ /**
21
+ * @defaultValue `"start"`
22
+ */
23
+ justify?: BoxAlignItems;
24
+ /**
25
+ * @see {@link BoxOptions.fullWidth}
26
+ * @defaultValue `false`
27
+ */
28
+ fullWidth?: boolean;
15
29
  }
16
30
  /**
17
31
  * @example Simple Example
@@ -50,5 +64,7 @@ export interface CardProps extends HTMLAttributes<HTMLDivElement>, CardClassName
50
64
  * ```
51
65
  *
52
66
  * @since 6.0.0 Removed the deprecated `raiseable` prop
67
+ * @since 6.0.0 Uses the `Box` component and displays as `flex` instead of
68
+ * `block`/`inline-block`.
53
69
  */
54
70
  export declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLDivElement>>;
package/dist/card/Card.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
+ import { Box } from "../box/Box.js";
3
4
  import { card } from "./styles.js";
4
5
  /**
5
6
  * @example Simple Example
@@ -38,16 +39,23 @@ import { card } from "./styles.js";
38
39
  * ```
39
40
  *
40
41
  * @since 6.0.0 Removed the deprecated `raiseable` prop
42
+ * @since 6.0.0 Uses the `Box` component and displays as `flex` instead of
43
+ * `block`/`inline-block`.
41
44
  */ export const Card = /*#__PURE__*/ forwardRef(function Card(props, ref) {
42
- const { children, className, bordered, raisable, fullWidth, interactable, ...remaining } = props;
43
- return /*#__PURE__*/ _jsx("div", {
45
+ const { children, className, align = "stretch", justify = "stretch", bordered, raisable, fullWidth, interactable, ...remaining } = props;
46
+ return /*#__PURE__*/ _jsx(Box, {
44
47
  ...remaining,
48
+ align: align,
49
+ justify: justify,
50
+ stacked: true,
51
+ fullWidth: fullWidth,
52
+ disableGap: true,
53
+ disablePadding: true,
45
54
  ref: ref,
46
55
  className: card({
47
56
  className,
48
57
  bordered,
49
58
  raisable,
50
- fullWidth,
51
59
  interactable
52
60
  }),
53
61
  children: children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/card/Card.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { card, type CardClassNameOptions } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-card-background-color\"?: string;\n \"--rmd-card-color\"?: string;\n \"--rmd-card-secondary-color\"?: string;\n }\n}\n\n/**\n * @since 6.0.0 Extends the {@link CardClassNameOptions} and removed the\n * deprecated `raiseable` prop\n */\nexport interface CardProps\n extends HTMLAttributes<HTMLDivElement>,\n CardClassNameOptions {}\n\n/**\n * @example Simple Example\n * ```tsx\n * import {\n * Button,\n * Card,\n * CardContent,\n * CardFooter,\n * CardHeader,\n * CardTitle,\n * CardSubtitle,\n * Typography,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Card>\n * <CardHeader>\n * <CardTitle>Main Title</CardTitle>\n * <CardSubtitle>A subtitle</CardSubtitle>\n * </CardHeader>\n * <CardContent>\n * <Typography margin=\"none\">\n * Some paragraph of text.\n * </Typography>\n * </CardContent>\n * <CardFooter>\n * <Button>Action 1</Button>\n * <Button>Action 2</Button>\n * </CardFooter>\n * </Card>\n * );\n * }\n * ```\n *\n * @since 6.0.0 Removed the deprecated `raiseable` prop\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n function Card(props, ref) {\n const {\n children,\n className,\n bordered,\n raisable,\n fullWidth,\n interactable,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={card({\n className,\n bordered,\n raisable,\n fullWidth,\n interactable,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","card","Card","props","ref","children","className","bordered","raisable","fullWidth","interactable","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,IAAI,QAAmC,cAAc;AAkB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCC,GACD,OAAO,MAAMC,qBAAOF,WAClB,SAASE,KAAKC,KAAK,EAAEC,GAAG;IACtB,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZ,GAAGC,WACJ,GAAGR;IAEJ,qBACE,KAACS;QACE,GAAGD,SAAS;QACbP,KAAKA;QACLE,WAAWL,KAAK;YACdK;YACAC;YACAC;YACAC;YACAC;QACF;kBAECL;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/card/Card.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { Box } from \"../box/Box.js\";\nimport {\n type BoxAlignItems,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type BoxOptions,\n} from \"../box/styles.js\";\nimport { card, type CardClassNameOptions } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-card-background-color\"?: string;\n \"--rmd-card-color\"?: string;\n \"--rmd-card-secondary-color\"?: string;\n }\n}\n\n/**\n * @since 6.0.0 Extends the {@link CardClassNameOptions} and removed the\n * deprecated `raiseable` prop\n */\nexport interface CardProps\n extends HTMLAttributes<HTMLDivElement>,\n CardClassNameOptions {\n /**\n * @defaultValue `\"stretch\"`\n */\n align?: BoxAlignItems;\n\n /**\n * @defaultValue `\"start\"`\n */\n justify?: BoxAlignItems;\n\n /**\n * @see {@link BoxOptions.fullWidth}\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * import {\n * Button,\n * Card,\n * CardContent,\n * CardFooter,\n * CardHeader,\n * CardTitle,\n * CardSubtitle,\n * Typography,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Card>\n * <CardHeader>\n * <CardTitle>Main Title</CardTitle>\n * <CardSubtitle>A subtitle</CardSubtitle>\n * </CardHeader>\n * <CardContent>\n * <Typography margin=\"none\">\n * Some paragraph of text.\n * </Typography>\n * </CardContent>\n * <CardFooter>\n * <Button>Action 1</Button>\n * <Button>Action 2</Button>\n * </CardFooter>\n * </Card>\n * );\n * }\n * ```\n *\n * @since 6.0.0 Removed the deprecated `raiseable` prop\n * @since 6.0.0 Uses the `Box` component and displays as `flex` instead of\n * `block`/`inline-block`.\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n function Card(props, ref) {\n const {\n children,\n className,\n align = \"stretch\",\n justify = \"stretch\",\n bordered,\n raisable,\n fullWidth,\n interactable,\n ...remaining\n } = props;\n\n return (\n <Box\n {...remaining}\n align={align}\n justify={justify}\n stacked\n fullWidth={fullWidth}\n disableGap\n disablePadding\n ref={ref}\n className={card({\n className,\n bordered,\n raisable,\n interactable,\n })}\n >\n {children}\n </Box>\n );\n }\n);\n"],"names":["forwardRef","Box","card","Card","props","ref","children","className","align","justify","bordered","raisable","fullWidth","interactable","remaining","stacked","disableGap","disablePadding"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,gBAAgB;AAMpC,SAASC,IAAI,QAAmC,cAAc;AAkC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCC,GACD,OAAO,MAAMC,qBAAOH,WAClB,SAASG,KAAKC,KAAK,EAAEC,GAAG;IACtB,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,QAAQ,SAAS,EACjBC,UAAU,SAAS,EACnBC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZ,GAAGC,WACJ,GAAGV;IAEJ,qBACE,KAACH;QACE,GAAGa,SAAS;QACbN,OAAOA;QACPC,SAASA;QACTM,OAAO;QACPH,WAAWA;QACXI,UAAU;QACVC,cAAc;QACdZ,KAAKA;QACLE,WAAWL,KAAK;YACdK;YACAG;YACAC;YACAE;QACF;kBAECP;;AAGP,GACA"}
@@ -1,9 +1,10 @@
1
1
  import { type MouseEventHandler } from "react";
2
+ import { type ComponentWithRippleProps } from "../interaction/types.js";
2
3
  import { type CardProps } from "./Card.js";
3
4
  /**
4
5
  * @since 6.0.0
5
6
  */
6
- export interface ClickableCardProps extends CardProps {
7
+ export interface ClickableCardProps extends CardProps, ComponentWithRippleProps {
7
8
  onClick: MouseEventHandler<HTMLDivElement>;
8
9
  /**
9
10
  * Set this to `true` to disable all click events.
@@ -32,8 +32,11 @@ const noop = ()=>{
32
32
  *
33
33
  * @since 6.0.0
34
34
  */ export const ClickableCard = /*#__PURE__*/ forwardRef(function ClickableCard(props, ref) {
35
- const { role = "button", disabled, tabIndex = disabled ? undefined : 0, onClick, onKeyDown = noop, className, children: propChildren, ...remaining } = props;
36
- const { handlers, ripples } = useElementInteraction(remaining);
35
+ const { role = "button", disabled, tabIndex = disabled ? undefined : 0, onClick, onKeyDown = noop, className, children: propChildren, disableRipple, ...remaining } = props;
36
+ const { handlers, ripples } = useElementInteraction({
37
+ ...remaining,
38
+ mode: disableRipple ? "none" : undefined
39
+ });
37
40
  const children = useHigherContrastChildren(propChildren);
38
41
  return /*#__PURE__*/ _jsxs(Card, {
39
42
  ...remaining,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/card/ClickableCard.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEventHandler } from \"react\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { Card, type CardProps } from \"./Card.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport interface ClickableCardProps extends CardProps {\n onClick: MouseEventHandler<HTMLDivElement>;\n\n /**\n * Set this to `true` to disable all click events.\n *\n * Note: Any disabled styling will need to be manually applied.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n}\n\n/**\n * A Small wrapper around the `Card` component that is clickable and has the\n * element interaction enabled (ripples).\n *\n * @example Simple Example\n * ```tsx\n * import { CardContent, ClickableCard } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * export default function ClickableCardExample(): ReactElement {\n * return (\n * <ClickableCard\n * onClick={() => {\n * // do something\n * }}\n * >\n * <CardContent>Wow</CardContent>\n * </ClickableCard>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const ClickableCard = forwardRef<HTMLDivElement, ClickableCardProps>(\n function ClickableCard(props, ref) {\n const {\n role = \"button\",\n disabled,\n tabIndex = disabled ? undefined : 0,\n onClick,\n onKeyDown = noop,\n className,\n children: propChildren,\n ...remaining\n } = props;\n const { handlers, ripples } = useElementInteraction(remaining);\n const children = useHigherContrastChildren(propChildren);\n\n return (\n <Card\n {...remaining}\n {...handlers}\n aria-disabled={disabled || undefined}\n ref={ref}\n role={role}\n tabIndex={tabIndex}\n className={cnb(\"rmd-card--clickable\", className)}\n onClick={(event) => {\n if (disabled) {\n return;\n }\n\n onClick(event);\n }}\n onKeyDown={(event) => {\n onKeyDown(event);\n if (disabled) {\n return;\n }\n\n const isSpace = event.key === \" \";\n if (isSpace || event.key === \"Enter\") {\n if (isSpace) {\n event.preventDefault();\n }\n\n event.currentTarget.click();\n }\n }}\n >\n {children}\n {ripples}\n </Card>\n );\n }\n);\n"],"names":["cnb","forwardRef","useElementInteraction","useHigherContrastChildren","Card","noop","ClickableCard","props","ref","role","disabled","tabIndex","undefined","onClick","onKeyDown","className","children","propChildren","remaining","handlers","ripples","aria-disabled","event","isSpace","key","preventDefault","currentTarget","click"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAgC,QAAQ;AAC3D,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AACxF,SAASC,IAAI,QAAwB,YAAY;AAEjD,MAAMC,OAAO;AACX,aAAa;AACf;AAkBA;;;;;;;;;;;;;;;;;;;;;;;CAuBC,GACD,OAAO,MAAMC,8BAAgBL,WAC3B,SAASK,cAAcC,KAAK,EAAEC,GAAG;IAC/B,MAAM,EACJC,OAAO,QAAQ,EACfC,QAAQ,EACRC,WAAWD,WAAWE,YAAY,CAAC,EACnCC,OAAO,EACPC,YAAYT,IAAI,EAChBU,SAAS,EACTC,UAAUC,YAAY,EACtB,GAAGC,WACJ,GAAGX;IACJ,MAAM,EAAEY,QAAQ,EAAEC,OAAO,EAAE,GAAGlB,sBAAsBgB;IACpD,MAAMF,WAAWb,0BAA0Bc;IAE3C,qBACE,MAACb;QACE,GAAGc,SAAS;QACZ,GAAGC,QAAQ;QACZE,iBAAeX,YAAYE;QAC3BJ,KAAKA;QACLC,MAAMA;QACNE,UAAUA;QACVI,WAAWf,IAAI,uBAAuBe;QACtCF,SAAS,CAACS;YACR,IAAIZ,UAAU;gBACZ;YACF;YAEAG,QAAQS;QACV;QACAR,WAAW,CAACQ;YACVR,UAAUQ;YACV,IAAIZ,UAAU;gBACZ;YACF;YAEA,MAAMa,UAAUD,MAAME,GAAG,KAAK;YAC9B,IAAID,WAAWD,MAAME,GAAG,KAAK,SAAS;gBACpC,IAAID,SAAS;oBACXD,MAAMG,cAAc;gBACtB;gBAEAH,MAAMI,aAAa,CAACC,KAAK;YAC3B;QACF;;YAECX;YACAI;;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/card/ClickableCard.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEventHandler } from \"react\";\nimport { type ComponentWithRippleProps } from \"../interaction/types.js\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { Card, type CardProps } from \"./Card.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport interface ClickableCardProps\n extends CardProps,\n ComponentWithRippleProps {\n onClick: MouseEventHandler<HTMLDivElement>;\n\n /**\n * Set this to `true` to disable all click events.\n *\n * Note: Any disabled styling will need to be manually applied.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n}\n\n/**\n * A Small wrapper around the `Card` component that is clickable and has the\n * element interaction enabled (ripples).\n *\n * @example Simple Example\n * ```tsx\n * import { CardContent, ClickableCard } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * export default function ClickableCardExample(): ReactElement {\n * return (\n * <ClickableCard\n * onClick={() => {\n * // do something\n * }}\n * >\n * <CardContent>Wow</CardContent>\n * </ClickableCard>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const ClickableCard = forwardRef<HTMLDivElement, ClickableCardProps>(\n function ClickableCard(props, ref) {\n const {\n role = \"button\",\n disabled,\n tabIndex = disabled ? undefined : 0,\n onClick,\n onKeyDown = noop,\n className,\n children: propChildren,\n disableRipple,\n ...remaining\n } = props;\n const { handlers, ripples } = useElementInteraction({\n ...remaining,\n mode: disableRipple ? \"none\" : undefined,\n });\n const children = useHigherContrastChildren(propChildren);\n\n return (\n <Card\n {...remaining}\n {...handlers}\n aria-disabled={disabled || undefined}\n ref={ref}\n role={role}\n tabIndex={tabIndex}\n className={cnb(\"rmd-card--clickable\", className)}\n onClick={(event) => {\n if (disabled) {\n return;\n }\n\n onClick(event);\n }}\n onKeyDown={(event) => {\n onKeyDown(event);\n if (disabled) {\n return;\n }\n\n const isSpace = event.key === \" \";\n if (isSpace || event.key === \"Enter\") {\n if (isSpace) {\n event.preventDefault();\n }\n\n event.currentTarget.click();\n }\n }}\n >\n {children}\n {ripples}\n </Card>\n );\n }\n);\n"],"names":["cnb","forwardRef","useElementInteraction","useHigherContrastChildren","Card","noop","ClickableCard","props","ref","role","disabled","tabIndex","undefined","onClick","onKeyDown","className","children","propChildren","disableRipple","remaining","handlers","ripples","mode","aria-disabled","event","isSpace","key","preventDefault","currentTarget","click"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAgC,QAAQ;AAE3D,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AACxF,SAASC,IAAI,QAAwB,YAAY;AAEjD,MAAMC,OAAO;AACX,aAAa;AACf;AAoBA;;;;;;;;;;;;;;;;;;;;;;;CAuBC,GACD,OAAO,MAAMC,8BAAgBL,WAC3B,SAASK,cAAcC,KAAK,EAAEC,GAAG;IAC/B,MAAM,EACJC,OAAO,QAAQ,EACfC,QAAQ,EACRC,WAAWD,WAAWE,YAAY,CAAC,EACnCC,OAAO,EACPC,YAAYT,IAAI,EAChBU,SAAS,EACTC,UAAUC,YAAY,EACtBC,aAAa,EACb,GAAGC,WACJ,GAAGZ;IACJ,MAAM,EAAEa,QAAQ,EAAEC,OAAO,EAAE,GAAGnB,sBAAsB;QAClD,GAAGiB,SAAS;QACZG,MAAMJ,gBAAgB,SAASN;IACjC;IACA,MAAMI,WAAWb,0BAA0Bc;IAE3C,qBACE,MAACb;QACE,GAAGe,SAAS;QACZ,GAAGC,QAAQ;QACZG,iBAAeb,YAAYE;QAC3BJ,KAAKA;QACLC,MAAMA;QACNE,UAAUA;QACVI,WAAWf,IAAI,uBAAuBe;QACtCF,SAAS,CAACW;YACR,IAAId,UAAU;gBACZ;YACF;YAEAG,QAAQW;QACV;QACAV,WAAW,CAACU;YACVV,UAAUU;YACV,IAAId,UAAU;gBACZ;YACF;YAEA,MAAMe,UAAUD,MAAME,GAAG,KAAK;YAC9B,IAAID,WAAWD,MAAME,GAAG,KAAK,SAAS;gBACpC,IAAID,SAAS;oBACXD,MAAMG,cAAc;gBACtB;gBAEAH,MAAMI,aAAa,CAACC,KAAK;YAC3B;QACF;;YAECb;YACAK;;;AAGP,GACA"}
@@ -6,48 +6,116 @@
6
6
  @use "../divider/divider";
7
7
  @use "../interaction/interaction";
8
8
 
9
+ // Set to `true` to disable all the styles
10
+ // @type boolean
9
11
  $disable-everything: false !default;
12
+
13
+ // Set to `true` to disable the bordered styles since cards use box-shadow by
14
+ // default.
15
+ // @type boolean
10
16
  $disable-bordered: false !default;
17
+
18
+ // Set to `true` to disable the box-shadow styles if you want to rely on the
19
+ // border styles instead.
20
+ // @type boolean
11
21
  $disable-shadowed: false !default;
12
- $disable-raisable: false !default;
13
- $disable-full-width: false !default;
22
+
23
+ // Set to `true` to disable the raisable card styles where hovering a card
24
+ // increases the elevation/box-shadow.
25
+ //
26
+ // @type boolean
27
+ $disable-raisable: $disable-shadowed !default;
28
+
29
+ // Set to `true` to disable the clickable card styles
30
+ // @type boolean
14
31
  $disable-clickable: false !default;
15
- $disable-content-secondary-color: false !default;
32
+
33
+ // Set to `true` to disable the styles for adding additional padding to the
34
+ // last `CardContent` that exists
35
+ // @type boolean
16
36
  $disable-content-last-child-padding: false !default;
17
37
 
38
+ // The default card box-shadow elevation
39
+ // @type number
18
40
  $elevation: 2 !default;
41
+
42
+ // The default card raisable starting box-shadow elevation
43
+ // @type number
19
44
  $raisable-start-elevation: 1 !default;
45
+
46
+ // The default card raisable ending (hovering) box-shadow elevation
47
+ // @type number
20
48
  $raisable-end-elevation: 8 !default;
21
49
 
50
+ // The background color to use when using the global light theme
51
+ // @type Color
22
52
  $light-theme-background-color: theme.theme-get-var(surface-color) !default;
53
+
54
+ // The background color to use when using the global dark theme
55
+ // @type Color
23
56
  $dark-theme-background-color: if(
24
57
  theme.$disable-dark-elevation,
25
58
  theme.$dark-theme-surface-color,
26
59
  map.get(theme.$dark-elevation-colors, $elevation)
27
60
  ) !default;
28
61
 
62
+ // The default card background color
63
+ // @type Color
29
64
  $background-color: theme.get-default-color(
30
65
  $light-theme-background-color,
31
66
  $dark-theme-background-color
32
67
  ) !default;
68
+
69
+ // The default card text color
70
+ // @type Color
33
71
  $color: theme.theme-get-var(text-primary-color) !default;
34
72
 
73
+ // The default border-color for bordered cards
74
+ // @type Color
35
75
  $border-color: divider.get-var(color) !default;
76
+
77
+ // The default border-width for bordered cards
78
+ // @type number
36
79
  $border-width: divider.get-var(size) !default;
80
+
81
+ // The default border-radius for bordered cards
82
+ // @type number
37
83
  $border-radius: 0.25rem !default;
38
84
 
85
+ // The default padding to apply to `CardHeader`
86
+ // @type number
39
87
  $header-padding: 1rem !default;
88
+
89
+ // The default padding-top to apply to `CardHeader`
90
+ // @type number
40
91
  $header-padding-top: 1.5rem !default;
41
92
 
93
+ // The default `column-gap` to apply to the `CardHeader`
94
+ // @type number
42
95
  $header-spacing: 1rem !default;
43
96
 
97
+ // The default padding to apply to the `CardContent`
98
+ // @type number
44
99
  $content-padding: 1rem !default;
100
+
101
+ // The default padding-bottom to apply to the `CardContent` when it is the last
102
+ // child and the {@link $disable-content-last-child-padding} feature flag has
103
+ // not been disabled.
104
+ //
105
+ // @type number
45
106
  $content-padding-bottom: 1.5rem !default;
46
107
 
108
+ // The default padding to apply to the `CardFooter`
47
109
  $footer-padding: 0.5rem !default;
48
110
 
111
+ // The available configurable css variables and mostly used internally for the
112
+ // `get-var`, `set-var`, and `use-var` utils.
113
+ // @type List
49
114
  $variables: (background-color, color, secondary-color);
50
115
 
116
+ // @param {string} name - The supported variable name
117
+ // @param {any} fallback - An optional fallback value
118
+ // @returns {string} a `var()` statement
51
119
  @function get-var($name, $fallback: null) {
52
120
  $var: utils.get-var-name($variables, $name, "card");
53
121
  @if $fallback {
@@ -57,28 +125,38 @@ $variables: (background-color, color, secondary-color);
57
125
  @return var(#{$var});
58
126
  }
59
127
 
128
+ // @param {string} name - The supported variable name
129
+ // @param {any} value - The value to set the variable to. Supports `null` which
130
+ // will just be a no-op.
60
131
  @mixin set-var($name, $value) {
61
132
  @if $value {
62
133
  #{utils.get-var-name($variables, $name, "card")}: #{$value};
63
134
  }
64
135
  }
65
136
 
137
+ // @param {string} property - The css property to apply the variable to
138
+ // @param {string} name - The supported variable name
139
+ // @param {any} fallback - An optional fallback value if the variable has not
140
+ // been set
66
141
  @mixin use-var($property, $name: $property, $fallback: null) {
67
142
  #{$property}: get-var($name, $fallback);
68
143
  }
69
144
 
145
+ // Applies the light the variables based on feature flags
70
146
  @mixin use-light-theme {
71
147
  @if not $disable-everything {
72
148
  @include set-var(background-color, $light-theme-background-color);
73
149
  }
74
150
  }
75
151
 
152
+ // Applies the dark the variables based on feature flags
76
153
  @mixin use-dark-theme {
77
154
  @if not $disable-everything {
78
155
  @include set-var(background-color, $dark-theme-background-color);
79
156
  }
80
157
  }
81
158
 
159
+ // Conditionally applies the css variables based on feature flags
82
160
  @mixin variables {
83
161
  @if not $disable-everything {
84
162
  @include set-var(background-color, $background-color);
@@ -86,6 +164,10 @@ $variables: (background-color, color, secondary-color);
86
164
  }
87
165
  }
88
166
 
167
+ // Generates all the styles based on feature flags.
168
+ //
169
+ // @param {boolean} disable-layer - Set this to `true` to disable the
170
+ // layer behavior
89
171
  @mixin styles($disable-layer: false) {
90
172
  @if not $disable-everything {
91
173
  @include utils.optional-layer(card, $disable-layer) {
@@ -98,8 +180,6 @@ $variables: (background-color, color, secondary-color);
98
180
  @include use-var(color);
99
181
 
100
182
  border-radius: $border-radius;
101
- display: inline-block;
102
- max-width: 100%;
103
183
 
104
184
  @if not $disable-raisable {
105
185
  &--raisable {
@@ -123,13 +203,6 @@ $variables: (background-color, color, secondary-color);
123
203
  }
124
204
  }
125
205
 
126
- @if not $disable-full-width {
127
- &--full-width {
128
- display: block;
129
- width: 100%;
130
- }
131
- }
132
-
133
206
  @if not $disable-clickable {
134
207
  &--clickable {
135
208
  @include interaction.surface;
@@ -140,7 +213,11 @@ $variables: (background-color, color, secondary-color);
140
213
  align-items: center;
141
214
  column-gap: $header-spacing;
142
215
  display: flex;
143
- padding: $header-padding-top $header-padding $header-padding;
216
+ padding: if(
217
+ $header-padding == $header-padding-top or not $header-padding-top,
218
+ $header-padding,
219
+ $header-padding-top $header-padding $header-padding
220
+ );
144
221
  }
145
222
 
146
223
  &__header-content {
@@ -159,12 +236,6 @@ $variables: (background-color, color, secondary-color);
159
236
  // }
160
237
 
161
238
  &__content {
162
- @if not $disable-content-secondary-color {
163
- &--secondary {
164
- @include theme.theme-use-var(color, text-secondary-color);
165
- }
166
- }
167
-
168
239
  @if $content-padding {
169
240
  &--padded {
170
241
  padding: $content-padding;
@@ -15,13 +15,6 @@ export interface CardClassNameOptions {
15
15
  * @defaultValue `false`
16
16
  */
17
17
  raisable?: boolean;
18
- /**
19
- * Update the card to have `display: block` and `width: 100%` instead of
20
- * `display: inline-block`.
21
- *
22
- * @defaultValue `false`
23
- */
24
- fullWidth?: boolean;
25
18
  /**
26
19
  * Set this to `true` if the card should gain the pointer cursor while
27
20
  * hovering and other interaction styles and not using the `ClickableCard`