@react-md/core 1.0.0-next.2 → 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 (752) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/.turbo/turbo-lint.log +12 -0
  3. package/.turbo/turbo-test.log +179 -0
  4. package/.turbo/turbo-typecheck.log +4 -0
  5. package/CHANGELOG.md +103 -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/IconRotator.tsx.html +322 -0
  10. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  11. package/coverage/lcov-report/Portal.tsx.html +223 -0
  12. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  13. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  14. package/coverage/lcov-report/Tab.tsx.html +261 -147
  15. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  16. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  17. package/coverage/lcov-report/app-bar/index.html +7 -7
  18. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  19. package/coverage/lcov-report/button/index.html +10 -10
  20. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  21. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  22. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  23. package/coverage/lcov-report/card/index.html +21 -21
  24. package/coverage/lcov-report/card/styles.ts.html +428 -392
  25. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  26. package/coverage/lcov-report/draggable/index.html +21 -36
  27. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  28. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  29. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  30. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  31. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  32. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  33. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  34. package/coverage/lcov-report/form/Select.tsx.html +1663 -0
  35. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  36. package/coverage/lcov-report/form/index.html +21 -21
  37. package/coverage/lcov-report/icon/FontIcon.tsx.html +28 -28
  38. package/coverage/lcov-report/icon/index.html +1 -1
  39. package/coverage/lcov-report/index.html +41 -11
  40. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  41. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  42. package/coverage/lcov-report/interaction/index.html +33 -18
  43. package/coverage/lcov-report/list/List.tsx.html +490 -0
  44. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  45. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  46. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  47. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  48. package/coverage/lcov-report/list/index.html +81 -6
  49. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  50. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  51. package/coverage/lcov-report/media-queries/index.html +1 -1
  52. package/coverage/lcov-report/menu/Menu.tsx.html +37 -19
  53. package/coverage/lcov-report/menu/index.html +14 -44
  54. package/coverage/lcov-report/sheet/index.html +8 -8
  55. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  56. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  57. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  58. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  59. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  60. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  61. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  62. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  63. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  64. package/coverage/lcov-report/src/avatar/index.html +1 -1
  65. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  66. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  67. package/coverage/lcov-report/src/badge/index.html +1 -1
  68. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  69. package/coverage/lcov-report/src/box/index.html +23 -8
  70. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  71. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  72. package/coverage/lcov-report/src/button/Button.tsx.html +84 -84
  73. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  74. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  75. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  76. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  77. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  78. package/coverage/lcov-report/src/button/index.html +83 -8
  79. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  80. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  81. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  82. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  83. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  84. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  85. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  86. package/coverage/lcov-report/src/card/index.html +24 -9
  87. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  88. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  89. package/coverage/lcov-report/src/chip/index.html +7 -7
  90. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  91. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  92. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  93. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  94. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  95. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  96. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  97. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  98. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  99. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  100. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  101. package/coverage/lcov-report/src/dialog/index.html +129 -9
  102. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  103. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  104. package/coverage/lcov-report/src/divider/index.html +5 -5
  105. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  106. package/coverage/lcov-report/src/draggable/index.html +27 -27
  107. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  108. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  109. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  110. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  111. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  112. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  113. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  114. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  115. package/coverage/lcov-report/src/focus/index.html +1 -1
  116. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  117. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  118. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  119. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  120. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  121. package/coverage/lcov-report/src/form/Form.tsx.html +1 -1
  122. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  123. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  124. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  125. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  126. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  127. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  128. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  129. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +1 -1
  130. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  131. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +2 -2
  132. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +1 -1
  133. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  134. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  135. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  136. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  137. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  138. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  139. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  140. package/coverage/lcov-report/src/form/Select.tsx.html +29 -5
  141. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  142. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  143. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  144. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  145. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  146. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  147. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  148. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  149. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  150. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  151. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  152. package/coverage/lcov-report/src/form/TextArea.tsx.html +2 -2
  153. package/coverage/lcov-report/src/form/TextField.tsx.html +1 -1
  154. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  155. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  156. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  157. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  158. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  159. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  160. package/coverage/lcov-report/src/form/index.html +940 -10
  161. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  162. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  163. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  164. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  165. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  166. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  167. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  168. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  169. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  170. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  171. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  172. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  173. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  174. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  175. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  176. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  177. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +1 -1
  178. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  179. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  180. package/coverage/lcov-report/src/form/utils.ts.html +1 -1
  181. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  182. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  183. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  184. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  185. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  186. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  187. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  188. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  189. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  190. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +1 -1
  191. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +8 -8
  192. package/coverage/lcov-report/src/icon/index.html +7 -7
  193. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  194. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  195. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  196. package/coverage/lcov-report/src/index.html +354 -9
  197. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  198. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  199. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  200. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  201. package/coverage/lcov-report/src/interaction/index.html +1 -1
  202. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  203. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +17 -17
  204. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  205. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  206. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  207. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  208. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  209. package/coverage/lcov-report/src/layout/index.html +15 -15
  210. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  211. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  212. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  213. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  214. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  215. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  216. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  217. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  218. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  219. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  220. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  221. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  222. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  223. package/coverage/lcov-report/src/link/index.html +1 -1
  224. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  225. package/coverage/lcov-report/src/list/List.tsx.html +30 -30
  226. package/coverage/lcov-report/src/list/ListItem.tsx.html +37 -16
  227. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +13 -7
  228. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +12 -6
  229. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +4 -4
  230. package/coverage/lcov-report/src/list/ListItemText.tsx.html +1 -1
  231. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  232. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +1 -1
  233. package/coverage/lcov-report/src/list/index.html +11 -11
  234. package/coverage/lcov-report/src/list/listItemStyles.ts.html +39 -9
  235. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  236. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  237. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  238. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +25 -25
  239. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  240. package/coverage/lcov-report/src/menu/Menu.tsx.html +2 -2
  241. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  242. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  243. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  244. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  245. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  246. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  247. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  248. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  249. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  250. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  251. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  252. package/coverage/lcov-report/src/menu/index.html +1 -1
  253. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  254. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  255. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  256. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  257. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  258. package/coverage/lcov-report/src/movement/index.html +1 -1
  259. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  260. package/coverage/lcov-report/src/movement/utils.ts.html +1 -1
  261. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  262. package/coverage/lcov-report/src/overlay/index.html +1 -1
  263. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  264. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  265. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  266. package/coverage/lcov-report/src/portal/index.html +7 -7
  267. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  268. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  269. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  270. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  271. package/coverage/lcov-report/src/positioning/index.html +1 -1
  272. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  273. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  274. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +3 -3
  275. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  276. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  277. package/coverage/lcov-report/src/progress/index.html +20 -5
  278. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  279. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  280. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  281. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  282. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  283. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  284. package/coverage/lcov-report/src/scroll/index.html +1 -1
  285. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  286. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  287. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  288. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  289. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  290. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  291. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  292. package/coverage/lcov-report/src/sheet/index.html +5 -5
  293. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  294. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  295. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  296. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  297. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  298. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  299. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  300. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  301. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  302. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  303. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  304. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  305. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  306. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  307. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +1 -1
  308. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +1 -1
  309. package/coverage/lcov-report/src/suspense/index.html +20 -5
  310. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  311. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  312. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  313. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  314. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  315. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  316. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  317. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  318. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  319. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  320. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  321. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  322. package/coverage/lcov-report/src/table/index.html +151 -46
  323. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  324. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  325. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  326. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  327. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  328. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  329. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  330. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  331. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  332. package/coverage/lcov-report/src/tabs/index.html +25 -25
  333. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  334. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  335. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  336. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  337. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  338. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  339. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  340. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  341. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +205 -205
  342. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +1 -1
  343. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  344. package/coverage/lcov-report/src/test-utils/index.html +4 -4
  345. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  346. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
  347. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  348. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  349. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  350. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  351. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  352. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  353. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  354. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  355. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  356. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  357. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  358. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  359. package/coverage/lcov-report/src/theme/index.html +1 -1
  360. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  361. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  362. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  363. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  364. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  365. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  366. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  367. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  368. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  369. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  370. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  371. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  372. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  373. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  374. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  375. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  376. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  377. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  378. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  379. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  380. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  381. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
  382. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  383. package/coverage/lcov-report/src/transition/index.html +47 -32
  384. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  385. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  386. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  387. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  388. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +87 -87
  389. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  390. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  391. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  392. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  393. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  394. package/coverage/lcov-report/src/transition/useTransition.ts.html +237 -237
  395. package/coverage/lcov-report/src/transition/utils.ts.html +43 -43
  396. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  397. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  398. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
  399. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  400. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  401. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +8 -8
  402. package/coverage/lcov-report/src/tree/index.html +11 -11
  403. package/coverage/lcov-report/src/tree/styles.ts.html +8 -35
  404. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  405. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  406. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  407. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
  408. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  409. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  410. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +1 -1
  411. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  412. package/coverage/lcov-report/src/typography/Typography.tsx.html +1 -1
  413. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  414. package/coverage/lcov-report/src/typography/index.html +1 -1
  415. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  416. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
  417. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  418. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  419. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  420. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  421. package/coverage/lcov-report/src/useEnsuredState.ts.html +1 -1
  422. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  423. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  424. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  425. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  426. package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
  427. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  428. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  429. package/coverage/lcov-report/src/useResizeObserver.ts.html +68 -179
  430. package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
  431. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  432. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  433. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  434. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  435. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  436. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  437. package/coverage/lcov-report/src/utils/bem.ts.html +45 -45
  438. package/coverage/lcov-report/src/utils/filters.ts.html +1 -1
  439. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  440. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  441. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  442. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  443. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  444. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  445. package/coverage/lcov-report/src/utils/index.html +46 -31
  446. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  447. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  448. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  449. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  450. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  451. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  452. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  453. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  454. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  455. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  456. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  457. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  458. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  459. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  460. package/coverage/lcov-report/suspense/index.html +131 -0
  461. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  462. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  463. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  464. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  465. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  466. package/coverage/lcov-report/tabs/index.html +56 -11
  467. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  468. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  469. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  470. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  471. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  472. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  473. package/coverage/lcov-report/test-utils/index.html +21 -21
  474. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  475. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  476. package/coverage/lcov-report/tooltip/index.html +10 -70
  477. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  478. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  479. package/coverage/lcov-report/transition/config.ts.html +5 -5
  480. package/coverage/lcov-report/transition/index.html +1 -1
  481. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  482. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  483. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  484. package/coverage/lcov-report/tree/index.html +12 -27
  485. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  486. package/coverage/lcov-report/typography/Typography.tsx.html +110 -110
  487. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  488. package/coverage/lcov-report/typography/index.html +15 -15
  489. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  490. package/coverage/lcov-report/useTabList.ts.html +142 -136
  491. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  492. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  493. package/coverage/lcov-report/utils/index.html +16 -31
  494. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  495. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  496. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  497. package/coverage/lcov-report/window-splitter/index.html +21 -36
  498. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  499. package/coverage/lcov.info +474 -0
  500. package/dist/_box-shadows.scss +12 -2
  501. package/dist/_core.scss +0 -2
  502. package/dist/_utils.scss +22 -0
  503. package/dist/app-bar/AppBar.d.ts +4 -9
  504. package/dist/app-bar/AppBar.js +29 -7
  505. package/dist/app-bar/AppBar.js.map +1 -1
  506. package/dist/app-bar/_app-bar.scss +7 -9
  507. package/dist/avatar/Avatar.d.ts +1 -1
  508. package/dist/avatar/Avatar.js.map +1 -1
  509. package/dist/badge/_badge.scss +12 -7
  510. package/dist/button/TooltippedButton.d.ts +62 -0
  511. package/dist/button/TooltippedButton.js +62 -0
  512. package/dist/button/TooltippedButton.js.map +1 -0
  513. package/dist/card/Card.js +3 -2
  514. package/dist/card/Card.js.map +1 -1
  515. package/dist/card/CardContent.js +1 -1
  516. package/dist/card/CardContent.js.map +1 -1
  517. package/dist/card/ClickableCard.d.ts +42 -0
  518. package/dist/card/ClickableCard.js +73 -0
  519. package/dist/card/ClickableCard.js.map +1 -0
  520. package/dist/card/_card.scss +15 -9
  521. package/dist/card/styles.d.ts +8 -0
  522. package/dist/card/styles.js +6 -3
  523. package/dist/card/styles.js.map +1 -1
  524. package/dist/dialog/_dialog.scss +28 -15
  525. package/dist/divider/_divider.scss +9 -10
  526. package/dist/draggable/useDraggable.d.ts +12 -23
  527. package/dist/draggable/useDraggable.js +15 -6
  528. package/dist/draggable/useDraggable.js.map +1 -1
  529. package/dist/draggable/utils.d.ts +4 -17
  530. package/dist/draggable/utils.js +9 -25
  531. package/dist/draggable/utils.js.map +1 -1
  532. package/dist/expansion-panel/_expansion-panel.scss +25 -16
  533. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  534. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  535. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  536. package/dist/form/MenuItemInputToggle.d.ts +1 -1
  537. package/dist/form/MenuItemInputToggle.js.map +1 -1
  538. package/dist/form/Select.js +6 -1
  539. package/dist/form/Select.js.map +1 -1
  540. package/dist/form/_form.scss +40 -22
  541. package/dist/icon/IconRotator.js +2 -3
  542. package/dist/icon/IconRotator.js.map +1 -1
  543. package/dist/icon/_icon.scss +7 -2
  544. package/dist/index.d.ts +5 -0
  545. package/dist/index.js +5 -0
  546. package/dist/index.js.map +1 -1
  547. package/dist/interaction/_interaction.scss +12 -9
  548. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  549. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  550. package/dist/link/_link.scss +26 -12
  551. package/dist/list/ListItem.d.ts +8 -3
  552. package/dist/list/ListItem.js +4 -3
  553. package/dist/list/ListItem.js.map +1 -1
  554. package/dist/list/ListItemAddon.js +2 -1
  555. package/dist/list/ListItemAddon.js.map +1 -1
  556. package/dist/list/ListItemChildren.js +3 -2
  557. package/dist/list/ListItemChildren.js.map +1 -1
  558. package/dist/list/ListItemLink.js +3 -3
  559. package/dist/list/ListItemLink.js.map +1 -1
  560. package/dist/list/_list.scss +29 -18
  561. package/dist/list/listItemStyles.d.ts +9 -1
  562. package/dist/list/listItemStyles.js +5 -5
  563. package/dist/list/listItemStyles.js.map +1 -1
  564. package/dist/list/types.d.ts +14 -4
  565. package/dist/list/types.js.map +1 -1
  566. package/dist/menu/Menu.d.ts +1 -1
  567. package/dist/menu/Menu.js.map +1 -1
  568. package/dist/menu/_menu.scss +3 -14
  569. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  570. package/dist/portal/PortalContainerProvider.js +6 -1
  571. package/dist/portal/PortalContainerProvider.js.map +1 -1
  572. package/dist/sheet/styles.d.ts +14 -15
  573. package/dist/sheet/styles.js.map +1 -1
  574. package/dist/table/TableCheckbox.d.ts +3 -2
  575. package/dist/table/TableCheckbox.js +4 -2
  576. package/dist/table/TableCheckbox.js.map +1 -1
  577. package/dist/table/TableRadio.d.ts +3 -2
  578. package/dist/table/TableRadio.js +4 -2
  579. package/dist/table/TableRadio.js.map +1 -1
  580. package/dist/table/tableCellStyles.d.ts +1 -1
  581. package/dist/table/tableCellStyles.js.map +1 -1
  582. package/dist/tabs/Tab.d.ts +24 -3
  583. package/dist/tabs/Tab.js +15 -8
  584. package/dist/tabs/Tab.js.map +1 -1
  585. package/dist/tabs/_tabs.scss +28 -16
  586. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  587. package/dist/tabs/tabIndicatorStyles.js +6 -3
  588. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  589. package/dist/tabs/tabListStyles.js +2 -1
  590. package/dist/tabs/tabListStyles.js.map +1 -1
  591. package/dist/tabs/tabStyles.d.ts +2 -0
  592. package/dist/tabs/tabStyles.js +6 -3
  593. package/dist/tabs/tabStyles.js.map +1 -1
  594. package/dist/tabs/useTabList.d.ts +3 -3
  595. package/dist/tabs/useTabList.js +9 -6
  596. package/dist/tabs/useTabList.js.map +1 -1
  597. package/dist/tooltip/useTooltip.d.ts +14 -14
  598. package/dist/tooltip/useTooltip.js.map +1 -1
  599. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  600. package/dist/transition/SkeletonPlaceholder.js +8 -3
  601. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  602. package/dist/transition/_transition.scss +12 -7
  603. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  604. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  605. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  606. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  607. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  608. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  609. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  610. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  611. package/dist/tree/Tree.d.ts +8 -4
  612. package/dist/tree/Tree.js.map +1 -1
  613. package/dist/tree/TreeItem.js +3 -4
  614. package/dist/tree/TreeItem.js.map +1 -1
  615. package/dist/tree/_tree.scss +29 -22
  616. package/dist/tree/styles.d.ts +0 -6
  617. package/dist/tree/styles.js +1 -2
  618. package/dist/tree/styles.js.map +1 -1
  619. package/dist/types.d.ts +7 -0
  620. package/dist/types.js +1 -2
  621. package/dist/types.js.map +1 -1
  622. package/dist/typography/_typography.scss +12 -2
  623. package/dist/useElementSize.d.ts +40 -0
  624. package/dist/useElementSize.js +53 -0
  625. package/dist/useElementSize.js.map +1 -0
  626. package/dist/useResizeListener.d.ts +1 -1
  627. package/dist/useResizeListener.js +1 -0
  628. package/dist/useResizeListener.js.map +1 -1
  629. package/dist/useResizeObserver.d.ts +4 -43
  630. package/dist/useResizeObserver.js +3 -42
  631. package/dist/useResizeObserver.js.map +1 -1
  632. package/dist/useWindowSize.d.ts +14 -11
  633. package/dist/useWindowSize.js +12 -7
  634. package/dist/useWindowSize.js.map +1 -1
  635. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  636. package/dist/utils/getMiddleOfRange.js +20 -0
  637. package/dist/utils/getMiddleOfRange.js.map +1 -0
  638. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  639. package/dist/utils/getRangeDefaultValue.js +3 -13
  640. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  641. package/dist/utils/getRangeSteps.d.ts +1 -1
  642. package/dist/utils/getRangeSteps.js +2 -2
  643. package/dist/utils/getRangeSteps.js.map +1 -1
  644. package/dist/utils/nearest.js +1 -1
  645. package/dist/utils/nearest.js.map +1 -1
  646. package/dist/window-splitter/_window-splitter.scss +11 -16
  647. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  648. package/dist/window-splitter/useWindowSplitter.js +3 -11
  649. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  650. package/package.json +18 -18
  651. package/src/__tests__/useElementSize.tsx +181 -0
  652. package/src/__tests__/useWindowSize.node.tsx +56 -0
  653. package/src/__tests__/useWindowSize.tsx +156 -0
  654. package/src/_box-shadows.scss +12 -2
  655. package/src/_core.scss +0 -2
  656. package/src/_utils.scss +22 -0
  657. package/src/app-bar/AppBar.tsx +59 -19
  658. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  659. package/src/app-bar/_app-bar.scss +7 -9
  660. package/src/avatar/Avatar.tsx +1 -1
  661. package/src/badge/_badge.scss +12 -7
  662. package/src/button/TooltippedButton.tsx +120 -0
  663. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  664. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  665. package/src/card/Card.tsx +5 -3
  666. package/src/card/CardContent.tsx +3 -3
  667. package/src/card/ClickableCard.tsx +105 -0
  668. package/src/card/__tests__/ClickableCard.tsx +66 -0
  669. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  670. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  671. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  672. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  673. package/src/card/_card.scss +15 -9
  674. package/src/card/styles.ts +19 -10
  675. package/src/dialog/_dialog.scss +28 -15
  676. package/src/divider/_divider.scss +9 -10
  677. package/src/draggable/useDraggable.ts +26 -25
  678. package/src/draggable/utils.ts +16 -50
  679. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  680. package/src/expansion-panel/_expansion-panel.scss +25 -16
  681. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  682. package/src/form/MenuItemInputToggle.tsx +1 -1
  683. package/src/form/Select.tsx +9 -1
  684. package/src/form/_form.scss +40 -22
  685. package/src/icon/IconRotator.tsx +1 -2
  686. package/src/icon/_icon.scss +7 -2
  687. package/src/index.ts +5 -0
  688. package/src/interaction/_interaction.scss +12 -9
  689. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  690. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  691. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  692. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  693. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  694. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  695. package/src/link/_link.scss +26 -12
  696. package/src/list/ListItem.tsx +19 -12
  697. package/src/list/ListItemAddon.tsx +5 -3
  698. package/src/list/ListItemChildren.tsx +4 -2
  699. package/src/list/ListItemLink.tsx +3 -3
  700. package/src/list/__tests__/ListItem.tsx +1 -1
  701. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  702. package/src/list/_list.scss +29 -18
  703. package/src/list/listItemStyles.ts +15 -5
  704. package/src/list/types.ts +15 -4
  705. package/src/menu/Menu.tsx +1 -1
  706. package/src/menu/_menu.scss +3 -14
  707. package/src/portal/PortalContainerProvider.tsx +10 -2
  708. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  709. package/src/sheet/styles.ts +14 -15
  710. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  711. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  712. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  713. package/src/table/TableCheckbox.tsx +4 -2
  714. package/src/table/TableRadio.tsx +4 -2
  715. package/src/table/tableCellStyles.ts +1 -1
  716. package/src/tabs/Tab.tsx +110 -70
  717. package/src/tabs/__tests__/Tab.tsx +25 -2
  718. package/src/tabs/__tests__/TabList.tsx +4 -4
  719. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  720. package/src/tabs/_tabs.scss +28 -16
  721. package/src/tabs/tabIndicatorStyles.ts +13 -3
  722. package/src/tabs/tabListStyles.ts +1 -1
  723. package/src/tabs/tabStyles.ts +16 -4
  724. package/src/tabs/useTabList.ts +10 -8
  725. package/src/tooltip/useTooltip.ts +23 -16
  726. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  727. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  728. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  729. package/src/transition/_transition.scss +12 -7
  730. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  731. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  732. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  733. package/src/tree/Tree.tsx +8 -4
  734. package/src/tree/TreeItem.tsx +3 -4
  735. package/src/tree/__tests__/Tree.tsx +1 -1
  736. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  737. package/src/tree/_tree.scss +29 -22
  738. package/src/tree/styles.ts +0 -9
  739. package/src/types.ts +8 -0
  740. package/src/typography/_typography.scss +12 -2
  741. package/src/useElementSize.ts +83 -0
  742. package/src/useResizeListener.ts +3 -1
  743. package/src/useResizeObserver.ts +7 -44
  744. package/src/useWindowSize.ts +29 -19
  745. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  746. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  747. package/src/utils/getMiddleOfRange.ts +26 -0
  748. package/src/utils/getRangeDefaultValue.ts +8 -15
  749. package/src/utils/getRangeSteps.ts +2 -2
  750. package/src/utils/nearest.ts +1 -1
  751. package/src/window-splitter/_window-splitter.scss +11 -16
  752. package/src/window-splitter/useWindowSplitter.ts +12 -28
