@webpros/mui-theme 0.1.6 → 0.2.0

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 (236) hide show
  1. package/dist/package.json +6 -4
  2. package/dist/src/components/data-display/Avatar/Avatar.theme.js +11 -8
  3. package/dist/src/components/data-display/Badge/Badge.theme.d.ts +4 -1
  4. package/dist/src/components/data-display/Badge/Badge.theme.js +216 -55
  5. package/dist/src/components/data-display/Chip/Chip.theme.d.ts +17 -3
  6. package/dist/src/components/data-display/Chip/Chip.theme.js +133 -477
  7. package/dist/src/components/data-display/Chip/get-chip-colors-map.d.ts +42 -0
  8. package/dist/src/components/data-display/Chip/get-chip-colors-map.js +253 -0
  9. package/dist/src/components/data-display/Divider/Divider.theme.d.ts +6 -1
  10. package/dist/src/components/data-display/Divider/Divider.theme.js +60 -3
  11. package/dist/src/components/data-display/List/List.theme.d.ts +1 -1
  12. package/dist/src/components/data-display/List/List.theme.js +1 -1
  13. package/dist/src/components/data-display/ListItem/ListItem.theme.d.ts +1 -1
  14. package/dist/src/components/data-display/ListItem/ListItem.theme.js +16 -8
  15. package/dist/src/components/data-display/ListItemAvatar/ListItemAvatar.theme.js +1 -2
  16. package/dist/src/components/data-display/ListItemButton/ListItemButton.theme.d.ts +0 -5
  17. package/dist/src/components/data-display/ListItemButton/ListItemButton.theme.js +14 -48
  18. package/dist/src/components/data-display/ListItemIcon/ListItemIcon.theme.js +4 -4
  19. package/dist/src/components/data-display/ListSubheader/ListSubheader.theme.d.ts +1 -1
  20. package/dist/src/components/data-display/ListSubheader/ListSubheader.theme.js +2 -5
  21. package/dist/src/components/data-display/Skeleton/Skeleton.d.ts +3 -0
  22. package/dist/src/components/data-display/Skeleton/Skeleton.js +4 -0
  23. package/dist/src/components/data-display/Skeleton/Skeleton.theme.d.ts +15 -0
  24. package/dist/src/components/data-display/Skeleton/Skeleton.theme.js +31 -0
  25. package/dist/src/components/data-display/Skeleton/index.d.ts +1 -0
  26. package/dist/src/components/data-display/Skeleton/index.js +2 -0
  27. package/dist/src/components/data-display/Tooltip/Tooltip.theme.js +7 -9
  28. package/dist/src/components/data-display/Typography/Typography.theme.d.ts +19 -26
  29. package/dist/src/components/data-display/Typography/Typography.theme.js +7 -163
  30. package/dist/src/components/feedback/Alert/Alert.theme.d.ts +12 -0
  31. package/dist/src/components/feedback/Alert/Alert.theme.js +60 -45
  32. package/dist/src/components/feedback/CircularProgress/CircularProgress.theme.d.ts +6 -1
  33. package/dist/src/components/feedback/CircularProgress/CircularProgress.theme.js +49 -8
  34. package/dist/src/components/feedback/LinearProgress/LinearProgress.theme.d.ts +6 -1
  35. package/dist/src/components/feedback/LinearProgress/LinearProgress.theme.js +83 -9
  36. package/dist/src/components/feedback/Snackbar/Snackbar.theme.d.ts +4 -4
  37. package/dist/src/components/feedback/Snackbar/Snackbar.theme.js +7 -3
  38. package/dist/src/components/index.d.ts +10 -1
  39. package/dist/src/components/index.js +10 -1
  40. package/dist/src/components/inputs/Autocomplete/Autocomplete.theme.d.ts +1 -1
  41. package/dist/src/components/inputs/Autocomplete/Autocomplete.theme.js +23 -51
  42. package/dist/src/components/inputs/Autocomplete/components/AutocompleteCaretDownIcon.d.ts +1 -0
  43. package/dist/src/components/inputs/Autocomplete/components/{AutocompletePopupIcon.js → AutocompleteCaretDownIcon.js} +1 -1
  44. package/dist/src/components/inputs/Autocomplete/components/AutocompleteXIcon.d.ts +1 -0
  45. package/dist/src/components/inputs/Autocomplete/components/AutocompleteXIcon.js +4 -0
  46. package/dist/src/components/inputs/Button/Button.theme.d.ts +4 -0
  47. package/dist/src/components/inputs/Button/Button.theme.js +93 -226
  48. package/dist/src/components/inputs/Button/get-button-colors-map.d.ts +24 -0
  49. package/dist/src/components/inputs/Button/get-button-colors-map.js +211 -0
  50. package/dist/src/components/inputs/Checkbox/Checkbox.theme.d.ts +7 -2
  51. package/dist/src/components/inputs/Checkbox/Checkbox.theme.js +57 -7
  52. package/dist/src/components/inputs/Fab/Fab.theme.d.ts +5 -9
  53. package/dist/src/components/inputs/Fab/Fab.theme.js +27 -98
  54. package/dist/src/components/inputs/FormHelperText/FormHelperText.d.ts +2 -0
  55. package/dist/src/components/inputs/FormHelperText/FormHelperText.js +3 -0
  56. package/dist/src/components/inputs/FormHelperText/FormHelperText.theme.d.ts +7 -0
  57. package/dist/src/components/inputs/FormHelperText/FormHelperText.theme.js +8 -0
  58. package/dist/src/components/inputs/FormHelperText/index.d.ts +1 -0
  59. package/dist/src/components/inputs/FormHelperText/index.js +2 -0
  60. package/dist/src/components/inputs/FormLabel/FormLabel.d.ts +2 -0
  61. package/dist/src/components/inputs/FormLabel/FormLabel.js +3 -0
  62. package/dist/src/components/inputs/FormLabel/FormLabel.theme.d.ts +7 -0
  63. package/dist/src/components/inputs/FormLabel/FormLabel.theme.js +8 -0
  64. package/dist/src/components/inputs/FormLabel/index.d.ts +1 -0
  65. package/dist/src/components/inputs/FormLabel/index.js +2 -0
  66. package/dist/src/components/inputs/IconButton/IconButton.theme.d.ts +3 -2
  67. package/dist/src/components/inputs/IconButton/IconButton.theme.js +90 -95
  68. package/dist/src/components/inputs/InputBase/InputBase.theme.d.ts +9 -26
  69. package/dist/src/components/inputs/InputBase/InputBase.theme.js +2 -64
  70. package/dist/src/components/inputs/InputLabel/InputLabel.theme.d.ts +7 -4
  71. package/dist/src/components/inputs/InputLabel/InputLabel.theme.js +26 -12
  72. package/dist/src/components/inputs/OutlinedInput/OutlinedInput.theme.d.ts +8 -0
  73. package/dist/src/components/inputs/OutlinedInput/OutlinedInput.theme.js +67 -0
  74. package/dist/src/components/inputs/OutlinedInput/index.d.ts +1 -0
  75. package/dist/src/components/inputs/OutlinedInput/index.js +2 -0
  76. package/dist/src/components/inputs/Radio/Radio.d.ts +4 -0
  77. package/dist/src/components/inputs/Radio/Radio.js +4 -0
  78. package/dist/src/components/inputs/Radio/Radio.theme.d.ts +11 -0
  79. package/dist/src/components/inputs/Radio/Radio.theme.js +35 -0
  80. package/dist/src/components/inputs/Radio/index.d.ts +1 -0
  81. package/dist/src/components/{navigation/TabList → inputs/Radio}/index.js +1 -1
  82. package/dist/src/components/inputs/Select/Select.theme.d.ts +2 -3
  83. package/dist/src/components/inputs/Select/Select.theme.js +6 -33
  84. package/dist/src/components/inputs/Switch/Switch.theme.js +125 -49
  85. package/dist/src/components/inputs/TextField/TextField.theme.d.ts +2 -3
  86. package/dist/src/components/inputs/TextField/TextField.theme.js +2 -26
  87. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  88. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.js +5 -0
  89. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.theme.d.ts +11 -0
  90. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.theme.js +23 -0
  91. package/dist/src/components/navigation/Breadcrumbs/Crumb.d.ts +10 -0
  92. package/dist/src/components/navigation/Breadcrumbs/Crumb.js +10 -0
  93. package/dist/src/components/navigation/Breadcrumbs/index.d.ts +1 -0
  94. package/dist/src/components/navigation/Breadcrumbs/index.js +2 -0
  95. package/dist/src/components/navigation/Drawer/Drawer.theme.d.ts +1 -1
  96. package/dist/src/components/navigation/Drawer/Drawer.theme.js +50 -6
  97. package/dist/src/components/navigation/Link/Link.theme.d.ts +11 -2
  98. package/dist/src/components/navigation/Link/Link.theme.js +66 -9
  99. package/dist/src/components/navigation/Menu/Menu.theme.d.ts +2 -3
  100. package/dist/src/components/navigation/Menu/Menu.theme.js +6 -11
  101. package/dist/src/components/navigation/MenuItem/MenuItem.theme.d.ts +2 -4
  102. package/dist/src/components/navigation/MenuItem/MenuItem.theme.js +8 -8
  103. package/dist/src/components/navigation/Pagination/Pagination.theme.d.ts +1 -1
  104. package/dist/src/components/navigation/Pagination/Pagination.theme.js +11 -3
  105. package/dist/src/components/navigation/PaginationItem/PaginationItem.theme.js +65 -10
  106. package/dist/src/components/navigation/PaginationItem/components/PaginationIcons.d.ts +4 -0
  107. package/dist/src/components/navigation/PaginationItem/components/PaginationIcons.js +8 -0
  108. package/dist/src/components/navigation/PaginationItem/components/index.d.ts +1 -0
  109. package/dist/src/components/navigation/PaginationItem/components/index.js +2 -0
  110. package/dist/src/components/navigation/Tab/Tab.theme.d.ts +7 -1
  111. package/dist/src/components/navigation/Tab/Tab.theme.js +52 -13
  112. package/dist/src/components/navigation/Tabs/Tabs.d.ts +3 -0
  113. package/dist/src/components/navigation/Tabs/Tabs.js +4 -0
  114. package/dist/src/components/navigation/Tabs/Tabs.theme.d.ts +16 -0
  115. package/dist/src/components/navigation/Tabs/Tabs.theme.js +55 -0
  116. package/dist/src/components/navigation/Tabs/index.d.ts +1 -0
  117. package/dist/src/components/navigation/Tabs/index.js +2 -0
  118. package/dist/src/components/surfaces/Accordion/Accordion.theme.js +54 -22
  119. package/dist/src/components/surfaces/Accordion/AccordionDetails.theme.d.ts +10 -0
  120. package/dist/src/components/surfaces/Accordion/AccordionDetails.theme.js +19 -0
  121. package/dist/src/components/surfaces/Accordion/AccordionSummary.theme.d.ts +10 -0
  122. package/dist/src/components/surfaces/Accordion/AccordionSummary.theme.js +37 -0
  123. package/dist/src/components/surfaces/Accordion/index.d.ts +2 -0
  124. package/dist/src/components/surfaces/Accordion/index.js +2 -0
  125. package/dist/src/components/surfaces/Card/Card.theme.js +1 -1
  126. package/dist/src/components/surfaces/Paper/Paper.theme.d.ts +16 -1
  127. package/dist/src/components/surfaces/Paper/Paper.theme.js +21 -7
  128. package/dist/src/components/surfaces/Paper/Paper.tokens.d.ts +8 -0
  129. package/dist/src/components/surfaces/Paper/Paper.tokens.js +50 -0
  130. package/dist/src/components/surfaces/Paper/Paper.variants.d.ts +4 -0
  131. package/dist/src/components/surfaces/Paper/Paper.variants.js +3 -0
  132. package/dist/src/components/surfaces/Popover/Popover.d.ts +4 -0
  133. package/dist/src/components/surfaces/Popover/Popover.js +4 -0
  134. package/dist/src/components/surfaces/Popover/Popover.theme.d.ts +9 -0
  135. package/dist/src/components/surfaces/Popover/Popover.theme.js +14 -0
  136. package/dist/src/components/surfaces/Popover/index.d.ts +1 -0
  137. package/dist/src/components/surfaces/Popover/index.js +2 -0
  138. package/dist/src/components/utils/Backdrop/Backdrop.d.ts +3 -0
  139. package/dist/src/components/utils/Backdrop/Backdrop.js +4 -0
  140. package/dist/src/components/utils/Backdrop/Backdrop.theme.d.ts +11 -0
  141. package/dist/src/components/utils/Backdrop/Backdrop.theme.js +17 -0
  142. package/dist/src/components/utils/Backdrop/index.d.ts +1 -0
  143. package/dist/src/components/utils/Backdrop/index.js +2 -0
  144. package/dist/src/providers/ThemeModeProvider.d.ts +1 -2
  145. package/dist/src/providers/ThemeModeProvider.js +2 -2
  146. package/dist/src/providers/WebProsMuiThemeProvider.js +1 -1
  147. package/dist/src/providers/WebProsTheme.d.ts +1 -0
  148. package/dist/src/providers/WebProsTheme.js +11 -5
  149. package/dist/src/shared/rippleEnterKeyframe.d.ts +6 -0
  150. package/dist/src/shared/rippleEnterKeyframe.js +12 -0
  151. package/dist/src/shared/viewContext/index.d.ts +1 -0
  152. package/dist/src/shared/viewContext/index.js +2 -0
  153. package/dist/src/shared/viewContext/viewContext.d.ts +4 -0
  154. package/dist/src/shared/viewContext/viewContext.js +2 -0
  155. package/dist/src/style/additional-color-palette.d.ts +1 -3
  156. package/dist/src/style/additional-color-palette.js +3 -6
  157. package/dist/src/style/custom-color-palette.js +50 -52
  158. package/dist/src/tokens/ThemeColorTokens.d.ts +11 -93
  159. package/dist/src/tokens/ThemeColorTokens.js +4 -168
  160. package/dist/src/tokens/ThemeScheme.d.ts +0 -3
  161. package/dist/src/tokens/ThemeScheme.js +0 -2
  162. package/dist/src/tokens/colors/Dark.d.ts +16 -0
  163. package/dist/src/tokens/colors/Dark.js +1398 -0
  164. package/dist/src/tokens/colors/Light.d.ts +16 -0
  165. package/dist/src/tokens/colors/Light.js +1398 -0
  166. package/dist/src/tokens/colors/index.d.ts +7 -0
  167. package/dist/src/tokens/colors/index.js +4 -0
  168. package/dist/src/tokens/colors/inverseSchemas.d.ts +40 -0
  169. package/dist/src/tokens/colors/inverseSchemas.js +3 -0
  170. package/dist/src/tokens/colors/inverseSchemes.d.ts +53 -0
  171. package/dist/src/tokens/colors/inverseSchemes.js +3 -0
  172. package/dist/src/tokens/colors/inverseStateLayers.d.ts +174 -0
  173. package/dist/src/tokens/colors/inverseStateLayers.js +3 -0
  174. package/dist/src/tokens/colors/schemas.d.ts +111 -0
  175. package/dist/src/tokens/colors/schemas.js +3 -0
  176. package/dist/src/tokens/colors/schemes.d.ts +111 -0
  177. package/dist/src/tokens/colors/schemes.js +3 -0
  178. package/dist/src/tokens/colors/stateLayers.d.ts +456 -0
  179. package/dist/src/tokens/colors/stateLayers.js +3 -0
  180. package/dist/src/tokens/colors/types.d.ts +9 -0
  181. package/dist/src/tokens/colors/types.js +2 -0
  182. package/dist/src/tokens/index.d.ts +6 -2
  183. package/dist/src/tokens/index.js +2 -1
  184. package/dist/src/tokens/legacyColors/LegacyDark.d.ts +2 -0
  185. package/dist/src/tokens/legacyColors/LegacyDark.js +88 -0
  186. package/dist/src/tokens/legacyColors/LegacyLight.d.ts +2 -0
  187. package/dist/src/tokens/legacyColors/LegacyLight.js +86 -0
  188. package/dist/src/tokens/legacyColors/ThemeColorTokensLegacy.d.ts +74 -0
  189. package/dist/src/tokens/legacyColors/ThemeColorTokensLegacy.js +2 -0
  190. package/dist/src/tokens/legacyColors/additionalColors/additionalColors.d.ts +21 -0
  191. package/dist/src/tokens/legacyColors/additionalColors/additionalColors.js +2 -0
  192. package/dist/src/tokens/{additionalColors → legacyColors/additionalColors}/index.d.ts +1 -0
  193. package/dist/src/tokens/{additionalColors → legacyColors/additionalColors}/index.js +1 -0
  194. package/dist/src/tokens/legacyColors/index.d.ts +2 -0
  195. package/dist/src/tokens/legacyColors/index.js +3 -0
  196. package/dist/src/tokens/shadows/index.d.ts +12 -0
  197. package/dist/src/tokens/shadows/index.js +112 -0
  198. package/dist/src/tokens/typography/index.d.ts +2 -0
  199. package/dist/src/tokens/typography/index.js +4 -0
  200. package/dist/src/tokens/typography/typescale.d.ts +28 -0
  201. package/dist/src/tokens/typography/typescale.js +26 -0
  202. package/dist/src/tokens/typography/typography.d.ts +2 -0
  203. package/dist/src/tokens/typography/typography.js +156 -0
  204. package/dist/src/utils/flatten.d.ts +1 -0
  205. package/dist/src/utils/flatten.js +12 -0
  206. package/dist/src/utils/getMUIComponents.js +2 -2
  207. package/dist/src/utils/getMUIPalette.d.ts +4 -9
  208. package/dist/src/utils/getMUIPalette.js +49 -25
  209. package/dist/src/utils/getMUIThemeCustoimzationType.d.ts +31 -0
  210. package/dist/src/utils/getMUIThemeCustoimzationType.js +2 -0
  211. package/dist/src/utils/getMUITypography.d.ts +2 -0
  212. package/dist/src/utils/getMUITypography.js +5 -0
  213. package/dist/src/utils/getStateLayerColor.d.ts +37 -0
  214. package/dist/src/utils/getStateLayerColor.js +43 -1
  215. package/dist/src/utils/index.d.ts +1 -1
  216. package/dist/src/utils/index.js +1 -1
  217. package/dist/src/utils/patchMUIShadows.js +4 -3
  218. package/package.json +6 -4
  219. package/dist/src/components/inputs/Autocomplete/components/AutocompletePopupIcon.d.ts +0 -1
  220. package/dist/src/components/navigation/PaginationItem/PaginationItem.d.ts +0 -3
  221. package/dist/src/components/navigation/PaginationItem/PaginationItem.js +0 -4
  222. package/dist/src/components/navigation/TabList/TabList.d.ts +0 -3
  223. package/dist/src/components/navigation/TabList/TabList.js +0 -4
  224. package/dist/src/components/navigation/TabList/TabList.theme.d.ts +0 -10
  225. package/dist/src/components/navigation/TabList/TabList.theme.js +0 -17
  226. package/dist/src/components/navigation/TabList/index.d.ts +0 -1
  227. package/dist/src/hooks/useTonalPalette.d.ts +0 -3
  228. package/dist/src/hooks/useTonalPalette.js +0 -32
  229. package/dist/src/providers/ThemeSchemeProvider.d.ts +0 -12
  230. package/dist/src/providers/ThemeSchemeProvider.js +0 -29
  231. package/dist/src/tokens/TonalPalette.d.ts +0 -10
  232. package/dist/src/tokens/TonalPalette.js +0 -10
  233. package/dist/src/utils/generateTokens.d.ts +0 -4
  234. package/dist/src/utils/generateTokens.js +0 -107
  235. /package/dist/src/tokens/{Tone.d.ts → legacyColors/Tone.d.ts} +0 -0
  236. /package/dist/src/tokens/{Tone.js → legacyColors/Tone.js} +0 -0
