@react-md/core 1.0.0-next.1 → 1.0.0-next.3

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 (840) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/.turbo/turbo-lint.log +3 -3
  3. package/.turbo/turbo-test.log +142 -129
  4. package/.turbo/turbo-typecheck.log +1 -1
  5. package/CHANGELOG.md +111 -0
  6. package/coverage/clover.xml +437 -3
  7. package/coverage/coverage-final.json +4 -1
  8. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  9. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  10. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  11. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  12. package/coverage/lcov-report/Portal.tsx.html +223 -0
  13. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  14. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  15. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  16. package/coverage/lcov-report/Tab.tsx.html +261 -147
  17. package/coverage/lcov-report/Toast.tsx.html +868 -0
  18. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  19. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  20. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  21. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  22. package/coverage/lcov-report/app-bar/index.html +7 -7
  23. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  24. package/coverage/lcov-report/button/index.html +10 -10
  25. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  26. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  27. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  28. package/coverage/lcov-report/card/index.html +21 -21
  29. package/coverage/lcov-report/card/styles.ts.html +428 -392
  30. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  31. package/coverage/lcov-report/draggable/index.html +21 -36
  32. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  33. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  34. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  35. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  36. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  37. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  38. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  39. package/coverage/lcov-report/form/Select.tsx.html +1663 -0
  40. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  41. package/coverage/lcov-report/form/index.html +21 -21
  42. package/coverage/lcov-report/icon/FontIcon.tsx.html +28 -28
  43. package/coverage/lcov-report/icon/index.html +1 -1
  44. package/coverage/lcov-report/index.html +41 -11
  45. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  46. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  47. package/coverage/lcov-report/interaction/index.html +33 -18
  48. package/coverage/lcov-report/list/List.tsx.html +490 -0
  49. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  50. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  51. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  52. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  53. package/coverage/lcov-report/list/index.html +81 -6
  54. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  55. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  56. package/coverage/lcov-report/media-queries/index.html +1 -1
  57. package/coverage/lcov-report/menu/Menu.tsx.html +37 -19
  58. package/coverage/lcov-report/menu/index.html +14 -44
  59. package/coverage/lcov-report/sheet/index.html +8 -8
  60. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  61. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  62. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  63. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  64. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  65. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  66. package/coverage/lcov-report/snackbar/index.html +59 -14
  67. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  68. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  69. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  70. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  71. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  72. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  73. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  74. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  75. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  76. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  77. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  78. package/coverage/lcov-report/src/avatar/index.html +1 -1
  79. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  80. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  81. package/coverage/lcov-report/src/badge/index.html +1 -1
  82. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  83. package/coverage/lcov-report/src/box/index.html +23 -8
  84. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  85. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  86. package/coverage/lcov-report/src/button/Button.tsx.html +84 -84
  87. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  88. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  89. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  90. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  91. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  92. package/coverage/lcov-report/src/button/index.html +83 -8
  93. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  94. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  95. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  96. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  97. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  98. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  99. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  100. package/coverage/lcov-report/src/card/index.html +24 -9
  101. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  102. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  103. package/coverage/lcov-report/src/chip/index.html +7 -7
  104. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  105. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  106. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  107. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  108. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  109. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  110. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  111. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  112. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  113. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  114. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  115. package/coverage/lcov-report/src/dialog/index.html +129 -9
  116. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  117. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  118. package/coverage/lcov-report/src/divider/index.html +5 -5
  119. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  120. package/coverage/lcov-report/src/draggable/index.html +27 -27
  121. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  122. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  123. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  124. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  125. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  126. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  127. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  128. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  129. package/coverage/lcov-report/src/focus/index.html +1 -1
  130. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  131. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  132. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  133. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  134. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  135. package/coverage/lcov-report/src/form/Form.tsx.html +1 -1
  136. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  137. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  138. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  139. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  140. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  141. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  142. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  143. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +1 -1
  144. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  145. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +2 -2
  146. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +1 -1
  147. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  148. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  149. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  150. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  151. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  152. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  153. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  154. package/coverage/lcov-report/src/form/Select.tsx.html +29 -5
  155. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  156. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  157. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  158. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  159. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  160. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  161. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  162. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  163. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  164. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  165. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  166. package/coverage/lcov-report/src/form/TextArea.tsx.html +2 -2
  167. package/coverage/lcov-report/src/form/TextField.tsx.html +1 -1
  168. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  169. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  170. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  171. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  172. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  173. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  174. package/coverage/lcov-report/src/form/index.html +940 -10
  175. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  176. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  177. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  178. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  179. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  180. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  181. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  182. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  183. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  184. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  185. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  186. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  187. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  188. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  189. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  190. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  191. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +1 -1
  192. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  193. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  194. package/coverage/lcov-report/src/form/utils.ts.html +1 -1
  195. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  196. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  197. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  198. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  199. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  200. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  201. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  202. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  203. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  204. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +1 -1
  205. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +8 -8
  206. package/coverage/lcov-report/src/icon/index.html +7 -7
  207. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  208. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  209. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  210. package/coverage/lcov-report/src/index.html +354 -9
  211. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  212. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  213. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  214. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  215. package/coverage/lcov-report/src/interaction/index.html +1 -1
  216. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  217. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +17 -17
  218. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  219. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  220. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  221. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  222. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  223. package/coverage/lcov-report/src/layout/index.html +15 -15
  224. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  225. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  226. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  227. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  228. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  229. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  230. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  231. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  232. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  233. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  234. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  235. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  236. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  237. package/coverage/lcov-report/src/link/index.html +1 -1
  238. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  239. package/coverage/lcov-report/src/list/List.tsx.html +30 -30
  240. package/coverage/lcov-report/src/list/ListItem.tsx.html +37 -16
  241. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +13 -7
  242. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +12 -6
  243. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +4 -4
  244. package/coverage/lcov-report/src/list/ListItemText.tsx.html +1 -1
  245. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  246. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +1 -1
  247. package/coverage/lcov-report/src/list/index.html +11 -11
  248. package/coverage/lcov-report/src/list/listItemStyles.ts.html +39 -9
  249. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  250. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  251. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  252. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +25 -25
  253. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  254. package/coverage/lcov-report/src/menu/Menu.tsx.html +2 -2
  255. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  256. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  257. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  258. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  259. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  260. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  261. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  262. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  263. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  264. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  265. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  266. package/coverage/lcov-report/src/menu/index.html +1 -1
  267. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  268. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  269. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  270. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  271. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  272. package/coverage/lcov-report/src/movement/index.html +1 -1
  273. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  274. package/coverage/lcov-report/src/movement/utils.ts.html +1 -1
  275. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  276. package/coverage/lcov-report/src/overlay/index.html +1 -1
  277. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  278. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  279. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  280. package/coverage/lcov-report/src/portal/index.html +7 -7
  281. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  282. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  283. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  284. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  285. package/coverage/lcov-report/src/positioning/index.html +1 -1
  286. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  287. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  288. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +3 -3
  289. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  290. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  291. package/coverage/lcov-report/src/progress/index.html +20 -5
  292. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  293. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  294. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  295. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  296. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  297. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  298. package/coverage/lcov-report/src/scroll/index.html +1 -1
  299. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  300. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  301. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  302. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  303. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  304. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  305. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  306. package/coverage/lcov-report/src/sheet/index.html +5 -5
  307. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  308. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  309. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  310. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  311. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  312. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  313. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  314. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  315. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  316. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  317. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  318. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  319. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  320. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  321. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +1 -1
  322. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +1 -1
  323. package/coverage/lcov-report/src/suspense/index.html +20 -5
  324. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  325. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  326. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  327. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  328. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  329. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  330. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  331. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  332. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  333. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  334. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  335. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  336. package/coverage/lcov-report/src/table/index.html +151 -46
  337. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  338. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  339. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  340. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  341. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  342. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  343. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  344. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  345. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  346. package/coverage/lcov-report/src/tabs/index.html +25 -25
  347. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  348. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  349. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  350. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  351. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  352. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  353. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  354. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  355. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +205 -205
  356. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +1 -1
  357. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  358. package/coverage/lcov-report/src/test-utils/index.html +4 -4
  359. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  360. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
  361. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  362. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  363. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  364. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  365. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  366. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  367. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  368. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  369. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  370. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  371. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  372. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  373. package/coverage/lcov-report/src/theme/index.html +1 -1
  374. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  375. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  376. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  377. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  378. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  379. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  380. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  381. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  382. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  383. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  384. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  385. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  386. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  387. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  388. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  389. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  390. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  391. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  392. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  393. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  394. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  395. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
  396. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  397. package/coverage/lcov-report/src/transition/index.html +47 -32
  398. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  399. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  400. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  401. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  402. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +87 -87
  403. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  404. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  405. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  406. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  407. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  408. package/coverage/lcov-report/src/transition/useTransition.ts.html +237 -237
  409. package/coverage/lcov-report/src/transition/utils.ts.html +43 -43
  410. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  411. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  412. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
  413. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  414. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  415. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +8 -8
  416. package/coverage/lcov-report/src/tree/index.html +11 -11
  417. package/coverage/lcov-report/src/tree/styles.ts.html +8 -35
  418. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  419. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  420. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  421. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
  422. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  423. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  424. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +1 -1
  425. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  426. package/coverage/lcov-report/src/typography/Typography.tsx.html +1 -1
  427. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  428. package/coverage/lcov-report/src/typography/index.html +1 -1
  429. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  430. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
  431. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  432. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  433. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  434. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  435. package/coverage/lcov-report/src/useEnsuredState.ts.html +1 -1
  436. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  437. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  438. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  439. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  440. package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
  441. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  442. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  443. package/coverage/lcov-report/src/useResizeObserver.ts.html +68 -179
  444. package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
  445. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  446. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  447. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  448. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  449. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  450. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  451. package/coverage/lcov-report/src/utils/bem.ts.html +45 -45
  452. package/coverage/lcov-report/src/utils/filters.ts.html +1 -1
  453. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  454. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  455. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  456. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  457. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  458. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  459. package/coverage/lcov-report/src/utils/index.html +46 -31
  460. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  461. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  462. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  463. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  464. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  465. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  466. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  467. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  468. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  469. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  470. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  471. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  472. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  473. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  474. package/coverage/lcov-report/suspense/index.html +131 -0
  475. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  476. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  477. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  478. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  479. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  480. package/coverage/lcov-report/tabs/index.html +56 -11
  481. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  482. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  483. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  484. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  485. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  486. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  487. package/coverage/lcov-report/test-utils/index.html +21 -21
  488. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  489. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  490. package/coverage/lcov-report/tooltip/index.html +10 -70
  491. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  492. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  493. package/coverage/lcov-report/transition/config.ts.html +5 -5
  494. package/coverage/lcov-report/transition/index.html +1 -1
  495. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  496. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  497. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  498. package/coverage/lcov-report/tree/index.html +12 -27
  499. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  500. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  501. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  502. package/coverage/lcov-report/typography/index.html +18 -18
  503. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  504. package/coverage/lcov-report/useTabList.ts.html +142 -136
  505. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  506. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  507. package/coverage/lcov-report/utils/index.html +16 -31
  508. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  509. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  510. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  511. package/coverage/lcov-report/window-splitter/index.html +21 -36
  512. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  513. package/coverage/lcov.info +474 -0
  514. package/dist/_box-shadows.scss +12 -2
  515. package/dist/_core.scss +34 -3
  516. package/dist/_utils.scss +79 -0
  517. package/dist/app-bar/AppBar.d.ts +4 -9
  518. package/dist/app-bar/AppBar.js +29 -7
  519. package/dist/app-bar/AppBar.js.map +1 -1
  520. package/dist/app-bar/_app-bar.scss +22 -32
  521. package/dist/avatar/Avatar.d.ts +1 -1
  522. package/dist/avatar/Avatar.js.map +1 -1
  523. package/dist/avatar/_avatar.scss +25 -34
  524. package/dist/badge/_badge.scss +80 -48
  525. package/dist/box/_box.scss +18 -29
  526. package/dist/button/TooltippedButton.d.ts +62 -0
  527. package/dist/button/TooltippedButton.js +62 -0
  528. package/dist/button/TooltippedButton.js.map +1 -0
  529. package/dist/button/_button.scss +50 -62
  530. package/dist/card/Card.js +3 -2
  531. package/dist/card/Card.js.map +1 -1
  532. package/dist/card/CardContent.js +1 -1
  533. package/dist/card/CardContent.js.map +1 -1
  534. package/dist/card/ClickableCard.d.ts +42 -0
  535. package/dist/card/ClickableCard.js +73 -0
  536. package/dist/card/ClickableCard.js.map +1 -0
  537. package/dist/card/_card.scss +29 -32
  538. package/dist/card/styles.d.ts +8 -0
  539. package/dist/card/styles.js +6 -3
  540. package/dist/card/styles.js.map +1 -1
  541. package/dist/chip/_chip.scss +33 -46
  542. package/dist/dialog/_dialog.scss +118 -103
  543. package/dist/divider/Divider.d.ts +0 -1
  544. package/dist/divider/Divider.js.map +1 -1
  545. package/dist/divider/_divider.scss +40 -51
  546. package/dist/draggable/useDraggable.d.ts +12 -23
  547. package/dist/draggable/useDraggable.js +15 -6
  548. package/dist/draggable/useDraggable.js.map +1 -1
  549. package/dist/draggable/utils.d.ts +4 -17
  550. package/dist/draggable/utils.js +9 -25
  551. package/dist/draggable/utils.js.map +1 -1
  552. package/dist/expansion-panel/_expansion-panel.scss +25 -16
  553. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  554. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  555. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  556. package/dist/form/Label.d.ts +5 -5
  557. package/dist/form/Label.js.map +1 -1
  558. package/dist/form/MenuItemInputToggle.d.ts +1 -1
  559. package/dist/form/MenuItemInputToggle.js.map +1 -1
  560. package/dist/form/Select.js +6 -1
  561. package/dist/form/Select.js.map +1 -1
  562. package/dist/form/TextArea.js +1 -1
  563. package/dist/form/TextArea.js.map +1 -1
  564. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  565. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  566. package/dist/form/_form.scss +240 -225
  567. package/dist/form/textAreaStyles.d.ts +2 -2
  568. package/dist/form/textAreaStyles.js.map +1 -1
  569. package/dist/form/types.d.ts +0 -2
  570. package/dist/form/types.js.map +1 -1
  571. package/dist/icon/IconRotator.js +2 -3
  572. package/dist/icon/IconRotator.js.map +1 -1
  573. package/dist/icon/_icon.scss +38 -49
  574. package/dist/index.d.ts +5 -0
  575. package/dist/index.js +5 -0
  576. package/dist/index.js.map +1 -1
  577. package/dist/interaction/_interaction.scss +59 -66
  578. package/dist/layout/_layout.scss +14 -19
  579. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  580. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  581. package/dist/link/_link.scss +41 -35
  582. package/dist/list/ListItem.d.ts +8 -3
  583. package/dist/list/ListItem.js +4 -3
  584. package/dist/list/ListItem.js.map +1 -1
  585. package/dist/list/ListItemAddon.js +2 -1
  586. package/dist/list/ListItemAddon.js.map +1 -1
  587. package/dist/list/ListItemChildren.js +3 -2
  588. package/dist/list/ListItemChildren.js.map +1 -1
  589. package/dist/list/ListItemLink.js +3 -3
  590. package/dist/list/ListItemLink.js.map +1 -1
  591. package/dist/list/_list.scss +75 -74
  592. package/dist/list/listItemStyles.d.ts +9 -1
  593. package/dist/list/listItemStyles.js +5 -5
  594. package/dist/list/listItemStyles.js.map +1 -1
  595. package/dist/list/types.d.ts +14 -4
  596. package/dist/list/types.js.map +1 -1
  597. package/dist/menu/Menu.d.ts +1 -1
  598. package/dist/menu/Menu.js.map +1 -1
  599. package/dist/menu/_menu.scss +19 -41
  600. package/dist/overlay/_overlay.scss +14 -19
  601. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  602. package/dist/portal/PortalContainerProvider.js +6 -1
  603. package/dist/portal/PortalContainerProvider.js.map +1 -1
  604. package/dist/progress/_progress.scss +25 -30
  605. package/dist/segmented-button/_segmented-button.scss +32 -43
  606. package/dist/sheet/_sheet.scss +24 -42
  607. package/dist/sheet/styles.d.ts +14 -15
  608. package/dist/sheet/styles.js.map +1 -1
  609. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  610. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  611. package/dist/snackbar/Snackbar.d.ts +1 -3
  612. package/dist/snackbar/Snackbar.js +2 -3
  613. package/dist/snackbar/Snackbar.js.map +1 -1
  614. package/dist/snackbar/Toast.d.ts +1 -1
  615. package/dist/snackbar/Toast.js +5 -1
  616. package/dist/snackbar/Toast.js.map +1 -1
  617. package/dist/snackbar/ToastManager.d.ts +2 -1
  618. package/dist/snackbar/ToastManager.js +1 -1
  619. package/dist/snackbar/ToastManager.js.map +1 -1
  620. package/dist/snackbar/_snackbar.scss +15 -23
  621. package/dist/table/TableCheckbox.d.ts +3 -2
  622. package/dist/table/TableCheckbox.js +4 -2
  623. package/dist/table/TableCheckbox.js.map +1 -1
  624. package/dist/table/TableRadio.d.ts +3 -2
  625. package/dist/table/TableRadio.js +4 -2
  626. package/dist/table/TableRadio.js.map +1 -1
  627. package/dist/table/_table.scss +55 -70
  628. package/dist/table/tableCellStyles.d.ts +1 -1
  629. package/dist/table/tableCellStyles.js.map +1 -1
  630. package/dist/tabs/Tab.d.ts +24 -3
  631. package/dist/tabs/Tab.js +15 -8
  632. package/dist/tabs/Tab.js.map +1 -1
  633. package/dist/tabs/_tabs.scss +54 -47
  634. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  635. package/dist/tabs/tabIndicatorStyles.js +6 -3
  636. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  637. package/dist/tabs/tabListStyles.js +2 -1
  638. package/dist/tabs/tabListStyles.js.map +1 -1
  639. package/dist/tabs/tabStyles.d.ts +2 -0
  640. package/dist/tabs/tabStyles.js +6 -3
  641. package/dist/tabs/tabStyles.js.map +1 -1
  642. package/dist/tabs/useTabList.d.ts +3 -3
  643. package/dist/tabs/useTabList.js +9 -6
  644. package/dist/tabs/useTabList.js.map +1 -1
  645. package/dist/theme/_theme.scss +31 -89
  646. package/dist/tooltip/_tooltip.scss +16 -25
  647. package/dist/tooltip/useTooltip.d.ts +14 -14
  648. package/dist/tooltip/useTooltip.js.map +1 -1
  649. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  650. package/dist/transition/SkeletonPlaceholder.js +8 -3
  651. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  652. package/dist/transition/_transition.scss +50 -44
  653. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  654. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  655. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  656. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  657. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  658. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  659. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  660. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  661. package/dist/tree/Tree.d.ts +8 -4
  662. package/dist/tree/Tree.js.map +1 -1
  663. package/dist/tree/TreeItem.js +3 -4
  664. package/dist/tree/TreeItem.js.map +1 -1
  665. package/dist/tree/_tree.scss +106 -106
  666. package/dist/tree/styles.d.ts +0 -6
  667. package/dist/tree/styles.js +1 -2
  668. package/dist/tree/styles.js.map +1 -1
  669. package/dist/types.d.ts +7 -0
  670. package/dist/types.js +1 -2
  671. package/dist/types.js.map +1 -1
  672. package/dist/typography/_typography.scss +30 -25
  673. package/dist/useElementSize.d.ts +40 -0
  674. package/dist/useElementSize.js +53 -0
  675. package/dist/useElementSize.js.map +1 -0
  676. package/dist/useResizeListener.d.ts +1 -1
  677. package/dist/useResizeListener.js +1 -0
  678. package/dist/useResizeListener.js.map +1 -1
  679. package/dist/useResizeObserver.d.ts +4 -43
  680. package/dist/useResizeObserver.js +3 -42
  681. package/dist/useResizeObserver.js.map +1 -1
  682. package/dist/useWindowSize.d.ts +14 -11
  683. package/dist/useWindowSize.js +12 -7
  684. package/dist/useWindowSize.js.map +1 -1
  685. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  686. package/dist/utils/getMiddleOfRange.js +20 -0
  687. package/dist/utils/getMiddleOfRange.js.map +1 -0
  688. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  689. package/dist/utils/getRangeDefaultValue.js +3 -13
  690. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  691. package/dist/utils/getRangeSteps.d.ts +1 -1
  692. package/dist/utils/getRangeSteps.js +2 -2
  693. package/dist/utils/getRangeSteps.js.map +1 -1
  694. package/dist/utils/nearest.js +1 -1
  695. package/dist/utils/nearest.js.map +1 -1
  696. package/dist/window-splitter/_window-splitter.scss +30 -61
  697. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  698. package/dist/window-splitter/useWindowSplitter.js +3 -11
  699. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  700. package/package.json +18 -18
  701. package/src/__tests__/useElementSize.tsx +181 -0
  702. package/src/__tests__/useWindowSize.node.tsx +56 -0
  703. package/src/__tests__/useWindowSize.tsx +156 -0
  704. package/src/_box-shadows.scss +12 -2
  705. package/src/_core.scss +34 -3
  706. package/src/_utils.scss +79 -0
  707. package/src/app-bar/AppBar.tsx +59 -19
  708. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  709. package/src/app-bar/_app-bar.scss +22 -32
  710. package/src/avatar/Avatar.tsx +1 -1
  711. package/src/avatar/_avatar.scss +25 -34
  712. package/src/badge/_badge.scss +80 -48
  713. package/src/box/_box.scss +18 -29
  714. package/src/button/TooltippedButton.tsx +120 -0
  715. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  716. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  717. package/src/button/_button.scss +50 -62
  718. package/src/card/Card.tsx +5 -3
  719. package/src/card/CardContent.tsx +3 -3
  720. package/src/card/ClickableCard.tsx +105 -0
  721. package/src/card/__tests__/ClickableCard.tsx +66 -0
  722. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  723. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  724. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  725. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  726. package/src/card/_card.scss +29 -32
  727. package/src/card/styles.ts +19 -10
  728. package/src/chip/_chip.scss +33 -46
  729. package/src/dialog/_dialog.scss +118 -103
  730. package/src/divider/Divider.tsx +0 -1
  731. package/src/divider/_divider.scss +40 -51
  732. package/src/draggable/useDraggable.ts +26 -25
  733. package/src/draggable/utils.ts +16 -50
  734. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  735. package/src/expansion-panel/_expansion-panel.scss +25 -16
  736. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  737. package/src/form/Label.tsx +5 -5
  738. package/src/form/MenuItemInputToggle.tsx +1 -1
  739. package/src/form/Select.tsx +9 -1
  740. package/src/form/TextArea.tsx +1 -1
  741. package/src/form/TextFieldContainerStyles.ts +7 -7
  742. package/src/form/_form.scss +240 -225
  743. package/src/form/textAreaStyles.ts +2 -2
  744. package/src/form/types.ts +0 -2
  745. package/src/icon/IconRotator.tsx +1 -2
  746. package/src/icon/_icon.scss +38 -49
  747. package/src/index.ts +5 -0
  748. package/src/interaction/_interaction.scss +59 -66
  749. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  750. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  751. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  752. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  753. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  754. package/src/layout/_layout.scss +14 -19
  755. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  756. package/src/link/_link.scss +41 -35
  757. package/src/list/ListItem.tsx +19 -12
  758. package/src/list/ListItemAddon.tsx +5 -3
  759. package/src/list/ListItemChildren.tsx +4 -2
  760. package/src/list/ListItemLink.tsx +3 -3
  761. package/src/list/__tests__/ListItem.tsx +1 -1
  762. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  763. package/src/list/_list.scss +75 -74
  764. package/src/list/listItemStyles.ts +15 -5
  765. package/src/list/types.ts +15 -4
  766. package/src/menu/Menu.tsx +1 -1
  767. package/src/menu/_menu.scss +19 -41
  768. package/src/overlay/_overlay.scss +14 -19
  769. package/src/portal/PortalContainerProvider.tsx +10 -2
  770. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  771. package/src/progress/_progress.scss +25 -30
  772. package/src/segmented-button/_segmented-button.scss +32 -43
  773. package/src/sheet/_sheet.scss +24 -42
  774. package/src/sheet/styles.ts +14 -15
  775. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  776. package/src/snackbar/Snackbar.tsx +17 -25
  777. package/src/snackbar/Toast.tsx +7 -2
  778. package/src/snackbar/ToastManager.tsx +3 -2
  779. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  780. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  781. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  782. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  783. package/src/snackbar/_snackbar.scss +15 -23
  784. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  785. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  786. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  787. package/src/table/TableCheckbox.tsx +4 -2
  788. package/src/table/TableRadio.tsx +4 -2
  789. package/src/table/_table.scss +55 -70
  790. package/src/table/tableCellStyles.ts +1 -1
  791. package/src/tabs/Tab.tsx +110 -70
  792. package/src/tabs/__tests__/Tab.tsx +25 -2
  793. package/src/tabs/__tests__/TabList.tsx +4 -4
  794. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  795. package/src/tabs/_tabs.scss +54 -47
  796. package/src/tabs/tabIndicatorStyles.ts +13 -3
  797. package/src/tabs/tabListStyles.ts +1 -1
  798. package/src/tabs/tabStyles.ts +16 -4
  799. package/src/tabs/useTabList.ts +10 -8
  800. package/src/theme/_theme.scss +31 -89
  801. package/src/tooltip/_tooltip.scss +16 -25
  802. package/src/tooltip/useTooltip.ts +23 -16
  803. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  804. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  805. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  806. package/src/transition/_transition.scss +50 -44
  807. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  808. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  809. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  810. package/src/tree/Tree.tsx +8 -4
  811. package/src/tree/TreeItem.tsx +3 -4
  812. package/src/tree/__tests__/Tree.tsx +1 -1
  813. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  814. package/src/tree/_tree.scss +106 -106
  815. package/src/tree/styles.ts +0 -9
  816. package/src/types.ts +8 -0
  817. package/src/typography/_typography.scss +30 -25
  818. package/src/useElementSize.ts +83 -0
  819. package/src/useResizeListener.ts +3 -1
  820. package/src/useResizeObserver.ts +7 -44
  821. package/src/useWindowSize.ts +29 -19
  822. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  823. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  824. package/src/utils/getMiddleOfRange.ts +26 -0
  825. package/src/utils/getRangeDefaultValue.ts +8 -15
  826. package/src/utils/getRangeSteps.ts +2 -2
  827. package/src/utils/nearest.ts +1 -1
  828. package/src/window-splitter/_window-splitter.scss +30 -61
  829. package/src/window-splitter/useWindowSplitter.ts +12 -28
  830. package/dist/divider/VerticalDivider.d.ts +0 -32
  831. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  832. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  833. package/dist/icon/MaterialIconsProvider.js +0 -17
  834. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  835. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  836. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  837. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  838. package/dist/link/LinkProvider.d.ts +0 -29
  839. package/dist/menu/menuConfig.d.ts +0 -60
  840. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { Tooltip } from "../tooltip/Tooltip.js";
