@react-md/core 1.0.0-next.0 → 1.0.0-next.2

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 (1006) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/CHANGELOG.md +65 -0
  3. package/coverage/clover.xml +3 -1118
  4. package/coverage/coverage-final.json +1 -7
  5. package/coverage/lcov-report/CircularProgress.tsx.html +799 -0
  6. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  7. package/coverage/lcov-report/Dialog.tsx.html +1309 -0
  8. package/coverage/lcov-report/DialogContent.tsx.html +178 -0
  9. package/coverage/lcov-report/DialogFooter.tsx.html +169 -0
  10. package/coverage/lcov-report/LinearProgress.tsx.html +658 -0
  11. package/coverage/lcov-report/MaterialIcon.tsx.html +36 -42
  12. package/coverage/lcov-report/MaterialSymbol.tsx.html +240 -222
  13. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +979 -0
  14. package/coverage/lcov-report/MenuItemSeparator.tsx.html +223 -0
  15. package/coverage/lcov-report/MenuItemTextField.tsx.html +289 -0
  16. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  17. package/coverage/lcov-report/Switch.tsx.html +535 -0
  18. package/coverage/lcov-report/SwitchTrack.tsx.html +262 -0
  19. package/coverage/lcov-report/Table.tsx.html +457 -0
  20. package/coverage/lcov-report/TableCell.tsx.html +982 -0
  21. package/coverage/lcov-report/TableCheckbox.tsx.html +709 -0
  22. package/coverage/lcov-report/TableContainer.tsx.html +220 -0
  23. package/coverage/lcov-report/TableFooter.tsx.html +502 -0
  24. package/coverage/lcov-report/TableHeader.tsx.html +541 -0
  25. package/coverage/lcov-report/TableRadio.tsx.html +670 -0
  26. package/coverage/lcov-report/TableRow.tsx.html +289 -0
  27. package/coverage/lcov-report/Toast.tsx.html +868 -0
  28. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  29. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  30. package/coverage/lcov-report/Tooltip.tsx.html +98 -155
  31. package/coverage/lcov-report/avatar/Avatar.tsx.html +37 -31
  32. package/coverage/lcov-report/avatar/index.html +22 -7
  33. package/coverage/lcov-report/avatar/styles.ts.html +268 -0
  34. package/coverage/lcov-report/button/AsyncButton.tsx.html +217 -10
  35. package/coverage/lcov-report/button/Button.tsx.html +95 -83
  36. package/coverage/lcov-report/button/index.html +12 -12
  37. package/coverage/lcov-report/config.ts.html +33 -18
  38. package/coverage/lcov-report/cssUtils.ts.html +143 -65
  39. package/coverage/lcov-report/dialog/Dialog.tsx.html +170 -167
  40. package/coverage/lcov-report/dialog/DialogContent.tsx.html +178 -0
  41. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +169 -0
  42. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +148 -0
  43. package/coverage/lcov-report/dialog/DialogTitle.tsx.html +256 -0
  44. package/coverage/lcov-report/dialog/index.html +18 -33
  45. package/coverage/lcov-report/dialog/styles.ts.html +439 -0
  46. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +36 -24
  47. package/coverage/lcov-report/form/MenuItemTextField.tsx.html +12 -9
  48. package/coverage/lcov-report/form/SliderValueTooltip.tsx.html +319 -0
  49. package/coverage/lcov-report/form/Switch.tsx.html +310 -385
  50. package/coverage/lcov-report/form/SwitchTrack.tsx.html +98 -71
  51. package/coverage/lcov-report/form/index.html +20 -245
  52. package/coverage/lcov-report/form/switchStyles.ts.html +172 -0
  53. package/coverage/lcov-report/form/useRadioGroup.ts.html +79 -79
  54. package/coverage/lcov-report/hoverMode/index.html +116 -0
  55. package/coverage/lcov-report/hoverMode/useHoverMode.ts.html +676 -0
  56. package/coverage/lcov-report/icon/FontIcon.tsx.html +37 -46
  57. package/coverage/lcov-report/icon/index.html +12 -12
  58. package/coverage/lcov-report/icon/styles.ts.html +41 -104
  59. package/coverage/lcov-report/iconConfig.tsx.html +973 -0
  60. package/coverage/lcov-report/index.html +11 -101
  61. package/coverage/lcov-report/link/Link.tsx.html +358 -0
  62. package/coverage/lcov-report/link/index.html +20 -20
  63. package/coverage/lcov-report/list/ListItemLink.tsx.html +29 -35
  64. package/coverage/lcov-report/list/index.html +8 -38
  65. package/coverage/lcov-report/materialConfig.ts.html +703 -0
  66. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  67. package/coverage/lcov-report/media-queries/index.html +10 -10
  68. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +976 -0
  69. package/coverage/lcov-report/menu/Menu.tsx.html +111 -60
  70. package/coverage/lcov-report/menu/MenuConfigurationProvider.tsx.html +637 -0
  71. package/coverage/lcov-report/menu/MenuSheet.tsx.html +37 -13
  72. package/coverage/lcov-report/menu/index.html +35 -65
  73. package/coverage/lcov-report/menu/menuConfig.ts.html +118 -0
  74. package/coverage/lcov-report/progress/CircularProgress.tsx.html +799 -0
  75. package/coverage/lcov-report/progress/LinearProgress.tsx.html +100 -94
  76. package/coverage/lcov-report/progress/index.html +22 -7
  77. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  78. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  79. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  80. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  81. package/coverage/lcov-report/snackbar/index.html +59 -14
  82. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  83. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  84. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  85. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  86. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  87. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  88. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  89. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +65 -65
  90. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  91. package/coverage/lcov-report/src/app-bar/index.html +20 -5
  92. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +36 -27
  93. package/coverage/lcov-report/src/avatar/index.html +22 -7
  94. package/coverage/lcov-report/src/avatar/styles.ts.html +77 -8
  95. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  96. package/coverage/lcov-report/src/badge/index.html +1 -1
  97. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  98. package/coverage/lcov-report/src/box/index.html +10 -25
  99. package/coverage/lcov-report/src/box/styles.ts.html +103 -49
  100. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +833 -284
  101. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  102. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  103. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +39 -39
  104. package/coverage/lcov-report/src/button/buttonStyles.ts.html +59 -59
  105. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  106. package/coverage/lcov-report/src/button/index.html +23 -8
  107. package/coverage/lcov-report/src/card/Card.tsx.html +1 -1
  108. package/coverage/lcov-report/src/card/CardContent.tsx.html +1 -1
  109. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  110. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  111. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  112. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  113. package/coverage/lcov-report/src/card/index.html +95 -5
  114. package/coverage/lcov-report/src/card/styles.ts.html +1 -1
  115. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  116. package/coverage/lcov-report/src/chip/index.html +1 -1
  117. package/coverage/lcov-report/src/chip/styles.ts.html +1 -1
  118. package/coverage/lcov-report/src/cssUtils.ts.html +68 -59
  119. package/coverage/lcov-report/src/delegateEvent.ts.html +84 -84
  120. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +158 -155
  121. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +27 -27
  122. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +72 -72
  123. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +14 -14
  124. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +9 -9
  125. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +124 -124
  126. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  127. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +3 -3
  128. package/coverage/lcov-report/src/dialog/index.html +21 -21
  129. package/coverage/lcov-report/src/dialog/styles.ts.html +61 -61
  130. package/coverage/lcov-report/src/divider/Divider.tsx.html +24 -24
  131. package/coverage/lcov-report/src/divider/index.html +21 -6
  132. package/coverage/lcov-report/src/divider/styles.ts.html +11 -11
  133. package/coverage/lcov-report/src/draggable/index.html +5 -5
  134. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +322 -322
  135. package/coverage/lcov-report/src/draggable/utils.ts.html +81 -81
  136. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  137. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  138. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +11 -20
  139. package/coverage/lcov-report/src/expansion-panel/index.html +25 -10
  140. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  141. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +1 -1
  142. package/coverage/lcov-report/src/focus/index.html +23 -23
  143. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +142 -121
  144. package/coverage/lcov-report/src/focus/utils.ts.html +37 -37
  145. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  146. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  147. package/coverage/lcov-report/src/form/FileInput.tsx.html +133 -139
  148. package/coverage/lcov-report/src/form/Form.tsx.html +1 -1
  149. package/coverage/lcov-report/src/form/FormMessage.tsx.html +126 -264
  150. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +42 -45
  151. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  152. package/coverage/lcov-report/src/form/InputToggle.tsx.html +7 -16
  153. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +1 -1
  154. package/coverage/lcov-report/src/form/Label.tsx.html +102 -102
  155. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  156. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +11 -5
  157. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +3 -3
  158. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +21 -9
  159. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +11 -5
  160. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  161. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +13 -4
  162. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +20 -5
  163. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  164. package/coverage/lcov-report/src/form/Option.tsx.html +4 -4
  165. package/coverage/lcov-report/src/form/Password.tsx.html +3 -3
  166. package/coverage/lcov-report/src/form/Radio.tsx.html +1 -1
  167. package/coverage/lcov-report/src/form/Select.tsx.html +1 -1
  168. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  169. package/coverage/lcov-report/src/form/Slider.tsx.html +129 -9
  170. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  171. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  172. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  173. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +43 -7
  174. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  175. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +11 -5
  176. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +2 -2
  177. package/coverage/lcov-report/src/form/Switch.tsx.html +310 -373
  178. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +99 -69
  179. package/coverage/lcov-report/src/form/TextArea.tsx.html +21 -9
  180. package/coverage/lcov-report/src/form/TextField.tsx.html +16 -10
  181. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +14 -26
  182. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +28 -10
  183. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +17 -8
  184. package/coverage/lcov-report/src/form/fileUtils.ts.html +3 -3
  185. package/coverage/lcov-report/src/form/formConfig.ts.html +18 -18
  186. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +40 -40
  187. package/coverage/lcov-report/src/form/index.html +14 -164
  188. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +1 -1
  189. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +34 -7
  190. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  191. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  192. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  193. package/coverage/lcov-report/src/form/selectUtils.ts.html +6 -9
  194. package/coverage/lcov-report/src/form/sliderUtils.ts.html +20 -14
  195. package/coverage/lcov-report/src/form/switchStyles.ts.html +68 -68
  196. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  197. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  198. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +2 -2
  199. package/coverage/lcov-report/src/form/useFileUpload.ts.html +28 -19
  200. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +5 -8
  201. package/coverage/lcov-report/src/form/useNumberField.ts.html +10 -10
  202. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +22 -7
  203. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +3 -3
  204. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +523 -0
  205. package/coverage/lcov-report/src/form/useSlider.ts.html +2 -2
  206. package/coverage/lcov-report/src/form/useTextField.ts.html +32 -26
  207. package/coverage/lcov-report/src/form/utils.ts.html +2 -2
  208. package/coverage/lcov-report/src/form/validation.ts.html +2 -2
  209. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  210. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +95 -95
  211. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +3 -3
  212. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +34 -43
  213. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +1 -1
  214. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +36 -42
  215. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +240 -222
  216. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  217. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +33 -33
  218. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +973 -0
  219. package/coverage/lcov-report/src/icon/index.html +149 -14
  220. package/coverage/lcov-report/src/icon/material.ts.html +748 -58
  221. package/coverage/lcov-report/src/icon/materialConfig.ts.html +703 -0
  222. package/coverage/lcov-report/src/icon/styles.ts.html +47 -110
  223. package/coverage/lcov-report/src/index.html +8 -8
  224. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +60 -60
  225. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +41 -47
  226. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +240 -240
  227. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  228. package/coverage/lcov-report/src/interaction/index.html +100 -10
  229. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +146 -146
  230. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +17 -17
  231. package/coverage/lcov-report/src/interaction/utils.ts.html +171 -171
  232. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  233. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  234. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  235. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  236. package/coverage/lcov-report/src/layout/index.html +200 -5
  237. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  238. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  239. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  240. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  241. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  242. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +1 -1
  243. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  244. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  245. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  246. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  247. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +3 -3
  248. package/coverage/lcov-report/src/link/Link.tsx.html +39 -9
  249. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  250. package/coverage/lcov-report/src/link/index.html +16 -16
  251. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  252. package/coverage/lcov-report/src/list/List.tsx.html +33 -33
  253. package/coverage/lcov-report/src/list/ListItem.tsx.html +534 -534
  254. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +33 -33
  255. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +77 -77
  256. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +2 -2
  257. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  258. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  259. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +33 -33
  260. package/coverage/lcov-report/src/list/index.html +128 -8
  261. package/coverage/lcov-report/src/list/listItemStyles.ts.html +1 -1
  262. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +59 -59
  263. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  264. package/coverage/lcov-report/src/media-queries/index.html +20 -5
  265. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +24 -24
  266. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +73 -16
  267. package/coverage/lcov-report/src/menu/Menu.tsx.html +66 -33
  268. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  269. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +3 -3
  270. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  271. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  272. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +3 -3
  273. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  274. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +6 -36
  275. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +34 -7
  276. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  277. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  278. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  279. package/coverage/lcov-report/src/menu/index.html +69 -24
  280. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  281. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  282. package/coverage/lcov-report/src/menu/utils.ts.html +10 -10
  283. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  284. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  285. package/coverage/lcov-report/src/movement/index.html +53 -8
  286. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +92 -92
  287. package/coverage/lcov-report/src/movement/utils.ts.html +1 -1
  288. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +64 -64
  289. package/coverage/lcov-report/src/overlay/index.html +1 -1
  290. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +28 -28
  291. package/coverage/lcov-report/src/portal/Portal.tsx.html +9 -9
  292. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +29 -29
  293. package/coverage/lcov-report/src/portal/index.html +20 -5
  294. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  295. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +63 -63
  296. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +65 -65
  297. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +94 -94
  298. package/coverage/lcov-report/src/positioning/index.html +70 -10
  299. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +200 -200
  300. package/coverage/lcov-report/src/positioning/utils.ts.html +111 -111
  301. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +501 -456
  302. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +419 -338
  303. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  304. package/coverage/lcov-report/src/progress/index.html +32 -32
  305. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  306. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  307. package/coverage/lcov-report/src/responsive-item/index.html +20 -5
  308. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  309. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  310. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +25 -25
  311. package/coverage/lcov-report/src/scroll/index.html +5 -5
  312. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +27 -27
  313. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +4 -4
  314. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +29 -8
  315. package/coverage/lcov-report/src/segmented-button/index.html +50 -5
  316. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +15 -6
  317. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  318. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  319. package/coverage/lcov-report/src/sheet/index.html +20 -5
  320. package/coverage/lcov-report/src/sheet/styles.ts.html +28 -28
  321. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +8 -5
  322. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +7 -133
  323. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +2 -2
  324. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  325. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +3 -3
  326. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +7 -115
  327. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +1783 -0
  328. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +16 -1696
  329. package/coverage/lcov-report/src/snackbar/index.html +159 -9
  330. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +214 -0
  331. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +196 -0
  332. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +1 -1
  333. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  334. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +57 -6
  335. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +1 -1
  336. package/coverage/lcov-report/src/suspense/index.html +7 -22
  337. package/coverage/lcov-report/src/table/Table.tsx.html +1 -1
  338. package/coverage/lcov-report/src/table/TableBody.tsx.html +1 -1
  339. package/coverage/lcov-report/src/table/TableCell.tsx.html +20 -35
  340. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +2 -2
  341. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +1 -1
  342. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +6 -12
  343. package/coverage/lcov-report/src/table/TableContainer.tsx.html +1 -1
  344. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  345. package/coverage/lcov-report/src/table/TableFooter.tsx.html +1 -1
  346. package/coverage/lcov-report/src/table/TableHeader.tsx.html +1 -1
  347. package/coverage/lcov-report/src/table/TableRow.tsx.html +1 -1
  348. package/coverage/lcov-report/src/table/index.html +113 -8
  349. package/coverage/lcov-report/src/tabs/Tab.tsx.html +69 -69
  350. package/coverage/lcov-report/src/tabs/TabList.tsx.html +92 -92
  351. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +61 -61
  352. package/coverage/lcov-report/src/tabs/index.html +143 -8
  353. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +157 -0
  354. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +226 -0
  355. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +241 -0
  356. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +17 -17
  357. package/coverage/lcov-report/src/tabs/useTabList.ts.html +94 -94
  358. package/coverage/lcov-report/src/tabs/useTabs.ts.html +54 -54
  359. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  360. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  361. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +1 -1
  362. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +100 -0
  363. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  364. package/coverage/lcov-report/src/test-utils/index.html +114 -9
  365. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +21 -9
  366. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
  367. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  368. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  369. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  370. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  371. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  372. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  373. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  374. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  375. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  376. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +22 -4
  377. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  378. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  379. package/coverage/lcov-report/src/theme/index.html +71 -11
  380. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +1 -1
  381. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  382. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  383. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  384. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  385. package/coverage/lcov-report/src/theme/utils.ts.html +58 -58
  386. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +98 -74
  387. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +60 -6
  388. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  389. package/coverage/lcov-report/src/tooltip/index.html +72 -27
  390. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +18 -18
  391. package/coverage/lcov-report/src/tooltip/useOverflowTooltip.ts.html +196 -196
  392. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +511 -211
  393. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +29 -29
  394. package/coverage/lcov-report/src/tooltip/utils.ts.html +23 -23
  395. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  396. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  397. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  398. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  399. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +1 -1
  400. package/coverage/lcov-report/src/transition/Slide.tsx.html +46 -46
  401. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  402. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
  403. package/coverage/lcov-report/src/transition/config.ts.html +187 -0
  404. package/coverage/lcov-report/src/transition/index.html +295 -10
  405. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  406. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +69 -69
  407. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  408. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +99 -99
  409. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  410. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  411. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  412. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +1 -1
  413. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +20 -20
  414. package/coverage/lcov-report/src/transition/useTransition.ts.html +277 -250
  415. package/coverage/lcov-report/src/transition/utils.ts.html +68 -68
  416. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +2 -2
  417. package/coverage/lcov-report/src/tree/Tree.tsx.html +24 -36
  418. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
  419. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +213 -216
  420. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +3 -3
  421. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +29 -11
  422. package/coverage/lcov-report/src/tree/index.html +114 -9
  423. package/coverage/lcov-report/src/tree/styles.ts.html +1 -1
  424. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  425. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  426. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +10 -13
  427. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
  428. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  429. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  430. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +26 -26
  431. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  432. package/coverage/lcov-report/src/typography/Typography.tsx.html +71 -71
  433. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +75 -75
  434. package/coverage/lcov-report/src/typography/index.html +64 -19
  435. package/coverage/lcov-report/src/useAsyncAction.ts.html +25 -25
  436. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
  437. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  438. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  439. package/coverage/lcov-report/src/useEnsuredRef.ts.html +22 -19
  440. package/coverage/lcov-report/src/useEnsuredState.ts.html +18 -18
  441. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  442. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +32 -32
  443. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  444. package/coverage/lcov-report/src/useLocalStorage.ts.html +225 -225
  445. package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
  446. package/coverage/lcov-report/src/usePageInactive.ts.html +25 -25
  447. package/coverage/lcov-report/src/useResizeListener.ts.html +1 -1
  448. package/coverage/lcov-report/src/useResizeObserver.ts.html +28 -28
  449. package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
  450. package/coverage/lcov-report/src/useToggle.ts.html +18 -18
  451. package/coverage/lcov-report/src/useUnmounted.ts.html +11 -11
  452. package/coverage/lcov-report/src/useWindowSize.ts.html +1 -1
  453. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  454. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  455. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  456. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  457. package/coverage/lcov-report/src/utils/filters.ts.html +1 -1
  458. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  459. package/coverage/lcov-report/src/utils/getPercentage.ts.html +36 -36
  460. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +1 -1
  461. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +1 -1
  462. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  463. package/coverage/lcov-report/src/utils/index.html +212 -17
  464. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +14 -14
  465. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  466. package/coverage/lcov-report/src/utils/nearest.ts.html +1 -1
  467. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +41 -41
  468. package/coverage/lcov-report/src/utils/randomInt.ts.html +1 -1
  469. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  470. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  471. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  472. package/coverage/lcov-report/src/window-splitter/index.html +1 -1
  473. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +1 -1
  474. package/coverage/lcov-report/styles.ts.html +134 -320
  475. package/coverage/lcov-report/switchStyles.ts.html +172 -0
  476. package/coverage/lcov-report/table/Table.tsx.html +526 -0
  477. package/coverage/lcov-report/table/TableBody.tsx.html +280 -0
  478. package/coverage/lcov-report/table/TableCell.tsx.html +159 -168
  479. package/coverage/lcov-report/table/TableCheckbox.tsx.html +10 -13
  480. package/coverage/lcov-report/table/TableRadio.tsx.html +670 -0
  481. package/coverage/lcov-report/table/TableRow.tsx.html +370 -0
  482. package/coverage/lcov-report/table/index.html +62 -32
  483. package/coverage/lcov-report/tableCellStyles.ts.html +334 -0
  484. package/coverage/lcov-report/tableContainerStyles.ts.html +142 -0
  485. package/coverage/lcov-report/tableFooterStyles.ts.html +157 -0
  486. package/coverage/lcov-report/tableHeaderStyles.ts.html +163 -0
  487. package/coverage/lcov-report/tableRowStyles.ts.html +169 -0
  488. package/coverage/lcov-report/tableStyles.ts.html +157 -0
  489. package/coverage/lcov-report/tabs/Tab.tsx.html +502 -0
  490. package/coverage/lcov-report/tabs/TabList.tsx.html +796 -0
  491. package/coverage/lcov-report/tabs/index.html +62 -17
  492. package/coverage/lcov-report/tabs/useTabs.ts.html +1567 -0
  493. package/coverage/lcov-report/tabs/utils.ts.html +337 -0
  494. package/coverage/lcov-report/test-utils/index.html +20 -20
  495. package/coverage/lcov-report/test-utils/jest-setup.ts.html +124 -0
  496. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +98 -74
  497. package/coverage/lcov-report/tooltip/TooltipHoverModeProvider.tsx.html +167 -11
  498. package/coverage/lcov-report/tooltip/constants.ts.html +1 -1
  499. package/coverage/lcov-report/tooltip/index.html +32 -17
  500. package/coverage/lcov-report/tooltip/tooltipStyles.ts.html +181 -0
  501. package/coverage/lcov-report/tooltip/useTooltip.ts.html +490 -190
  502. package/coverage/lcov-report/tooltipStyles.ts.html +181 -0
  503. package/coverage/lcov-report/transition/config.ts.html +187 -0
  504. package/coverage/lcov-report/transition/index.html +9 -24
  505. package/coverage/lcov-report/transition/useTransition.ts.html +943 -0
  506. package/coverage/lcov-report/tree/Tree.tsx.html +24 -36
  507. package/coverage/lcov-report/tree/TreeItem.tsx.html +213 -216
  508. package/coverage/lcov-report/tree/TreeProvider.tsx.html +55 -10
  509. package/coverage/lcov-report/tree/index.html +14 -59
  510. package/coverage/lcov-report/typography/Typography.tsx.html +108 -402
  511. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +781 -0
  512. package/coverage/lcov-report/typography/index.html +8 -8
  513. package/coverage/lcov-report/useTooltip.ts.html +651 -375
  514. package/coverage/lcov-report/useTransition.ts.html +934 -0
  515. package/coverage/lcov-report/utils/index.html +24 -39
  516. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  517. package/coverage/lcov-report/utils/parseCssLengthUnit.ts.html +19 -19
  518. package/coverage/lcov.info +0 -1176
  519. package/dist/_core.scss +39 -2
  520. package/dist/_utils.scss +57 -0
  521. package/dist/app-bar/_app-bar.scss +15 -23
  522. package/dist/avatar/Avatar.d.ts +2 -15
  523. package/dist/avatar/Avatar.js +3 -2
  524. package/dist/avatar/Avatar.js.map +1 -1
  525. package/dist/avatar/_avatar.scss +30 -37
  526. package/dist/avatar/styles.d.ts +20 -2
  527. package/dist/avatar/styles.js +4 -1
  528. package/dist/avatar/styles.js.map +1 -1
  529. package/dist/badge/_badge.scss +71 -44
  530. package/dist/box/_box.scss +18 -29
  531. package/dist/button/AsyncButton.d.ts +29 -0
  532. package/dist/button/AsyncButton.js +14 -1
  533. package/dist/button/AsyncButton.js.map +1 -1
  534. package/dist/button/_button.scss +50 -62
  535. package/dist/card/_card.scss +14 -23
  536. package/dist/chip/_chip.scss +33 -62
  537. package/dist/chip/styles.d.ts +1 -1
  538. package/dist/chip/styles.js +3 -4
  539. package/dist/chip/styles.js.map +1 -1
  540. package/dist/cssUtils.d.ts +1 -0
  541. package/dist/cssUtils.js +1 -1
  542. package/dist/cssUtils.js.map +1 -1
  543. package/dist/dialog/Dialog.d.ts +1 -1
  544. package/dist/dialog/Dialog.js +2 -1
  545. package/dist/dialog/Dialog.js.map +1 -1
  546. package/dist/dialog/_dialog.scss +95 -93
  547. package/dist/divider/Divider.d.ts +0 -1
  548. package/dist/divider/Divider.js.map +1 -1
  549. package/dist/divider/_divider.scss +33 -43
  550. package/dist/focus/useFocusContainer.d.ts +8 -8
  551. package/dist/focus/useFocusContainer.js +11 -10
  552. package/dist/focus/useFocusContainer.js.map +1 -1
  553. package/dist/form/Label.d.ts +5 -5
  554. package/dist/form/Label.js.map +1 -1
  555. package/dist/form/MenuItemInputToggle.js +2 -2
  556. package/dist/form/MenuItemInputToggle.js.map +1 -1
  557. package/dist/form/MenuItemTextField.d.ts +2 -0
  558. package/dist/form/MenuItemTextField.js.map +1 -1
  559. package/dist/form/Slider.d.ts +41 -5
  560. package/dist/form/Slider.js +2 -1
  561. package/dist/form/Slider.js.map +1 -1
  562. package/dist/form/SliderThumb.d.ts +7 -2
  563. package/dist/form/SliderThumb.js +4 -2
  564. package/dist/form/SliderThumb.js.map +1 -1
  565. package/dist/form/SliderValueMarks.js +1 -1
  566. package/dist/form/SliderValueMarks.js.map +1 -1
  567. package/dist/form/SliderValueTooltip.js +1 -1
  568. package/dist/form/SliderValueTooltip.js.map +1 -1
  569. package/dist/form/Switch.d.ts +3 -2
  570. package/dist/form/Switch.js +7 -26
  571. package/dist/form/Switch.js.map +1 -1
  572. package/dist/form/SwitchTrack.d.ts +2 -1
  573. package/dist/form/SwitchTrack.js +8 -4
  574. package/dist/form/SwitchTrack.js.map +1 -1
  575. package/dist/form/TextArea.js +1 -1
  576. package/dist/form/TextArea.js.map +1 -1
  577. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  578. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  579. package/dist/form/_form.scss +241 -237
  580. package/dist/form/switchStyles.d.ts +1 -0
  581. package/dist/form/switchStyles.js +2 -1
  582. package/dist/form/switchStyles.js.map +1 -1
  583. package/dist/form/textAreaStyles.d.ts +2 -2
  584. package/dist/form/textAreaStyles.js.map +1 -1
  585. package/dist/form/types.d.ts +0 -2
  586. package/dist/form/types.js.map +1 -1
  587. package/dist/hoverMode/useHoverMode.d.ts +2 -2
  588. package/dist/hoverMode/useHoverMode.js +1 -1
  589. package/dist/hoverMode/useHoverMode.js.map +1 -1
  590. package/dist/icon/FontIcon.d.ts +2 -1
  591. package/dist/icon/FontIcon.js +4 -5
  592. package/dist/icon/FontIcon.js.map +1 -1
  593. package/dist/icon/MaterialIcon.d.ts +2 -2
  594. package/dist/icon/MaterialIcon.js +3 -6
  595. package/dist/icon/MaterialIcon.js.map +1 -1
  596. package/dist/icon/MaterialSymbol.d.ts +15 -8
  597. package/dist/icon/MaterialSymbol.js +15 -11
  598. package/dist/icon/MaterialSymbol.js.map +1 -1
  599. package/dist/icon/_icon.scss +31 -47
  600. package/dist/icon/iconConfig.js.map +1 -1
  601. package/dist/icon/material.d.ts +1 -1
  602. package/dist/icon/material.js.map +1 -1
  603. package/dist/icon/{MaterialSymbolsProvider.d.ts → materialConfig.d.ts} +25 -14
  604. package/dist/icon/materialConfig.js +29 -0
  605. package/dist/icon/materialConfig.js.map +1 -0
  606. package/dist/icon/styles.d.ts +0 -15
  607. package/dist/icon/styles.js +2 -4
  608. package/dist/icon/styles.js.map +1 -1
  609. package/dist/index.d.ts +8 -6
  610. package/dist/index.js +8 -6
  611. package/dist/index.js.map +1 -1
  612. package/dist/interaction/_interaction.scss +47 -57
  613. package/dist/layout/_layout.scss +14 -19
  614. package/dist/link/Link.d.ts +12 -6
  615. package/dist/link/Link.js +1 -2
  616. package/dist/link/Link.js.map +1 -1
  617. package/dist/link/_link.scss +15 -23
  618. package/dist/list/ListItemLink.d.ts +1 -1
  619. package/dist/list/ListItemLink.js.map +1 -1
  620. package/dist/list/_list.scss +53 -63
  621. package/dist/menu/DropdownMenu.d.ts +12 -1
  622. package/dist/menu/DropdownMenu.js +13 -4
  623. package/dist/menu/DropdownMenu.js.map +1 -1
  624. package/dist/menu/Menu.d.ts +8 -0
  625. package/dist/menu/Menu.js +2 -1
  626. package/dist/menu/Menu.js.map +1 -1
  627. package/dist/menu/MenuItemSeparator.d.ts +1 -2
  628. package/dist/menu/MenuItemSeparator.js +2 -8
  629. package/dist/menu/MenuItemSeparator.js.map +1 -1
  630. package/dist/menu/MenuSheet.d.ts +6 -1
  631. package/dist/menu/MenuSheet.js.map +1 -1
  632. package/dist/menu/_menu.scss +16 -27
  633. package/dist/overlay/_overlay.scss +14 -19
  634. package/dist/progress/CircularProgress.d.ts +5 -4
  635. package/dist/progress/CircularProgress.js +3 -3
  636. package/dist/progress/CircularProgress.js.map +1 -1
  637. package/dist/progress/LinearProgress.d.ts +7 -5
  638. package/dist/progress/LinearProgress.js +4 -3
  639. package/dist/progress/LinearProgress.js.map +1 -1
  640. package/dist/progress/_progress.scss +25 -30
  641. package/dist/segmented-button/_segmented-button.scss +37 -43
  642. package/dist/sheet/_sheet.scss +24 -42
  643. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  644. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  645. package/dist/snackbar/Snackbar.d.ts +1 -3
  646. package/dist/snackbar/Snackbar.js +2 -3
  647. package/dist/snackbar/Snackbar.js.map +1 -1
  648. package/dist/snackbar/Toast.d.ts +1 -1
  649. package/dist/snackbar/Toast.js +5 -1
  650. package/dist/snackbar/Toast.js.map +1 -1
  651. package/dist/snackbar/ToastManager.d.ts +2 -1
  652. package/dist/snackbar/ToastManager.js +1 -1
  653. package/dist/snackbar/ToastManager.js.map +1 -1
  654. package/dist/snackbar/_snackbar.scss +15 -23
  655. package/dist/suspense/CircularProgressSuspense.d.ts +4 -0
  656. package/dist/suspense/CircularProgressSuspense.js +3 -1
  657. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  658. package/dist/table/Table.d.ts +0 -12
  659. package/dist/table/Table.js +1 -12
  660. package/dist/table/Table.js.map +1 -1
  661. package/dist/table/TableCell.d.ts +13 -38
  662. package/dist/table/TableCell.js +7 -15
  663. package/dist/table/TableCell.js.map +1 -1
  664. package/dist/table/TableCellContent.d.ts +9 -0
  665. package/dist/table/TableCellContent.js +2 -1
  666. package/dist/table/TableCellContent.js.map +1 -1
  667. package/dist/table/TableCheckbox.d.ts +2 -2
  668. package/dist/table/TableCheckbox.js +3 -3
  669. package/dist/table/TableCheckbox.js.map +1 -1
  670. package/dist/table/TableContainer.d.ts +0 -6
  671. package/dist/table/TableContainer.js +1 -6
  672. package/dist/table/TableContainer.js.map +1 -1
  673. package/dist/table/TableFooter.d.ts +7 -1
  674. package/dist/table/TableFooter.js +17 -16
  675. package/dist/table/TableFooter.js.map +1 -1
  676. package/dist/table/TableHeader.d.ts +7 -14
  677. package/dist/table/TableHeader.js +6 -14
  678. package/dist/table/TableHeader.js.map +1 -1
  679. package/dist/table/TableRadio.d.ts +106 -0
  680. package/dist/table/TableRadio.js +106 -0
  681. package/dist/table/TableRadio.js.map +1 -0
  682. package/dist/table/TableRow.d.ts +0 -10
  683. package/dist/table/TableRow.js +1 -12
  684. package/dist/table/TableRow.js.map +1 -1
  685. package/dist/table/_table.scss +71 -88
  686. package/dist/table/tableCellStyles.d.ts +33 -0
  687. package/dist/table/tableCellStyles.js +15 -0
  688. package/dist/table/tableCellStyles.js.map +1 -0
  689. package/dist/table/tableContainerStyles.d.ts +10 -0
  690. package/dist/table/tableContainerStyles.js +9 -0
  691. package/dist/table/tableContainerStyles.js.map +1 -0
  692. package/dist/table/tableFooterStyles.d.ts +10 -0
  693. package/dist/table/tableFooterStyles.js +12 -0
  694. package/dist/table/tableFooterStyles.js.map +1 -0
  695. package/dist/table/tableHeaderStyles.d.ts +10 -0
  696. package/dist/table/tableHeaderStyles.js +13 -0
  697. package/dist/table/tableHeaderStyles.js.map +1 -0
  698. package/dist/table/tableRowStyles.d.ts +10 -0
  699. package/dist/table/tableRowStyles.js +14 -0
  700. package/dist/table/tableRowStyles.js.map +1 -0
  701. package/dist/table/tableStyles.d.ts +12 -0
  702. package/dist/table/tableStyles.js +14 -0
  703. package/dist/table/tableStyles.js.map +1 -0
  704. package/dist/table/types.d.ts +28 -15
  705. package/dist/table/types.js.map +1 -1
  706. package/dist/tabs/_tabs.scss +27 -30
  707. package/dist/test-utils/data-testid.js +2 -0
  708. package/dist/test-utils/data-testid.js.map +1 -0
  709. package/dist/test-utils/jest-setup.js +3 -0
  710. package/dist/test-utils/jest-setup.js.map +1 -1
  711. package/dist/theme/ThemeProvider.d.ts +5 -0
  712. package/dist/theme/ThemeProvider.js.map +1 -1
  713. package/dist/theme/_theme.scss +31 -89
  714. package/dist/tooltip/Tooltip.d.ts +13 -6
  715. package/dist/tooltip/Tooltip.js +2 -2
  716. package/dist/tooltip/Tooltip.js.map +1 -1
  717. package/dist/tooltip/TooltipHoverModeProvider.d.ts +15 -0
  718. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  719. package/dist/tooltip/_tooltip.scss +17 -25
  720. package/dist/tooltip/tooltipStyles.d.ts +2 -1
  721. package/dist/tooltip/tooltipStyles.js +2 -2
  722. package/dist/tooltip/tooltipStyles.js.map +1 -1
  723. package/dist/tooltip/useTooltip.d.ts +71 -8
  724. package/dist/tooltip/useTooltip.js +68 -7
  725. package/dist/tooltip/useTooltip.js.map +1 -1
  726. package/dist/transition/_transition.scss +38 -37
  727. package/dist/transition/config.d.ts +22 -0
  728. package/dist/transition/config.js +16 -0
  729. package/dist/transition/config.js.map +1 -0
  730. package/dist/transition/useTransition.js +15 -6
  731. package/dist/transition/useTransition.js.map +1 -1
  732. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -1
  733. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  734. package/dist/tree/Tree.d.ts +1 -1
  735. package/dist/tree/Tree.js +18 -21
  736. package/dist/tree/Tree.js.map +1 -1
  737. package/dist/tree/TreeItem.js +1 -3
  738. package/dist/tree/TreeItem.js.map +1 -1
  739. package/dist/tree/TreeProvider.d.ts +2 -0
  740. package/dist/tree/TreeProvider.js +3 -1
  741. package/dist/tree/TreeProvider.js.map +1 -1
  742. package/dist/tree/_tree.scss +102 -109
  743. package/dist/typography/_typography.scss +17 -22
  744. package/dist/window-splitter/_window-splitter.scss +19 -45
  745. package/package.json +20 -17
  746. package/src/__tests__/NoSsr.tsx +5 -5
  747. package/src/__tests__/useAsyncAction.tsx +14 -6
  748. package/src/__tests__/useDebouncedFunction.tsx +6 -3
  749. package/src/__tests__/useDropzone.tsx +10 -10
  750. package/src/__tests__/useEnsuredId.tsx +5 -5
  751. package/src/__tests__/useEnsuredState.tsx +1 -2
  752. package/src/__tests__/useLocalStorage.tsx +21 -21
  753. package/src/__tests__/useResizeObserver.tsx +2 -0
  754. package/src/__tests__/useThrottledFunction.tsx +9 -8
  755. package/src/__tests__/useToggle.tsx +10 -10
  756. package/src/_core.scss +39 -2
  757. package/src/_utils.scss +57 -0
  758. package/src/app-bar/__tests__/AppBar.tsx +15 -15
  759. package/src/app-bar/__tests__/AppBarTitle.tsx +3 -5
  760. package/src/app-bar/_app-bar.scss +15 -23
  761. package/src/avatar/Avatar.tsx +12 -20
  762. package/src/avatar/__tests__/Avatar.tsx +6 -6
  763. package/src/avatar/_avatar.scss +30 -37
  764. package/src/avatar/styles.ts +27 -4
  765. package/src/badge/__tests__/Badge.tsx +3 -3
  766. package/src/badge/_badge.scss +71 -44
  767. package/src/box/_box.scss +18 -29
  768. package/src/button/AsyncButton.tsx +71 -4
  769. package/src/button/__tests__/AsyncButton.tsx +2 -0
  770. package/src/button/__tests__/Button.tsx +12 -12
  771. package/src/button/__tests__/ButtonUnstyled.tsx +3 -3
  772. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +31 -8
  773. package/src/button/_button.scss +50 -62
  774. package/src/card/__tests__/Card.tsx +3 -3
  775. package/src/card/__tests__/CardContent.tsx +3 -3
  776. package/src/card/__tests__/CardFooter.tsx +3 -3
  777. package/src/card/__tests__/CardHeader.tsx +5 -5
  778. package/src/card/__tests__/CardSubtitle.tsx +3 -3
  779. package/src/card/__tests__/CardTitle.tsx +3 -3
  780. package/src/card/_card.scss +14 -23
  781. package/src/chip/__tests__/Chip.tsx +20 -22
  782. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +3 -3
  783. package/src/chip/__tests__/__snapshots__/styles.ts.snap +1 -1
  784. package/src/chip/_chip.scss +33 -62
  785. package/src/chip/styles.ts +4 -5
  786. package/src/cssUtils.ts +4 -1
  787. package/src/dialog/Dialog.tsx +5 -4
  788. package/src/dialog/__tests__/Dialog.tsx +316 -0
  789. package/src/dialog/__tests__/DialogContent.tsx +53 -0
  790. package/src/dialog/__tests__/DialogFooter.tsx +70 -0
  791. package/src/dialog/__tests__/DialogHeader.tsx +37 -0
  792. package/src/dialog/__tests__/DialogTitle.tsx +41 -0
  793. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +84 -0
  794. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +36 -0
  795. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +186 -0
  796. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +18 -0
  797. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +26 -0
  798. package/src/dialog/_dialog.scss +95 -93
  799. package/src/divider/Divider.tsx +0 -1
  800. package/src/divider/__tests__/Divider.tsx +3 -3
  801. package/src/divider/_divider.scss +33 -43
  802. package/src/draggable/__tests__/useDraggable.tsx +35 -39
  803. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +28 -23
  804. package/src/focus/__tests__/useFocusContainer.tsx +280 -0
  805. package/src/focus/useFocusContainer.ts +17 -10
  806. package/src/form/Label.tsx +5 -5
  807. package/src/form/MenuItemInputToggle.tsx +6 -2
  808. package/src/form/MenuItemTextField.tsx +3 -0
  809. package/src/form/Slider.tsx +45 -5
  810. package/src/form/SliderThumb.tsx +15 -3
  811. package/src/form/SliderValueMarks.tsx +3 -1
  812. package/src/form/SliderValueTooltip.tsx +1 -1
  813. package/src/form/Switch.tsx +6 -27
  814. package/src/form/SwitchTrack.tsx +12 -2
  815. package/src/form/TextArea.tsx +1 -1
  816. package/src/form/TextFieldContainerStyles.ts +7 -7
  817. package/src/form/__tests__/Checkbox.tsx +5 -5
  818. package/src/form/__tests__/Fieldset.tsx +3 -3
  819. package/src/form/__tests__/FileInput.tsx +2 -2
  820. package/src/form/__tests__/Label.tsx +3 -3
  821. package/src/form/__tests__/Legend.tsx +3 -3
  822. package/src/form/__tests__/Radio.tsx +3 -3
  823. package/src/form/__tests__/Switch.tsx +152 -0
  824. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +428 -0
  825. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +1 -1
  826. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +1 -1
  827. package/src/form/__tests__/useCheckboxGroup.tsx +33 -33
  828. package/src/form/__tests__/useFileUpload.tsx +41 -33
  829. package/src/form/__tests__/useRadioGroup.tsx +25 -25
  830. package/src/form/_form.scss +241 -237
  831. package/src/form/switchStyles.ts +3 -3
  832. package/src/form/textAreaStyles.ts +2 -2
  833. package/src/form/types.ts +0 -2
  834. package/src/hoverMode/useHoverMode.ts +4 -4
  835. package/src/icon/FontIcon.tsx +2 -5
  836. package/src/icon/MaterialIcon.tsx +4 -6
  837. package/src/icon/MaterialSymbol.tsx +18 -12
  838. package/src/icon/__tests__/FontIcon.tsx +7 -11
  839. package/src/icon/__tests__/IconRotator.tsx +4 -4
  840. package/src/icon/__tests__/MaterialIcon.tsx +79 -0
  841. package/src/icon/__tests__/MaterialSymbol.tsx +100 -0
  842. package/src/icon/__tests__/SVGIcon.tsx +6 -5
  843. package/src/icon/__tests__/TextIconSpacing.tsx +15 -17
  844. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +6 -6
  845. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +82 -0
  846. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +42 -0
  847. package/src/icon/_icon.scss +31 -47
  848. package/src/icon/iconConfig.tsx +1 -0
  849. package/src/icon/material.ts +284 -54
  850. package/src/icon/{MaterialSymbolsProvider.tsx → materialConfig.ts} +49 -67
  851. package/src/icon/styles.ts +0 -21
  852. package/src/index.ts +8 -6
  853. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +3 -3
  854. package/src/interaction/_interaction.scss +47 -57
  855. package/src/layout/__tests__/useExpandableLayout.tsx +12 -1
  856. package/src/layout/__tests__/useLayoutTree.tsx +6 -1
  857. package/src/layout/__tests__/useResizableLayout.tsx +13 -1
  858. package/src/layout/__tests__/useTemporaryLayout.tsx +6 -1
  859. package/src/layout/_layout.scss +14 -19
  860. package/src/link/Link.tsx +15 -5
  861. package/src/link/__tests__/Link.tsx +3 -3
  862. package/src/link/__tests__/SkipToMainContent.tsx +11 -14
  863. package/src/link/_link.scss +15 -23
  864. package/src/list/ListItemLink.tsx +1 -1
  865. package/src/list/__tests__/List.tsx +7 -7
  866. package/src/list/__tests__/ListItem.tsx +17 -16
  867. package/src/list/__tests__/ListItemLink.tsx +7 -7
  868. package/src/list/__tests__/ListSubheader.tsx +5 -5
  869. package/src/list/_list.scss +53 -63
  870. package/src/menu/DropdownMenu.tsx +23 -4
  871. package/src/menu/Menu.tsx +11 -0
  872. package/src/menu/MenuItemSeparator.tsx +2 -12
  873. package/src/menu/MenuSheet.tsx +10 -1
  874. package/src/menu/__tests__/DropdownMenu.tsx +74 -65
  875. package/src/menu/__tests__/MenuBar.tsx +57 -48
  876. package/src/menu/__tests__/MenuVisibilityProvider.tsx +3 -3
  877. package/src/menu/_menu.scss +16 -27
  878. package/src/overlay/__tests__/Overlay.tsx +37 -35
  879. package/src/overlay/_overlay.scss +14 -19
  880. package/src/portal/__tests__/PortalContainerProvider.node.tsx +1 -0
  881. package/src/portal/__tests__/PortalContainerProvider.tsx +9 -9
  882. package/src/positioning/__tests__/useFixedPositioning.tsx +20 -14
  883. package/src/progress/CircularProgress.tsx +5 -4
  884. package/src/progress/LinearProgress.tsx +88 -86
  885. package/src/progress/__tests__/CircularProgress.tsx +49 -27
  886. package/src/progress/__tests__/LinearProgress.tsx +40 -25
  887. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +21 -0
  888. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +20 -0
  889. package/src/progress/_progress.scss +25 -30
  890. package/src/segmented-button/_segmented-button.scss +37 -43
  891. package/src/sheet/_sheet.scss +24 -42
  892. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  893. package/src/snackbar/Snackbar.tsx +17 -25
  894. package/src/snackbar/Toast.tsx +7 -2
  895. package/src/snackbar/ToastManager.tsx +3 -2
  896. package/src/snackbar/__tests__/Snackbar.tsx +13 -12
  897. package/src/snackbar/__tests__/Toast.tsx +8 -3
  898. package/src/snackbar/__tests__/ToastActionButton.tsx +2 -2
  899. package/src/snackbar/__tests__/ToastCloseButton.tsx +2 -2
  900. package/src/snackbar/__tests__/ToastManagerProvider.tsx +28 -42
  901. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  902. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  903. package/src/snackbar/_snackbar.scss +15 -23
  904. package/src/suspense/CircularProgressSuspense.tsx +19 -2
  905. package/src/table/Table.tsx +1 -24
  906. package/src/table/TableCell.tsx +22 -85
  907. package/src/table/TableCellContent.tsx +20 -2
  908. package/src/table/TableCheckbox.tsx +3 -3
  909. package/src/table/TableContainer.tsx +1 -8
  910. package/src/table/TableFooter.tsx +30 -23
  911. package/src/table/TableHeader.tsx +23 -40
  912. package/src/table/TableRadio.tsx +195 -0
  913. package/src/table/TableRow.tsx +1 -28
  914. package/src/table/__tests__/Table.tsx +4 -10
  915. package/src/table/__tests__/TableBody.tsx +3 -3
  916. package/src/table/__tests__/TableCheckbox.tsx +10 -11
  917. package/src/table/__tests__/TableContainer.tsx +3 -3
  918. package/src/table/__tests__/TableRadio.tsx +112 -0
  919. package/src/table/__tests__/TableRow.tsx +4 -10
  920. package/src/table/__tests__/__snapshots__/Table.tsx.snap +249 -251
  921. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +3 -3
  922. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +4 -4
  923. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +138 -0
  924. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +4 -6
  925. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +3 -0
  926. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +3 -0
  927. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +3 -0
  928. package/src/table/__tests__/tableContainerStyles.ts +8 -0
  929. package/src/table/__tests__/tableRowStyles.ts +8 -0
  930. package/src/table/__tests__/tableStyles.ts +8 -0
  931. package/src/table/_table.scss +71 -88
  932. package/src/table/tableCellStyles.ts +83 -0
  933. package/src/table/tableContainerStyles.ts +19 -0
  934. package/src/table/tableFooterStyles.ts +27 -0
  935. package/src/table/tableHeaderStyles.ts +29 -0
  936. package/src/table/tableRowStyles.ts +28 -0
  937. package/src/table/tableStyles.ts +24 -0
  938. package/src/table/types.ts +33 -15
  939. package/src/tabs/__tests__/Tab.tsx +3 -3
  940. package/src/tabs/__tests__/TabList.tsx +50 -40
  941. package/src/tabs/__tests__/useTabs.tsx +27 -24
  942. package/src/tabs/_tabs.scss +27 -30
  943. package/src/test-utils/data-testid.ts +5 -0
  944. package/src/test-utils/jest-setup.ts +4 -0
  945. package/src/theme/ThemeProvider.tsx +6 -0
  946. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +4 -4
  947. package/src/theme/__tests__/useCSSVariables.tsx +4 -4
  948. package/src/theme/_theme.scss +31 -89
  949. package/src/tooltip/Tooltip.tsx +17 -9
  950. package/src/tooltip/TooltipHoverModeProvider.tsx +18 -0
  951. package/src/tooltip/__tests__/Tooltip.tsx +147 -104
  952. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +8 -3
  953. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -33
  954. package/src/tooltip/_tooltip.scss +17 -25
  955. package/src/tooltip/tooltipStyles.ts +4 -4
  956. package/src/tooltip/useTooltip.ts +119 -19
  957. package/src/transition/__tests__/CSSTransition.tsx +12 -6
  958. package/src/transition/__tests__/Collapse.tsx +19 -17
  959. package/src/transition/__tests__/CrossFade.tsx +20 -17
  960. package/src/transition/__tests__/ScaleTransition.tsx +18 -14
  961. package/src/transition/__tests__/useCSSTransition.tsx +18 -14
  962. package/src/transition/__tests__/useCollapseTransition.tsx +25 -21
  963. package/src/transition/__tests__/useCrossFadeTransition.tsx +20 -16
  964. package/src/transition/__tests__/useScaleTransition.tsx +18 -12
  965. package/src/transition/__tests__/useTransition.tsx +165 -68
  966. package/src/transition/_transition.scss +38 -37
  967. package/src/transition/config.ts +34 -0
  968. package/src/transition/useTransition.ts +15 -6
  969. package/src/tree/DefaultTreeItemRenderer.tsx +1 -1
  970. package/src/tree/Tree.tsx +20 -24
  971. package/src/tree/TreeItem.tsx +2 -3
  972. package/src/tree/TreeProvider.tsx +6 -0
  973. package/src/tree/__tests__/Tree.tsx +7 -2
  974. package/src/tree/__tests__/TreeGroup.tsx +1 -0
  975. package/src/tree/__tests__/TreeItemExpander.tsx +1 -0
  976. package/src/tree/_tree.scss +102 -109
  977. package/src/typography/__tests__/TextContainer.tsx +3 -3
  978. package/src/typography/__tests__/Typography.tsx +10 -12
  979. package/src/typography/__tests__/WritingDirectionProvider.tsx +7 -7
  980. package/src/typography/_typography.scss +17 -22
  981. package/src/window-splitter/_window-splitter.scss +19 -45
  982. package/dist/divider/VerticalDivider.d.ts +0 -32
  983. package/dist/divider/VerticalDivider.js +0 -40
  984. package/dist/divider/VerticalDivider.js.map +0 -1
  985. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  986. package/dist/divider/useVerticalDividerHeight.js +0 -40
  987. package/dist/divider/useVerticalDividerHeight.js.map +0 -1
  988. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  989. package/dist/icon/MaterialIconsProvider.js +0 -17
  990. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  991. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  992. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  993. package/dist/link/LinkProvider.d.ts +0 -29
  994. package/dist/link/LinkProvider.js +0 -26
  995. package/dist/link/LinkProvider.js.map +0 -1
  996. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  997. package/dist/tooltip/useOverflowTooltip.js +0 -71
  998. package/dist/tooltip/useOverflowTooltip.js.map +0 -1
  999. package/src/divider/VerticalDivider.tsx +0 -50
  1000. package/src/divider/__tests__/VerticalDivider.tsx +0 -35
  1001. package/src/divider/__tests__/__snapshots__/VerticalDivider.tsx.snap +0 -41
  1002. package/src/divider/useVerticalDividerHeight.ts +0 -72
  1003. package/src/icon/MaterialIconsProvider.ts +0 -23
  1004. package/src/link/LinkProvider.tsx +0 -51
  1005. package/src/tooltip/__tests__/useOverflowTooltip.tsx +0 -77
  1006. package/src/tooltip/useOverflowTooltip.ts +0 -93
