@okta/odyssey-react-mui 0.14.1 → 0.14.4

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 (260) hide show
  1. package/.svgrrc.cjs +13 -0
  2. package/CHANGELOG.md +37 -0
  3. package/babel.config.cjs +2 -2
  4. package/dist/components/Icon/Add.d.ts +16 -0
  5. package/dist/components/Icon/Add.d.ts.map +1 -0
  6. package/dist/components/Icon/Add.js +34 -0
  7. package/dist/components/Icon/Add.js.map +1 -0
  8. package/dist/components/Icon/AddCircle.d.ts +16 -0
  9. package/dist/components/Icon/AddCircle.d.ts.map +1 -0
  10. package/dist/components/Icon/AddCircle.js +34 -0
  11. package/dist/components/Icon/AddCircle.js.map +1 -0
  12. package/dist/components/Icon/AlertCircle.d.ts +16 -0
  13. package/dist/components/Icon/AlertCircle.d.ts.map +1 -0
  14. package/dist/components/Icon/AlertCircle.js +34 -0
  15. package/dist/components/Icon/AlertCircle.js.map +1 -0
  16. package/dist/components/Icon/AlertCircleFilled.d.ts +16 -0
  17. package/dist/components/Icon/AlertCircleFilled.d.ts.map +1 -0
  18. package/dist/components/Icon/AlertCircleFilled.js +34 -0
  19. package/dist/components/Icon/AlertCircleFilled.js.map +1 -0
  20. package/dist/components/Icon/AlertTriangleFilled.d.ts +16 -0
  21. package/dist/components/Icon/AlertTriangleFilled.d.ts.map +1 -0
  22. package/dist/components/Icon/AlertTriangleFilled.js +34 -0
  23. package/dist/components/Icon/AlertTriangleFilled.js.map +1 -0
  24. package/dist/components/Icon/Anchor.d.ts +16 -0
  25. package/dist/components/Icon/Anchor.d.ts.map +1 -0
  26. package/dist/components/Icon/Anchor.js +36 -0
  27. package/dist/components/Icon/Anchor.js.map +1 -0
  28. package/dist/components/Icon/ArrowDown.d.ts +16 -0
  29. package/dist/components/Icon/ArrowDown.d.ts.map +1 -0
  30. package/dist/components/Icon/ArrowDown.js +34 -0
  31. package/dist/components/Icon/ArrowDown.js.map +1 -0
  32. package/dist/components/Icon/ArrowLeft.d.ts +16 -0
  33. package/dist/components/Icon/ArrowLeft.d.ts.map +1 -0
  34. package/dist/components/Icon/ArrowLeft.js +34 -0
  35. package/dist/components/Icon/ArrowLeft.js.map +1 -0
  36. package/dist/components/Icon/ArrowRight.d.ts +16 -0
  37. package/dist/components/Icon/ArrowRight.d.ts.map +1 -0
  38. package/dist/components/Icon/ArrowRight.js +34 -0
  39. package/dist/components/Icon/ArrowRight.js.map +1 -0
  40. package/dist/components/Icon/ArrowUp.d.ts +16 -0
  41. package/dist/components/Icon/ArrowUp.d.ts.map +1 -0
  42. package/dist/components/Icon/ArrowUp.js +34 -0
  43. package/dist/components/Icon/ArrowUp.js.map +1 -0
  44. package/dist/components/Icon/Calendar.d.ts +16 -0
  45. package/dist/components/Icon/Calendar.d.ts.map +1 -0
  46. package/dist/components/Icon/Calendar.js +34 -0
  47. package/dist/components/Icon/Calendar.js.map +1 -0
  48. package/dist/components/Icon/Check.d.ts +16 -0
  49. package/dist/components/Icon/Check.d.ts.map +1 -0
  50. package/dist/components/Icon/Check.js +34 -0
  51. package/dist/components/Icon/Check.js.map +1 -0
  52. package/dist/components/Icon/CheckCircleFilled.d.ts +16 -0
  53. package/dist/components/Icon/CheckCircleFilled.d.ts.map +1 -0
  54. package/dist/components/Icon/CheckCircleFilled.js +34 -0
  55. package/dist/components/Icon/CheckCircleFilled.js.map +1 -0
  56. package/dist/components/Icon/ChevronDown.d.ts +16 -0
  57. package/dist/components/Icon/ChevronDown.d.ts.map +1 -0
  58. package/dist/components/Icon/ChevronDown.js +34 -0
  59. package/dist/components/Icon/ChevronDown.js.map +1 -0
  60. package/dist/components/Icon/ChevronUp.d.ts +16 -0
  61. package/dist/components/Icon/ChevronUp.d.ts.map +1 -0
  62. package/dist/components/Icon/ChevronUp.js +34 -0
  63. package/dist/components/Icon/ChevronUp.js.map +1 -0
  64. package/dist/components/Icon/Close.d.ts +16 -0
  65. package/dist/components/Icon/Close.d.ts.map +1 -0
  66. package/dist/components/Icon/Close.js +34 -0
  67. package/dist/components/Icon/Close.js.map +1 -0
  68. package/dist/components/Icon/CloseCircleFilled.d.ts +16 -0
  69. package/dist/components/Icon/CloseCircleFilled.d.ts.map +1 -0
  70. package/dist/components/Icon/CloseCircleFilled.js +34 -0
  71. package/dist/components/Icon/CloseCircleFilled.js.map +1 -0
  72. package/dist/components/Icon/Copy.d.ts +16 -0
  73. package/dist/components/Icon/Copy.d.ts.map +1 -0
  74. package/dist/components/Icon/Copy.js +34 -0
  75. package/dist/components/Icon/Copy.js.map +1 -0
  76. package/dist/components/Icon/Delete.d.ts +16 -0
  77. package/dist/components/Icon/Delete.d.ts.map +1 -0
  78. package/dist/components/Icon/Delete.js +34 -0
  79. package/dist/components/Icon/Delete.js.map +1 -0
  80. package/dist/components/Icon/Download.d.ts +16 -0
  81. package/dist/components/Icon/Download.d.ts.map +1 -0
  82. package/dist/components/Icon/Download.js +34 -0
  83. package/dist/components/Icon/Download.js.map +1 -0
  84. package/dist/components/Icon/DragHandle.d.ts +16 -0
  85. package/dist/components/Icon/DragHandle.d.ts.map +1 -0
  86. package/dist/components/Icon/DragHandle.js +34 -0
  87. package/dist/components/Icon/DragHandle.js.map +1 -0
  88. package/dist/components/Icon/Edit.d.ts +16 -0
  89. package/dist/components/Icon/Edit.d.ts.map +1 -0
  90. package/dist/components/Icon/Edit.js +34 -0
  91. package/dist/components/Icon/Edit.js.map +1 -0
  92. package/dist/components/Icon/ExternalLink.d.ts +16 -0
  93. package/dist/components/Icon/ExternalLink.d.ts.map +1 -0
  94. package/dist/components/Icon/ExternalLink.js +34 -0
  95. package/dist/components/Icon/ExternalLink.js.map +1 -0
  96. package/dist/components/Icon/Eye.d.ts +16 -0
  97. package/dist/components/Icon/Eye.d.ts.map +1 -0
  98. package/dist/components/Icon/Eye.js +34 -0
  99. package/dist/components/Icon/Eye.js.map +1 -0
  100. package/dist/components/Icon/EyeOff.d.ts +16 -0
  101. package/dist/components/Icon/EyeOff.d.ts.map +1 -0
  102. package/dist/components/Icon/EyeOff.js +34 -0
  103. package/dist/components/Icon/EyeOff.js.map +1 -0
  104. package/dist/components/Icon/Filter.d.ts +16 -0
  105. package/dist/components/Icon/Filter.d.ts.map +1 -0
  106. package/dist/components/Icon/Filter.js +34 -0
  107. package/dist/components/Icon/Filter.js.map +1 -0
  108. package/dist/components/Icon/Globe.d.ts +16 -0
  109. package/dist/components/Icon/Globe.d.ts.map +1 -0
  110. package/dist/components/Icon/Globe.js +34 -0
  111. package/dist/components/Icon/Globe.js.map +1 -0
  112. package/dist/components/Icon/Home.d.ts +16 -0
  113. package/dist/components/Icon/Home.d.ts.map +1 -0
  114. package/dist/components/Icon/Home.js +34 -0
  115. package/dist/components/Icon/Home.js.map +1 -0
  116. package/dist/components/Icon/Icon.d.ts +28 -0
  117. package/dist/components/Icon/Icon.d.ts.map +1 -0
  118. package/dist/components/Icon/Icon.js +29 -0
  119. package/dist/components/Icon/Icon.js.map +1 -0
  120. package/dist/components/Icon/InformationCircle.d.ts +16 -0
  121. package/dist/components/Icon/InformationCircle.d.ts.map +1 -0
  122. package/dist/components/Icon/InformationCircle.js +34 -0
  123. package/dist/components/Icon/InformationCircle.js.map +1 -0
  124. package/dist/components/Icon/InformationCircleFilled.d.ts +16 -0
  125. package/dist/components/Icon/InformationCircleFilled.d.ts.map +1 -0
  126. package/dist/components/Icon/InformationCircleFilled.js +34 -0
  127. package/dist/components/Icon/InformationCircleFilled.js.map +1 -0
  128. package/dist/components/Icon/Notification.d.ts +16 -0
  129. package/dist/components/Icon/Notification.d.ts.map +1 -0
  130. package/dist/components/Icon/Notification.js +34 -0
  131. package/dist/components/Icon/Notification.js.map +1 -0
  132. package/dist/components/Icon/OverflowVertical.d.ts +16 -0
  133. package/dist/components/Icon/OverflowVertical.d.ts.map +1 -0
  134. package/dist/components/Icon/OverflowVertical.js +34 -0
  135. package/dist/components/Icon/OverflowVertical.js.map +1 -0
  136. package/dist/components/Icon/QuestionCircle.d.ts +16 -0
  137. package/dist/components/Icon/QuestionCircle.d.ts.map +1 -0
  138. package/dist/components/Icon/QuestionCircle.js +34 -0
  139. package/dist/components/Icon/QuestionCircle.js.map +1 -0
  140. package/dist/components/Icon/QuestionCircleFilled.d.ts +16 -0
  141. package/dist/components/Icon/QuestionCircleFilled.d.ts.map +1 -0
  142. package/dist/components/Icon/QuestionCircleFilled.js +34 -0
  143. package/dist/components/Icon/QuestionCircleFilled.js.map +1 -0
  144. package/dist/components/Icon/Search.d.ts +16 -0
  145. package/dist/components/Icon/Search.d.ts.map +1 -0
  146. package/dist/components/Icon/Search.js +34 -0
  147. package/dist/components/Icon/Search.js.map +1 -0
  148. package/dist/components/Icon/Settings.d.ts +16 -0
  149. package/dist/components/Icon/Settings.d.ts.map +1 -0
  150. package/dist/components/Icon/Settings.js +32 -0
  151. package/dist/components/Icon/Settings.js.map +1 -0
  152. package/dist/components/Icon/Subtract.d.ts +16 -0
  153. package/dist/components/Icon/Subtract.d.ts.map +1 -0
  154. package/dist/components/Icon/Subtract.js +34 -0
  155. package/dist/components/Icon/Subtract.js.map +1 -0
  156. package/dist/components/Icon/SvgIcon.d.ts +14 -0
  157. package/dist/components/Icon/SvgIcon.d.ts.map +1 -0
  158. package/dist/components/Icon/SvgIcon.js +14 -0
  159. package/dist/components/Icon/SvgIcon.js.map +1 -0
  160. package/dist/components/Icon/User.d.ts +16 -0
  161. package/dist/components/Icon/User.d.ts.map +1 -0
  162. package/dist/components/Icon/User.js +34 -0
  163. package/dist/components/Icon/User.js.map +1 -0
  164. package/dist/components/Icon/index.d.ts +91 -0
  165. package/dist/components/Icon/index.d.ts.map +1 -0
  166. package/dist/components/Icon/index.js +129 -0
  167. package/dist/components/Icon/index.js.map +1 -0
  168. package/dist/components/Icon/types.d.ts +19 -0
  169. package/dist/components/Icon/types.d.ts.map +1 -0
  170. package/dist/components/Icon/types.js +2 -0
  171. package/dist/components/Icon/types.js.map +1 -0
  172. package/dist/components/Link/Link.d.ts +2 -2
  173. package/dist/components/Link/Link.d.ts.map +1 -1
  174. package/dist/components/Link/Link.js +21 -14
  175. package/dist/components/Link/Link.js.map +1 -1
  176. package/dist/components/PasswordInput/PasswordInput.d.ts +1 -2
  177. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  178. package/dist/components/PasswordInput/PasswordInput.js +29 -23
  179. package/dist/components/PasswordInput/PasswordInput.js.map +1 -1
  180. package/dist/components/index.d.ts +1 -0
  181. package/dist/components/index.d.ts.map +1 -1
  182. package/dist/components/index.js +1 -0
  183. package/dist/components/index.js.map +1 -1
  184. package/dist/themes/odyssey/components.d.ts.map +1 -1
  185. package/dist/themes/odyssey/components.js +501 -169
  186. package/dist/themes/odyssey/components.js.map +1 -1
  187. package/dist/themes/odyssey/components.types.d.ts +37 -28
  188. package/dist/themes/odyssey/components.types.d.ts.map +1 -1
  189. package/dist/themes/odyssey/components.types.js.map +1 -1
  190. package/dist/themes/odyssey/palette.d.ts.map +1 -1
  191. package/dist/themes/odyssey/palette.js +45 -39
  192. package/dist/themes/odyssey/palette.js.map +1 -1
  193. package/dist/themes/odyssey/palette.types.d.ts +21 -0
  194. package/dist/themes/odyssey/palette.types.d.ts.map +1 -0
  195. package/dist/themes/odyssey/palette.types.js +13 -0
  196. package/dist/themes/odyssey/palette.types.js.map +1 -0
  197. package/dist/themes/odyssey/theme.d.ts +1 -0
  198. package/dist/themes/odyssey/theme.d.ts.map +1 -1
  199. package/dist/themes/odyssey/theme.js +1 -0
  200. package/dist/themes/odyssey/theme.js.map +1 -1
  201. package/dist/themes/odyssey/typography.d.ts.map +1 -1
  202. package/dist/themes/odyssey/typography.js +9 -15
  203. package/dist/themes/odyssey/typography.js.map +1 -1
  204. package/package.json +6 -6
  205. package/scripts/resolveIconSrcPath.cjs +20 -0
  206. package/src/components/Icon/Add.tsx +42 -0
  207. package/src/components/Icon/AddCircle.tsx +44 -0
  208. package/src/components/Icon/AlertCircle.tsx +44 -0
  209. package/src/components/Icon/AlertCircleFilled.tsx +45 -0
  210. package/src/components/Icon/AlertTriangleFilled.tsx +45 -0
  211. package/src/components/Icon/Anchor.tsx +46 -0
  212. package/src/components/Icon/ArrowDown.tsx +44 -0
  213. package/src/components/Icon/ArrowLeft.tsx +44 -0
  214. package/src/components/Icon/ArrowRight.tsx +44 -0
  215. package/src/components/Icon/ArrowUp.tsx +44 -0
  216. package/src/components/Icon/Calendar.tsx +44 -0
  217. package/src/components/Icon/Check.tsx +44 -0
  218. package/src/components/Icon/CheckCircleFilled.tsx +45 -0
  219. package/src/components/Icon/ChevronDown.tsx +44 -0
  220. package/src/components/Icon/ChevronUp.tsx +44 -0
  221. package/src/components/Icon/Close.tsx +44 -0
  222. package/src/components/Icon/CloseCircleFilled.tsx +45 -0
  223. package/src/components/Icon/Copy.tsx +44 -0
  224. package/src/components/Icon/Delete.tsx +44 -0
  225. package/src/components/Icon/Download.tsx +44 -0
  226. package/src/components/Icon/DragHandle.tsx +44 -0
  227. package/src/components/Icon/Edit.tsx +44 -0
  228. package/src/components/Icon/ExternalLink.tsx +45 -0
  229. package/src/components/Icon/Eye.tsx +42 -0
  230. package/src/components/Icon/EyeOff.tsx +44 -0
  231. package/src/components/Icon/Filter.tsx +44 -0
  232. package/src/components/Icon/Globe.tsx +44 -0
  233. package/src/components/Icon/Home.tsx +44 -0
  234. package/src/components/Icon/Icon.test.tsx +51 -0
  235. package/src/components/Icon/Icon.tsx +40 -0
  236. package/src/components/Icon/InformationCircle.tsx +45 -0
  237. package/src/components/Icon/InformationCircleFilled.tsx +45 -0
  238. package/src/components/Icon/Notification.tsx +45 -0
  239. package/src/components/Icon/OverflowVertical.tsx +45 -0
  240. package/src/components/Icon/QuestionCircle.tsx +45 -0
  241. package/src/components/Icon/QuestionCircleFilled.tsx +45 -0
  242. package/src/components/Icon/Search.tsx +44 -0
  243. package/src/components/Icon/Settings.tsx +42 -0
  244. package/src/components/Icon/Subtract.tsx +44 -0
  245. package/src/components/Icon/SvgIcon.ts +14 -0
  246. package/src/components/Icon/User.tsx +44 -0
  247. package/src/components/Icon/index.tsx +170 -0
  248. package/src/components/Icon/types.ts +20 -0
  249. package/src/components/Link/Link.tsx +1 -1
  250. package/src/components/PasswordInput/PasswordInput.test.tsx +0 -1
  251. package/src/components/PasswordInput/PasswordInput.tsx +1 -1
  252. package/src/components/index.ts +1 -0
  253. package/src/themes/odyssey/components.ts +465 -179
  254. package/src/themes/odyssey/components.types.ts +41 -28
  255. package/src/themes/odyssey/palette.ts +45 -41
  256. package/src/themes/odyssey/palette.types.ts +22 -0
  257. package/src/themes/odyssey/theme.ts +1 -0
  258. package/src/themes/odyssey/typography.ts +8 -14
  259. package/tsconfig.json +4 -1
  260. package/tsconfig.production.json +2 -1