@@ -2,98 +2,98 @@
2
2
 
3
3
  exports[`AppBar should allow for different heights 1`] = `
4
4
  <div
5
- class="rmd-app-bar rmd-background-container rmd-primary-container"
5
+ class="rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
6
6
  data-testid="app-bar"
7
7
  />
8
8
  `;
9
9
 
10
10
  exports[`AppBar should allow for different heights 2`] = `
11
11
  <div
12
- class="rmd-app-bar rmd-background-container rmd-primary-container"
12
+ class="rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
13
13
  data-testid="app-bar"
14
14
  />
15
15
  `;
16
16
 
17
17
  exports[`AppBar should allow for different heights 3`] = `
18
18
  <div
19
- class="rmd-app-bar rmd-app-bar--prominent rmd-background-container rmd-primary-container"
19
+ class="rmd-app-bar rmd-app-bar--prominent rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
20
20
  data-testid="app-bar"
21
21
  />
22
22
  `;
23
23
 
24
24
  exports[`AppBar should allow for different heights 4`] = `
25
25
  <div
26
- class="rmd-app-bar rmd-app-bar--prominent-dense rmd-background-container rmd-primary-container"
26
+ class="rmd-app-bar rmd-app-bar--prominent-dense rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
27
27
  data-testid="app-bar"
28
28
  />
29
29
  `;
