@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\nimport type { Ref, RefCallback } from \"react\";\nimport type {\n BaseDraggableOptions,\n DraggableImplementation,\n DraggableKeyboardEventHandlers,\n DraggableMouseEventHandlers,\n DraggableStateOptions,\n DraggableTouchEventHandlers,\n} from \"../draggable/useDraggable.js\";\nimport { useDraggable } from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-top\"?: number | string;\n \"--rmd-window-splitter-right\"?: number | string;\n \"--rmd-window-splitter-bottom\"?: number | string;\n \"--rmd-window-splitter-left\"?: number | string;\n \"--rmd-window-splitter-opacity\"?: number | string;\n \"--rmd-window-splitter-position\"?: number | string;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BaseWindowSplitterOptions<\n E extends HTMLElement = HTMLButtonElement,\n> extends Omit<BaseDraggableOptions<E>, keyof DraggableTouchEventHandlers<E>> {\n /**\n * An optional id to use for the window splitter.\n *\n * @defaultValue `\"window-splitter-\" + useId()`\n */\n id?: string;\n\n /**\n * An optional ref for the window splitter element. This will be merged into\n * the {@link WindowSplitterWidgetProps.ref}.\n */\n ref?: Ref<E>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<E extends HTMLElement>\n extends Required<DraggableMouseEventHandlers<E>>,\n Required<DraggableKeyboardEventHandlers<E>> {\n \"aria-orientation\": \"vertical\" | undefined;\n \"aria-valuenow\": number;\n \"aria-valuemin\": number;\n \"aria-valuemax\": number;\n id: string;\n ref: RefCallback<E>;\n role: \"separator\";\n reversed: boolean;\n dragging: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterImplementation<\n E extends HTMLElement = HTMLButtonElement,\n> extends DraggableImplementation<E> {\n splitterProps: WindowSplitterWidgetProps<E>;\n}\n\n/**\n * You are most likely looking for the `useWindowSplitter` or\n * `useLocalStorageWindowSplitter` hooks instead since this is a low-level hook\n * to implement those two versions.\n *\n * @example\n * Custom Implementation\n * ```tsx\n * import { useWindowSplitter, WindowSplitterImplementation } from \"@react-md/core\";\n * import { useState } from \"react\";\n *\n * // this is pretty much the `useWindowSplitter` implementation\n * export function useMyCustomWindowSplitter(): WindowSplitterImplementation {\n * const [dragging, setDragging] = useState(false);\n * const [value, setValue] = useState(0);\n * const splitter = useWindowSplitter({\n * min: 0,\n * max: 100,\n * value,\n * setValue,\n * dragging,\n * setDragging,\n * });\n *\n * return {\n * ...splitter,\n * value,\n * setValue,\n * dragging,\n * }\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(\n options: WindowSplitterOptions<E>\n): WindowSplitterImplementation<E> {\n const {\n id: propId,\n min,\n max,\n reversed = false,\n vertical,\n withinOffsetParent,\n } = options;\n\n const id = useEnsuredId(propId, \"splitter\");\n const draggableImplementation = useDraggable(options);\n const {\n value,\n dragging,\n draggableRef,\n dragPercentage,\n mouseEventHandlers,\n keyboardEventHandlers,\n } = draggableImplementation;\n\n const percentage =\n dragging && withinOffsetParent\n ? dragPercentage\n : getPercentage({ min, max, value });\n\n return {\n ...draggableImplementation,\n splitterProps: {\n \"aria-orientation\": vertical ? \"vertical\" : undefined,\n \"aria-valuenow\": Math.ceil(percentage * 100),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n id,\n ref: draggableRef,\n role: \"separator\",\n dragging,\n reversed,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n },\n };\n}\n"],"names":["useDraggable","useEnsuredId","getPercentage","useWindowSplitter","options","id","propId","min","max","reversed","vertical","withinOffsetParent","draggableImplementation","value","dragging","draggableRef","dragPercentage","mouseEventHandlers","keyboardEventHandlers","percentage","splitterProps","undefined","Math","ceil","ref","role"],"mappings":"AAAA;AAUA,SAASA,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,aAAa,QAAQ,4BAA4B;AAiE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCC,GACD,OAAO,SAASC,kBACdC,OAAiC;IAEjC,MAAM,EACJC,IAAIC,MAAM,EACVC,GAAG,EACHC,GAAG,EACHC,WAAW,KAAK,EAChBC,QAAQ,EACRC,kBAAkB,EACnB,GAAGP;IAEJ,MAAMC,KAAKJ,aAAaK,QAAQ;IAChC,MAAMM,0BAA0BZ,aAAaI;IAC7C,MAAM,EACJS,KAAK,EACLC,QAAQ,EACRC,YAAY,EACZC,cAAc,EACdC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGN;IAEJ,MAAMO,aACJL,YAAYH,qBACRK,iBACAd,cAAc;QAAEK;QAAKC;QAAKK;IAAM;IAEtC,OAAO;QACL,GAAGD,uBAAuB;QAC1BQ,eAAe;YACb,oBAAoBV,WAAW,aAAaW;YAC5C,iBAAiBC,KAAKC,IAAI,CAACJ,aAAa;YACxC,iBAAiB;YACjB,iBAAiB;YACjBd;YACAmB,KAAKT;YACLU,MAAM;YACNX;YACAL;YACA,GAAGQ,kBAAkB;YACrB,GAAGC,qBAAqB;QAC1B;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\nimport { type Ref, type RefCallback } from \"react\";\nimport {\n useDraggable,\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-top\"?: number | string;\n \"--rmd-window-splitter-right\"?: number | string;\n \"--rmd-window-splitter-bottom\"?: number | string;\n \"--rmd-window-splitter-left\"?: number | string;\n \"--rmd-window-splitter-opacity\"?: number | string;\n \"--rmd-window-splitter-position\"?: number | string;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BaseWindowSplitterOptions<\n E extends HTMLElement = HTMLButtonElement,\n> extends Omit<BaseDraggableOptions<E>, keyof DraggableTouchEventHandlers<E>> {\n /**\n * An optional id to use for the window splitter.\n *\n * @defaultValue `\"window-splitter-\" + useId()`\n */\n id?: string;\n\n /**\n * An optional ref for the window splitter element. This will be merged into\n * the {@link WindowSplitterWidgetProps.ref}.\n */\n ref?: Ref<E>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<E extends HTMLElement>\n extends Required<DraggableMouseEventHandlers<E>>,\n Required<DraggableKeyboardEventHandlers<E>> {\n \"aria-orientation\": \"vertical\" | undefined;\n \"aria-valuenow\": number;\n \"aria-valuemin\": number;\n \"aria-valuemax\": number;\n id: string;\n ref: RefCallback<E>;\n role: \"separator\";\n reversed: boolean;\n dragging: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterImplementation<\n E extends HTMLElement = HTMLButtonElement,\n> extends DraggableImplementation<E> {\n splitterProps: WindowSplitterWidgetProps<E>;\n}\n\n/**\n * Used to control the state for the `WindowSplitter` component.\n *\n * @example\n * Custom Implementation\n * ```tsx\n * import { useWindowSplitter, WindowSplitterImplementation } from \"@react-md/core\";\n * import { useState } from \"react\";\n *\n * // this is pretty much the `useWindowSplitter` implementation\n * export function useMyCustomWindowSplitter(): WindowSplitterImplementation {\n * const [dragging, setDragging] = useState(false);\n * const [value, setValue] = useState(0);\n * const splitter = useWindowSplitter({\n * min: 0,\n * max: 100,\n * value,\n * setValue,\n * dragging,\n * setDragging,\n * });\n *\n * return {\n * ...splitter,\n * value,\n * setValue,\n * dragging,\n * }\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(\n options: WindowSplitterOptions<E>\n): WindowSplitterImplementation<E> {\n const { id: propId, reversed = false, vertical } = options;\n\n const id = useEnsuredId(propId, \"splitter\");\n const draggableImplementation = useDraggable(options);\n const {\n dragging,\n percentage,\n draggableRef,\n mouseEventHandlers,\n keyboardEventHandlers,\n } = draggableImplementation;\n\n return {\n ...draggableImplementation,\n splitterProps: {\n \"aria-orientation\": vertical ? \"vertical\" : undefined,\n \"aria-valuenow\": Math.ceil(percentage * 100),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n id,\n ref: draggableRef,\n role: \"separator\",\n dragging,\n reversed,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n },\n };\n}\n"],"names":["useDraggable","useEnsuredId","useWindowSplitter","options","id","propId","reversed","vertical","draggableImplementation","dragging","percentage","draggableRef","mouseEventHandlers","keyboardEventHandlers","splitterProps","undefined","Math","ceil","ref","role"],"mappings":"AAAA;AAEA,SACEA,YAAY,QAOP,+BAA+B;AACtC,SAASC,YAAY,QAAQ,qBAAqB;AAiElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCC,GACD,OAAO,SAASC,kBACdC,OAAiC;IAEjC,MAAM,EAAEC,IAAIC,MAAM,EAAEC,WAAW,KAAK,EAAEC,QAAQ,EAAE,GAAGJ;IAEnD,MAAMC,KAAKH,aAAaI,QAAQ;IAChC,MAAMG,0BAA0BR,aAAaG;IAC7C,MAAM,EACJM,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGL;IAEJ,OAAO;QACL,GAAGA,uBAAuB;QAC1BM,eAAe;YACb,oBAAoBP,WAAW,aAAaQ;YAC5C,iBAAiBC,KAAKC,IAAI,CAACP,aAAa;YACxC,iBAAiB;YACjB,iBAAiB;YACjBN;YACAc,KAAKP;YACLQ,MAAM;YACNV;YACAH;YACA,GAAGM,kBAAkB;YACrB,GAAGC,qBAAqB;QAC1B;IACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-md/core",
3
- "version": "1.0.0-next.1",
3
+ "version": "1.0.0-next.3",
4
4
  "description": "The core components and functionality for react-md.",