@@ -0,0 +1,211 @@
1
+ // Copyright 2025 WebPros International GmbH. All rights reserved.
2
+ // Here are extracted colors for `Button` and `IconButton` components, because they have the same color schemes.
3
+ // Not applicable to other components
4
+ export const getButtonColorsMap = (theme, viewContext) => {
5
+ const isInverseView = viewContext === 'inverse';
6
+ const { colors } = theme;
7
+ const schemesPath = isInverseView ? 'inverseSchemes' : 'schemes';
8
+ const stateLayersPath = isInverseView ? 'inverseStateLayers' : 'stateLayers';
9
+ const blendColors = isInverseView
10
+ ? colors.blendInverseSchemaWithStateLayer
11
+ : colors.blendSchemaWithStateLayer;
12
+ const PRIMARY_COLORS = {
13
+ filled: {
14
+ background: colors[schemesPath].base.primary,
15
+ color: colors[schemesPath].base.onPrimary,
16
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
17
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
18
+ loadingBackground: colors[schemesPath].base.primary,
19
+ loadingColor: 'transparent',
20
+ loadingIndicator: colors[schemesPath].base.onPrimary,
21
+ hover: blendColors(`${schemesPath}.base.primary`, `${stateLayersPath}.base.onPrimary.opacity08`),
22
+ active: blendColors(`${schemesPath}.base.primary`, `${stateLayersPath}.base.onPrimary.opacity12`),
23
+ focus: blendColors(`${schemesPath}.base.primary`, `${stateLayersPath}.base.onPrimary.opacity12`),
24
+ ripple: colors[stateLayersPath].base.onPrimary.opacity12,
25
+ },
26
+ tonal: {
27
+ background: colors[schemesPath].base.primaryContainer,
28
+ color: colors[schemesPath].base.onPrimaryContainer,
29
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
30
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
31
+ loadingBackground: colors[schemesPath].base.primaryContainer,
32
+ loadingColor: 'transparent',
33
+ loadingIndicator: colors[schemesPath].base.onPrimaryContainer,
34
+ hover: blendColors(`${schemesPath}.base.primaryContainer`, `${stateLayersPath}.base.onPrimaryContainer.opacity08`),
35
+ active: blendColors(`${schemesPath}.base.primaryContainer`, `${stateLayersPath}.base.onPrimaryContainer.opacity12`),
36
+ focus: blendColors(`${schemesPath}.base.primaryContainer`, `${stateLayersPath}.base.onPrimaryContainer.opacity12`),
37
+ ripple: colors[stateLayersPath].base.onPrimaryContainer.opacity12,
38
+ },
39
+ ghost: {
40
+ background: 'transparent',
41
+ color: colors[schemesPath].base.primary,
42
+ disabledBackground: 'transparent',
43
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
44
+ loadingBackground: 'transparent',
45
+ loadingColor: 'transparent',
46
+ loadingIndicator: colors[schemesPath].base.primary,
47
+ hover: colors[stateLayersPath].base.primary.opacity08,
48
+ active: colors[stateLayersPath].base.primary.opacity12,
49
+ focus: colors[stateLayersPath].base.primary.opacity12,
50
+ ripple: colors[stateLayersPath].base.primary.opacity12,
51
+ },
52
+ };
53
+ const DEFAULT_COLORS = {
54
+ tonal: {
55
+ background: colors[schemesPath].surfaces.surfaceContainer,
56
+ color: colors[schemesPath].surfaces.onSurfaceVariant,
57
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
58
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
59
+ loadingBackground: colors[schemesPath].surfaces.surfaceContainer,
60
+ loadingColor: 'transparent',
61
+ loadingIndicator: colors[schemesPath].surfaces.onSurfaceVariant,
62
+ hover: blendColors(`${schemesPath}.surfaces.surfaceContainer`, `${stateLayersPath}.surfaces.onSurfaceVariant.opacity08`),
63
+ active: blendColors(`${schemesPath}.surfaces.surfaceContainer`, `${stateLayersPath}.surfaces.onSurfaceVariant.opacity12`),
64
+ focus: blendColors(`${schemesPath}.surfaces.surfaceContainer`, `${stateLayersPath}.surfaces.onSurfaceVariant.opacity12`),
65
+ ripple: colors[stateLayersPath].surfaces.onSurfaceVariant.opacity12,
66
+ },
67
+ ghost: {
68
+ background: 'transparent',
69
+ color: colors[schemesPath].surfaces.onSurfaceVariant,
70
+ disabledBackground: 'transparent',
71
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
72
+ loadingBackground: 'transparent',
73
+ loadingColor: 'transparent',
74
+ loadingIndicator: colors[schemesPath].surfaces.onSurfaceVariant,
75
+ hover: colors[stateLayersPath].surfaces.onSurfaceVariant.opacity08,
76
+ active: colors[stateLayersPath].surfaces.onSurfaceVariant.opacity12,
77
+ focus: colors[stateLayersPath].surfaces.onSurfaceVariant.opacity12,
78
+ ripple: colors[stateLayersPath].surfaces.onSurfaceVariant.opacity12,
79
+ },
80
+ };
81
+ const SECONDARY_COLORS = {
82
+ filled: {
83
+ background: colors[schemesPath].base.secondary,
84
+ color: colors[schemesPath].base.onSecondary,
85
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
86
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
87
+ loadingBackground: colors[schemesPath].base.secondary,
88
+ loadingColor: 'transparent',
89
+ loadingIndicator: colors[schemesPath].base.onSecondary,
90
+ hover: blendColors(`${schemesPath}.base.secondary`, `${stateLayersPath}.base.onSecondary.opacity08`),
91
+ active: blendColors(`${schemesPath}.base.secondary`, `${stateLayersPath}.base.onSecondary.opacity12`),
92
+ focus: blendColors(`${schemesPath}.base.secondary`, `${stateLayersPath}.base.onSecondary.opacity12`),
93
+ ripple: colors[stateLayersPath].base.onSecondary.opacity12,
94
+ },
95
+ tonal: {
96
+ background: colors[schemesPath].base.secondaryContainer,
97
+ color: colors[schemesPath].base.onSecondaryContainer,
98
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
99
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
100
+ loadingBackground: colors[schemesPath].base.secondaryContainer,
101
+ loadingColor: 'transparent',
102
+ loadingIndicator: colors[schemesPath].base.secondary,
103
+ hover: blendColors(`${schemesPath}.base.secondaryContainer`, `${stateLayersPath}.base.onSecondaryContainer.opacity08`),
104
+ active: blendColors(`${schemesPath}.base.secondaryContainer`, `${stateLayersPath}.base.onSecondaryContainer.opacity12`),
105
+ focus: blendColors(`${schemesPath}.base.secondaryContainer`, `${stateLayersPath}.base.onSecondaryContainer.opacity12`),
106
+ ripple: colors[stateLayersPath].base.onSecondaryContainer.opacity12,
107
+ },
108
+ ghost: {
109
+ background: 'transparent',
110
+ color: colors[schemesPath].base.secondary,
111
+ disabledBackground: 'transparent',
112
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
113
+ loadingBackground: 'transparent',
114
+ loadingColor: 'transparent',
115
+ loadingIndicator: colors[schemesPath].base.secondary,
116
+ hover: colors[schemesPath].base.secondaryContainer,
117
+ active: blendColors(`${schemesPath}.base.secondaryContainer`, `${stateLayersPath}.base.secondary.opacity08`),
118
+ focus: blendColors(`${schemesPath}.base.secondaryContainer`, `${stateLayersPath}.base.secondary.opacity08`),
119
+ ripple: colors[stateLayersPath].base.secondary.opacity12,
120
+ },
121
+ };
122
+ const ERROR_COLORS = {
123
+ filled: {
124
+ background: colors[schemesPath].status.error,
125
+ color: colors[schemesPath].status.onError,
126
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
127
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
128
+ loadingBackground: colors[schemesPath].status.error,
129
+ loadingColor: 'transparent',
130
+ loadingIndicator: colors[schemesPath].status.onError,
131
+ hover: blendColors(`${schemesPath}.status.error`, `${stateLayersPath}.status.onError.opacity08`),
132
+ active: blendColors(`${schemesPath}.status.error`, `${stateLayersPath}.status.onError.opacity12`),
133
+ focus: blendColors(`${schemesPath}.status.error`, `${stateLayersPath}.status.onError.opacity12`),
134
+ ripple: colors[stateLayersPath].status.onError.opacity12,
135
+ },
136
+ tonal: {
137
+ background: colors[schemesPath].status.errorContainer,
138
+ color: colors[schemesPath].status.onErrorContainer,
139
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
140
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
141
+ loadingBackground: colors[schemesPath].status.errorContainer,
142
+ loadingColor: 'transparent',
143
+ loadingIndicator: colors[schemesPath].status.onErrorContainer,
144
+ hover: blendColors(`${schemesPath}.status.errorContainer`, `${stateLayersPath}.status.onErrorContainer.opacity08`),
145
+ active: blendColors(`${schemesPath}.status.errorContainer`, `${stateLayersPath}.status.onErrorContainer.opacity12`),
146
+ focus: blendColors(`${schemesPath}.status.errorContainer`, `${stateLayersPath}.status.onErrorContainer.opacity12`),
147
+ ripple: colors[stateLayersPath].status.onErrorContainer.opacity08,
148
+ },
149
+ ghost: {
150
+ background: 'transparent',
151
+ color: colors[schemesPath].status.onErrorContainer,
152
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
153
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
154
+ loadingBackground: 'transparent',
155
+ loadingColor: 'transparent',
156
+ loadingIndicator: colors[schemesPath].status.error,
157
+ hover: colors[stateLayersPath].status.error.opacity08,
158
+ active: colors[stateLayersPath].status.error.opacity12,
159
+ focus: colors[stateLayersPath].status.error.opacity12,
160
+ ripple: colors[stateLayersPath].status.error.opacity12,
161
+ },
162
+ };
163
+ const SUCCESS_COLORS = {
164
+ filled: {
165
+ background: colors[schemesPath].status.success,
166
+ color: colors[schemesPath].status.onSuccess,
167
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
168
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
169
+ loadingBackground: colors[schemesPath].status.success,
170
+ loadingColor: 'transparent',
171
+ loadingIndicator: colors[schemesPath].status.onSuccess,
172
+ hover: blendColors(`${schemesPath}.status.success`, `${stateLayersPath}.status.onSuccess.opacity08`),
173
+ active: blendColors(`${schemesPath}.status.success`, `${stateLayersPath}.status.onSuccess.opacity12`),
174
+ focus: blendColors(`${schemesPath}.status.success`, `${stateLayersPath}.status.onSuccess.opacity12`),
175
+ ripple: colors[stateLayersPath].status.onSuccess.opacity12,
176
+ },
177
+ tonal: {
178
+ background: colors[schemesPath].status.successContainer,
179
+ color: colors[schemesPath].status.onSuccessContainer,
180
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
181
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
182
+ loadingBackground: colors[schemesPath].status.successContainer,
183
+ loadingColor: 'transparent',
184
+ loadingIndicator: colors[schemesPath].status.onSuccessContainer,
185
+ hover: blendColors(`${schemesPath}.status.successContainer`, `${stateLayersPath}.status.onSuccessContainer.opacity08`),
186
+ active: blendColors(`${schemesPath}.status.successContainer`, `${stateLayersPath}.status.onSuccessContainer.opacity12`),
187
+ focus: blendColors(`${schemesPath}.status.successContainer`, `${stateLayersPath}.status.onSuccessContainer.opacity12`),
188
+ ripple: colors[stateLayersPath].status.onSuccessContainer.opacity08,
189
+ },
190
+ ghost: {
191
+ background: 'transparent',
192
+ color: colors[schemesPath].status.onSuccessContainer,
193
+ disabledBackground: colors[stateLayersPath].surfaces.onSurface.opacity12,
194
+ disabledColor: colors[stateLayersPath].surfaces.onSurface.opacity38,
195
+ loadingBackground: 'transparent',
196
+ loadingColor: 'transparent',
197
+ loadingIndicator: colors[schemesPath].status.success,
198
+ hover: colors[stateLayersPath].status.success.opacity08,
199
+ active: colors[stateLayersPath].status.success.opacity12,
200
+ focus: colors[stateLayersPath].status.success.opacity12,
201
+ ripple: colors[stateLayersPath].status.success.opacity12,
202
+ },
203
+ };
204
+ return {
205
+ primary: PRIMARY_COLORS,
206
+ default: DEFAULT_COLORS,
207
+ secondary: SECONDARY_COLORS,
208
+ error: ERROR_COLORS,
209
+ success: SUCCESS_COLORS,
210
+ };
211
+ };
@@ -1,8 +1,13 @@
1
- import { Theme, ComponentsProps, ComponentsOverrides } from '@mui/material';
1
+ import { Theme, ComponentsOverrides, ComponentsVariants } from '@mui/material';
2
+ import { ComponentWithViewContextOwnProps } from '../../../shared/viewContext';
3
+ declare module '@mui/material/Checkbox' {
4
+ interface CheckboxProps extends ComponentWithViewContextOwnProps {
5
+ }
6
+ }
2
7
  interface M3Checkbox {
3
8
  MuiCheckbox: {
4
- defaultProps?: ComponentsProps['MuiCheckbox'];
5
9
  styleOverrides?: ComponentsOverrides<Theme>['MuiCheckbox'];
10
+ variants?: ComponentsVariants<Theme>['MuiCheckbox'];
6
11
  };
7
12
  }