30
30
 
31
31
  exports[`AppBar should allow for different heights 5`] = `
32
32
  <div
33
- class="rmd-app-bar rmd-app-bar--dense rmd-background-container rmd-primary-container"
33
+ class="rmd-app-bar rmd-app-bar--dense rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
34
34
  data-testid="app-bar"
35
35
  />
36
36
  `;
37
37
 
38
38
  exports[`AppBar should allow for different heights 6`] = `
39
39
  <div
40
- class="rmd-app-bar rmd-app-bar--auto rmd-background-container rmd-primary-container"
40
+ class="rmd-app-bar rmd-app-bar--auto rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
41
41
  data-testid="app-bar"
42
42
  />
43
43
  `;
44
44
 
45
45
  exports[`AppBar should allow for different theme colors 1`] = `
46
46
  <div
47
- class="rmd-app-bar rmd-background-container rmd-primary-container"
47
+ class="rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
48
48
  data-testid="app-bar"
49
49
  />
50
50
  `;
51
51
 
52
52
  exports[`AppBar should allow for different theme colors 2`] = `
53
53
  <div
54
- class="rmd-app-bar rmd-background-container rmd-secondary-container"
54
+ class="rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-secondary-container"
55
55
  data-testid="app-bar"
56
56
  />
57
57
  `;