5
5
  "type": "module",
6
6
  "sass": "./dist/_core.scss",
@@ -55,22 +55,22 @@
55
55
  "license": "MIT",
56
56
  "dependencies": {
57
57
  "cnbuilder": "^3.1.0",
58
- "nanoid": "^5.0.3"
58
+ "nanoid": "^5.0.4"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@jest/globals": "^29.7.0",
62
62
  "@jest/types": "^29.6.3",
63
- "@swc/cli": "^0.1.62",
64
- "@swc/core": "1.3.96",
63
+ "@swc/cli": "^0.1.63",
64
+ "@swc/core": "1.3.102",
65
65
  "@swc/jest": "^0.2.29",
66
- "@testing-library/dom": "^9.3.3",
67
- "@testing-library/jest-dom": "^6.1.4",
68
- "@testing-library/react": "^14.1.0",
69
- "@testing-library/user-event": "^14.5.1",
70
- "@types/lodash": "^4.14.201",
71
- "@types/node": "^20.9.0",
72
- "@types/react": "^18.2.37",
73
- "@types/react-dom": "^18.2.15",
66
+ "@testing-library/dom": "^9.3.4",
67
+ "@testing-library/jest-dom": "^6.2.0",
68
+ "@testing-library/react": "^14.1.2",
69
+ "@testing-library/user-event": "^14.5.2",
70
+ "@types/lodash": "^4.14.202",
71
+ "@types/node": "^20.11.0",
72
+ "@types/react": "^18.2.47",
73
+ "@types/react-dom": "^18.2.18",
74
74
  "chokidar": "^3.5.3",
75
75
  "filesize": "^10.1.0",
76
76
  "glob": "10.3.10",
@@ -80,14 +80,14 @@
80
80
  "lodash": "^4.17.21",
81
81
  "lz-string": "^1.5.0",
82
82
  "npm-run-all": "^4.1.5",
83
- "postcss": "^8.4.31",
83
+ "postcss": "^8.4.33",
84
84
  "postcss-scss": "^4.0.9",
85
- "stylelint": "^15.11.0",
85
+ "stylelint": "^16.1.0",
86
86
  "stylelint-config-prettier-scss": "^1.0.0",
87
- "stylelint-config-recommended-scss": "^13.1.0",
88
- "stylelint-order": "^6.0.3",
89
- "ts-node": "^10.9.1",
90
- "typescript": "^5.2.2"
87
+ "stylelint-config-recommended-scss": "^14.0.0",
88
+ "stylelint-order": "^6.0.4",
89
+ "ts-node": "^10.9.2",
90
+ "typescript": "^5.3.3"
91
91
  },