@@ -11,139 +11,56 @@
11
11
  */
12
12
 
13
13
  import type { ThemeOptions } from "@mui/material";
14
+ //import radioClasses from "@mui/material";
14
15
 
15
16
  export const components: ThemeOptions["components"] = {
16
- MuiCssBaseline: {
17
+ MuiAlert: {
17
18
  styleOverrides: {
18
- boxSizing: "border-box",
19
- },
20
- },
21
- MuiCircularProgress: {
22
- defaultProps: {
23
- size: "1.14285714rem",
24
- thickness: 8,
25
- color: "primary",
26
- disableShrink: false,
27
- variant: "indeterminate",
28
- },
29
- styleOverrides: {
30
- root: ({ ownerState }) => ({
31
- ...(ownerState.color !== "inherit" && {
32
- color: "#00297a",
19
+ root: ({ ownerState, theme }) => ({
20
+ padding: theme.spacing(4),
21
+ color: theme.palette.text.primary,
22
+ ...(ownerState.severity && {
23
+ backgroundColor: theme.palette[ownerState.severity].lighter,
24
+ borderColor: theme.palette[ownerState.severity].light,
25
+ }),
26
+ ...(ownerState.variant === "infobox" && {
27
+ borderStyle: "solid",
28
+ borderWidth: 1,
29
+ "&:not(:last-child)": {
30
+ marginBottom: theme.spacing(4),
31
+ },
32
+ }),
33
+ ...(ownerState.variant === "banner" && {
34
+ borderWidth: 0,
33
35
  }),
34
36
  }),
35
- circle: ({ ownerState }) => ({
36
- ...(ownerState.variant === "indeterminate" && {
37
- strokeDasharray: "160%, 360%",
37
+ icon: ({ ownerState, theme }) => ({
38
+ marginRight: theme.spacing(4),
39
+ padding: 0,
40
+ fontSize: "1.429rem",
41
+ opacity: 1,
42
+ ...(ownerState.severity && {
43
+ color: theme.palette[ownerState.severity].main,
44
+ }),
45
+ ...(ownerState.severity === "warning" && {
46
+ color: theme.palette[ownerState.severity].dark,
38
47
  }),
39
48
  }),
49
+ message: ({ theme }) => ({
50
+ padding: 0,
51
+ lineHeight: theme.typography.body.lineHeight,
52
+ }),
40
53
  },
41
54
  },
42
- MuiFormLabel: {
43
- styleOverrides: {
44
- root: {
45
- color: "#1d1d21",
46
- lineHeight: "1.42857143",
47
- fontSize: "1rem",
48
- fontWeight: 600,
49
- },
50
- },
51
- },
52
- MuiInputBase: {
53
- styleOverrides: {
54
- root: {
55
- lineHeight: "1.14285714",
56
- },
57
- input: {
58
- boxSizing: "border-box",
59
- height: "auto",
60
- },
61
- },
62
- },
63
- MuiTypography: {
64
- defaultProps: {
65
- fontFamily:
66
- "'Public Sans', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', 'Noto Sans Arabic', sans-serif",
67
- },
68
- styleOverrides: {
69
- paragraph: {
70
- marginBottom: "1.14285714rem",
71
- },
72
- },
73
- },
74
- MuiLink: {
55
+ MuiAlertTitle: {
75
56
  styleOverrides: {
76
- root: {
77
- color: "#1662dd",
78
- textDecoration: "none",
79
-
80
- "&:hover": {
81
- color: "#1662dd",
82
- textDecoration: "underline",
83
- },
84
-
85
- "&:focus-visible": {
86
- outlineColor: "#1662dd",
87
- outlineOffset: "2px",
88
- outlineStyle: "solid",
89
- outlineWidth: "1px",
90
- },
91
-
92
- "&:visited": {
93
- color: "#1662dd",
94
- },
95
-
96
- ".Link-indicator, .Link-icon": {
97
- display: "inline-block",
98
- height: "1em",
99
- lineHeight: 1,
100
- },
101
-
102
- ".Link-indicator": {
103
- marginInlineStart: "0.57142857rem",
104
- },
105
-
106
- ".Link-icon": {
107
- marginInlineEnd: "0.57142857rem",
108
- },
109
- svg: {
110
- fontSize: "1rem",
111
- height: "1em",
112
- position: "relative",
113
- top: "-0.0625em",
114
- verticalAlign: "middle",
115
- width: "1em",
116
- },
117
- },
118
- },
119
- variants: [
120
- {
121
- props: { variant: "monochrome" },
122
- style: {
123
- color: "#1d1d21",
124
- textDecoration: "underline",
125
-
126
- "&:hover": {
127
- color: "#6e6e78",
128
- },
129
-
130
- "&:focus-visible": {
131
- outlineColor: "#1662dd",
132
- outlineOffset: "2px",
133
- outlineStyle: "solid",
134
- outlineWidth: "1px",
135
- },
136
-
137
- "&:visited": {
138
- color: "#1d1d21",
139
- },
140
- },
141
- },
142
- ],
143
- },
144
- MuiButtonBase: {
145
- defaultProps: {
146
- disableRipple: true,
57
+ root: ({ theme }) => ({
58
+ marginTop: 0,
59
+ marginBottom: theme.spacing(1),
60
+ lineHeight: theme.typography.h6.lineHeight,
61
+ fontSize: theme.typography.h6.fontSize,
62
+ fontWeight: theme.typography.fontWeightBold,
63
+ }),
147
64
  },
148
65
  },
149
66
  MuiButton: {
@@ -153,86 +70,85 @@ export const components: ThemeOptions["components"] = {
153
70
  variants: [
154
71
  {
155
72
  props: { variant: "primary" },
156
- style: {
73
+ style: ({ theme }) => ({
157
74
  fontWeight: 600,
158
- color: "#ffffff",
75
+ color: theme.palette.common.white,
159
76
  borderColor: "transparent",
160
- backgroundColor: "#1662dd",
77
+ backgroundColor: theme.palette.primary.main,
161
78
 
162
79
  "&:hover, &:focus-visible": {
163
- backgroundColor: "#00297a",
80
+ backgroundColor: theme.palette.primary.dark,
164
81
  },
165
82
 
166
83
  "&:active": {
167
- backgroundColor: "#1662dd",
84
+ backgroundColor: theme.palette.primary.main,
168
85
  },
169
86
 
170
87
  "&:disabled": {
171
- color: "#ffffff",
172
- backgroundColor: "#a7b5ec",
88
+ color: theme.palette.common.white,
89
+ backgroundColor: theme.palette.primary.light,
173
90
  },
174
- },
91
+ }),
175
92
  },
176
93
  {
177
94
  props: { variant: "secondary" },
178
- style: {
179
- backgroundColor: "#f5f5f6",
180
- borderColor: "#d7d7dc",
181
- color: "#1d1d21",
95
+ style: ({ theme }) => ({
96
+ backgroundColor: theme.palette.grey[50],
97
+ borderColor: theme.palette.grey[200],
98
+ color: theme.palette.text.primary,
182
99
  "&:hover": {
183
- background: "#f2f5ff",
184
- borderColor: "#a7b5ec",
185
- color: "#1662dd",
100
+ background: theme.palette.primary.lighter,
101
+ borderColor: theme.palette.primary.light,
102
+ color: theme.palette.primary.main,
186
103
  },
187
104
 
188
105
  "&:focus-visible": {
189
- backgroundColor: "#1662dd",
190
- color: "#1662dd",
106
+ backgroundColor: theme.palette.primary.main,
107
+ color: theme.palette.primary.main,
191
108
  },
192
109
 
193
110
  "&:active": {
194
- borderColor: "#1662dd",
111
+ borderColor: theme.palette.primary.main,
195
112
  },
196
113
 
197
114
  "&:disabled": {
198
- borderColor: "#ebebed",
199
- backgroundColor: "#ebebed",
200
- color: "#8c8c96",
115
+ borderColor: theme.palette.grey[100],
116
+ backgroundColor: theme.palette.grey[100],
117
+ color: theme.palette.grey[500],
201
118
  },
202
- },
119
+ }),
203
120
  },
204
121
  {
205
122
  props: { variant: "danger" },
206
- style: {
207
- backgroundColor: "#da372c",
208
- color: "#ffffff",
123
+ style: ({ theme }) => ({
124
+ backgroundColor: theme.palette.error.main,
125
+ color: theme.palette.common.white,
126
+ borderColor: "transparent",
127
+
209
128
  "&:hover": {
210
- borderColor: "transparent",
211
- backgroundColor: "#640019",
129
+ backgroundColor: theme.palette.error.dark,
212
130
  },
213
131
 
214
132
  "&:focus-visible": {
215
- outlineColor: "#f88c90",
216
- backgroundColor: "#640019",
133
+ outlineColor: theme.palette.error.light,
134
+ backgroundColor: theme.palette.error.dark,
217
135
  },
218
136
 
219
137
  "&:active": {
220
- borderColor: "transparent",
221
- backgroundColor: "#da372c",
138
+ backgroundColor: theme.palette.error.main,
222
139
  },
223
140
 
224
141
  "&:disabled": {
225
- color: "#ffffff",
226
- borderColor: "#f88c90",
227
- backgroundColor: "#f88c90",
142
+ color: theme.palette.common.white,
143
+ backgroundColor: theme.palette.error.light,
228
144
  },
229
- },
145
+ }),
230
146
  },
231
147
  {
232
148
  props: { variant: "floating" },
233
- style: {
234
- backgroundColor: "#ffffff",
235
- color: "#1d1d21",
149
+ style: ({ theme }) => ({
150
+ backgroundColor: theme.palette.common.white,
151
+ color: theme.palette.text.primary,
236
152
  borderColor: "transparent",
237
153
 
238
154
  "&:hover, &:focus-visible": {
@@ -245,46 +161,55 @@ export const components: ThemeOptions["components"] = {
245
161
  },
246
162
  "&:disabled": {
247
163
  backgroundColor: "rgba(235, 235, 237, 0.6)",
248
- color: "#6e6e78",
164
+ color: theme.palette.text.secondary,
249
165
  borderColor: "transparent",
250
166
  },
251
- },
167
+ }),
252
168
  },
253
169
  {
254
170
  props: { size: "s" },
255
- style: {
256
- paddingBlock: "calc(0.57142857rem - 1px)",
257
- paddingInline: "calc(0.85714286rem - - 1px)",
171
+ style: ({ theme }) => ({
172
+ paddingBlock: `calc(${theme.spacing(2)} - 1px)`,
173
+ paddingInline: `calc(${theme.spacing(3)} - 1px)`,
258
174
  fontSize: "1rem",
259
- },
175
+ }),
260
176
  },
261
177
  {
262
178
  props: { size: "l" },
263
- style: {
264
- paddingBlock: "calc(1.14285714rem - 1px)",
265
- paddingInline: "calc(1.14285714rem - 1px)",
266
- },
179
+ style: ({ theme }) => ({
180
+ paddingBlock: `calc(${theme.spacing(4)} - 1px)`,
181
+ paddingInline: `calc(${theme.spacing(4)} - 1px)`,
182
+ }),
267
183
  },
268
184
  {
269
185
  props: { fullWidth: true },
270
- style: {
186
+ style: ({ theme }) => ({
271
187
  display: "block",
272
188
  width: "100%",
273
189
  marginBlock: "0",
274
190
  marginInline: "0",
275
191
 
276
192
  "&:not(:last-child)": {
277
- marginBlockEnd: "1.14285714rem",
193
+ marginBlockEnd: theme.spacing(4),
194
+ },
195
+ }),
196
+ },
197
+ {
198
+ // icon only
199
+ props: { children: "" },
200
+ style: {
201
+ minWidth: "auto",
202
+
203
+ ".MuiButton-startIcon": {
204
+ margin: "0",
278
205
  },
279
206
  },
280
207
  },
281
208
  ],
282
209
  styleOverrides: {
283
- root: ({ ownerState }) => ({
284
- ...ownerState,
210
+ root: ({ theme }) => ({
285
211
  fontWeight: 600,
286
- paddingBlock: "0.85714286rem",
287
- paddingInline: "0.85714286rem",
212
+ padding: `calc(${theme.spacing(3)} - 1px) ${theme.spacing(3)}`,
288
213
  display: "inline-block",
289
214
  position: "relative",
290
215
  marginBlock: "0",
@@ -302,7 +227,7 @@ export const components: ThemeOptions["components"] = {
302
227
  whiteSpace: "nowrap",
303
228
 
304
229
  "& + &": {
305
- marginInlineStart: "0.57142857rem",
230
+ marginInlineStart: theme.spacing(2),
306
231
  },
307
232
 
308
233
  "&:focus-visible": {
@@ -313,9 +238,370 @@ export const components: ThemeOptions["components"] = {
313
238
 
314
239
  "&:disabled": {
315
240
  cursor: "not-allowed",
316
- pointerEvents: "inherit", // in order to have cursor: not-allowed, must change pointer-events from 'none'
241
+ pointerEvents: "inherit", // in order to have cursor: not-allowed, must change pointer-events from "none"
242
+ },
243
+
244
+ ".MuiButton-startIcon > *:nth-of-type(1)": {
245
+ fontSize: "inherit",
317
246
  },
318
247
  }),
319
248
  },
320
249
  },
250
+ MuiButtonBase: {
251
+ defaultProps: {
252
+ disableRipple: true,
253
+ },
254
+ },
255
+ MuiCssBaseline: {
256
+ styleOverrides: {
257
+ boxSizing: "border-box",
258
+ fontFeatureSettings: "'lnum','pnum'",
259
+ fontVariant: "normal",
260
+ },
261
+ },
262
+ MuiCheckbox: {
263
+ defaultProps: {
264
+ size: "small",
265
+ },
266
+ styleOverrides: {
267
+ root: ({ theme }) => ({
268
+ borderRadius: "4px",
269
+ "&:hover": {
270
+ backgroundColor: "transparent",
271
+ },
272
+ padding: 0,
273
+ ".Mui-error > &": {
274
+ color: theme.palette.error.main,
275
+ "&:hover": {
276
+ color: theme.palette.error.dark,
277
+ },
278
+ },
279
+ ".Mui-error > &.Mui-checked": {
280
+ "&:hover": {
281
+ color: theme.palette.error.dark,
282
+ },
283
+ },
284
+ "&.Mui-focusVisible": {
285
+ outlineColor: theme.palette.primary.main,
286
+ outlineOffset: 0,
287
+ outlineStyle: "solid",
288
+ outlineWidth: "2px",
289
+ },
290
+ }),
291
+ },
292
+ },
293
+ MuiCircularProgress: {
294
+ defaultProps: {
295
+ // TODO: defaultProps cannot take a theme object; needs workaround
296
+ size: "1.14285714rem",
297
+ thickness: 8,
298
+ color: "primary",
299
+ disableShrink: false,
300
+ variant: "indeterminate",
301
+ },
302
+ styleOverrides: {
303
+ root: ({ theme, ownerState }) => ({
304
+ ...(ownerState.color !== "inherit" && {
305
+ color: theme.palette.primary.dark,
306
+ }),
307
+ }),
308
+ circle: ({ ownerState }) => ({
309
+ ...(ownerState.variant === "indeterminate" && {
310
+ strokeDasharray: "160%, 360%",
311
+ }),
312
+ }),
313
+ },
314
+ },
315
+ MuiFormControl: {
316
+ styleOverrides: {
317
+ root: ({ ownerState, theme }) => ({
318
+ width: "100%",
319
+ maxWidth: "32rem",
320
+ ...(ownerState.margin === "normal" && {
321
+ marginTop: 0,
322
+ marginBottom: theme.spacing(4),
323
+ }),
324
+ ...(ownerState.margin === "dense" && {
325
+ marginTop: 0,
326
+ marginBottom: theme.spacing(4),
327
+ }),
328
+ ...(ownerState.fullWidth && {
329
+ maxWidth: "100%",
330
+ }),
331
+ }),
332
+ },
333
+ },
334
+ MuiFormControlLabel: {
335
+ styleOverrides: {
336
+ root: ({ theme, ownerState }) => ({
337
+ gap: theme.spacing(2),
338
+ marginLeft: 0,
339
+ marginRight: 0, // used for row presentation of radio/checkbox
340
+ ...(ownerState.labelPlacement === "start" && {
341
+ marginLeft: 0, // used for row presentation of radio/checkbox
342
+ marginRight: 0,
343
+ }),
344
+ ...(ownerState.labelPlacement === "top" && {
345
+ marginLeft: 0,
346
+ }),
347
+ ...(ownerState.labelPlacement === "bottom" && {
348
+ marginLeft: 0,
349
+ }),
350
+ "&:not(:last-child)": {
351
+ marginBottom: theme.spacing(2),
352
+ },
353
+ "&.Mui-disabled": {
354
+ pointerEvents: "none",
355
+ },
356
+ //[`&:hover ${radioClasses.root}:not(${radioClasses.checked})`]: {
357
+ //color: theme.palette.text.primary,
358
+ //},
359
+ "&:hover .MuiRadio-root, &:hover .MuiCheckbox-root": {
360
+ color: theme.palette.text.primary,
361
+ },
362
+ "&:hover .MuiRadio-root.Mui-checked, &:hover .MuiCheckbox-root.Mui-checked":
363
+ {
364
+ color: theme.palette.primary.dark,
365
+ },
366
+ "&.Mui-error:hover .MuiRadio-root, &.Mui-error:hover .MuiCheckbox-root":
367
+ {
368
+ color: theme.palette.error.dark,
369
+ },
370
+ "&.Mui-error:hover .MuiRadio-root.Mui-checked, &.Mui-error:hover .MuiCheckbox-root.Mui-checked":
371
+ {
372
+ color: theme.palette.error.dark,
373
+ },
374
+ }),
375
+ },
376
+ },
377
+ MuiFormHelperText: {
378
+ defaultProps: {
379
+ variant: "standard",
380
+ },
381
+ styleOverrides: {
382
+ root: ({ theme }) => ({
383
+ lineHeight: "1.33333333",
384
+ marginTop: theme.spacing(2),
385
+ ".MuiFormLabel-root + &": {
386
+ marginTop: `-${theme.spacing(1)}`,
387
+ color: theme.palette.text.secondary,
388
+ },
389
+ marginBottom: theme.spacing(2),
390
+ "&:last-child": {
391
+ marginBottom: 0,
392
+ },
393
+ }),
394
+ },
395
+ },
396
+ MuiFormLabel: {
397
+ styleOverrides: {
398
+ root: ({ theme }) => ({
399
+ color: theme.palette.text.primary,
400
+ lineHeight: "1.14285714",
401
+ fontSize: "1rem",
402
+ fontWeight: 600,
403
+ marginBottom: theme.spacing(2),
404
+ "&.Mui-focused, &.Mui-error, &.Mui-disabled": {
405
+ color: theme.palette.text.primary,
406
+ },
407
+ }),
408
+ },
409
+ },
410
+ MuiInputAdornment: {
411
+ defaultProps: {
412
+ variant: "outlined",
413
+ },
414
+ styleOverrides: {
415
+ root: ({ ownerState }) => ({
416
+ display: "flex",
417
+ ...(ownerState.position === "start" && {
418
+ marginRight: 0,
419
+ }),
420
+ ...(ownerState.position === "end" && {
421
+ marginLeft: 0,
422
+ }),
423
+ }),
424
+ },
425
+ },
426
+ MuiInputBase: {
427
+ styleOverrides: {
428
+ root: {
429
+ lineHeight: "1.14285714",
430
+ },
431
+ input: {
432
+ boxSizing: "border-box",
433
+ height: "auto",
434
+ },
435
+ },
436
+ },
437
+ MuiInputLabel: {
438
+ defaultProps: {
439
+ disableAnimation: true,
440
+ shrink: false,
441
+ },
442
+ styleOverrides: {
443
+ root: ({ ownerState }) => ({
444
+ // @ts-expect-error: Incorrect typing in MUI
445
+ ...(ownerState.formControl && {
446
+ position: "initial",
447
+ transform: "none",
448
+ }),
449
+ ...(ownerState.variant === "outlined" && {
450
+ pointerEvents: "initial",
451
+ transform: "none",
452
+ maxWidth: "100%",
453
+ ...(ownerState.size === "small" && {
454
+ transform: "none",
455
+ }),
456
+ }),
457
+ }),
458
+ },
459
+ },
460
+ MuiLink: {
461
+ styleOverrides: {
462
+ root: ({ theme }) => ({
463
+ color: theme.palette.primary.main,
464
+ textDecoration: "none",
465
+
466
+ "&:hover": {
467
+ color: theme.palette.primary.main,
468
+ textDecoration: "underline",
469
+ },
470
+
471
+ "&:focus-visible": {
472
+ outlineColor: theme.palette.primary.main,
473
+ outlineOffset: "2px",
474
+ outlineStyle: "solid",
475
+ outlineWidth: "1px",
476
+ },
477
+
478
+ "&:visited": {
479
+ color: theme.palette.primary.main,
480
+ },
481
+
482
+ ".Link-indicator, .Link-icon": {
483
+ display: "inline-block",
484
+ height: "1em",
485
+ lineHeight: 1,
486
+ },
487
+
488
+ ".Link-indicator": {
489
+ marginInlineStart: theme.spacing(2),
490
+ },
491
+
492
+ ".Link-icon": {
493
+ marginInlineEnd: theme.spacing(2),
494
+ },
495
+ svg: {
496
+ fontSize: "1rem",
497
+ height: "1em",
498
+ position: "relative",
499
+ top: "-0.0625em",
500
+ verticalAlign: "middle",
501
+ width: "1em",
502
+ },
503
+ }),
504
+ },
505
+ variants: [
506
+ {
507
+ props: { variant: "monochrome" },
508
+ style: ({ theme }) => ({
509
+ color: theme.palette.text.primary,
510
+ textDecoration: "underline",
511
+
512
+ "&:hover": {
513
+ color: theme.palette.text.secondary,
514
+ },
515
+
516
+ "&:focus-visible": {
517
+ outlineColor: theme.palette.primary.main,
518
+ outlineOffset: "2px",
519
+ outlineStyle: "solid",
520
+ outlineWidth: "1px",
521
+ },
522
+
523
+ "&:visited": {
524
+ color: theme.palette.text.primary,
525
+ },
526
+ }),
527
+ },
528
+ ],
529
+ },
530
+ MuiNativeSelect: {
531
+ defaultProps: {
532
+ variant: "outlined",
533
+ },
534
+ styleOverrides: {
535
+ icon: ({ theme }) => ({
536
+ color: theme.palette.text.primary,
537
+ }),
538
+ },
539
+ },
540
+ MuiOutlinedInput: {
541
+ defaultProps: {
542
+ notched: false,
543
+ },
544
+ styleOverrides: {
545
+ root: ({ ownerState, theme }) => ({
546
+ "&.Mui-disabled": {
547
+ pointerEvents: "none",
548
+ },
549
+ ...(ownerState.startAdornment && {
550
+ paddingLeft: theme.spacing(3),
551
+ }),
552
+ ...(ownerState.endAdornment && {
553
+ paddingRight: theme.spacing(3),
554
+ }),
555
+ }),
556
+ input: ({ theme }) => ({
557
+ padding: `calc(${theme.spacing(3)} - 1px) ${theme.spacing(3)}`,
558
+ border: "1px solid transparent",
559
+ }),
560
+ notchedOutline: ({ theme }) => ({
561
+ borderColor: theme.palette.grey[500],
562
+ ".MuiOutlinedInput-root:hover &": {
563
+ borderColor: theme.palette.primary.main,
564
+ },
565
+ ".MuiOutlinedInput-root.Mui-error:hover &": {
566
+ borderColor: theme.palette.error.dark,
567
+ },
568
+ }),
569
+ },
570
+ },
571
+ MuiRadio: {
572
+ defaultProps: {
573
+ size: "small",
574
+ },
575
+ styleOverrides: {
576
+ root: ({ theme }) => ({
577
+ "&:hover": {
578
+ backgroundColor: "transparent",
579
+ },
580
+ padding: 0,
581
+ ".Mui-error > &": {
582
+ color: theme.palette.error.main,
583
+ "&:hover": {
584
+ color: theme.palette.error.dark,
585
+ },
586
+ },
587
+ "&.Mui-focusVisible": {
588
+ outlineColor: theme.palette.primary.main,
589
+ outlineOffset: 0,
590
+ outlineStyle: "solid",
591
+ outlineWidth: "2px",
592
+ },
593
+ }),
594
+ },
595
+ },
596
+ MuiTypography: {
597
+ defaultProps: {
598
+ fontFamily:
599
+ "'Public Sans', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', 'Noto Sans Arabic', sans-serif",
600
+ },
601
+ styleOverrides: {
602
+ paragraph: ({ theme }) => ({
603
+ marginBottom: theme.spacing(4),
604
+ }),
605
+ },
606
+ },
321
607
  };