@webpros/mui-theme 0.1.6 → 0.3.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 (242) hide show
  1. package/dist/package.json +21 -11
  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 +61 -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/Dialog/Dialog.theme.d.ts +5 -0
  35. package/dist/src/components/feedback/Dialog/Dialog.theme.js +43 -14
  36. package/dist/src/components/feedback/LinearProgress/LinearProgress.theme.d.ts +6 -1
  37. package/dist/src/components/feedback/LinearProgress/LinearProgress.theme.js +91 -9
  38. package/dist/src/components/feedback/Snackbar/Snackbar.theme.d.ts +4 -4
  39. package/dist/src/components/feedback/Snackbar/Snackbar.theme.js +11 -3
  40. package/dist/src/components/index.d.ts +10 -1
  41. package/dist/src/components/index.js +10 -1
  42. package/dist/src/components/inputs/Autocomplete/Autocomplete.theme.d.ts +1 -1
  43. package/dist/src/components/inputs/Autocomplete/Autocomplete.theme.js +23 -51
  44. package/dist/src/components/inputs/Autocomplete/components/AutocompleteCaretDownIcon.d.ts +1 -0
  45. package/dist/src/components/inputs/Autocomplete/components/{AutocompletePopupIcon.js → AutocompleteCaretDownIcon.js} +1 -1
  46. package/dist/src/components/inputs/Autocomplete/components/AutocompleteXIcon.d.ts +1 -0
  47. package/dist/src/components/inputs/Autocomplete/components/AutocompleteXIcon.js +4 -0
  48. package/dist/src/components/inputs/Button/Button.theme.d.ts +4 -0
  49. package/dist/src/components/inputs/Button/Button.theme.js +93 -226
  50. package/dist/src/components/inputs/Button/get-button-colors-map.d.ts +24 -0
  51. package/dist/src/components/inputs/Button/get-button-colors-map.js +211 -0
  52. package/dist/src/components/inputs/Checkbox/Checkbox.theme.d.ts +7 -2
  53. package/dist/src/components/inputs/Checkbox/Checkbox.theme.js +57 -7
  54. package/dist/src/components/inputs/Fab/Fab.theme.d.ts +5 -9
  55. package/dist/src/components/inputs/Fab/Fab.theme.js +27 -98
  56. package/dist/src/components/inputs/FormHelperText/FormHelperText.d.ts +2 -0
  57. package/dist/src/components/inputs/FormHelperText/FormHelperText.js +3 -0
  58. package/dist/src/components/inputs/FormHelperText/FormHelperText.theme.d.ts +7 -0
  59. package/dist/src/components/inputs/FormHelperText/FormHelperText.theme.js +8 -0
  60. package/dist/src/components/inputs/FormHelperText/index.d.ts +1 -0
  61. package/dist/src/components/inputs/FormHelperText/index.js +2 -0
  62. package/dist/src/components/inputs/FormLabel/FormLabel.d.ts +2 -0
  63. package/dist/src/components/inputs/FormLabel/FormLabel.js +3 -0
  64. package/dist/src/components/inputs/FormLabel/FormLabel.theme.d.ts +7 -0
  65. package/dist/src/components/inputs/FormLabel/FormLabel.theme.js +8 -0
  66. package/dist/src/components/inputs/FormLabel/index.d.ts +1 -0
  67. package/dist/src/components/inputs/FormLabel/index.js +2 -0
  68. package/dist/src/components/inputs/IconButton/IconButton.theme.d.ts +3 -2
  69. package/dist/src/components/inputs/IconButton/IconButton.theme.js +90 -95
  70. package/dist/src/components/inputs/InputBase/InputBase.theme.d.ts +9 -26
  71. package/dist/src/components/inputs/InputBase/InputBase.theme.js +2 -64
  72. package/dist/src/components/inputs/InputLabel/InputLabel.theme.d.ts +7 -4
  73. package/dist/src/components/inputs/InputLabel/InputLabel.theme.js +26 -12
  74. package/dist/src/components/inputs/OutlinedInput/OutlinedInput.theme.d.ts +8 -0
  75. package/dist/src/components/inputs/OutlinedInput/OutlinedInput.theme.js +67 -0
  76. package/dist/src/components/inputs/OutlinedInput/index.d.ts +1 -0
  77. package/dist/src/components/inputs/OutlinedInput/index.js +2 -0
  78. package/dist/src/components/inputs/Radio/Radio.d.ts +4 -0
  79. package/dist/src/components/inputs/Radio/Radio.js +4 -0
  80. package/dist/src/components/inputs/Radio/Radio.theme.d.ts +11 -0
  81. package/dist/src/components/inputs/Radio/Radio.theme.js +35 -0
  82. package/dist/src/components/inputs/Radio/index.d.ts +1 -0
  83. package/dist/src/components/{navigation/TabList → inputs/Radio}/index.js +1 -1
  84. package/dist/src/components/inputs/Select/Select.theme.d.ts +2 -3
  85. package/dist/src/components/inputs/Select/Select.theme.js +6 -33
  86. package/dist/src/components/inputs/Switch/Switch.theme.js +125 -49
  87. package/dist/src/components/inputs/TextField/TextField.theme.d.ts +2 -3
  88. package/dist/src/components/inputs/TextField/TextField.theme.js +2 -26
  89. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  90. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.js +5 -0
  91. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.theme.d.ts +11 -0
  92. package/dist/src/components/navigation/Breadcrumbs/Breadcrumbs.theme.js +23 -0
  93. package/dist/src/components/navigation/Breadcrumbs/Crumb.d.ts +10 -0
  94. package/dist/src/components/navigation/Breadcrumbs/Crumb.js +10 -0
  95. package/dist/src/components/navigation/Breadcrumbs/index.d.ts +1 -0
  96. package/dist/src/components/navigation/Breadcrumbs/index.js +2 -0
  97. package/dist/src/components/navigation/Drawer/Drawer.theme.d.ts +1 -1
  98. package/dist/src/components/navigation/Drawer/Drawer.theme.js +50 -6
  99. package/dist/src/components/navigation/Link/Link.theme.d.ts +11 -2
  100. package/dist/src/components/navigation/Link/Link.theme.js +66 -9
  101. package/dist/src/components/navigation/Menu/Menu.theme.d.ts +2 -3
  102. package/dist/src/components/navigation/Menu/Menu.theme.js +6 -11
  103. package/dist/src/components/navigation/MenuItem/MenuItem.theme.d.ts +2 -4
  104. package/dist/src/components/navigation/MenuItem/MenuItem.theme.js +8 -8
  105. package/dist/src/components/navigation/Pagination/Pagination.theme.d.ts +1 -1
  106. package/dist/src/components/navigation/Pagination/Pagination.theme.js +11 -3
  107. package/dist/src/components/navigation/PaginationItem/PaginationItem.theme.js +65 -10
  108. package/dist/src/components/navigation/PaginationItem/components/PaginationIcons.d.ts +4 -0
  109. package/dist/src/components/navigation/PaginationItem/components/PaginationIcons.js +8 -0
  110. package/dist/src/components/navigation/PaginationItem/components/index.d.ts +1 -0
  111. package/dist/src/components/navigation/PaginationItem/components/index.js +2 -0
  112. package/dist/src/components/navigation/Tab/Tab.theme.d.ts +7 -1
  113. package/dist/src/components/navigation/Tab/Tab.theme.js +52 -13
  114. package/dist/src/components/navigation/Tabs/Tabs.d.ts +3 -0
  115. package/dist/src/components/navigation/Tabs/Tabs.js +4 -0
  116. package/dist/src/components/navigation/Tabs/Tabs.theme.d.ts +16 -0
  117. package/dist/src/components/navigation/Tabs/Tabs.theme.js +55 -0
  118. package/dist/src/components/navigation/Tabs/index.d.ts +1 -0
  119. package/dist/src/components/navigation/Tabs/index.js +2 -0
  120. package/dist/src/components/surfaces/Accordion/Accordion.theme.js +54 -22
  121. package/dist/src/components/surfaces/Accordion/AccordionDetails.theme.d.ts +10 -0
  122. package/dist/src/components/surfaces/Accordion/AccordionDetails.theme.js +19 -0
  123. package/dist/src/components/surfaces/Accordion/AccordionSummary.theme.d.ts +10 -0
  124. package/dist/src/components/surfaces/Accordion/AccordionSummary.theme.js +37 -0
  125. package/dist/src/components/surfaces/Accordion/index.d.ts +2 -0
  126. package/dist/src/components/surfaces/Accordion/index.js +2 -0
  127. package/dist/src/components/surfaces/Card/Card.theme.js +1 -1
  128. package/dist/src/components/surfaces/Paper/Paper.theme.d.ts +16 -1
  129. package/dist/src/components/surfaces/Paper/Paper.theme.js +21 -7
  130. package/dist/src/components/surfaces/Paper/Paper.tokens.d.ts +8 -0
  131. package/dist/src/components/surfaces/Paper/Paper.tokens.js +50 -0
  132. package/dist/src/components/surfaces/Paper/Paper.variants.d.ts +4 -0
  133. package/dist/src/components/surfaces/Paper/Paper.variants.js +3 -0
  134. package/dist/src/components/surfaces/Popover/Popover.d.ts +4 -0
  135. package/dist/src/components/surfaces/Popover/Popover.js +4 -0
  136. package/dist/src/components/surfaces/Popover/Popover.theme.d.ts +9 -0
  137. package/dist/src/components/surfaces/Popover/Popover.theme.js +14 -0
  138. package/dist/src/components/surfaces/Popover/index.d.ts +1 -0
  139. package/dist/src/components/surfaces/Popover/index.js +2 -0
  140. package/dist/src/components/utils/Backdrop/Backdrop.d.ts +3 -0
  141. package/dist/src/components/utils/Backdrop/Backdrop.js +4 -0
  142. package/dist/src/components/utils/Backdrop/Backdrop.theme.d.ts +11 -0
  143. package/dist/src/components/utils/Backdrop/Backdrop.theme.js +17 -0
  144. package/dist/src/components/utils/Backdrop/index.d.ts +1 -0
  145. package/dist/src/components/utils/Backdrop/index.js +2 -0
  146. package/dist/src/icons/index.d.ts +4 -0
  147. package/dist/src/icons/index.js +12 -0
  148. package/dist/src/providers/ThemeModeProvider.d.ts +1 -2
  149. package/dist/src/providers/ThemeModeProvider.js +2 -2
  150. package/dist/src/providers/WebProsMuiThemeProvider.js +1 -1
  151. package/dist/src/providers/WebProsTheme.d.ts +1 -0
  152. package/dist/src/providers/WebProsTheme.js +11 -5
  153. package/dist/src/shared/rippleEnterKeyframe.d.ts +6 -0
  154. package/dist/src/shared/rippleEnterKeyframe.js +12 -0
  155. package/dist/src/shared/viewContext/index.d.ts +1 -0
  156. package/dist/src/shared/viewContext/index.js +2 -0
  157. package/dist/src/shared/viewContext/viewContext.d.ts +4 -0
  158. package/dist/src/shared/viewContext/viewContext.js +2 -0
  159. package/dist/src/style/additional-color-palette.d.ts +1 -3
  160. package/dist/src/style/additional-color-palette.js +4 -7
  161. package/dist/src/style/custom-color-palette.js +51 -53
  162. package/dist/src/tokens/ThemeColorTokens.d.ts +11 -93
  163. package/dist/src/tokens/ThemeColorTokens.js +4 -168
  164. package/dist/src/tokens/ThemeScheme.d.ts +0 -3
  165. package/dist/src/tokens/ThemeScheme.js +0 -2
  166. package/dist/src/tokens/colors/Dark.d.ts +16 -0
  167. package/dist/src/tokens/colors/Dark.js +1422 -0
  168. package/dist/src/tokens/colors/Light.d.ts +16 -0
  169. package/dist/src/tokens/colors/Light.js +1392 -0
  170. package/dist/src/tokens/colors/index.d.ts +7 -0
  171. package/dist/src/tokens/colors/index.js +4 -0
  172. package/dist/src/tokens/colors/inverseSchemas.d.ts +40 -0
  173. package/dist/src/tokens/colors/inverseSchemas.js +3 -0
  174. package/dist/src/tokens/colors/inverseSchemes.d.ts +53 -0
  175. package/dist/src/tokens/colors/inverseSchemes.js +3 -0
  176. package/dist/src/tokens/colors/inverseStateLayers.d.ts +188 -0
  177. package/dist/src/tokens/colors/inverseStateLayers.js +3 -0
  178. package/dist/src/tokens/colors/schemas.d.ts +111 -0
  179. package/dist/src/tokens/colors/schemas.js +3 -0
  180. package/dist/src/tokens/colors/schemes.d.ts +111 -0
  181. package/dist/src/tokens/colors/schemes.js +3 -0
  182. package/dist/src/tokens/colors/stateLayers.d.ts +456 -0
  183. package/dist/src/tokens/colors/stateLayers.js +3 -0
  184. package/dist/src/tokens/colors/types.d.ts +9 -0
  185. package/dist/src/tokens/colors/types.js +2 -0
  186. package/dist/src/tokens/index.d.ts +6 -2
  187. package/dist/src/tokens/index.js +2 -1
  188. package/dist/src/tokens/legacyColors/LegacyDark.d.ts +2 -0
  189. package/dist/src/tokens/legacyColors/LegacyDark.js +88 -0
  190. package/dist/src/tokens/legacyColors/LegacyLight.d.ts +2 -0
  191. package/dist/src/tokens/legacyColors/LegacyLight.js +86 -0
  192. package/dist/src/tokens/legacyColors/ThemeColorTokensLegacy.d.ts +74 -0
  193. package/dist/src/tokens/legacyColors/ThemeColorTokensLegacy.js +2 -0
  194. package/dist/src/tokens/legacyColors/additionalColors/additionalColors.d.ts +21 -0
  195. package/dist/src/tokens/legacyColors/additionalColors/additionalColors.js +2 -0
  196. package/dist/src/tokens/{additionalColors → legacyColors/additionalColors}/index.d.ts +1 -0
  197. package/dist/src/tokens/{additionalColors → legacyColors/additionalColors}/index.js +1 -0
  198. package/dist/src/tokens/legacyColors/index.d.ts +2 -0
  199. package/dist/src/tokens/legacyColors/index.js +3 -0
  200. package/dist/src/tokens/shadows/index.d.ts +12 -0
  201. package/dist/src/tokens/shadows/index.js +112 -0
  202. package/dist/src/tokens/typography/index.d.ts +2 -0
  203. package/dist/src/tokens/typography/index.js +4 -0
  204. package/dist/src/tokens/typography/typescale.d.ts +28 -0
  205. package/dist/src/tokens/typography/typescale.js +26 -0
  206. package/dist/src/tokens/typography/typography.d.ts +2 -0
  207. package/dist/src/tokens/typography/typography.js +156 -0
  208. package/dist/src/utils/createIcon.d.ts +12 -0
  209. package/dist/src/utils/createIcon.js +94 -0
  210. package/dist/src/utils/flatten.d.ts +1 -0
  211. package/dist/src/utils/flatten.js +12 -0
  212. package/dist/src/utils/getMUIComponents.js +2 -2
  213. package/dist/src/utils/getMUIPalette.d.ts +6 -11
  214. package/dist/src/utils/getMUIPalette.js +49 -25
  215. package/dist/src/utils/getMUIThemeCustoimzationType.d.ts +31 -0
  216. package/dist/src/utils/getMUIThemeCustoimzationType.js +2 -0
  217. package/dist/src/utils/getMUITypography.d.ts +2 -0
  218. package/dist/src/utils/getMUITypography.js +5 -0
  219. package/dist/src/utils/getStateLayerColor.d.ts +37 -0
  220. package/dist/src/utils/getStateLayerColor.js +43 -1
  221. package/dist/src/utils/index.d.ts +1 -1
  222. package/dist/src/utils/index.js +1 -1
  223. package/dist/src/utils/patchMUIShadows.js +4 -3
  224. package/package.json +21 -11
  225. package/dist/src/components/inputs/Autocomplete/components/AutocompletePopupIcon.d.ts +0 -1
  226. package/dist/src/components/navigation/PaginationItem/PaginationItem.d.ts +0 -3
  227. package/dist/src/components/navigation/PaginationItem/PaginationItem.js +0 -4
  228. package/dist/src/components/navigation/TabList/TabList.d.ts +0 -3
  229. package/dist/src/components/navigation/TabList/TabList.js +0 -4
  230. package/dist/src/components/navigation/TabList/TabList.theme.d.ts +0 -10
  231. package/dist/src/components/navigation/TabList/TabList.theme.js +0 -17
  232. package/dist/src/components/navigation/TabList/index.d.ts +0 -1
  233. package/dist/src/hooks/useTonalPalette.d.ts +0 -3
  234. package/dist/src/hooks/useTonalPalette.js +0 -32
  235. package/dist/src/providers/ThemeSchemeProvider.d.ts +0 -12
  236. package/dist/src/providers/ThemeSchemeProvider.js +0 -29
  237. package/dist/src/tokens/TonalPalette.d.ts +0 -10
  238. package/dist/src/tokens/TonalPalette.js +0 -10
  239. package/dist/src/utils/generateTokens.d.ts +0 -4
  240. package/dist/src/utils/generateTokens.js +0 -107
  241. /package/dist/src/tokens/{Tone.d.ts → legacyColors/Tone.d.ts} +0 -0
  242. /package/dist/src/tokens/{Tone.js → legacyColors/Tone.js} +0 -0
