@mx-cartographer/experiences 9.4.11 → 9.4.12-alpha.al1

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [9.4.12] - 09-02-2026
2
+
3
+ - **CHANGED** - the theme shape radius is half of `card_corner_radius`, so cards render at 2x the theme radius per MXUI convention (MEW-3445)
4
+ - **CHANGED** - `StyleConfig.corner_radius` replaced by `card_corner_radius` and `button_corner_radius`, matching `ClientStyleProfile` (MEW-3445)
5
+
1
6
  ## [9.4.11] - 09-02-2026
2
7
 
3
8
  - **ADDED** - insights-v2 `AccountSwitchBlock` component block for the discovered-accounts connect insight: two institution logos on a `TransferLogoCard` track, gated on the payload `is_connected` flag — a pending state (link badge) and a connected success state (success badge + `ACCOUNT_CONNECTED_GRADIENT` wash + confetti); registered as `account_switch_block` in `mappings/blocks.ts` (WEC-1310)
@@ -1,5 +1,5 @@
1
- import { alpha as h, darken as y, lighten as b } from "@mui/material";
2
- var x = [
1
+ import { alpha as h, darken as b, lighten as v } from "@mui/material";
2
+ var M = [
3
3
  "fontFamily",
4
4
  "h1",
5
5
  "h2",
@@ -11,7 +11,7 @@ var x = [
11
11
  "subtitle1",
12
12
  "subtitle2",
13
13
  "tiny"
14
- ], v = [
14
+ ], O = [
15
15
  {
16
16
  key: "primary",
17
17
  override: "primary_color",
@@ -48,23 +48,23 @@ var x = [
48
48
  light: "success_color",
49
49
  dark: "success_color_dark"
50
50
  }
51
- ], O = [...v, {
51
+ ], R = [...O, {
52
52
  key: "grey",
53
53
  override: "neutral_color",
54
54
  light: "neutral_color",
55
55
  dark: "neutral_color_dark"
56
- }], T = (r, t, a, i) => {
57
- const d = t === "dark", s = i ?? r?.mode ?? t, e = {};
58
- for (const { key: k, override: R, light: C, dark: f } of O) {
59
- const g = a?.[R] ?? r?.[d ? f : C];
60
- g && (e[k] = g);
56
+ }], $ = (r, t, a, d) => {
57
+ const i = t === "dark", s = d ?? r?.mode ?? t, e = {};
58
+ for (const { key: k, override: C, light: f, dark: x } of R) {
59
+ const y = a?.[C] ?? r?.[i ? x : f];
60
+ y && (e[k] = y);
61
61
  }
62
- const p = d && s !== "browser", _ = (k) => p ? { dark: k } : { light: k }, n = a?.background_color ?? r?.background_color, c = a?.paper_color ?? r?.paper_color;
62
+ const _ = i && s !== "browser", p = (k) => _ ? { dark: k } : { light: k }, n = a?.background_color ?? r?.background_color, c = a?.paper_color ?? r?.paper_color;
63
63
  (n || c) && (e.background = {
64
- ...n && { default: _(n) },
65
- ...c && { paper: _(c) }
64
+ ...n && { default: p(n) },
65
+ ...c && { paper: p(c) }
66
66
  });
67
- const o = a?.font_name || r?.body_font_name || r?.system_font, u = a?.header_font_name || r?.header_font_name, l = a?.use_glass ?? r?.use_glass, m = a?.corner_radius ?? r?.card_corner_radius;
67
+ const o = a?.font_name || r?.body_font_name || r?.system_font, u = a?.header_font_name || r?.header_font_name, l = a?.use_glass ?? r?.use_glass, m = a?.card_corner_radius ?? r?.card_corner_radius, g = m !== void 0 ? m / 2 : void 0;
68
68
  return {
69
69
  ...Object.keys(e).length > 0 && { paletteOptions: e },
70
70
  ...(o || u) && { typographyOptions: {
@@ -72,18 +72,18 @@ var x = [
72
72
  ...u && { headerFontFamily: u }
73
73
  } },
74
74
  ...l !== void 0 && { styleOptions: { useGlass: l } },
75
- ...m !== void 0 && { shapeOptions: { borderRadius: m } }
75
+ ...g !== void 0 && { shapeOptions: { borderRadius: g } }
76
76
  };
77
- }, $ = (r, t, a) => {
78
- const i = a?.master?.style, d = {
77
+ }, w = (r, t, a) => {
78
+ const d = a?.master?.style, i = {
79
79
  MuiTabs: { styleOverrides: { indicator: { backgroundColor: r.palette.primary.light } } },
80
80
  MuiPickersCalendarHeader: { styleOverrides: { switchViewButton: {
81
81
  color: r.palette.primary.lighter,
82
82
  "&:hover": { backgroundColor: h(r.palette.primary.light, 0.1) }
83
83
  } } }
84
- }, s = t?.button_corner_radius, e = i?.corner_radius ?? t?.card_corner_radius;
84
+ }, s = d?.button_corner_radius ?? t?.button_corner_radius, e = d?.card_corner_radius ?? t?.card_corner_radius;
85
85
  return { components: {
86
- ...d,
86
+ ...i,
87
87
  ...s !== void 0 && {
88
88
  MuiButton: { styleOverrides: { root: {
89
89
  borderRadius: `${s}px`,
@@ -104,21 +104,21 @@ var x = [
104
104
  MuiPaper: { styleOverrides: { rounded: { borderRadius: `${e}px` } } }
105
105
  }
106
106
  } };
107
- }, w = (r, t) => {
108
- const a = t === "dark", i = {};
109
- for (const { key: d, light: s, dark: e } of O) {
110
- const p = r?.[a ? e : s];
111
- p && (i[d] = p);
107
+ }, F = (r, t) => {
108
+ const a = t === "dark", d = {};
109
+ for (const { key: i, light: s, dark: e } of R) {
110
+ const _ = r?.[a ? e : s];
111
+ _ && (d[i] = _);
112
112
  }
113
- return i;
114
- }, F = (r, t, a) => {
115
- const i = r.palette.mode === "dark", d = (a?.master?.style?.font_name || t?.body_font_name || t?.system_font) ?? r.typography.fontFamily, s = (o, u) => o ? {
116
- lighter: b(o, 0.5),
117
- light: b(o, 0.25),
113
+ return d;
114
+ }, B = (r, t, a) => {
115
+ const d = r.palette.mode === "dark", i = (a?.master?.style?.font_name || t?.body_font_name || t?.system_font) ?? r.typography.fontFamily, s = (o, u) => o ? {
116
+ lighter: v(o, 0.5),
117
+ light: v(o, 0.25),
118
118
  main: o,
119
- dark: y(o, 0.25),
120
- darker: y(o, 0.5)
121
- } : u, e = Object.fromEntries(v.map(({ key: o, light: u, dark: l }) => [o, s(t?.[i ? l : u], r.palette[o])])), p = Object.fromEntries(x.map((o) => [o, o === "fontFamily" ? d : { fontFamily: d }])), _ = {
119
+ dark: b(o, 0.25),
120
+ darker: b(o, 0.5)
121
+ } : u, e = Object.fromEntries(O.map(({ key: o, light: u, dark: l }) => [o, s(t?.[d ? l : u], r.palette[o])])), _ = Object.fromEntries(M.map((o) => [o, o === "fontFamily" ? i : { fontFamily: i }])), p = {
122
122
  MuiTabs: { styleOverrides: { indicator: { backgroundColor: e.primary.light } } },
123
123
  MuiPickersCalendarHeader: { styleOverrides: { switchViewButton: {
124
124
  color: e.primary.lighter,
@@ -126,10 +126,10 @@ var x = [
126
126
  } } }
127
127
  }, n = t?.button_corner_radius, c = t?.card_corner_radius;
128
128
  return {
129
- typography: p,
129
+ typography: _,
130
130
  palette: e,
131
131
  components: {
132
- ..._,
132
+ ...p,
133
133
  ...n && {
134
134
  MuiButton: { styleOverrides: { root: {
135
135
  borderRadius: `${n}px`,
@@ -151,10 +151,10 @@ var x = [
151
151
  };
152
152
  };
153
153
  export {
154
- $ as getClientComponentOverrides,
155
- T as getClientCustomizations,
156
- w as getClientPaletteOptions,
157
- F as getClientTheme
154
+ w as getClientComponentOverrides,
155
+ $ as getClientCustomizations,
156
+ F as getClientPaletteOptions,
157
+ B as getClientTheme
158
158
  };
159
159
 
160
160
  //# sourceMappingURL=Theme.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.es.js","names":[],"sources":["../../../src/common/utils/Theme.ts"],"sourcesContent":["import { alpha, darken, lighten, PaletteColor, PaletteMode, Theme } from '@mui/material'\nimport type { Customizations } from '@mxenabled/mxui'\n\nimport type { ClientStyleProfile } from '../../core'\nimport { ClientConfig, StyleConfig } from '../../core/types/AppData'\n\ntype PaletteOptions = NonNullable<Customizations['paletteOptions']>\ntype ModeColorOptions = Partial<NonNullable<NonNullable<PaletteOptions['background']>['default']>>\n\nconst TYPOGRAPHY_VARIANTS = [\n 'fontFamily',\n 'h1',\n 'h2',\n 'h3',\n 'body1',\n 'body2',\n 'button',\n 'caption',\n 'subtitle1',\n 'subtitle2',\n 'tiny',\n] as const\n\nconst PALETTE_CONFIG = [\n { key: 'primary', override: 'primary_color', light: 'primary_color', dark: 'primary_color_dark' },\n {\n key: 'secondary',\n override: 'secondary_color',\n light: 'secondary_color',\n dark: 'secondary_color_dark',\n },\n { key: 'error', override: 'error_color', light: 'error_color', dark: 'error_color_dark' },\n { key: 'warning', override: 'warning_color', light: 'warning_color', dark: 'warning_color_dark' },\n { key: 'info', override: 'info_color', light: 'info_color', dark: 'info_color_dark' },\n { key: 'success', override: 'success_color', light: 'success_color', dark: 'success_color_dark' },\n] as const\n\nconst SEED_CONFIG = [\n ...PALETTE_CONFIG,\n { key: 'grey', override: 'neutral_color', light: 'neutral_color', dark: 'neutral_color_dark' },\n] as const\n\nexport const getClientCustomizations = (\n clientStyleProfile: ClientStyleProfile,\n mode: PaletteMode,\n styleConfig?: StyleConfig,\n requestedMode?: ClientStyleProfile['mode'],\n): Customizations => {\n const isDark = mode === 'dark'\n const requested = requestedMode ?? clientStyleProfile?.mode ?? mode\n\n const paletteOptions: PaletteOptions = {}\n for (const { key, override, light, dark } of SEED_CONFIG) {\n const color = styleConfig?.[override] ?? clientStyleProfile?.[isDark ? dark : light]\n if (color) paletteOptions[key] = color\n }\n\n const useDarkSlot = isDark && requested !== 'browser'\n const asModeColor = (color: string): ModeColorOptions =>\n useDarkSlot ? { dark: color } : { light: color }\n const backgroundColor = styleConfig?.background_color ?? clientStyleProfile?.background_color\n const paperColor = styleConfig?.paper_color ?? clientStyleProfile?.paper_color\n if (backgroundColor || paperColor) {\n paletteOptions.background = {\n ...(backgroundColor && { default: asModeColor(backgroundColor) }),\n ...(paperColor && { paper: asModeColor(paperColor) }),\n } as PaletteOptions['background']\n }\n\n const fontFamily =\n styleConfig?.font_name || clientStyleProfile?.body_font_name || clientStyleProfile?.system_font\n const headerFontFamily = styleConfig?.header_font_name || clientStyleProfile?.header_font_name\n\n const useGlass = styleConfig?.use_glass ?? clientStyleProfile?.use_glass\n const borderRadius = styleConfig?.corner_radius ?? clientStyleProfile?.card_corner_radius\n\n return {\n ...(Object.keys(paletteOptions).length > 0 && { paletteOptions }),\n ...((fontFamily || headerFontFamily) && {\n typographyOptions: {\n ...(fontFamily && { fontFamily }),\n ...(headerFontFamily && { headerFontFamily }),\n },\n }),\n ...(useGlass !== undefined && { styleOptions: { useGlass } }),\n ...(borderRadius !== undefined && { shapeOptions: { borderRadius } }),\n }\n}\n\nexport const getClientComponentOverrides = (\n theme: Theme,\n clientStyleProfile: ClientStyleProfile,\n clientConfig?: ClientConfig,\n) => {\n const styleConfig = clientConfig?.master?.style\n\n const baseComponents = {\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: theme.palette.primary.light },\n },\n },\n MuiPickersCalendarHeader: {\n styleOverrides: {\n switchViewButton: {\n color: theme.palette.primary.lighter,\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n },\n }\n\n const buttonRadius = clientStyleProfile?.button_corner_radius\n const cardRadius = styleConfig?.corner_radius ?? clientStyleProfile?.card_corner_radius\n\n const components = {\n ...baseComponents,\n ...(buttonRadius !== undefined && {\n MuiButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: `${buttonRadius}px`,\n minWidth: buttonRadius,\n minHeight: buttonRadius,\n },\n },\n },\n MuiToggleButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n }),\n ...(cardRadius !== undefined && {\n MuiCard: {\n styleOverrides: { root: { borderRadius: `${cardRadius}px` } },\n },\n MuiPaper: {\n styleOverrides: {\n rounded: { borderRadius: `${cardRadius}px` },\n },\n },\n }),\n }\n\n return { components }\n}\n\n/** @deprecated Use `getClientCustomizations` and pass the result to `createMXTheme` */\nexport const getClientPaletteOptions = (\n clientStyleProfile: ClientStyleProfile,\n mode: PaletteMode,\n): Record<string, string> => {\n const isDark = mode === 'dark'\n const options: Record<string, string> = {}\n\n for (const { key, light, dark } of SEED_CONFIG) {\n const color = clientStyleProfile?.[isDark ? dark : light] as string | undefined\n if (color) options[key] = color\n }\n\n return options\n}\n\n/** @deprecated Build the theme with `getClientCustomizations` + `createMXTheme` and merge `getClientComponentOverrides` on top */\nexport const getClientTheme = (\n theme: Theme,\n clientStyleProfile: ClientStyleProfile,\n clientConfig?: ClientConfig,\n) => {\n const isDark = theme.palette.mode === 'dark'\n const font =\n (clientConfig?.master?.style?.font_name ||\n clientStyleProfile?.body_font_name ||\n clientStyleProfile?.system_font) ??\n theme.typography.fontFamily\n\n const generatePalette = (color: string | undefined, defaultColor: PaletteColor) =>\n color\n ? {\n lighter: lighten(color, 0.5),\n light: lighten(color, 0.25),\n main: color,\n dark: darken(color, 0.25),\n darker: darken(color, 0.5),\n }\n : defaultColor\n\n const palette = Object.fromEntries(\n PALETTE_CONFIG.map(({ key, light, dark }) => [\n key,\n generatePalette(\n clientStyleProfile?.[isDark ? dark : light] as string | undefined,\n theme.palette[key],\n ),\n ]),\n )\n\n const typography = Object.fromEntries(\n TYPOGRAPHY_VARIANTS.map((variant) => [\n variant,\n variant === 'fontFamily' ? font : { fontFamily: font },\n ]),\n )\n\n const baseComponents = {\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: palette.primary.light },\n },\n },\n MuiPickersCalendarHeader: {\n styleOverrides: {\n switchViewButton: {\n color: palette.primary.lighter,\n '&:hover': { backgroundColor: alpha(palette.primary.light, 0.1) },\n },\n },\n },\n }\n\n const buttonRadius = clientStyleProfile?.button_corner_radius\n const cardRadius = clientStyleProfile?.card_corner_radius\n\n const components = {\n ...baseComponents,\n ...(buttonRadius && {\n MuiButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: `${buttonRadius}px`,\n minWidth: buttonRadius,\n minHeight: buttonRadius,\n },\n },\n },\n MuiToggleButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n }),\n ...(cardRadius && {\n MuiCard: {\n styleOverrides: { root: { borderRadius: `${cardRadius}px` } },\n },\n }),\n ...(cardRadius && {\n MuiPaper: {\n styleOverrides: {\n rounded: { borderRadius: `${cardRadius}px` },\n },\n },\n }),\n }\n\n return { typography, palette, components }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Theme.es.js","names":[],"sources":["../../../src/common/utils/Theme.ts"],"sourcesContent":["import { alpha, darken, lighten, PaletteColor, PaletteMode, Theme } from '@mui/material'\nimport type { Customizations } from '@mxenabled/mxui'\n\nimport type { ClientStyleProfile } from '../../core'\nimport { ClientConfig, StyleConfig } from '../../core/types/AppData'\n\ntype PaletteOptions = NonNullable<Customizations['paletteOptions']>\ntype ModeColorOptions = Partial<NonNullable<NonNullable<PaletteOptions['background']>['default']>>\n\nconst TYPOGRAPHY_VARIANTS = [\n 'fontFamily',\n 'h1',\n 'h2',\n 'h3',\n 'body1',\n 'body2',\n 'button',\n 'caption',\n 'subtitle1',\n 'subtitle2',\n 'tiny',\n] as const\n\nconst PALETTE_CONFIG = [\n { key: 'primary', override: 'primary_color', light: 'primary_color', dark: 'primary_color_dark' },\n {\n key: 'secondary',\n override: 'secondary_color',\n light: 'secondary_color',\n dark: 'secondary_color_dark',\n },\n { key: 'error', override: 'error_color', light: 'error_color', dark: 'error_color_dark' },\n { key: 'warning', override: 'warning_color', light: 'warning_color', dark: 'warning_color_dark' },\n { key: 'info', override: 'info_color', light: 'info_color', dark: 'info_color_dark' },\n { key: 'success', override: 'success_color', light: 'success_color', dark: 'success_color_dark' },\n] as const\n\nconst SEED_CONFIG = [\n ...PALETTE_CONFIG,\n { key: 'grey', override: 'neutral_color', light: 'neutral_color', dark: 'neutral_color_dark' },\n] as const\n\nexport const getClientCustomizations = (\n clientStyleProfile: ClientStyleProfile,\n mode: PaletteMode,\n styleConfig?: StyleConfig,\n requestedMode?: ClientStyleProfile['mode'],\n): Customizations => {\n const isDark = mode === 'dark'\n const requested = requestedMode ?? clientStyleProfile?.mode ?? mode\n\n const paletteOptions: PaletteOptions = {}\n for (const { key, override, light, dark } of SEED_CONFIG) {\n const color = styleConfig?.[override] ?? clientStyleProfile?.[isDark ? dark : light]\n if (color) paletteOptions[key] = color\n }\n\n const useDarkSlot = isDark && requested !== 'browser'\n const asModeColor = (color: string): ModeColorOptions =>\n useDarkSlot ? { dark: color } : { light: color }\n const backgroundColor = styleConfig?.background_color ?? clientStyleProfile?.background_color\n const paperColor = styleConfig?.paper_color ?? clientStyleProfile?.paper_color\n if (backgroundColor || paperColor) {\n paletteOptions.background = {\n ...(backgroundColor && { default: asModeColor(backgroundColor) }),\n ...(paperColor && { paper: asModeColor(paperColor) }),\n } as PaletteOptions['background']\n }\n\n const fontFamily =\n styleConfig?.font_name || clientStyleProfile?.body_font_name || clientStyleProfile?.system_font\n const headerFontFamily = styleConfig?.header_font_name || clientStyleProfile?.header_font_name\n\n const useGlass = styleConfig?.use_glass ?? clientStyleProfile?.use_glass\n const cardRadius = styleConfig?.card_corner_radius ?? clientStyleProfile?.card_corner_radius\n // Cards render at 2x the shape token (MXUI's defaults: token 4, Paper 8), so the\n // client's card radius is halved here and applied at full value to MuiCard/MuiPaper\n // via getClientComponentOverrides\n const borderRadius = cardRadius !== undefined ? cardRadius / 2 : undefined\n\n return {\n ...(Object.keys(paletteOptions).length > 0 && { paletteOptions }),\n ...((fontFamily || headerFontFamily) && {\n typographyOptions: {\n ...(fontFamily && { fontFamily }),\n ...(headerFontFamily && { headerFontFamily }),\n },\n }),\n ...(useGlass !== undefined && { styleOptions: { useGlass } }),\n ...(borderRadius !== undefined && { shapeOptions: { borderRadius } }),\n }\n}\n\nexport const getClientComponentOverrides = (\n theme: Theme,\n clientStyleProfile: ClientStyleProfile,\n clientConfig?: ClientConfig,\n) => {\n const styleConfig = clientConfig?.master?.style\n\n const baseComponents = {\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: theme.palette.primary.light },\n },\n },\n MuiPickersCalendarHeader: {\n styleOverrides: {\n switchViewButton: {\n color: theme.palette.primary.lighter,\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n },\n }\n\n const buttonRadius = styleConfig?.button_corner_radius ?? clientStyleProfile?.button_corner_radius\n const cardRadius = styleConfig?.card_corner_radius ?? clientStyleProfile?.card_corner_radius\n\n const components = {\n ...baseComponents,\n ...(buttonRadius !== undefined && {\n MuiButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: `${buttonRadius}px`,\n minWidth: buttonRadius,\n minHeight: buttonRadius,\n },\n },\n },\n MuiToggleButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n }),\n ...(cardRadius !== undefined && {\n MuiCard: {\n styleOverrides: { root: { borderRadius: `${cardRadius}px` } },\n },\n MuiPaper: {\n styleOverrides: {\n rounded: { borderRadius: `${cardRadius}px` },\n },\n },\n }),\n }\n\n return { components }\n}\n\n/** @deprecated Use `getClientCustomizations` and pass the result to `createMXTheme` */\nexport const getClientPaletteOptions = (\n clientStyleProfile: ClientStyleProfile,\n mode: PaletteMode,\n): Record<string, string> => {\n const isDark = mode === 'dark'\n const options: Record<string, string> = {}\n\n for (const { key, light, dark } of SEED_CONFIG) {\n const color = clientStyleProfile?.[isDark ? dark : light] as string | undefined\n if (color) options[key] = color\n }\n\n return options\n}\n\n/** @deprecated Build the theme with `getClientCustomizations` + `createMXTheme` and merge `getClientComponentOverrides` on top */\nexport const getClientTheme = (\n theme: Theme,\n clientStyleProfile: ClientStyleProfile,\n clientConfig?: ClientConfig,\n) => {\n const isDark = theme.palette.mode === 'dark'\n const font =\n (clientConfig?.master?.style?.font_name ||\n clientStyleProfile?.body_font_name ||\n clientStyleProfile?.system_font) ??\n theme.typography.fontFamily\n\n const generatePalette = (color: string | undefined, defaultColor: PaletteColor) =>\n color\n ? {\n lighter: lighten(color, 0.5),\n light: lighten(color, 0.25),\n main: color,\n dark: darken(color, 0.25),\n darker: darken(color, 0.5),\n }\n : defaultColor\n\n const palette = Object.fromEntries(\n PALETTE_CONFIG.map(({ key, light, dark }) => [\n key,\n generatePalette(\n clientStyleProfile?.[isDark ? dark : light] as string | undefined,\n theme.palette[key],\n ),\n ]),\n )\n\n const typography = Object.fromEntries(\n TYPOGRAPHY_VARIANTS.map((variant) => [\n variant,\n variant === 'fontFamily' ? font : { fontFamily: font },\n ]),\n )\n\n const baseComponents = {\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: palette.primary.light },\n },\n },\n MuiPickersCalendarHeader: {\n styleOverrides: {\n switchViewButton: {\n color: palette.primary.lighter,\n '&:hover': { backgroundColor: alpha(palette.primary.light, 0.1) },\n },\n },\n },\n }\n\n const buttonRadius = clientStyleProfile?.button_corner_radius\n const cardRadius = clientStyleProfile?.card_corner_radius\n\n const components = {\n ...baseComponents,\n ...(buttonRadius && {\n MuiButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: `${buttonRadius}px`,\n minWidth: buttonRadius,\n minHeight: buttonRadius,\n },\n },\n },\n MuiToggleButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n }),\n ...(cardRadius && {\n MuiCard: {\n styleOverrides: { root: { borderRadius: `${cardRadius}px` } },\n },\n }),\n ...(cardRadius && {\n MuiPaper: {\n styleOverrides: {\n rounded: { borderRadius: `${cardRadius}px` },\n },\n },\n }),\n }\n\n return { typography, palette, components }\n}\n"],"mappings":"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"}
@@ -49,20 +49,21 @@ export interface MasterConfig {
49
49
  }
50
50
  export interface StyleConfig {
51
51
  background_color?: string;
52
+ button_corner_radius?: number;
53
+ card_corner_radius?: number;
54
+ error_color?: string;
55
+ font_name?: string;
56
+ header_font_name?: string;
57
+ info_color?: string;
58
+ neutral_color?: string;
52
59
  paper_color?: string;
53
60
  primary_color?: string;
54
61
  secondary_color?: string;
55
62
  success_color?: string;
56
- error_color?: string;
57
- warning_color?: string;
58
- info_color?: string;
59
- neutral_color?: string;
60
- corner_radius?: number;
61
- font_name?: string;
62
- header_font_name?: string;
63
63
  use_body_font_url?: boolean;
64
- use_header_font_url?: boolean;
65
64
  use_glass?: boolean;
65
+ use_header_font_url?: boolean;
66
+ warning_color?: string;
66
67
  }
67
68
  export interface DeepLinkParams {
68
69
  account_guids?: string[];
@@ -96,30 +96,30 @@ export interface ClientInsightProfile {
96
96
  is_recurring_transactions_manager_enabled: boolean;
97
97
  }
98
98
  export interface ClientStyleProfile {
99
- primary_color?: string;
100
- primary_font_regular?: string;
101
- secondary_color?: string;
102
- neutral_color?: string;
103
- success_color?: string;
99
+ background_color?: string;
100
+ body_font_name?: string;
101
+ body_font_url?: string;
102
+ button_corner_radius?: number;
103
+ card_corner_radius?: number;
104
104
  error_color?: string;
105
- warning_color?: string;
105
+ error_color_dark?: string;
106
+ header_font_name?: string;
107
+ header_font_url?: string;
106
108
  info_color?: string;
109
+ info_color_dark?: string;
110
+ mode?: 'dark' | 'light' | 'browser';
111
+ neutral_color?: string;
112
+ neutral_color_dark?: string;
113
+ paper_color?: string;
114
+ primary_color?: string;
107
115
  primary_color_dark?: string;
116
+ primary_font_regular?: string;
117
+ secondary_color?: string;
108
118
  secondary_color_dark?: string;
109
- neutral_color_dark?: string;
119
+ success_color?: string;
110
120
  success_color_dark?: string;
111
- error_color_dark?: string;
112
- warning_color_dark?: string;
113
- info_color_dark?: string;
114
- mode?: 'dark' | 'light' | 'browser';
115
121
  system_font?: string;
116
- card_corner_radius?: number;
117
- button_corner_radius?: number;
118
- background_color?: string;
119
- paper_color?: string;
120
- body_font_name?: string;
121
- body_font_url?: string;
122
- header_font_name?: string;
123
- header_font_url?: string;
124
122
  use_glass?: boolean;
123
+ warning_color?: string;
124
+ warning_color_dark?: string;
125
125
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/experiences",
3
- "version": "9.4.11",
3
+ "version": "9.4.12-alpha.al1",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",