58
58
 
59
59
  exports[`AppBar should allow for different theme colors 3`] = `
60
60
  <div
61
- class="rmd-app-bar rmd-app-bar--surface"
61
+ class="rmd-app-bar rmd-app-bar--surface rmd-box rmd-box--padded rmd-box--full-width"
62
62
  data-testid="app-bar"
63
63
  />
64
64
  `;
65
65
 
66
66
  exports[`AppBar should allow for different theme colors 4`] = `
67
67
  <div
68
- class="rmd-app-bar"
68
+ class="rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width"
69
69
  data-testid="app-bar"
70
70
  />
71
71
  `;
72
72
 
73
73
  exports[`AppBar should allow the app bar to be fixed to the top or bottom of the page 1`] = `
74
74
  <header
75
- class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-background-container rmd-primary-container"
75
+ class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
76
76
  data-testid="app-bar"
77
77
  />
78
78
  `;
79
79
 
80
80
  exports[`AppBar should allow the app bar to be fixed to the top or bottom of the page 2`] = `
81
81
  <header
82
- class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-background-container rmd-primary-container"
82
+ class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
83
83
  data-testid="app-bar"
84
84
  />
85
85
  `;
86
86
 
87
87
  exports[`AppBar should allow the app bar to be fixed to the top or bottom of the page 3`] = `
88
88
  <header
89
- class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--bottom rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-background-container rmd-primary-container"
89
+ class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--bottom rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
90
90
  data-testid="app-bar"
91
91
  />
92
92
  `;
