@mxenabled/mxui 2.14.0 → 2.15.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.
package/dist/index.es.js CHANGED
@@ -11,8 +11,8 @@ import { startOfYear as K } from "date-fns/startOfYear";
11
11
  import { subDays as Y } from "date-fns/subDays";
12
12
  import { subMonths as ge } from "date-fns/subMonths";
13
13
  import { subYears as he } from "date-fns/subYears";
14
- import me from "@mui/material/useMediaQuery";
15
- import { usePickerContext as Z, useIsValidValue as Q, LocalizationProvider as fe, StaticDateRangePicker as be } from "@mui/x-date-pickers-pro";
14
+ import fe from "@mui/material/useMediaQuery";
15
+ import { usePickerContext as Z, useIsValidValue as Q, LocalizationProvider as me, StaticDateRangePicker as be } from "@mui/x-date-pickers-pro";
16
16
  import { AdapterDateFns as xe } from "@mui/x-date-pickers-pro/AdapterDateFns";
17
17
  import N from "@mui/material/Box";
18
18
  import Te from "@mui/material/ToggleButton";
@@ -27,7 +27,7 @@ import re from "@mui/material/Typography";
27
27
  import Ae from "@mui/material/Drawer";
28
28
  import Ie from "@mui/material/Snackbar";
29
29
  import Oe from "@mui/material/Alert";
30
- import { FormControlLabel as ve, Box as B, Typography as X, Radio as _, Checkbox as Ee, alpha as m, darken as L, lighten as E, getContrastRatio as ke } from "@mui/material";
30
+ import { FormControlLabel as ve, Box as B, Typography as X, Radio as _, Checkbox as Ee, alpha as f, darken as L, lighten as E, getContrastRatio as ke } from "@mui/material";
31
31
  import { circularProgressClasses as Fe } from "@mui/material/CircularProgress";
32
32
  import { LicenseInfo as Le } from "@mui/x-license";
