@mxenabled/mxui 2.5.3-alpha.al1 → 2.5.3-alpha.al2

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
@@ -669,19 +669,21 @@ const re = {
669
669
  }) => /* @__PURE__ */ a(
670
670
  J,
671
671
  {
672
- InputLabelProps: {
673
- shrink: o,
674
- ...s && {
675
- sx: {
676
- maxWidth: "100%",
677
- overflow: "hidden",
678
- textOverflow: "ellipsis",
679
- whiteSpace: "nowrap"
672
+ disabled: e,
673
+ label: i,
674
+ slotProps: {
675
+ inputLabel: {
676
+ shrink: o,
677
+ ...s && {
678
+ sx: {
679
+ maxWidth: "100%",
680
+ overflow: "hidden",
681
+ textOverflow: "ellipsis",
682
+ whiteSpace: "nowrap"
683
+ }
680
684
  }
681
685
  }
682
686
  },
683
- disabled: e,
684
- label: i,
685
687
  variant: n,
686
688
  ...r
687
689
  }
@@ -1142,8 +1144,7 @@ const Gr = ({
1142
1144
  fontFamily: i,
1143
1145
  fontSize: 9,
1144
1146
  lineHeight: "12px"
1145
- },
1146
- ...e
1147
+ }
1147
1148
  };
1148
1149
  };
1149
1150
  Ne.setLicenseKey(
@@ -1666,7 +1667,7 @@ const Wr = (e, i) => {
1666
1667
  rounded: {
1667
1668
  borderRadius: 8
1668
1669
  },
1669
- ...i?.paletteOptions?.useGlass && {
1670
+ ...i?.styleOptions?.useGlass && {
1670
1671
  root: {
1671
1672
  backgroundColor: "rgba(255, 255, 255, 0.1)",
1672
1673
  backdropFilter: "blur(10px)",
@@ -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/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 { IconProps as MuiIconProps } from '@mui/material/Icon'\n\nimport { Icon as MxIcon } from '@mxenabled/mx-icons'\n\nexport interface IconProps extends MuiIconProps {\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: 4, mt: 24, mr: 32 }}>\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: 16 }}>\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: 16 }}>\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 DateRangePickerToolbarProps,\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'\nimport { MultiInputDateRangeField } from '@mui/x-date-pickers-pro/MultiInputDateRangeField'\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 : 16} m={isSmall ? 0 : 8}>\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 ...(isSmall && {\n toolbar: (props: DateRangePickerToolbarProps) => (\n <MultiInputDateRangeField\n dateSeparator=\"\"\n format=\"MM/dd/yyyy\"\n {...props}\n slotProps={{\n textField: ({ position }) => ({\n label: position === 'start' ? copy.dateRangeFrom : copy.dateRangeTo,\n }),\n }}\n sx={{ gap: 8 }}\n />\n ),\n }),\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={16}\n justifyContent=\"flex-end\"\n sx={{ bgcolor: 'background.paper', p: 24 }}\n >\n {hasSecondaryAction && (\n <Button\n color={secondaryColor}\n onClick={onSecondaryAction}\n variant={onPrimaryAction ? 'outlined' : '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 onClose: () => void\n truncate?: boolean\n}\n\nconst DialogHeader: React.FC<DialogHeaderProps> = ({ copy, onClose, truncate = false }) => {\n return (\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: 24,\n py: 14,\n }}\n >\n <H1 truncate={truncate} variant=\"h3\">\n {copy.title}\n </H1>\n <IconButton aria-label={copy.close_aria} onClick={onClose} sx={{ mr: -12 }}>\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 InputLabelProps={{\n shrink: shrink,\n ...(truncate && {\n sx: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n }),\n }}\n disabled={disabled}\n label={label}\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: 8,\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: 5,\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: 16,\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: 16,\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: 12, 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: 16,\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 { 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: '#74E4DA',\n CHART2: '#ED64A4',\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 ? grey[900] : WHITE,\n secondary: isLight ? grey[600] : alpha(WHITE, 0.7),\n disabled: isLight ? grey[500] : 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 ...typographyOptions,\n }\n}\n","import { alpha, Palette, PaletteMode } from '@mui/material'\nimport { circularProgressClasses } from '@mui/material/CircularProgress'\nimport { createTheme, Shadows } 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 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.action.disabled,\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 },\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 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: 'none',\n },\n styleOverrides: {\n root: {\n cursor: 'pointer',\n fontWeight: 600,\n height: 20,\n marginLeft: 4,\n marginRight: 4,\n '&:hover': {\n backgroundColor: 'transparent !important',\n },\n '&:active': {\n backgroundColor: 'transparent !important',\n },\n '&.Mui-focusVisible': {\n outline: '2px solid isLight',\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 }),\n }),\n },\n },\n\n MuiListItemAvatar: {\n styleOverrides: {\n root: {\n height: 32,\n marginRight: 12,\n minWidth: 32,\n width: 32,\n '& .MuiAvatar-root': {\n height: 32,\n width: 32,\n },\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 '&.MuiInputBase-multiline': {\n minHeight: '44px',\n height: 'auto',\n },\n },\n },\n },\n\n MuiPaper: {\n styleOverrides: {\n rounded: {\n borderRadius: 8,\n },\n ...(customizations?.paletteOptions?.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 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 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 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 },\n },\n\n MuiTabs: {\n styleOverrides: {\n root: {\n borderBottomStyle: 'solid',\n borderBottomWidth: 1,\n borderColor: palette.divider,\n marginBottom: 8,\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: '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","MultiInputDateRangeField","position","BottomSheetTransition","ref","Slide","Footer","hasSecondaryAction","isPrimaryDisabled","onPrimaryAction","onSecondaryAction","primaryColor","primaryText","secondaryColor","secondaryText","Button","Text","bold","className","truncate","uppercase","Typography","H1","H2","H3","P","DialogHeader","onClose","IconButton","Close","Drawer","disableSave","id","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","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","isLight","getContrastRatio","INTER","getTypography","typographyOptions","fontFamily","headerFontFamily","LicenseInfo","createMXTheme","customizations","palette","typography","shadows","createTheme","isWarning","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/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 { IconProps as MuiIconProps } from '@mui/material/Icon'\n\nimport { Icon as MxIcon } from '@mxenabled/mx-icons'\n\nexport interface IconProps extends MuiIconProps {\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: 4, mt: 24, mr: 32 }}>\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: 16 }}>\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: 16 }}>\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 DateRangePickerToolbarProps,\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'\nimport { MultiInputDateRangeField } from '@mui/x-date-pickers-pro/MultiInputDateRangeField'\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 : 16} m={isSmall ? 0 : 8}>\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 ...(isSmall && {\n toolbar: (props: DateRangePickerToolbarProps) => (\n <MultiInputDateRangeField\n dateSeparator=\"\"\n format=\"MM/dd/yyyy\"\n {...props}\n slotProps={{\n textField: ({ position }) => ({\n label: position === 'start' ? copy.dateRangeFrom : copy.dateRangeTo,\n }),\n }}\n sx={{ gap: 8 }}\n />\n ),\n }),\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={16}\n justifyContent=\"flex-end\"\n sx={{ bgcolor: 'background.paper', p: 24 }}\n >\n {hasSecondaryAction && (\n <Button\n color={secondaryColor}\n onClick={onSecondaryAction}\n variant={onPrimaryAction ? 'outlined' : '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 onClose: () => void\n truncate?: boolean\n}\n\nconst DialogHeader: React.FC<DialogHeaderProps> = ({ copy, onClose, truncate = false }) => {\n return (\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: 24,\n py: 14,\n }}\n >\n <H1 truncate={truncate} variant=\"h3\">\n {copy.title}\n </H1>\n <IconButton aria-label={copy.close_aria} onClick={onClose} sx={{ mr: -12 }}>\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: 8,\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: 5,\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: 16,\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: 16,\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: 12, 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: 16,\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 { 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: '#74E4DA',\n CHART2: '#ED64A4',\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 ? grey[900] : WHITE,\n secondary: isLight ? grey[600] : alpha(WHITE, 0.7),\n disabled: isLight ? grey[500] : 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 } 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 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.action.disabled,\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 },\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 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: 'none',\n },\n styleOverrides: {\n root: {\n cursor: 'pointer',\n fontWeight: 600,\n height: 20,\n marginLeft: 4,\n marginRight: 4,\n '&:hover': {\n backgroundColor: 'transparent !important',\n },\n '&:active': {\n backgroundColor: 'transparent !important',\n },\n '&.Mui-focusVisible': {\n outline: '2px solid isLight',\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 }),\n }),\n },\n },\n\n MuiListItemAvatar: {\n styleOverrides: {\n root: {\n height: 32,\n marginRight: 12,\n minWidth: 32,\n width: 32,\n '& .MuiAvatar-root': {\n height: 32,\n width: 32,\n },\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 '&.MuiInputBase-multiline': {\n minHeight: '44px',\n height: 'auto',\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 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 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 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 },\n },\n\n MuiTabs: {\n styleOverrides: {\n root: {\n borderBottomStyle: 'solid',\n borderBottomWidth: 1,\n borderColor: palette.divider,\n marginBottom: 8,\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: '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","MultiInputDateRangeField","position","BottomSheetTransition","ref","Slide","Footer","hasSecondaryAction","isPrimaryDisabled","onPrimaryAction","onSecondaryAction","primaryColor","primaryText","secondaryColor","secondaryText","Button","Text","bold","className","truncate","uppercase","Typography","H1","H2","H3","P","DialogHeader","onClose","IconButton","Close","Drawer","disableSave","id","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","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","isLight","getContrastRatio","INTER","getTypography","typographyOptions","fontFamily","headerFontFamily","LicenseInfo","createMXTheme","customizations","palette","typography","shadows","createTheme","isWarning","circularProgressClasses"],"mappings":"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"}
@@ -5,7 +5,6 @@ export type TypographyOptions = {
5
5
  export declare const INTER = "Inter, Helvetica, Arial, sans-serif";
6
6
  export declare const getTypography: (typographyOptions?: TypographyOptions) => {
7
7
  fontFamily: string;
8
- headerFontFamily?: string;
9
8
  fontSize: number;
10
9
  body1: {
11
10
  fontFamily: string;
@@ -20,6 +20,8 @@ export interface Customizations {
20
20
  white?: string;
21
21
  black?: string;
22
22
  };
23
+ };
24
+ styleOptions?: {
23
25
  useGlass?: boolean;
24
26
  };
25
27
  typographyOptions?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxenabled/mxui",
3
- "version": "2.5.3-alpha.al1",
3
+ "version": "2.5.3-alpha.al2",
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",