8
13
  export declare const getCheckbox: (theme: Theme) => M3Checkbox;
@@ -1,19 +1,69 @@
1
1
  export const getCheckbox = (theme) => {
2
- const { palette } = theme;
2
+ const { colors } = theme;
3
3
  return {
4
4
  MuiCheckbox: {
5
5
  styleOverrides: {
6
6
  root: {
7
- color: palette.outline.main,
8
- padding: 8,
9
- '&.Mui-checked': {
10
- color: palette.primary.main,
11
- },
12
7
  '&.Mui-disabled': {
13
- color: palette.outline.main,
8
+ color: colors.stateLayers.surfaces.onSurfaceVariant.opacity38,
14
9
  },
15
10
  },
16
11
  },
12
+ variants: [
13
+ {
14
+ props: { color: 'default' },
15
+ style: {
16
+ color: colors.schemes.surfaces.onSurfaceVariant,
17
+ '&.Mui-checked': {
18
+ color: colors.schemes.base.primary,
19
+ },
20
+ '&.MuiCheckbox-indeterminate': {
21
+ color: colors.schemes.base.primary,
22
+ },
23
+ },
24
+ },
25
+ {
26
+ props: { color: 'error' },
27
+ style: {
28
+ color: colors.schemes.status.error,
29
+ '&.Mui-checked': {
30
+ color: colors.schemes.status.error,
31
+ },
32
+ },
33
+ },
34
+ {
35
+ props: { viewContext: 'inverse' },
36
+ style: {
37
+ '&.Mui-disabled': {
38
+ color: colors.inverseStateLayers.surfaces.onSurfaceVariant.opacity28,
39
+ },
40
+ },
41
+ },
42
+ {
43
+ props: { color: 'default', viewContext: 'inverse' },
44
+ style: {
45
+ color: colors.inverseSchemes.surfaces.onSurfaceVariant,
46
+ '&.Mui-checked': {
47
+ color: colors.inverseSchemes.base.primary,
48
+ },
49
+ '&.MuiCheckbox-indeterminate': {
50
+ color: colors.inverseSchemes.base.primary,
51
+ },
52
+ },
53
+ },
54
+ {
55
+ props: { color: 'error', viewContext: 'inverse' },
56
+ style: {
57
+ color: colors.inverseSchemes.status.error,
58
+ '&.Mui-checked': {
59
+ color: colors.inverseSchemes.status.error,
60
+ },
61
+ '&.MuiCheckbox-indeterminate': {
62
+ color: colors.inverseSchemes.status.error,
63
+ },
64
+ },
65
+ },
66
+ ],
17
67
  },
18
68
  };
19
69
  };