93
93
 
94
94
  exports[`AppBar should apply the correct styling, HTML attributes, and allow a ref 1`] = `
95
95
  <div
96
- class="rmd-app-bar rmd-background-container rmd-primary-container"
96
+ class="rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
97
97
  data-testid="app-bar"
98
98
  >
99
99
  <h6
@@ -106,7 +106,7 @@ exports[`AppBar should apply the correct styling, HTML attributes, and allow a r
106
106
 
107
107
  exports[`AppBar should apply the correct styling, HTML attributes, and allow a ref 2`] = `
108
108
  <div
109
- class="rmd-app-bar rmd-background-container rmd-primary-container custom-class-name"
109
+ class="rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container custom-class-name"
110
110
  data-testid="app-bar"
111
111
  style="background-color: orange;"
112
112
  >
@@ -120,7 +120,7 @@ exports[`AppBar should apply the correct styling, HTML attributes, and allow a r
120
120
 
121
121
  exports[`AppBar should apply the correct styling, HTML attributes, and allow a ref 3`] = `
122
122
  <header
123
- class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-background-container rmd-primary-container"
123
+ class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--elevated rmd-app-bar--scrollbar-offset rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
124
124
  data-testid="app-bar"
125
125
  >
126
126
  <h6
@@ -133,7 +133,7 @@ exports[`AppBar should apply the correct styling, HTML attributes, and allow a r
133
133
 
134
134
  exports[`AppBar should apply the correct styling, HTML attributes, and allow a ref 4`] = `
135
135
  <header
136
- class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--scrollbar-offset rmd-background-container rmd-primary-container"
136
+ class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--top rmd-app-bar--scrollbar-offset rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
137
137
  data-testid="app-bar"
138
138
  >
139
139
  <h6
@@ -146,7 +146,7 @@ exports[`AppBar should apply the correct styling, HTML attributes, and allow a r
146
146
 
147
147
  exports[`AppBar should apply the correct styling, HTML attributes, and allow a ref 5`] = `
148
148
  <header
149
- class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--sticky rmd-app-bar--top rmd-app-bar--elevated rmd-background-container rmd-primary-container"
149
+ class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--sticky rmd-app-bar--top rmd-app-bar--elevated rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
150
150
  data-testid="app-bar"
151
151
  >
152
152
  <h6
@@ -159,7 +159,7 @@ exports[`AppBar should apply the correct styling, HTML attributes, and allow a r
159
159
 
160
160
  exports[`AppBar should apply the correct styling, HTML attributes, and allow a ref 6`] = `
161
161
  <header
162
- class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--sticky rmd-app-bar--top rmd-background-container rmd-primary-container"
162
+ class="rmd-app-bar rmd-app-bar--fixed rmd-app-bar--sticky rmd-app-bar--top rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"
163
163
  data-testid="app-bar"
164
164
  >
165
165
  <h6
@@ -172,7 +172,7 @@ exports[`AppBar should apply the correct styling, HTML attributes, and allow a r
172
172
 
173
173
  exports[`AppBar should apply the correct styling, HTML attributes, and allow a ref 7`] = `
174
174
  <div
175
- class="rmd-app-bar rmd-app-bar--auto rmd-app-bar--stacked rmd-background-container rmd-primary-container"
175
+ class="rmd-app-bar rmd-app-bar--auto rmd-app-bar--stacked rmd-box rmd-box--padded rmd-box--column rmd-box--full-width rmd-background-container rmd-primary-container"
176
176
  data-testid="app-bar"
177
177
  >
178
178
  <h6
@@ -183,4 +183,4 @@ exports[`AppBar should apply the correct styling, HTML attributes, and allow a r
183
183
  </div>