92
92
  "peerDependencies": {
93
93
  "@jest/globals": "^29.6.1",
@@ -0,0 +1,181 @@
1
+ import { describe, expect, it } from "@jest/globals";
2
+ import { createRef, type MutableRefObject, type ReactElement } from "react";
3
+ import {
4
+ act,
5
+ cleanupResizeObserverAfterEach,
6
+ render,
7
+ screen,
8
+ setupResizeObserverMock,
9
+ } from "../test-utils/index.js";
10
+ import { type ElementSize } from "../types.js";
11
+ import { useElementSize, type ElementSizeOptions } from "../useElementSize.js";
12
+
13
+ cleanupResizeObserverAfterEach();
14
+
15
+ const getValue = (element: HTMLElement): number =>
16
+ parseFloat(element.textContent || "");
17
+
18
+ function MainTest(
19
+ props: Omit<ElementSizeOptions<HTMLElement>, "ref">
20
+ ): ReactElement {
21
+ const { height, width, elementRef } = useElementSize(props);
22
+
23
+ return (
24
+ <div data-testid="target" ref={elementRef}>
25
+ <div data-testid="height">{height}</div>
26
+ <div data-testid="width">{width}</div>
27
+ </div>
28
+ );
29
+ }
30
+
31
+ const renderMain = (options: ElementSizeOptions<HTMLElement> = {}) => {
32
+ const observer = setupResizeObserverMock();
33
+ render(<MainTest {...options} />);
34
+ const target = screen.getByTestId("target");
35
+ const height = screen.getByTestId("height");
36
+ const width = screen.getByTestId("width");
37
+
38
+ return { target, height, width, observer };
39
+ };
40
+
41
+ describe("useElementSize", () => {
42
+ it("should default to a height and width of 0", async () => {
43
+ const elementSize: MutableRefObject<ElementSize | null> = {
44
+ current: null,
45
+ };
46
+
47
+ function Test(): ReactElement {
48
+ const { height, width, elementRef } = useElementSize();
49
+ if (!elementSize.current) {
50
+ elementSize.current = {
51
+ height,
52
+ width,
53
+ };
54
+ }
55
+
56
+ return <div ref={elementRef} />;
57
+ }
58
+
59
+ render(<Test />);
60
+ expect(elementSize.current).toEqual({
61
+ height: 0,
62
+ width: 0,
63
+ });
64
+ });
65
+
66
+ it("should merge a ref correctly", () => {
67
+ const ref = createRef<HTMLDivElement>();
68
+ function Test(): ReactElement {
69
+ const { elementRef } = useElementSize({ ref });
70
+
71
+ return <div data-testid="div" ref={elementRef} />;
72
+ }
73
+
74
+ render(<Test />);
75
+ expect(ref.current).toBe(screen.getByTestId("div"));
76
+ });
77
+
78
+ it("should update the height and width correctly", () => {
79
+ const { target, height, width, observer } = renderMain();
80
+
81
+ expect(getValue(height)).toBe(0);
82
+ expect(getValue(width)).toBe(0);
83
+
84
+ act(() => {
85
+ observer.resizeElement(target, {
86
+ height: 300,
87
+ width: 200,
88
+ });
89
+ });
90
+
91
+ expect(getValue(height)).toBe(300);
92
+ expect(getValue(width)).toBe(200);
93
+ });
94
+
95
+ it("support not updating when the height changes and the disableHeight is true", () => {
96
+ const { target, height, width, observer } = renderMain({
97
+ disableHeight: true,
98
+ });
99
+
100
+ expect(getValue(height)).toBe(0);
101
+ expect(getValue(width)).toBe(0);
102
+
103
+ act(() => {
104
+ observer.resizeElement(target, {
105
+ height: 300,
106
+ width: 200,
107
+ });
108
+ });
109
+
110
+ expect(getValue(height)).toBe(300);
111
+ expect(getValue(width)).toBe(200);
112
+
113
+ act(() => {
114
+ observer.resizeElement(target, {
115
+ height: 600,
116
+ width: 200,
117
+ });
118
+ });
119
+
120
+ expect(getValue(height)).toBe(300);
121
+ expect(getValue(width)).toBe(200);
122
+ });
123
+
124
+ it("support not updating when the width changes and the disableWidth is true", () => {
125
+ const { target, height, width, observer } = renderMain({
126
+ disableWidth: true,
127
+ });
128
+
129
+ expect(getValue(height)).toBe(0);
130
+ expect(getValue(width)).toBe(0);
131
+
132
+ act(() => {
133
+ observer.resizeElement(target, {
134
+ height: 300,
135
+ width: 200,
136
+ });
137
+ });
138
+
139
+ expect(getValue(height)).toBe(300);
140
+ expect(getValue(width)).toBe(200);
141
+
142
+ act(() => {
143
+ observer.resizeElement(target, {
144
+ height: 300,
145
+ width: 800,
146
+ });
147
+ });
148
+
149
+ expect(getValue(height)).toBe(300);
150
+ expect(getValue(width)).toBe(200);
151
+ });
152
+
153
+ it("should allow for a defaultValue", () => {
154
+ const elementSize: MutableRefObject<ElementSize | null> = {
155
+ current: null,
156
+ };
157
+
158
+ function Test(): ReactElement {
159
+ const { height, width, elementRef } = useElementSize({
160
+ defaultValue: () => ({
161
+ height: 300,
162
+ width: 200,
163
+ }),
164
+ });
165
+ if (!elementSize.current) {
166
+ elementSize.current = {
167
+ height,
168
+ width,
169
+ };
170
+ }
171
+
172
+ return <div ref={elementRef} />;
173
+ }
174
+ render(<Test />);
175
+
176
+ expect(elementSize.current).toEqual({
177
+ height: 300,
178
+ width: 200,
179
+ });
180
+ });
181
+ });
@@ -0,0 +1,56 @@
1
+ /** @jest-environment node */
2
+
3
+ import { describe, expect, it } from "@jest/globals";
4
+ import { type MutableRefObject } from "react";
5
+ import { renderToString } from "react-dom/server";
6
+ import { type ElementSize } from "../types.js";
7
+ import { useWindowSize } from "../useWindowSize.js";
8
+
9
+ describe("useWindowSize", () => {
10
+ it("should default to 0 in ssr", () => {
11
+ const sizeRef: MutableRefObject<ElementSize | null> = {
12
+ current: null,
13
+ };
14
+ function Test(): null {
15
+ const { height, width } = useWindowSize();
16
+ sizeRef.current = {
17
+ height,
18
+ width,
19
+ };
20
+
21
+ return null;
22
+ }
23
+
24
+ expect(renderToString(<Test />)).toBe("");
25
+ expect(sizeRef.current).toEqual({
26
+ height: 0,
27
+ width: 0,
28
+ });
29
+ });
30
+
31
+ it("should allow for custom ssr default values", () => {
32
+ const ssrHeight = 1080;
33
+ const ssrWidth = 1920;
34
+ const sizeRef: MutableRefObject<ElementSize | null> = {
35
+ current: null,
36
+ };
37
+ function Test(): null {
38
+ const { height, width } = useWindowSize({
39
+ ssrHeight,
40
+ ssrWidth,
41
+ });
42
+ sizeRef.current = {
43
+ height,
44
+ width,
45
+ };
46
+
47
+ return null;
48
+ }
49
+
50
+ expect(renderToString(<Test />)).toBe("");
51
+ expect(sizeRef.current).toEqual({
52
+ height: ssrHeight,
53
+ width: ssrWidth,
54
+ });
55
+ });
56
+ });
@@ -0,0 +1,156 @@
1
+ import { beforeAll, beforeEach, describe, expect, it } from "@jest/globals";
2
+ import { createRef, type MutableRefObject, type ReactElement } from "react";
3
+ import { act } from "react-dom/test-utils";
4
+ import { SsrProvider } from "../SsrProvider.js";
5
+ import { render, screen, waitFor } from "../test-utils/index.js";
6
+ import { type ElementSize } from "../types.js";
7
+ import { useWindowSize, type WindowSizeOptions } from "../useWindowSize.js";
8
+
9
+ const getValue = (element: HTMLElement): number =>
10
+ parseFloat(element.textContent || "");
11
+
12
+ interface TestProps extends WindowSizeOptions {
13
+ initialRef?: MutableRefObject<ElementSize | null>;
14
+ }
15
+
16
+ function Test(props: TestProps): ReactElement {
17
+ const { initialRef, ...options } = props;
18
+
19
+ const { height, width } = useWindowSize(options);
20
+ if (initialRef && !initialRef.current) {
21
+ initialRef.current = { height, width };
22
+ }
23
+
24
+ return (
25
+ <>
26
+ <div data-testid="height">{height}</div>
27
+ <div data-testid="width">{width}</div>
28
+ </>
29
+ );
30
+ }
31
+
32
+ let HEIGHT: number;
33
+ let WIDTH: number;
34
+ beforeAll(() => {
35
+ HEIGHT = window.innerHeight;
36
+ WIDTH = window.innerWidth;
37
+ });
38
+
39
+ beforeEach(() => {
40
+ window.innerHeight = HEIGHT;
41
+ window.innerWidth = WIDTH;
42
+ });
43
+
44
+ describe("useWindowSize", () => {
45
+ it("should default to 0 when in ssr mode", async () => {
46
+ // disable throttle so don't need to await the throttled hydration
47
+ const initialRef = createRef<ElementSize | null>();
48
+ render(
49
+ <SsrProvider ssr>
50
+ <Test initialRef={initialRef} />
51
+ </SsrProvider>
52
+ );
53
+
54
+ expect(initialRef.current).toEqual({
55
+ height: 0,
56
+ width: 0,
57
+ });
58
+
59
+ const height = screen.getByTestId("height");
60
+ const width = screen.getByTestId("width");
61
+ await waitFor(() => {
62
+ expect(getValue(height)).toBe(HEIGHT);
63
+ });
64
+ expect(getValue(width)).toBe(WIDTH);
65
+ });
66
+
67
+ it("should allow custom ssr default values in ssr mode", async () => {
68
+ const initialRef = createRef<ElementSize | null>();
69
+ const ssrHeight = 1080;
70
+ const ssrWidth = 1920;
71
+ render(
72
+ <SsrProvider ssr>
73
+ <Test
74
+ initialRef={initialRef}
75
+ ssrHeight={ssrHeight}
76
+ ssrWidth={ssrWidth}
77
+ />
78
+ </SsrProvider>
79
+ );
80
+
81
+ expect(initialRef.current).toEqual({
82
+ height: ssrHeight,
83
+ width: ssrWidth,
84
+ });
85
+
86
+ const height = screen.getByTestId("height");
87
+ const width = screen.getByTestId("width");
88
+ await waitFor(() => {
89
+ expect(getValue(height)).toBe(HEIGHT);
90
+ });
91
+ expect(getValue(width)).toBe(WIDTH);
92
+ });
93
+
94
+ it("should default to the window size when not in ssr mode", () => {
95
+ const initialRef = createRef<ElementSize | null>();
96
+ render(
97
+ <SsrProvider>
98
+ <Test initialRef={initialRef} />
99
+ </SsrProvider>
100
+ );
101
+
102
+ expect(initialRef.current).toEqual({
103
+ height: HEIGHT,
104
+ width: WIDTH,
105
+ });
106
+
107
+ const height = screen.getByTestId("height");
108
+ const width = screen.getByTestId("width");
109
+ expect(getValue(height)).toBe(HEIGHT);
110
+ expect(getValue(width)).toBe(WIDTH);
111
+ });
112
+
113
+ it("should support disabling updating when only the height changes", () => {
114
+ render(<Test throttle={false} disableHeight />);
115
+ const height = screen.getByTestId("height");
116
+ const width = screen.getByTestId("width");
117
+ expect(getValue(height)).toBe(HEIGHT);
118
+ expect(getValue(width)).toBe(WIDTH);
119
+
120
+ act(() => {
121
+ window.innerHeight = 1000;
122
+ window.dispatchEvent(new Event("resize"));
123
+ });
124
+ expect(getValue(height)).toBe(HEIGHT);
125
+ expect(getValue(width)).toBe(WIDTH);
126
+
127
+ act(() => {
128
+ window.innerWidth = 800;
129
+ window.dispatchEvent(new Event("resize"));
130
+ });
131
+ expect(getValue(height)).toBe(1000);
132
+ expect(getValue(width)).toBe(800);
133
+ });
134
+
135
+ it("should support disabling updating when only the width changes", () => {
136
+ render(<Test throttle={false} disableWidth />);
137
+ const height = screen.getByTestId("height");
138
+ const width = screen.getByTestId("width");
139
+ expect(getValue(height)).toBe(HEIGHT);
140
+ expect(getValue(width)).toBe(WIDTH);
141
+
142
+ act(() => {
143
+ window.innerWidth = 800;
144
+ window.dispatchEvent(new Event("resize"));
145
+ });
146
+ expect(getValue(height)).toBe(HEIGHT);
147
+ expect(getValue(width)).toBe(WIDTH);
148
+
149
+ act(() => {
150
+ window.innerHeight = 1000;
151
+ window.dispatchEvent(new Event("resize"));
152
+ });
153
+ expect(getValue(height)).toBe(1000);
154
+ expect(getValue(width)).toBe(800);
155
+ });
156
+ });
@@ -168,8 +168,16 @@ $box-shadow-3-layers: (
168
168
  }
169
169
  }