5
+ import { useTooltip } from "../tooltip/useTooltip.js";
6
+ import { Button } from "./Button.js";
7
+ const noop = ()=>{
8
+ // do nothing
9
+ };
10
+ /**
11
+ * **Client Component**
12
+ *
13
+ * A simple wrapper around the `Button` and `Tooltip` components to dynamically
14
+ * add tooltips to buttons. The `buttonType` will default to `icon` instead of
15
+ * `text`.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * import { TooltippedButton } from "@react-md/core";
20
+ * import FavoriteIcon from "@react-md/material-icons/FavoriteIcon";
21
+ *
22
+ * export default function Example(): ReactElement {
23
+ * return (
24
+ * <TooltippedButton tooltip="I am a tooltip!" aria-label="Favorite">
25
+ * <FavoriteIcon />
26
+ * </TooltippedButton>
27
+ * );
28
+ * }
29
+ * ```
30
+ *
31
+ * @remarks \@since 6.0.0
32
+ */ export const TooltippedButton = /*#__PURE__*/ forwardRef(function TooltippedButton(props, ref) {
33
+ const { tooltip, tooltipProps, tooltipOptions, buttonType = "icon", onBlur = noop, onFocus = noop, onMouseEnter = noop, onMouseLeave = noop, onTouchStart = noop, onTouchEnd = noop, onContextMenu = noop, ...remaining } = props;
34
+ const { tooltipProps: providedTooltipProps, elementProps } = useTooltip({
35
+ ...tooltipOptions,
36
+ disabled: !tooltip || tooltipOptions?.disabled,
37
+ onBlur,
38
+ onFocus,
39
+ onMouseEnter,
40
+ onMouseLeave,
41
+ onTouchEnd,
42
+ onTouchStart,
43
+ onContextMenu
44
+ });
45
+ return /*#__PURE__*/ _jsxs(_Fragment, {
46
+ children: [
47
+ /*#__PURE__*/ _jsx(Button, {
48
+ ...elementProps,
49
+ ...remaining,
50
+ ref: ref,
51
+ buttonType: buttonType
52
+ }),
53
+ /*#__PURE__*/ _jsx(Tooltip, {
54
+ ...providedTooltipProps,
55
+ ...tooltipProps,
56
+ children: tooltip
57
+ })
58
+ ]
59
+ });
60
+ });
61
+
62
+ //# sourceMappingURL=TooltippedButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/button/TooltippedButton.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, type ReactNode } from \"react\";\nimport { Tooltip, type TooltipProps } from \"../tooltip/Tooltip.js\";\nimport {\n useTooltip,\n type ProvidedTooltipProps,\n type TooltipOptions,\n type TooltippedElementEventHandlers,\n} from \"../tooltip/useTooltip.js\";\nimport { Button, type ButtonProps } from \"./Button.js\";\nimport { type ButtonType } from \"./buttonStyles.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TooltippedButtonProps extends ButtonProps {\n /** @defaultValue `\"icon\"` */\n buttonType?: ButtonType;\n\n /**\n * The tooltip children to render. When this is falsey, the tooltip event\n * listeners will not be enabled and the tooltip will never display.\n */\n tooltip?: ReactNode;\n\n /**\n * Any additional props to pass to the `Tooltip` component (normally styling\n * props).\n */\n tooltipProps?: Omit<TooltipProps, keyof ProvidedTooltipProps>;\n\n /**\n * Any additional tooltip options to pass to {@link useTooltip}. The most\n * common options would be:\n *\n * ```ts\n * tooltipOptions={{\n * overflowOnly: true,\n *\n * // whatever values you want for these\n * hoverTimeout: 0,\n * leaveTimeout: 150,\n * defaultPosition: \"left\",\n * }}\n * ```\n */\n tooltipOptions?: Omit<TooltipOptions, keyof TooltippedElementEventHandlers>;\n}\n\n/**\n * **Client Component**\n *\n * A simple wrapper around the `Button` and `Tooltip` components to dynamically\n * add tooltips to buttons. The `buttonType` will default to `icon` instead of\n * `text`.\n *\n * @example\n * ```tsx\n * import { TooltippedButton } from \"@react-md/core\";\n * import FavoriteIcon from \"@react-md/material-icons/FavoriteIcon\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <TooltippedButton tooltip=\"I am a tooltip!\" aria-label=\"Favorite\">\n * <FavoriteIcon />\n * </TooltippedButton>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport const TooltippedButton = forwardRef<\n HTMLButtonElement,\n TooltippedButtonProps\n>(function TooltippedButton(props, ref) {\n const {\n tooltip,\n tooltipProps,\n tooltipOptions,\n buttonType = \"icon\",\n onBlur = noop,\n onFocus = noop,\n onMouseEnter = noop,\n onMouseLeave = noop,\n onTouchStart = noop,\n onTouchEnd = noop,\n onContextMenu = noop,\n ...remaining\n } = props;\n const { tooltipProps: providedTooltipProps, elementProps } = useTooltip({\n ...tooltipOptions,\n disabled: !tooltip || tooltipOptions?.disabled,\n onBlur,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchEnd,\n onTouchStart,\n onContextMenu,\n });\n\n return (\n <>\n <Button\n {...elementProps}\n {...remaining}\n ref={ref}\n buttonType={buttonType}\n />\n <Tooltip {...providedTooltipProps} {...tooltipProps}>\n {tooltip}\n </Tooltip>\n </>\n );\n});\n"],"names":["forwardRef","Tooltip","useTooltip","Button","noop","TooltippedButton","props","ref","tooltip","tooltipProps","tooltipOptions","buttonType","onBlur","onFocus","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","onContextMenu","remaining","providedTooltipProps","elementProps","disabled"],"mappings":"AAAA;;AACA,SAASA,UAAU,QAAwB,QAAQ;AACnD,SAASC,OAAO,QAA2B,wBAAwB;AACnE,SACEC,UAAU,QAIL,2BAA2B;AAClC,SAASC,MAAM,QAA0B,cAAc;AAGvD,MAAMC,OAAO;AACX,aAAa;AACf;AAuCA;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,MAAMC,iCAAmBL,WAG9B,SAASK,iBAAiBC,KAAK,EAAEC,GAAG;IACpC,MAAM,EACJC,OAAO,EACPC,YAAY,EACZC,cAAc,EACdC,aAAa,MAAM,EACnBC,SAASR,IAAI,EACbS,UAAUT,IAAI,EACdU,eAAeV,IAAI,EACnBW,eAAeX,IAAI,EACnBY,eAAeZ,IAAI,EACnBa,aAAab,IAAI,EACjBc,gBAAgBd,IAAI,EACpB,GAAGe,WACJ,GAAGb;IACJ,MAAM,EAAEG,cAAcW,oBAAoB,EAAEC,YAAY,EAAE,GAAGnB,WAAW;QACtE,GAAGQ,cAAc;QACjBY,UAAU,CAACd,WAAWE,gBAAgBY;QACtCV;QACAC;QACAC;QACAC;QACAE;QACAD;QACAE;IACF;IAEA,qBACE;;0BACE,KAACf;gBACE,GAAGkB,YAAY;gBACf,GAAGF,SAAS;gBACbZ,KAAKA;gBACLI,YAAYA;;0BAEd,KAACV;gBAAS,GAAGmB,oBAAoB;gBAAG,GAAGX,YAAY;0BAChDD;;;;AAIT,GAAG"}
@@ -72,77 +72,35 @@ $floating-positions: (
72
72
  ),