184
184
  `;
185
185
 
186
- exports[`AppBar styling utils should be callback without any arguments 1`] = `"rmd-app-bar rmd-background-container rmd-primary-container"`;
186
+ exports[`AppBar styling utils should be callback without any arguments 1`] = `"rmd-app-bar rmd-box rmd-box--padded rmd-box--full-width rmd-background-container rmd-primary-container"`;
@@ -1,6 +1,7 @@
1
1
  @use "sass:map";
2
2
 
3
3
  @use "../utils";
4
+ @use "../box/box";
4
5
  @use "../box-shadows";
5
6
  @use "../interaction/interaction";
6
7
  @use "../theme/a11y";
@@ -59,6 +60,9 @@ $vertical-padding: 0 !default;
59
60
 
60
61
  $keyline: 1rem !default;
61
62
  $title-keyline: 4.5rem !default;
63
+ // 3rem is the icon-button's default size. can't use the variables since it's
64
+ // based on font-size now and `em`
65
+ $nav-keyline: $title-keyline - $horizontal-padding - $gap - 3rem !default;
62
66
 
63
67
  $variables: (height, surface-background-color, surface-color);
64
68
 
@@ -121,17 +125,14 @@ $variables: (height, surface-background-color, surface-color);
121
125
 
122
126
  .rmd-app-bar {
123
127
  @include use-var(height);
128
+ @include box.set-var(gap, $gap);
129
+ @include box.set-var(padding, $vertical-padding $horizontal-padding);
124
130
 
125
- align-items: center;
126
- display: flex;
127
131
  // since app bars can appear a lot in full page dialogs, setting these flex
128
132
  // values allows it be be a direct replacement of the `DialogHeader`
129
133
  // component without all the offsets and additional styles needed for fixed
130
134
  // app bars.
131
135
  flex: 0 0 auto;
132
- gap: $gap;
133
- padding: $vertical-padding $horizontal-padding;
134
- width: 100%;
135
136
 
136
137
  @if not $disable-fixed or not $disable-sticky {
137
138
  &--fixed {
@@ -237,10 +238,7 @@ $variables: (height, surface-background-color, surface-color);
237
238
  }
238
239
 
239
240
  &--nav-keyline {
240
- @include utils.auto-rtl(
241
- margin-left,
242
- $title-keyline - $horizontal-padding - $gap - button.$icon-size
243
- );
241
+ @include utils.auto-rtl(margin-left, $nav-keyline);
244
242
  }
245
243
  }
246
244
  }
@@ -16,7 +16,7 @@ declare module "react" {
16
16
  export type AvatarImgAttributes = ImgHTMLAttributes<HTMLImageElement>;
17
17
 
18
18
  export interface AvatarProps
19
- extends HTMLAttributes<HTMLSpanElement>,
19
+ extends Omit<HTMLAttributes<HTMLSpanElement>, "color">,
20
20
  AvatarClassNameOptions {
21
21
  /**
22
22
  * This should be an image `src` attribute to create an avatar from. When this
@@ -12,8 +12,9 @@ $disable-secondary-theme: false !default;
12
12
 
13
13
  $size: 1.5rem !default;
14
14
  $font-size: 0.625rem !default;
15
- $offset-top: 0 !default;
16
- $offset-right: 0 !default;
15
+ $offset: 0 !default;
16
+ $offset-top: $offset !default;
17
+ $offset-right: $offset !default;
17
18
  $border-radius: 50% !default;
18
19
  $typography: map.merge(
19
20
  map.remove(typography.$body-1-styles, line-height, font-size),
@@ -101,9 +102,13 @@ $variables: (
101
102
  @include set-var(greyscale-background-color, $greyscale-background-color);
102
103
  @include set-var(greyscale-color, $greyscale-color);
103
104
  @include set-var(size, $size);
104
- @include set-var(offset, 0);
105
- @include set-var(offset-top, get-var(offset));
106
- @include set-var(offset-right, get-var(offset));
105
+ @include set-var(offset, $offset);
106
+ @if $offset != $offset-top {
107
+ @include set-var(offset-top, $offset-top);
108
+ }
109
+ @if $offset != $offset-right {
110
+ @include set-var(offset-right, $offset-right);
111
+ }
107
112
  }
108
113
  }
109
114
 
@@ -113,8 +118,8 @@ $variables: (
113
118
  @include utils.map-to-styles($typography);
114
119
  @include use-var(height, size);
115
120
  @include use-var(width, size);
116
- @include utils.auto-rtl(right, get-var(offset-right));
117
- @include use-var(top, offset-top);
121
+ @include utils.auto-rtl(right, get-var(offset-right, get-var(offset)));
122
+ @include use-var(top, offset-top, get-var(offset));
118
123
 
119
124
  align-items: center;
120
125
  border-radius: $border-radius;
@@ -0,0 +1,120 @@
1
+ "use client";
2
+ import { forwardRef, type ReactNode } from "react";
3
+ import { Tooltip, type TooltipProps } from "../tooltip/Tooltip.js";
4
+ import {
5
+ useTooltip,
6
+ type ProvidedTooltipProps,
7
+ type TooltipOptions,
8
+ type TooltippedElementEventHandlers,
9
+ } from "../tooltip/useTooltip.js";
10
+ import { Button, type ButtonProps } from "./Button.js";
11
+ import { type ButtonType } from "./buttonStyles.js";
12
+
13
+ const noop = (): void => {
14
+ // do nothing
15
+ };
16
+
17
+ /**
18
+ * @remarks \@since 6.0.0
19
+ */
20
+ export interface TooltippedButtonProps extends ButtonProps {
21
+ /** @defaultValue `"icon"` */
22
+ buttonType?: ButtonType;
23
+
24
+ /**
25
+ * The tooltip children to render. When this is falsey, the tooltip event
26
+ * listeners will not be enabled and the tooltip will never display.
27
+ */
28
+ tooltip?: ReactNode;
29
+
30
+ /**
31
+ * Any additional props to pass to the `Tooltip` component (normally styling
32
+ * props).
33
+ */
34
+ tooltipProps?: Omit<TooltipProps, keyof ProvidedTooltipProps>;
35
+
36
+ /**
37
+ * Any additional tooltip options to pass to {@link useTooltip}. The most
38
+ * common options would be:
39
+ *
40
+ * ```ts
41
+ * tooltipOptions={{
42
+ * overflowOnly: true,
43
+ *
44
+ * // whatever values you want for these
45
+ * hoverTimeout: 0,
46
+ * leaveTimeout: 150,
47
+ * defaultPosition: "left",
48
+ * }}
49
+ * ```
50
+ */
51
+ tooltipOptions?: Omit<TooltipOptions, keyof TooltippedElementEventHandlers>;
52
+ }
53
+
54
+ /**
55
+ * **Client Component**
56
+ *
57
+ * A simple wrapper around the `Button` and `Tooltip` components to dynamically
58
+ * add tooltips to buttons. The `buttonType` will default to `icon` instead of
59
+ * `text`.
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * import { TooltippedButton } from "@react-md/core";
64
+ * import FavoriteIcon from "@react-md/material-icons/FavoriteIcon";
65
+ *
66
+ * export default function Example(): ReactElement {
67
+ * return (
68
+ * <TooltippedButton tooltip="I am a tooltip!" aria-label="Favorite">
69
+ * <FavoriteIcon />
70
+ * </TooltippedButton>
71
+ * );
72
+ * }
73
+ * ```
74
+ *
75
+ * @remarks \@since 6.0.0
76
+ */
77
+ export const TooltippedButton = forwardRef<
78
+ HTMLButtonElement,
79
+ TooltippedButtonProps
80
+ >(function TooltippedButton(props, ref) {
81
+ const {
82
+ tooltip,
83
+ tooltipProps,
84
+ tooltipOptions,
85
+ buttonType = "icon",
86
+ onBlur = noop,
87
+ onFocus = noop,
88
+ onMouseEnter = noop,
89
+ onMouseLeave = noop,
90
+ onTouchStart = noop,
91
+ onTouchEnd = noop,
92
+ onContextMenu = noop,
93
+ ...remaining
94
+ } = props;
95
+ const { tooltipProps: providedTooltipProps, elementProps } = useTooltip({
96
+ ...tooltipOptions,
97
+ disabled: !tooltip || tooltipOptions?.disabled,
98
+ onBlur,
99
+ onFocus,
100
+ onMouseEnter,
101
+ onMouseLeave,
102
+ onTouchEnd,
103
+ onTouchStart,
104
+ onContextMenu,
105
+ });
106
+
107
+ return (
108
+ <>
109
+ <Button
110
+ {...elementProps}
111
+ {...remaining}
112
+ ref={ref}
113
+ buttonType={buttonType}
114
+ />
115
+ <Tooltip {...providedTooltipProps} {...tooltipProps}>
116
+ {tooltip}
117
+ </Tooltip>
118
+ </>
119
+ );
120
+ });
@@ -0,0 +1,60 @@
1
+ import { describe, expect, it } from "@jest/globals";
2
+ import { createRef } from "react";
3
+ import { FontIcon } from "../../icon/FontIcon.js";
4
+ import { render, screen, userEvent } from "../../test-utils/index.js";
5
+ import {
6
+ TooltippedButton,
7
+ type TooltippedButtonProps,
8
+ } from "../TooltippedButton.js";
9
+
10
+ describe("TooltippedButton", () => {
11
+ it("should apply the correct styling, HTML attributes, and allow a ref", () => {
12
+ const ref = createRef<HTMLButtonElement>();
13
+ const props = {
14
+ ref,
15
+ children: "Content",
16
+ } as const;
17
+ const { rerender } = render(<TooltippedButton {...props} />);
18
+
19
+ const button = screen.getByRole("button", { name: "Content" });
20
+ expect(ref.current).toBeInstanceOf(HTMLButtonElement);
21
+ expect(ref.current).toBe(button);
22
+ expect(button).toMatchSnapshot();
23
+
24
+ rerender(
25
+ <TooltippedButton
26
+ {...props}
27
+ style={{ color: "white" }}
28
+ className="custom-class-name"
29
+ />
30
+ );
31
+ expect(button).toMatchSnapshot();
32
+ });
33
+
34
+ it("should only display a tooltip when the tooltip prop is truthy", async () => {
35
+ const user = userEvent.setup();
36
+ const props: TooltippedButtonProps = {
37
+ "aria-label": "Favorite",
38
+ tooltipOptions: {
39
+ hoverTimeout: 0,
40
+ },
41
+ children: <FontIcon>favorite</FontIcon>,
42
+ };
43
+ const { rerender } = render(<TooltippedButton {...props} />);
44
+
45
+ const button = screen.getByRole("button", { name: "Favorite" });
46
+ await user.hover(button);
47
+
48
+ expect(() => screen.getByRole("tooltip")).toThrow();
49
+
50
+ await user.unhover(button);
51
+ expect(() => screen.getByRole("tooltip")).toThrow();
52
+
53
+ rerender(<TooltippedButton {...props} tooltip="Tooltip" />);
54
+ await user.hover(button);
55
+ const tooltip = await screen.findByRole("tooltip", { name: "Tooltip" });
56
+
57
+ await user.unhover(button);
58
+ expect(tooltip).not.toBeInTheDocument();
59
+ });
60
+ });
@@ -0,0 +1,26 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`TooltippedButton should apply the correct styling, HTML attributes, and allow a ref 1`] = `
4
+ <button
5
+ class="rmd-button rmd-button--icon rmd-interaction-surface"
6
+ id=":r0:"
7
+ type="button"
8
+ >
9
+ <span>
10
+ Content
11
+ </span>
12
+ </button>
13
+ `;
14
+
15
+ exports[`TooltippedButton should apply the correct styling, HTML attributes, and allow a ref 2`] = `
16
+ <button
17
+ class="rmd-button rmd-button--icon rmd-interaction-surface custom-class-name"
18
+ id=":r0:"
19
+ style="color: white;"
20
+ type="button"
21
+ >
22
+ <span>
23
+ Content
24
+ </span>
25
+ </button>
26
+ `;
package/src/card/Card.tsx CHANGED
@@ -62,9 +62,10 @@ export const Card = forwardRef<HTMLDivElement, CardProps>(
62
62
  const {
63
63
  children,
64
64
  className,
65
- bordered = false,
66
- raisable = false,
67
- fullWidth = false,
65
+ bordered,
66
+ raisable,
67
+ fullWidth,
68
+ interactable,
68
69
  ...remaining
69
70
  } = props;
70
71
 
@@ -77,6 +78,7 @@ export const Card = forwardRef<HTMLDivElement, CardProps>(
77
78
  bordered,
78
79
  raisable,
79
80
  fullWidth,
81
+ interactable,
80
82
  })}