@@ -1,501 +1,157 @@
1
1
  // Copyright 2025 WebPros International GmbH. All rights reserved.
2
- import { chipClasses, alpha, } from '@mui/material';
3
- import { ChipDeleteIcon } from '../../../components/data-display/Chip/components/ChipDeleteIcon';
4
- import { getStateLayerColorByOpacityKey, getStateLayerColor, OnStateLayer, StateLayer, getOnStateLayerColor, } from '../../../utils/getStateLayerColor';
2
+ import { chipClasses, touchRippleClasses, } from '@mui/material';
3
+ import { getChipColorsMap } from './get-chip-colors-map';
4
+ import { rippleEnterKeyframe } from '../../../shared/rippleEnterKeyframe';
5
5
  export const getChip = (theme) => {
6
- const { palette } = theme;
7
- return {
8
- MuiChip: {
9
- defaultProps: {
10
- deleteIcon: ChipDeleteIcon,
11
- color: 'primary',
12
- },
13
- styleOverrides: {
14
- root: {
15
- textTransform: 'none',
16
- fontWeight: 500,
17
- },
18
- },
19
- variants: [
20
- {
21
- props: { size: 'small' },
22
- style: {
23
- borderRadius: '3px',
24
- },
25
- },
26
- {
27
- props: { size: 'medium' },
28
- style: {
29
- fontSize: '0.875rem',
30
- fontWeight: 500,
31
- lineHeight: '1.25rem',
32
- letterSpacing: '0.006rem',
33
- borderRadius: 10,
34
- },
35
- },
36
- {
37
- // color="default"
38
- props: { variant: 'filled' },
39
- style: {
40
- background: palette.undefinedContainer.main,
41
- color: palette.onUndefinedContainer.main,
42
- [`& > .${chipClasses.deleteIcon}`]: {
43
- color: palette.onUndefinedContainer.main,
44
- },
45
- '&:hover, &:focus': {
46
- background: palette.onSurfaceVariant.main,
47
- color: palette.onPrimary.main,
48
- [`& > .${chipClasses.deleteIcon}`]: {
49
- color: palette.onPrimary.main,
50
- },
51
- },
52
- '&.Mui-disabled': {
53
- background: alpha(palette.onSurfaceVariant.main, 0.12),
54
- color: alpha(palette.onSurface.main, 0.38),
55
- opacity: 1,
56
- [`& > .${chipClasses.deleteIcon}`]: {
57
- color: alpha(palette.onSurface.main, 0.38),
58
- },
59
- },
60
- },
61
- },
62
- {
63
- props: { variant: 'filled', selected: true },
64
- style: {
65
- background: palette.onSurfaceVariant.main,
66
- color: palette.onPrimary.main,
67
- [`& > .${chipClasses.deleteIcon}`]: {
68
- color: palette.onPrimary.main,
69
- },
70
- },
71
- },
72
- {
73
- props: { variant: 'filled', clickable: false },
74
- style: {
75
- [`& > .${chipClasses.deleteIcon}`]: {
76
- cursor: 'default',
77
- },
78
- '&:hover, &:focus': {
79
- cursor: 'default',
80
- [`& > .${chipClasses.deleteIcon}`]: {
81
- cursor: 'default',
82
- },
83
- },
84
- },
85
- },
86
- {
87
- props: { variant: 'filled', color: 'primary' },
88
- style: {
89
- background: palette.secondaryContainer.main,
90
- color: palette.onSecondaryContainer.main,
91
- [`& > .${chipClasses.deleteIcon}`]: {
92
- color: palette.onSecondaryContainer.main,
93
- },
94
- '&:hover, &:focus': {
95
- background: palette.primary.main,
96
- color: palette.onPrimary.main,
97
- [`& > .${chipClasses.deleteIcon}`]: {
98
- color: palette.onPrimary.main,
99
- },
100
- },
101
- },
102
- },
103
- {
104
- props: { variant: 'filled', color: 'primary', selected: true },
105
- style: {
106
- background: palette.primary.main,
107
- color: palette.onPrimary.main,
108
- [`& > .${chipClasses.deleteIcon}`]: {
109
- color: palette.onPrimary.main,
110
- },
111
- },
112
- },
113
- {
114
- props: { variant: 'filled', color: 'error' },
115
- style: {
116
- // Enabled state
117
- background: palette.errorContainer.main,
118
- color: palette.onErrorContainer.main,
119
- // Trailing Icon: On Surface Variant
120
- [`& > .${chipClasses.deleteIcon}`]: {
121
- color: palette.onSurfaceVariant.main,
122
- },
123
- // Start Icon: On Error Container
124
- [`& > .${chipClasses.icon}`]: {
125
- color: palette.onErrorContainer.main,
126
- },
127
- // Hovered state
6
+ const { typography } = theme;
7
+ const colorsMap = getChipColorsMap(theme);
8
+ const inverseColorsMap = getChipColorsMap(theme, 'inverse');
9
+ const sizes = [
10
+ {
11
+ props: { size: 'extraSmall' },
12
+ style: Object.assign(Object.assign({}, typography.BodySmall), { height: 20, padding: '0 5px', borderRadius: 6, [`& .${chipClasses.label}`]: {
13
+ padding: '0 4px',
14
+ }, [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
15
+ width: 12,
16
+ height: 12,
17
+ } }),
18
+ },
19
+ {
20
+ props: { size: 'small' },
21
+ style: Object.assign(Object.assign({}, typography.BodySmall), { height: 24, padding: '0 7px', borderRadius: 8, [`& .${chipClasses.label}`]: {
22
+ padding: '0 4px',
23
+ }, [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
24
+ width: 16,
25
+ height: 16,
26
+ } }),
27
+ },
28
+ {
29
+ props: { size: 'medium' },
30
+ style: Object.assign(Object.assign({}, typography.BodyMedium), { height: 28, padding: '0 7px', borderRadius: 8, [`& .${chipClasses.label}`]: {
31
+ padding: '0 4px',
32
+ }, [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
33
+ width: 20,
34
+ height: 20,
35
+ } }),
36
+ },
37
+ {
38
+ props: { size: 'large' },
39
+ style: Object.assign(Object.assign({}, typography.BodyMedium), { height: 32, padding: '0 11px', borderRadius: 6, [`& .${chipClasses.label}`]: {
40
+ padding: '0 6px',
41
+ }, [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
42
+ width: 20,
43
+ height: 20,
44
+ } }),
45
+ },
46
+ ];
47
+ const getStylesByColor = (color, viewContext) => {
48
+ const chipColors = viewContext === 'inverse' ? inverseColorsMap[color] : colorsMap[color];
49
+ return [
50
+ {
51
+ props: { color, viewContext },
52
+ style: {
53
+ background: chipColors.baseColor.background,
54
+ color: chipColors.baseColor.label,
55
+ [`& .${chipClasses.icon}`]: {
56
+ color: chipColors.baseColor.icon,
57
+ },
58
+ [`& .${chipClasses.deleteIcon}`]: {
59
+ color: chipColors.baseColor.deleteIcon.base,
128
60
  '&:hover': {
129
- background: getStateLayerColor(StateLayer.Hover, palette.errorContainer.main, palette.onErrorContainer.main),
130
- color: palette.onErrorContainer.main,
131
- [`& > .${chipClasses.deleteIcon}`]: {
132
- color: palette.onSurfaceVariant.main,
133
- },
134
- [`& > .${chipClasses.icon}`]: {
135
- color: palette.onErrorContainer.main,
136
- },
137
- },
138
- // Focused state
139
- '&:focus': {
140
- background: getStateLayerColor(StateLayer.Focus, palette.errorContainer.main, palette.onErrorContainer.main),
141
- color: palette.onErrorContainer.main,
142
- [`& > .${chipClasses.deleteIcon}`]: {
143
- color: palette.onSurfaceVariant.main,
144
- },
145
- [`& > .${chipClasses.icon}`]: {
146
- color: palette.onErrorContainer.main,
147
- },
148
- },
149
- // Pressed state
150
- '&:active': {
151
- background: getStateLayerColor(StateLayer.Press, palette.errorContainer.main, palette.onErrorContainer.main),
152
- color: palette.onErrorContainer.main,
153
- [`& > .${chipClasses.deleteIcon}`]: {
154
- color: palette.onSurfaceVariant.main,
155
- },
156
- [`& > .${chipClasses.icon}`]: {
157
- color: palette.onErrorContainer.main,
158
- },
159
- },
160
- // Disabled state
161
- '&.Mui-disabled': {
162
- background: getStateLayerColor(StateLayer.Disabled, palette.onSurfaceVariant.main),
163
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
164
- [`& > .${chipClasses.deleteIcon}`]: {
165
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
166
- },
167
- [`& > .${chipClasses.icon}`]: {
168
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
169
- },
61
+ color: chipColors.baseColor.deleteIcon.hover,
170
62
  },
171
63
  },
172
- },
173
- {
174
- props: { variant: 'filled', color: 'error', selected: true },
175
- style: {
176
- background: getStateLayerColor(StateLayer.Selected, palette.errorContainer.main, palette.onErrorContainer.main),
177
- color: palette.onErrorContainer.main,
178
- [`& > .${chipClasses.deleteIcon}`]: {
179
- color: palette.onSurfaceVariant.main,
180
- },
181
- [`& > .${chipClasses.icon}`]: {
182
- color: palette.onErrorContainer.main,
183
- },
64
+ '&:hover': {
65
+ background: chipColors.hover,
184
66
  },
185
- },
186
- {
187
- props: { variant: 'filled', color: 'warning' },
188
- style: {
189
- // Enabled state
190
- background: palette.warningContainer.main,
191
- color: palette.onWarningContainer.main,
192
- // Trailing Icon: On Surface Variant
193
- [`& > .${chipClasses.deleteIcon}`]: {
194
- color: palette.onSurfaceVariant.main,
195
- },
196
- // Start Icon: On Warning Container
197
- [`& > .${chipClasses.icon}`]: {
198
- color: palette.onWarningContainer.main,
199
- },
200
- // Hovered state
201
- '&:hover': {
202
- background: getStateLayerColor(StateLayer.Hover, palette.warningContainer.main, palette.onWarningContainer.main),
203
- color: palette.onWarningContainer.main,
204
- [`& > .${chipClasses.deleteIcon}`]: {
205
- color: palette.onSurfaceVariant.main,
206
- },
207
- [`& > .${chipClasses.icon}`]: {
208
- color: palette.onWarningContainer.main,
209
- },
210
- },
211
- // Focused state
212
- '&:focus': {
213
- background: getStateLayerColor(StateLayer.Focus, palette.warningContainer.main, palette.onWarningContainer.main),
214
- color: palette.onWarningContainer.main,
215
- [`& > .${chipClasses.deleteIcon}`]: {
216
- color: palette.onSurfaceVariant.main,
217
- },
218
- [`& > .${chipClasses.icon}`]: {
219
- color: palette.onWarningContainer.main,
220
- },
221
- },
222
- // Pressed state
223
- '&:active': {
224
- background: getStateLayerColor(StateLayer.Press, palette.warningContainer.main, palette.onWarningContainer.main),
225
- color: palette.onWarningContainer.main,
226
- [`& > .${chipClasses.deleteIcon}`]: {
227
- color: palette.onSurfaceVariant.main,
228
- },
229
- [`& > .${chipClasses.icon}`]: {
230
- color: palette.onWarningContainer.main,
231
- },
232
- },
233
- // Disabled state
234
- '&.Mui-disabled': {
235
- background: getStateLayerColor(StateLayer.Disabled, palette.onSurfaceVariant.main),
236
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
237
- [`& > .${chipClasses.deleteIcon}`]: {
238
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
239
- },
240
- [`& > .${chipClasses.icon}`]: {
241
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
242
- },
243
- },
67
+ '&:focus': {
68
+ background: chipColors.focus,
244
69
  },
245
- },
246
- {
247
- props: { variant: 'filled', color: 'warning', selected: true },
248
- style: {
249
- background: getStateLayerColor(StateLayer.Selected, palette.warningContainer.main, palette.onWarningContainer.main),
250
- color: palette.onWarningContainer.main,
251
- [`& > .${chipClasses.deleteIcon}`]: {
252
- color: palette.onSurfaceVariant.main,
253
- },
254
- [`& > .${chipClasses.icon}`]: {
255
- color: palette.onWarningContainer.main,
256
- },
257
- },
258
- },
259
- {
260
- props: { variant: 'filled', color: 'info' },
261
- style: {
262
- // Enabled state
263
- background: palette.infoContainer.main,
264
- color: palette.onInfoContainer.main,
265
- // Trailing Icon: On Surface Variant
266
- [`& > .${chipClasses.deleteIcon}`]: {
267
- color: palette.onSurfaceVariant.main,
268
- },
269
- // Start Icon: On Info Container
270
- [`& > .${chipClasses.icon}`]: {
271
- color: palette.onInfoContainer.main,
272
- },
273
- // Hovered state
274
- '&:hover': {
275
- background: getStateLayerColor(StateLayer.Hover, palette.infoContainer.main, palette.onInfoContainer.main),
276
- color: palette.onInfoContainer.main,
277
- [`& > .${chipClasses.deleteIcon}`]: {
278
- color: palette.onSurfaceVariant.main,
279
- },
280
- [`& > .${chipClasses.icon}`]: {
281
- color: palette.onInfoContainer.main,
282
- },
283
- },
284
- // Focused state
285
- '&:focus': {
286
- background: getStateLayerColor(StateLayer.Focus, palette.infoContainer.main, palette.onInfoContainer.main),
287
- color: palette.onInfoContainer.main,
288
- [`& > .${chipClasses.deleteIcon}`]: {
289
- color: palette.onSurfaceVariant.main,
290
- },
291
- [`& > .${chipClasses.icon}`]: {
292
- color: palette.onInfoContainer.main,
293
- },
294
- },
295
- // Pressed state
296
- '&:active': {
297
- background: getStateLayerColor(StateLayer.Press, palette.infoContainer.main, palette.onInfoContainer.main),
298
- color: palette.onInfoContainer.main,
299
- [`& > .${chipClasses.deleteIcon}`]: {
300
- color: palette.onSurfaceVariant.main,
301
- },
302
- [`& > .${chipClasses.icon}`]: {
303
- color: palette.onInfoContainer.main,
304
- },
305
- },
306
- // Disabled state
307
- '&.Mui-disabled': {
308
- background: getStateLayerColor(StateLayer.Disabled, palette.onSurfaceVariant.main),
309
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
310
- [`& > .${chipClasses.deleteIcon}`]: {
311
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
312
- },
313
- [`& > .${chipClasses.icon}`]: {
314
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
315
- },
316
- },
70
+ '&:active': {
71
+ background: chipColors.active,
72
+ boxShadow: 'none',
317
73
  },
318
- },
319
- {
320
- props: { variant: 'filled', color: 'info', selected: true },
321
- style: {
322
- background: getStateLayerColor(StateLayer.Selected, palette.infoContainer.main, palette.onInfoContainer.main),
323
- color: palette.onInfoContainer.main,
324
- [`& > .${chipClasses.deleteIcon}`]: {
325
- color: palette.onSurfaceVariant.main,
326
- },
327
- [`& > .${chipClasses.icon}`]: {
328
- color: palette.onInfoContainer.main,
329
- },
74
+ [`& .${touchRippleClasses.ripple}.${touchRippleClasses.rippleVisible}`]: {
75
+ color: chipColors.ripple,
330
76
  },
331
77
  },
332
- {
333
- props: { variant: 'filled', color: 'success' },
334
- style: {
335
- background: palette.successContainer.main,
336
- color: palette.onSuccessContainer.main,
337
- [`& > .${chipClasses.deleteIcon}`]: {
338
- color: palette.onSurfaceVariant.main,
339
- },
340
- [`& > .${chipClasses.icon}`]: {
341
- color: palette.onSuccessContainer.main,
342
- },
343
- '&:hover': {
344
- background: getStateLayerColor(StateLayer.Hover, palette.successContainer.main, palette.onSuccessContainer.main),
345
- color: palette.onSuccessContainer.main,
346
- [`& > .${chipClasses.deleteIcon}`]: {
347
- color: palette.onSurfaceVariant.main,
348
- },
349
- [`& > .${chipClasses.icon}`]: {
350
- color: palette.onSuccessContainer.main,
351
- },
352
- },
353
- // Focused state
354
- '&:focus': {
355
- background: getStateLayerColor(StateLayer.Focus, palette.successContainer.main, palette.onSuccessContainer.main),
356
- color: palette.onSuccessContainer.main,
357
- [`& > .${chipClasses.deleteIcon}`]: {
358
- color: palette.onSurfaceVariant.main,
359
- },
360
- [`& > .${chipClasses.icon}`]: {
361
- color: palette.onSuccessContainer.main,
362
- },
363
- },
364
- // Pressed state
365
- '&:active': {
366
- background: getStateLayerColor(StateLayer.Press, palette.successContainer.main, palette.onSuccessContainer.main),
367
- color: palette.onSuccessContainer.main,
368
- [`& > .${chipClasses.deleteIcon}`]: {
369
- color: palette.onSurfaceVariant.main,
370
- },
371
- [`& > .${chipClasses.icon}`]: {
372
- color: palette.onSuccessContainer.main,
373
- },
374
- },
375
- // Disabled state
376
- '&.Mui-disabled': {
377
- background: getStateLayerColor(StateLayer.Disabled, palette.onSurfaceVariant.main),
378
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
379
- [`& > .${chipClasses.deleteIcon}`]: {
380
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
381
- },
382
- [`& > .${chipClasses.icon}`]: {
383
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
384
- },
385
- },
78
+ },
79
+ {
80
+ props: { color, viewContext, disabled: true },
81
+ style: {
82
+ color: chipColors.disabled.color,
83
+ background: chipColors.disabled.background,
84
+ [`& .${chipClasses.icon}`]: {
85
+ color: chipColors.disabled.color,
386
86
  },
387
- },
388
- {
389
- props: { variant: 'filled', color: 'success', selected: true },
390
- style: {
391
- background: getStateLayerColor(StateLayer.Selected, palette.successContainer.main, palette.onSurfaceVariant.main),
392
- color: palette.onSuccessContainer.main,
393
- [`& > .${chipClasses.deleteIcon}`]: {
394
- color: palette.onSurfaceVariant.main,
395
- },
396
- [`& > .${chipClasses.icon}`]: {
397
- color: palette.onSuccessContainer.main,
398
- },
87
+ [`& .${chipClasses.deleteIcon}`]: {
88
+ color: chipColors.disabled.iconColor,
399
89
  },
400
90
  },
401
- {
402
- props: { variant: 'outlined' },
403
- style: {
404
- color: palette.onSurfaceVariant.main,
405
- borderColor: getStateLayerColorByOpacityKey(0.48, palette.outline.main),
406
- [`& > .${chipClasses.icon}`]: {
407
- color: palette.primary.main,
408
- },
409
- [`& > .${chipClasses.deleteIcon}`]: {
410
- color: palette.onSurfaceVariant.main,
411
- },
91
+ },
92
+ {
93
+ props: { color, viewContext, selected: true },
94
+ style: {
95
+ color: chipColors.selectedColor.label,
96
+ background: chipColors.selectedColor.background,
97
+ [`& .${chipClasses.icon}`]: {
98
+ color: chipColors.selectedColor.icon,
99
+ },
100
+ [`& .${chipClasses.deleteIcon}`]: {
101
+ color: chipColors.selectedColor.deleteIcon.base,
412
102
  '&:hover': {
413
- color: palette.onSurfaceVariant.main,
414
- borderColor: getStateLayerColorByOpacityKey(0.48, palette.outline.main),
415
- background: getStateLayerColor(StateLayer.Disabled, palette.surface.main, palette.onSurfaceVariant.main),
416
- [`& > .${chipClasses.deleteIcon}`]: {
417
- color: palette.onSurfaceVariant.main,
418
- },
419
- },
420
- '&:focus': {
421
- color: palette.onSurfaceVariant.main,
422
- borderColor: getStateLayerColorByOpacityKey(0.48, palette.outline.main),
423
- background: getStateLayerColor(StateLayer.Focus, palette.surface.main, palette.onSurfaceVariant.main),
424
- },
425
- '&:active': {
426
- color: palette.onSurfaceVariant.main,
427
- borderColor: getStateLayerColorByOpacityKey(0.48, palette.outline.main),
428
- background: getStateLayerColor(StateLayer.Active, palette.surface.main, palette.onSurfaceVariant.main),
429
- boxShadow: theme.shadows[0],
430
- },
431
- '&.Mui-disabled': {
432
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
433
- [`& > .${chipClasses.icon}`]: {
434
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
435
- },
436
- [`& > .${chipClasses.deleteIcon}`]: {
437
- color: getOnStateLayerColor(OnStateLayer.Disabled, palette.onSurface.main),
438
- },
439
- borderColor: getStateLayerColorByOpacityKey(0.12, palette.outline.main),
103
+ color: chipColors.selectedColor.deleteIcon.hover,
440
104
  },
441
105
  },
442
- },
443
- {
444
- props: { variant: 'outlined', selected: true },
445
- style: {
446
- color: palette.onSecondaryContainer.main,
447
- background: palette.secondaryContainer.main,
448
- border: 'none',
449
- [`& > .${chipClasses.icon}`]: {
450
- color: palette.onSecondaryContainer.main,
451
- },
452
- [`& > .${chipClasses.deleteIcon}`]: {
453
- color: palette.onSecondaryContainer.main,
454
- },
106
+ '&:hover, &:focus, &:active': {
107
+ background: chipColors.selectedColor.background,
455
108
  },
456
109
  },
457
- {
458
- props: { variant: 'ghost' },
459
- style: {
460
- color: palette.onSurfaceVariant.main,
461
- borderColor: 'transparent',
462
- background: 'transparent',
463
- [`& > .${chipClasses.deleteIcon}`]: {
464
- color: palette.onSurfaceVariant.main,
465
- },
466
- '&:hover': {
467
- background: alpha(palette.onSurfaceVariant.main, 0.04),
468
- [`& > .${chipClasses.deleteIcon}`]: {
469
- color: palette.onSurfaceVariant.main,
470
- },
471
- },
472
- '&:focus': {
473
- background: alpha(palette.onSurfaceVariant.main, 0.12),
474
- borderColor: palette.onSurface.main,
475
- },
476
- '&:active': {
477
- background: alpha(palette.onSurfaceVariant.main, 0.12),
478
- boxShadow: theme.shadows[0],
479
- },
480
- '&.Mui-disabled': {
481
- background: 'transparent',
482
- color: alpha(palette.onSurface.main, 0.38),
483
- opacity: 1,
484
- [`& > .${chipClasses.deleteIcon}`]: {
485
- color: alpha(palette.onSurface.main, 0.38),
486
- },
487
- },
110
+ },
111
+ ];
112
+ };
113
+ return {
114
+ MuiChip: {
115
+ defaultProps: {
116
+ size: 'large',
117
+ variant: 'filled',
118
+ color: 'default',
119
+ },
120
+ styleOverrides: {
121
+ root: {
122
+ width: 'fit-content',
123
+ textTransform: 'none',
124
+ fontWeight: 500,
125
+ [`& .${touchRippleClasses.ripple}.${touchRippleClasses.rippleVisible}`]: {
126
+ opacity: 1,
127
+ animationName: rippleEnterKeyframe,
488
128
  },
489
129
  },
490
- {
491
- props: { variant: 'ghost', clickable: false },
492
- style: {
493
- color: theme.palette.onSurfaceVariant.main,
494
- background: 'transparent',
495
- boxShadow: theme.shadows[0],
496
- borderColor: 'transparent',
497
- },
130
+ icon: {
131
+ margin: 0,
498
132
  },
133
+ deleteIcon: {
134
+ margin: 0,
135
+ },
136
+ },
137
+ variants: [
138
+ ...sizes,
139
+ ...getStylesByColor('default'),
140
+ ...getStylesByColor('primary'),
141
+ ...getStylesByColor('secondary'),
142
+ ...getStylesByColor('undefined'),
143
+ ...getStylesByColor('error'),
144
+ ...getStylesByColor('success'),
145
+ ...getStylesByColor('warning'),
146
+ ...getStylesByColor('info'),
147
+ ...getStylesByColor('default', 'inverse'),
148
+ ...getStylesByColor('primary', 'inverse'),
149
+ ...getStylesByColor('secondary', 'inverse'),
150
+ ...getStylesByColor('undefined', 'inverse'),
151
+ ...getStylesByColor('error', 'inverse'),
152
+ ...getStylesByColor('success', 'inverse'),
153
+ ...getStylesByColor('warning', 'inverse'),
154
+ ...getStylesByColor('info', 'inverse'),
499
155
  ],
500
156
  },
501
157
  };