73
73
  ) !default;
74
74
 
75
- $var-lookup: (
76
- background-color: (
77
- var: --rmd-button-background-color,
78
- value: transparent,
79
- ),
80
- color: (
81
- var: --rmd-button-color,
82
- value: null,
83
- ),
84
- border-radius: (
85
- var: --rmd-button-border-radius,
86
- value: null,
87
- ),
88
- contained-background-color: (
89
- var: --rmd-button-contained-background-color,
90
- value: $clear-contained-background-color,
91
- ),
92
- contained-color: (
93
- var: --rmd-button-contained-color,
94
- value: $clear-contained-color,
95
- ),
96
- text-horizontal-padding: (
97
- var: --rmd-button-text-horizontal-padding,
98
- value: $text-horizontal-padding,
99
- ),
100
- text-vertical-padding: (
101
- var: --rmd-button-text-vertical-padding,
102
- value: $text-vertical-padding,
103
- ),
104
- text-min-height: (
105
- var: --rmd-button-text-min-height,
106
- value: $text-min-height,
107
- ),
108
- text-min-width: (
109
- var: --rmd-button-text-min-width,
110
- value: $text-min-width,
111
- ),
112
- icon-size: (
113
- var: --rmd-button-icon-size,
114
- value: $icon-size,
115
- ),
116
- icon-font-size: (
117
- var: --rmd-button-icon-font-size,
118
- value: $icon-font-size,
119
- ),
120
- icon-border-radius: (
121
- var: --rmd-button-icon-radius,
122
- value: $icon-border-radius,
123
- ),
124
- fab-offset: (
125
- var: --rmd-fab-offset,
126
- value: utils.scrollbar-size(),
127
- ),
75
+ $variables: (
76
+ background-color,
77
+ color,
78
+ border-radius,
79
+ contained-background-color,
80
+ contained-color,
81
+ text-horizontal-padding,
82
+ text-vertical-padding,
83
+ text-min-height,
84
+ text-min-width,
85
+ icon-size,
86
+ icon-font-size,
87
+ icon-border-radius,
88
+ fab-offset
128
89
  );
129
90
 
130
91
  @function get-var($name, $fallback: null) {
131
- $found: utils.validate($var-lookup, $name, "button var");
132
- $var: map.get($found, var);
133
- $value: if($fallback, $fallback, map.get($found, value));
134
-
135
- @if $value {
136
- @return var(#{$var}, #{$value});
92
+ $var: utils.get-var-name($variables, $name, "button");
93
+ @if $fallback {
94
+ @return var(#{$var}, #{$fallback});
137
95
  }
138
96
 
139
97
  @return var(#{$var});
140
98
  }
141
99
 
142
100
  @mixin set-var($name, $value) {
143
- $var: map.get(utils.validate($var-lookup, $name, "button var"), var);
144
-
145
- #{$var}: #{$value};
101
+ @if $value {
102
+ #{utils.get-var-name($variables, $name, "button")}: #{$value};
103
+ }
146
104
  }
147
105
 
148
106
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -176,6 +134,36 @@ $var-lookup: (
176
134
  padding: get-var(text-vertical-padding) get-var(text-horizontal-padding);
177
135
  }
178
136
 
137
+ @mixin variables {
138
+ @if not $disable-everything {
139
+ @include set-var(background-color, transparent);
140
+ @if not $disable-contained {
141
+ @include set-var(
142
+ contained-background-color,
143
+ $clear-contained-background-color
144
+ );
145
+ @include set-var(contained-color, $clear-contained-color);
146
+ }
147
+
148
+ @if not $disable-text {
149
+ @include set-var(text-horizontal-padding, $text-horizontal-padding);
150
+ @include set-var(text-vertical-padding, $text-vertical-padding);
151
+ @include set-var(text-min-height, $text-min-height);
152
+ @include set-var(text-min-width, $text-min-width);
153
+ }
154
+
155
+ @if not $disable-icon {
156
+ @include set-var(icon-size, $icon-size);
157
+ @include set-var(icon-font-size, $icon-font-size);
158
+ @include set-var(icon-border-radius, $icon-border-radius);
159
+ }
160
+
161
+ @if not $disable-floating {
162
+ @include set-var(fab-offset, utils.scrollbar-size());
163
+ }
164
+ }
165
+ }
166
+
179
167
  @mixin styles {
180
168
  @if not $disable-everything {
181
169
  .rmd-button {
package/dist/card/Card.js CHANGED
@@ -42,7 +42,7 @@ import { card } from "./styles.js";
42
42
  *
43
43
  * @remarks \@since 6.0.0 Removed the deprecated `raiseable` prop
44
44
  */ export const Card = /*#__PURE__*/ forwardRef(function Card(props, ref) {
45
- const { children, className, bordered = false, raisable = false, fullWidth = false, ...remaining } = props;
45
+ const { children, className, bordered, raisable, fullWidth, interactable, ...remaining } = props;
46
46
  return /*#__PURE__*/ _jsx("div", {
47
47
  ...remaining,
48
48
  ref: ref,
@@ -50,7 +50,8 @@ import { card } from "./styles.js";
50
50
  className,
51
51
  bordered,
52
52
  raisable,
53
- fullWidth
53
+ fullWidth,
54
+ interactable
54
55
  }),
55
56
  children: children
56
57
  });
@@ -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 * @remarks \\@since 6.0.0 Extends the {@link CardClassNameOptions}.\n */\nexport interface CardProps\n extends HTMLAttributes<HTMLDivElement>,\n CardClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @example\n * 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 * @remarks \\@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 = false,\n raisable = false,\n fullWidth = false,\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 })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","card","Card","props","ref","children","className","bordered","raisable","fullWidth","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,IAAI,QAAmC,cAAc;AAiB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,MAAMC,qBAAOF,WAClB,SAASE,KAAKC,KAAK,EAAEC,GAAG;IACtB,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjB,GAAGC,WACJ,GAAGP;IAEJ,qBACE,KAACQ;QACE,GAAGD,SAAS;QACbN,KAAKA;QACLE,WAAWL,KAAK;YACdK;YACAC;YACAC;YACAC;QACF;kBAECJ;;AAGP,GACA"}
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 * @remarks \\@since 6.0.0 Extends the {@link CardClassNameOptions}.\n */\nexport interface CardProps\n extends HTMLAttributes<HTMLDivElement>,\n CardClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @example\n * 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 * @remarks \\@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;AAiB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,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"}
@@ -8,7 +8,7 @@ import { cardContent } from "./styles.js";
8
8
  * \@since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and
9
9
  * removed the `disableParagraphMargin` prop.
10
10
  */ export const CardContent = /*#__PURE__*/ forwardRef(function CardContent(props, ref) {
11
- const { children, className, disablePadding = false, disableSecondaryColor = false, disableLastChildPadding = false, ...remaining } = props;
11
+ const { children, className, disablePadding, disableSecondaryColor, disableLastChildPadding, ...remaining } = props;
12
12
  return /*#__PURE__*/ _jsx("div", {
13
13
  ...remaining,
14
14
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/card/CardContent.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cardContent, type CardContentClassNameOptions } from \"./styles.js\";\n\n/**\n * @remarks\n * \\@since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and\n * removed the `disableParagraphMargin` prop.\n */\nexport interface CardContentProps\n extends HTMLAttributes<HTMLDivElement>,\n CardContentClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @remarks\n * \\@since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and\n * removed the `disableParagraphMargin` prop.\n */\nexport const CardContent = forwardRef<HTMLDivElement, CardContentProps>(\n function CardContent(props, ref) {\n const {\n children,\n className,\n disablePadding = false,\n disableSecondaryColor = false,\n disableLastChildPadding = false,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={cardContent({\n className,\n disablePadding,\n disableSecondaryColor,\n disableLastChildPadding,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","cardContent","CardContent","props","ref","children","className","disablePadding","disableSecondaryColor","disableLastChildPadding","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,WAAW,QAA0C,cAAc;AAW5E;;;;;;CAMC,GACD,OAAO,MAAMC,4BAAcF,WACzB,SAASE,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,iBAAiB,KAAK,EACtBC,wBAAwB,KAAK,EAC7BC,0BAA0B,KAAK,EAC/B,GAAGC,WACJ,GAAGP;IAEJ,qBACE,KAACQ;QACE,GAAGD,SAAS;QACbN,KAAKA;QACLE,WAAWL,YAAY;YACrBK;YACAC;YACAC;YACAC;QACF;kBAECJ;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/card/CardContent.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cardContent, type CardContentClassNameOptions } from \"./styles.js\";\n\n/**\n * @remarks\n * \\@since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and\n * removed the `disableParagraphMargin` prop.\n */\nexport interface CardContentProps\n extends HTMLAttributes<HTMLDivElement>,\n CardContentClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @remarks\n * \\@since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and\n * removed the `disableParagraphMargin` prop.\n */\nexport const CardContent = forwardRef<HTMLDivElement, CardContentProps>(\n function CardContent(props, ref) {\n const {\n children,\n className,\n disablePadding,\n disableSecondaryColor,\n disableLastChildPadding,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={cardContent({\n className,\n disablePadding,\n disableSecondaryColor,\n disableLastChildPadding,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","cardContent","CardContent","props","ref","children","className","disablePadding","disableSecondaryColor","disableLastChildPadding","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,WAAW,QAA0C,cAAc;AAW5E;;;;;;CAMC,GACD,OAAO,MAAMC,4BAAcF,WACzB,SAASE,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,cAAc,EACdC,qBAAqB,EACrBC,uBAAuB,EACvB,GAAGC,WACJ,GAAGP;IAEJ,qBACE,KAACQ;QACE,GAAGD,SAAS;QACbN,KAAKA;QACLE,WAAWL,YAAY;YACrBK;YACAC;YACAC;YACAC;QACF;kBAECJ;;AAGP,GACA"}
@@ -0,0 +1,42 @@
1
+ import { type MouseEventHandler } from "react";
2
+ import { type CardProps } from "./Card.js";
3
+ /**
4
+ * @remarks \@since 6.0.0
5
+ */
6
+ export interface ClickableCardProps extends CardProps {
7
+ onClick: MouseEventHandler<HTMLDivElement>;
8
+ /**
9
+ * Set this to `true` to disable all click events.
10
+ *
11
+ * Note: Any disabled styling will need to be manually applied.
12
+ *
13
+ * @defaultValue `false`
14
+ */
15
+ disabled?: boolean;
16
+ }
17
+ /**
18
+ * A Small wrapper around the `Card` component that is clickable and has the
19
+ * element interaction enabled (ripples).
20
+ *
21
+ * @example
22
+ * SImple Example
23
+ * ```tsx
24
+ * import { CardContent, ClickableCard } from "@react-md/core";
25
+ * import { type ReactElement } from "react";
26
+ *
27
+ * export default function ClickableCardExample(): ReactElement {
28
+ * return (
29
+ * <ClickableCard
30
+ * onClick={() => {
31
+ * // do something
32
+ * }}
33
+ * >
34
+ * <CardContent>Wow</CardContent>
35
+ * </ClickableCard>
36
+ * );
37
+ * }
38
+ * ```
39
+ *
40
+ * @remarks \@since 6.0.0
41
+ */
42
+ export declare const ClickableCard: import("react").ForwardRefExoticComponent<ClickableCardProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,73 @@
1
+ "use client";
2
+ import { jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cnb } from "cnbuilder";
4
+ import { forwardRef } from "react";
5
+ import { useElementInteraction } from "../interaction/useElementInteraction.js";
6
+ import { useHigherContrastChildren } from "../interaction/useHigherContrastChildren.js";
7
+ import { Card } from "./Card.js";
8
+ const noop = ()=>{
9
+ // do nothing
10
+ };
11
+ /**
12
+ * A Small wrapper around the `Card` component that is clickable and has the
13
+ * element interaction enabled (ripples).
14
+ *
15
+ * @example
16
+ * SImple Example
17
+ * ```tsx
18
+ * import { CardContent, ClickableCard } from "@react-md/core";
19
+ * import { type ReactElement } from "react";
20
+ *
21
+ * export default function ClickableCardExample(): ReactElement {
22
+ * return (
23
+ * <ClickableCard
24
+ * onClick={() => {
25
+ * // do something
26
+ * }}
27
+ * >
28
+ * <CardContent>Wow</CardContent>
29
+ * </ClickableCard>
30
+ * );
31
+ * }
32
+ * ```
33
+ *
34
+ * @remarks \@since 6.0.0
35
+ */ export const ClickableCard = /*#__PURE__*/ forwardRef(function ClickableCard(props, ref) {
36
+ const { role = "button", disabled, tabIndex = disabled ? undefined : 0, onClick, onKeyDown = noop, className, children: propChildren, ...remaining } = props;
37
+ const { handlers, ripples } = useElementInteraction(remaining);
38
+ const children = useHigherContrastChildren(propChildren);
39
+ return /*#__PURE__*/ _jsxs(Card, {
40
+ ...remaining,
41
+ ...handlers,
42
+ "aria-disabled": disabled || undefined,
43
+ ref: ref,
44
+ role: role,
45
+ tabIndex: tabIndex,
46
+ className: cnb("rmd-card--clickable", className),
47
+ onClick: (event)=>{
48
+ if (disabled) {
49
+ return;
50
+ }
51
+ onClick(event);
52
+ },
53
+ onKeyDown: (event)=>{
54
+ onKeyDown(event);
55
+ if (disabled) {
56
+ return;
57
+ }
58
+ const isSpace = event.key === " ";
59
+ if (isSpace || event.key === "Enter") {
60
+ if (isSpace) {
61
+ event.preventDefault();
62
+ }
63
+ event.currentTarget.click();
64
+ }
65
+ },
66
+ children: [
67
+ children,
68
+ ripples
69
+ ]
70
+ });
71
+ });
72
+
73
+ //# sourceMappingURL=ClickableCard.js.map
@@ -0,0 +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 * @remarks \\@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\n * 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 * @remarks \\@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;;;;;;;;;;;;;;;;;;;;;;;;CAwBC,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"}
@@ -4,12 +4,14 @@
4
4
  @use "../box-shadows";
5
5
  @use "../typography/typography";
6
6
  @use "../divider/divider";
7
+ @use "../interaction/interaction";
7
8
 
8
9
  $disable-everything: false !default;
9
10
  $disable-bordered: false !default;
10
11
  $disable-shadowed: false !default;
11
12
  $disable-raisable: false !default;
12
13
  $disable-full-width: false !default;
14
+ $disable-clickable: false !default;
13
15
  $disable-content-secondary-color: false !default;
14
16
  $disable-content-last-child-padding: false !default;
15
17
 
@@ -44,37 +46,21 @@ $content-padding-bottom: 1.5rem !default;
44
46
 
45
47
  $footer-padding: 0.5rem !default;
46
48
 
47
- $var-lookup: (
48
- background-color: (
49
- var: --rmd-card-background-color,
50
- value: $background-color,
51
- ),
52
- color: (
53
- var: --rmd-card-color,
54
- value: $color,
55
- ),
56
- secondary-color: (
57
- var: --rmd-card-secondary-color,
58
- value: null,
59
- ),
60
- );
49
+ $variables: (background-color, color, secondary-color);
61
50
 
62
51
  @function get-var($name, $fallback: null) {
63
- $found: utils.validate($var-lookup, $name, "card var");
64
- $var: map.get($found, var);
65
- $value: if($fallback, $fallback, map.get($found, value));
66
-
67
- @if $value {
68
- @return var(#{$var}, #{$value});
52
+ $var: utils.get-var-name($variables, $name, "card");
53
+ @if $fallback {
54
+ @return var(#{$var}, #{$fallback});
69
55
  }
70
56
 
71
57
  @return var(#{$var});
72
58
  }
73
59
 
74
60
  @mixin set-var($name, $value) {
75
- $var: map.get(utils.validate($var-lookup, $name, "card var"), var);
76
-
77
- #{$var}: #{$value};
61
+ @if $value {
62
+ #{utils.get-var-name($variables, $name, "card")}: #{$value};
63
+ }
78
64
  }
79
65
 
80
66
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -93,6 +79,13 @@ $var-lookup: (
93
79
  }
94
80
  }
95
81
 
82
+ @mixin variables {
83
+ @if not $disable-everything {
84
+ @include set-var(background-color, $background-color);
85
+ @include set-var(color, $color);
86
+ }
87
+ }
88
+
96
89
  @mixin styles {
97
90
  @if not $disable-everything {
98
91
  @include theme.default-system-theme {
@@ -108,14 +101,12 @@ $var-lookup: (
108
101
  max-width: 100%;
109
102
 
110
103
  @if not $disable-raisable {
111
- @include utils.mouse-only {
112
- &--raisable {
113
- @include box-shadows.elevation-transition(
114
- $raisable-start-elevation,
115
- $raisable-end-elevation,
116
- "&:hover"
117
- );
118
- }
104
+ &--raisable {
105
+ @include box-shadows.elevation-transition(
106
+ $raisable-start-elevation,
107
+ $raisable-end-elevation,
108
+ "&:hover"
109
+ );
119
110
  }
120
111
  }
121
112
 
@@ -138,6 +129,12 @@ $var-lookup: (
138
129
  }
139
130
  }
140
131
 
132
+ @if not $disable-clickable {
133
+ &--clickable {
134
+ @include interaction.surface;
135
+ }
136
+ }
137
+
141
138
  &__header {
142
139
  align-items: center;
143
140
  column-gap: $header-spacing;
@@ -149,7 +146,7 @@ $var-lookup: (
149
146
  @include typography.text-overflow;
150
147
 
151
148
  flex: 1 1 auto;
152
- min-width: 1;
149
+ min-width: 0;
153
150
  }
154
151
 
155
152
  // does not require custom styles
@@ -22,6 +22,14 @@ export interface CardClassNameOptions {
22
22
  * @defaultValue `false`
23
23
  */
24
24
  fullWidth?: boolean;
25
+ /**
26
+ * Set this to `true` if the card should gain the pointer cursor while
27
+ * hovering and other interaction styles and not using the `ClickableCard`
28
+ * component.
29
+ *
30
+ * @defaultValue `false`
31
+ */
32
+ interactable?: boolean;
25
33
  }
26
34
  /**
27
35
  * @remarks \@since 6.0.0
@@ -5,11 +5,12 @@ const cardStyles = bem("rmd-card");
5
5
  /**
6
6
  * @remarks \@since 6.0.0
7
7
  */ export function card(options = {}) {
8
- const { className, bordered = false, raisable = false, fullWidth = false } = options;
8
+ const { className, bordered, raisable, fullWidth, interactable } = options;
9
9
  return cnb(cardStyles({
10
10
  bordered,
11
11
  shadowed: !bordered,
12
12
  raisable: !bordered && raisable,
13
+ interactable,
13
14
  "full-width": fullWidth
14
15
  }), className);
15
16
  }
@@ -39,12 +40,14 @@ const cardStyles = bem("rmd-card");
39
40
  * @remarks \@since 6.0.0
40
41
  */ export function cardSubtitle(options = {}) {
41
42
  const { className } = options;
42
- return cnb(cardStyles("subtitle"), className);
43
+ return cnb(cardStyles("subtitle"), cssUtils({
44
+ textColor: "text-secondary"
45
+ }), className);
43
46
  }
44
47
  /**
45
48
  * @remarks \@since 6.0.0
46
49
  */ export function cardContent(options = {}) {
47
- const { className, disablePadding = false, disableSecondaryColor = false, disableLastChildPadding = false } = options;
50
+ const { className, disablePadding, disableSecondaryColor, disableLastChildPadding } = options;
48
51
  return cnb(cardStyles("content", {
49
52
  padded: !disablePadding,
50
53
  "padding-bottom": !disableLastChildPadding
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/card/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\nimport { cssUtils } from \"../cssUtils.js\";\n\nconst cardStyles = bem(\"rmd-card\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` if the card should use apply an inset `border` instead\n * of `box-shadow`.\n *\n * @defaultValue `false`\n */\n bordered?: boolean;\n\n /**\n * Set this to `true` if the card should gain additional box shadow while\n * hovered.\n *\n * @defaultValue `false`\n */\n raisable?: boolean;\n\n /**\n * Update the card to have `display: block` and `width: 100%` instead of\n * `display: inline-block`.\n *\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function card(options: CardClassNameOptions = {}): string {\n const {\n className,\n bordered = false,\n raisable = false,\n fullWidth = false,\n } = options;\n\n return cnb(\n cardStyles({\n bordered,\n shadowed: !bordered,\n raisable: !bordered && raisable,\n \"full-width\": fullWidth,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardHeaderClassNameOptions {\n className?: string;\n\n /** @defaultValue `false` */\n addonAfter?: boolean;\n\n /** @defaultValue `false` */\n addonBefore?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardHeader(options: CardHeaderClassNameOptions = {}): string {\n const { className, addonAfter = false, addonBefore = false } = options;\n\n return cnb(\n cardStyles(\"header\", {\n \"addon-after\": addonAfter && !addonBefore,\n \"addon-before\": addonBefore && !addonAfter,\n surrounded: addonAfter && addonBefore,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardHeaderContentClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardHeaderContent(\n options: CardHeaderContentClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(cardStyles(\"header-content\"), className);\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardTitleClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardTitle(options: CardTitleClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(cardStyles(\"title\"), className);\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardSubtitleClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardSubtitle(\n options: CardSubtitleClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(cardStyles(\"subtitle\"), className);\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardContentClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` to disable the card's padding.\n *\n * @defaultValue `false`\n */\n disablePadding?: boolean;\n\n /**\n * Set this to `true` to disable applying the `text-secondary-color`.\n *\n * @defaultValue `false`\n */\n disableSecondaryColor?: boolean;\n\n /**\n * Set this to `true` to disable applying extra `padding-bottom` if the\n * `CardContent` component is the last child.\n *\n * @defaultValue `false`\n * @remarks \\@since 6.0.0 Renamed from `disableExtraPadding`\n */\n disableLastChildPadding?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardContent(options: CardContentClassNameOptions = {}): string {\n const {\n className,\n disablePadding = false,\n disableSecondaryColor = false,\n disableLastChildPadding = false,\n } = options;\n\n return cnb(\n cardStyles(\"content\", {\n padded: !disablePadding,\n \"padding-bottom\": !disableLastChildPadding,\n }),\n cssUtils({\n textColor: !disableSecondaryColor ? \"text-secondary\" : undefined,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardFooterClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardFooter(options: CardFooterClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(cardStyles(\"footer\"), className);\n}\n"],"names":["cnb","bem","cssUtils","cardStyles","card","options","className","bordered","raisable","fullWidth","shadowed","cardHeader","addonAfter","addonBefore","surrounded","cardHeaderContent","cardTitle","cardSubtitle","cardContent","disablePadding","disableSecondaryColor","disableLastChildPadding","padded","textColor","undefined","cardFooter"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,MAAMC,aAAaF,IAAI;AA+BvB;;CAEC,GACD,OAAO,SAASG,KAAKC,UAAgC,CAAC,CAAC;IACrD,MAAM,EACJC,SAAS,EACTC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,YAAY,KAAK,EAClB,GAAGJ;IAEJ,OAAOL,IACLG,WAAW;QACTI;QACAG,UAAU,CAACH;QACXC,UAAU,CAACD,YAAYC;QACvB,cAAcC;IAChB,IACAH;AAEJ;AAaA;;CAEC,GACD,OAAO,SAASK,WAAWN,UAAsC,CAAC,CAAC;IACjE,MAAM,EAAEC,SAAS,EAAEM,aAAa,KAAK,EAAEC,cAAc,KAAK,EAAE,GAAGR;IAE/D,OAAOL,IACLG,WAAW,UAAU;QACnB,eAAeS,cAAc,CAACC;QAC9B,gBAAgBA,eAAe,CAACD;QAChCE,YAAYF,cAAcC;IAC5B,IACAP;AAEJ;AAOA;;CAEC,GACD,OAAO,SAASS,kBACdV,UAA6C,CAAC,CAAC;IAE/C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,mBAAmBG;AAC3C;AAOA;;CAEC,GACD,OAAO,SAASU,UAAUX,UAAqC,CAAC,CAAC;IAC/D,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,UAAUG;AAClC;AAOA;;CAEC,GACD,OAAO,SAASW,aACdZ,UAAwC,CAAC,CAAC;IAE1C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,aAAaG;AACrC;AA8BA;;CAEC,GACD,OAAO,SAASY,YAAYb,UAAuC,CAAC,CAAC;IACnE,MAAM,EACJC,SAAS,EACTa,iBAAiB,KAAK,EACtBC,wBAAwB,KAAK,EAC7BC,0BAA0B,KAAK,EAChC,GAAGhB;IAEJ,OAAOL,IACLG,WAAW,WAAW;QACpBmB,QAAQ,CAACH;QACT,kBAAkB,CAACE;IACrB,IACAnB,SAAS;QACPqB,WAAW,CAACH,wBAAwB,mBAAmBI;IACzD,IACAlB;AAEJ;AAOA;;CAEC,GACD,OAAO,SAASmB,WAAWpB,UAAsC,CAAC,CAAC;IACjE,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,WAAWG;AACnC"}
1
+ {"version":3,"sources":["../../src/card/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\nimport { cssUtils } from \"../cssUtils.js\";\n\nconst cardStyles = bem(\"rmd-card\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` if the card should use apply an inset `border` instead\n * of `box-shadow`.\n *\n * @defaultValue `false`\n */\n bordered?: boolean;\n\n /**\n * Set this to `true` if the card should gain additional box shadow while\n * hovered.\n *\n * @defaultValue `false`\n */\n raisable?: boolean;\n\n /**\n * Update the card to have `display: block` and `width: 100%` instead of\n * `display: inline-block`.\n *\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n\n /**\n * Set this to `true` if the card should gain the pointer cursor while\n * hovering and other interaction styles and not using the `ClickableCard`\n * component.\n *\n * @defaultValue `false`\n */\n interactable?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function card(options: CardClassNameOptions = {}): string {\n const { className, bordered, raisable, fullWidth, interactable } = options;\n\n return cnb(\n cardStyles({\n bordered,\n shadowed: !bordered,\n raisable: !bordered && raisable,\n interactable,\n \"full-width\": fullWidth,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardHeaderClassNameOptions {\n className?: string;\n\n /** @defaultValue `false` */\n addonAfter?: boolean;\n\n /** @defaultValue `false` */\n addonBefore?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardHeader(options: CardHeaderClassNameOptions = {}): string {\n const { className, addonAfter = false, addonBefore = false } = options;\n\n return cnb(\n cardStyles(\"header\", {\n \"addon-after\": addonAfter && !addonBefore,\n \"addon-before\": addonBefore && !addonAfter,\n surrounded: addonAfter && addonBefore,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardHeaderContentClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardHeaderContent(\n options: CardHeaderContentClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(cardStyles(\"header-content\"), className);\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardTitleClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardTitle(options: CardTitleClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(cardStyles(\"title\"), className);\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardSubtitleClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardSubtitle(\n options: CardSubtitleClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(\n cardStyles(\"subtitle\"),\n cssUtils({ textColor: \"text-secondary\" }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardContentClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` to disable the card's padding.\n *\n * @defaultValue `false`\n */\n disablePadding?: boolean;\n\n /**\n * Set this to `true` to disable applying the `text-secondary-color`.\n *\n * @defaultValue `false`\n */\n disableSecondaryColor?: boolean;\n\n /**\n * Set this to `true` to disable applying extra `padding-bottom` if the\n * `CardContent` component is the last child.\n *\n * @defaultValue `false`\n * @remarks \\@since 6.0.0 Renamed from `disableExtraPadding`\n */\n disableLastChildPadding?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardContent(options: CardContentClassNameOptions = {}): string {\n const {\n className,\n disablePadding,\n disableSecondaryColor,\n disableLastChildPadding,\n } = options;\n\n return cnb(\n cardStyles(\"content\", {\n padded: !disablePadding,\n \"padding-bottom\": !disableLastChildPadding,\n }),\n cssUtils({\n textColor: !disableSecondaryColor ? \"text-secondary\" : undefined,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardFooterClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardFooter(options: CardFooterClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(cardStyles(\"footer\"), className);\n}\n"],"names":["cnb","bem","cssUtils","cardStyles","card","options","className","bordered","raisable","fullWidth","interactable","shadowed","cardHeader","addonAfter","addonBefore","surrounded","cardHeaderContent","cardTitle","cardSubtitle","textColor","cardContent","disablePadding","disableSecondaryColor","disableLastChildPadding","padded","undefined","cardFooter"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,MAAMC,aAAaF,IAAI;AAwCvB;;CAEC,GACD,OAAO,SAASG,KAAKC,UAAgC,CAAC,CAAC;IACrD,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,YAAY,EAAE,GAAGL;IAEnE,OAAOL,IACLG,WAAW;QACTI;QACAI,UAAU,CAACJ;QACXC,UAAU,CAACD,YAAYC;QACvBE;QACA,cAAcD;IAChB,IACAH;AAEJ;AAaA;;CAEC,GACD,OAAO,SAASM,WAAWP,UAAsC,CAAC,CAAC;IACjE,MAAM,EAAEC,SAAS,EAAEO,aAAa,KAAK,EAAEC,cAAc,KAAK,EAAE,GAAGT;IAE/D,OAAOL,IACLG,WAAW,UAAU;QACnB,eAAeU,cAAc,CAACC;QAC9B,gBAAgBA,eAAe,CAACD;QAChCE,YAAYF,cAAcC;IAC5B,IACAR;AAEJ;AAOA;;CAEC,GACD,OAAO,SAASU,kBACdX,UAA6C,CAAC,CAAC;IAE/C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,mBAAmBG;AAC3C;AAOA;;CAEC,GACD,OAAO,SAASW,UAAUZ,UAAqC,CAAC,CAAC;IAC/D,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,UAAUG;AAClC;AAOA;;CAEC,GACD,OAAO,SAASY,aACdb,UAAwC,CAAC,CAAC;IAE1C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IACLG,WAAW,aACXD,SAAS;QAAEiB,WAAW;IAAiB,IACvCb;AAEJ;AA8BA;;CAEC,GACD,OAAO,SAASc,YAAYf,UAAuC,CAAC,CAAC;IACnE,MAAM,EACJC,SAAS,EACTe,cAAc,EACdC,qBAAqB,EACrBC,uBAAuB,EACxB,GAAGlB;IAEJ,OAAOL,IACLG,WAAW,WAAW;QACpBqB,QAAQ,CAACH;QACT,kBAAkB,CAACE;IACrB,IACArB,SAAS;QACPiB,WAAW,CAACG,wBAAwB,mBAAmBG;IACzD,IACAnB;AAEJ;AAOA;;CAEC,GACD,OAAO,SAASoB,WAAWrB,UAAsC,CAAC,CAAC;IACjE,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,WAAWG;AACnC"}