81
83
  >
82
84
  {children}
@@ -22,9 +22,9 @@ export const CardContent = forwardRef<HTMLDivElement, CardContentProps>(
22
22
  const {
23
23
  children,
24
24
  className,
25
- disablePadding = false,
26
- disableSecondaryColor = false,
27
- disableLastChildPadding = false,
25
+ disablePadding,
26
+ disableSecondaryColor,
27
+ disableLastChildPadding,
28
28
  ...remaining
29
29
  } = props;
30
30
 
@@ -0,0 +1,105 @@
1
+ "use client";
2
+ import { cnb } from "cnbuilder";
3
+ import { forwardRef, type MouseEventHandler } from "react";
4
+ import { useElementInteraction } from "../interaction/useElementInteraction.js";
5
+ import { useHigherContrastChildren } from "../interaction/useHigherContrastChildren.js";
6
+ import { Card, type CardProps } from "./Card.js";
7
+
8
+ const noop = (): void => {
9
+ // do nothing
10
+ };
11
+
12
+ /**
13
+ * @remarks \@since 6.0.0
14
+ */
15
+ export interface ClickableCardProps extends CardProps {
16
+ onClick: MouseEventHandler<HTMLDivElement>;
17
+
18
+ /**
19
+ * Set this to `true` to disable all click events.
20
+ *
21
+ * Note: Any disabled styling will need to be manually applied.
22
+ *
23
+ * @defaultValue `false`
24
+ */
25
+ disabled?: boolean;
26
+ }
27
+
28
+ /**
29
+ * A Small wrapper around the `Card` component that is clickable and has the
30
+ * element interaction enabled (ripples).
31
+ *
32
+ * @example
33
+ * SImple Example
34
+ * ```tsx
35
+ * import { CardContent, ClickableCard } from "@react-md/core";
36
+ * import { type ReactElement } from "react";
37
+ *
38
+ * export default function ClickableCardExample(): ReactElement {
39
+ * return (
40
+ * <ClickableCard
41
+ * onClick={() => {
42
+ * // do something
43
+ * }}
44
+ * >
45
+ * <CardContent>Wow</CardContent>
46
+ * </ClickableCard>
47
+ * );
48
+ * }
49
+ * ```
50
+ *
51
+ * @remarks \@since 6.0.0
52
+ */
53
+ export const ClickableCard = forwardRef<HTMLDivElement, ClickableCardProps>(
54
+ function ClickableCard(props, ref) {
55
+ const {
56
+ role = "button",
57
+ disabled,
58
+ tabIndex = disabled ? undefined : 0,
59
+ onClick,
60
+ onKeyDown = noop,
61
+ className,
62
+ children: propChildren,
63
+ ...remaining
64
+ } = props;
65
+ const { handlers, ripples } = useElementInteraction(remaining);
66
+ const children = useHigherContrastChildren(propChildren);
67
+
68
+ return (
69
+ <Card
70
+ {...remaining}
71
+ {...handlers}
72
+ aria-disabled={disabled || undefined}
73
+ ref={ref}
74
+ role={role}
75
+ tabIndex={tabIndex}
76
+ className={cnb("rmd-card--clickable", className)}
77
+ onClick={(event) => {
78
+ if (disabled) {
79
+ return;
80
+ }
81
+
82
+ onClick(event);
83
+ }}
84
+ onKeyDown={(event) => {
85
+ onKeyDown(event);
86
+ if (disabled) {
87
+ return;
88
+ }
89
+
90
+ const isSpace = event.key === " ";
91
+ if (isSpace || event.key === "Enter") {
92
+ if (isSpace) {
93
+ event.preventDefault();
94
+ }
95
+
96
+ event.currentTarget.click();
97
+ }
98
+ }}
99
+ >
100
+ {children}
101
+ {ripples}
102
+ </Card>
103
+ );
104
+ }
105
+ );
@@ -0,0 +1,66 @@
1
+ import { describe, expect, it, jest } from "@jest/globals";
2
+ import { createRef } from "react";
3
+ import { fireEvent, render, screen } from "../../test-utils/index.js";
4
+ import { ClickableCard } from "../ClickableCard.js";
5
+
6
+ describe("ClickableCard", () => {
7
+ it("should apply the correct styling, HTMLAttributes, and allow a ref", () => {
8
+ const ref = createRef<HTMLDivElement>();
9
+ const props = {
10
+ "data-testid": "card",
11
+ ref,
12
+ onClick: jest.fn(),
13
+ } as const;
14
+ const { rerender } = render(<ClickableCard {...props} />);
15
+
16
+ const element = screen.getByTestId("card");
17
+ expect(ref.current).toBeInstanceOf(HTMLElement);
18
+ expect(ref.current).toBe(element);
19
+ expect(element).toMatchSnapshot();
20
+
21
+ rerender(
22
+ <ClickableCard
23
+ {...props}
24
+ style={{ color: "white" }}
25
+ className="custom-class-name"
26
+ />
27
+ );
28
+ expect(element).toMatchSnapshot();
29
+ });
30
+
31
+ it("should not have a tabIndex while disabled", () => {
32
+ render(<ClickableCard data-testid="card" disabled onClick={jest.fn()} />);
33
+ const card = screen.getByTestId("card");
34
+ expect(card).toHaveAttribute("aria-disabled");
35
+ expect(card).not.toHaveAttribute("tabIndex");
36
+ });
37
+
38
+ it("should keyboard click correctly", () => {
39
+ const onClick = jest.fn();
40
+ render(<ClickableCard data-testid="card" onClick={onClick} />);
41
+
42
+ const card = screen.getByTestId("card");
43
+ expect(onClick).not.toHaveBeenCalled();
44
+
45
+ fireEvent.keyDown(card, { key: " " });
46
+ expect(onClick).toHaveBeenCalledTimes(1);
47
+
48
+ fireEvent.keyDown(card, { key: "Enter" });
49
+ expect(onClick).toHaveBeenCalledTimes(2);
50
+ });
51
+
52
+ it("should not fire the click event while disabled", () => {
53
+ const onClick = jest.fn();
54
+ render(<ClickableCard data-testid="card" onClick={onClick} disabled />);
55
+ const card = screen.getByTestId("card");
56
+
57
+ fireEvent.click(card);
58
+ expect(onClick).toHaveBeenCalledTimes(0);
59
+
60
+ fireEvent.keyDown(card, { key: " " });
61
+ expect(onClick).toHaveBeenCalledTimes(0);
62
+
63
+ fireEvent.keyDown(card, { key: "Enter" });
64
+ expect(onClick).toHaveBeenCalledTimes(0);
65
+ });
66
+ });