170
170
 
171
- #{$active-string} {
172
- opacity: 1;
171
+ @if $active-selectors == "&:hover" {
172
+ @include utils.mouse-hover {
173
+ #{$active-string} {
174
+ opacity: 1;
175
+ }
176
+ }
177
+ } @else {
178
+ #{$active-string} {
179
+ opacity: 1;
180
+ }
173
181
  }
174
182
  }
175
183
  }
@@ -179,6 +187,7 @@ $box-shadow-3-layers: (
179
187
  $end-z-value,
180
188
  $active-selectors,
181
189
  $pseudo-before: true,
190
+ $pseudo-z-index: 0,
182
191
  $duration: transition.$linear-duration,
183
192
  $color: $box-shadow-color,
184
193
  $opacity-boost: 0,
@@ -201,6 +210,7 @@ $box-shadow-3-layers: (
201
210
  $active-selectors,
202
211
  $duration,
203
212
  $pseudo-before,
213
+ $pseudo-z-index,
204
214
  $position-relative: $position-relative
205
215
  );
206
216
  }
package/src/_core.scss CHANGED
@@ -1,5 +1,3 @@
1
- @use "sass:list" as sassList;
2
-
3
1
  @forward "utils";
4
2
  @forward "media-queries/media-queries";
5
3
  @forward "box/box" as box-*;