@@ -7,17 +7,13 @@ interface M3Fab {
7
7
  };
8
8
  }
9
9
  declare module '@mui/material/Fab' {
10
+ interface FabPropsVariantOverrides {
11
+ filled: true;
12
+ tonal: true;
13
+ }
10
14
  interface FabPropsColorOverrides {
11
15
  primary: true;
12
- surface: true;
13
- secondary: true;
14
- tertiary: true;
15
- success: false;
16
- info: false;
17
- warning: false;
18
- error: false;
19
- default: false;
20
- inherit: false;
16
+ default: true;
21
17
  }
22
18
  }
23
19
  export declare const getFab: (theme: Theme) => M3Fab;
@@ -1,130 +1,59 @@
1
- import { StateLayer, getStateLayerColor } from '../../../utils/getStateLayerColor';
2
1
  export const getFab = (theme) => {
3
- const { palette } = theme;
2
+ const { colors, typography } = theme;
4
3
  return {
5
4
  MuiFab: {
6
- defaultProps: { color: 'secondary' },
5
+ defaultProps: { color: 'primary' },
7
6
  styleOverrides: {
8
- root: {
9
- boxShadow: theme.shadows[3],
10
- borderRadius: '18px',
11
- textTransform: 'capitalize',
12
- fontWeight: 500,
13
- },
7
+ root: Object.assign(Object.assign({}, typography.LabelMedium), { width: 'auto', height: '42px', boxShadow: theme.shadows[2], borderRadius: '17px', textTransform: 'none', padding: 11, '&:active': {
8
+ boxShadow: `${theme.shadows[1]} !important`,
9
+ } }),
14
10
  },
15
11
  variants: [
16
12
  {
17
- props: { variant: 'extended', size: 'medium' },
13
+ props: { variant: 'filled', color: 'primary' },
18
14
  style: {
19
- height: '56px',
20
- borderRadius: '20px',
21
- paddingTop: 16,
22
- paddingRight: 20,
23
- paddingBottom: 16,
24
- paddingLeft: 24,
25
- '& > .MuiTypography-root': {
26
- color: palette.onPrimaryContainer.main,
27
- fontSize: '0.875rem',
28
- fontWeight: 500,
29
- lineHeight: '1.25rem',
30
- letterSpacing: '0.006rem',
31
- paddingLeft: '12px',
32
- paddingRight: '12px',
33
- },
34
- '& > .MuiSvgIcon-root': {
35
- color: palette.onPrimaryContainer.main,
36
- },
37
- },
38
- },
39
- {
40
- props: { size: 'medium', variant: 'circular' },
41
- style: {
42
- height: 56,
43
- width: 56,
44
- },
45
- },
46
- {
47
- props: { size: 'large', variant: 'circular' },
48
- style: {
49
- height: 96,
50
- width: 96,
51
- borderRadius: 28,
52
- },
53
- },
54
- {
55
- props: { color: 'primary' },
56
- style: {
57
- backgroundColor: palette.primaryContainer.main,
58
- color: palette.onPrimaryContainer.main,
59
- boxShadow: theme.shadows[0],
15
+ background: colors.schemes.base.primary,
16
+ color: colors.schemes.base.onPrimary,
60
17
  '&:hover': {
61
- background: getStateLayerColor(StateLayer.Hover, palette.primaryContainer.main, palette.onPrimaryContainer.main),
62
- boxShadow: theme.shadows[0],
63
- },
64
- '&:focus': {
65
- background: getStateLayerColor(StateLayer.Focus, palette.primaryContainer.main, palette.onPrimaryContainer.main),
66
- boxShadow: theme.shadows[0],
18
+ background: colors.blendSchemaWithStateLayer('schemes.base.primary', 'stateLayers.base.onPrimary.opacity08'),
67
19
  },
68
20
  '&:active': {
69
- background: getStateLayerColor(StateLayer.Press, palette.primaryContainer.main, palette.onPrimaryContainer.main),
70
- boxShadow: theme.shadows[0],
71
- },
72
- },
73
- },
74
- {
75
- props: { color: 'secondary' },
76
- style: {
77
- backgroundColor: palette.secondaryContainer.main,
78
- color: palette.onSecondaryContainer.main,
79
- '&:hover': {
80
- background: getStateLayerColor(StateLayer.Hover, palette.secondaryContainer.main, palette.onSecondaryContainer.main),
81
- boxShadow: theme.shadows[4],
21
+ background: colors.blendSchemaWithStateLayer('schemes.base.primary', 'stateLayers.base.onPrimary.opacity12'),
82
22
  },
83
23
  '&:focus': {
84
- background: getStateLayerColor(StateLayer.Focus, palette.secondaryContainer.main, palette.onSecondaryContainer.main),
85
- boxShadow: theme.shadows[3],
86
- },
87
- '&:active': {
88
- background: getStateLayerColor(StateLayer.Press, palette.secondaryContainer.main, palette.onSecondaryContainer.main),
89
- boxShadow: theme.shadows[3],
24
+ background: colors.blendSchemaWithStateLayer('schemes.base.primary', 'stateLayers.base.onPrimary.opacity12'),
90
25
  },
91
26
  },
92
27
  },
93
28
  {
94
- props: { color: 'surface' },
29
+ props: { variant: 'tonal', color: 'primary' },
95
30
  style: {
96
- backgroundColor: palette.surfaceContainer.main,
97
- color: palette.primary.main,
31
+ background: colors.schemes.base.primaryContainer,
32
+ color: colors.schemes.base.primary,
98
33
  '&:hover': {
99
- background: getStateLayerColor(StateLayer.Hover, palette.surfaceContainer.main, palette.primary.main),
100
- boxShadow: theme.shadows[4],
101
- },
102
- '&:focus': {
103
- background: getStateLayerColor(StateLayer.Focus, palette.surfaceContainer.main, palette.primary.main),
104
- boxShadow: theme.shadows[3],
34
+ background: colors.blendSchemaWithStateLayer('schemes.base.primaryContainer', 'stateLayers.base.onPrimaryContainer.opacity08'),
105
35
  },
106
36
  '&:active': {
107
- background: getStateLayerColor(StateLayer.Press, palette.surfaceContainer.main, palette.primary.main),
108
- boxShadow: theme.shadows[3],
37
+ background: colors.blendSchemaWithStateLayer('schemes.base.primaryContainer', 'stateLayers.base.onPrimaryContainer.opacity12'),
38
+ },
39
+ '&:focus': {
40
+ background: colors.blendSchemaWithStateLayer('schemes.base.primaryContainer', 'stateLayers.base.onPrimaryContainer.opacity12'),
109
41
  },
110
42
  },
111
43
  },
112
44
  {
113
- props: { color: 'tertiary' },
45
+ props: { variant: 'tonal', color: 'default' },
114
46
  style: {
115
- backgroundColor: palette.tertiaryContainer.main,
116
- color: palette.onTertiaryContainer.main,
47
+ background: colors.schemes.surfaces.surfaceContainerLowest,
48
+ color: colors.schemes.surfaces.onSurfaceVariant,
117
49
  '&:hover': {
118
- background: getStateLayerColor(StateLayer.Hover, palette.tertiaryContainer.main, palette.onTertiaryContainer.main),
119
- boxShadow: theme.shadows[4],
120
- },
121
- '&:focus': {
122
- background: getStateLayerColor(StateLayer.Focus, palette.tertiaryContainer.main, palette.onTertiaryContainer.main),
123
- boxShadow: theme.shadows[3],
50
+ background: colors.blendSchemaWithStateLayer('schemes.surfaces.surfaceContainerLowest', 'stateLayers.surfaces.onSurfaceVariant.opacity08'),
124
51
  },
125
52
  '&:active': {
126
- background: getStateLayerColor(StateLayer.Press, palette.tertiaryContainer.main, palette.onTertiaryContainer.main),
127
- boxShadow: theme.shadows[3],
53
+ background: colors.blendSchemaWithStateLayer('schemes.surfaces.surfaceContainerLowest', 'stateLayers.surfaces.onSurfaceVariant.opacity12'),
54
+ },
55
+ '&:focus': {
56
+ background: colors.blendSchemaWithStateLayer('schemes.surfaces.surfaceContainerLowest', 'stateLayers.surfaces.onSurfaceVariant.opacity12'),
128
57
  },
129
58
  },
130
59
  },
@@ -0,0 +1,2 @@
1
+ export declare const FormHelperText: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").FormHelperTextTypeMap<{}, "p">>;
2
+ export type FormHelperTextComponentType = typeof FormHelperText;
@@ -0,0 +1,3 @@
1
+ // Copyright 2025 WebPros International GmbH. All rights reserved.
2
+ import { FormHelperText as MuiFormHelperText } from '@mui/material';
3
+ export const FormHelperText = MuiFormHelperText;
@@ -0,0 +1,7 @@
1
+ import { Theme, ComponentsOverrides } from '@mui/material';
2
+ export interface M3FormHelperText {
3
+ MuiFormHelperText: {
4
+ styleOverrides?: ComponentsOverrides<Theme>['MuiFormHelperText'];
5
+ };
6
+ }
7
+ export declare const getFormHelperText: () => M3FormHelperText;
@@ -0,0 +1,8 @@
1
+ // Copyright 2025 WebPros International GmbH. All rights reserved.
2
+ export const getFormHelperText = () => {
3
+ return {
4
+ MuiFormHelperText: {
5
+ styleOverrides: {},
6
+ },
7
+ };
8
+ };
@@ -0,0 +1 @@
1
+ export * from './FormHelperText.theme';
@@ -0,0 +1,2 @@
1
+ // Copyright 2025 WebPros International GmbH. All rights reserved.
2
+ export * from './FormHelperText.theme';
@@ -0,0 +1,2 @@
1
+ export declare const FormLabel: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").FormLabelTypeMap<{}, "label">>;
2
+ export type FormLabelComponentType = typeof FormLabel;
@@ -0,0 +1,3 @@
1
+ // Copyright 2025 WebPros International GmbH. All rights reserved.
2
+ import { FormLabel as MuiFormLabel } from '@mui/material';
3
+ export const FormLabel = MuiFormLabel;
@@ -0,0 +1,7 @@
1
+ import { Theme, ComponentsOverrides } from '@mui/material';
2
+ export interface M3FormLabel {
3
+ MuiFormLabel: {
4
+ styleOverrides?: ComponentsOverrides<Theme>['MuiFormLabel'];
5
+ };
6
+ }
7
+ export declare const getFormLabel: () => M3FormLabel;
@@ -0,0 +1,8 @@
1
+ // Copyright 2025 WebPros International GmbH. All rights reserved.
2
+ export const getFormLabel = () => {
3
+ return {
4
+ MuiFormLabel: {
5
+ styleOverrides: {},
6
+ },
7
+ };
8
+ };
@@ -0,0 +1 @@
1
+ export * from './FormLabel.theme';
@@ -0,0 +1,2 @@
1
+ // Copyright 2025 WebPros International GmbH. All rights reserved.
2
+ export * from './FormLabel.theme';
@@ -1,7 +1,8 @@
1
1
  import { Theme, ComponentsProps, ComponentsOverrides, ComponentsVariants } from '@mui/material';
2
+ import { ComponentWithViewContextOwnProps } from '../../../shared/viewContext';
2
3
  declare module '@mui/material/IconButton' {
3
- interface IconButtonOwnProps {
4
- variant?: 'standard' | 'filled' | 'elevated' | 'tonal' | 'outlined';
4
+ interface IconButtonOwnProps extends ComponentWithViewContextOwnProps {
5
+ variant?: 'filled' | 'tonal' | 'ghost';
5
6
  }
6
7
  interface IconButtonPropsColorOverrides {
7
8
  asDisabled: true;