@@ -1,4 +1,7 @@
1
1
  import { type MouseEvent, type ReactNode } from "react";
2
+ import { type CircularProgressProps } from "../progress/CircularProgress.js";
3
+ import { type LinearProgressProps } from "../progress/LinearProgress.js";
4
+ import { type PropsWithRef } from "../types.js";
2
5
  import { type ButtonProps } from "./Button.js";
3
6
  /**
4
7
  * @remarks \@since 6.0.0
@@ -8,6 +11,11 @@ export type AsyncButtonLoadingType = "circular-before" | "circular-after" | "cir
8
11
  * @remarks \@since 6.0.0
9
12
  */
10
13
  export interface AsyncButtonProps extends ButtonProps {
14
+ /**
15
+ * @see {@link progressAriaLabelledBy}
16
+ * @defaultValue `"async-button" + useId()`
17
+ */
18
+ id?: string;
11
19
  /**
12
20
  * When this is defined and returns a `Promise`, the loading indicator will
13
21
  * display until the promise has resolved.
@@ -63,6 +71,27 @@ export interface AsyncButtonProps extends ButtonProps {
63
71
  * the button, and the loading indicator should replace the icon.
64
72
  */
65
73
  afterAddon?: ReactNode;
74
+ /**
75
+ * An optional label to provide to the progressbar.
76
+ *
77
+ * @see {@link progressAriaLabelledBy}
78
+ */
79
+ progressAriaLabel?: string;
80
+ /**
81
+ * @see {@link id}
82
+ * @defaultValue `id`
83
+ */
84
+ progressAriaLabelledBy?: string;
85
+ /**
86
+ * Any additional props to pass to the `CircularProgress` bar when the
87
+ * {@link loadingType} is one of the circular types.
88
+ */
89
+ linearProgressProps?: PropsWithRef<LinearProgressProps, HTMLDivElement>;
90
+ /**
91
+ * Any additional props to pass to the `LinearProgress` bar when the
92
+ * {@link loadingType} is one of the linear types.
93
+ */
94
+ circularProgressProps?: PropsWithRef<CircularProgressProps, HTMLSpanElement>;
66
95
  }