33
33
  const D = ({
@@ -256,7 +256,7 @@ const te = {
256
256
  variant: l = "filled"
257
257
  }) => {
258
258
  const e = v(), a = H.useMemo(
259
- () => He.find((f) => f.guid === r) ?? te,
259
+ () => He.find((m) => m.guid === r) ?? te,
260
260
  [r]
261
261
  ), c = e.palette.categories[a.colorName];
262
262
  return /* @__PURE__ */ n(
@@ -264,13 +264,13 @@ const te = {
264
264
  {
265
265
  alignItems: "center",
266
266
  bgcolor: () => {
267
- let f = c;
268
- return l === "twotone" && (f = `${f}20`), l === "transparent" || l === "basic" ? "transparent" : f;
267
+ let m = c;
268
+ return l === "twotone" && (m = `${m}20`), l === "transparent" || l === "basic" ? "transparent" : m;
269
269
  },
270
270
  borderRadius: 1,
271
271
  color: () => {
272
- const f = l === "filled" ? e.palette.common.white : c;
273
- return l === "basic" ? e.palette.text.primary : f;
272
+ const m = l === "filled" ? e.palette.common.white : c;
273
+ return l === "basic" ? e.palette.text.primary : m;
274
274
  },
275
275
  height: o,
276
276
  justifyContent: "center",
@@ -390,8 +390,8 @@ const te = {
390
390
  selectedShortcut: s = r.dateRangeThisMonth,
391
391
  sx: l = {}
392
392
  }) => {
393
- const e = v(), a = me(e.breakpoints.down("sm")), c = H.useMemo(() => {
394
- const t = ue(), f = ge(t, 1), x = he(t, 1);
393
+ const e = v(), a = fe(e.breakpoints.down("sm")), c = H.useMemo(() => {
394
+ const t = ue(), m = ge(t, 1), x = he(t, 1);
395
395
  return [
396
396
  {
397
397
  label: r.dateRangeThisMonth,
@@ -399,7 +399,7 @@ const te = {
399
399
  },
400
400
  {
401
401
  label: r.dateRangeLastMonth,
402
- getValue: () => [V(f), G(f)]
402
+ getValue: () => [V(m), G(m)]
403
403
  },
404
404
  {
405
405
  label: r.dateRangeLast30Days,
@@ -422,11 +422,11 @@ const te = {
422
422
  getValue: () => [t, t]
423
423
  }
424
424
  ];
425
- }, [r]), d = (t, f) => {
426
- const x = f.shortcut;
425
+ }, [r]), d = (t, m) => {
426
+ const x = m.shortcut;
427
427
  o?.(t, x ? x.label : r.dateRangeCustom);
428
428
  };
429
- return /* @__PURE__ */ n(A, { gap: a ? 0 : "16px", m: a ? 0 : "8px", children: /* @__PURE__ */ n(fe, { dateAdapter: xe, children: /* @__PURE__ */ n(
429
+ return /* @__PURE__ */ n(A, { gap: a ? 0 : "16px", m: a ? 0 : "8px", children: /* @__PURE__ */ n(me, { dateAdapter: xe, children: /* @__PURE__ */ n(
430
430
  be,
431
431
  {
432
432
  calendars: 1,
@@ -700,7 +700,7 @@ const $r = ({
700
700
  showAction: c = !1,
701
701
  showClose: d = !1,
702
702
  actionText: t = "Undo",
703
- onActionClick: f
703
+ onActionClick: m
704
704
  }) => {
705
705
  const x = v(), F = d && /* @__PURE__ */ n(ee, { "aria-label": o, color: "inherit", onClick: i, size: "small", children: /* @__PURE__ */ n(T, { fill: !0, name: "close" }) }), h = `${e}.main`;
706
706
  return /* @__PURE__ */ n(
@@ -766,7 +766,7 @@ const $r = ({
766
766
  $,
767
767
  {
768
768
  color: "inherit",
769
- onClick: f || i,
769
+ onClick: m || i,
770
770
  size: "small",
771
771
  sx: {
772
772
  color: x.palette.success.contrastText,
@@ -796,11 +796,11 @@ const $r = ({
796
796
  value: c,
797
797
  disabled: d = !1,
798
798
  error: t = !1,
799
- icon: f = !1,
799
+ icon: m = !1,
800
800
  sx: x = {},
801
801
  ...F
802
802
  }) => {
803
- const h = v(), ie = () => h.palette.background.paper, w = () => t ? `inset 0px 0px 0px 2px ${h.palette.error.main}` : d ? o ? `inset 0px 0px 0px 2px ${h.palette.action.disabled}` : i === "outlined" ? `inset 0px 0px 0px 1px ${h.palette.action.disabledBackground}` : `inset 0px 0px 0px 1px ${h.palette.action.disabled}` : i === "outlined" ? o ? `inset 0px 0px 0px 2px ${m(h.palette.primary.main, 0.5)}` : `inset 0px 0px 0px 1px ${m(h.palette.common.black, 0.23)}` : o ? `inset 0px 0px 0px 2px ${m(h.palette.primary.main, 0.5)}` : h.shadows[1], ae = () => d || t ? h.palette.background.paper : m(h.palette.primary.main, 0.1), ne = () => d || t ? w() : i === "outlined" ? o ? `inset 0px 0px 0px 2px ${m(h.palette.primary.main, 0.5)}` : `inset 0px 0px 0px 1px ${m(h.palette.primary.main, 0.5)}` : w(), le = () => d || t ? h.palette.background.paper : m(h.palette.primary.main, 0.3);
803
+ const h = v(), ie = () => h.palette.background.paper, w = () => t ? `inset 0px 0px 0px 2px ${h.palette.error.main}` : d ? o ? `inset 0px 0px 0px 2px ${h.palette.action.disabled}` : i === "outlined" ? `inset 0px 0px 0px 1px ${h.palette.action.disabledBackground}` : `inset 0px 0px 0px 1px ${h.palette.action.disabled}` : i === "outlined" ? o ? `inset 0px 0px 0px 2px ${f(h.palette.primary.main, 0.5)}` : `inset 0px 0px 0px 1px ${f(h.palette.common.black, 0.23)}` : o ? `inset 0px 0px 0px 2px ${f(h.palette.primary.main, 0.5)}` : h.shadows[1], ae = () => d || t ? h.palette.background.paper : f(h.palette.primary.main, 0.1), ne = () => d || t ? w() : i === "outlined" ? o ? `inset 0px 0px 0px 2px ${f(h.palette.primary.main, 0.5)}` : `inset 0px 0px 0px 1px ${f(h.palette.primary.main, 0.5)}` : w(), le = () => d || t ? h.palette.background.paper : f(h.palette.primary.main, 0.3);
804
804
  return /* @__PURE__ */ n(
805
805
  ve,
806
806
  {
@@ -838,7 +838,7 @@ const $r = ({
838
838
  ),
839
839
  disabled: d,
840
840
  label: /* @__PURE__ */ b(B, { sx: { display: "flex", alignItems: "flex-start", width: "100%" }, children: [
841
- f && /* @__PURE__ */ n(B, { sx: { mr: "12px", mt: "8px", flexShrink: 0 }, children: f }),
841
+ m && /* @__PURE__ */ n(B, { sx: { mr: "12px", mt: "8px", flexShrink: 0 }, children: m }),
842
842
  /* @__PURE__ */ b(B, { sx: { flex: 1, minWidth: 0, py: "8px" }, children: [
843
843
  l && /* @__PURE__ */ n(X, { fontWeight: 600, sx: { lineHeight: "24px", pb: "4px" }, variant: "body1", children: l }),
844
844
  /* @__PURE__ */ n(X, { sx: { lineHeight: "20px" }, variant: "subtitle2", children: e })
@@ -1041,9 +1041,9 @@ const $r = ({
1041
1041
  contrastText: ke(t ? d[700] : d[400], "#fff") > 4.5 ? R : d[900]
1042
1042
  },
1043
1043
  text: {
1044
- primary: t ? m(I, 0.87) : R,
1045
- secondary: t ? m(I, 0.6) : m(R, 0.7),
1046
- disabled: t ? m(I, 0.38) : m(R, 0.38)
1044
+ primary: t ? f(I, 0.87) : R,
1045
+ secondary: t ? f(I, 0.6) : f(R, 0.7),
1046
+ disabled: t ? f(I, 0.38) : f(R, 0.38)
1047
1047
  },
1048
1048
  error: {
1049
1049
  ...l,
@@ -1079,7 +1079,7 @@ const $r = ({
1079
1079
  },
1080
1080
  grey: d,
1081
1081
  action: {
1082
- active: t ? m(I, 0.56) : m(R, 0.56),
1082
+ active: t ? f(I, 0.56) : f(R, 0.56),
1083
1083
  hoverOpacity: t ? 0.1 : 0.2,
1084
1084
  selectedOpacity: t ? 0.16 : 0.25,
1085
1085
  focusOpacity: 0.3
@@ -1090,7 +1090,7 @@ const $r = ({
1090
1090
  highlight: t ? d[200] : d[600],
1091
1091
  highlightPrimary: t ? o[100] : o[500]
1092
1092
  },
1093
- divider: t ? m(I, 0.12) : m(R, 0.24),
1093
+ divider: t ? f(I, 0.12) : f(R, 0.24),
1094
1094
  categories: {
1095
1095
  autoTransport: t ? p.AUTO_TRANSPORTT : u.AUTO_TRANSPORTT,
1096
1096
  billsUtilities: t ? p.BILLS_UTILITIES : u.BILLS_UTILITIES,
@@ -1213,7 +1213,8 @@ const Gr = (r, i) => {
1213
1213
  },
1214
1214
  palette: o,
1215
1215
  shape: {
1216
- borderRadius: i?.shapeOptions?.borderRadius || 4
1216
+ // Always a number, because Card and ListItemButton multiply it
1217
+ borderRadius: Number(i?.shapeOptions?.borderRadius) || 4
1217
1218
  },
1218
1219
  shadows: l,
1219
1220
  ...i?.useMUIStandardSpacing ? {} : { spacing: 1 },
@@ -1309,9 +1310,9 @@ const Gr = (r, i) => {
1309
1310
  },
1310
1311
  MuiCard: {
1311
1312
  styleOverrides: {
1312
- root: {
1313
- borderRadius: 8
1314
- }
1313
+ root: ({ theme: e }) => ({
1314
+ borderRadius: e.shape.borderRadius * 2
1315
+ })
1315
1316
  }
1316
1317
  },
1317
1318
  MuiCheckbox: {
@@ -1321,7 +1322,8 @@ const Gr = (r, i) => {
1321
1322
  styleOverrides: {
1322
1323
  root: {
1323
1324
  "&.Mui-focusVisible": {
1324
- boxShadow: `inset 0 0 0 2px ${o.info.main}`
1325
+ outline: `2px solid ${o.info.main}`,
1326
+ outlineOffset: "-2px"
1325
1327
  }
1326
1328
  }
1327
1329
  }
@@ -1360,13 +1362,13 @@ const Gr = (r, i) => {
1360
1362
  }
1361
1363
  },
1362
1364
  "&.MuiChip-clickable:hover, &.Mui-focusVisible": {
1363
- backgroundColor: m(
1365
+ backgroundColor: f(
1364
1366
  e.palette[c].main,
1365
1367
  e.palette.action.hoverOpacity
1366
1368
  )
1367
1369
  },
1368
1370
  "&.MuiChip-clickable:active": {
1369
- backgroundColor: m(
1371
+ backgroundColor: f(
1370
1372
  e.palette[c].main,
1371
1373
  e.palette.action.focusOpacity
1372
1374
  )
@@ -1710,9 +1712,9 @@ const Gr = (r, i) => {
1710
1712
  paddingBottom: 12,
1711
1713
  "&.Mui-focusVisible": {
1712
1714
  backgroundColor: "transparent",
1713
- borderRadius: 8,
1715
+ borderRadius: e.shape.borderRadius * 2,
1714
1716
  outline: `2px solid ${e.palette.info.main}`,
1715
- outlineOffset: -2
1717
+ outlineOffset: "-2px"
1716
1718
  }
1717
1719
  })
1718
1720
  }
@@ -1976,17 +1978,20 @@ const Gr = (r, i) => {
1976
1978
  disableFocusRipple: !0
1977
1979
  },
1978
1980
  styleOverrides: {
1979
- root: {
1981
+ root: ({ theme: e }) => ({
1980
1982
  minHeight: "44px",
1981
1983
  gap: "4px",
1982
1984
  textTransform: "none",
1983
1985
  fontWeight: 600,
1984
1986
  "&.Mui-focusVisible": {
1985
- outline: "none",
1986
- boxShadow: `inset 0 0 0 2px ${o.info.main}`,
1987
- borderRadius: 4
1987
+ borderRadius: e.shape.borderRadius,
1988
+ outline: `2px solid ${e.palette.info.main}`,
1989
+ outlineOffset: "-2px",
1990
+ // The selected-tab underline sits in the same 2px as the bottom of the ring
1991
+ // and paints over it; in forced-colors mode it is the page color and erases it
1992
+ zIndex: 1
1988
1993
  }
1989
- },
1994
+ }),
1990
1995
  iconWrapper: {
1991
1996
  margin: "0px"
1992
1997
  }
@@ -2033,7 +2038,7 @@ const Gr = (r, i) => {
2033
2038
  outlineOffset: "2px"
2034
2039
  },
2035
2040
  "&:hover": {
2036
- backgroundColor: m(
2041
+ backgroundColor: f(
2037
2042
  e.palette.primary.main,
2038
2043
  o.mode === S.LIGHT ? 0.1 : 0.2
2039
2044
  ),
@@ -2067,7 +2072,7 @@ const Gr = (r, i) => {
2067
2072
  props: { color: "error" },
2068
2073
  style: {
2069
2074
  "&:hover": {
2070
- backgroundColor: m(o.error.main, o.mode === S.LIGHT ? 0.1 : 0.2),
2075
+ backgroundColor: f(o.error.main, o.mode === S.LIGHT ? 0.1 : 0.2),
2071
2076
  borderColor: o.error.main
2072
2077
  },
2073
2078
  "&.Mui-selected": {
@@ -2089,7 +2094,7 @@ const Gr = (r, i) => {
2089
2094
  props: { color: "standard" },
2090
2095
  style: {
2091
2096
  "&:hover": {
2092
- backgroundColor: m(
2097
+ backgroundColor: f(
2093
2098
  o.secondary.main,
2094
2099
  o.mode === S.LIGHT ? 0.1 : 0.2
2095
2100
  ),
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/icon/BaseIcon.tsx","../src/components/icon/Icon.tsx","../src/components/icon/icons/MXLogoIcon.tsx","../src/components/icon/icons/MXLogoCopyrightIcon.tsx","../src/components/icon/icons/MXLogoFilledIcon.tsx","../src/components/icon/icons/MXLogoOutlineIcon.tsx","../src/components/categoryicon/Constants.ts","../src/components/categoryicon/CategoryIconList.tsx","../src/components/categoryicon/CategoryIcon.tsx","../src/components/daterangepicker/DatePickerShortcuts.tsx","../src/components/daterangepicker/small/DatePickerShortcutsSmall.tsx","../src/components/daterangepicker/small/DateRangePickerSmall.tsx","../src/components/daterangepicker/DateRangePicker.tsx","../src/components/dialog/BottomSheetTransition.tsx","../src/components/drawer/Footer.tsx","../src/components/text/Text.tsx","../src/components/dialog/Header.tsx","../src/components/drawer/Drawer.tsx","../src/constants/Logo.ts","../src/components/institutionlogo/InstitutionLogo.tsx","../src/components/merchantlogo/MerchantLogo.tsx","../src/components/textfield/TextField.tsx","../src/components/toast/Toast.tsx","../src/components/selectionbox/SelectionBox.tsx","../src/constants/Theme.ts","../src/components/tag/Tag.tsx","../src/utils/generatePalette.ts","../src/themes/Colors.ts","../src/themes/Palette.ts","../src/themes/Typography.ts","../src/themes/MXTheme.tsx"],"sourcesContent":["import React from 'react'\nexport interface BaseIconProps {\n height?: number\n size?: number\n viewBox?: string\n width?: number\n}\n\nexport interface IconProps extends BaseIconProps {\n color?: string\n}\n\nexport const BaseIcon: React.FC<React.PropsWithChildren<BaseIconProps>> = ({\n children,\n height,\n size = 16,\n viewBox = '0 0 16 16',\n width,\n}) => {\n return (\n <svg\n aria-hidden={true}\n className=\"mx-kmui-icon\"\n focusable={false}\n height={height || size}\n viewBox={viewBox}\n width={width || size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {children}\n </svg>\n )\n}\n","import { SvgIconProps } from '@mui/material/SvgIcon'\n\nimport { Icon as MxIcon } from '@mxenabled/mx-icons'\n\nexport interface IconProps extends Omit<SvgIconProps, 'fill'> {\n fill?: boolean\n name: string\n size?: number\n}\n\nexport const Icon = ({ color, fill = false, name, size = 20, sx, ...rest }: IconProps) => {\n return <MxIcon color={color} fill={fill} name={name} size={size} sx={sx} {...rest} />\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\n\nexport const MXLogoIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n d=\"M14.368 4.5h1.604c.024 0 .037.028.021.044L13.28 7.992c-.008.008-.008.025 0 .032l2.714 3.448c.016.02 0 .045-.021.045h-1.604a.023.023 0 01-.02-.013l-1.895-2.46c-.009-.01-.029-.01-.041 0l-1.895 2.46a.022.022 0 01-.02.013H8.892c-.02 0-.031-.03-.02-.045l2.713-3.448c.008-.007.008-.024 0-.032L8.871 4.544a.027.027 0 01.021-.044h1.605c.008 0 .015.004.02.013l1.895 2.458c.008.013.028.013.04 0l1.896-2.458a.023.023 0 01.02-.013z\"\n fill={color}\n />\n <path\n d=\"M8.242 11.363l1.056-1.293a.047.047 0 00.012-.029l-.81-5.5c-.004-.02-.02-.036-.04-.036H7.39c-.016 0-.032.008-.036.024L4.816 9.668c-.015.032-.06.032-.073 0l-2.562-5.14c-.009-.015-.02-.023-.036-.023h-1.08c-.021 0-.038.016-.043.036L.001 11.472a.042.042 0 00.04.049H1.29c.02 0 .042-.016.042-.036l.616-4.505c.004-.04.063-.048.08-.011L4.287 11.5c.008.017.021.024.037.024h.884c.016 0 .033-.008.037-.024l2.235-4.508c.015-.037.074-.029.078.011l.608 4.338c.005.037.054.048.075.021z\"\n fill={color}\n />\n </BaseIcon>\n )\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\nexport const MXLogoCopyrightIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n d=\"M7.93 11l.871-1.124c.01-.01.01-.02.01-.03l-.77-5.305c0-.02-.02-.041-.04-.041H7a.059.059 0 00-.024.008.077.077 0 00-.017.012l-2.4 4.89c-.005.019-.026.026-.043.023a.034.034 0 01-.027-.022l-2.42-4.89a.139.139 0 00-.01-.01.046.046 0 00-.031-.011H1.016c-.02 0-.04.01-.04.04l-.972 6.673c-.01.02.01.04.04.04h1.175c.02 0 .04-.01.04-.04l.587-4.273c.01-.04.061-.05.081-.01l2.137 4.303a.17.17 0 00.01.009.045.045 0 00.03.011h.83c.01 0 .03-.01.041-.02L7.08 6.981c.02-.04.07-.03.08.01l.578 4.14c.01.041.05.051.07.021L7.93 11z\"\n fill={color}\n />\n <path\n d=\"M15.079 4.5H13.6c-.004 0-.008.002-.013.004h-.002a.1.1 0 01-.009.004.057.057 0 01-.016.002L11.788 6.83c-.01.02-.05.02-.07 0L9.944 4.51a.03.03 0 00-.01-.007c-.008-.003-.017-.003-.03-.003H8.427c-.04 0-.051.04-.04.07l2.54 3.291c.01.01.01.041 0 .051l-2.52 3.28c-.02.031 0 .071.04.071h1.478a.031.031 0 00.011-.002c.008-.003.016-.008.03-.008l1.771-2.318c.01-.02.051-.02.071 0l1.772 2.318c.01.01.02.01.04.01h1.469c.04 0 .05-.04.04-.07l-2.541-3.291a.023.023 0 01-.005-.01.047.047 0 01-.002-.008c-.002-.012 0-.026.007-.033l2.541-3.29c0-.02-.01-.061-.05-.061z\"\n fill={color}\n />\n <path\n clipRule=\"evenodd\"\n d=\"M15.666 10.97l.101.142h.06l-.1-.152a.11.11 0 00.09-.112c0-.07-.06-.111-.12-.111h-.153v.375h.061v-.142h.06zm-.05-.182h.09c.03 0 .061.03.071.07 0 .041-.04.061-.07.061h-.092v-.131z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M15.352 10.93a.32.32 0 00.324.323.32.32 0 00.324-.324.32.32 0 00-.324-.324.32.32 0 00-.324.324zm.05 0c0-.152.122-.274.274-.274.152 0 .273.121.273.273a.272.272 0 01-.273.274.272.272 0 01-.273-.274z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </BaseIcon>\n )\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\n\nexport const MXLogoFilledIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n clipRule=\"evenodd\"\n d=\"M16 0H0V16H16V0ZM13.979 5.5H12.7758C12.7703 5.5 12.7639 5.50299 12.7607 5.50897L11.3396 7.25908C11.3301 7.26805 11.3151 7.26805 11.3087 7.25908L9.8876 5.50897C9.88443 5.50299 9.87888 5.5 9.87254 5.5H8.66938C8.65353 5.5 8.64244 5.51719 8.65353 5.53139L10.6889 7.98543C10.6945 7.99141 10.6945 8.00336 10.6889 8.00859L8.65353 10.4626C8.64561 10.4738 8.65353 10.4948 8.66938 10.4948H9.87254C9.87888 10.4948 9.88443 10.4918 9.8876 10.4858L11.3087 8.73494C11.3182 8.72672 11.3333 8.72672 11.3396 8.73494L12.7607 10.4858C12.7639 10.4918 12.7703 10.4948 12.7758 10.4948H13.979C13.9948 10.4948 14.0067 10.4768 13.9948 10.4626L11.9594 8.00859C11.9531 8.00336 11.9531 7.99141 11.9594 7.98543L13.9948 5.53139C14.0067 5.52018 13.9972 5.5 13.979 5.5ZM8.97366 9.46462L8.18186 10.3853C8.166 10.4047 8.12875 10.3965 8.12558 10.3703L7.66905 7.28258C7.66588 7.25419 7.62229 7.24821 7.6104 7.27436L5.93486 10.4831C5.93168 10.4951 5.919 10.5003 5.90711 10.5003H5.24371C5.23183 10.5003 5.22231 10.4951 5.21597 10.4831L3.51982 7.25717C3.50714 7.23102 3.46355 7.23625 3.46038 7.26539L2.9983 10.4719C2.9983 10.4861 2.98245 10.4973 2.96659 10.4973H2.03133C2.01231 10.4973 1.99725 10.4802 2.00042 10.463L2.76686 5.52948C2.77003 5.51528 2.78271 5.50333 2.79856 5.50333H3.60859C3.62048 5.50333 3.6292 5.5093 3.63554 5.52051L5.55758 9.17841C5.5663 9.20158 5.60038 9.20158 5.61227 9.17841L7.51529 5.52051C7.51846 5.5093 7.53034 5.50333 7.54303 5.50333H8.34434C8.3594 5.50333 8.37208 5.51528 8.37525 5.52948L8.98238 9.44444C8.98238 9.45042 8.9792 9.45864 8.97366 9.46462Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </BaseIcon>\n )\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\nexport const MXLogoOutlineIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n d=\"M12.662 5.973h-.94a.013.013 0 00-.012.007L10.6 7.42c-.007.008-.019.008-.024 0l-1.11-1.44a.013.013 0 00-.011-.007h-.94c-.012 0-.02.014-.012.026l1.59 2.02c.004.004.004.014 0 .018l-1.59 2.02c-.006.009 0 .026.012.026h.94c.005 0 .009-.002.012-.008l1.11-1.44c.007-.007.018-.007.024 0l1.11 1.44a.013.013 0 00.011.008h.94a.016.016 0 00.012-.027l-1.59-2.019c-.004-.004-.004-.014 0-.019l1.59-2.02c.01-.008.002-.025-.012-.025z\"\n fill={color}\n />\n <path\n d=\"M8.753 9.235l-.619.758c-.012.015-.041.009-.044-.013l-.356-2.54c-.003-.024-.037-.029-.046-.007l-1.308 2.64c-.003.01-.013.014-.022.014H5.84c-.01 0-.017-.004-.022-.014L4.494 7.42c-.01-.022-.044-.018-.047.006l-.36 2.639c0 .011-.013.02-.026.02h-.73a.025.025 0 01-.024-.027l.599-4.06c.002-.012.012-.022.024-.022h.633c.01 0 .016.005.02.015L6.086 9c.007.019.033.019.043 0l1.486-3.01c.002-.01.012-.015.021-.015h.626c.012 0 .022.01.024.022l.475 3.221a.027.027 0 01-.007.017z\"\n fill={color}\n />\n <path\n clipRule=\"evenodd\"\n d=\"M0 16V0h16v16H0zM1 1h14v14H1V1z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </BaseIcon>\n )\n}\n","export enum CategoryGuids {\n AutoTransport = 'CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874',\n BillsUtilities = 'CAT-79b02f2f-2adc-88f0-ac2b-4e71ead9cfc8',\n BusinessServices = 'CAT-94b11142-e97b-941a-f67f-6e18d246a23f',\n Education = 'CAT-bf5c9cca-c96b-b50d-440d-38d9adfda5b0',\n Entertainment = 'CAT-e04e9d1e-e041-c315-2e50-094143ab3f73',\n FeesCharges = 'CAT-d73ee74b-13a4-ac3e-4015-fc4ba9a62b2a',\n Financial = 'CAT-6c7de3f8-de6c-7061-1dd2-b093044014bf',\n FoodDining = 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a',\n GiftsDonations = 'CAT-8edf9663-623e-4735-490e-31288f0a70b0',\n HealthFitness = 'CAT-52fa4693-c088-afb2-2a99-7bc39bb23a0f',\n Home = 'CAT-b709172b-4eb7-318e-3b5d-e0f0500b32ac',\n Income = 'CAT-bf9f3294-4c40-1677-d269-54fbc189faf3',\n Investments = 'CAT-ccd42390-9e8c-3fb6-a5d9-6c31182d9c5c',\n Kids = 'CAT-0cb1d99d-f558-99e3-2282-b31f359b411a',\n PersonalCare = 'CAT-e5154228-fe45-790d-a280-f6bf5ae5ac9f',\n Pets = 'CAT-7cccbafa-87d7-c9a6-661b-8b3402fe9e78',\n Shopping = 'CAT-aad51b46-d6f7-3da5-fd6e-492328b3023f',\n Taxes = 'CAT-d00fc539-aa14-009b-4ffb-7e8c7b839954',\n Transfer = 'CAT-bce48142-fea4-ff45-20d9-0a642d44de83',\n Travel = 'CAT-ea23d844-cbd1-eb10-f6ac-0df9610e59ae',\n Uncategorized = 'CAT-d7851c65-3353-e490-1953-fb9235e681e4',\n}\n\nexport enum CategoryIconVariants {\n Basic = 'basic',\n Filled = 'filled',\n Transparent = 'transparent',\n TwoTone = 'two-tone',\n}\n","import { CategoryGuids } from './Constants'\n\ntype CategoryIconType = {\n guid: string\n colorName: string\n icon: string\n}\n\nexport const UncategorizedCategoryIcon: CategoryIconType = {\n guid: CategoryGuids.Uncategorized,\n colorName: 'uncategorized',\n icon: 'category',\n}\n\nexport const CategoryIconList: CategoryIconType[] = [\n {\n guid: CategoryGuids.AutoTransport,\n colorName: 'autoTransport',\n icon: 'directions_car',\n },\n {\n guid: CategoryGuids.BillsUtilities,\n colorName: 'billsUtilities',\n icon: 'electrical_services',\n },\n {\n guid: CategoryGuids.BusinessServices,\n colorName: 'businessServices',\n icon: 'business_center',\n },\n {\n guid: CategoryGuids.Education,\n colorName: 'education',\n icon: 'school',\n },\n {\n guid: CategoryGuids.Entertainment,\n colorName: 'entertainment',\n icon: 'stadium',\n },\n {\n guid: CategoryGuids.FeesCharges,\n colorName: 'feesCharges',\n icon: 'problem',\n },\n {\n guid: CategoryGuids.Financial,\n colorName: 'financial',\n icon: 'price_check',\n },\n {\n guid: CategoryGuids.FoodDining,\n colorName: 'foodDining',\n icon: 'grocery',\n },\n {\n guid: CategoryGuids.GiftsDonations,\n colorName: 'giftsDonations',\n icon: 'featured_seasonal_and_gifts',\n },\n {\n guid: CategoryGuids.HealthFitness,\n colorName: 'healthFitness',\n icon: 'ecg_heart',\n },\n {\n guid: CategoryGuids.Home,\n colorName: 'home',\n icon: 'cottage',\n },\n {\n guid: CategoryGuids.Income,\n colorName: 'income',\n icon: 'monetization_on',\n },\n {\n guid: CategoryGuids.Investments,\n colorName: 'investments',\n icon: 'bid_landscape',\n },\n {\n guid: CategoryGuids.Kids,\n colorName: 'kids',\n icon: 'face',\n },\n {\n guid: CategoryGuids.PersonalCare,\n colorName: 'personalCare',\n icon: 'volunteer_activism',\n },\n {\n guid: CategoryGuids.Pets,\n colorName: 'pets',\n icon: 'pet_supplies',\n },\n {\n guid: CategoryGuids.Shopping,\n colorName: 'shopping',\n icon: 'shopping_cart',\n },\n {\n guid: CategoryGuids.Taxes,\n colorName: 'taxes',\n icon: 'heap_snapshot_large',\n },\n {\n guid: CategoryGuids.Transfer,\n colorName: 'transfer',\n icon: 'compare_arrows',\n },\n {\n guid: CategoryGuids.Travel,\n colorName: 'travel',\n icon: 'airplane_ticket',\n },\n UncategorizedCategoryIcon,\n]\n","import React from 'react'\n\nimport Stack from '@mui/material/Stack'\nimport { SxProps, useTheme } from '@mui/material/styles'\n\nimport { Icon } from '../icon'\nimport { CategoryIconList, UncategorizedCategoryIcon } from './CategoryIconList'\n\nconst DEFAULT_ICON_SIZE_RATIO = 0.625\n\ninterface CategoryIconProps {\n categoryGuid?: string\n icon_ratio?: number\n size?: number\n sx?: SxProps\n variant?: 'basic' | 'filled' | 'transparent' | 'twotone'\n}\n\nexport const CategoryIcon: React.FC<CategoryIconProps> = ({\n categoryGuid,\n icon_ratio = DEFAULT_ICON_SIZE_RATIO,\n size = 32,\n sx = {},\n variant = 'filled',\n}) => {\n const theme = useTheme()\n\n const categoryIcon = React.useMemo(\n () => CategoryIconList.find((i) => i.guid === categoryGuid) ?? UncategorizedCategoryIcon,\n [categoryGuid],\n )\n\n // @ts-expect-error Typescript has an issue when using a string from an object for lookups\n const categoryColor = theme.palette.categories[categoryIcon.colorName]\n\n const backgroundColor = () => {\n let backgroundColor = categoryColor\n if (variant === 'twotone') {\n backgroundColor = `${backgroundColor}20`\n }\n return variant === 'transparent' || variant === 'basic' ? 'transparent' : backgroundColor\n }\n\n const color = () => {\n const color = variant === 'filled' ? theme.palette.common.white : categoryColor\n return variant === 'basic' ? theme.palette.text.primary : color\n }\n\n return (\n <Stack\n alignItems=\"center\"\n bgcolor={backgroundColor}\n borderRadius={1}\n color={color}\n height={size}\n justifyContent=\"center\"\n sx={[...(Array.isArray(sx) ? sx : [sx])]}\n width={size}\n >\n <Icon name={categoryIcon.icon} size={size * icon_ratio} />\n </Stack>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport ToggleButton from '@mui/material/ToggleButton'\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup'\nimport { useTheme } from '@mui/material/styles'\n\nimport {\n DateRange,\n PickersShortcutsProps,\n useIsValidValue,\n usePickerContext,\n} from '@mui/x-date-pickers-pro'\n\ninterface DatePickerShortcutProps extends PickersShortcutsProps<DateRange<Date>> {\n selected?: string\n}\n\nconst DatePickerShortcuts: React.FC<DatePickerShortcutProps> = ({ items, selected }) => {\n const theme = useTheme()\n const { setValue } = usePickerContext<DateRange<Date>>()\n const isValid = useIsValidValue<DateRange<Date>>()\n\n const shortcutItems = items?.map((item) => {\n const newValue = item.getValue({ isValid })\n\n return {\n label: item.label,\n onClick: () => {\n setValue(newValue, { changeImportance: 'accept', shortcut: item })\n },\n disabled: !isValid(newValue),\n }\n })\n\n return (\n <Box sx={{ gridColumn: 1, gridRow: '2/3', ml: '4px', mt: '24px', mr: '32px' }}>\n <ToggleButtonGroup color=\"primary\" orientation=\"vertical\" value={selected}>\n {shortcutItems?.map((item) => (\n <ToggleButton\n key={item.label}\n onClick={item.onClick}\n sx={{\n borderWidth: 1,\n color: 'secondary.dark',\n fontSize: 12,\n fontWeight: 700,\n minWidth: 180,\n '&:focus': {\n boxShadow: '0px 0px 0px 2px rgba(82, 138, 224, 0.8)',\n },\n '&:hover': {\n bgcolor: theme.palette.action.hover,\n borderTop: `1px solid ${theme.palette.secondary.light}`,\n },\n '&.Mui-selected': {\n border: `2px solid ${theme.palette.primary.main} !important`,\n marginTop: '-2px !important',\n color: 'primary',\n },\n }}\n value={item.label}\n >\n {item.label}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n </Box>\n )\n}\n\nexport default DatePickerShortcuts\n","import React from 'react'\n\nimport MenuItem from '@mui/material/MenuItem'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\n\nimport {\n DateRange,\n PickersShortcutsProps,\n useIsValidValue,\n usePickerContext,\n} from '@mui/x-date-pickers-pro'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\ninterface DatePickerShortcutsSmallProps extends PickersShortcutsProps<DateRange<Date>> {\n selectLabel: string\n selected?: string\n}\n\nconst DatePickerShortcutsSmall: React.FC<DatePickerShortcutsSmallProps> = ({\n items,\n selected,\n selectLabel,\n}) => {\n const { setValue } = usePickerContext<DateRange<Date>>()\n const isValid = useIsValidValue<DateRange<Date>>()\n const shortcutItems = items?.map((item) => {\n const newValue = item.getValue({ isValid })\n\n return {\n label: item.label,\n onClick: () => {\n setValue(newValue, { changeImportance: 'accept', shortcut: item })\n },\n disabled: !isValid(newValue),\n }\n })\n\n return (\n <Stack sx={{ py: '16px' }}>\n <TextField\n defaultValue={selected}\n id=\"select\"\n label={selectLabel}\n select={true}\n slotProps={{ inputLabel: { shrink: true }, select: { IconComponent: ExpandMore } }}\n sx={{ width: '100%' }}\n value={selected}\n variant=\"outlined\"\n >\n {shortcutItems?.map((shortcut) => (\n <MenuItem key={shortcut.label} onClick={shortcut.onClick} value={shortcut.label}>\n {shortcut.label}\n </MenuItem>\n ))}\n </TextField>\n </Stack>\n )\n}\n\nexport default DatePickerShortcutsSmall\n","import Stack from '@mui/material/Stack'\n\nimport { DateRange } from '@mui/x-date-pickers-pro'\n\nimport {\n PickersLayoutProps,\n usePickerLayout,\n pickersLayoutClasses,\n PickersLayoutRoot,\n PickersLayoutContentWrapper,\n} from '@mui/x-date-pickers/PickersLayout'\n\nconst DateRangePickerSmallLayout = (props: PickersLayoutProps<DateRange<Date>>) => {\n const { toolbar, content, shortcuts, ownerState } = usePickerLayout(props)\n\n return (\n <PickersLayoutRoot\n ownerState={ownerState}\n sx={{\n gridTemplateColumns: 'minmax(320px, 1fr)',\n overflow: 'auto',\n p: 0,\n [`.${pickersLayoutClasses.toolbar}`]: {\n gridColumn: 1,\n gridRow: 2,\n },\n [`.${pickersLayoutClasses.contentWrapper}`]: {\n alignItems: 'center',\n gridColumn: 1,\n gridRow: 3,\n },\n }}\n >\n <Stack sx={{ gridColumn: 1, gridRow: 1, p: '16px' }}>\n {shortcuts}\n {toolbar}\n </Stack>\n <PickersLayoutContentWrapper\n className={pickersLayoutClasses.contentWrapper}\n ownerState={ownerState}\n >\n {content}\n </PickersLayoutContentWrapper>\n </PickersLayoutRoot>\n )\n}\n\nexport default DateRangePickerSmallLayout\n","import React from 'react'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { endOfYear } from 'date-fns/endOfYear'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfYear } from 'date-fns/startOfYear'\nimport { subDays } from 'date-fns/subDays'\nimport { subMonths } from 'date-fns/subMonths'\nimport { subYears } from 'date-fns/subYears'\n\nimport Stack from '@mui/material/Stack'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport { SxProps, useTheme } from '@mui/material/styles'\n\nimport {\n DateRange,\n DateRangeValidationError,\n LocalizationProvider,\n PickerChangeHandlerContext,\n PickersShortcutsItem,\n PickersShortcutsProps,\n StaticDateRangePicker,\n} from '@mui/x-date-pickers-pro'\nimport { AdapterDateFns } from '@mui/x-date-pickers-pro/AdapterDateFns'\n\nimport { Icon } from '../icon'\n\nimport DatePickerShortcuts from './DatePickerShortcuts'\nimport DatePickerShortcutsSmall from './small/DatePickerShortcutsSmall'\nimport DateRangePickerSmallLayout from './small/DateRangePickerSmall'\n\nexport type DateRangePickerCopy = {\n dateRangeFrom: string\n dateRangeTo: string\n dateRangeCustom: string\n dateRangeSelectARange: string\n dateRangeThisMonth: string\n dateRangeLastMonth: string\n dateRangeLast30Days: string\n dateRangeLast90Days: string\n dateRangeYTD: string\n dateRangeLastYear: string\n dateRangeSelect: string\n dateRangeToolbarTitle: string\n}\n\nexport interface DateRangePickerProps {\n copy: DateRangePickerCopy\n dateRange: DateRange<Date>\n onRangeChanged?: (dateRange: DateRange<Date>, shortcut: string) => void\n selectedShortcut?: string\n sx?: SxProps\n}\n\nconst DateRangePicker: React.FC<DateRangePickerProps> = ({\n copy,\n dateRange,\n onRangeChanged,\n selectedShortcut = copy.dateRangeThisMonth,\n sx = {},\n}) => {\n const theme = useTheme()\n const isSmall = useMediaQuery(theme.breakpoints.down('sm'))\n\n const shortcutItems: PickersShortcutsItem<DateRange<Date>>[] = React.useMemo(() => {\n const today = startOfToday()\n const lastMonth = subMonths(today, 1)\n const lastYear = subYears(today, 1)\n\n return [\n {\n label: copy.dateRangeThisMonth,\n getValue: () => [startOfMonth(today), endOfMonth(today)],\n },\n {\n label: copy.dateRangeLastMonth,\n getValue: () => [startOfMonth(lastMonth), endOfMonth(lastMonth)],\n },\n {\n label: copy.dateRangeLast30Days,\n getValue: () => [subDays(today, 30), today],\n },\n {\n label: copy.dateRangeLast90Days,\n getValue: () => [subDays(today, 90), today],\n },\n {\n label: copy.dateRangeYTD,\n getValue: () => [startOfYear(today), today],\n },\n {\n label: copy.dateRangeLastYear,\n getValue: () => [startOfYear(lastYear), endOfYear(lastYear)],\n },\n {\n label: copy.dateRangeCustom,\n getValue: () => [today, today],\n },\n ]\n }, [copy])\n\n const handleRangeChanged = (\n range: DateRange<Date>,\n context: PickerChangeHandlerContext<DateRangeValidationError>,\n ) => {\n const shortcut = context.shortcut\n onRangeChanged?.(range, shortcut ? shortcut.label : copy.dateRangeCustom)\n }\n\n return (\n <Stack gap={isSmall ? 0 : '16px'} m={isSmall ? 0 : '8px'}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <StaticDateRangePicker\n calendars={1}\n localeText={{\n start: copy.dateRangeFrom,\n end: copy.dateRangeTo,\n toolbarTitle: copy.dateRangeToolbarTitle,\n }}\n onChange={handleRangeChanged}\n showDaysOutsideCurrentMonth={true}\n slotProps={{\n actionBar: { actions: [] },\n layout: {\n sx: {\n '& .MuiPickersLayout-toolbar': {\n gridColumn: '1/4',\n gridRow: 1,\n },\n },\n },\n shortcuts: {\n items: shortcutItems,\n },\n toolbar: {\n toolbarFormat: 'MMM d, yyyy',\n },\n }}\n slots={{\n ...(isSmall && { layout: DateRangePickerSmallLayout }),\n leftArrowIcon: () => <Icon name=\"chevron_left\" size={28} />,\n shortcuts: (props: PickersShortcutsProps<DateRange<Date>>) =>\n isSmall ? (\n <DatePickerShortcutsSmall\n selectLabel={copy.dateRangeSelectARange}\n selected={selectedShortcut}\n {...props}\n />\n ) : (\n <DatePickerShortcuts selected={selectedShortcut} {...props} />\n ),\n rightArrowIcon: () => <Icon name=\"chevron_right\" size={28} />,\n }}\n sx={{ ...sx }}\n value={dateRange}\n />\n </LocalizationProvider>\n </Stack>\n )\n}\n\nexport default DateRangePicker\n","import React from 'react'\nimport Slide from '@mui/material/Slide'\nimport { TransitionProps } from '@mui/material/transitions'\n\nconst BottomSheetTransition = React.forwardRef(function Transition(\n props: TransitionProps & {\n children: React.ReactElement<any, any>\n },\n ref: React.Ref<unknown>,\n) {\n return <Slide direction=\"up\" ref={ref} {...props} />\n})\n\nexport default BottomSheetTransition\n","import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\ntype FooterProps = {\n hasSecondaryAction?: boolean\n isPrimaryDisabled?: boolean\n onPrimaryAction?: (formData: any) => void\n onSecondaryAction: () => void\n primaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n primaryText?: string\n secondaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n secondaryText?: string\n}\n\nconst Footer: React.FC<FooterProps> = ({\n hasSecondaryAction = true,\n isPrimaryDisabled,\n onPrimaryAction,\n onSecondaryAction,\n primaryColor = 'primary',\n primaryText = 'Save',\n secondaryColor = 'primary',\n secondaryText = 'Cancel',\n}) => {\n return (\n <Stack\n direction=\"row\"\n gap=\"16px\"\n justifyContent=\"flex-end\"\n sx={{ bgcolor: 'background.paper', p: '24px' }}\n >\n {hasSecondaryAction && (\n <Button\n color={secondaryColor}\n onClick={onSecondaryAction}\n variant={onPrimaryAction ? 'text' : 'contained'}\n >\n {secondaryText}\n </Button>\n )}\n\n {onPrimaryAction && (\n <Button\n color={primaryColor}\n disabled={isPrimaryDisabled}\n onClick={onPrimaryAction}\n variant=\"contained\"\n >\n {primaryText}\n </Button>\n )}\n </Stack>\n )\n}\n\nexport default Footer\n","import Typography, { type TypographyProps } from '@mui/material/Typography'\n\ninterface TextType extends TypographyProps {\n bold?: boolean\n className?: string\n /* Note: noWrap works the same as truncate */\n truncate?: boolean\n uppercase?: boolean\n}\n\nexport const Text = ({\n bold,\n className = '',\n children,\n color,\n sx = {},\n truncate,\n uppercase,\n ...rest\n}: TextType) => {\n return (\n <Typography\n className={`mx-kmui-text ${className}`}\n color={color}\n sx={[\n bold\n ? {\n fontWeight: 600,\n }\n : {},\n truncate\n ? {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }\n : {},\n uppercase\n ? {\n textTransform: 'uppercase',\n }\n : {},\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...rest}\n >\n {children}\n </Typography>\n )\n}\n\nexport const H1 = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text h1 ${className}`} component=\"h1\" variant=\"h1\" {...rest}>\n {children}\n </Text>\n )\n}\n\nexport const H2 = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text h2 ${className}`} component=\"h2\" variant=\"h2\" {...rest}>\n {children}\n </Text>\n )\n}\n\nexport const H3 = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text h3 ${className}`} component=\"h3\" variant=\"h3\" {...rest}>\n {children}\n </Text>\n )\n}\n\nexport const P = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text p ${className}`} component=\"p\" variant=\"body1\" {...rest}>\n {children}\n </Text>\n )\n}\n","import React from 'react'\n\nimport { Close } from '@mxenabled/mx-icons'\n\nimport IconButton from '@mui/material/IconButton'\nimport Stack from '@mui/material/Stack'\n\nimport { H1 } from '../text'\n\nexport type CopyObject = {\n close_aria?: string\n title: string\n}\n\ntype DialogHeaderProps = {\n copy: CopyObject\n /**\n * Sets `aria-hidden` on the (still visible) heading. Only takes effect when\n * `id` is also set, so the heading's text remains reachable as the dialog's\n * accessible name via `aria-labelledby`: the dialog is announced once on open\n * and the heading is no longer re-read as content.\n */\n ariaHidden?: boolean\n /** Forwarded to the heading so a dialog can set aria-labelledby to it. */\n id?: string\n onClose: () => void\n truncate?: boolean\n}\n\nconst DialogHeader: React.FC<DialogHeaderProps> = ({\n ariaHidden = false,\n copy,\n id,\n onClose,\n truncate = false,\n}) => {\n return (\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: '24px',\n py: '14px',\n }}\n >\n <H1\n aria-hidden={ariaHidden && id ? true : undefined}\n id={id}\n truncate={truncate}\n variant=\"h3\"\n >\n {copy.title}\n </H1>\n <IconButton aria-label={copy.close_aria} onClick={onClose} sx={{ mr: '-12px' }}>\n <Close />\n </IconButton>\n </Stack>\n )\n}\n\nexport default DialogHeader\n","import React from 'react'\n\nimport MuiDrawer from '@mui/material/Drawer'\nimport { DrawerProps as MuiDrawerProps } from '@mui/material/Drawer'\n\nimport Footer from './Footer'\n\ninterface DrawerProps extends MuiDrawerProps {\n children: React.ReactNode\n className?: string\n disableSave?: boolean\n id?: string\n isOpen: boolean\n onClose: () => void\n onSave?: () => void\n primaryText?: string\n secondaryText?: string\n}\n\nconst Drawer: React.FC<DrawerProps> = ({\n className,\n disableSave,\n id,\n isOpen,\n onClose,\n onSave,\n primaryText,\n secondaryText,\n children,\n ...rest\n}) => {\n return (\n <MuiDrawer\n anchor=\"right\"\n className={`mx-kmui-drawer ${className}`}\n id={id ?? undefined}\n onClose={onClose}\n open={isOpen}\n variant=\"temporary\"\n {...rest}\n >\n {children}\n {onSave && (\n <Footer\n isPrimaryDisabled={disableSave}\n onPrimaryAction={onSave}\n onSecondaryAction={onClose}\n primaryText={primaryText}\n secondaryText={secondaryText}\n />\n )}\n </MuiDrawer>\n )\n}\n\nexport default Drawer\n","export const DEFAULT_LOGO_SIZE = 32\n\nexport const ASSETS_URL = 'https://content.moneydesktop.com/storage/MD_Assets'\n","import React, { ImgHTMLAttributes } from 'react'\n\nimport { ASSETS_URL, DEFAULT_LOGO_SIZE } from '../../constants/Logo'\n\nexport interface InstitutionLogoProps extends ImgHTMLAttributes<HTMLImageElement> {\n alt: string\n institutionGuid: string\n logoUrl?: string\n size?: number\n}\n\nconst DEFAULT_LOGO = `${ASSETS_URL}/serenity/default_institution_logo.png`\n\nexport const InstitutionLogo: React.FC<InstitutionLogoProps> = ({\n alt,\n institutionGuid,\n logoUrl,\n size = DEFAULT_LOGO_SIZE,\n ...rest\n}) => {\n return (\n <img\n alt={alt}\n height={size}\n onError={(event) => {\n const target = event.target as HTMLImageElement\n\n if (target.src !== DEFAULT_LOGO) {\n target.src = DEFAULT_LOGO\n }\n }}\n src={logoUrl || `${ASSETS_URL}/Ipad%20Logos/100x100/${institutionGuid}_100x100.png`}\n style={{\n borderRadius: 4,\n }}\n width={size}\n {...rest}\n />\n )\n}\n","import { useTheme } from '@mui/material/styles'\nimport React from 'react'\nimport Box, { BoxProps } from '@mui/material/Box'\n\nimport { ASSETS_URL, DEFAULT_LOGO_SIZE } from '../../constants/Logo'\nimport { CategoryIcon } from '../categoryicon'\n\nexport interface MerchantLogoProps extends BoxProps {\n alt?: string\n categoryGuid: string\n merchantGuid: string\n size?: number\n}\n\nexport const MerchantLogo: React.FC<MerchantLogoProps> = ({\n alt = '',\n categoryGuid,\n merchantGuid,\n size = DEFAULT_LOGO_SIZE,\n ...rest\n}) => {\n const [isError, setIsError] = React.useState(false)\n const theme = useTheme()\n\n return (\n <Box display=\"inline-block\" position=\"relative\" {...rest}>\n {merchantGuid && !isError && (\n <img\n alt={alt}\n aria-hidden={!alt}\n height={size}\n onError={() => setIsError(true)}\n src={`${ASSETS_URL}/merchant_logos/${merchantGuid}.png`}\n style={{\n backgroundColor: theme.palette.common.white,\n borderRadius: 4,\n boxSizing: 'border-box',\n position: 'absolute',\n }}\n width={size}\n />\n )}\n <CategoryIcon categoryGuid={categoryGuid} size={size} />\n </Box>\n )\n}\n","import React from 'react'\nimport MuiTextField, { type TextFieldProps as MuiTextFieldProps } from '@mui/material/TextField'\n\ntype TextFieldProps = {\n disabled?: boolean\n label?: React.ReactNode\n shrink?: boolean\n truncate?: boolean\n variant?: 'filled' | 'outlined' | 'standard'\n} & MuiTextFieldProps\n\nconst TextField: React.FC<TextFieldProps> = ({\n disabled = false,\n label = '',\n shrink = true,\n truncate = false,\n variant = 'outlined',\n ...rest\n}) => {\n return (\n <MuiTextField\n disabled={disabled}\n label={label}\n slotProps={{\n inputLabel: {\n shrink: shrink,\n ...(truncate && {\n sx: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n }),\n },\n }}\n variant={variant}\n {...rest}\n />\n )\n}\n\nexport default TextField\n","import React from 'react'\nimport Snackbar from '@mui/material/Snackbar'\nimport Alert from '@mui/material/Alert'\nimport Slide, { SlideProps } from '@mui/material/Slide'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport IconButton from '@mui/material/IconButton'\nimport { Text } from '../text'\nimport { Icon } from '../icon'\nimport { useTheme, SxProps, Theme } from '@mui/material/styles'\n\nexport function SlideTransition(props: SlideProps) {\n return <Slide {...props} direction=\"left\" mountOnEnter={true} unmountOnExit={true} />\n}\n\ninterface ToastProps {\n open: boolean\n closeAriaLabel: string\n handleClose: () => void\n message: string\n autoHideDuration?: number\n severity?: 'success' | 'error' | 'warning' | 'info'\n snackbarSx?: SxProps<Theme>\n showAction?: boolean\n showClose?: boolean\n actionText?: string\n onActionClick?: () => void\n}\n\nexport const Toast: React.FC<ToastProps> = ({\n open = true,\n handleClose,\n closeAriaLabel,\n message,\n autoHideDuration = 3000,\n severity = 'success',\n snackbarSx,\n showAction = false,\n showClose = false,\n actionText = 'Undo',\n onActionClick,\n}) => {\n const theme = useTheme()\n\n const action = showClose && (\n <IconButton aria-label={closeAriaLabel} color=\"inherit\" onClick={handleClose} size=\"small\">\n <Icon fill={true} name=\"close\" />\n </IconButton>\n )\n const backgroundColor = `${severity}.main`\n return (\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n open={open}\n slots={{ transition: SlideTransition }}\n sx={{\n ...snackbarSx,\n maxWidth: 568,\n minWidth: 288,\n minHeight: 56,\n }}\n >\n <Alert\n action={action}\n severity={severity}\n sx={{\n backgroundColor: backgroundColor,\n display: 'flex',\n width: '100%',\n py: '8px',\n '& .MuiAlert-message': {\n my: 0,\n flex: 1,\n overflow: 'hidden',\n },\n '& .MuiAlert-action': {\n alignItems: showClose ? 'flex-start' : 'center',\n },\n }}\n variant=\"filled\"\n >\n <Stack\n sx={{\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'baseline',\n justifyContent: 'space-between',\n width: '100%',\n rowGap: '16px',\n columnGap: '16px',\n }}\n >\n <Text\n sx={{\n lineHeight: theme.typography.body1.lineHeight,\n flex: 1,\n minWidth: '70%',\n px: '5px',\n }}\n >\n {message}\n </Text>\n {showAction && (\n <Button\n color=\"inherit\"\n onClick={onActionClick || handleClose}\n size=\"small\"\n sx={{\n color: theme.palette.success.contrastText,\n whiteSpace: 'nowrap',\n flexShrink: 0,\n minWidth: 'auto',\n justifyContent: 'flex-start',\n }}\n >\n {actionText}\n </Button>\n )}\n </Stack>\n </Alert>\n </Snackbar>\n )\n}\n\nexport default Toast\n","import React, { type ReactNode } from 'react'\nimport {\n Box,\n Typography,\n Radio,\n Checkbox,\n FormControlLabel,\n type RadioProps,\n type CheckboxProps,\n alpha,\n} from '@mui/material'\nimport { useTheme } from '@mui/material/styles'\n\ntype BaseSelectionBoxProps = {\n variant?: 'outlined' | 'elevation'\n selected: boolean\n headline?: string\n message: string\n error?: boolean\n icon?: ReactNode | false\n sx?: object\n}\n\ntype SelectionBoxProps = BaseSelectionBoxProps &\n (\n | ({ component?: typeof Radio } & Partial<RadioProps>)\n | ({ component: typeof Checkbox } & Partial<CheckboxProps>)\n ) & {\n onChange?: (event: React.SyntheticEvent, checked: boolean) => void\n }\n\nconst SelectionBox: React.FC<SelectionBoxProps> = ({\n component = Radio,\n variant = 'outlined',\n selected,\n onChange,\n headline,\n message,\n name,\n value,\n disabled = false,\n error = false,\n icon = false,\n sx = {},\n ...rest\n}: SelectionBoxProps) => {\n const theme = useTheme()\n\n const getBackgroundColor = () => {\n return theme.palette.background.paper\n }\n\n const getBoxShadow = () => {\n if (error) {\n return `inset 0px 0px 0px 2px ${theme.palette.error.main}`\n }\n\n if (disabled) {\n if (selected) {\n return `inset 0px 0px 0px 2px ${theme.palette.action.disabled}`\n }\n return variant === 'outlined'\n ? `inset 0px 0px 0px 1px ${theme.palette.action.disabledBackground}`\n : `inset 0px 0px 0px 1px ${theme.palette.action.disabled}`\n }\n\n if (variant === 'outlined') {\n return selected\n ? `inset 0px 0px 0px 2px ${alpha(theme.palette.primary.main, 0.5)}`\n : `inset 0px 0px 0px 1px ${alpha(theme.palette.common.black, 0.23)}`\n }\n\n if (selected) {\n return `inset 0px 0px 0px 2px ${alpha(theme.palette.primary.main, 0.5)}`\n }\n\n return theme.shadows[1] // default elevation shadow\n }\n\n const getHoverBackgroundColor = () => {\n if (disabled || error) return theme.palette.background.paper\n return alpha(theme.palette.primary.main, 0.1)\n }\n\n const getHoverBoxShadow = () => {\n if (disabled || error) return getBoxShadow()\n\n if (variant === 'outlined') {\n return selected\n ? `inset 0px 0px 0px 2px ${alpha(theme.palette.primary.main, 0.5)}`\n : `inset 0px 0px 0px 1px ${alpha(theme.palette.primary.main, 0.5)}`\n }\n\n return getBoxShadow()\n }\n\n const getActiveBackgroundColor = () => {\n if (disabled || error) return theme.palette.background.paper\n return alpha(theme.palette.primary.main, 0.3)\n }\n\n return (\n <FormControlLabel\n checked={selected}\n control={\n component === Radio ? (\n <Radio\n name={name}\n sx={{\n p: 0,\n ml: '16px',\n mt: '8px',\n flexShrink: 0,\n '& .MuiSvgIcon-root': {\n fontSize: '20px',\n },\n }}\n {...(rest as Partial<RadioProps>)}\n />\n ) : (\n <Checkbox\n name={name}\n sx={{\n p: 0,\n ml: '16px',\n mt: '8px',\n flexShrink: 0,\n '& .MuiSvgIcon-root': {\n fontSize: '20px',\n },\n }}\n {...(rest as Partial<CheckboxProps>)}\n />\n )\n }\n disabled={disabled}\n label={\n <Box sx={{ display: 'flex', alignItems: 'flex-start', width: '100%' }}>\n {icon && <Box sx={{ mr: '12px', mt: '8px', flexShrink: 0 }}>{icon}</Box>}\n <Box sx={{ flex: 1, minWidth: 0, py: '8px' }}>\n {headline && (\n <Typography fontWeight={600} sx={{ lineHeight: '24px', pb: '4px' }} variant=\"body1\">\n {headline}\n </Typography>\n )}\n <Typography sx={{ lineHeight: '20px' }} variant=\"subtitle2\">\n {message}\n </Typography>\n </Box>\n </Box>\n }\n labelPlacement=\"start\"\n onChange={onChange}\n sx={{\n display: 'flex',\n padding: '6px 16px',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n borderRadius: (theme.shape.borderRadius as number) / 2,\n mb: '16px',\n cursor: disabled ? 'not-allowed' : 'pointer',\n opacity: disabled ? 0.6 : 1,\n backgroundColor: getBackgroundColor(),\n border: 'none',\n boxShadow: getBoxShadow(),\n boxSizing: 'border-box',\n transition: theme.transitions.create(['background-color', 'box-shadow'], {\n duration: theme.transitions.duration.short,\n }),\n '&:hover': {\n backgroundColor: getHoverBackgroundColor(),\n boxShadow: getHoverBoxShadow(),\n },\n '&:active': {\n backgroundColor: getActiveBackgroundColor(),\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n ...sx,\n }}\n value={value}\n />\n )\n}\n\nexport default SelectionBox\n","export const MODE = {\n LIGHT: 'light',\n DARK: 'dark',\n}\n","import { type ReactNode } from 'react'\nimport Box, { type BoxProps } from '@mui/material/Box'\nimport Typography from '@mui/material/Typography'\n\nimport { MODE } from '../../constants/Theme'\nimport '../../themes/Augmentations'\n\nexport type TagColor =\n | 'default'\n | 'neutral'\n | 'primary'\n | 'secondary'\n | 'error'\n | 'warning'\n | 'info'\n | 'success'\n\nexport type TagSize = 'small' | 'xsmall'\n\nexport interface TagProps extends Omit<BoxProps, 'color' | 'children'> {\n color?: TagColor\n icon?: ReactNode\n label: string\n size?: TagSize\n}\n\nexport const Tag = ({ color = 'neutral', icon, label, size = 'small', sx, ...rest }: TagProps) => (\n <Box\n component=\"span\"\n sx={[\n (theme) => {\n const isLight = theme.palette.mode === MODE.LIGHT\n const colorKey = color === 'default' ? 'neutral' : color\n\n return {\n alignItems: 'center',\n borderRadius: 999, // pill shape\n display: 'inline-flex',\n gap: '4px',\n height: size === 'xsmall' ? '16px' : '24px',\n paddingX: size === 'xsmall' ? '6px' : '8px',\n backgroundColor: theme.palette[colorKey][isLight ? 100 : 800],\n color: isLight ? theme.palette[colorKey].dark : theme.palette[colorKey][100],\n }\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...rest}\n >\n {icon && (\n <Box\n aria-hidden={true}\n component=\"span\"\n sx={{\n alignItems: 'center',\n display: 'inline-flex',\n '& .MuiSvgIcon-root': { fontSize: '16px' },\n }}\n >\n {icon}\n </Box>\n )}\n <Typography\n component=\"span\"\n sx={{ fontWeight: 'bold', textTransform: 'uppercase' }}\n variant=\"tiny\"\n >\n {label}\n </Typography>\n </Box>\n)\n","import { darken, lighten } from '@mui/material'\nimport { GeneratedPalette } from '../types/GeneratedPalette'\n\nexport const generatePalette = (main: string): GeneratedPalette => {\n return {\n 50: lighten(main, 0.95),\n 100: lighten(main, 0.85),\n 200: lighten(main, 0.7),\n 300: lighten(main, 0.55),\n 400: lighten(main, 0.3),\n 500: main,\n 600: darken(main, 0.3),\n 700: darken(main, 0.5),\n 800: darken(main, 0.65),\n 900: darken(main, 0.75),\n }\n}\n","export const WHITE = '#FFFFFF'\nexport const BLACK = '#000000'\nexport const DEFAULT_BACKGROUND_LIGHT = '#F9F9F9'\nexport const DEFAULT_BACKGROUND_DARK = '#000000'\nexport const DEFAULT_PAPER_LIGHT = '#FFFFFF'\nexport const DEFAULT_PAPER_DARK = '#000000'\n\nexport interface CoreColors {\n PRIMARY: string\n SECONDARY: string\n INFO: string\n SUCCESS: string\n WARNING: string\n ERROR: string\n GREY: string\n}\n\nexport const CORE_COLORS: CoreColors = {\n PRIMARY: '#2C64EF',\n SECONDARY: '#808080',\n INFO: '#2C64EF',\n SUCCESS: '#12875E',\n WARNING: '#FF7B00',\n ERROR: '#E32727',\n GREY: '#808080',\n}\n\nexport const CHART = {\n CHART1: '#14A396',\n CHART2: '#EC4899',\n CHART3: '#F3DC46',\n CHART4: '#BABFC5',\n CHART5: '#60A9FF',\n CHART6: '#C8BAEE',\n CHART7: '#585E67',\n}\n\nexport const CHART_MONO = {\n CHART_MONO1: '#C3EAFF',\n CHART_MONO2: '#8ED7FF',\n CHART_MONO3: '#60A9FF',\n CHART_MONO4: '#2F73DA',\n CHART_MONO5: '#034AB3',\n CHART_MONO6: '#002966',\n}\n\nexport const CATEGORIES_LIGHT = {\n AUTO_TRANSPORTT: '#00B0FF',\n BILLS_UTILITIES: '#F949BD',\n BUSINESS_SERVICES: '#2979FF',\n EDUCATION: '#009E8E',\n ENTERTAINMENT: '#A437F5',\n FEES_CHARGES: '#FF5473',\n FINANCIAL: '#18A964',\n FOOD_DINING: '#FF7A00',\n GIFTS_DONATIONS: '#F2354B',\n HEALTH_FITNESS: '#D61033',\n HOME: '#FFC20A',\n INCOME: '#009526',\n INVESTMENTS: '#00C9E0',\n KIDS: '#FF9700',\n OTHERS: '#66718D',\n PERSONAL_CARE: '#DF0683',\n PETS: '#FF5D00',\n SHOPPING: '#7469FF',\n TAXES: '#69CA08',\n TRANSFER: '#2B9580',\n TRAVEL: '#3D5AFE',\n UNCATEGORIZED: '#8495AD',\n}\n\nexport const CATEGORIES_DARK = {\n AUTO_TRANSPORTT: '#77DAFF',\n BILLS_UTILITIES: '#FF81D4',\n BUSINESS_SERVICES: '#4BBAFF',\n EDUCATION: '#4FCBBC',\n ENTERTAINMENT: '#CE8CFF',\n FEES_CHARGES: '#FF8BA0',\n FINANCIAL: '#54C790',\n FOOD_DINING: '#FF9631',\n GIFTS_DONATIONS: '#FF717A',\n HEALTH_FITNESS: '#FF525D',\n HOME: '#FFC83B',\n INCOME: '#95ECAB',\n INVESTMENTS: '#8BE7F5',\n KIDS: '#FFB13F',\n OTHERS: '#B2BCD5',\n PERSONAL_CARE: '#FF50B5',\n PETS: '#FF8A46',\n SHOPPING: '#AEA8FA',\n TAXES: '#BEF988',\n TRANSFER: '#75C7B7',\n TRAVEL: '#76ACF7',\n UNCATEGORIZED: '#BCC6D4',\n}\n","import { alpha, getContrastRatio, PaletteMode } from '@mui/material'\nimport { MODE } from '../constants/Theme'\n\nimport { generatePalette } from '../utils/generatePalette'\n\nimport {\n BLACK,\n CATEGORIES_DARK,\n CATEGORIES_LIGHT,\n CHART,\n CHART_MONO,\n CORE_COLORS,\n DEFAULT_BACKGROUND_DARK,\n DEFAULT_BACKGROUND_LIGHT,\n DEFAULT_PAPER_DARK,\n DEFAULT_PAPER_LIGHT,\n WHITE,\n} from './Colors'\nimport { Customizations } from '../types/Customizations'\n\nexport const getPalette = (\n mode: PaletteMode,\n paletteCustomizations?: Customizations['paletteOptions'],\n) => {\n const primary = generatePalette(paletteCustomizations?.primary || CORE_COLORS.PRIMARY)\n const secondary = generatePalette(paletteCustomizations?.secondary || CORE_COLORS.SECONDARY)\n const error = generatePalette(paletteCustomizations?.error || CORE_COLORS.ERROR)\n const warning = generatePalette(paletteCustomizations?.warning || CORE_COLORS.WARNING)\n const info = generatePalette(paletteCustomizations?.info || CORE_COLORS.INFO)\n const success = generatePalette(paletteCustomizations?.success || CORE_COLORS.SUCCESS)\n const grey = generatePalette(paletteCustomizations?.grey || CORE_COLORS.GREY)\n\n const isLight = mode === MODE.LIGHT\n\n return {\n mode,\n common: {\n white: WHITE,\n black: BLACK,\n },\n primary: {\n ...primary,\n lighter: isLight ? primary[100] : primary[700],\n light: isLight ? primary[300] : primary[600],\n main: isLight ? primary[500] : primary[400],\n dark: isLight ? primary[700] : primary[200],\n darker: isLight ? primary[800] : primary[100],\n },\n secondary: {\n ...secondary,\n lighter: isLight ? secondary[100] : secondary[800],\n light: isLight ? secondary[300] : secondary[600],\n main: isLight ? secondary[500] : secondary[400],\n dark: isLight ? secondary[700] : secondary[200],\n darker: isLight ? secondary[800] : secondary[100],\n },\n neutral: {\n ...grey,\n lighter: isLight ? grey[100] : grey[800],\n light: isLight ? grey[300] : grey[600],\n main: isLight ? grey[500] : grey[400],\n dark: isLight ? grey[700] : grey[200],\n darker: isLight ? grey[800] : grey[100],\n contrastText:\n getContrastRatio(isLight ? grey[700] : grey[400], '#fff') > 4.5 ? WHITE : grey[900],\n },\n text: {\n primary: isLight ? alpha(BLACK, 0.87) : WHITE,\n secondary: isLight ? alpha(BLACK, 0.6) : alpha(WHITE, 0.7),\n disabled: isLight ? alpha(BLACK, 0.38) : alpha(WHITE, 0.38),\n },\n error: {\n ...error,\n lighter: isLight ? error[100] : error[700],\n light: isLight ? error[300] : error[600],\n main: isLight ? error[500] : error[400],\n dark: isLight ? error[700] : error[200],\n darker: isLight ? error[800] : error[100],\n },\n warning: {\n ...warning,\n lighter: isLight ? warning[100] : warning[700],\n light: isLight ? warning[300] : warning[600],\n main: isLight ? warning[500] : warning[400],\n dark: isLight ? warning[700] : warning[200],\n darker: isLight ? warning[800] : warning[100],\n },\n info: {\n ...info,\n lighter: isLight ? info[100] : info[700],\n light: isLight ? info[300] : info[600],\n main: isLight ? info[500] : info[400],\n dark: isLight ? info[700] : info[200],\n darker: isLight ? info[800] : info[100],\n },\n success: {\n ...success,\n lighter: isLight ? success[100] : success[700],\n light: isLight ? success[300] : success[600],\n main: isLight ? success[500] : success[400],\n dark: isLight ? success[700] : success[200],\n darker: isLight ? success[800] : success[100],\n },\n grey,\n action: {\n active: isLight ? alpha(BLACK, 0.56) : alpha(WHITE, 0.56),\n hoverOpacity: isLight ? 0.1 : 0.2,\n selectedOpacity: isLight ? 0.16 : 0.25,\n focusOpacity: 0.3,\n },\n background: {\n default: isLight\n ? paletteCustomizations?.background?.default?.light || DEFAULT_BACKGROUND_LIGHT\n : paletteCustomizations?.background?.default?.dark || DEFAULT_BACKGROUND_DARK,\n paper: isLight\n ? paletteCustomizations?.background?.paper?.light || DEFAULT_PAPER_LIGHT\n : paletteCustomizations?.background?.paper?.dark || DEFAULT_PAPER_DARK,\n highlight: isLight ? grey[200] : grey[600],\n highlightPrimary: isLight ? primary[100] : primary[500],\n },\n divider: isLight ? alpha(BLACK, 0.12) : alpha(WHITE, 0.24),\n categories: {\n autoTransport: isLight ? CATEGORIES_LIGHT.AUTO_TRANSPORTT : CATEGORIES_DARK.AUTO_TRANSPORTT,\n billsUtilities: isLight ? CATEGORIES_LIGHT.BILLS_UTILITIES : CATEGORIES_DARK.BILLS_UTILITIES,\n businessServices: isLight\n ? CATEGORIES_LIGHT.BUSINESS_SERVICES\n : CATEGORIES_DARK.BUSINESS_SERVICES,\n education: isLight ? CATEGORIES_LIGHT.EDUCATION : CATEGORIES_DARK.EDUCATION,\n entertainment: isLight ? CATEGORIES_LIGHT.ENTERTAINMENT : CATEGORIES_DARK.ENTERTAINMENT,\n feesCharges: isLight ? CATEGORIES_LIGHT.FEES_CHARGES : CATEGORIES_DARK.FEES_CHARGES,\n financial: isLight ? CATEGORIES_LIGHT.FINANCIAL : CATEGORIES_DARK.FINANCIAL,\n foodDining: isLight ? CATEGORIES_LIGHT.FOOD_DINING : CATEGORIES_DARK.FOOD_DINING,\n giftsDonations: isLight ? CATEGORIES_LIGHT.GIFTS_DONATIONS : CATEGORIES_DARK.GIFTS_DONATIONS,\n healthFitness: isLight ? CATEGORIES_LIGHT.HEALTH_FITNESS : CATEGORIES_DARK.HEALTH_FITNESS,\n home: isLight ? CATEGORIES_LIGHT.HOME : CATEGORIES_DARK.HOME,\n income: isLight ? CATEGORIES_LIGHT.INCOME : CATEGORIES_DARK.INCOME,\n investments: isLight ? CATEGORIES_LIGHT.INVESTMENTS : CATEGORIES_DARK.INVESTMENTS,\n kids: isLight ? CATEGORIES_LIGHT.KIDS : CATEGORIES_DARK.KIDS,\n others: isLight ? CATEGORIES_LIGHT.OTHERS : CATEGORIES_DARK.OTHERS,\n personalCare: isLight ? CATEGORIES_LIGHT.PERSONAL_CARE : CATEGORIES_DARK.PERSONAL_CARE,\n pets: isLight ? CATEGORIES_LIGHT.PETS : CATEGORIES_DARK.PETS,\n shopping: isLight ? CATEGORIES_LIGHT.SHOPPING : CATEGORIES_DARK.SHOPPING,\n taxes: isLight ? CATEGORIES_LIGHT.TAXES : CATEGORIES_DARK.TAXES,\n transfer: isLight ? CATEGORIES_LIGHT.TRANSFER : CATEGORIES_DARK.TRANSFER,\n travel: isLight ? CATEGORIES_LIGHT.TRAVEL : CATEGORIES_DARK.TRAVEL,\n uncategorized: isLight ? CATEGORIES_LIGHT.UNCATEGORIZED : CATEGORIES_DARK.UNCATEGORIZED,\n },\n chart: {\n chart1: CHART.CHART1,\n chart2: CHART.CHART2,\n chart3: CHART.CHART3,\n chart4: CHART.CHART4,\n chart5: CHART.CHART5,\n chart6: CHART.CHART6,\n chart7: CHART.CHART7,\n },\n chartMono: {\n chartMono1: CHART_MONO.CHART_MONO1,\n chartMono2: CHART_MONO.CHART_MONO2,\n chartMono3: CHART_MONO.CHART_MONO3,\n chartMono4: CHART_MONO.CHART_MONO4,\n chartMono5: CHART_MONO.CHART_MONO5,\n chartMono6: CHART_MONO.CHART_MONO6,\n },\n }\n}\n","export type TypographyOptions = {\n fontFamily?: string\n headerFontFamily?: string\n}\n\nexport const INTER = 'Inter, Helvetica, Arial, sans-serif'\n\nexport const getTypography = (typographyOptions?: TypographyOptions) => {\n const fontFamily = typographyOptions?.fontFamily\n ? `${typographyOptions?.fontFamily}, ${INTER}`\n : INTER\n\n const headerFontFamily = typographyOptions?.headerFontFamily\n ? `${typographyOptions.headerFontFamily}, ${INTER}`\n : fontFamily\n\n return {\n fontFamily,\n fontSize: 15,\n body1: {\n fontFamily,\n fontSize: 15,\n lineHeight: '20px',\n },\n body2: {\n fontFamily,\n fontSize: 13,\n lineHeight: '16px',\n },\n button: {\n fontFamily,\n fontSize: 15,\n },\n caption: {\n fontFamily,\n fontSize: 11,\n lineHeight: '16px',\n },\n h1: {\n fontFamily: headerFontFamily,\n fontWeight: 700,\n fontSize: 31,\n lineHeight: '40px',\n },\n h2: {\n fontFamily: headerFontFamily,\n fontWeight: 700,\n fontSize: 23,\n lineHeight: '32px',\n },\n h3: {\n fontFamily: headerFontFamily,\n fontWeight: 700,\n fontSize: 18,\n lineHeight: '24px',\n },\n subtitle1: {\n fontFamily,\n fontSize: 15,\n lineHeight: '24px',\n },\n subtitle2: {\n fontFamily,\n fontSize: 13,\n lineHeight: '20px',\n },\n tiny: {\n fontFamily,\n fontSize: 9,\n lineHeight: '12px',\n },\n }\n}\n","import { alpha, Palette, PaletteMode } from '@mui/material'\nimport { circularProgressClasses } from '@mui/material/CircularProgress'\nimport { createTheme, Shadows, Theme } from '@mui/material/styles'\n\nimport type {} from '@mui/x-data-grid-pro/themeAugmentation'\nimport type {} from '@mui/x-date-pickers-pro/themeAugmentation'\nimport { LicenseInfo } from '@mui/x-license'\n\nimport { Icon } from '../components/icon'\nimport { MODE } from '../constants/Theme'\nimport { Customizations } from '../types/Customizations'\nimport './Augmentations'\nimport { getPalette } from './Palette'\nimport { getTypography } from './Typography'\n\n// MUI X Pro License Key\nLicenseInfo.setLicenseKey(\n '702b0c04dc7df078768d2d45cd3a98c6Tz0xMjEzMDYsRT0xNzkzNzUwMzk5MDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1RMy0yMDI0LEtWPTI=',\n)\n\nexport const createMXTheme = (mode: PaletteMode, customizations?: Customizations) => {\n const palette = getPalette(mode, customizations?.paletteOptions)\n const typography = getTypography(customizations?.typographyOptions)\n\n const shadows: Shadows = [...createTheme().shadows]\n shadows[1] = '0px 2px 8px 0 rgba(0, 0, 0, 0.12)'\n shadows[8] = '0px 6px 12px 0 rgba(0, 0, 0, 0.16), 0px 3px 8px 0 rgba(0, 0, 0, 0.06)'\n shadows[16] = '0px 12px 20px 0 rgba(0, 0, 0, 0.22)'\n\n return createTheme({\n breakpoints: customizations?.breakpoints || {\n values: {\n // TODO: Remove these default values in v3. Users should provide their own breakpoints if they want to.\n xs: 444,\n sm: 600,\n md: 900,\n lg: 1200,\n xl: 1536,\n },\n },\n cssVariables: {\n colorSchemeSelector: 'class',\n },\n palette,\n shape: {\n borderRadius: customizations?.shapeOptions?.borderRadius || 4,\n },\n shadows,\n ...(customizations?.useMUIStandardSpacing ? {} : { spacing: 1 }), // TODO: update spacing, we're back to a 8-base which is default for MUI 2.x\n typography,\n components: {\n MuiAlert: {\n defaultProps: {\n iconMapping: {\n success: <Icon fill={true} name=\"check_circle\" size={24} />,\n error: <Icon fill={true} name=\"error\" size={24} />,\n warning: <Icon fill={true} name=\"warning\" size={24} />,\n info: <Icon fill={true} name=\"info\" size={24} />,\n },\n variant: 'outlined',\n },\n styleOverrides: {\n root: ({ theme, ownerState }) => {\n const severity: keyof Palette = ownerState.severity || 'info'\n let backgroundColor =\n theme.palette.mode === MODE.LIGHT\n ? theme.palette[severity]?.[50]\n : theme.palette[severity]?.[800]\n if (ownerState.variant === 'filled') {\n const isWarning = severity === 'warning'\n backgroundColor = MODE.LIGHT\n ? theme.palette[severity]?.[isWarning ? 400 : 600]\n : theme.palette[severity]?.[isWarning ? 500 : 400]\n }\n\n return {\n backgroundColor: backgroundColor,\n borderRadius: theme.shape.borderRadius,\n '& .MuiAlert-message': {\n fontSize: theme.typography.subtitle1.fontSize,\n lineHeight: theme.typography.subtitle1.lineHeight,\n marginTop: 'auto',\n marginBottom: 'auto',\n },\n '& .MuiAlert-action': {\n marginTop: -4,\n paddingTop: 0,\n },\n }\n },\n },\n },\n\n MuiAlertTitle: {\n styleOverrides: {\n root: {\n fontWeight: 600,\n marginTop: 0,\n },\n },\n },\n\n MuiButton: {\n defaultProps: {\n disableFocusRipple: true,\n disableElevation: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n fontWeight: 600,\n textTransform: 'none',\n '&.Mui-disabled': {\n cursor: 'not-allowed',\n },\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n }),\n sizeMedium: {\n height: 44,\n },\n },\n variants: [\n {\n props: { size: 'small' },\n style: {\n marginTop: -12,\n marginBottom: -12,\n },\n },\n {\n props: { variant: 'outlined', color: 'error' },\n style: ({ theme }) => ({\n '&:hover, &:active': {\n color: theme.palette.error.dark,\n },\n }),\n },\n ],\n },\n\n MuiButtonGroup: {\n defaultProps: {\n disableFocusRipple: true,\n },\n },\n\n MuiCard: {\n styleOverrides: {\n root: {\n borderRadius: 8,\n },\n },\n },\n\n MuiCheckbox: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: {\n '&.Mui-focusVisible': {\n boxShadow: `inset 0 0 0 2px ${palette.info.main}`,\n },\n },\n },\n },\n\n MuiChip: {\n defaultProps: {\n color: 'primary',\n deleteIcon: (\n <span style={{ display: 'flex', alignItems: 'center' }}>\n <Icon name=\"close\" />\n </span>\n ),\n },\n styleOverrides: {\n root: ({ theme, ownerState }) => {\n const colorKey =\n !ownerState.color || ownerState.color === 'default'\n ? ('primary' as const)\n : (ownerState.color as\n 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success' | 'neutral')\n const isSmall = ownerState.size === 'small'\n const sizeTypography = isSmall ? theme.typography.caption : theme.typography.body2\n\n return {\n borderRadius: theme.shape.borderRadius,\n color: theme.palette[colorKey].main,\n fontSize: sizeTypography.fontSize,\n lineHeight: sizeTypography.lineHeight,\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n '& > .MuiSvgIcon-root': {\n marginLeft: '4px',\n },\n '& .MuiSvgIcon-root': {\n fontSize: isSmall ? '16px' : '18px',\n },\n '& .MuiChip-avatar': {\n width: isSmall ? '18px' : '24px',\n height: isSmall ? '18px' : '24px',\n },\n '& .MuiChip-deleteIcon': {\n color: theme.palette[colorKey].main,\n '&:hover': {\n color: theme.palette[colorKey].dark,\n },\n },\n '&.MuiChip-clickable:hover, &.Mui-focusVisible': {\n backgroundColor: alpha(\n theme.palette[colorKey].main,\n theme.palette.action.hoverOpacity,\n ),\n },\n '&.MuiChip-clickable:active': {\n backgroundColor: alpha(\n theme.palette[colorKey].main,\n theme.palette.action.focusOpacity,\n ),\n },\n }\n },\n label: ({ ownerState }) => ({\n ...(ownerState.icon && {\n paddingLeft: '4px',\n }),\n }),\n },\n variants: [\n {\n props: { variant: 'filled' },\n style: ({ theme }) => ({\n '& .MuiChip-label, & > .MuiSvgIcon-root': {\n color: theme.palette.text.primary,\n },\n }),\n },\n ...(\n ['primary', 'secondary', 'error', 'warning', 'info', 'success', 'neutral'] as const\n ).map((color) => ({\n props: { variant: 'filled' as const, color },\n style: ({ theme }: { theme: Theme }) => ({\n backgroundColor: theme.palette[color][theme.palette.mode === MODE.LIGHT ? 100 : 800],\n }),\n })),\n ],\n },\n\n MuiCircularProgress: {\n styleOverrides: {\n root: {\n [`& .${circularProgressClasses.circle}`]: {\n strokeLinecap: 'round',\n },\n },\n },\n },\n\n MuiCollapse: {\n styleOverrides: {\n root: {\n '& .MuiListItem-root': {\n minHeight: 44,\n },\n '& .MuiListItemButton-root': {\n minHeight: 44,\n paddingLeft: 12,\n },\n },\n },\n },\n\n MuiDataGrid: {\n styleOverrides: {\n root: ({ theme }) => ({\n border: 'none',\n borderRadius: 0,\n fontSize: theme.typography.body2.fontSize,\n '& .MuiDataGrid-cell': {\n display: 'flex',\n alignItems: 'center',\n borderTop: '1px solid',\n borderColor: theme.palette.background.highlight,\n },\n '& .MuiDataGrid-cell:focus': { outline: 'unset' },\n '& .MuiDataGrid-iconSeparator': { display: 'none' },\n '& .MuiDataGrid-columnHeaders': {\n backgroundColor: theme.palette.background.paper,\n borderBottom: '2px solid',\n borderColor: theme.palette.divider,\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n fontWeight: 600,\n },\n // remove default top border\n '& .MuiDataGrid-row.MuiDataGrid-row--firstVisible .MuiDataGrid-cell': {\n borderTop: 'none',\n },\n '& .MuiDataGrid-container--top [role=row]': { background: 'none' },\n '& .MuiDataGrid-row': { cursor: 'pointer' },\n '& .MuiDataGrid-columnHeader--last': { pr: 16 },\n '& .MuiDataGrid-cell--textRight': { pr: 16 },\n }),\n },\n },\n\n MuiDateRangePickerDay: {\n styleOverrides: {\n root: ({ theme }) => ({\n ':first-of-type': {\n borderTopLeftRadius: theme.shape.borderRadius,\n borderBottomLeftRadius: theme.shape.borderRadius,\n '& .MuiDateRangePickerDay-rangeIntervalDayPreview': {\n borderTopLeftRadius: theme.shape.borderRadius,\n borderBottomLeftRadius: theme.shape.borderRadius,\n },\n },\n ':last-of-type': {\n borderTopRightRadius: theme.shape.borderRadius,\n borderBottomRightRadius: theme.shape.borderRadius,\n '& .MuiDateRangePickerDay-rangeIntervalDayPreview': {\n borderTopRightRadius: theme.shape.borderRadius,\n borderBottomRightRadius: theme.shape.borderRadius,\n },\n },\n '& .Mui-selected': {\n borderRadius: theme.shape.borderRadius,\n },\n '& .MuiPickersDay-dayOutsideMonth': {\n color: theme.palette.text.secondary,\n },\n }),\n day: ({ theme }) => ({\n borderRadius: theme.shape.borderRadius,\n }),\n rangeIntervalDayPreview: ({ theme }) => ({\n borderRadius: theme.shape.borderRadius,\n }),\n },\n },\n\n MuiDayCalendar: {\n styleOverrides: {\n weekDayLabel: ({ theme }) => ({\n fontSize: theme.typography.body2.fontSize,\n fontWeight: 700,\n }),\n },\n },\n\n MuiDialog: {\n styleOverrides: {\n root: {\n '& .MuiDialog-paper': {\n minWidth: 400,\n },\n '& .MuiDialogContent-root': {\n paddingBottom: 8,\n paddingTop: 8,\n },\n },\n },\n },\n\n MuiDivider: {\n defaultProps: {\n 'aria-hidden': true,\n },\n variants: [\n {\n props: { variant: 'partialInset' },\n style: {\n marginLeft: '24px',\n },\n },\n ],\n },\n\n MuiDrawer: {\n styleOverrides: {\n root: {\n '& .MuiDrawer-paper': {\n maxWidth: 450,\n width: '100%',\n },\n },\n },\n },\n\n MuiFormControlLabel: {\n styleOverrides: {\n label: {\n fontSize: 16,\n },\n root: () => {\n const formControlLabelLeftMargin = -11\n\n return {\n marginLeft: formControlLabelLeftMargin,\n '& .MuiSwitch-root': {\n marginLeft: -formControlLabelLeftMargin,\n marginRight: 12,\n marginTop: 12,\n marginBottom: 12,\n },\n }\n },\n },\n },\n\n MuiFormHelperText: {\n styleOverrides: {\n root: ({ theme }) => ({\n fontSize: 13, // Small\n marginLeft: 0,\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n color: theme.palette.text.secondary,\n '& .MuiSvgIcon-root': {\n height: '16px',\n width: '16px',\n marginRight: '4px',\n },\n '& .MuiIcon-root': {\n marginRight: '4px',\n fontSize: '18px',\n },\n }),\n },\n },\n\n MuiFormLabel: {\n styleOverrides: {\n asterisk: {\n color: palette.error.main,\n },\n },\n },\n\n MuiIcon: {\n defaultProps: {\n // DEPRECATED: Remove after symbols font has been removed\n baseClassName: 'material-symbols-rounded',\n },\n },\n\n MuiIconButton: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n borderRadius: theme.shape.borderRadius,\n minHeight: 44, // touch target\n minWidth: 44, // touch target\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-child': {\n borderRadius: theme.shape.borderRadius,\n },\n },\n }),\n },\n },\n\n MuiInputBase: {\n styleOverrides: {\n input: ({ theme }) => ({\n // On touch devices only, 16px is the smallest size that doesn't trigger\n // iOS's focus auto-zoom; desktop keeps the default size\n '@media (hover: none) and (pointer: coarse)': {\n fontSize: '16px',\n },\n '&::placeholder': {\n color: theme.palette.text.secondary,\n opacity: 1, // MUI dims placeholders by default\n },\n }),\n },\n },\n\n MuiInputLabel: {\n defaultProps: {\n shrink: true, // Ensures the label is always shrunk\n },\n },\n\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: 4,\n },\n bar: {\n borderRadius: 4,\n },\n colorPrimary: {\n backgroundColor: palette.grey[300],\n },\n },\n },\n\n MuiLink: {\n defaultProps: {\n underline: 'always',\n },\n styleOverrides: {\n root: ({ theme }) => ({\n cursor: 'pointer',\n fontWeight: theme.typography.fontWeightRegular,\n '&:hover': {\n backgroundColor: 'transparent',\n },\n '&:active': {\n backgroundColor: 'transparent',\n },\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n }),\n },\n },\n\n MuiList: {\n styleOverrides: {\n dense: {\n '& .MuiListItemButton-root': {\n minHeight: 44,\n },\n '& .MuiListItem-root': {\n minHeight: 44,\n },\n },\n root: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n },\n\n MuiListItem: {\n defaultProps: {\n disableGutters: true,\n disablePadding: true,\n },\n styleOverrides: {\n root: ({ ownerState }) => ({\n minHeight: 64,\n ...(!ownerState.disablePadding && {\n paddingTop: 12,\n paddingBottom: 12,\n paddingLeft: 24,\n paddingRight: 24,\n }),\n }),\n },\n },\n\n MuiListItemAvatar: {\n styleOverrides: {\n root: {\n marginRight: 12,\n minWidth: 'unset',\n },\n },\n },\n\n MuiListItemButton: {\n styleOverrides: {\n root: ({ theme }) => ({\n minHeight: 64,\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 12,\n paddingBottom: 12,\n '&.Mui-focusVisible': {\n backgroundColor: 'transparent',\n borderRadius: 8,\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: -2,\n },\n }),\n },\n },\n\n MuiListItemIcon: {\n styleOverrides: {\n root: {\n minWidth: 'auto',\n marginLeft: 8,\n },\n },\n },\n\n MuiListItemText: {\n defaultProps: {\n slotProps: {\n primary: {\n fontWeight: 600,\n fontSize: 15,\n },\n secondary: {\n fontSize: 11,\n color: palette.text.secondary,\n },\n },\n },\n styleOverrides: {\n root: {\n marginTop: 0,\n marginBottom: 0,\n },\n },\n },\n\n MuiListSubheader: {\n defaultProps: {\n color: 'inherit', // without this it defaults to the secondary color\n },\n styleOverrides: {\n root: {\n lineHeight: 'inherit',\n top: -1, // This fixes an issue where there is a 1px gap when the subheader sticks to the top while scrolling\n backgroundColor: palette.background.default,\n },\n },\n },\n\n // This styles the Menu dropdown including Menus and Select dropdowns\n MuiMenu: {\n styleOverrides: {\n paper: {\n padding: `${4}px ${4}px 0`, // '(Tiny)px (Tiny)px 0'\n '& .MuiMenu-list': {\n padding: 0,\n },\n },\n },\n },\n\n MuiMenuItem: {\n styleOverrides: {\n root: {\n padding: `${12}px ${8}px`, // '(Small)px (XSmall)px'\n marginBottom: 4, // Tiny\n borderRadius: 4,\n },\n },\n },\n\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n height: '44px',\n // match the legend's paper fill below so standalone inputs (outside\n // TextField, which paints its own paper root) blend on any surface\n backgroundColor: palette.background.paper,\n '&.MuiInputBase-multiline': {\n minHeight: '44px',\n height: 'auto',\n },\n },\n notchedOutline: ({ theme }: { theme: Theme }) => ({\n // iOS WebKit bleeds a border hairline through the outline notch;\n // the hidden legend is the notch, so paint it to cover the bleed\n '& legend': {\n visibility: 'visible',\n backgroundColor: theme.palette.background.paper,\n },\n }),\n },\n },\n\n MuiPaper: {\n styleOverrides: {\n rounded: {\n borderRadius: 8,\n },\n ...(customizations?.styleOptions?.useGlass && {\n root: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n backdropFilter: 'blur(10px)',\n WebkitBackdropFilter: 'blur(10px)',\n },\n }),\n },\n },\n\n MuiPickersArrowSwitcher: {\n styleOverrides: {\n button: {\n marginLeft: 0,\n marginRight: 0,\n },\n },\n },\n\n MuiPickersDay: {\n styleOverrides: {\n today: {\n textDecoration: '2px underline',\n textUnderlineOffset: 4,\n ':not(.Mui-selected)': {\n borderWidth: 0,\n },\n },\n },\n },\n\n MuiPickersLayout: {\n styleOverrides: {\n root: {\n backgroundColor: 'transparent !important',\n padding: 16,\n },\n toolbar: {\n gridColumn: '1/4',\n '& > .MuiTypography-root': {\n textTransform: 'uppercase',\n fontSize: typography.body2.fontSize,\n fontWeight: 600,\n lineHeight: typography.body2.lineHeight,\n },\n },\n },\n },\n\n // MUI X v8 date fields do not use MuiTextField or MuiOutlinedInput, so they need their own overrides\n MuiPickersOutlinedInput: {\n styleOverrides: {\n root: {\n height: '44px',\n },\n notchedOutline: ({ theme }: { theme: Theme }) => ({\n // same notch hairline cover as MuiOutlinedInput\n '& legend': {\n visibility: 'visible',\n backgroundColor: theme.palette.background.paper,\n },\n }),\n },\n },\n\n MuiPickersTextField: {\n defaultProps: {\n InputLabelProps: {\n shrink: true,\n },\n },\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n },\n },\n },\n\n MuiPickersToolbar: {\n styleOverrides: {\n content: ({ theme }) => ({\n marginTop: 4,\n '& .MuiTypography-root': {\n fontSize: theme.typography.h3.fontSize,\n lineHeight: theme.typography.h3.lineHeight,\n },\n }),\n },\n },\n\n MuiPickersToolbarButton: {\n styleOverrides: {\n root: {\n height: 24,\n },\n },\n },\n\n MuiSnackbar: {\n defaultProps: {\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n autoHideDuration: 3500,\n },\n },\n\n MuiSwitch: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n // MUI's stock edge margins (-8) compensate for internal switch padding this\n // theme removes. The MX switch is all track, and MuiListItem defaults to\n // disableGutters so its secondaryAction anchors at right: 0 — so\n // edge=\"start\"/\"end\" instead move the switch onto the 24px content inset\n // that ListItemButton uses, aligning it with row-end elements like chevrons.\n '&.MuiSwitch-edgeStart': {\n marginLeft: '24px',\n },\n '&.MuiSwitch-edgeEnd': {\n marginRight: '24px',\n },\n width: 37,\n height: 20,\n padding: 0,\n '& .MuiSwitch-switchBase': {\n padding: 0,\n margin: 2,\n transitionDuration: '300ms',\n '&.Mui-checked': {\n transform: 'translateX(16px)',\n '& + .MuiSwitch-track': {\n backgroundColor: theme.palette.success.main,\n opacity: 1,\n border: 0,\n },\n '&.Mui-disabled + .MuiSwitch-track': {\n opacity: 0.5,\n },\n },\n '&.Mui-disabled .MuiSwitch-thumb': {\n color: theme.palette.common.white,\n },\n '&.Mui-disabled + .MuiSwitch-track': {\n backgroundColor: theme.palette.action.disabledBackground,\n opacity: 1,\n },\n },\n '& .MuiSwitch-input': {\n '&:focus-visible ~ .MuiSwitch-thumb': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: 0,\n },\n },\n '& .MuiSwitch-thumb': {\n boxSizing: 'border-box',\n backgroundColor: theme.palette.background.paper,\n width: 16,\n height: 16,\n },\n '& .MuiSwitch-track': {\n backgroundColor: theme.palette.action.active,\n borderRadius: 20 / 2,\n opacity: 1,\n },\n }),\n },\n },\n\n MuiTab: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: {\n minHeight: '44px',\n gap: '4px',\n textTransform: 'none',\n fontWeight: 600,\n '&.Mui-focusVisible': {\n outline: 'none',\n boxShadow: `inset 0 0 0 2px ${palette.info.main}`,\n borderRadius: 4,\n },\n },\n iconWrapper: {\n margin: '0px',\n },\n },\n },\n\n MuiTabs: {\n styleOverrides: {\n root: {\n minHeight: '44px',\n borderBottomStyle: 'solid',\n borderBottomWidth: '1px',\n borderColor: palette.divider,\n marginBottom: '8px',\n },\n },\n },\n\n MuiTextField: {\n defaultProps: {\n slotProps: {\n inputLabel: {\n shrink: true,\n },\n },\n variant: 'outlined',\n },\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n },\n },\n },\n\n MuiToggleButton: {\n defaultProps: {\n color: 'primary',\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n fontSize: 13,\n lineHeight: '16px',\n textTransform: 'none',\n '&:focus-visible': {\n outline: `2px solid ${palette.info.main}`,\n outlineOffset: '2px',\n },\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.primary.main,\n palette.mode === MODE.LIGHT ? 0.1 : 0.2,\n ),\n borderColor: theme.palette.primary.main,\n },\n '&.Mui-selected': {\n fontWeight: 600,\n borderColor: theme.palette.primary.main,\n '&:hover': {\n boxShadow: `inset 0px 0px 0px 2px ${theme.palette.primary.main}`,\n },\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-child': {\n backgroundColor: theme.palette.primary.main,\n borderRadius: theme.shape.borderRadius,\n },\n },\n }),\n },\n variants: [\n {\n props: { color: 'primary' },\n style: ({ theme }) => ({\n '&.Mui-selected': {\n color: theme.palette.primary.dark,\n },\n }),\n },\n {\n props: { color: 'error' },\n style: {\n '&:hover': {\n backgroundColor: alpha(palette.error.main, palette.mode === MODE.LIGHT ? 0.1 : 0.2),\n borderColor: palette.error.main,\n },\n '&.Mui-selected': {\n borderColor: palette.error.main,\n '&:hover': {\n boxShadow: `inset 0px 0px 0px 2px ${palette.error.main}`,\n },\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-ripple': {\n '& .MuiTouchRipple-child': {\n backgroundColor: palette.error.main,\n },\n },\n },\n },\n },\n {\n props: { color: 'standard' },\n style: {\n '&:hover': {\n backgroundColor: alpha(\n palette.secondary.main,\n palette.mode === MODE.LIGHT ? 0.1 : 0.2,\n ),\n borderColor: palette.secondary.main,\n },\n '&.Mui-selected': {\n borderColor: palette.secondary.main,\n '&:hover': {\n boxShadow: `inset 0px 0px 0px 2px ${palette.secondary.main}`,\n },\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-ripple': {\n '& .MuiTouchRipple-child': {\n backgroundColor: palette.secondary.main,\n },\n },\n },\n },\n },\n ],\n },\n\n MuiToggleButtonGroup: {\n styleOverrides: {\n root: {\n '& .MuiToggleButton-middleButton': {\n marginLeft: 0,\n borderLeft: 'unset',\n },\n },\n },\n },\n\n MuiTooltip: {\n defaultProps: {\n arrow: true,\n },\n },\n },\n })\n}\n"],"names":["BaseIcon","children","height","size","viewBox","width","jsx","Icon","color","fill","name","sx","rest","MxIcon","MXLogoIcon","baseIconProps","jsxs","MXLogoCopyrightIcon","MXLogoFilledIcon","MXLogoOutlineIcon","CategoryGuids","CategoryIconVariants","UncategorizedCategoryIcon","CategoryIconList","DEFAULT_ICON_SIZE_RATIO","CategoryIcon","categoryGuid","icon_ratio","variant","theme","useTheme","categoryIcon","React","i","categoryColor","Stack","backgroundColor","DatePickerShortcuts","items","selected","setValue","usePickerContext","isValid","useIsValidValue","shortcutItems","item","newValue","Box","ToggleButtonGroup","ToggleButton","DatePickerShortcutsSmall","selectLabel","TextField","ExpandMore","shortcut","MenuItem","DateRangePickerSmallLayout","props","toolbar","content","shortcuts","ownerState","usePickerLayout","PickersLayoutRoot","pickersLayoutClasses","PickersLayoutContentWrapper","DateRangePicker","copy","dateRange","onRangeChanged","selectedShortcut","isSmall","useMediaQuery","today","startOfToday","lastMonth","subMonths","lastYear","subYears","startOfMonth","endOfMonth","subDays","startOfYear","endOfYear","handleRangeChanged","range","context","LocalizationProvider","AdapterDateFns","StaticDateRangePicker","BottomSheetTransition","ref","Slide","Footer","hasSecondaryAction","isPrimaryDisabled","onPrimaryAction","onSecondaryAction","primaryColor","primaryText","secondaryColor","secondaryText","Button","Text","bold","className","truncate","uppercase","Typography","H1","H2","H3","P","DialogHeader","ariaHidden","id","onClose","IconButton","Close","Drawer","disableSave","isOpen","onSave","MuiDrawer","DEFAULT_LOGO_SIZE","ASSETS_URL","DEFAULT_LOGO","InstitutionLogo","alt","institutionGuid","logoUrl","event","target","MerchantLogo","merchantGuid","isError","setIsError","disabled","label","shrink","MuiTextField","SlideTransition","Toast","open","handleClose","closeAriaLabel","message","autoHideDuration","severity","snackbarSx","showAction","showClose","actionText","onActionClick","action","Snackbar","Alert","SelectionBox","component","Radio","onChange","headline","value","error","icon","getBackgroundColor","getBoxShadow","alpha","getHoverBackgroundColor","getHoverBoxShadow","getActiveBackgroundColor","FormControlLabel","Checkbox","MODE","Tag","isLight","colorKey","generatePalette","main","lighten","darken","WHITE","BLACK","DEFAULT_BACKGROUND_LIGHT","DEFAULT_BACKGROUND_DARK","DEFAULT_PAPER_LIGHT","DEFAULT_PAPER_DARK","CORE_COLORS","CHART","CHART_MONO","CATEGORIES_LIGHT","CATEGORIES_DARK","getPalette","mode","paletteCustomizations","primary","secondary","warning","info","success","grey","getContrastRatio","INTER","getTypography","typographyOptions","fontFamily","headerFontFamily","LicenseInfo","createMXTheme","customizations","palette","typography","shadows","createTheme","isWarning","sizeTypography","circularProgressClasses"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/icon/BaseIcon.tsx","../src/components/icon/Icon.tsx","../src/components/icon/icons/MXLogoIcon.tsx","../src/components/icon/icons/MXLogoCopyrightIcon.tsx","../src/components/icon/icons/MXLogoFilledIcon.tsx","../src/components/icon/icons/MXLogoOutlineIcon.tsx","../src/components/categoryicon/Constants.ts","../src/components/categoryicon/CategoryIconList.tsx","../src/components/categoryicon/CategoryIcon.tsx","../src/components/daterangepicker/DatePickerShortcuts.tsx","../src/components/daterangepicker/small/DatePickerShortcutsSmall.tsx","../src/components/daterangepicker/small/DateRangePickerSmall.tsx","../src/components/daterangepicker/DateRangePicker.tsx","../src/components/dialog/BottomSheetTransition.tsx","../src/components/drawer/Footer.tsx","../src/components/text/Text.tsx","../src/components/dialog/Header.tsx","../src/components/drawer/Drawer.tsx","../src/constants/Logo.ts","../src/components/institutionlogo/InstitutionLogo.tsx","../src/components/merchantlogo/MerchantLogo.tsx","../src/components/textfield/TextField.tsx","../src/components/toast/Toast.tsx","../src/components/selectionbox/SelectionBox.tsx","../src/constants/Theme.ts","../src/components/tag/Tag.tsx","../src/utils/generatePalette.ts","../src/themes/Colors.ts","../src/themes/Palette.ts","../src/themes/Typography.ts","../src/themes/MXTheme.tsx"],"sourcesContent":["import React from 'react'\nexport interface BaseIconProps {\n height?: number\n size?: number\n viewBox?: string\n width?: number\n}\n\nexport interface IconProps extends BaseIconProps {\n color?: string\n}\n\nexport const BaseIcon: React.FC<React.PropsWithChildren<BaseIconProps>> = ({\n children,\n height,\n size = 16,\n viewBox = '0 0 16 16',\n width,\n}) => {\n return (\n <svg\n aria-hidden={true}\n className=\"mx-kmui-icon\"\n focusable={false}\n height={height || size}\n viewBox={viewBox}\n width={width || size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {children}\n </svg>\n )\n}\n","import { SvgIconProps } from '@mui/material/SvgIcon'\n\nimport { Icon as MxIcon } from '@mxenabled/mx-icons'\n\nexport interface IconProps extends Omit<SvgIconProps, 'fill'> {\n fill?: boolean\n name: string\n size?: number\n}\n\nexport const Icon = ({ color, fill = false, name, size = 20, sx, ...rest }: IconProps) => {\n return <MxIcon color={color} fill={fill} name={name} size={size} sx={sx} {...rest} />\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\n\nexport const MXLogoIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n d=\"M14.368 4.5h1.604c.024 0 .037.028.021.044L13.28 7.992c-.008.008-.008.025 0 .032l2.714 3.448c.016.02 0 .045-.021.045h-1.604a.023.023 0 01-.02-.013l-1.895-2.46c-.009-.01-.029-.01-.041 0l-1.895 2.46a.022.022 0 01-.02.013H8.892c-.02 0-.031-.03-.02-.045l2.713-3.448c.008-.007.008-.024 0-.032L8.871 4.544a.027.027 0 01.021-.044h1.605c.008 0 .015.004.02.013l1.895 2.458c.008.013.028.013.04 0l1.896-2.458a.023.023 0 01.02-.013z\"\n fill={color}\n />\n <path\n d=\"M8.242 11.363l1.056-1.293a.047.047 0 00.012-.029l-.81-5.5c-.004-.02-.02-.036-.04-.036H7.39c-.016 0-.032.008-.036.024L4.816 9.668c-.015.032-.06.032-.073 0l-2.562-5.14c-.009-.015-.02-.023-.036-.023h-1.08c-.021 0-.038.016-.043.036L.001 11.472a.042.042 0 00.04.049H1.29c.02 0 .042-.016.042-.036l.616-4.505c.004-.04.063-.048.08-.011L4.287 11.5c.008.017.021.024.037.024h.884c.016 0 .033-.008.037-.024l2.235-4.508c.015-.037.074-.029.078.011l.608 4.338c.005.037.054.048.075.021z\"\n fill={color}\n />\n </BaseIcon>\n )\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\nexport const MXLogoCopyrightIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n d=\"M7.93 11l.871-1.124c.01-.01.01-.02.01-.03l-.77-5.305c0-.02-.02-.041-.04-.041H7a.059.059 0 00-.024.008.077.077 0 00-.017.012l-2.4 4.89c-.005.019-.026.026-.043.023a.034.034 0 01-.027-.022l-2.42-4.89a.139.139 0 00-.01-.01.046.046 0 00-.031-.011H1.016c-.02 0-.04.01-.04.04l-.972 6.673c-.01.02.01.04.04.04h1.175c.02 0 .04-.01.04-.04l.587-4.273c.01-.04.061-.05.081-.01l2.137 4.303a.17.17 0 00.01.009.045.045 0 00.03.011h.83c.01 0 .03-.01.041-.02L7.08 6.981c.02-.04.07-.03.08.01l.578 4.14c.01.041.05.051.07.021L7.93 11z\"\n fill={color}\n />\n <path\n d=\"M15.079 4.5H13.6c-.004 0-.008.002-.013.004h-.002a.1.1 0 01-.009.004.057.057 0 01-.016.002L11.788 6.83c-.01.02-.05.02-.07 0L9.944 4.51a.03.03 0 00-.01-.007c-.008-.003-.017-.003-.03-.003H8.427c-.04 0-.051.04-.04.07l2.54 3.291c.01.01.01.041 0 .051l-2.52 3.28c-.02.031 0 .071.04.071h1.478a.031.031 0 00.011-.002c.008-.003.016-.008.03-.008l1.771-2.318c.01-.02.051-.02.071 0l1.772 2.318c.01.01.02.01.04.01h1.469c.04 0 .05-.04.04-.07l-2.541-3.291a.023.023 0 01-.005-.01.047.047 0 01-.002-.008c-.002-.012 0-.026.007-.033l2.541-3.29c0-.02-.01-.061-.05-.061z\"\n fill={color}\n />\n <path\n clipRule=\"evenodd\"\n d=\"M15.666 10.97l.101.142h.06l-.1-.152a.11.11 0 00.09-.112c0-.07-.06-.111-.12-.111h-.153v.375h.061v-.142h.06zm-.05-.182h.09c.03 0 .061.03.071.07 0 .041-.04.061-.07.061h-.092v-.131z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M15.352 10.93a.32.32 0 00.324.323.32.32 0 00.324-.324.32.32 0 00-.324-.324.32.32 0 00-.324.324zm.05 0c0-.152.122-.274.274-.274.152 0 .273.121.273.273a.272.272 0 01-.273.274.272.272 0 01-.273-.274z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </BaseIcon>\n )\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\n\nexport const MXLogoFilledIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n clipRule=\"evenodd\"\n d=\"M16 0H0V16H16V0ZM13.979 5.5H12.7758C12.7703 5.5 12.7639 5.50299 12.7607 5.50897L11.3396 7.25908C11.3301 7.26805 11.3151 7.26805 11.3087 7.25908L9.8876 5.50897C9.88443 5.50299 9.87888 5.5 9.87254 5.5H8.66938C8.65353 5.5 8.64244 5.51719 8.65353 5.53139L10.6889 7.98543C10.6945 7.99141 10.6945 8.00336 10.6889 8.00859L8.65353 10.4626C8.64561 10.4738 8.65353 10.4948 8.66938 10.4948H9.87254C9.87888 10.4948 9.88443 10.4918 9.8876 10.4858L11.3087 8.73494C11.3182 8.72672 11.3333 8.72672 11.3396 8.73494L12.7607 10.4858C12.7639 10.4918 12.7703 10.4948 12.7758 10.4948H13.979C13.9948 10.4948 14.0067 10.4768 13.9948 10.4626L11.9594 8.00859C11.9531 8.00336 11.9531 7.99141 11.9594 7.98543L13.9948 5.53139C14.0067 5.52018 13.9972 5.5 13.979 5.5ZM8.97366 9.46462L8.18186 10.3853C8.166 10.4047 8.12875 10.3965 8.12558 10.3703L7.66905 7.28258C7.66588 7.25419 7.62229 7.24821 7.6104 7.27436L5.93486 10.4831C5.93168 10.4951 5.919 10.5003 5.90711 10.5003H5.24371C5.23183 10.5003 5.22231 10.4951 5.21597 10.4831L3.51982 7.25717C3.50714 7.23102 3.46355 7.23625 3.46038 7.26539L2.9983 10.4719C2.9983 10.4861 2.98245 10.4973 2.96659 10.4973H2.03133C2.01231 10.4973 1.99725 10.4802 2.00042 10.463L2.76686 5.52948C2.77003 5.51528 2.78271 5.50333 2.79856 5.50333H3.60859C3.62048 5.50333 3.6292 5.5093 3.63554 5.52051L5.55758 9.17841C5.5663 9.20158 5.60038 9.20158 5.61227 9.17841L7.51529 5.52051C7.51846 5.5093 7.53034 5.50333 7.54303 5.50333H8.34434C8.3594 5.50333 8.37208 5.51528 8.37525 5.52948L8.98238 9.44444C8.98238 9.45042 8.9792 9.45864 8.97366 9.46462Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </BaseIcon>\n )\n}\n","import React from 'react'\n\nimport { BaseIcon, IconProps } from '../BaseIcon'\nexport const MXLogoOutlineIcon: React.FC<React.PropsWithChildren<IconProps>> = ({\n color = 'currentColor',\n ...baseIconProps\n}) => {\n return (\n <BaseIcon {...baseIconProps}>\n <path\n d=\"M12.662 5.973h-.94a.013.013 0 00-.012.007L10.6 7.42c-.007.008-.019.008-.024 0l-1.11-1.44a.013.013 0 00-.011-.007h-.94c-.012 0-.02.014-.012.026l1.59 2.02c.004.004.004.014 0 .018l-1.59 2.02c-.006.009 0 .026.012.026h.94c.005 0 .009-.002.012-.008l1.11-1.44c.007-.007.018-.007.024 0l1.11 1.44a.013.013 0 00.011.008h.94a.016.016 0 00.012-.027l-1.59-2.019c-.004-.004-.004-.014 0-.019l1.59-2.02c.01-.008.002-.025-.012-.025z\"\n fill={color}\n />\n <path\n d=\"M8.753 9.235l-.619.758c-.012.015-.041.009-.044-.013l-.356-2.54c-.003-.024-.037-.029-.046-.007l-1.308 2.64c-.003.01-.013.014-.022.014H5.84c-.01 0-.017-.004-.022-.014L4.494 7.42c-.01-.022-.044-.018-.047.006l-.36 2.639c0 .011-.013.02-.026.02h-.73a.025.025 0 01-.024-.027l.599-4.06c.002-.012.012-.022.024-.022h.633c.01 0 .016.005.02.015L6.086 9c.007.019.033.019.043 0l1.486-3.01c.002-.01.012-.015.021-.015h.626c.012 0 .022.01.024.022l.475 3.221a.027.027 0 01-.007.017z\"\n fill={color}\n />\n <path\n clipRule=\"evenodd\"\n d=\"M0 16V0h16v16H0zM1 1h14v14H1V1z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </BaseIcon>\n )\n}\n","export enum CategoryGuids {\n AutoTransport = 'CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874',\n BillsUtilities = 'CAT-79b02f2f-2adc-88f0-ac2b-4e71ead9cfc8',\n BusinessServices = 'CAT-94b11142-e97b-941a-f67f-6e18d246a23f',\n Education = 'CAT-bf5c9cca-c96b-b50d-440d-38d9adfda5b0',\n Entertainment = 'CAT-e04e9d1e-e041-c315-2e50-094143ab3f73',\n FeesCharges = 'CAT-d73ee74b-13a4-ac3e-4015-fc4ba9a62b2a',\n Financial = 'CAT-6c7de3f8-de6c-7061-1dd2-b093044014bf',\n FoodDining = 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a',\n GiftsDonations = 'CAT-8edf9663-623e-4735-490e-31288f0a70b0',\n HealthFitness = 'CAT-52fa4693-c088-afb2-2a99-7bc39bb23a0f',\n Home = 'CAT-b709172b-4eb7-318e-3b5d-e0f0500b32ac',\n Income = 'CAT-bf9f3294-4c40-1677-d269-54fbc189faf3',\n Investments = 'CAT-ccd42390-9e8c-3fb6-a5d9-6c31182d9c5c',\n Kids = 'CAT-0cb1d99d-f558-99e3-2282-b31f359b411a',\n PersonalCare = 'CAT-e5154228-fe45-790d-a280-f6bf5ae5ac9f',\n Pets = 'CAT-7cccbafa-87d7-c9a6-661b-8b3402fe9e78',\n Shopping = 'CAT-aad51b46-d6f7-3da5-fd6e-492328b3023f',\n Taxes = 'CAT-d00fc539-aa14-009b-4ffb-7e8c7b839954',\n Transfer = 'CAT-bce48142-fea4-ff45-20d9-0a642d44de83',\n Travel = 'CAT-ea23d844-cbd1-eb10-f6ac-0df9610e59ae',\n Uncategorized = 'CAT-d7851c65-3353-e490-1953-fb9235e681e4',\n}\n\nexport enum CategoryIconVariants {\n Basic = 'basic',\n Filled = 'filled',\n Transparent = 'transparent',\n TwoTone = 'two-tone',\n}\n","import { CategoryGuids } from './Constants'\n\ntype CategoryIconType = {\n guid: string\n colorName: string\n icon: string\n}\n\nexport const UncategorizedCategoryIcon: CategoryIconType = {\n guid: CategoryGuids.Uncategorized,\n colorName: 'uncategorized',\n icon: 'category',\n}\n\nexport const CategoryIconList: CategoryIconType[] = [\n {\n guid: CategoryGuids.AutoTransport,\n colorName: 'autoTransport',\n icon: 'directions_car',\n },\n {\n guid: CategoryGuids.BillsUtilities,\n colorName: 'billsUtilities',\n icon: 'electrical_services',\n },\n {\n guid: CategoryGuids.BusinessServices,\n colorName: 'businessServices',\n icon: 'business_center',\n },\n {\n guid: CategoryGuids.Education,\n colorName: 'education',\n icon: 'school',\n },\n {\n guid: CategoryGuids.Entertainment,\n colorName: 'entertainment',\n icon: 'stadium',\n },\n {\n guid: CategoryGuids.FeesCharges,\n colorName: 'feesCharges',\n icon: 'problem',\n },\n {\n guid: CategoryGuids.Financial,\n colorName: 'financial',\n icon: 'price_check',\n },\n {\n guid: CategoryGuids.FoodDining,\n colorName: 'foodDining',\n icon: 'grocery',\n },\n {\n guid: CategoryGuids.GiftsDonations,\n colorName: 'giftsDonations',\n icon: 'featured_seasonal_and_gifts',\n },\n {\n guid: CategoryGuids.HealthFitness,\n colorName: 'healthFitness',\n icon: 'ecg_heart',\n },\n {\n guid: CategoryGuids.Home,\n colorName: 'home',\n icon: 'cottage',\n },\n {\n guid: CategoryGuids.Income,\n colorName: 'income',\n icon: 'monetization_on',\n },\n {\n guid: CategoryGuids.Investments,\n colorName: 'investments',\n icon: 'bid_landscape',\n },\n {\n guid: CategoryGuids.Kids,\n colorName: 'kids',\n icon: 'face',\n },\n {\n guid: CategoryGuids.PersonalCare,\n colorName: 'personalCare',\n icon: 'volunteer_activism',\n },\n {\n guid: CategoryGuids.Pets,\n colorName: 'pets',\n icon: 'pet_supplies',\n },\n {\n guid: CategoryGuids.Shopping,\n colorName: 'shopping',\n icon: 'shopping_cart',\n },\n {\n guid: CategoryGuids.Taxes,\n colorName: 'taxes',\n icon: 'heap_snapshot_large',\n },\n {\n guid: CategoryGuids.Transfer,\n colorName: 'transfer',\n icon: 'compare_arrows',\n },\n {\n guid: CategoryGuids.Travel,\n colorName: 'travel',\n icon: 'airplane_ticket',\n },\n UncategorizedCategoryIcon,\n]\n","import React from 'react'\n\nimport Stack from '@mui/material/Stack'\nimport { SxProps, useTheme } from '@mui/material/styles'\n\nimport { Icon } from '../icon'\nimport { CategoryIconList, UncategorizedCategoryIcon } from './CategoryIconList'\n\nconst DEFAULT_ICON_SIZE_RATIO = 0.625\n\ninterface CategoryIconProps {\n categoryGuid?: string\n icon_ratio?: number\n size?: number\n sx?: SxProps\n variant?: 'basic' | 'filled' | 'transparent' | 'twotone'\n}\n\nexport const CategoryIcon: React.FC<CategoryIconProps> = ({\n categoryGuid,\n icon_ratio = DEFAULT_ICON_SIZE_RATIO,\n size = 32,\n sx = {},\n variant = 'filled',\n}) => {\n const theme = useTheme()\n\n const categoryIcon = React.useMemo(\n () => CategoryIconList.find((i) => i.guid === categoryGuid) ?? UncategorizedCategoryIcon,\n [categoryGuid],\n )\n\n // @ts-expect-error Typescript has an issue when using a string from an object for lookups\n const categoryColor = theme.palette.categories[categoryIcon.colorName]\n\n const backgroundColor = () => {\n let backgroundColor = categoryColor\n if (variant === 'twotone') {\n backgroundColor = `${backgroundColor}20`\n }\n return variant === 'transparent' || variant === 'basic' ? 'transparent' : backgroundColor\n }\n\n const color = () => {\n const color = variant === 'filled' ? theme.palette.common.white : categoryColor\n return variant === 'basic' ? theme.palette.text.primary : color\n }\n\n return (\n <Stack\n alignItems=\"center\"\n bgcolor={backgroundColor}\n borderRadius={1}\n color={color}\n height={size}\n justifyContent=\"center\"\n sx={[...(Array.isArray(sx) ? sx : [sx])]}\n width={size}\n >\n <Icon name={categoryIcon.icon} size={size * icon_ratio} />\n </Stack>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport ToggleButton from '@mui/material/ToggleButton'\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup'\nimport { useTheme } from '@mui/material/styles'\n\nimport {\n DateRange,\n PickersShortcutsProps,\n useIsValidValue,\n usePickerContext,\n} from '@mui/x-date-pickers-pro'\n\ninterface DatePickerShortcutProps extends PickersShortcutsProps<DateRange<Date>> {\n selected?: string\n}\n\nconst DatePickerShortcuts: React.FC<DatePickerShortcutProps> = ({ items, selected }) => {\n const theme = useTheme()\n const { setValue } = usePickerContext<DateRange<Date>>()\n const isValid = useIsValidValue<DateRange<Date>>()\n\n const shortcutItems = items?.map((item) => {\n const newValue = item.getValue({ isValid })\n\n return {\n label: item.label,\n onClick: () => {\n setValue(newValue, { changeImportance: 'accept', shortcut: item })\n },\n disabled: !isValid(newValue),\n }\n })\n\n return (\n <Box sx={{ gridColumn: 1, gridRow: '2/3', ml: '4px', mt: '24px', mr: '32px' }}>\n <ToggleButtonGroup color=\"primary\" orientation=\"vertical\" value={selected}>\n {shortcutItems?.map((item) => (\n <ToggleButton\n key={item.label}\n onClick={item.onClick}\n sx={{\n borderWidth: 1,\n color: 'secondary.dark',\n fontSize: 12,\n fontWeight: 700,\n minWidth: 180,\n '&:focus': {\n boxShadow: '0px 0px 0px 2px rgba(82, 138, 224, 0.8)',\n },\n '&:hover': {\n bgcolor: theme.palette.action.hover,\n borderTop: `1px solid ${theme.palette.secondary.light}`,\n },\n '&.Mui-selected': {\n border: `2px solid ${theme.palette.primary.main} !important`,\n marginTop: '-2px !important',\n color: 'primary',\n },\n }}\n value={item.label}\n >\n {item.label}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n </Box>\n )\n}\n\nexport default DatePickerShortcuts\n","import React from 'react'\n\nimport MenuItem from '@mui/material/MenuItem'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\n\nimport {\n DateRange,\n PickersShortcutsProps,\n useIsValidValue,\n usePickerContext,\n} from '@mui/x-date-pickers-pro'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\ninterface DatePickerShortcutsSmallProps extends PickersShortcutsProps<DateRange<Date>> {\n selectLabel: string\n selected?: string\n}\n\nconst DatePickerShortcutsSmall: React.FC<DatePickerShortcutsSmallProps> = ({\n items,\n selected,\n selectLabel,\n}) => {\n const { setValue } = usePickerContext<DateRange<Date>>()\n const isValid = useIsValidValue<DateRange<Date>>()\n const shortcutItems = items?.map((item) => {\n const newValue = item.getValue({ isValid })\n\n return {\n label: item.label,\n onClick: () => {\n setValue(newValue, { changeImportance: 'accept', shortcut: item })\n },\n disabled: !isValid(newValue),\n }\n })\n\n return (\n <Stack sx={{ py: '16px' }}>\n <TextField\n defaultValue={selected}\n id=\"select\"\n label={selectLabel}\n select={true}\n slotProps={{ inputLabel: { shrink: true }, select: { IconComponent: ExpandMore } }}\n sx={{ width: '100%' }}\n value={selected}\n variant=\"outlined\"\n >\n {shortcutItems?.map((shortcut) => (\n <MenuItem key={shortcut.label} onClick={shortcut.onClick} value={shortcut.label}>\n {shortcut.label}\n </MenuItem>\n ))}\n </TextField>\n </Stack>\n )\n}\n\nexport default DatePickerShortcutsSmall\n","import Stack from '@mui/material/Stack'\n\nimport { DateRange } from '@mui/x-date-pickers-pro'\n\nimport {\n PickersLayoutProps,\n usePickerLayout,\n pickersLayoutClasses,\n PickersLayoutRoot,\n PickersLayoutContentWrapper,\n} from '@mui/x-date-pickers/PickersLayout'\n\nconst DateRangePickerSmallLayout = (props: PickersLayoutProps<DateRange<Date>>) => {\n const { toolbar, content, shortcuts, ownerState } = usePickerLayout(props)\n\n return (\n <PickersLayoutRoot\n ownerState={ownerState}\n sx={{\n gridTemplateColumns: 'minmax(320px, 1fr)',\n overflow: 'auto',\n p: 0,\n [`.${pickersLayoutClasses.toolbar}`]: {\n gridColumn: 1,\n gridRow: 2,\n },\n [`.${pickersLayoutClasses.contentWrapper}`]: {\n alignItems: 'center',\n gridColumn: 1,\n gridRow: 3,\n },\n }}\n >\n <Stack sx={{ gridColumn: 1, gridRow: 1, p: '16px' }}>\n {shortcuts}\n {toolbar}\n </Stack>\n <PickersLayoutContentWrapper\n className={pickersLayoutClasses.contentWrapper}\n ownerState={ownerState}\n >\n {content}\n </PickersLayoutContentWrapper>\n </PickersLayoutRoot>\n )\n}\n\nexport default DateRangePickerSmallLayout\n","import React from 'react'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { endOfYear } from 'date-fns/endOfYear'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfYear } from 'date-fns/startOfYear'\nimport { subDays } from 'date-fns/subDays'\nimport { subMonths } from 'date-fns/subMonths'\nimport { subYears } from 'date-fns/subYears'\n\nimport Stack from '@mui/material/Stack'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport { SxProps, useTheme } from '@mui/material/styles'\n\nimport {\n DateRange,\n DateRangeValidationError,\n LocalizationProvider,\n PickerChangeHandlerContext,\n PickersShortcutsItem,\n PickersShortcutsProps,\n StaticDateRangePicker,\n} from '@mui/x-date-pickers-pro'\nimport { AdapterDateFns } from '@mui/x-date-pickers-pro/AdapterDateFns'\n\nimport { Icon } from '../icon'\n\nimport DatePickerShortcuts from './DatePickerShortcuts'\nimport DatePickerShortcutsSmall from './small/DatePickerShortcutsSmall'\nimport DateRangePickerSmallLayout from './small/DateRangePickerSmall'\n\nexport type DateRangePickerCopy = {\n dateRangeFrom: string\n dateRangeTo: string\n dateRangeCustom: string\n dateRangeSelectARange: string\n dateRangeThisMonth: string\n dateRangeLastMonth: string\n dateRangeLast30Days: string\n dateRangeLast90Days: string\n dateRangeYTD: string\n dateRangeLastYear: string\n dateRangeSelect: string\n dateRangeToolbarTitle: string\n}\n\nexport interface DateRangePickerProps {\n copy: DateRangePickerCopy\n dateRange: DateRange<Date>\n onRangeChanged?: (dateRange: DateRange<Date>, shortcut: string) => void\n selectedShortcut?: string\n sx?: SxProps\n}\n\nconst DateRangePicker: React.FC<DateRangePickerProps> = ({\n copy,\n dateRange,\n onRangeChanged,\n selectedShortcut = copy.dateRangeThisMonth,\n sx = {},\n}) => {\n const theme = useTheme()\n const isSmall = useMediaQuery(theme.breakpoints.down('sm'))\n\n const shortcutItems: PickersShortcutsItem<DateRange<Date>>[] = React.useMemo(() => {\n const today = startOfToday()\n const lastMonth = subMonths(today, 1)\n const lastYear = subYears(today, 1)\n\n return [\n {\n label: copy.dateRangeThisMonth,\n getValue: () => [startOfMonth(today), endOfMonth(today)],\n },\n {\n label: copy.dateRangeLastMonth,\n getValue: () => [startOfMonth(lastMonth), endOfMonth(lastMonth)],\n },\n {\n label: copy.dateRangeLast30Days,\n getValue: () => [subDays(today, 30), today],\n },\n {\n label: copy.dateRangeLast90Days,\n getValue: () => [subDays(today, 90), today],\n },\n {\n label: copy.dateRangeYTD,\n getValue: () => [startOfYear(today), today],\n },\n {\n label: copy.dateRangeLastYear,\n getValue: () => [startOfYear(lastYear), endOfYear(lastYear)],\n },\n {\n label: copy.dateRangeCustom,\n getValue: () => [today, today],\n },\n ]\n }, [copy])\n\n const handleRangeChanged = (\n range: DateRange<Date>,\n context: PickerChangeHandlerContext<DateRangeValidationError>,\n ) => {\n const shortcut = context.shortcut\n onRangeChanged?.(range, shortcut ? shortcut.label : copy.dateRangeCustom)\n }\n\n return (\n <Stack gap={isSmall ? 0 : '16px'} m={isSmall ? 0 : '8px'}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <StaticDateRangePicker\n calendars={1}\n localeText={{\n start: copy.dateRangeFrom,\n end: copy.dateRangeTo,\n toolbarTitle: copy.dateRangeToolbarTitle,\n }}\n onChange={handleRangeChanged}\n showDaysOutsideCurrentMonth={true}\n slotProps={{\n actionBar: { actions: [] },\n layout: {\n sx: {\n '& .MuiPickersLayout-toolbar': {\n gridColumn: '1/4',\n gridRow: 1,\n },\n },\n },\n shortcuts: {\n items: shortcutItems,\n },\n toolbar: {\n toolbarFormat: 'MMM d, yyyy',\n },\n }}\n slots={{\n ...(isSmall && { layout: DateRangePickerSmallLayout }),\n leftArrowIcon: () => <Icon name=\"chevron_left\" size={28} />,\n shortcuts: (props: PickersShortcutsProps<DateRange<Date>>) =>\n isSmall ? (\n <DatePickerShortcutsSmall\n selectLabel={copy.dateRangeSelectARange}\n selected={selectedShortcut}\n {...props}\n />\n ) : (\n <DatePickerShortcuts selected={selectedShortcut} {...props} />\n ),\n rightArrowIcon: () => <Icon name=\"chevron_right\" size={28} />,\n }}\n sx={{ ...sx }}\n value={dateRange}\n />\n </LocalizationProvider>\n </Stack>\n )\n}\n\nexport default DateRangePicker\n","import React from 'react'\nimport Slide from '@mui/material/Slide'\nimport { TransitionProps } from '@mui/material/transitions'\n\nconst BottomSheetTransition = React.forwardRef(function Transition(\n props: TransitionProps & {\n children: React.ReactElement<any, any>\n },\n ref: React.Ref<unknown>,\n) {\n return <Slide direction=\"up\" ref={ref} {...props} />\n})\n\nexport default BottomSheetTransition\n","import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\ntype FooterProps = {\n hasSecondaryAction?: boolean\n isPrimaryDisabled?: boolean\n onPrimaryAction?: (formData: any) => void\n onSecondaryAction: () => void\n primaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n primaryText?: string\n secondaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n secondaryText?: string\n}\n\nconst Footer: React.FC<FooterProps> = ({\n hasSecondaryAction = true,\n isPrimaryDisabled,\n onPrimaryAction,\n onSecondaryAction,\n primaryColor = 'primary',\n primaryText = 'Save',\n secondaryColor = 'primary',\n secondaryText = 'Cancel',\n}) => {\n return (\n <Stack\n direction=\"row\"\n gap=\"16px\"\n justifyContent=\"flex-end\"\n sx={{ bgcolor: 'background.paper', p: '24px' }}\n >\n {hasSecondaryAction && (\n <Button\n color={secondaryColor}\n onClick={onSecondaryAction}\n variant={onPrimaryAction ? 'text' : 'contained'}\n >\n {secondaryText}\n </Button>\n )}\n\n {onPrimaryAction && (\n <Button\n color={primaryColor}\n disabled={isPrimaryDisabled}\n onClick={onPrimaryAction}\n variant=\"contained\"\n >\n {primaryText}\n </Button>\n )}\n </Stack>\n )\n}\n\nexport default Footer\n","import Typography, { type TypographyProps } from '@mui/material/Typography'\n\ninterface TextType extends TypographyProps {\n bold?: boolean\n className?: string\n /* Note: noWrap works the same as truncate */\n truncate?: boolean\n uppercase?: boolean\n}\n\nexport const Text = ({\n bold,\n className = '',\n children,\n color,\n sx = {},\n truncate,\n uppercase,\n ...rest\n}: TextType) => {\n return (\n <Typography\n className={`mx-kmui-text ${className}`}\n color={color}\n sx={[\n bold\n ? {\n fontWeight: 600,\n }\n : {},\n truncate\n ? {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }\n : {},\n uppercase\n ? {\n textTransform: 'uppercase',\n }\n : {},\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...rest}\n >\n {children}\n </Typography>\n )\n}\n\nexport const H1 = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text h1 ${className}`} component=\"h1\" variant=\"h1\" {...rest}>\n {children}\n </Text>\n )\n}\n\nexport const H2 = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text h2 ${className}`} component=\"h2\" variant=\"h2\" {...rest}>\n {children}\n </Text>\n )\n}\n\nexport const H3 = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text h3 ${className}`} component=\"h3\" variant=\"h3\" {...rest}>\n {children}\n </Text>\n )\n}\n\nexport const P = ({ className = '', children, ...rest }: TextType) => {\n return (\n <Text className={`mx-mxui-text p ${className}`} component=\"p\" variant=\"body1\" {...rest}>\n {children}\n </Text>\n )\n}\n","import React from 'react'\n\nimport { Close } from '@mxenabled/mx-icons'\n\nimport IconButton from '@mui/material/IconButton'\nimport Stack from '@mui/material/Stack'\n\nimport { H1 } from '../text'\n\nexport type CopyObject = {\n close_aria?: string\n title: string\n}\n\ntype DialogHeaderProps = {\n copy: CopyObject\n /**\n * Sets `aria-hidden` on the (still visible) heading. Only takes effect when\n * `id` is also set, so the heading's text remains reachable as the dialog's\n * accessible name via `aria-labelledby`: the dialog is announced once on open\n * and the heading is no longer re-read as content.\n */\n ariaHidden?: boolean\n /** Forwarded to the heading so a dialog can set aria-labelledby to it. */\n id?: string\n onClose: () => void\n truncate?: boolean\n}\n\nconst DialogHeader: React.FC<DialogHeaderProps> = ({\n ariaHidden = false,\n copy,\n id,\n onClose,\n truncate = false,\n}) => {\n return (\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: '24px',\n py: '14px',\n }}\n >\n <H1\n aria-hidden={ariaHidden && id ? true : undefined}\n id={id}\n truncate={truncate}\n variant=\"h3\"\n >\n {copy.title}\n </H1>\n <IconButton aria-label={copy.close_aria} onClick={onClose} sx={{ mr: '-12px' }}>\n <Close />\n </IconButton>\n </Stack>\n )\n}\n\nexport default DialogHeader\n","import React from 'react'\n\nimport MuiDrawer from '@mui/material/Drawer'\nimport { DrawerProps as MuiDrawerProps } from '@mui/material/Drawer'\n\nimport Footer from './Footer'\n\ninterface DrawerProps extends MuiDrawerProps {\n children: React.ReactNode\n className?: string\n disableSave?: boolean\n id?: string\n isOpen: boolean\n onClose: () => void\n onSave?: () => void\n primaryText?: string\n secondaryText?: string\n}\n\nconst Drawer: React.FC<DrawerProps> = ({\n className,\n disableSave,\n id,\n isOpen,\n onClose,\n onSave,\n primaryText,\n secondaryText,\n children,\n ...rest\n}) => {\n return (\n <MuiDrawer\n anchor=\"right\"\n className={`mx-kmui-drawer ${className}`}\n id={id ?? undefined}\n onClose={onClose}\n open={isOpen}\n variant=\"temporary\"\n {...rest}\n >\n {children}\n {onSave && (\n <Footer\n isPrimaryDisabled={disableSave}\n onPrimaryAction={onSave}\n onSecondaryAction={onClose}\n primaryText={primaryText}\n secondaryText={secondaryText}\n />\n )}\n </MuiDrawer>\n )\n}\n\nexport default Drawer\n","export const DEFAULT_LOGO_SIZE = 32\n\nexport const ASSETS_URL = 'https://content.moneydesktop.com/storage/MD_Assets'\n","import React, { ImgHTMLAttributes } from 'react'\n\nimport { ASSETS_URL, DEFAULT_LOGO_SIZE } from '../../constants/Logo'\n\nexport interface InstitutionLogoProps extends ImgHTMLAttributes<HTMLImageElement> {\n alt: string\n institutionGuid: string\n logoUrl?: string\n size?: number\n}\n\nconst DEFAULT_LOGO = `${ASSETS_URL}/serenity/default_institution_logo.png`\n\nexport const InstitutionLogo: React.FC<InstitutionLogoProps> = ({\n alt,\n institutionGuid,\n logoUrl,\n size = DEFAULT_LOGO_SIZE,\n ...rest\n}) => {\n return (\n <img\n alt={alt}\n height={size}\n onError={(event) => {\n const target = event.target as HTMLImageElement\n\n if (target.src !== DEFAULT_LOGO) {\n target.src = DEFAULT_LOGO\n }\n }}\n src={logoUrl || `${ASSETS_URL}/Ipad%20Logos/100x100/${institutionGuid}_100x100.png`}\n style={{\n borderRadius: 4,\n }}\n width={size}\n {...rest}\n />\n )\n}\n","import { useTheme } from '@mui/material/styles'\nimport React from 'react'\nimport Box, { BoxProps } from '@mui/material/Box'\n\nimport { ASSETS_URL, DEFAULT_LOGO_SIZE } from '../../constants/Logo'\nimport { CategoryIcon } from '../categoryicon'\n\nexport interface MerchantLogoProps extends BoxProps {\n alt?: string\n categoryGuid: string\n merchantGuid: string\n size?: number\n}\n\nexport const MerchantLogo: React.FC<MerchantLogoProps> = ({\n alt = '',\n categoryGuid,\n merchantGuid,\n size = DEFAULT_LOGO_SIZE,\n ...rest\n}) => {\n const [isError, setIsError] = React.useState(false)\n const theme = useTheme()\n\n return (\n <Box display=\"inline-block\" position=\"relative\" {...rest}>\n {merchantGuid && !isError && (\n <img\n alt={alt}\n aria-hidden={!alt}\n height={size}\n onError={() => setIsError(true)}\n src={`${ASSETS_URL}/merchant_logos/${merchantGuid}.png`}\n style={{\n backgroundColor: theme.palette.common.white,\n borderRadius: 4,\n boxSizing: 'border-box',\n position: 'absolute',\n }}\n width={size}\n />\n )}\n <CategoryIcon categoryGuid={categoryGuid} size={size} />\n </Box>\n )\n}\n","import React from 'react'\nimport MuiTextField, { type TextFieldProps as MuiTextFieldProps } from '@mui/material/TextField'\n\ntype TextFieldProps = {\n disabled?: boolean\n label?: React.ReactNode\n shrink?: boolean\n truncate?: boolean\n variant?: 'filled' | 'outlined' | 'standard'\n} & MuiTextFieldProps\n\nconst TextField: React.FC<TextFieldProps> = ({\n disabled = false,\n label = '',\n shrink = true,\n truncate = false,\n variant = 'outlined',\n ...rest\n}) => {\n return (\n <MuiTextField\n disabled={disabled}\n label={label}\n slotProps={{\n inputLabel: {\n shrink: shrink,\n ...(truncate && {\n sx: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n }),\n },\n }}\n variant={variant}\n {...rest}\n />\n )\n}\n\nexport default TextField\n","import React from 'react'\nimport Snackbar from '@mui/material/Snackbar'\nimport Alert from '@mui/material/Alert'\nimport Slide, { SlideProps } from '@mui/material/Slide'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport IconButton from '@mui/material/IconButton'\nimport { Text } from '../text'\nimport { Icon } from '../icon'\nimport { useTheme, SxProps, Theme } from '@mui/material/styles'\n\nexport function SlideTransition(props: SlideProps) {\n return <Slide {...props} direction=\"left\" mountOnEnter={true} unmountOnExit={true} />\n}\n\ninterface ToastProps {\n open: boolean\n closeAriaLabel: string\n handleClose: () => void\n message: string\n autoHideDuration?: number\n severity?: 'success' | 'error' | 'warning' | 'info'\n snackbarSx?: SxProps<Theme>\n showAction?: boolean\n showClose?: boolean\n actionText?: string\n onActionClick?: () => void\n}\n\nexport const Toast: React.FC<ToastProps> = ({\n open = true,\n handleClose,\n closeAriaLabel,\n message,\n autoHideDuration = 3000,\n severity = 'success',\n snackbarSx,\n showAction = false,\n showClose = false,\n actionText = 'Undo',\n onActionClick,\n}) => {\n const theme = useTheme()\n\n const action = showClose && (\n <IconButton aria-label={closeAriaLabel} color=\"inherit\" onClick={handleClose} size=\"small\">\n <Icon fill={true} name=\"close\" />\n </IconButton>\n )\n const backgroundColor = `${severity}.main`\n return (\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n open={open}\n slots={{ transition: SlideTransition }}\n sx={{\n ...snackbarSx,\n maxWidth: 568,\n minWidth: 288,\n minHeight: 56,\n }}\n >\n <Alert\n action={action}\n severity={severity}\n sx={{\n backgroundColor: backgroundColor,\n display: 'flex',\n width: '100%',\n py: '8px',\n '& .MuiAlert-message': {\n my: 0,\n flex: 1,\n overflow: 'hidden',\n },\n '& .MuiAlert-action': {\n alignItems: showClose ? 'flex-start' : 'center',\n },\n }}\n variant=\"filled\"\n >\n <Stack\n sx={{\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'baseline',\n justifyContent: 'space-between',\n width: '100%',\n rowGap: '16px',\n columnGap: '16px',\n }}\n >\n <Text\n sx={{\n lineHeight: theme.typography.body1.lineHeight,\n flex: 1,\n minWidth: '70%',\n px: '5px',\n }}\n >\n {message}\n </Text>\n {showAction && (\n <Button\n color=\"inherit\"\n onClick={onActionClick || handleClose}\n size=\"small\"\n sx={{\n color: theme.palette.success.contrastText,\n whiteSpace: 'nowrap',\n flexShrink: 0,\n minWidth: 'auto',\n justifyContent: 'flex-start',\n }}\n >\n {actionText}\n </Button>\n )}\n </Stack>\n </Alert>\n </Snackbar>\n )\n}\n\nexport default Toast\n","import React, { type ReactNode } from 'react'\nimport {\n Box,\n Typography,\n Radio,\n Checkbox,\n FormControlLabel,\n type RadioProps,\n type CheckboxProps,\n alpha,\n} from '@mui/material'\nimport { useTheme } from '@mui/material/styles'\n\ntype BaseSelectionBoxProps = {\n variant?: 'outlined' | 'elevation'\n selected: boolean\n headline?: string\n message: string\n error?: boolean\n icon?: ReactNode | false\n sx?: object\n}\n\ntype SelectionBoxProps = BaseSelectionBoxProps &\n (\n | ({ component?: typeof Radio } & Partial<RadioProps>)\n | ({ component: typeof Checkbox } & Partial<CheckboxProps>)\n ) & {\n onChange?: (event: React.SyntheticEvent, checked: boolean) => void\n }\n\nconst SelectionBox: React.FC<SelectionBoxProps> = ({\n component = Radio,\n variant = 'outlined',\n selected,\n onChange,\n headline,\n message,\n name,\n value,\n disabled = false,\n error = false,\n icon = false,\n sx = {},\n ...rest\n}: SelectionBoxProps) => {\n const theme = useTheme()\n\n const getBackgroundColor = () => {\n return theme.palette.background.paper\n }\n\n const getBoxShadow = () => {\n if (error) {\n return `inset 0px 0px 0px 2px ${theme.palette.error.main}`\n }\n\n if (disabled) {\n if (selected) {\n return `inset 0px 0px 0px 2px ${theme.palette.action.disabled}`\n }\n return variant === 'outlined'\n ? `inset 0px 0px 0px 1px ${theme.palette.action.disabledBackground}`\n : `inset 0px 0px 0px 1px ${theme.palette.action.disabled}`\n }\n\n if (variant === 'outlined') {\n return selected\n ? `inset 0px 0px 0px 2px ${alpha(theme.palette.primary.main, 0.5)}`\n : `inset 0px 0px 0px 1px ${alpha(theme.palette.common.black, 0.23)}`\n }\n\n if (selected) {\n return `inset 0px 0px 0px 2px ${alpha(theme.palette.primary.main, 0.5)}`\n }\n\n return theme.shadows[1] // default elevation shadow\n }\n\n const getHoverBackgroundColor = () => {\n if (disabled || error) return theme.palette.background.paper\n return alpha(theme.palette.primary.main, 0.1)\n }\n\n const getHoverBoxShadow = () => {\n if (disabled || error) return getBoxShadow()\n\n if (variant === 'outlined') {\n return selected\n ? `inset 0px 0px 0px 2px ${alpha(theme.palette.primary.main, 0.5)}`\n : `inset 0px 0px 0px 1px ${alpha(theme.palette.primary.main, 0.5)}`\n }\n\n return getBoxShadow()\n }\n\n const getActiveBackgroundColor = () => {\n if (disabled || error) return theme.palette.background.paper\n return alpha(theme.palette.primary.main, 0.3)\n }\n\n return (\n <FormControlLabel\n checked={selected}\n control={\n component === Radio ? (\n <Radio\n name={name}\n sx={{\n p: 0,\n ml: '16px',\n mt: '8px',\n flexShrink: 0,\n '& .MuiSvgIcon-root': {\n fontSize: '20px',\n },\n }}\n {...(rest as Partial<RadioProps>)}\n />\n ) : (\n <Checkbox\n name={name}\n sx={{\n p: 0,\n ml: '16px',\n mt: '8px',\n flexShrink: 0,\n '& .MuiSvgIcon-root': {\n fontSize: '20px',\n },\n }}\n {...(rest as Partial<CheckboxProps>)}\n />\n )\n }\n disabled={disabled}\n label={\n <Box sx={{ display: 'flex', alignItems: 'flex-start', width: '100%' }}>\n {icon && <Box sx={{ mr: '12px', mt: '8px', flexShrink: 0 }}>{icon}</Box>}\n <Box sx={{ flex: 1, minWidth: 0, py: '8px' }}>\n {headline && (\n <Typography fontWeight={600} sx={{ lineHeight: '24px', pb: '4px' }} variant=\"body1\">\n {headline}\n </Typography>\n )}\n <Typography sx={{ lineHeight: '20px' }} variant=\"subtitle2\">\n {message}\n </Typography>\n </Box>\n </Box>\n }\n labelPlacement=\"start\"\n onChange={onChange}\n sx={{\n display: 'flex',\n padding: '6px 16px',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n borderRadius: (theme.shape.borderRadius as number) / 2,\n mb: '16px',\n cursor: disabled ? 'not-allowed' : 'pointer',\n opacity: disabled ? 0.6 : 1,\n backgroundColor: getBackgroundColor(),\n border: 'none',\n boxShadow: getBoxShadow(),\n boxSizing: 'border-box',\n transition: theme.transitions.create(['background-color', 'box-shadow'], {\n duration: theme.transitions.duration.short,\n }),\n '&:hover': {\n backgroundColor: getHoverBackgroundColor(),\n boxShadow: getHoverBoxShadow(),\n },\n '&:active': {\n backgroundColor: getActiveBackgroundColor(),\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n ...sx,\n }}\n value={value}\n />\n )\n}\n\nexport default SelectionBox\n","export const MODE = {\n LIGHT: 'light',\n DARK: 'dark',\n}\n","import { type ReactNode } from 'react'\nimport Box, { type BoxProps } from '@mui/material/Box'\nimport Typography from '@mui/material/Typography'\n\nimport { MODE } from '../../constants/Theme'\nimport '../../themes/Augmentations'\n\nexport type TagColor =\n | 'default'\n | 'neutral'\n | 'primary'\n | 'secondary'\n | 'error'\n | 'warning'\n | 'info'\n | 'success'\n\nexport type TagSize = 'small' | 'xsmall'\n\nexport interface TagProps extends Omit<BoxProps, 'color' | 'children'> {\n color?: TagColor\n icon?: ReactNode\n label: string\n size?: TagSize\n}\n\nexport const Tag = ({ color = 'neutral', icon, label, size = 'small', sx, ...rest }: TagProps) => (\n <Box\n component=\"span\"\n sx={[\n (theme) => {\n const isLight = theme.palette.mode === MODE.LIGHT\n const colorKey = color === 'default' ? 'neutral' : color\n\n return {\n alignItems: 'center',\n borderRadius: 999, // pill shape\n display: 'inline-flex',\n gap: '4px',\n height: size === 'xsmall' ? '16px' : '24px',\n paddingX: size === 'xsmall' ? '6px' : '8px',\n backgroundColor: theme.palette[colorKey][isLight ? 100 : 800],\n color: isLight ? theme.palette[colorKey].dark : theme.palette[colorKey][100],\n }\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...rest}\n >\n {icon && (\n <Box\n aria-hidden={true}\n component=\"span\"\n sx={{\n alignItems: 'center',\n display: 'inline-flex',\n '& .MuiSvgIcon-root': { fontSize: '16px' },\n }}\n >\n {icon}\n </Box>\n )}\n <Typography\n component=\"span\"\n sx={{ fontWeight: 'bold', textTransform: 'uppercase' }}\n variant=\"tiny\"\n >\n {label}\n </Typography>\n </Box>\n)\n","import { darken, lighten } from '@mui/material'\nimport { GeneratedPalette } from '../types/GeneratedPalette'\n\nexport const generatePalette = (main: string): GeneratedPalette => {\n return {\n 50: lighten(main, 0.95),\n 100: lighten(main, 0.85),\n 200: lighten(main, 0.7),\n 300: lighten(main, 0.55),\n 400: lighten(main, 0.3),\n 500: main,\n 600: darken(main, 0.3),\n 700: darken(main, 0.5),\n 800: darken(main, 0.65),\n 900: darken(main, 0.75),\n }\n}\n","export const WHITE = '#FFFFFF'\nexport const BLACK = '#000000'\nexport const DEFAULT_BACKGROUND_LIGHT = '#F9F9F9'\nexport const DEFAULT_BACKGROUND_DARK = '#000000'\nexport const DEFAULT_PAPER_LIGHT = '#FFFFFF'\nexport const DEFAULT_PAPER_DARK = '#000000'\n\nexport interface CoreColors {\n PRIMARY: string\n SECONDARY: string\n INFO: string\n SUCCESS: string\n WARNING: string\n ERROR: string\n GREY: string\n}\n\nexport const CORE_COLORS: CoreColors = {\n PRIMARY: '#2C64EF',\n SECONDARY: '#808080',\n INFO: '#2C64EF',\n SUCCESS: '#12875E',\n WARNING: '#FF7B00',\n ERROR: '#E32727',\n GREY: '#808080',\n}\n\nexport const CHART = {\n CHART1: '#14A396',\n CHART2: '#EC4899',\n CHART3: '#F3DC46',\n CHART4: '#BABFC5',\n CHART5: '#60A9FF',\n CHART6: '#C8BAEE',\n CHART7: '#585E67',\n}\n\nexport const CHART_MONO = {\n CHART_MONO1: '#C3EAFF',\n CHART_MONO2: '#8ED7FF',\n CHART_MONO3: '#60A9FF',\n CHART_MONO4: '#2F73DA',\n CHART_MONO5: '#034AB3',\n CHART_MONO6: '#002966',\n}\n\nexport const CATEGORIES_LIGHT = {\n AUTO_TRANSPORTT: '#00B0FF',\n BILLS_UTILITIES: '#F949BD',\n BUSINESS_SERVICES: '#2979FF',\n EDUCATION: '#009E8E',\n ENTERTAINMENT: '#A437F5',\n FEES_CHARGES: '#FF5473',\n FINANCIAL: '#18A964',\n FOOD_DINING: '#FF7A00',\n GIFTS_DONATIONS: '#F2354B',\n HEALTH_FITNESS: '#D61033',\n HOME: '#FFC20A',\n INCOME: '#009526',\n INVESTMENTS: '#00C9E0',\n KIDS: '#FF9700',\n OTHERS: '#66718D',\n PERSONAL_CARE: '#DF0683',\n PETS: '#FF5D00',\n SHOPPING: '#7469FF',\n TAXES: '#69CA08',\n TRANSFER: '#2B9580',\n TRAVEL: '#3D5AFE',\n UNCATEGORIZED: '#8495AD',\n}\n\nexport const CATEGORIES_DARK = {\n AUTO_TRANSPORTT: '#77DAFF',\n BILLS_UTILITIES: '#FF81D4',\n BUSINESS_SERVICES: '#4BBAFF',\n EDUCATION: '#4FCBBC',\n ENTERTAINMENT: '#CE8CFF',\n FEES_CHARGES: '#FF8BA0',\n FINANCIAL: '#54C790',\n FOOD_DINING: '#FF9631',\n GIFTS_DONATIONS: '#FF717A',\n HEALTH_FITNESS: '#FF525D',\n HOME: '#FFC83B',\n INCOME: '#95ECAB',\n INVESTMENTS: '#8BE7F5',\n KIDS: '#FFB13F',\n OTHERS: '#B2BCD5',\n PERSONAL_CARE: '#FF50B5',\n PETS: '#FF8A46',\n SHOPPING: '#AEA8FA',\n TAXES: '#BEF988',\n TRANSFER: '#75C7B7',\n TRAVEL: '#76ACF7',\n UNCATEGORIZED: '#BCC6D4',\n}\n","import { alpha, getContrastRatio, PaletteMode } from '@mui/material'\nimport { MODE } from '../constants/Theme'\n\nimport { generatePalette } from '../utils/generatePalette'\n\nimport {\n BLACK,\n CATEGORIES_DARK,\n CATEGORIES_LIGHT,\n CHART,\n CHART_MONO,\n CORE_COLORS,\n DEFAULT_BACKGROUND_DARK,\n DEFAULT_BACKGROUND_LIGHT,\n DEFAULT_PAPER_DARK,\n DEFAULT_PAPER_LIGHT,\n WHITE,\n} from './Colors'\nimport { Customizations } from '../types/Customizations'\n\nexport const getPalette = (\n mode: PaletteMode,\n paletteCustomizations?: Customizations['paletteOptions'],\n) => {\n const primary = generatePalette(paletteCustomizations?.primary || CORE_COLORS.PRIMARY)\n const secondary = generatePalette(paletteCustomizations?.secondary || CORE_COLORS.SECONDARY)\n const error = generatePalette(paletteCustomizations?.error || CORE_COLORS.ERROR)\n const warning = generatePalette(paletteCustomizations?.warning || CORE_COLORS.WARNING)\n const info = generatePalette(paletteCustomizations?.info || CORE_COLORS.INFO)\n const success = generatePalette(paletteCustomizations?.success || CORE_COLORS.SUCCESS)\n const grey = generatePalette(paletteCustomizations?.grey || CORE_COLORS.GREY)\n\n const isLight = mode === MODE.LIGHT\n\n return {\n mode,\n common: {\n white: WHITE,\n black: BLACK,\n },\n primary: {\n ...primary,\n lighter: isLight ? primary[100] : primary[700],\n light: isLight ? primary[300] : primary[600],\n main: isLight ? primary[500] : primary[400],\n dark: isLight ? primary[700] : primary[200],\n darker: isLight ? primary[800] : primary[100],\n },\n secondary: {\n ...secondary,\n lighter: isLight ? secondary[100] : secondary[800],\n light: isLight ? secondary[300] : secondary[600],\n main: isLight ? secondary[500] : secondary[400],\n dark: isLight ? secondary[700] : secondary[200],\n darker: isLight ? secondary[800] : secondary[100],\n },\n neutral: {\n ...grey,\n lighter: isLight ? grey[100] : grey[800],\n light: isLight ? grey[300] : grey[600],\n main: isLight ? grey[500] : grey[400],\n dark: isLight ? grey[700] : grey[200],\n darker: isLight ? grey[800] : grey[100],\n contrastText:\n getContrastRatio(isLight ? grey[700] : grey[400], '#fff') > 4.5 ? WHITE : grey[900],\n },\n text: {\n primary: isLight ? alpha(BLACK, 0.87) : WHITE,\n secondary: isLight ? alpha(BLACK, 0.6) : alpha(WHITE, 0.7),\n disabled: isLight ? alpha(BLACK, 0.38) : alpha(WHITE, 0.38),\n },\n error: {\n ...error,\n lighter: isLight ? error[100] : error[700],\n light: isLight ? error[300] : error[600],\n main: isLight ? error[500] : error[400],\n dark: isLight ? error[700] : error[200],\n darker: isLight ? error[800] : error[100],\n },\n warning: {\n ...warning,\n lighter: isLight ? warning[100] : warning[700],\n light: isLight ? warning[300] : warning[600],\n main: isLight ? warning[500] : warning[400],\n dark: isLight ? warning[700] : warning[200],\n darker: isLight ? warning[800] : warning[100],\n },\n info: {\n ...info,\n lighter: isLight ? info[100] : info[700],\n light: isLight ? info[300] : info[600],\n main: isLight ? info[500] : info[400],\n dark: isLight ? info[700] : info[200],\n darker: isLight ? info[800] : info[100],\n },\n success: {\n ...success,\n lighter: isLight ? success[100] : success[700],\n light: isLight ? success[300] : success[600],\n main: isLight ? success[500] : success[400],\n dark: isLight ? success[700] : success[200],\n darker: isLight ? success[800] : success[100],\n },\n grey,\n action: {\n active: isLight ? alpha(BLACK, 0.56) : alpha(WHITE, 0.56),\n hoverOpacity: isLight ? 0.1 : 0.2,\n selectedOpacity: isLight ? 0.16 : 0.25,\n focusOpacity: 0.3,\n },\n background: {\n default: isLight\n ? paletteCustomizations?.background?.default?.light || DEFAULT_BACKGROUND_LIGHT\n : paletteCustomizations?.background?.default?.dark || DEFAULT_BACKGROUND_DARK,\n paper: isLight\n ? paletteCustomizations?.background?.paper?.light || DEFAULT_PAPER_LIGHT\n : paletteCustomizations?.background?.paper?.dark || DEFAULT_PAPER_DARK,\n highlight: isLight ? grey[200] : grey[600],\n highlightPrimary: isLight ? primary[100] : primary[500],\n },\n divider: isLight ? alpha(BLACK, 0.12) : alpha(WHITE, 0.24),\n categories: {\n autoTransport: isLight ? CATEGORIES_LIGHT.AUTO_TRANSPORTT : CATEGORIES_DARK.AUTO_TRANSPORTT,\n billsUtilities: isLight ? CATEGORIES_LIGHT.BILLS_UTILITIES : CATEGORIES_DARK.BILLS_UTILITIES,\n businessServices: isLight\n ? CATEGORIES_LIGHT.BUSINESS_SERVICES\n : CATEGORIES_DARK.BUSINESS_SERVICES,\n education: isLight ? CATEGORIES_LIGHT.EDUCATION : CATEGORIES_DARK.EDUCATION,\n entertainment: isLight ? CATEGORIES_LIGHT.ENTERTAINMENT : CATEGORIES_DARK.ENTERTAINMENT,\n feesCharges: isLight ? CATEGORIES_LIGHT.FEES_CHARGES : CATEGORIES_DARK.FEES_CHARGES,\n financial: isLight ? CATEGORIES_LIGHT.FINANCIAL : CATEGORIES_DARK.FINANCIAL,\n foodDining: isLight ? CATEGORIES_LIGHT.FOOD_DINING : CATEGORIES_DARK.FOOD_DINING,\n giftsDonations: isLight ? CATEGORIES_LIGHT.GIFTS_DONATIONS : CATEGORIES_DARK.GIFTS_DONATIONS,\n healthFitness: isLight ? CATEGORIES_LIGHT.HEALTH_FITNESS : CATEGORIES_DARK.HEALTH_FITNESS,\n home: isLight ? CATEGORIES_LIGHT.HOME : CATEGORIES_DARK.HOME,\n income: isLight ? CATEGORIES_LIGHT.INCOME : CATEGORIES_DARK.INCOME,\n investments: isLight ? CATEGORIES_LIGHT.INVESTMENTS : CATEGORIES_DARK.INVESTMENTS,\n kids: isLight ? CATEGORIES_LIGHT.KIDS : CATEGORIES_DARK.KIDS,\n others: isLight ? CATEGORIES_LIGHT.OTHERS : CATEGORIES_DARK.OTHERS,\n personalCare: isLight ? CATEGORIES_LIGHT.PERSONAL_CARE : CATEGORIES_DARK.PERSONAL_CARE,\n pets: isLight ? CATEGORIES_LIGHT.PETS : CATEGORIES_DARK.PETS,\n shopping: isLight ? CATEGORIES_LIGHT.SHOPPING : CATEGORIES_DARK.SHOPPING,\n taxes: isLight ? CATEGORIES_LIGHT.TAXES : CATEGORIES_DARK.TAXES,\n transfer: isLight ? CATEGORIES_LIGHT.TRANSFER : CATEGORIES_DARK.TRANSFER,\n travel: isLight ? CATEGORIES_LIGHT.TRAVEL : CATEGORIES_DARK.TRAVEL,\n uncategorized: isLight ? CATEGORIES_LIGHT.UNCATEGORIZED : CATEGORIES_DARK.UNCATEGORIZED,\n },\n chart: {\n chart1: CHART.CHART1,\n chart2: CHART.CHART2,\n chart3: CHART.CHART3,\n chart4: CHART.CHART4,\n chart5: CHART.CHART5,\n chart6: CHART.CHART6,\n chart7: CHART.CHART7,\n },\n chartMono: {\n chartMono1: CHART_MONO.CHART_MONO1,\n chartMono2: CHART_MONO.CHART_MONO2,\n chartMono3: CHART_MONO.CHART_MONO3,\n chartMono4: CHART_MONO.CHART_MONO4,\n chartMono5: CHART_MONO.CHART_MONO5,\n chartMono6: CHART_MONO.CHART_MONO6,\n },\n }\n}\n","export type TypographyOptions = {\n fontFamily?: string\n headerFontFamily?: string\n}\n\nexport const INTER = 'Inter, Helvetica, Arial, sans-serif'\n\nexport const getTypography = (typographyOptions?: TypographyOptions) => {\n const fontFamily = typographyOptions?.fontFamily\n ? `${typographyOptions?.fontFamily}, ${INTER}`\n : INTER\n\n const headerFontFamily = typographyOptions?.headerFontFamily\n ? `${typographyOptions.headerFontFamily}, ${INTER}`\n : fontFamily\n\n return {\n fontFamily,\n fontSize: 15,\n body1: {\n fontFamily,\n fontSize: 15,\n lineHeight: '20px',\n },\n body2: {\n fontFamily,\n fontSize: 13,\n lineHeight: '16px',\n },\n button: {\n fontFamily,\n fontSize: 15,\n },\n caption: {\n fontFamily,\n fontSize: 11,\n lineHeight: '16px',\n },\n h1: {\n fontFamily: headerFontFamily,\n fontWeight: 700,\n fontSize: 31,\n lineHeight: '40px',\n },\n h2: {\n fontFamily: headerFontFamily,\n fontWeight: 700,\n fontSize: 23,\n lineHeight: '32px',\n },\n h3: {\n fontFamily: headerFontFamily,\n fontWeight: 700,\n fontSize: 18,\n lineHeight: '24px',\n },\n subtitle1: {\n fontFamily,\n fontSize: 15,\n lineHeight: '24px',\n },\n subtitle2: {\n fontFamily,\n fontSize: 13,\n lineHeight: '20px',\n },\n tiny: {\n fontFamily,\n fontSize: 9,\n lineHeight: '12px',\n },\n }\n}\n","import { alpha, Palette, PaletteMode } from '@mui/material'\nimport { circularProgressClasses } from '@mui/material/CircularProgress'\nimport { createTheme, Shadows, Theme } from '@mui/material/styles'\n\nimport type {} from '@mui/x-data-grid-pro/themeAugmentation'\nimport type {} from '@mui/x-date-pickers-pro/themeAugmentation'\nimport { LicenseInfo } from '@mui/x-license'\n\nimport { Icon } from '../components/icon'\nimport { MODE } from '../constants/Theme'\nimport { Customizations } from '../types/Customizations'\nimport './Augmentations'\nimport { getPalette } from './Palette'\nimport { getTypography } from './Typography'\n\n// MUI X Pro License Key\nLicenseInfo.setLicenseKey(\n '702b0c04dc7df078768d2d45cd3a98c6Tz0xMjEzMDYsRT0xNzkzNzUwMzk5MDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1RMy0yMDI0LEtWPTI=',\n)\n\nexport const createMXTheme = (mode: PaletteMode, customizations?: Customizations) => {\n const palette = getPalette(mode, customizations?.paletteOptions)\n const typography = getTypography(customizations?.typographyOptions)\n\n const shadows: Shadows = [...createTheme().shadows]\n shadows[1] = '0px 2px 8px 0 rgba(0, 0, 0, 0.12)'\n shadows[8] = '0px 6px 12px 0 rgba(0, 0, 0, 0.16), 0px 3px 8px 0 rgba(0, 0, 0, 0.06)'\n shadows[16] = '0px 12px 20px 0 rgba(0, 0, 0, 0.22)'\n\n return createTheme({\n breakpoints: customizations?.breakpoints || {\n values: {\n // TODO: Remove these default values in v3. Users should provide their own breakpoints if they want to.\n xs: 444,\n sm: 600,\n md: 900,\n lg: 1200,\n xl: 1536,\n },\n },\n cssVariables: {\n colorSchemeSelector: 'class',\n },\n palette,\n shape: {\n // Always a number, because Card and ListItemButton multiply it\n borderRadius: Number(customizations?.shapeOptions?.borderRadius) || 4,\n },\n shadows,\n ...(customizations?.useMUIStandardSpacing ? {} : { spacing: 1 }), // TODO: update spacing, we're back to a 8-base which is default for MUI 2.x\n typography,\n components: {\n MuiAlert: {\n defaultProps: {\n iconMapping: {\n success: <Icon fill={true} name=\"check_circle\" size={24} />,\n error: <Icon fill={true} name=\"error\" size={24} />,\n warning: <Icon fill={true} name=\"warning\" size={24} />,\n info: <Icon fill={true} name=\"info\" size={24} />,\n },\n variant: 'outlined',\n },\n styleOverrides: {\n root: ({ theme, ownerState }) => {\n const severity: keyof Palette = ownerState.severity || 'info'\n let backgroundColor =\n theme.palette.mode === MODE.LIGHT\n ? theme.palette[severity]?.[50]\n : theme.palette[severity]?.[800]\n if (ownerState.variant === 'filled') {\n const isWarning = severity === 'warning'\n backgroundColor = MODE.LIGHT\n ? theme.palette[severity]?.[isWarning ? 400 : 600]\n : theme.palette[severity]?.[isWarning ? 500 : 400]\n }\n\n return {\n backgroundColor: backgroundColor,\n borderRadius: theme.shape.borderRadius,\n '& .MuiAlert-message': {\n fontSize: theme.typography.subtitle1.fontSize,\n lineHeight: theme.typography.subtitle1.lineHeight,\n marginTop: 'auto',\n marginBottom: 'auto',\n },\n '& .MuiAlert-action': {\n marginTop: -4,\n paddingTop: 0,\n },\n }\n },\n },\n },\n\n MuiAlertTitle: {\n styleOverrides: {\n root: {\n fontWeight: 600,\n marginTop: 0,\n },\n },\n },\n\n MuiButton: {\n defaultProps: {\n disableFocusRipple: true,\n disableElevation: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n fontWeight: 600,\n textTransform: 'none',\n '&.Mui-disabled': {\n cursor: 'not-allowed',\n },\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n }),\n sizeMedium: {\n height: 44,\n },\n },\n variants: [\n {\n props: { size: 'small' },\n style: {\n marginTop: -12,\n marginBottom: -12,\n },\n },\n {\n props: { variant: 'outlined', color: 'error' },\n style: ({ theme }) => ({\n '&:hover, &:active': {\n color: theme.palette.error.dark,\n },\n }),\n },\n ],\n },\n\n MuiButtonGroup: {\n defaultProps: {\n disableFocusRipple: true,\n },\n },\n\n MuiCard: {\n styleOverrides: {\n root: ({ theme }) => ({\n borderRadius: (theme.shape.borderRadius as number) * 2,\n }),\n },\n },\n\n MuiCheckbox: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: {\n '&.Mui-focusVisible': {\n outline: `2px solid ${palette.info.main}`,\n outlineOffset: '-2px',\n },\n },\n },\n },\n\n MuiChip: {\n defaultProps: {\n color: 'primary',\n deleteIcon: (\n <span style={{ display: 'flex', alignItems: 'center' }}>\n <Icon name=\"close\" />\n </span>\n ),\n },\n styleOverrides: {\n root: ({ theme, ownerState }) => {\n const colorKey =\n !ownerState.color || ownerState.color === 'default'\n ? ('primary' as const)\n : (ownerState.color as\n 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success' | 'neutral')\n const isSmall = ownerState.size === 'small'\n const sizeTypography = isSmall ? theme.typography.caption : theme.typography.body2\n\n return {\n borderRadius: theme.shape.borderRadius,\n color: theme.palette[colorKey].main,\n fontSize: sizeTypography.fontSize,\n lineHeight: sizeTypography.lineHeight,\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n '& > .MuiSvgIcon-root': {\n marginLeft: '4px',\n },\n '& .MuiSvgIcon-root': {\n fontSize: isSmall ? '16px' : '18px',\n },\n '& .MuiChip-avatar': {\n width: isSmall ? '18px' : '24px',\n height: isSmall ? '18px' : '24px',\n },\n '& .MuiChip-deleteIcon': {\n color: theme.palette[colorKey].main,\n '&:hover': {\n color: theme.palette[colorKey].dark,\n },\n },\n '&.MuiChip-clickable:hover, &.Mui-focusVisible': {\n backgroundColor: alpha(\n theme.palette[colorKey].main,\n theme.palette.action.hoverOpacity,\n ),\n },\n '&.MuiChip-clickable:active': {\n backgroundColor: alpha(\n theme.palette[colorKey].main,\n theme.palette.action.focusOpacity,\n ),\n },\n }\n },\n label: ({ ownerState }) => ({\n ...(ownerState.icon && {\n paddingLeft: '4px',\n }),\n }),\n },\n variants: [\n {\n props: { variant: 'filled' },\n style: ({ theme }) => ({\n '& .MuiChip-label, & > .MuiSvgIcon-root': {\n color: theme.palette.text.primary,\n },\n }),\n },\n ...(\n ['primary', 'secondary', 'error', 'warning', 'info', 'success', 'neutral'] as const\n ).map((color) => ({\n props: { variant: 'filled' as const, color },\n style: ({ theme }: { theme: Theme }) => ({\n backgroundColor: theme.palette[color][theme.palette.mode === MODE.LIGHT ? 100 : 800],\n }),\n })),\n ],\n },\n\n MuiCircularProgress: {\n styleOverrides: {\n root: {\n [`& .${circularProgressClasses.circle}`]: {\n strokeLinecap: 'round',\n },\n },\n },\n },\n\n MuiCollapse: {\n styleOverrides: {\n root: {\n '& .MuiListItem-root': {\n minHeight: 44,\n },\n '& .MuiListItemButton-root': {\n minHeight: 44,\n paddingLeft: 12,\n },\n },\n },\n },\n\n MuiDataGrid: {\n styleOverrides: {\n root: ({ theme }) => ({\n border: 'none',\n borderRadius: 0,\n fontSize: theme.typography.body2.fontSize,\n '& .MuiDataGrid-cell': {\n display: 'flex',\n alignItems: 'center',\n borderTop: '1px solid',\n borderColor: theme.palette.background.highlight,\n },\n '& .MuiDataGrid-cell:focus': { outline: 'unset' },\n '& .MuiDataGrid-iconSeparator': { display: 'none' },\n '& .MuiDataGrid-columnHeaders': {\n backgroundColor: theme.palette.background.paper,\n borderBottom: '2px solid',\n borderColor: theme.palette.divider,\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n fontWeight: 600,\n },\n // remove default top border\n '& .MuiDataGrid-row.MuiDataGrid-row--firstVisible .MuiDataGrid-cell': {\n borderTop: 'none',\n },\n '& .MuiDataGrid-container--top [role=row]': { background: 'none' },\n '& .MuiDataGrid-row': { cursor: 'pointer' },\n '& .MuiDataGrid-columnHeader--last': { pr: 16 },\n '& .MuiDataGrid-cell--textRight': { pr: 16 },\n }),\n },\n },\n\n MuiDateRangePickerDay: {\n styleOverrides: {\n root: ({ theme }) => ({\n ':first-of-type': {\n borderTopLeftRadius: theme.shape.borderRadius,\n borderBottomLeftRadius: theme.shape.borderRadius,\n '& .MuiDateRangePickerDay-rangeIntervalDayPreview': {\n borderTopLeftRadius: theme.shape.borderRadius,\n borderBottomLeftRadius: theme.shape.borderRadius,\n },\n },\n ':last-of-type': {\n borderTopRightRadius: theme.shape.borderRadius,\n borderBottomRightRadius: theme.shape.borderRadius,\n '& .MuiDateRangePickerDay-rangeIntervalDayPreview': {\n borderTopRightRadius: theme.shape.borderRadius,\n borderBottomRightRadius: theme.shape.borderRadius,\n },\n },\n '& .Mui-selected': {\n borderRadius: theme.shape.borderRadius,\n },\n '& .MuiPickersDay-dayOutsideMonth': {\n color: theme.palette.text.secondary,\n },\n }),\n day: ({ theme }) => ({\n borderRadius: theme.shape.borderRadius,\n }),\n rangeIntervalDayPreview: ({ theme }) => ({\n borderRadius: theme.shape.borderRadius,\n }),\n },\n },\n\n MuiDayCalendar: {\n styleOverrides: {\n weekDayLabel: ({ theme }) => ({\n fontSize: theme.typography.body2.fontSize,\n fontWeight: 700,\n }),\n },\n },\n\n MuiDialog: {\n styleOverrides: {\n root: {\n '& .MuiDialog-paper': {\n minWidth: 400,\n },\n '& .MuiDialogContent-root': {\n paddingBottom: 8,\n paddingTop: 8,\n },\n },\n },\n },\n\n MuiDivider: {\n defaultProps: {\n 'aria-hidden': true,\n },\n variants: [\n {\n props: { variant: 'partialInset' },\n style: {\n marginLeft: '24px',\n },\n },\n ],\n },\n\n MuiDrawer: {\n styleOverrides: {\n root: {\n '& .MuiDrawer-paper': {\n maxWidth: 450,\n width: '100%',\n },\n },\n },\n },\n\n MuiFormControlLabel: {\n styleOverrides: {\n label: {\n fontSize: 16,\n },\n root: () => {\n const formControlLabelLeftMargin = -11\n\n return {\n marginLeft: formControlLabelLeftMargin,\n '& .MuiSwitch-root': {\n marginLeft: -formControlLabelLeftMargin,\n marginRight: 12,\n marginTop: 12,\n marginBottom: 12,\n },\n }\n },\n },\n },\n\n MuiFormHelperText: {\n styleOverrides: {\n root: ({ theme }) => ({\n fontSize: 13, // Small\n marginLeft: 0,\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n color: theme.palette.text.secondary,\n '& .MuiSvgIcon-root': {\n height: '16px',\n width: '16px',\n marginRight: '4px',\n },\n '& .MuiIcon-root': {\n marginRight: '4px',\n fontSize: '18px',\n },\n }),\n },\n },\n\n MuiFormLabel: {\n styleOverrides: {\n asterisk: {\n color: palette.error.main,\n },\n },\n },\n\n MuiIcon: {\n defaultProps: {\n // DEPRECATED: Remove after symbols font has been removed\n baseClassName: 'material-symbols-rounded',\n },\n },\n\n MuiIconButton: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n borderRadius: theme.shape.borderRadius,\n minHeight: 44, // touch target\n minWidth: 44, // touch target\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-child': {\n borderRadius: theme.shape.borderRadius,\n },\n },\n }),\n },\n },\n\n MuiInputBase: {\n styleOverrides: {\n input: ({ theme }) => ({\n // On touch devices only, 16px is the smallest size that doesn't trigger\n // iOS's focus auto-zoom; desktop keeps the default size\n '@media (hover: none) and (pointer: coarse)': {\n fontSize: '16px',\n },\n '&::placeholder': {\n color: theme.palette.text.secondary,\n opacity: 1, // MUI dims placeholders by default\n },\n }),\n },\n },\n\n MuiInputLabel: {\n defaultProps: {\n shrink: true, // Ensures the label is always shrunk\n },\n },\n\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: 4,\n },\n bar: {\n borderRadius: 4,\n },\n colorPrimary: {\n backgroundColor: palette.grey[300],\n },\n },\n },\n\n MuiLink: {\n defaultProps: {\n underline: 'always',\n },\n styleOverrides: {\n root: ({ theme }) => ({\n cursor: 'pointer',\n fontWeight: theme.typography.fontWeightRegular,\n '&:hover': {\n backgroundColor: 'transparent',\n },\n '&:active': {\n backgroundColor: 'transparent',\n },\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '2px',\n },\n }),\n },\n },\n\n MuiList: {\n styleOverrides: {\n dense: {\n '& .MuiListItemButton-root': {\n minHeight: 44,\n },\n '& .MuiListItem-root': {\n minHeight: 44,\n },\n },\n root: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n },\n\n MuiListItem: {\n defaultProps: {\n disableGutters: true,\n disablePadding: true,\n },\n styleOverrides: {\n root: ({ ownerState }) => ({\n minHeight: 64,\n ...(!ownerState.disablePadding && {\n paddingTop: 12,\n paddingBottom: 12,\n paddingLeft: 24,\n paddingRight: 24,\n }),\n }),\n },\n },\n\n MuiListItemAvatar: {\n styleOverrides: {\n root: {\n marginRight: 12,\n minWidth: 'unset',\n },\n },\n },\n\n MuiListItemButton: {\n styleOverrides: {\n root: ({ theme }) => ({\n minHeight: 64,\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 12,\n paddingBottom: 12,\n '&.Mui-focusVisible': {\n backgroundColor: 'transparent',\n borderRadius: (theme.shape.borderRadius as number) * 2,\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '-2px',\n },\n }),\n },\n },\n\n MuiListItemIcon: {\n styleOverrides: {\n root: {\n minWidth: 'auto',\n marginLeft: 8,\n },\n },\n },\n\n MuiListItemText: {\n defaultProps: {\n slotProps: {\n primary: {\n fontWeight: 600,\n fontSize: 15,\n },\n secondary: {\n fontSize: 11,\n color: palette.text.secondary,\n },\n },\n },\n styleOverrides: {\n root: {\n marginTop: 0,\n marginBottom: 0,\n },\n },\n },\n\n MuiListSubheader: {\n defaultProps: {\n color: 'inherit', // without this it defaults to the secondary color\n },\n styleOverrides: {\n root: {\n lineHeight: 'inherit',\n top: -1, // This fixes an issue where there is a 1px gap when the subheader sticks to the top while scrolling\n backgroundColor: palette.background.default,\n },\n },\n },\n\n // This styles the Menu dropdown including Menus and Select dropdowns\n MuiMenu: {\n styleOverrides: {\n paper: {\n padding: `${4}px ${4}px 0`, // '(Tiny)px (Tiny)px 0'\n '& .MuiMenu-list': {\n padding: 0,\n },\n },\n },\n },\n\n MuiMenuItem: {\n styleOverrides: {\n root: {\n padding: `${12}px ${8}px`, // '(Small)px (XSmall)px'\n marginBottom: 4, // Tiny\n borderRadius: 4,\n },\n },\n },\n\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n height: '44px',\n // match the legend's paper fill below so standalone inputs (outside\n // TextField, which paints its own paper root) blend on any surface\n backgroundColor: palette.background.paper,\n '&.MuiInputBase-multiline': {\n minHeight: '44px',\n height: 'auto',\n },\n },\n notchedOutline: ({ theme }: { theme: Theme }) => ({\n // iOS WebKit bleeds a border hairline through the outline notch;\n // the hidden legend is the notch, so paint it to cover the bleed\n '& legend': {\n visibility: 'visible',\n backgroundColor: theme.palette.background.paper,\n },\n }),\n },\n },\n\n MuiPaper: {\n styleOverrides: {\n rounded: {\n borderRadius: 8,\n },\n ...(customizations?.styleOptions?.useGlass && {\n root: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n backdropFilter: 'blur(10px)',\n WebkitBackdropFilter: 'blur(10px)',\n },\n }),\n },\n },\n\n MuiPickersArrowSwitcher: {\n styleOverrides: {\n button: {\n marginLeft: 0,\n marginRight: 0,\n },\n },\n },\n\n MuiPickersDay: {\n styleOverrides: {\n today: {\n textDecoration: '2px underline',\n textUnderlineOffset: 4,\n ':not(.Mui-selected)': {\n borderWidth: 0,\n },\n },\n },\n },\n\n MuiPickersLayout: {\n styleOverrides: {\n root: {\n backgroundColor: 'transparent !important',\n padding: 16,\n },\n toolbar: {\n gridColumn: '1/4',\n '& > .MuiTypography-root': {\n textTransform: 'uppercase',\n fontSize: typography.body2.fontSize,\n fontWeight: 600,\n lineHeight: typography.body2.lineHeight,\n },\n },\n },\n },\n\n // MUI X v8 date fields do not use MuiTextField or MuiOutlinedInput, so they need their own overrides\n MuiPickersOutlinedInput: {\n styleOverrides: {\n root: {\n height: '44px',\n },\n notchedOutline: ({ theme }: { theme: Theme }) => ({\n // same notch hairline cover as MuiOutlinedInput\n '& legend': {\n visibility: 'visible',\n backgroundColor: theme.palette.background.paper,\n },\n }),\n },\n },\n\n MuiPickersTextField: {\n defaultProps: {\n InputLabelProps: {\n shrink: true,\n },\n },\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n },\n },\n },\n\n MuiPickersToolbar: {\n styleOverrides: {\n content: ({ theme }) => ({\n marginTop: 4,\n '& .MuiTypography-root': {\n fontSize: theme.typography.h3.fontSize,\n lineHeight: theme.typography.h3.lineHeight,\n },\n }),\n },\n },\n\n MuiPickersToolbarButton: {\n styleOverrides: {\n root: {\n height: 24,\n },\n },\n },\n\n MuiSnackbar: {\n defaultProps: {\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n autoHideDuration: 3500,\n },\n },\n\n MuiSwitch: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n // MUI's stock edge margins (-8) compensate for internal switch padding this\n // theme removes. The MX switch is all track, and MuiListItem defaults to\n // disableGutters so its secondaryAction anchors at right: 0 — so\n // edge=\"start\"/\"end\" instead move the switch onto the 24px content inset\n // that ListItemButton uses, aligning it with row-end elements like chevrons.\n '&.MuiSwitch-edgeStart': {\n marginLeft: '24px',\n },\n '&.MuiSwitch-edgeEnd': {\n marginRight: '24px',\n },\n width: 37,\n height: 20,\n padding: 0,\n '& .MuiSwitch-switchBase': {\n padding: 0,\n margin: 2,\n transitionDuration: '300ms',\n '&.Mui-checked': {\n transform: 'translateX(16px)',\n '& + .MuiSwitch-track': {\n backgroundColor: theme.palette.success.main,\n opacity: 1,\n border: 0,\n },\n '&.Mui-disabled + .MuiSwitch-track': {\n opacity: 0.5,\n },\n },\n '&.Mui-disabled .MuiSwitch-thumb': {\n color: theme.palette.common.white,\n },\n '&.Mui-disabled + .MuiSwitch-track': {\n backgroundColor: theme.palette.action.disabledBackground,\n opacity: 1,\n },\n },\n '& .MuiSwitch-input': {\n '&:focus-visible ~ .MuiSwitch-thumb': {\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: 0,\n },\n },\n '& .MuiSwitch-thumb': {\n boxSizing: 'border-box',\n backgroundColor: theme.palette.background.paper,\n width: 16,\n height: 16,\n },\n '& .MuiSwitch-track': {\n backgroundColor: theme.palette.action.active,\n borderRadius: 20 / 2,\n opacity: 1,\n },\n }),\n },\n },\n\n MuiTab: {\n defaultProps: {\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n minHeight: '44px',\n gap: '4px',\n textTransform: 'none',\n fontWeight: 600,\n '&.Mui-focusVisible': {\n borderRadius: theme.shape.borderRadius,\n outline: `2px solid ${theme.palette.info.main}`,\n outlineOffset: '-2px',\n // The selected-tab underline sits in the same 2px as the bottom of the ring\n // and paints over it; in forced-colors mode it is the page color and erases it\n zIndex: 1,\n },\n }),\n iconWrapper: {\n margin: '0px',\n },\n },\n },\n\n MuiTabs: {\n styleOverrides: {\n root: {\n minHeight: '44px',\n borderBottomStyle: 'solid',\n borderBottomWidth: '1px',\n borderColor: palette.divider,\n marginBottom: '8px',\n },\n },\n },\n\n MuiTextField: {\n defaultProps: {\n slotProps: {\n inputLabel: {\n shrink: true,\n },\n },\n variant: 'outlined',\n },\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n },\n },\n },\n\n MuiToggleButton: {\n defaultProps: {\n color: 'primary',\n disableFocusRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n fontSize: 13,\n lineHeight: '16px',\n textTransform: 'none',\n '&:focus-visible': {\n outline: `2px solid ${palette.info.main}`,\n outlineOffset: '2px',\n },\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.primary.main,\n palette.mode === MODE.LIGHT ? 0.1 : 0.2,\n ),\n borderColor: theme.palette.primary.main,\n },\n '&.Mui-selected': {\n fontWeight: 600,\n borderColor: theme.palette.primary.main,\n '&:hover': {\n boxShadow: `inset 0px 0px 0px 2px ${theme.palette.primary.main}`,\n },\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-child': {\n backgroundColor: theme.palette.primary.main,\n borderRadius: theme.shape.borderRadius,\n },\n },\n }),\n },\n variants: [\n {\n props: { color: 'primary' },\n style: ({ theme }) => ({\n '&.Mui-selected': {\n color: theme.palette.primary.dark,\n },\n }),\n },\n {\n props: { color: 'error' },\n style: {\n '&:hover': {\n backgroundColor: alpha(palette.error.main, palette.mode === MODE.LIGHT ? 0.1 : 0.2),\n borderColor: palette.error.main,\n },\n '&.Mui-selected': {\n borderColor: palette.error.main,\n '&:hover': {\n boxShadow: `inset 0px 0px 0px 2px ${palette.error.main}`,\n },\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-ripple': {\n '& .MuiTouchRipple-child': {\n backgroundColor: palette.error.main,\n },\n },\n },\n },\n },\n {\n props: { color: 'standard' },\n style: {\n '&:hover': {\n backgroundColor: alpha(\n palette.secondary.main,\n palette.mode === MODE.LIGHT ? 0.1 : 0.2,\n ),\n borderColor: palette.secondary.main,\n },\n '&.Mui-selected': {\n borderColor: palette.secondary.main,\n '&:hover': {\n boxShadow: `inset 0px 0px 0px 2px ${palette.secondary.main}`,\n },\n },\n '& .MuiTouchRipple-root': {\n '& .MuiTouchRipple-ripple': {\n '& .MuiTouchRipple-child': {\n backgroundColor: palette.secondary.main,\n },\n },\n },\n },\n },\n ],\n },\n\n MuiToggleButtonGroup: {\n styleOverrides: {\n root: {\n '& .MuiToggleButton-middleButton': {\n marginLeft: 0,\n borderLeft: 'unset',\n },\n },\n },\n },\n\n MuiTooltip: {\n defaultProps: {\n arrow: true,\n },\n },\n },\n })\n}\n"],"names":["BaseIcon","children","height","size","viewBox","width","jsx","Icon","color","fill","name","sx","rest","MxIcon","MXLogoIcon","baseIconProps","jsxs","MXLogoCopyrightIcon","MXLogoFilledIcon","MXLogoOutlineIcon","CategoryGuids","CategoryIconVariants","UncategorizedCategoryIcon","CategoryIconList","DEFAULT_ICON_SIZE_RATIO","CategoryIcon","categoryGuid","icon_ratio","variant","theme","useTheme","categoryIcon","React","i","categoryColor","Stack","backgroundColor","DatePickerShortcuts","items","selected","setValue","usePickerContext","isValid","useIsValidValue","shortcutItems","item","newValue","Box","ToggleButtonGroup","ToggleButton","DatePickerShortcutsSmall","selectLabel","TextField","ExpandMore","shortcut","MenuItem","DateRangePickerSmallLayout","props","toolbar","content","shortcuts","ownerState","usePickerLayout","PickersLayoutRoot","pickersLayoutClasses","PickersLayoutContentWrapper","DateRangePicker","copy","dateRange","onRangeChanged","selectedShortcut","isSmall","useMediaQuery","today","startOfToday","lastMonth","subMonths","lastYear","subYears","startOfMonth","endOfMonth","subDays","startOfYear","endOfYear","handleRangeChanged","range","context","LocalizationProvider","AdapterDateFns","StaticDateRangePicker","BottomSheetTransition","ref","Slide","Footer","hasSecondaryAction","isPrimaryDisabled","onPrimaryAction","onSecondaryAction","primaryColor","primaryText","secondaryColor","secondaryText","Button","Text","bold","className","truncate","uppercase","Typography","H1","H2","H3","P","DialogHeader","ariaHidden","id","onClose","IconButton","Close","Drawer","disableSave","isOpen","onSave","MuiDrawer","DEFAULT_LOGO_SIZE","ASSETS_URL","DEFAULT_LOGO","InstitutionLogo","alt","institutionGuid","logoUrl","event","target","MerchantLogo","merchantGuid","isError","setIsError","disabled","label","shrink","MuiTextField","SlideTransition","Toast","open","handleClose","closeAriaLabel","message","autoHideDuration","severity","snackbarSx","showAction","showClose","actionText","onActionClick","action","Snackbar","Alert","SelectionBox","component","Radio","onChange","headline","value","error","icon","getBackgroundColor","getBoxShadow","alpha","getHoverBackgroundColor","getHoverBoxShadow","getActiveBackgroundColor","FormControlLabel","Checkbox","MODE","Tag","isLight","colorKey","generatePalette","main","lighten","darken","WHITE","BLACK","DEFAULT_BACKGROUND_LIGHT","DEFAULT_BACKGROUND_DARK","DEFAULT_PAPER_LIGHT","DEFAULT_PAPER_DARK","CORE_COLORS","CHART","CHART_MONO","CATEGORIES_LIGHT","CATEGORIES_DARK","getPalette","mode","paletteCustomizations","primary","secondary","warning","info","success","grey","getContrastRatio","INTER","getTypography","typographyOptions","fontFamily","headerFontFamily","LicenseInfo","createMXTheme","customizations","palette","typography","shadows","createTheme","isWarning","sizeTypography","circularProgressClasses"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxenabled/mxui",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "Package containing MX theme and common controls for MUI",
5
5
  "main": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",