@@ -312,6 +310,7 @@ $_layer-order: (
312
310
  @include form.use-light-theme;
313
311
  @include table.use-light-theme;
314
312
  @include segmented-button.use-light-theme;
313
+ @include badge.use-light-theme;
315
314
  }
316
315
 
317
316
  @mixin use-dark-theme {
@@ -326,6 +325,38 @@ $_layer-order: (
326
325
  @include form.use-dark-theme;
327
326
  @include table.use-dark-theme;
328
327
  @include segmented-button.use-dark-theme;
328
+ @include badge.use-dark-theme;
329
+ }
330
+
331
+ @mixin variables {
332
+ @include theme.theme-variables;
333
+ @include app-bar.variables;
334
+ @include avatar.variables;
335
+ @include badge.variables;
336
+ @include box.variables;
337
+ @include button.variables;
338
+ @include card.variables;
339
+ @include chip.variables;
340
+ @include dialog.variables;
341
+ @include divider.variables;
342
+ @include form.variables;
343
+ @include icon.variables;
344
+ @include interaction.variables;
345
+ @include layout.variables;
346
+ @include link.variables;
347
+ @include list.variables;
348
+ @include menu.variables;
349
+ @include overlay.variables;
350
+ @include progress.variables;
351
+ @include segmented-button.variables;
352
+ @include sheet.variables;
353
+ @include snackbar.variables;
354
+ @include table.variables;
355
+ @include tabs.variables;
356
+ @include tooltip.variables;
357
+ @include transition.transition-variables;
358
+ @include tree.variables;
359
+ @include typography.typography-variables;
329
360
  }
330
361
 
331
362
  @mixin styles {
@@ -453,7 +484,7 @@ $_layer-order: (
453
484
 
454
485
  @if not theme.$disable-default-root-theme {
455
486
  :root {
456
- @include theme.colors;
487
+ @include variables;
457
488
 
458
489
  @if not
459
490
  theme.$disable-default-system-theme and
package/src/_utils.scss CHANGED
@@ -5,6 +5,16 @@
5
5
 
6
6
  $disable-rtl: false !default;
7
7
  $disable-validation: false !default;
8
+ // :has css selectors will arrive in firefox 121 so the browsers I support will
9
+ // also support it by the time of the react-md release. allowing this to be
10
+ // disabled just to be safe though
11
+ $disable-has-selectors: false !default;
12
+ // I'm reducing the required CSS for `:focus` styles by switching to
13
+ // `:focus-visible` instead of `.keyboard-only .some-selector:focus` but there
14
+ // are some things I don't like as much when switching from mouse to keyboard.
15
+ // Defaulting to `:focus-visible`, but allowing the keyboard-only styles as well
16
+ // if users are more familiar with it
17
+ $disable-focus-visible: false !default;
8
18
  $temporary-element-z-index: 30 !default;
9
19
 
10
20
  $_swappable-positions: top right bottom left;
@@ -64,6 +74,63 @@ $_swappable-properties: text-align;
64
74
  @return if($is-list, $key-or-value, map.get($list-or-map, $key-or-value));
65
75
  }
66
76
 
77
+ @function get-var-name($variables, $name, $group) {
78
+ @if $group == icon {
79
+ @if $name == symbol-grade {
80
+ @return --rmd-symbol-grad;
81
+ }
82
+ @if $name == symbol-weight {
83
+ @return --rmd-symbol-wght;
84
+ }
85
+ @if $name == optical-size {
86
+ @return --rmd-symbol-opsz;
87
+ }
88
+ }
89
+ @if $group == name and $name == fab-offset {
90
+ @return --rmd-fab-offset;
91
+ }
92
+
93
+ @if $group == form {
94
+ @if $name ==
95
+ addon-top or
96
+ $name ==
97
+ addon-margin-top or
98
+ $name ==
99
+ active-color or
100
+ $name ==
101
+ focus-color
102
+ {
103
+ @return --rmd-form-#{$name};
104
+ }
105
+ }
106
+ @if $group == interaction and $name == background-color {
107
+ @return --rmd-interaction-#{$name};
108
+ }
109
+
110
+ @if $group == list {
111
+ $updated: str-replace(
112
+ str-replace($name, "horizontal-padding", "padding-h"),
113
+ "vertical-padding",
114
+ "padding-v"
115
+ );
116
+ @if $updated != $name {
117
+ @return --rmd-list-#{$name};
118
+ }
119
+ }
120
+
121
+ @if $group == snackbar and $name != offset {
122
+ @return --rmd-toast-#{$name};
123
+ }
124
+
125
+ $prefix: "";
126
+ @if not list.index((theme, form, interaction, transition, typography), $group)
127
+ {
128
+ $prefix: $group + "-";
129
+ }
130
+
131
+ @return "--rmd-" + $prefix + validate($variables, $name, $group + " var");
132
+ }
133
+
67
134
  @mixin map-to-styles($map) {
68
135
  @each $property, $value in $map {
69
136
  @if meta.type-of($value) == map {
@@ -257,3 +324,15 @@ $_swappable-properties: text-align;
257
324
  @content;
258
325
  }
259
326
  }
327
+
328
+ @mixin mouse-hover($wrap-in-hover: true) {
329
+ @media (hover: hover) and (pointer: fine) {
330
+ @if $wrap-in-hover {
331
+ &:hover {
332
+ @content;
333
+ }
334
+ } @else {
335
+ @content;
336
+ }
337
+ }
338
+ }