67
96
  /**
68
97
  * **Client Component**
@@ -6,6 +6,7 @@ import { overlay } from "../overlay/overlayStyles.js";
6
6
  import { CircularProgress } from "../progress/CircularProgress.js";
7
7
  import { LinearProgress } from "../progress/LinearProgress.js";
8
8
  import { useAsyncAction } from "../useAsyncAction.js";
9
+ import { useEnsuredId } from "../useEnsuredId.js";
9
10
  import { Button } from "./Button.js";
10
11
  const noop = ()=>{
11
12
  // do nothing
@@ -72,7 +73,8 @@ const noop = ()=>{
72
73
  *
73
74
  * @remarks \@since 6.0.0
74
75
  */ export const AsyncButton = /*#__PURE__*/ forwardRef(function AsyncButton(props, ref) {
75
- const { onClick = noop, children, floating = null, theme = floating ? "secondary" : "clear", themeType = floating ? "contained" : "flat", buttonType = floating ? "icon" : "text", className, disabled, loading: propLoading = false, loadingType = "circular-overlay", loadingChildren, loadingDisabledTheme = false, afterAddon: propAfterAddon, beforeAddon: propBeforeAddon, ...remaining } = props;
76
+ const { id: propId, onClick = noop, children, floating = null, theme = floating ? "secondary" : "clear", themeType = floating ? "contained" : "flat", buttonType = floating ? "icon" : "text", className, disabled, loading: propLoading = false, loadingType = "circular-overlay", loadingChildren, loadingDisabledTheme = false, afterAddon: propAfterAddon, beforeAddon: propBeforeAddon, linearProgressProps, circularProgressProps, progressAriaLabel, progressAriaLabelledBy: propProgressAriaLabelledBy, ...remaining } = props;
77
+ const id = useEnsuredId(propId, "async-button");
76
78
  const { handleAsync, pending } = useAsyncAction({
77
79
  disabled
78
80
  });
@@ -81,9 +83,19 @@ const noop = ()=>{
81
83
  if (theme === "clear" || theme === "disabled") {
82
84
  progressTheme = "primary";
83
85
  }
86
+ let progressAriaLabelledBy = propProgressAriaLabelledBy;
87
+ if (!progressAriaLabel && !linearProgressProps?.["aria-label"] && !linearProgressProps?.["aria-labelledby"] && !circularProgressProps?.["aria-label"] && !circularProgressProps?.["aria-labelledby"]) {
88
+ progressAriaLabelledBy = id;
89
+ }
84
90
  const progress = loadingType.includes("linear") ? /*#__PURE__*/ _jsx(LinearProgress, {
91
+ "aria-label": progressAriaLabel,
92
+ "aria-labelledby": progressAriaLabelledBy,
93
+ ...linearProgressProps,
85
94
  theme: progressTheme
86
95
  }) : /*#__PURE__*/ _jsx(CircularProgress, {
96
+ "aria-label": progressAriaLabel,
97
+ "aria-labelledby": progressAriaLabelledBy,
98
+ ...circularProgressProps,
87
99
  theme: progressTheme
88
100
  });
89
101
  let afterAddon = propAfterAddon;
@@ -124,6 +136,7 @@ const noop = ()=>{
124
136
  return /*#__PURE__*/ _jsxs(Button, {
125
137
  ...remaining,
126
138
  "aria-disabled": loading || undefined,
139
+ id: id,
127
140
  ref: ref,
128
141
  disabled: disabled,
129
142
  floating: floating,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/button/AsyncButton.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEvent, type ReactNode } from \"react\";\nimport { type BoxAlignItems } from \"../box/styles.js\";\nimport { overlay } from \"../overlay/overlayStyles.js\";\nimport { CircularProgress } from \"../progress/CircularProgress.js\";\nimport { LinearProgress } from \"../progress/LinearProgress.js\";\nimport { type ProgressTheme } from \"../progress/types.js\";\nimport { useAsyncAction } from \"../useAsyncAction.js\";\nimport { Button, type ButtonProps } from \"./Button.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type AsyncButtonLoadingType =\n | \"circular-before\"\n | \"circular-after\"\n | \"circular-overlay\"\n | \"linear-above\"\n | \"linear-below\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface AsyncButtonProps extends ButtonProps {\n /**\n * When this is defined and returns a `Promise`, the loading indicator will\n * display until the promise has resolved.\n *\n * @defaultValue `() => {}`\n */\n onClick?(event: MouseEvent<HTMLButtonElement>): Promise<void> | void;\n\n /**\n * Set this to `true` to manually display a loading spinner.\n *\n * @defaultValue `false`\n */\n loading?: boolean;\n\n /**\n * - `\"circular-overlay\"` - Covers and hides the button content with a\n * centered circular progress\n * - `\"circular-before\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon before the button text.\n * See {@link beforeAddon} as well.\n * - `\"circular-after\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon after the button text.\n * See {@link afterAddon} as well.\n * - `\"linear-above\"` - Renders a linear progress bar at the top of the button\n * while still displaying the button contents. Usually looks good for\n * outlined buttons.\n * - `\"linear-below\"` - Renders a linear progress bar at the bottom of the\n * button while still displaying the button contents. Usually looks good for\n * outlined buttons.\n *\n * @defaultValue `\"circular-overlay\"`\n */\n loadingType?: AsyncButtonLoadingType;\n\n /**\n * Optional content to display instead of the default `children` while\n * loading.\n */\n loadingChildren?: ReactNode;\n\n /**\n * Set this to `true` to use the `disabled` theme while loading.\n *\n * @defaultValue `false`\n */\n loadingDisabledTheme?: boolean;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-before\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n beforeAddon?: ReactNode;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-after\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n afterAddon?: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * The async button can be used to render a loading indicator within a button\n * during an async task. The loading spinner can be shown either by enabling the\n * `loading` prop or returning a promise from the `onClick` event which will\n * continue to show the loading indicator until the promise has been resolved.\n *\n * @example\n * Async onClick\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const [data, setData] = useState(null);\n * return (\n * <AsyncButton\n * type=\"submit\"\n * onClick={async () => {\n * const response = await fetch(\"/my-api\");\n * const json = await response.json();\n * setData(json);\n * }}\n * >\n * Submit\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @example\n * Manual Loading State\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useMutation } from \"@tanstack/query\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const { isLoading, mutate } = useMutation({\n * mutationFn: (newTodo) => fetch('/todos', {\n * method: \"POST\",\n * body: JSON.stringify(newTodo),\n * }),\n * });\n *\n * return (\n * <AsyncButton\n * type=\"submit\"\n * loading={isLoading}\n * onClick={() => {\n * mutate({ id: Date.now(), title: \"Create example\" });\n * }}\n * >\n * Create Todo\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport const AsyncButton = forwardRef<HTMLButtonElement, AsyncButtonProps>(\n function AsyncButton(props, ref) {\n const {\n onClick = noop,\n children,\n floating = null,\n theme = floating ? \"secondary\" : \"clear\",\n themeType = floating ? \"contained\" : \"flat\",\n buttonType = floating ? \"icon\" : \"text\",\n className,\n disabled,\n loading: propLoading = false,\n loadingType = \"circular-overlay\",\n loadingChildren,\n loadingDisabledTheme = false,\n afterAddon: propAfterAddon,\n beforeAddon: propBeforeAddon,\n ...remaining\n } = props;\n const { handleAsync, pending } = useAsyncAction({ disabled });\n const loading = pending || propLoading;\n\n let progressTheme: ProgressTheme = \"current-color\";\n if (theme === \"clear\" || theme === \"disabled\") {\n progressTheme = \"primary\";\n }\n\n const progress = loadingType.includes(\"linear\") ? (\n <LinearProgress theme={progressTheme} />\n ) : (\n <CircularProgress theme={progressTheme} />\n );\n\n let afterAddon = propAfterAddon;\n let beforeAddon = propBeforeAddon;\n let overlayElement: ReactNode;\n let isOverlayCover = false;\n switch (loadingType) {\n case \"circular-before\":\n beforeAddon = loading ? progress : propBeforeAddon;\n break;\n case \"circular-after\":\n afterAddon = loading ? progress : propAfterAddon;\n break;\n case \"circular-overlay\":\n case \"linear-above\":\n case \"linear-below\": {\n let alignItems: BoxAlignItems = \"center\";\n if (loadingType === \"linear-above\") {\n alignItems = \"start\";\n } else if (loadingType === \"linear-below\") {\n alignItems = \"end\";\n } else {\n isOverlayCover = true;\n }\n\n overlayElement = loading && (\n <span\n className={overlay({\n active: true,\n visible: true,\n absolute: true,\n align: alignItems,\n })}\n >\n {progress}\n </span>\n );\n break;\n }\n }\n\n return (\n <Button\n {...remaining}\n aria-disabled={loading || undefined}\n ref={ref}\n disabled={disabled}\n floating={floating}\n className={cnb(\n \"rmd-button--async\",\n loading && isOverlayCover && \"rmd-button--async-overlay\",\n className\n )}\n theme={loading && loadingDisabledTheme ? \"disabled\" : theme}\n themeType={themeType}\n buttonType={buttonType}\n onClick={handleAsync((event) => Promise.resolve(onClick(event)))}\n >\n {beforeAddon}\n {loading && typeof loadingChildren !== \"undefined\"\n ? loadingChildren\n : children}\n {afterAddon}\n {overlayElement}\n </Button>\n );\n }\n);\n"],"names":["cnb","forwardRef","overlay","CircularProgress","LinearProgress","useAsyncAction","Button","noop","AsyncButton","props","ref","onClick","children","floating","theme","themeType","buttonType","className","disabled","loading","propLoading","loadingType","loadingChildren","loadingDisabledTheme","afterAddon","propAfterAddon","beforeAddon","propBeforeAddon","remaining","handleAsync","pending","progressTheme","progress","includes","overlayElement","isOverlayCover","alignItems","span","active","visible","absolute","align","aria-disabled","undefined","event","Promise","resolve"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAyC,QAAQ;AAEpE,SAASC,OAAO,QAAQ,8BAA8B;AACtD,SAASC,gBAAgB,QAAQ,kCAAkC;AACnE,SAASC,cAAc,QAAQ,gCAAgC;AAE/D,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,MAAM,QAA0B,cAAc;AAEvD,MAAMC,OAAO;AACX,aAAa;AACf;AA+EA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DC,GACD,OAAO,MAAMC,4BAAcP,WACzB,SAASO,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,UAAUJ,IAAI,EACdK,QAAQ,EACRC,WAAW,IAAI,EACfC,QAAQD,WAAW,cAAc,OAAO,EACxCE,YAAYF,WAAW,cAAc,MAAM,EAC3CG,aAAaH,WAAW,SAAS,MAAM,EACvCI,SAAS,EACTC,QAAQ,EACRC,SAASC,cAAc,KAAK,EAC5BC,cAAc,kBAAkB,EAChCC,eAAe,EACfC,uBAAuB,KAAK,EAC5BC,YAAYC,cAAc,EAC1BC,aAAaC,eAAe,EAC5B,GAAGC,WACJ,GAAGnB;IACJ,MAAM,EAAEoB,WAAW,EAAEC,OAAO,EAAE,GAAGzB,eAAe;QAAEa;IAAS;IAC3D,MAAMC,UAAUW,WAAWV;IAE3B,IAAIW,gBAA+B;IACnC,IAAIjB,UAAU,WAAWA,UAAU,YAAY;QAC7CiB,gBAAgB;IAClB;IAEA,MAAMC,WAAWX,YAAYY,QAAQ,CAAC,0BACpC,KAAC7B;QAAeU,OAAOiB;uBAEvB,KAAC5B;QAAiBW,OAAOiB;;IAG3B,IAAIP,aAAaC;IACjB,IAAIC,cAAcC;IAClB,IAAIO;IACJ,IAAIC,iBAAiB;IACrB,OAAQd;QACN,KAAK;YACHK,cAAcP,UAAUa,WAAWL;YACnC;QACF,KAAK;YACHH,aAAaL,UAAUa,WAAWP;YAClC;QACF,KAAK;QACL,KAAK;QACL,KAAK;YAAgB;gBACnB,IAAIW,aAA4B;gBAChC,IAAIf,gBAAgB,gBAAgB;oBAClCe,aAAa;gBACf,OAAO,IAAIf,gBAAgB,gBAAgB;oBACzCe,aAAa;gBACf,OAAO;oBACLD,iBAAiB;gBACnB;gBAEAD,iBAAiBf,yBACf,KAACkB;oBACCpB,WAAWf,QAAQ;wBACjBoC,QAAQ;wBACRC,SAAS;wBACTC,UAAU;wBACVC,OAAOL;oBACT;8BAECJ;;gBAGL;YACF;IACF;IAEA,qBACE,MAAC1B;QACE,GAAGsB,SAAS;QACbc,iBAAevB,WAAWwB;QAC1BjC,KAAKA;QACLQ,UAAUA;QACVL,UAAUA;QACVI,WAAWjB,IACT,qBACAmB,WAAWgB,kBAAkB,6BAC7BlB;QAEFH,OAAOK,WAAWI,uBAAuB,aAAaT;QACtDC,WAAWA;QACXC,YAAYA;QACZL,SAASkB,YAAY,CAACe,QAAUC,QAAQC,OAAO,CAACnC,QAAQiC;;YAEvDlB;YACAP,WAAW,OAAOG,oBAAoB,cACnCA,kBACAV;YACHY;YACAU;;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/button/AsyncButton.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEvent, type ReactNode } from \"react\";\nimport { type BoxAlignItems } from \"../box/styles.js\";\nimport { overlay } from \"../overlay/overlayStyles.js\";\nimport {\n CircularProgress,\n type CircularProgressProps,\n} from \"../progress/CircularProgress.js\";\nimport {\n LinearProgress,\n type LinearProgressProps,\n} from \"../progress/LinearProgress.js\";\nimport { type ProgressTheme } from \"../progress/types.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useAsyncAction } from \"../useAsyncAction.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { Button, type ButtonProps } from \"./Button.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type AsyncButtonLoadingType =\n | \"circular-before\"\n | \"circular-after\"\n | \"circular-overlay\"\n | \"linear-above\"\n | \"linear-below\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface AsyncButtonProps extends ButtonProps {\n /**\n * @see {@link progressAriaLabelledBy}\n * @defaultValue `\"async-button\" + useId()`\n */\n id?: string;\n\n /**\n * When this is defined and returns a `Promise`, the loading indicator will\n * display until the promise has resolved.\n *\n * @defaultValue `() => {}`\n */\n onClick?(event: MouseEvent<HTMLButtonElement>): Promise<void> | void;\n\n /**\n * Set this to `true` to manually display a loading spinner.\n *\n * @defaultValue `false`\n */\n loading?: boolean;\n\n /**\n * - `\"circular-overlay\"` - Covers and hides the button content with a\n * centered circular progress\n * - `\"circular-before\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon before the button text.\n * See {@link beforeAddon} as well.\n * - `\"circular-after\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon after the button text.\n * See {@link afterAddon} as well.\n * - `\"linear-above\"` - Renders a linear progress bar at the top of the button\n * while still displaying the button contents. Usually looks good for\n * outlined buttons.\n * - `\"linear-below\"` - Renders a linear progress bar at the bottom of the\n * button while still displaying the button contents. Usually looks good for\n * outlined buttons.\n *\n * @defaultValue `\"circular-overlay\"`\n */\n loadingType?: AsyncButtonLoadingType;\n\n /**\n * Optional content to display instead of the default `children` while\n * loading.\n */\n loadingChildren?: ReactNode;\n\n /**\n * Set this to `true` to use the `disabled` theme while loading.\n *\n * @defaultValue `false`\n */\n loadingDisabledTheme?: boolean;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-before\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n beforeAddon?: ReactNode;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-after\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n afterAddon?: ReactNode;\n\n /**\n * An optional label to provide to the progressbar.\n *\n * @see {@link progressAriaLabelledBy}\n */\n progressAriaLabel?: string;\n\n /**\n * @see {@link id}\n * @defaultValue `id`\n */\n progressAriaLabelledBy?: string;\n\n /**\n * Any additional props to pass to the `CircularProgress` bar when the\n * {@link loadingType} is one of the circular types.\n */\n linearProgressProps?: PropsWithRef<LinearProgressProps, HTMLDivElement>;\n\n /**\n * Any additional props to pass to the `LinearProgress` bar when the\n * {@link loadingType} is one of the linear types.\n */\n circularProgressProps?: PropsWithRef<CircularProgressProps, HTMLSpanElement>;\n}\n\n/**\n * **Client Component**\n *\n * The async button can be used to render a loading indicator within a button\n * during an async task. The loading spinner can be shown either by enabling the\n * `loading` prop or returning a promise from the `onClick` event which will\n * continue to show the loading indicator until the promise has been resolved.\n *\n * @example\n * Async onClick\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const [data, setData] = useState(null);\n * return (\n * <AsyncButton\n * type=\"submit\"\n * onClick={async () => {\n * const response = await fetch(\"/my-api\");\n * const json = await response.json();\n * setData(json);\n * }}\n * >\n * Submit\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @example\n * Manual Loading State\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useMutation } from \"@tanstack/query\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const { isLoading, mutate } = useMutation({\n * mutationFn: (newTodo) => fetch('/todos', {\n * method: \"POST\",\n * body: JSON.stringify(newTodo),\n * }),\n * });\n *\n * return (\n * <AsyncButton\n * type=\"submit\"\n * loading={isLoading}\n * onClick={() => {\n * mutate({ id: Date.now(), title: \"Create example\" });\n * }}\n * >\n * Create Todo\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport const AsyncButton = forwardRef<HTMLButtonElement, AsyncButtonProps>(\n function AsyncButton(props, ref) {\n const {\n id: propId,\n onClick = noop,\n children,\n floating = null,\n theme = floating ? \"secondary\" : \"clear\",\n themeType = floating ? \"contained\" : \"flat\",\n buttonType = floating ? \"icon\" : \"text\",\n className,\n disabled,\n loading: propLoading = false,\n loadingType = \"circular-overlay\",\n loadingChildren,\n loadingDisabledTheme = false,\n afterAddon: propAfterAddon,\n beforeAddon: propBeforeAddon,\n linearProgressProps,\n circularProgressProps,\n progressAriaLabel,\n progressAriaLabelledBy: propProgressAriaLabelledBy,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"async-button\");\n const { handleAsync, pending } = useAsyncAction({ disabled });\n const loading = pending || propLoading;\n\n let progressTheme: ProgressTheme = \"current-color\";\n if (theme === \"clear\" || theme === \"disabled\") {\n progressTheme = \"primary\";\n }\n\n let progressAriaLabelledBy = propProgressAriaLabelledBy;\n if (\n !progressAriaLabel &&\n !linearProgressProps?.[\"aria-label\"] &&\n !linearProgressProps?.[\"aria-labelledby\"] &&\n !circularProgressProps?.[\"aria-label\"] &&\n !circularProgressProps?.[\"aria-labelledby\"]\n ) {\n progressAriaLabelledBy = id;\n }\n\n const progress = loadingType.includes(\"linear\") ? (\n <LinearProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...linearProgressProps}\n theme={progressTheme}\n />\n ) : (\n <CircularProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...circularProgressProps}\n theme={progressTheme}\n />\n );\n\n let afterAddon = propAfterAddon;\n let beforeAddon = propBeforeAddon;\n let overlayElement: ReactNode;\n let isOverlayCover = false;\n switch (loadingType) {\n case \"circular-before\":\n beforeAddon = loading ? progress : propBeforeAddon;\n break;\n case \"circular-after\":\n afterAddon = loading ? progress : propAfterAddon;\n break;\n case \"circular-overlay\":\n case \"linear-above\":\n case \"linear-below\": {\n let alignItems: BoxAlignItems = \"center\";\n if (loadingType === \"linear-above\") {\n alignItems = \"start\";\n } else if (loadingType === \"linear-below\") {\n alignItems = \"end\";\n } else {\n isOverlayCover = true;\n }\n\n overlayElement = loading && (\n <span\n className={overlay({\n active: true,\n visible: true,\n absolute: true,\n align: alignItems,\n })}\n >\n {progress}\n </span>\n );\n break;\n }\n }\n\n return (\n <Button\n {...remaining}\n aria-disabled={loading || undefined}\n id={id}\n ref={ref}\n disabled={disabled}\n floating={floating}\n className={cnb(\n \"rmd-button--async\",\n loading && isOverlayCover && \"rmd-button--async-overlay\",\n className\n )}\n theme={loading && loadingDisabledTheme ? \"disabled\" : theme}\n themeType={themeType}\n buttonType={buttonType}\n onClick={handleAsync((event) => Promise.resolve(onClick(event)))}\n >\n {beforeAddon}\n {loading && typeof loadingChildren !== \"undefined\"\n ? loadingChildren\n : children}\n {afterAddon}\n {overlayElement}\n </Button>\n );\n }\n);\n"],"names":["cnb","forwardRef","overlay","CircularProgress","LinearProgress","useAsyncAction","useEnsuredId","Button","noop","AsyncButton","props","ref","id","propId","onClick","children","floating","theme","themeType","buttonType","className","disabled","loading","propLoading","loadingType","loadingChildren","loadingDisabledTheme","afterAddon","propAfterAddon","beforeAddon","propBeforeAddon","linearProgressProps","circularProgressProps","progressAriaLabel","progressAriaLabelledBy","propProgressAriaLabelledBy","remaining","handleAsync","pending","progressTheme","progress","includes","aria-label","aria-labelledby","overlayElement","isOverlayCover","alignItems","span","active","visible","absolute","align","aria-disabled","undefined","event","Promise","resolve"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAyC,QAAQ;AAEpE,SAASC,OAAO,QAAQ,8BAA8B;AACtD,SACEC,gBAAgB,QAEX,kCAAkC;AACzC,SACEC,cAAc,QAET,gCAAgC;AAGvC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,MAAM,QAA0B,cAAc;AAEvD,MAAMC,OAAO;AACX,aAAa;AACf;AA8GA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DC,GACD,OAAO,MAAMC,4BAAcR,WACzB,SAASQ,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,IAAIC,MAAM,EACVC,UAAUN,IAAI,EACdO,QAAQ,EACRC,WAAW,IAAI,EACfC,QAAQD,WAAW,cAAc,OAAO,EACxCE,YAAYF,WAAW,cAAc,MAAM,EAC3CG,aAAaH,WAAW,SAAS,MAAM,EACvCI,SAAS,EACTC,QAAQ,EACRC,SAASC,cAAc,KAAK,EAC5BC,cAAc,kBAAkB,EAChCC,eAAe,EACfC,uBAAuB,KAAK,EAC5BC,YAAYC,cAAc,EAC1BC,aAAaC,eAAe,EAC5BC,mBAAmB,EACnBC,qBAAqB,EACrBC,iBAAiB,EACjBC,wBAAwBC,0BAA0B,EAClD,GAAGC,WACJ,GAAG1B;IACJ,MAAME,KAAKN,aAAaO,QAAQ;IAChC,MAAM,EAAEwB,WAAW,EAAEC,OAAO,EAAE,GAAGjC,eAAe;QAAEgB;IAAS;IAC3D,MAAMC,UAAUgB,WAAWf;IAE3B,IAAIgB,gBAA+B;IACnC,IAAItB,UAAU,WAAWA,UAAU,YAAY;QAC7CsB,gBAAgB;IAClB;IAEA,IAAIL,yBAAyBC;IAC7B,IACE,CAACF,qBACD,CAACF,qBAAqB,CAAC,aAAa,IACpC,CAACA,qBAAqB,CAAC,kBAAkB,IACzC,CAACC,uBAAuB,CAAC,aAAa,IACtC,CAACA,uBAAuB,CAAC,kBAAkB,EAC3C;QACAE,yBAAyBtB;IAC3B;IAEA,MAAM4B,WAAWhB,YAAYiB,QAAQ,CAAC,0BACpC,KAACrC;QACCsC,cAAYT;QACZU,mBAAiBT;QAChB,GAAGH,mBAAmB;QACvBd,OAAOsB;uBAGT,KAACpC;QACCuC,cAAYT;QACZU,mBAAiBT;QAChB,GAAGF,qBAAqB;QACzBf,OAAOsB;;IAIX,IAAIZ,aAAaC;IACjB,IAAIC,cAAcC;IAClB,IAAIc;IACJ,IAAIC,iBAAiB;IACrB,OAAQrB;QACN,KAAK;YACHK,cAAcP,UAAUkB,WAAWV;YACnC;QACF,KAAK;YACHH,aAAaL,UAAUkB,WAAWZ;YAClC;QACF,KAAK;QACL,KAAK;QACL,KAAK;YAAgB;gBACnB,IAAIkB,aAA4B;gBAChC,IAAItB,gBAAgB,gBAAgB;oBAClCsB,aAAa;gBACf,OAAO,IAAItB,gBAAgB,gBAAgB;oBACzCsB,aAAa;gBACf,OAAO;oBACLD,iBAAiB;gBACnB;gBAEAD,iBAAiBtB,yBACf,KAACyB;oBACC3B,WAAWlB,QAAQ;wBACjB8C,QAAQ;wBACRC,SAAS;wBACTC,UAAU;wBACVC,OAAOL;oBACT;8BAECN;;gBAGL;YACF;IACF;IAEA,qBACE,MAACjC;QACE,GAAG6B,SAAS;QACbgB,iBAAe9B,WAAW+B;QAC1BzC,IAAIA;QACJD,KAAKA;QACLU,UAAUA;QACVL,UAAUA;QACVI,WAAWpB,IACT,qBACAsB,WAAWuB,kBAAkB,6BAC7BzB;QAEFH,OAAOK,WAAWI,uBAAuB,aAAaT;QACtDC,WAAWA;QACXC,YAAYA;QACZL,SAASuB,YAAY,CAACiB,QAAUC,QAAQC,OAAO,CAAC1C,QAAQwC;;YAEvDzB;YACAP,WAAW,OAAOG,oBAAoB,cACnCA,kBACAV;YACHY;YACAiB;;;AAGP,GACA"}
@@ -72,77 +72,35 @@ $floating-positions: (
72
72
  ),
73
73
  ) !default;
74
74
 
75
- $var-lookup: (
76
- background-color: (
77
- var: --rmd-button-background-color,
78
- value: transparent,
79
- ),
80
- color: (
81
- var: --rmd-button-color,
82
- value: null,
83
- ),
84
- border-radius: (
85
- var: --rmd-button-border-radius,
86
- value: null,
87
- ),
88
- contained-background-color: (
89
- var: --rmd-button-contained-background-color,
90
- value: $clear-contained-background-color,
91
- ),
92
- contained-color: (
93
- var: --rmd-button-contained-color,
94
- value: $clear-contained-color,
95
- ),
96
- text-horizontal-padding: (
97
- var: --rmd-button-text-horizontal-padding,
98
- value: $text-horizontal-padding,
99
- ),
100
- text-vertical-padding: (
101
- var: --rmd-button-text-vertical-padding,
102
- value: $text-vertical-padding,
103
- ),
104
- text-min-height: (
105
- var: --rmd-button-text-min-height,
106
- value: $text-min-height,
107
- ),
108
- text-min-width: (
109
- var: --rmd-button-text-min-width,
110
- value: $text-min-width,
111
- ),
112
- icon-size: (
113
- var: --rmd-button-icon-size,
114
- value: $icon-size,
115
- ),
116
- icon-font-size: (
117
- var: --rmd-button-icon-font-size,
118
- value: $icon-font-size,
119
- ),
120
- icon-border-radius: (
121
- var: --rmd-button-icon-radius,
122
- value: $icon-border-radius,
123
- ),
124
- fab-offset: (
125
- var: --rmd-fab-offset,
126
- value: utils.scrollbar-size(),
127
- ),
75
+ $variables: (
76
+ background-color,
77
+ color,
78
+ border-radius,
79
+ contained-background-color,
80
+ contained-color,
81
+ text-horizontal-padding,
82
+ text-vertical-padding,
83
+ text-min-height,
84
+ text-min-width,
85
+ icon-size,
86
+ icon-font-size,
87
+ icon-border-radius,
88
+ fab-offset
128
89
  );
129
90
 
130
91
  @function get-var($name, $fallback: null) {
131
- $found: utils.validate($var-lookup, $name, "button var");
132
- $var: map.get($found, var);
133
- $value: if($fallback, $fallback, map.get($found, value));
134
-
135
- @if $value {
136
- @return var(#{$var}, #{$value});
92
+ $var: utils.get-var-name($variables, $name, "button");
93
+ @if $fallback {
94
+ @return var(#{$var}, #{$fallback});
137
95
  }
138
96
 
139
97
  @return var(#{$var});
140
98
  }
141
99
 
142
100
  @mixin set-var($name, $value) {
143
- $var: map.get(utils.validate($var-lookup, $name, "button var"), var);
144
-
145
- #{$var}: #{$value};
101
+ @if $value {
102
+ #{utils.get-var-name($variables, $name, "button")}: #{$value};
103
+ }
146
104
  }
147
105
 
148
106
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -176,6 +134,36 @@ $var-lookup: (
176
134
  padding: get-var(text-vertical-padding) get-var(text-horizontal-padding);
177
135
  }
178
136
 
137
+ @mixin variables {
138
+ @if not $disable-everything {
139
+ @include set-var(background-color, transparent);
140
+ @if not $disable-contained {
141
+ @include set-var(
142
+ contained-background-color,
143
+ $clear-contained-background-color
144
+ );
145
+ @include set-var(contained-color, $clear-contained-color);
146
+ }
147
+
148
+ @if not $disable-text {
149
+ @include set-var(text-horizontal-padding, $text-horizontal-padding);
150
+ @include set-var(text-vertical-padding, $text-vertical-padding);
151
+ @include set-var(text-min-height, $text-min-height);
152
+ @include set-var(text-min-width, $text-min-width);
153
+ }
154
+
155
+ @if not $disable-icon {
156
+ @include set-var(icon-size, $icon-size);
157
+ @include set-var(icon-font-size, $icon-font-size);
158
+ @include set-var(icon-border-radius, $icon-border-radius);
159
+ }
160
+
161
+ @if not $disable-floating {
162
+ @include set-var(fab-offset, utils.scrollbar-size());
163
+ }
164
+ }
165
+ }
166
+
179
167
  @mixin styles {
180
168
  @if not $disable-everything {
181
169
  .rmd-button {
@@ -44,37 +44,21 @@ $content-padding-bottom: 1.5rem !default;
44
44
 
45
45
  $footer-padding: 0.5rem !default;
46
46
 
47
- $var-lookup: (
48
- background-color: (
49
- var: --rmd-card-background-color,
50
- value: $background-color,
51
- ),
52
- color: (
53
- var: --rmd-card-color,
54
- value: $color,
55
- ),
56
- secondary-color: (
57
- var: --rmd-card-secondary-color,
58
- value: null,
59
- ),
60
- );
47
+ $variables: (background-color, color, secondary-color);
61
48
 
62
49
  @function get-var($name, $fallback: null) {
63
- $found: utils.validate($var-lookup, $name, "card var");
64
- $var: map.get($found, var);
65
- $value: if($fallback, $fallback, map.get($found, value));
66
-
67
- @if $value {
68
- @return var(#{$var}, #{$value});
50
+ $var: utils.get-var-name($variables, $name, "card");
51
+ @if $fallback {
52
+ @return var(#{$var}, #{$fallback});
69
53
  }
70
54
 
71
55
  @return var(#{$var});
72
56
  }
73
57
 
74
58
  @mixin set-var($name, $value) {
75
- $var: map.get(utils.validate($var-lookup, $name, "card var"), var);
76
-
77
- #{$var}: #{$value};
59
+ @if $value {
60
+ #{utils.get-var-name($variables, $name, "card")}: #{$value};
61
+ }
78
62
  }
79
63
 
80
64
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -93,6 +77,13 @@ $var-lookup: (
93
77
  }
94
78
  }
95
79
 
80
+ @mixin variables {
81
+ @if not $disable-everything {
82
+ @include set-var(background-color, $background-color);
83
+ @include set-var(color, $color);
84
+ }
85
+ }
86
+
96
87
  @mixin styles {
97
88
  @if not $disable-everything {
98
89
  @include theme.default-system-theme {
@@ -23,7 +23,6 @@ $disable-outline-theme: $disable-everything !default;
23
23
  $disable-outline-raisable: false !default;
24
24
  $disable-left-addon: false !default;
25
25
  $disable-right-addon: false !default;
26
- $disable-both-addons: $disable-left-addon and $disable-right-addon !default;
27
26
  $disable-selected-theme: false !default;
28
27
  $disable-selected-icon-transition: false !default;
29
28
 
@@ -112,61 +111,31 @@ $outline-text-color: theme.get-default-color(
112
111
  $outline-raisable-box-shadow-z-value: 8 !default;
113
112
  $outline-raisable-transition-duration: transition.$linear-duration !default;
114
113
 
115
- $var-lookup: (
116
- solid-background-color: (
117
- var: --rmd-chip-solid-background-color,
118
- value: $solid-background-color,
119
- ),
120
- solid-disabled-background-color: (
121
- var: --rmd-chip-solid-disabled-background-color,
122
- value: $solid-disabled-background-color,
123
- ),
124
- solid-color: (
125
- var: --rmd-chip-solid-color,
126
- value: $solid-color,
127
- ),
128
- theme-background-color: (
129
- var: --rmd-chip-theme-background-color,
130
- value: $theme-background-color,
131
- ),
132
- theme-color: (
133
- var: --rmd-chip-theme-color,
134
- value: $theme-color,
135
- ),
136
- outline-color: (
137
- var: --rmd-chip-outline-color,
138
- value: $outline-color,
139
- ),
140
- outline-width: (
141
- var: --rmd-chip-outline-width,
142
- value: $outline-width,
143
- ),
144
- outline-background-color: (
145
- var: --rmd-chip-outline-background-color,
146
- value: $outline-background-color,
147
- ),
148
- outline-text-color: (
149
- var: --rmd-chip-outline-text-color,
150
- value: $outline-text-color,
151
- ),
114
+ $variables: (
115
+ solid-background-color,
116
+ solid-disabled-background-color,
117
+ solid-color,
118
+ theme-background-color,
119
+ theme-color,
120
+ outline-color,
121
+ outline-width,
122
+ outline-background-color,
123
+ outline-text-color
152
124
  );
153
125
 
154
126
  @function get-var($name, $fallback: null) {
155
- $found: utils.validate($var-lookup, $name, "chip var");
156
- $var: map.get($found, var);
157
- $value: if($fallback, $fallback, map.get($found, value));
158
-
159
- @if $value {
160
- @return var(#{$var}, #{$value});
127
+ $var: utils.get-var-name($variables, $name, "chip");
128
+ @if $fallback {
129
+ @return var(#{$var}, #{$fallback});
161
130
  }
162
131
 
163
132
  @return var(#{$var});
164
133
  }
165
134
 
166
135
  @mixin set-var($name, $value) {
167
- $var: map.get(utils.validate($var-lookup, $name, "chip var"), var);
168
-
169
- #{$var}: #{$value};
136
+ @if $value {
137
+ #{utils.get-var-name($variables, $name, "chip")}: #{$value};
138
+ }
170
139
  }
171
140
 
172
141
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -203,6 +172,23 @@ $var-lookup: (
203
172
  }
204
173
  }
205
174
 
175
+ @mixin variables {
176
+ @if not $disable-everything {
177
+ @include set-var(solid-background-color, $solid-background-color);
178
+ @include set-var(
179
+ solid-disabled-background-color,
180
+ $solid-disabled-background-color
181
+ );
182
+ @include set-var(solid-color, $solid-color);
183
+ @include set-var(theme-background-color, $theme-background-color);
184
+ @include set-var(theme-color, $theme-color);
185
+ @include set-var(outline-color, $outline-color);
186
+ @include set-var(outline-width, $outline-width);
187
+ @include set-var(outline-background-color, $outline-background-color);
188
+ @include set-var(outline-text-color, $outline-text-color);
189
+ }
190
+ }
191
+
206
192
  @mixin styles {
207
193
  @if not $disable-everything {
208
194
  @include theme.default-system-theme {
@@ -324,21 +310,6 @@ $var-lookup: (
324
310
  }
325
311
  }
326
312
 
327
- @if not $disable-both-addons {
328
- &--surrounded {
329
- @include utils.auto-rtl(
330
- padding-left,
331
- $addon-left-padding,
332
- $addon-right-padding
333
- );
334
- @include utils.auto-rtl(
335
- padding-right,
336
- $addon-right-padding,
337
- $addon-left-padding
338
- );
339
- }
340
- }
341
-
342
313
  @if not $disable-content {
343
314
  &__content {
344
315
  @include typography.text-overflow;
@@ -41,7 +41,7 @@ export interface ChipClassNameOptions {
41
41
  selected?: boolean;
42
42
  /** @defaultValue `false` */
43
43
  selectedThemed?: boolean;
44
- /** @defaultValue `false` */
44
+ /** @defaultValue `true` */
45
45
  noninteractive?: boolean;
46
46
  /** @defaultValue `false` */
47
47
  leftAddon?: boolean;
@@ -5,16 +5,15 @@ const styles = bem("rmd-chip");
5
5
  /**
6
6
  * @remarks \@since 6.0.0
7
7
  */ export function chip(options = {}) {
8
- const { className, theme = "solid", pressed = false, disabled = false, selected = false, selectedThemed = false, selectedClassName, noninteractive = false, pressedClassName, leftAddon = false, rightAddon = false, backgroundColor } = options;
8
+ const { className, theme = "solid", pressed = false, disabled = false, selected = false, selectedThemed = false, selectedClassName, noninteractive = true, pressedClassName, leftAddon = false, rightAddon = false, backgroundColor } = options;
9
9
  return cnb(styles({
10
10
  themed: !disabled && selected && selectedThemed,
11
11
  selected: !disabled && selected && !selectedThemed,
12
12
  solid: theme === "solid",
13
13
  outline: theme === "outline",
14
14
  disabled,
15
- "left-addon": leftAddon && !rightAddon,
16
- "right-addon": !leftAddon && rightAddon,
17
- surrounded: leftAddon && rightAddon,
15
+ "left-addon": leftAddon,
16
+ "right-addon": rightAddon,
18
17
  pressed
19
18
  }), selected && selectedClassName, pressedClassName, cssUtils({
20
19
  surface: !noninteractive,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/chip/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type BackgroundColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-chip\");\n\n/**\n * @remarks \\@since 6.0.0\n *\n * Note for the future: Once Firefox supports the `:has` selector, the\n * `leftAddon` and `rightAddon` can be removed. The styles would automatically\n * apply the padding instead:\n *\n * ```scss\n * &:has(.rmd-icon:first-child, .rmd-avatar:first-child) {\n * @include core.auto-rtl(\n * padding-left,\n * $addon-left-padding,\n * $horizontal-padding\n * );\n * }\n *\n * $index: if(\n * not core.$interaction-mode or core.$interaction-mode == press,\n * 1,\n * 2 // last child is always the `.rmd-ripple-container`\n * );\n * &:has(.rmd-icon:nth-last-child(#{$index})) {\n * @include core.auto-rtl(\n * padding-right,\n * $addon-right-padding,\n * $horizontal-padding\n * );\n * }\n * ```\n */\nexport interface ChipClassNameOptions {\n className?: string;\n selectedClassName?: string;\n\n /** @defaultValue `\"solid\"` */\n theme?: \"outline\" | \"solid\";\n\n backgroundColor?: BackgroundColor;\n\n /** @defaultValue `false` */\n disabled?: boolean;\n\n /** @defaultValue `false` */\n selected?: boolean;\n\n /** @defaultValue `false` */\n selectedThemed?: boolean;\n\n /** @defaultValue `false` */\n noninteractive?: boolean;\n\n /** @defaultValue `false` */\n leftAddon?: boolean;\n\n /** @defaultValue `false` */\n rightAddon?: boolean;\n\n /** @defaultValue `false` */\n pressed?: boolean;\n pressedClassName?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function chip(options: ChipClassNameOptions = {}): string {\n const {\n className,\n theme = \"solid\",\n pressed = false,\n disabled = false,\n selected = false,\n selectedThemed = false,\n selectedClassName,\n noninteractive = false,\n pressedClassName,\n leftAddon = false,\n rightAddon = false,\n backgroundColor,\n } = options;\n\n return cnb(\n styles({\n themed: !disabled && selected && selectedThemed,\n selected: !disabled && selected && !selectedThemed,\n solid: theme === \"solid\",\n outline: theme === \"outline\",\n disabled,\n \"left-addon\": leftAddon && !rightAddon,\n \"right-addon\": !leftAddon && rightAddon,\n surrounded: leftAddon && rightAddon,\n pressed,\n }),\n selected && selectedClassName,\n pressedClassName,\n cssUtils({\n surface: !noninteractive,\n textColor: disabled ? \"text-disabled\" : undefined,\n backgroundColor,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ChipContentClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function chipContent(options: ChipContentClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(styles(\"content\"), className);\n}\n"],"names":["cnb","cssUtils","bem","styles","chip","options","className","theme","pressed","disabled","selected","selectedThemed","selectedClassName","noninteractive","pressedClassName","leftAddon","rightAddon","backgroundColor","themed","solid","outline","surrounded","surface","textColor","undefined","chipContent"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAA+BC,QAAQ,QAAQ,iBAAiB;AAChE,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAgEnB;;CAEC,GACD,OAAO,SAASE,KAAKC,UAAgC,CAAC,CAAC;IACrD,MAAM,EACJC,SAAS,EACTC,QAAQ,OAAO,EACfC,UAAU,KAAK,EACfC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,iBAAiB,KAAK,EACtBC,iBAAiB,EACjBC,iBAAiB,KAAK,EACtBC,gBAAgB,EAChBC,YAAY,KAAK,EACjBC,aAAa,KAAK,EAClBC,eAAe,EAChB,GAAGZ;IAEJ,OAAOL,IACLG,OAAO;QACLe,QAAQ,CAACT,YAAYC,YAAYC;QACjCD,UAAU,CAACD,YAAYC,YAAY,CAACC;QACpCQ,OAAOZ,UAAU;QACjBa,SAASb,UAAU;QACnBE;QACA,cAAcM,aAAa,CAACC;QAC5B,eAAe,CAACD,aAAaC;QAC7BK,YAAYN,aAAaC;QACzBR;IACF,IACAE,YAAYE,mBACZE,kBACAb,SAAS;QACPqB,SAAS,CAACT;QACVU,WAAWd,WAAW,kBAAkBe;QACxCP;IACF,IACAX;AAEJ;AASA;;CAEC,GACD,OAAO,SAASmB,YAAYpB,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,YAAYG;AAChC"}
1
+ {"version":3,"sources":["../../src/chip/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type BackgroundColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-chip\");\n\n/**\n * @remarks \\@since 6.0.0\n *\n * Note for the future: Once Firefox supports the `:has` selector, the\n * `leftAddon` and `rightAddon` can be removed. The styles would automatically\n * apply the padding instead:\n *\n * ```scss\n * &:has(.rmd-icon:first-child, .rmd-avatar:first-child) {\n * @include core.auto-rtl(\n * padding-left,\n * $addon-left-padding,\n * $horizontal-padding\n * );\n * }\n *\n * $index: if(\n * not core.$interaction-mode or core.$interaction-mode == press,\n * 1,\n * 2 // last child is always the `.rmd-ripple-container`\n * );\n * &:has(.rmd-icon:nth-last-child(#{$index})) {\n * @include core.auto-rtl(\n * padding-right,\n * $addon-right-padding,\n * $horizontal-padding\n * );\n * }\n * ```\n */\nexport interface ChipClassNameOptions {\n className?: string;\n selectedClassName?: string;\n\n /** @defaultValue `\"solid\"` */\n theme?: \"outline\" | \"solid\";\n\n backgroundColor?: BackgroundColor;\n\n /** @defaultValue `false` */\n disabled?: boolean;\n\n /** @defaultValue `false` */\n selected?: boolean;\n\n /** @defaultValue `false` */\n selectedThemed?: boolean;\n\n /** @defaultValue `true` */\n noninteractive?: boolean;\n\n /** @defaultValue `false` */\n leftAddon?: boolean;\n\n /** @defaultValue `false` */\n rightAddon?: boolean;\n\n /** @defaultValue `false` */\n pressed?: boolean;\n pressedClassName?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function chip(options: ChipClassNameOptions = {}): string {\n const {\n className,\n theme = \"solid\",\n pressed = false,\n disabled = false,\n selected = false,\n selectedThemed = false,\n selectedClassName,\n noninteractive = true,\n pressedClassName,\n leftAddon = false,\n rightAddon = false,\n backgroundColor,\n } = options;\n\n return cnb(\n styles({\n themed: !disabled && selected && selectedThemed,\n selected: !disabled && selected && !selectedThemed,\n solid: theme === \"solid\",\n outline: theme === \"outline\",\n disabled,\n \"left-addon\": leftAddon,\n \"right-addon\": rightAddon,\n pressed,\n }),\n selected && selectedClassName,\n pressedClassName,\n cssUtils({\n surface: !noninteractive,\n textColor: disabled ? \"text-disabled\" : undefined,\n backgroundColor,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ChipContentClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function chipContent(options: ChipContentClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(styles(\"content\"), className);\n}\n"],"names":["cnb","cssUtils","bem","styles","chip","options","className","theme","pressed","disabled","selected","selectedThemed","selectedClassName","noninteractive","pressedClassName","leftAddon","rightAddon","backgroundColor","themed","solid","outline","surface","textColor","undefined","chipContent"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAA+BC,QAAQ,QAAQ,iBAAiB;AAChE,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAgEnB;;CAEC,GACD,OAAO,SAASE,KAAKC,UAAgC,CAAC,CAAC;IACrD,MAAM,EACJC,SAAS,EACTC,QAAQ,OAAO,EACfC,UAAU,KAAK,EACfC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,iBAAiB,KAAK,EACtBC,iBAAiB,EACjBC,iBAAiB,IAAI,EACrBC,gBAAgB,EAChBC,YAAY,KAAK,EACjBC,aAAa,KAAK,EAClBC,eAAe,EAChB,GAAGZ;IAEJ,OAAOL,IACLG,OAAO;QACLe,QAAQ,CAACT,YAAYC,YAAYC;QACjCD,UAAU,CAACD,YAAYC,YAAY,CAACC;QACpCQ,OAAOZ,UAAU;QACjBa,SAASb,UAAU;QACnBE;QACA,cAAcM;QACd,eAAeC;QACfR;IACF,IACAE,YAAYE,mBACZE,kBACAb,SAAS;QACPoB,SAAS,CAACR;QACVS,WAAWb,WAAW,kBAAkBc;QACxCN;IACF,IACAX;AAEJ;AASA;;CAEC,GACD,OAAO,SAASkB,YAAYnB,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,YAAYG;AAChC"}
@@ -57,6 +57,7 @@ export type FontWeight = "thin" | "light" | "regular" | "medium" | "bold" | "sem
57
57
  export type Margin = "none" | "top" | "bottom" | "centered";
58
58
  /** @remarks \@since 6.0.0 */
59
59
  export type TextOverflow = "allow" | "nowrap" | "ellipsis";
60
+ /** @remarks \@since 6.0.0 */
60
61
  export interface TextCssUtilsOptions {
61
62
  textColor?: ThemeColor | TextColor;
62
63
  textAlign?: TextAlign;
package/dist/cssUtils.js CHANGED
@@ -13,7 +13,7 @@ import { cnb } from "cnbuilder";
13
13
  const { className, srOnly, textColor, outlineColor, backgroundColor, surface, surfaceColor, margin, fontStyle, fontWeight, textAlign, textDecoration, textTransform, textOverflow } = options;
14
14
  const isMarginTop = margin === "top";
15
15
  const isTextColor = textColor === "text-primary" || textColor === "text-secondary" || textColor === "text-hint" || textColor === "text-disabled";
16
- return cnb(!backgroundColor && !isTextColor && textColor && `rmd-${textColor}-color`, !backgroundColor && isTextColor && `rmd-${textColor}-color`, backgroundColor && "rmd-background-container", backgroundColor && `rmd-${backgroundColor}-container`, outlineColor && "rmd-outline", outlineColor && `rmd-${outlineColor}-outline`, (isMarginTop || margin === "bottom") && `rmd-no-margin-${isMarginTop ? "bottom" : "top"}`, margin === "none" && "rmd-no-margin", margin === "centered" && "rmd-centered", textAlign && `rmd-align-${textAlign}`, textDecoration && `rmd-${textDecoration}`, textTransform && `rmd-${textTransform}`, fontStyle && `rmd-${fontStyle}`, fontWeight && `rmd-${fontWeight}`, srOnly && srOnly !== "phone" && "rmd-sr-only", srOnly === "phone" && "rmd-phone-sr-only", srOnly === "focusable" && "rmd-sr-only--focusable", surfaceColor === "light" && "rmd-light-surface", surfaceColor === "dark" && "rmd-dark-surface", textOverflow && textOverflow !== "allow" && "rmd-nowrap", textOverflow === "ellipsis" && "rmd-ellipsis", surface && "rmd-interaction-surface", className);
16
+ return cnb(!backgroundColor && !isTextColor && textColor && `rmd-${textColor}-color`, !backgroundColor && isTextColor && `rmd-${textColor}-color`, backgroundColor && "rmd-background-container", backgroundColor && backgroundColor !== "current-color" && `rmd-${backgroundColor}-container`, outlineColor && "rmd-outline", outlineColor && `rmd-${outlineColor}-outline`, (isMarginTop || margin === "bottom") && `rmd-no-margin-${isMarginTop ? "bottom" : "top"}`, margin === "none" && "rmd-no-margin", margin === "centered" && "rmd-centered", textAlign && `rmd-align-${textAlign}`, textDecoration && `rmd-${textDecoration}`, textTransform && `rmd-${textTransform}`, fontStyle && `rmd-${fontStyle}`, fontWeight && `rmd-${fontWeight}`, srOnly && srOnly !== "phone" && "rmd-sr-only", srOnly === "phone" && "rmd-phone-sr-only", srOnly === "focusable" && "rmd-sr-only--focusable", surfaceColor === "light" && "rmd-light-surface", surfaceColor === "dark" && "rmd-dark-surface", textOverflow && textOverflow !== "allow" && "rmd-nowrap", textOverflow === "ellipsis" && "rmd-ellipsis", surface && "rmd-interaction-surface", className);
17
17
  }
18
18
 
19
19
  //# sourceMappingURL=cssUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cssUtils.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\n/**\n * - `primary -> $primary-color`\n * - `secondary -> $secondary-color`\n * - `warning -> $warning-color`\n * - `success -> $success-color`\n * - `error -> $error-color`\n *\n * @remarks \\@since 6.0.0\n */\nexport type ThemeColor =\n | \"primary\"\n | \"secondary\"\n | \"warning\"\n | \"success\"\n | \"error\";\n\n/**\n * - `text-primary -> $text-primary-color`\n * - `text-secondary -> $text-secondary-color`\n * - `text-hint -> $text-hint-color`\n * - `text-disabled -> $text-disabled-color`\n *\n * @remarks \\@since 6.0.0\n */\nexport type TextColor =\n | \"text-primary\"\n | \"text-secondary\"\n | \"text-hint\"\n | \"text-disabled\"\n | `on-${ThemeColor}`;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type OutlineColor = ThemeColor | \"greyscale\" | \"current-color\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type BackgroundColor = ThemeColor | \"surface\" | \"current-color\";\n\nexport type TextAlign = \"left\" | \"center\" | \"right\";\nexport type TextDecoration = \"underline\" | \"overline\" | \"line-through\" | \"none\";\nexport type TextTransform = \"capitalize\" | \"uppercase\" | \"lowercase\";\nexport type FontStyle = \"italic\" | \"oblique\" | \"normal\";\n\n/**\n * The supported css `font-weight` values.\n *\n * Note: You will need to ensure that you are using a web safe font for all the\n * font weights to work, use variable fonts, or load all font weights for your\n * custom font.\n *\n * @see {@link https://www.google.com/search?q=web+safe+fonts | Web Safe Fonts}\n * @see {@link https://www.google.com/search?q=variable+fonts | Variable FOnts}\n * @remarks \\@since 6.0.0 This was `TextWeight` beforehand.\n */\nexport type FontWeight =\n | \"thin\"\n | \"light\"\n | \"regular\"\n | \"medium\"\n | \"bold\"\n | \"semi-bold\"\n | \"black\";\n\n/**\n * Since the typography within react-md tries to not modify base elements, the\n * default margin applied to heading tags (h1-h6) and paragraph (p) might have\n * large margin that you don't want applied when using this component. You can\n * disable:\n *\n * - only the top margin by setting this prop to `\"bottom\"`\n * - only the bottom margin by setting this prop to `\"top\"`\n * - top and bottom margin by setting this prop to `\"none\"`\n * - or keep the initial behavior: `\"initial\"`\n *\n * @remarks \\@since 6.0.0\n */\nexport type Margin = \"none\" | \"top\" | \"bottom\" | \"centered\";\n\n/** @remarks \\@since 6.0.0 */\nexport type TextOverflow = \"allow\" | \"nowrap\" | \"ellipsis\";\n\nexport interface TextCssUtilsOptions {\n textColor?: ThemeColor | TextColor;\n\n textAlign?: TextAlign;\n\n textDecoration?: TextDecoration;\n\n textTransform?: TextTransform;\n\n fontWeight?: FontWeight;\n\n fontStyle?: FontStyle;\n\n /**\n * This can be used to remove margin from an element (usually typography\n * elements since the browser applies default margin for those elements).\n *\n * @see {@link Margin}\n */\n margin?: Margin;\n\n /**\n * Set this to `\"nowrap\"` to only prevent line wrap behavior or `\"ellipsis\"`\n * to also hide additional text with ellipsis.\n *\n * @defaultValue `\"allow\"`\n */\n textOverflow?: TextOverflow;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface CssUtilsOptions extends TextCssUtilsOptions {\n className?: string;\n\n /**\n * Set this to `true` to allow the content to only be visible for screen\n * readers. Set this to `\"focusable\"` to allow the content to be visible to\n * screen readers and once focused. Set this to `\"phone\"` to only render the\n * the content as screen reader only text on phones.\n *\n * @defaultValue `false`\n */\n srOnly?: boolean | \"focusable\" | \"phone\";\n\n /**\n * Set this to `\"current-color\"` to inherit the current text color or a\n * specific theme color as the outline `box-shadow`.\n */\n outlineColor?: OutlineColor;\n\n /**\n * When this is defined, a specific theme background-color will be applied\n * along with updating the text color be either `#000` or `#fff` depending on\n * which has the highest contrast ratio.\n */\n backgroundColor?: BackgroundColor;\n\n /**\n * Set this to `true` if the element should act as an interaction surface\n * which will:\n * - display a pointer while hovered\n * - increase the z-index of children to enable higher contrast when\n * `core.$interaction-disable-higher-contrast` is not `true`\n * - add a `::before` pseudo element that will:\n * - gain the focus shadow while `:focus`-ed\n * - add a background-color while `:hover`-ed\n * - show no hover/focus styles while `:disabled` or `[aria-disabled=\"true\"]`\n *\n * @defaultValue `false`\n */\n surface?: boolean;\n\n /**\n * Set this to `\"light\"` or `\"dark\"` to update the hover, focus, press,\n * selected, and ripple colors for the surface type. `\"light\"` surfaces will\n * use `#000` while `\"dark\"` will use `#fff`.\n */\n surfaceColor?: \"light\" | \"dark\";\n}\n\n/**\n * This is used to apply css utility functions to any element within your\n * application such as:\n * - specific theme colors as background, text, or outline color\n * - removing margin\n * - screen reader visible only text\n * - text-align, text-decoration, text-transform, font-style, font-weight\n * - disable line wrap\n *\n * @remarks \\@since 6.0.0\n */\nexport function cssUtils(options: CssUtilsOptions): string {\n const {\n className,\n srOnly,\n textColor,\n outlineColor,\n backgroundColor,\n surface,\n surfaceColor,\n margin,\n fontStyle,\n fontWeight,\n textAlign,\n textDecoration,\n textTransform,\n textOverflow,\n } = options;\n\n const isMarginTop = margin === \"top\";\n const isTextColor =\n textColor === \"text-primary\" ||\n textColor === \"text-secondary\" ||\n textColor === \"text-hint\" ||\n textColor === \"text-disabled\";\n\n return cnb(\n !backgroundColor && !isTextColor && textColor && `rmd-${textColor}-color`,\n !backgroundColor && isTextColor && `rmd-${textColor}-color`,\n backgroundColor && \"rmd-background-container\",\n backgroundColor && `rmd-${backgroundColor}-container`,\n outlineColor && \"rmd-outline\",\n outlineColor && `rmd-${outlineColor}-outline`,\n (isMarginTop || margin === \"bottom\") &&\n `rmd-no-margin-${isMarginTop ? \"bottom\" : \"top\"}`,\n margin === \"none\" && \"rmd-no-margin\",\n margin === \"centered\" && \"rmd-centered\",\n textAlign && `rmd-align-${textAlign}`,\n textDecoration && `rmd-${textDecoration}`,\n textTransform && `rmd-${textTransform}`,\n fontStyle && `rmd-${fontStyle}`,\n fontWeight && `rmd-${fontWeight}`,\n srOnly && srOnly !== \"phone\" && \"rmd-sr-only\",\n srOnly === \"phone\" && \"rmd-phone-sr-only\",\n srOnly === \"focusable\" && \"rmd-sr-only--focusable\",\n surfaceColor === \"light\" && \"rmd-light-surface\",\n surfaceColor === \"dark\" && \"rmd-dark-surface\",\n textOverflow && textOverflow !== \"allow\" && \"rmd-nowrap\",\n textOverflow === \"ellipsis\" && \"rmd-ellipsis\",\n surface && \"rmd-interaction-surface\",\n className\n );\n}\n"],"names":["cnb","cssUtils","options","className","srOnly","textColor","outlineColor","backgroundColor","surface","surfaceColor","margin","fontStyle","fontWeight","textAlign","textDecoration","textTransform","textOverflow","isMarginTop","isTextColor"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAwKhC;;;;;;;;;;CAUC,GACD,OAAO,SAASC,SAASC,OAAwB;IAC/C,MAAM,EACJC,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,YAAY,EACZC,eAAe,EACfC,OAAO,EACPC,YAAY,EACZC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,YAAY,EACb,GAAGd;IAEJ,MAAMe,cAAcP,WAAW;IAC/B,MAAMQ,cACJb,cAAc,kBACdA,cAAc,oBACdA,cAAc,eACdA,cAAc;IAEhB,OAAOL,IACL,CAACO,mBAAmB,CAACW,eAAeb,aAAa,CAAC,IAAI,EAAEA,UAAU,MAAM,CAAC,EACzE,CAACE,mBAAmBW,eAAe,CAAC,IAAI,EAAEb,UAAU,MAAM,CAAC,EAC3DE,mBAAmB,4BACnBA,mBAAmB,CAAC,IAAI,EAAEA,gBAAgB,UAAU,CAAC,EACrDD,gBAAgB,eAChBA,gBAAgB,CAAC,IAAI,EAAEA,aAAa,QAAQ,CAAC,EAC7C,AAACW,CAAAA,eAAeP,WAAW,QAAO,KAChC,CAAC,cAAc,EAAEO,cAAc,WAAW,MAAM,CAAC,EACnDP,WAAW,UAAU,iBACrBA,WAAW,cAAc,gBACzBG,aAAa,CAAC,UAAU,EAAEA,UAAU,CAAC,EACrCC,kBAAkB,CAAC,IAAI,EAAEA,eAAe,CAAC,EACzCC,iBAAiB,CAAC,IAAI,EAAEA,cAAc,CAAC,EACvCJ,aAAa,CAAC,IAAI,EAAEA,UAAU,CAAC,EAC/BC,cAAc,CAAC,IAAI,EAAEA,WAAW,CAAC,EACjCR,UAAUA,WAAW,WAAW,eAChCA,WAAW,WAAW,qBACtBA,WAAW,eAAe,0BAC1BK,iBAAiB,WAAW,qBAC5BA,iBAAiB,UAAU,oBAC3BO,gBAAgBA,iBAAiB,WAAW,cAC5CA,iBAAiB,cAAc,gBAC/BR,WAAW,2BACXL;AAEJ"}
1
+ {"version":3,"sources":["../src/cssUtils.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\n/**\n * - `primary -> $primary-color`\n * - `secondary -> $secondary-color`\n * - `warning -> $warning-color`\n * - `success -> $success-color`\n * - `error -> $error-color`\n *\n * @remarks \\@since 6.0.0\n */\nexport type ThemeColor =\n | \"primary\"\n | \"secondary\"\n | \"warning\"\n | \"success\"\n | \"error\";\n\n/**\n * - `text-primary -> $text-primary-color`\n * - `text-secondary -> $text-secondary-color`\n * - `text-hint -> $text-hint-color`\n * - `text-disabled -> $text-disabled-color`\n *\n * @remarks \\@since 6.0.0\n */\nexport type TextColor =\n | \"text-primary\"\n | \"text-secondary\"\n | \"text-hint\"\n | \"text-disabled\"\n | `on-${ThemeColor}`;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type OutlineColor = ThemeColor | \"greyscale\" | \"current-color\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type BackgroundColor = ThemeColor | \"surface\" | \"current-color\";\n\nexport type TextAlign = \"left\" | \"center\" | \"right\";\nexport type TextDecoration = \"underline\" | \"overline\" | \"line-through\" | \"none\";\nexport type TextTransform = \"capitalize\" | \"uppercase\" | \"lowercase\";\nexport type FontStyle = \"italic\" | \"oblique\" | \"normal\";\n\n/**\n * The supported css `font-weight` values.\n *\n * Note: You will need to ensure that you are using a web safe font for all the\n * font weights to work, use variable fonts, or load all font weights for your\n * custom font.\n *\n * @see {@link https://www.google.com/search?q=web+safe+fonts | Web Safe Fonts}\n * @see {@link https://www.google.com/search?q=variable+fonts | Variable FOnts}\n * @remarks \\@since 6.0.0 This was `TextWeight` beforehand.\n */\nexport type FontWeight =\n | \"thin\"\n | \"light\"\n | \"regular\"\n | \"medium\"\n | \"bold\"\n | \"semi-bold\"\n | \"black\";\n\n/**\n * Since the typography within react-md tries to not modify base elements, the\n * default margin applied to heading tags (h1-h6) and paragraph (p) might have\n * large margin that you don't want applied when using this component. You can\n * disable:\n *\n * - only the top margin by setting this prop to `\"bottom\"`\n * - only the bottom margin by setting this prop to `\"top\"`\n * - top and bottom margin by setting this prop to `\"none\"`\n * - or keep the initial behavior: `\"initial\"`\n *\n * @remarks \\@since 6.0.0\n */\nexport type Margin = \"none\" | \"top\" | \"bottom\" | \"centered\";\n\n/** @remarks \\@since 6.0.0 */\nexport type TextOverflow = \"allow\" | \"nowrap\" | \"ellipsis\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface TextCssUtilsOptions {\n textColor?: ThemeColor | TextColor;\n\n textAlign?: TextAlign;\n\n textDecoration?: TextDecoration;\n\n textTransform?: TextTransform;\n\n fontWeight?: FontWeight;\n\n fontStyle?: FontStyle;\n\n /**\n * This can be used to remove margin from an element (usually typography\n * elements since the browser applies default margin for those elements).\n *\n * @see {@link Margin}\n */\n margin?: Margin;\n\n /**\n * Set this to `\"nowrap\"` to only prevent line wrap behavior or `\"ellipsis\"`\n * to also hide additional text with ellipsis.\n *\n * @defaultValue `\"allow\"`\n */\n textOverflow?: TextOverflow;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface CssUtilsOptions extends TextCssUtilsOptions {\n className?: string;\n\n /**\n * Set this to `true` to allow the content to only be visible for screen\n * readers. Set this to `\"focusable\"` to allow the content to be visible to\n * screen readers and once focused. Set this to `\"phone\"` to only render the\n * the content as screen reader only text on phones.\n *\n * @defaultValue `false`\n */\n srOnly?: boolean | \"focusable\" | \"phone\";\n\n /**\n * Set this to `\"current-color\"` to inherit the current text color or a\n * specific theme color as the outline `box-shadow`.\n */\n outlineColor?: OutlineColor;\n\n /**\n * When this is defined, a specific theme background-color will be applied\n * along with updating the text color be either `#000` or `#fff` depending on\n * which has the highest contrast ratio.\n */\n backgroundColor?: BackgroundColor;\n\n /**\n * Set this to `true` if the element should act as an interaction surface\n * which will:\n * - display a pointer while hovered\n * - increase the z-index of children to enable higher contrast when\n * `core.$interaction-disable-higher-contrast` is not `true`\n * - add a `::before` pseudo element that will:\n * - gain the focus shadow while `:focus`-ed\n * - add a background-color while `:hover`-ed\n * - show no hover/focus styles while `:disabled` or `[aria-disabled=\"true\"]`\n *\n * @defaultValue `false`\n */\n surface?: boolean;\n\n /**\n * Set this to `\"light\"` or `\"dark\"` to update the hover, focus, press,\n * selected, and ripple colors for the surface type. `\"light\"` surfaces will\n * use `#000` while `\"dark\"` will use `#fff`.\n */\n surfaceColor?: \"light\" | \"dark\";\n}\n\n/**\n * This is used to apply css utility functions to any element within your\n * application such as:\n * - specific theme colors as background, text, or outline color\n * - removing margin\n * - screen reader visible only text\n * - text-align, text-decoration, text-transform, font-style, font-weight\n * - disable line wrap\n *\n * @remarks \\@since 6.0.0\n */\nexport function cssUtils(options: CssUtilsOptions): string {\n const {\n className,\n srOnly,\n textColor,\n outlineColor,\n backgroundColor,\n surface,\n surfaceColor,\n margin,\n fontStyle,\n fontWeight,\n textAlign,\n textDecoration,\n textTransform,\n textOverflow,\n } = options;\n\n const isMarginTop = margin === \"top\";\n const isTextColor =\n textColor === \"text-primary\" ||\n textColor === \"text-secondary\" ||\n textColor === \"text-hint\" ||\n textColor === \"text-disabled\";\n\n return cnb(\n !backgroundColor && !isTextColor && textColor && `rmd-${textColor}-color`,\n !backgroundColor && isTextColor && `rmd-${textColor}-color`,\n backgroundColor && \"rmd-background-container\",\n backgroundColor &&\n backgroundColor !== \"current-color\" &&\n `rmd-${backgroundColor}-container`,\n outlineColor && \"rmd-outline\",\n outlineColor && `rmd-${outlineColor}-outline`,\n (isMarginTop || margin === \"bottom\") &&\n `rmd-no-margin-${isMarginTop ? \"bottom\" : \"top\"}`,\n margin === \"none\" && \"rmd-no-margin\",\n margin === \"centered\" && \"rmd-centered\",\n textAlign && `rmd-align-${textAlign}`,\n textDecoration && `rmd-${textDecoration}`,\n textTransform && `rmd-${textTransform}`,\n fontStyle && `rmd-${fontStyle}`,\n fontWeight && `rmd-${fontWeight}`,\n srOnly && srOnly !== \"phone\" && \"rmd-sr-only\",\n srOnly === \"phone\" && \"rmd-phone-sr-only\",\n srOnly === \"focusable\" && \"rmd-sr-only--focusable\",\n surfaceColor === \"light\" && \"rmd-light-surface\",\n surfaceColor === \"dark\" && \"rmd-dark-surface\",\n textOverflow && textOverflow !== \"allow\" && \"rmd-nowrap\",\n textOverflow === \"ellipsis\" && \"rmd-ellipsis\",\n surface && \"rmd-interaction-surface\",\n className\n );\n}\n"],"names":["cnb","cssUtils","options","className","srOnly","textColor","outlineColor","backgroundColor","surface","surfaceColor","margin","fontStyle","fontWeight","textAlign","textDecoration","textTransform","textOverflow","isMarginTop","isTextColor"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAyKhC;;;;;;;;;;CAUC,GACD,OAAO,SAASC,SAASC,OAAwB;IAC/C,MAAM,EACJC,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,YAAY,EACZC,eAAe,EACfC,OAAO,EACPC,YAAY,EACZC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,YAAY,EACb,GAAGd;IAEJ,MAAMe,cAAcP,WAAW;IAC/B,MAAMQ,cACJb,cAAc,kBACdA,cAAc,oBACdA,cAAc,eACdA,cAAc;IAEhB,OAAOL,IACL,CAACO,mBAAmB,CAACW,eAAeb,aAAa,CAAC,IAAI,EAAEA,UAAU,MAAM,CAAC,EACzE,CAACE,mBAAmBW,eAAe,CAAC,IAAI,EAAEb,UAAU,MAAM,CAAC,EAC3DE,mBAAmB,4BACnBA,mBACEA,oBAAoB,mBACpB,CAAC,IAAI,EAAEA,gBAAgB,UAAU,CAAC,EACpCD,gBAAgB,eAChBA,gBAAgB,CAAC,IAAI,EAAEA,aAAa,QAAQ,CAAC,EAC7C,AAACW,CAAAA,eAAeP,WAAW,QAAO,KAChC,CAAC,cAAc,EAAEO,cAAc,WAAW,MAAM,CAAC,EACnDP,WAAW,UAAU,iBACrBA,WAAW,cAAc,gBACzBG,aAAa,CAAC,UAAU,EAAEA,UAAU,CAAC,EACrCC,kBAAkB,CAAC,IAAI,EAAEA,eAAe,CAAC,EACzCC,iBAAiB,CAAC,IAAI,EAAEA,cAAc,CAAC,EACvCJ,aAAa,CAAC,IAAI,EAAEA,UAAU,CAAC,EAC/BC,cAAc,CAAC,IAAI,EAAEA,WAAW,CAAC,EACjCR,UAAUA,WAAW,WAAW,eAChCA,WAAW,WAAW,qBACtBA,WAAW,eAAe,0BAC1BK,iBAAiB,WAAW,qBAC5BA,iBAAiB,UAAU,oBAC3BO,gBAAgBA,iBAAiB,WAAW,cAC5CA,iBAAiB,cAAc,gBAC/BR,WAAW,2BACXL;AAEJ"}
@@ -23,7 +23,7 @@ export declare const DEFAULT_DIALOG_CLASSNAMES: Readonly<CSSTransitionClassNames
23
23
  export declare const DEFAULT_DIALOG_TIMEOUT: Readonly<TransitionTimeout>;
24
24
  export interface BaseDialogProps extends HTMLAttributes<HTMLDivElement>, CSSTransitionComponentProps, TransitionActions, FocusContainerComponentProps {
25
25
  /**
26
- * @defaultValue `useEnsuredId('dialog')`
26
+ * @defaultValue `"dialog-" + useId()`
27
27
  */
28
28
  id?: string;
29
29
  /**
@@ -83,7 +83,7 @@ const noopBool = ()=>false;
83
83
  * within once it becomes visible. You must manually add `autoFocus` to a
84
84
  * element instead.
85
85
  */ export const Dialog = /*#__PURE__*/ forwardRef(function Dialog(props, ref) {
86
- const { id: propId, role = "dialog", type = "centered", tabIndex = -1, visible, onRequestClose, containerProps, temporary = true, className, timeout = DEFAULT_DIALOG_TIMEOUT, classNames = DEFAULT_DIALOG_CLASSNAMES, disableTransition = false, appear, enter, exit, onEnter = noop, onEntering = noop, onEntered, onExit = noop, onExiting = noop, onExited, exitedHidden = true, fixed = false, modal = false, disableOverlay = false, overlayProps, overlayHidden, onKeyDown = noop, isFocusTypeDisabled = noopBool, disablePortal: propDisablePortal, disableScrollLock = false, disableEscapeClose = modal, disableFocusOutline = type === "full-page", children, ...remaining } = props;
86
+ const { id: propId, fixed = false, modal = false, role = modal ? "alertdialog" : "dialog", type = "centered", tabIndex = -1, visible, onRequestClose, containerProps, temporary = true, className, timeout = DEFAULT_DIALOG_TIMEOUT, classNames = DEFAULT_DIALOG_CLASSNAMES, disableTransition = false, appear, enter, exit, onEnter = noop, onEntering = noop, onEntered, onExit = noop, onExiting = noop, onExited, exitedHidden = true, disableOverlay = false, overlayProps, overlayHidden, onKeyDown = noop, isFocusTypeDisabled = noopBool, disablePortal: propDisablePortal, disableScrollLock = false, disableEscapeClose = modal, disableFocusOutline = type === "full-page", children, ...remaining } = props;
87
87
  const id = useEnsuredId(propId, "dialog");
88
88
  const ssr = useSsr();
89
89
  const setChildVisible = useNestedDialogContext();
@@ -158,6 +158,7 @@ const noopBool = ()=>false;
158
158
  className: cnb(containerProps?.className, !temporary && exitedHidden && stage === "exited" && DISPLAY_NONE_CLASS),
159
159
  enabled: type === "centered",
160
160
  children: /*#__PURE__*/ _jsx("div", {
161
+ "aria-modal": modal || undefined,
161
162
  ...remaining,
162
163
  ...elementProps,
163
164
  ...eventHandlers,