@mx-cartographer/insights-ui 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/ProgressBar.tsx","../src/components/GoalProgress.tsx","../src/components/GradientBox.tsx","../src/components/DirectDeposit/DirectDeposit.tsx","../src/components/DirectDeposit/FullFeedBodyHeader.tsx","../src/components/DirectDeposit/FullFeedLogoSection.tsx","../src/components/DirectDeposit/LeftBox.tsx","../src/components/DirectDeposit/LowerBoxSection.tsx","../src/components/DirectDeposit/MiniBodyHeader.tsx","../src/components/DirectDeposit/RightBox.tsx","../src/components/InsightsCard/CardHeader.tsx","../src/images/Loading.gif","../src/components/InsightsCard/CardLoading.tsx","../src/components/InsightsCard/CardButtonSection.tsx","../src/components/InsightsCard/CardError.tsx","../src/components/InsightsCard/ContentAndDescription.tsx","../src/components/InsightsCard/Description.tsx","../src/components/InsightsCard/InsightButton.tsx","../src/components/InsightsCard/Shell.tsx","../src/components/GenericFeedback/FeedbackHeader.tsx","../src/components/GenericFeedback/FeedbackButtons.tsx","../src/components/GenericFeedback/FeedbackDescription.tsx","../src/components/GenericFeedback/FeedbackOptions.tsx","../src/components/GenericFeedback/FeedbackText.tsx","../src/components/Menu/MenuHeaderCloseButton.tsx","../src/insights/MonthlyEmergencyFundReview/MonthlyEmergencyFundReviewBody.tsx","../src/insights/MonthlyEmergencyFundReview/LastMonthsContributionSection.tsx","../src/insights/MonthlyEmergencyFundReview/ProjectedCompletionSection.tsx","../src/insights/MonthlyEmergencyFundReview/TotalSection.tsx","../src/insights/SetUpDirectDeposit/SetUpDirectDepositBody.tsx","../src/insights/SwitchDirectDeposit/AccountBox.tsx","../src/insights/SwitchDirectDeposit/SwitchDirectDepositBody.tsx","../src/insights/SwitchDirectDeposit/SwitchDirectDepositMainContainer.tsx"],"sourcesContent":["import React from 'react'\nimport { useInView } from 'react-intersection-observer'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\n\ninterface PulseProgressBarProps {\n backgroundColor?: string\n color: string\n percent: number\n height: number\n}\n\nexport const PulseProgressBar: React.FC<PulseProgressBarProps> = ({\n backgroundColor,\n color,\n percent,\n height = 12,\n}) => {\n const [ref, inView] = useInView({ triggerOnce: true })\n const [barWidth, setBarWidth] = React.useState('0%')\n\n const roundedPercent = percent > 100 ? 100 : percent\n\n React.useEffect(() => {\n if (inView) {\n setBarWidth(`${roundedPercent}%`)\n }\n }, [inView, roundedPercent])\n\n return (\n <React.Fragment>\n <Card\n data-ui-test=\"progress-bar\"\n ref={ref}\n sx={{\n position: 'relative',\n borderRadius: 8,\n height,\n width: '100%',\n }}\n >\n <Box\n sx={{\n position: 'absolute',\n backgroundColor: backgroundColor ? backgroundColor : color,\n opacity: backgroundColor ? 1 : 0.4,\n width: '100%',\n height: '100%',\n borderRadius: 8,\n }}\n />\n <Box\n sx={{\n position: 'absolute',\n height: '100%',\n backgroundColor: color,\n borderRadius: 8,\n transition: 'width .4s cubic-bezier(0.28, 0.14, 0.34, 1.04)',\n width: barWidth,\n }}\n />\n </Card>\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport { Icon, P } from '@kyper/mui'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { PulseProgressBar } from './ProgressBar'\n\ninterface PulseGoalProgressProps {\n backgroundOverride?: string\n goalPercentage: number\n height?: number\n percentageCompleteText: string\n progressColorOverride?: string\n}\n\nexport const PulseGoalProgress: React.FC<PulseGoalProgressProps> = ({\n backgroundOverride,\n goalPercentage,\n height = 8,\n percentageCompleteText,\n progressColorOverride,\n}) => {\n const theme = useTheme()\n\n // Do not remove the data-ui-test They are needed for the cypress test in Pulse\n return (\n <Box\n className=\"mx-insights-goal-progress\"\n data-ui-test=\"goal-progress\"\n sx={{ marginBottom: 16 }}\n >\n <Card\n sx={{\n display: 'flex',\n alignItems: 'center',\n boxShadow: 'none',\n marginBottom: 8,\n marginTop: 4,\n }}\n >\n <Icon color=\"success\" fill={true} name=\"check_circle\" size={16} />\n\n <P\n bold={true}\n className=\"mx-insights-goal-progress\"\n data-ui-test=\"goal-percentage-complete\"\n sx={{ fontSize: 13 }}\n >\n {percentageCompleteText}\n </P>\n </Card>\n\n <PulseProgressBar\n backgroundColor={\n backgroundOverride ? backgroundOverride : theme.palette.background.highlight\n }\n color={progressColorOverride ? progressColorOverride : theme.palette.primary.main}\n height={height}\n percent={goalPercentage}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@kyper/mui'\n\ninterface PulseGraidentBoxProps {\n children: React.ReactNode\n gradientOverride?: string\n title: string\n}\n\nexport const PulseGraidentBox: React.FC<PulseGraidentBoxProps> = ({\n children,\n gradientOverride,\n title,\n}) => {\n const theme = useTheme()\n return (\n <Box\n className=\"mx-insights-gradient-box\"\n data-ui-test=\"gradient-box\"\n sx={{\n background: !gradientOverride ? 'linear-gradient(#2F73DA, #6BCDDB)' : gradientOverride,\n p: 16,\n }}\n >\n <Card sx={{ background: 'transparent', boxShadow: 'none', marginBottom: 16 }}>\n {title && (\n <P\n className=\"mx-insights-gradient-box-title\"\n data-ui-test=\"gradient-box-title\"\n sx={{ color: theme.palette.primary.lighter, lineHeight: '16px', fontSize: 13 }}\n >\n {title}\n </P>\n )}\n </Card>\n\n <Box\n className=\"mx-insights-gradient-box-card\"\n sx={{\n background: theme.palette.background.paper,\n borderRadius: '4px',\n gap: '16px',\n padding: '12px 16px',\n }}\n >\n {children}\n </Box>\n </Box>\n )\n}\n","import React from 'react'\nimport Confetti from 'react-confetti'\nimport AutoSizer from 'react-virtualized-auto-sizer'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\n\nimport { FullFeedBodyHeader, FullFeedLogoSection, LowerBoxesSection, MiniBodyHeader } from '../'\n\ninterface DirectDepositProps {\n accountGuid: string\n animation: { shouldRun?: boolean }\n leftLowerText: string\n leftUpperText: string\n headerString: string\n isComplete?: boolean\n isMini: boolean\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const DirectDeposit: React.FC<DirectDepositProps> = ({\n accountGuid,\n animation,\n leftLowerText,\n leftUpperText,\n isComplete,\n isMini,\n headerString,\n rightLowerText,\n rightUpperText,\n}) => {\n const dimensions = {\n containerHeight: !isMini ? 186 : 140,\n logoSize: !isMini ? 48 : 20,\n card: {\n gap: !isMini ? 12 : 8,\n },\n padding: !isMini ? '32px 16px 16px 16px' : '12px 16px 12px 16px',\n }\n\n return (\n <Box\n sx={(theme) => ({\n backgroundColor: theme.palette.background.paper,\n height: dimensions.containerHeight,\n padding: dimensions.padding,\n position: 'relative',\n width: '-webkit-calc(100% - 64px)',\n })}\n >\n <AutoSizer>\n {({ height, width }) => (\n <React.Fragment>\n <Confetti\n aria-hidden={true}\n colors={['#3F9FEB', '#C331B6', '#30C434', '#F1CE31', '#EE3B7C']}\n confettiSource={{\n x: width / 2,\n y: height / 2,\n w: 20,\n h: 20,\n }}\n gravity={0.05}\n height={height}\n initialVelocityX={7}\n initialVelocityY={8}\n numberOfPieces={200}\n recycle={false}\n run={animation.shouldRun}\n width={width}\n />\n\n {!isMini && <FullFeedLogoSection accountGuid={accountGuid} width={width} />}\n\n <Card\n sx={(theme) => ({\n alignContent: 'center',\n backgroundColor: theme.palette.background.paper,\n boxShadow: `0px 2px 8px 0px ${!isMini ? '#6A73811F' : '#6A73812F'}`,\n borderRadius: '8px',\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n gap: dimensions.card.gap,\n left: 16,\n padding: dimensions.padding,\n top: 24,\n width: width,\n })}\n >\n {!isMini ? (\n <FullFeedBodyHeader headerString={headerString} />\n ) : (\n <MiniBodyHeader accountGuid={accountGuid} headerString={headerString} />\n )}\n\n <LowerBoxesSection\n isComplete={isComplete}\n leftLowerText={leftLowerText}\n leftUpperText={leftUpperText}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n </Card>\n </React.Fragment>\n )}\n </AutoSizer>\n </Box>\n )\n}\n","import React from 'react'\n\nimport { P } from '@kyper/mui'\n\ninterface BodyHeaderProps {\n headerString: string\n}\n\nexport const FullFeedBodyHeader: React.FC<BodyHeaderProps> = ({ headerString }) => {\n return (\n <P\n bold={true}\n data-ui-test=\"mx-insights-sudd-full-feed-body-header-text\"\n sx={{ width: '100%', textAlign: 'center' }}\n >\n {headerString}\n </P>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { InstitutionLogo } from '@kyper/mui'\n\ninterface FullFeedLogoSectionProps {\n accountGuid: string\n width: string | number\n}\n\nexport const FullFeedLogoSection: React.FC<FullFeedLogoSectionProps> = ({ accountGuid, width }) => {\n const logoSize = 48\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n position: 'absolute',\n right: 0,\n top: 0,\n width: width,\n zIndex: 10,\n }}\n >\n <InstitutionLogo\n alt=\"Financial Institution Logo\"\n data-ui-test=\"mx-insights-sudd-full-feed-body-logo\"\n height={logoSize}\n institutionGuid={accountGuid || ''}\n width={logoSize}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@kyper/mui'\n\ninterface LeftBoxProps {\n leftLowerText: string\n leftUpperText: string\n}\n\nexport const LeftBox: React.FC<LeftBoxProps> = ({ leftLowerText, leftUpperText }) => {\n const theme = useTheme()\n\n return (\n <Card\n sx={{\n backgroundColor: theme.palette.background.default,\n gap: 2,\n padding: 12,\n textAlign: 'center',\n width: '100%',\n }}\n >\n <P\n data-ui-test=\"mx-insights-sudd-left-upper-text\"\n sx={{ color: theme.palette.secondary.light }}\n variant=\"XSmall\"\n >\n {leftUpperText}\n </P>\n <P bold={true} data-ui-test=\"mx-insights-sudd-left-lower-text\" variant=\"Small\">\n {leftLowerText}\n </P>\n </Card>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { LeftBox, RightBox } from '../'\n\ninterface LowerBoxSectionProps {\n isComplete?: boolean\n leftLowerText: string\n leftUpperText: string\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const LowerBoxesSection: React.FC<LowerBoxSectionProps> = ({\n isComplete,\n leftLowerText,\n leftUpperText,\n rightLowerText,\n rightUpperText,\n}) => {\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n height: 58,\n width: '100%',\n }}\n >\n <LeftBox leftLowerText={leftLowerText} leftUpperText={leftUpperText} />\n\n <RightBox\n isComplete={isComplete}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { InstitutionLogo, P } from '@kyper/mui'\n\ninterface MiniBodyHeaderProps {\n accountGuid: string\n headerString: string\n}\n\nexport const MiniBodyHeader: React.FC<MiniBodyHeaderProps> = ({ accountGuid, headerString }) => {\n const logoSize = 20\n\n return (\n <Box\n data-ui-test=\"mx-insights-sudd-mini-body-header\"\n sx={{ display: 'flex', flexDirection: 'row', gap: 8, justifyContent: 'center' }}\n >\n <InstitutionLogo\n alt=\"MX\"\n data-ui-test=\"mx-insights-sudd-mini-body-header-logo\"\n height={logoSize}\n institutionGuid={accountGuid || ''}\n width={logoSize}\n />\n <P bold={true} data-ui-test=\"mx-insights-sudd-mini-body-header-text\">\n {headerString}\n </P>\n </Box>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@kyper/mui'\n\ninterface RightBoxProps {\n isComplete?: boolean\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const RightBox: React.FC<RightBoxProps> = ({\n isComplete,\n rightLowerText,\n rightUpperText,\n}) => {\n const theme = useTheme()\n\n return (\n <Card\n sx={{\n backgroundColor: isComplete ? theme.palette.success.lighter : 'transparent',\n border: isComplete\n ? `1px solid ${theme.palette.success.darker}`\n : `1px dashed ${theme.palette.secondary.lighter}`,\n borderRadius: '4px',\n gap: 2,\n padding: 12,\n textAlign: 'center',\n width: '100%',\n }}\n >\n <P\n data-ui-test=\"mx-insights-sudd-right-upper-text\"\n sx={{ color: theme.palette.secondary.light }}\n variant=\"XSmall\"\n >\n {rightUpperText}\n </P>\n <P\n bold={true}\n data-ui-test=\"mx-insights-sudd-right-lower-text\"\n sx={{\n backgroundColor: isComplete\n ? theme.palette.success.darker\n : theme.palette.warning.lighter,\n color: isComplete ? theme.palette.common.white : theme.palette.warning.darker,\n borderRadius: 4,\n }}\n variant=\"Tiny\"\n >\n {rightLowerText}\n </P>\n </Card>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\ninterface CardHeaderProps {\n children: React.ReactNode\n withFullWidthImage?: boolean\n}\n\nexport const CardHeader: React.FC<CardHeaderProps> = ({ children, withFullWidthImage }) => {\n return (\n <Box\n className={`mx-insight-header`}\n component=\"header\"\n sx={{\n marginBottom: 16,\n ...(withFullWidthImage && {\n paddingTop: 16,\n paddingRight: 16,\n paddingLeft: 16,\n }),\n }}\n >\n {children}\n </Box>\n )\n}\n","export default \"data:image/gif;base64,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\"","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport LoadingGif from '../../images/Loading.gif'\n\ninterface CardLoadingProps {\n altImg?: string\n}\n\nexport const CardLoading: React.FC<CardLoadingProps> = ({ altImg }) => {\n return (\n <Box\n className={`mx-insight-loading`}\n sx={{\n position: 'relative',\n textAlign: 'center',\n }}\n >\n <img\n alt={altImg}\n data-ui-test=\"mx-insight-card-details-loading\"\n src={LoadingGif}\n style={{\n marginBottom: 24,\n height: 64,\n width: 64,\n }}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\ninterface CardButtonSectionProps {\n button: React.ReactNode\n withFullWidthImage?: boolean\n}\n\nexport const CardButtonSection: React.FC<CardButtonSectionProps> = ({\n button,\n withFullWidthImage,\n}) => {\n return (\n <Box\n className={`mx-insight-buttons`}\n data-ui-test=\"beat-button\"\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n flex: '1 0 auto',\n mt: 8,\n ...(withFullWidthImage && {\n px: 16,\n pb: 16,\n }),\n }}\n >\n {button}\n </Box>\n )\n}\n","import React from 'react'\n\nimport { P } from '@kyper/mui'\n\ninterface CardErrorProps {\n erroredText: string\n}\n\nexport const CardError: React.FC<CardErrorProps> = ({ erroredText }) => {\n return (\n <P\n className={`mx-insight-error`}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n flex: '1 0 auto',\n }}\n >\n {erroredText}\n </P>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { Description } from '../'\n\ninterface ContentAndDescriptionProps {\n beat: { [key: string]: any }\n children?: React.ReactNode\n descriptionPlacement?: string\n hideDescription?: boolean\n inDescriptionCtaOnClick?: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n withFullWidthImage?: boolean\n}\n\nexport const ContentAndDescription: React.FC<ContentAndDescriptionProps> = ({\n beat,\n children,\n descriptionPlacement = 'bottom',\n hideDescription,\n inDescriptionCtaOnClick,\n withFullWidthImage,\n}) => {\n const hide = hideDescription || !beat.html_description\n\n const DescriptionSection = (\n <Description\n beat={beat}\n buttonInText={!!beat?.in_description_cta}\n inDescriptionCtaOnClick={inDescriptionCtaOnClick}\n withFullWidthImage={withFullWidthImage}\n />\n )\n\n return (\n <React.Fragment>\n {!hide && descriptionPlacement === 'top' && DescriptionSection}\n <Box\n className={`mx-insight-content`}\n data-ui-test=\"beat-card-content\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n flex: '1 0 auto',\n }}\n >\n {children}\n </Box>\n {!hide && (descriptionPlacement === 'bottom' || !descriptionPlacement) && DescriptionSection}\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport { Icon, P } from '@kyper/mui'\nimport Button from '@mui/material/Button'\nimport Box from '@mui/material/Box'\n\ninterface DescriptionProps {\n beat: { [key: string]: any }\n buttonInText?: boolean\n inDescriptionCtaOnClick?: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n withFullWidthImage?: boolean\n}\n\nexport const Description: React.FC<DescriptionProps> = ({\n beat,\n buttonInText = false,\n inDescriptionCtaOnClick,\n withFullWidthImage,\n}) => {\n const aboveCtaSectionSpace = buttonInText ? 16 : 8\n return (\n <React.Fragment>\n <div className={`mx-insight-description ${beat.template}-description`}>\n <P\n dangerouslySetInnerHTML={{ __html: beat.html_description }}\n data-ui-test=\"beat-description\"\n fontSize={13}\n role=\"text\" // eslint-disable-line jsx-a11y/aria-role\n sx={{\n mt: 0,\n mx: 8,\n wordBreak: 'break-word',\n wordWrap: 'break-word',\n '& > span.bold-copy': { fontWeight: 'bold' },\n mb: beat.in_description_cta ? 4 : aboveCtaSectionSpace,\n ...(withFullWidthImage && {\n px: 16,\n }),\n '& p': {\n mb: beat.in_description_cta ? 4 : aboveCtaSectionSpace,\n },\n }}\n />\n </div>\n\n {!!beat.in_description_cta && (\n <Box\n className={`mx-inights-${beat.template}-in-description-button`}\n sx={{ mb: aboveCtaSectionSpace }}\n >\n <Button onClick={inDescriptionCtaOnClick}>\n {beat.in_description_cta}\n <Icon\n className={`mx-inights-${beat.template}-in-description-icon`}\n name=\"chevron_right\"\n />\n </Button>\n </Box>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport { styled, useTheme } from '@mui/material/styles'\n\ninterface InsightButtonProps {\n beat: { [key: string]: any }\n disabled?: boolean\n hide?: boolean\n onClick?: (event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined) => void\n primary?: boolean\n sx?: object\n variant?: 'text' | 'contained' | 'outlined'\n}\n\nexport const InsightButton: React.FC<InsightButtonProps> = ({\n beat,\n disabled = false,\n hide = false,\n onClick = () => {},\n primary = true,\n sx,\n variant,\n ...rest\n}) => {\n const theme = useTheme()\n\n if (hide) {\n return null\n }\n\n const StyledButton = styled(Button)({\n width: '100%',\n color: primary ? '#359BCF' : theme.palette.secondary.main,\n backgroundColor: theme.palette.background.paper,\n border: primary ? `1px solid ${theme.palette.border.main}` : 0,\n fontSize: primary ? 15 : 13,\n '&:hover': {\n border: !disabled && primary ? `1px solid ${theme.palette.primary.dark}` : 0,\n color: !primary && '#359BCF',\n },\n padding: '0px 16px',\n ...sx,\n })\n\n return (\n <StyledButton\n data-ui-test={primary ? `primary-cta-${beat.template}` : `secondary-cta-${beat.template}`}\n disabled={disabled}\n id={primary ? `primary-cta-${beat.guid}` : `secondary-cta-${beat.guid}`}\n onClick={(e) => {\n onClick(e)\n }}\n variant={variant ? variant : 'outlined'}\n {...rest}\n >\n {primary ? beat.call_to_action : beat.supporting_action}\n </StyledButton>\n )\n}\n","import React from 'react'\n\ninterface ShellProps {\n ariaHidden?: boolean\n beat: { [key: string]: any }\n children?: React.ReactNode\n DismissedBeatSwitcher?: React.ReactNode\n elementTag?: string\n setRefs?: (...args: any[]) => void\n}\ninterface ElementProps {\n id: string\n elementTag: string\n children?: React.ReactNode\n ref: any\n style: { [key: string]: any }\n}\n\nexport const Shell: React.FC<ShellProps> = ({\n ariaHidden = false,\n beat,\n children,\n DismissedBeatSwitcher,\n elementTag,\n setRefs,\n}) => {\n const Element: React.FC<ElementProps> = ({ elementTag, children, ...rest }) => {\n const Element = elementTag as keyof JSX.IntrinsicElements\n\n return React.createElement(Element, rest, children)\n }\n\n return (\n <Element\n aria-hidden={ariaHidden}\n aria-labelledby={elementTag === 'article' ? beat.guid : null}\n data-ui-test={`${beat.template}`}\n elementTag={elementTag || 'article'}\n id={`${beat.guid}-article`}\n ref={setRefs}\n style={{\n position: 'relative', // Removing this will mess up the graphs in Chrome. I don't think Chrome likes Articles.\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n boxSizing: 'border-box',\n }}\n >\n {beat.dismissed_at ? DismissedBeatSwitcher : children}\n </Element>\n )\n}\n","import React from 'react'\n\nimport Stack from '@mui/material/Stack'\nimport { H3 } from '@kyper/mui'\n\nimport { MenuHeaderCloseButton } from '../../'\n\ninterface FeedbackHeaderProps {\n ariaLabelText: string\n headerText: string\n menuHeaderCloserButtonAriaLabel: {\n ratingExist: string\n ratingDoesntExist: string\n ariaLabelText: string\n }\n onCancel: () => void\n onClose: () => void\n rating?: number\n}\n\nexport const FeedbackHeader: React.FC<FeedbackHeaderProps> = ({\n headerText,\n menuHeaderCloserButtonAriaLabel,\n onCancel,\n onClose,\n rating,\n}) => {\n return (\n <Stack\n data-ui-test=\"beat-feedback-title\"\n sx={{\n display: 'flex',\n marginBottom: 16,\n alignItems: 'center',\n }}\n >\n <H3>{headerText}</H3>\n <MenuHeaderCloseButton\n ariaLabel={`${\n rating\n ? menuHeaderCloserButtonAriaLabel.ratingExist\n : menuHeaderCloserButtonAriaLabel.ratingDoesntExist\n } ${menuHeaderCloserButtonAriaLabel.ariaLabelText}`}\n className=\"mx-insights-feedback-header-container-close-button\"\n data-ui-test=\"feedback-close-button\"\n onClick={() => {\n onCancel()\n onClose()\n }}\n sx={{\n justifyContent: 'center',\n alignItems: 'center',\n height: 44,\n width: 44,\n position: 'absolute',\n right: 12,\n }}\n />\n </Stack>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport { styled, useTheme } from '@mui/material/styles'\n\ninterface FeedbackButtonsProps {\n buttonText: {\n cancelText: string\n submitText: string\n }\n errorMessage: string\n feedbackMessage: string\n onCancel: () => void\n onClose: () => void\n otherOptionIndex: number\n selectedRadio?: number\n}\n\nexport const FeedbackButtons: React.FC<FeedbackButtonsProps> = ({\n buttonText,\n errorMessage,\n feedbackMessage,\n onCancel,\n onClose,\n otherOptionIndex,\n selectedRadio,\n}) => {\n const theme = useTheme()\n\n const { cancelText, submitText } = buttonText\n\n // TODO: Remove this when figma is updated to use MUI\n const CancelStyledButton = styled(Button)({\n backgroundColor: 'transparent',\n color: theme.palette.primary.light,\n fontSize: 15,\n '&:hover': {\n color: theme.palette.primary.dark,\n backgroundColor: theme.palette.primary.lighter,\n },\n marginTop: 12,\n width: '100%',\n })\n\n // TODO: Remove this when figma is updated to use MUI\n const SubmitStyledButton = styled(Button)({\n backgroundColor: theme.palette.action.active,\n borderRadius: 4,\n fontSize: 16,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n },\n padding: `12px 16px`,\n width: '100%',\n })\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n marginTop: 24,\n }}\n >\n <SubmitStyledButton\n className=\"mx-insights-beat-feedback-submit-button\"\n data-ui-test=\"submit-button\"\n disabled={\n (!feedbackMessage.trim() &&\n (selectedRadio === otherOptionIndex || selectedRadio === null)) ||\n !!errorMessage\n }\n type=\"submit\"\n >\n {submitText}\n </SubmitStyledButton>\n\n <CancelStyledButton\n className=\"mx-insights-beat-feedback-no-thanks-button\"\n data-ui-test=\"no-thanks-button\"\n onClick={() => {\n onCancel()\n onClose()\n }}\n >\n {cancelText}\n </CancelStyledButton>\n </Box>\n )\n}\n","import React from 'react'\n\nimport { P } from '@kyper/mui'\n\ninterface FeedbackDescriptionProps {\n bodyText: string\n}\n\nexport const FeedbackDescription: React.FC<FeedbackDescriptionProps> = ({ bodyText }) => {\n return (\n <div style={{ padding: '8px 24px 8px 0px' }}>\n <P data-ui-test=\"feedback-description\">{bodyText}</P>\n </div>\n )\n}\n","import React from 'react'\n\nimport FormControl from '@mui/material/FormControl'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport Radio from '@mui/material/Radio'\nimport RadioGroup from '@mui/material/RadioGroup'\n\nimport { useTheme } from '@mui/material'\n\ninterface FeedBackOptionsProps {\n feedbackOptions: Array<string>\n groupAriaLabel: string\n selectedRadio?: number\n setSelectedRadio: (i: number) => void\n}\n\n// Start of Main Component *************************************\nexport const FeedbackOptions: React.FC<FeedBackOptionsProps> = ({\n feedbackOptions,\n groupAriaLabel,\n selectedRadio,\n setSelectedRadio,\n}) => {\n const theme = useTheme()\n return (\n <FormControl\n sx={{\n mx: '-24px',\n '.mx-insights-beat-feedback-options-radio-container': {\n padding: '24px 0px 23px 0px',\n borderBottom: `1px solid ${theme.palette.border.light}`,\n },\n '.mx-insights-beat-feedback-options-radio-label': {\n fontSize: '15px',\n height: '36px',\n lineHeight: '20px',\n display: 'flex',\n alignItems: 'center',\n },\n }}\n >\n <RadioGroup aria-label={groupAriaLabel} name=\"radio-buttons-group\">\n {feedbackOptions.map((option, i) => (\n <div className=\"mx-insights-beat-feedback-options-radio-container\" key={i}>\n <FormControlLabel\n control={\n <Radio\n checked={selectedRadio === i}\n className=\"mx-insights-beat-feedback-options-radio\"\n id={`radio-${i}`}\n name={`radio-${i}`}\n onChange={() => setSelectedRadio(i)}\n sx={{\n mr: '24px',\n p: '0px 24px',\n }}\n />\n }\n label={option}\n value={<div className=\"mx-insights-beat-feedback-options-radio-label\">{option}</div>}\n />\n </div>\n ))}\n </RadioGroup>\n </FormControl>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport { TextareaAutosize as BaseTextareaAutosize } from '@mui/base/TextareaAutosize'\nimport { styled } from '@mui/system'\n\ninterface BeatFeedbackTextProps {\n feedbackAriaLabel: string\n feedbackDescriptionPlaceHolder: string\n feedbackLabel: string\n feedbackMessage?: string\n sendAnalytics: () => void\n setFeedbackMessage: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n validateForm: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n}\n\nexport const BeatFeedbackText: React.FC<BeatFeedbackTextProps> = ({\n feedbackAriaLabel,\n feedbackDescriptionPlaceHolder,\n feedbackLabel,\n feedbackMessage,\n sendAnalytics,\n setFeedbackMessage,\n validateForm,\n}) => {\n const TextareaAutosize = styled(BaseTextareaAutosize)({\n height: 93,\n resize: 'none',\n })\n\n return (\n <Box\n aria-label={feedbackLabel}\n sx={{\n marginTop: 24,\n }}\n >\n <TextareaAutosize\n aria-label={feedbackAriaLabel}\n className=\"mx-insights-beat-feedback-text-text-area\"\n data-ui-test=\"feedback-textarea\"\n name=\"Feedback\"\n onChange={(e: { target: { value: any } }) => {\n setFeedbackMessage(e.target.value)\n validateForm(e.target.value)\n }}\n onClick={() => sendAnalytics()}\n placeholder={feedbackDescriptionPlaceHolder}\n value={feedbackMessage}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport { useTheme, SxProps } from '@mui/material/styles'\nimport IconButton from '@mui/material/IconButton'\n\nimport { Icon } from '@kyper/mui'\n\ninterface MenuHeaderCloseButtonProps {\n ariaLabel: string\n className?: string\n onClick: () => void\n sx?: SxProps\n}\n\nexport const MenuHeaderCloseButton: React.FC<MenuHeaderCloseButtonProps> = ({\n ariaLabel,\n className,\n onClick,\n sx,\n}) => {\n const theme = useTheme()\n\n return (\n <IconButton\n aria-label={ariaLabel}\n className={`${className} mx-insights-menu-header-close-button`}\n onClick={onClick}\n >\n <Icon\n name=\"cancel\"\n sx={{\n color: theme.palette.text.secondary,\n cursor: 'pointer',\n background: 'none',\n border: 'none',\n padding: 0,\n marginLeft: 'auto',\n display: 'flex',\n ' svg': {\n backgroundColor: theme.palette.background.highlight,\n color: theme.palette.secondary.darker,\n },\n '&:hover svg': {\n backgroundColor: theme.palette.border.light,\n color: theme.palette.secondary.darker,\n },\n ...sx,\n }}\n />\n </IconButton>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport { ThemeProvider } from '@mui/material/styles'\n\nimport { createMXTheme } from '@kyper/mui'\n\nimport { PulseGoalProgress, PulseGraidentBox } from '../../components'\n\nimport { LastMonthsContributionSection, ProjectedCompletionSection, TotalSavedSection } from '.'\n\ninterface payload {\n goal_contributed: number\n goal_contributed_last_month: number\n goal_percentage: number\n goal_total: number\n is_goal_completed: boolean\n}\n\ninterface BodyProps {\n goalCompletionDate: string\n goalContribution: string\n isDarkMode?: boolean\n payload: payload\n percentageCompleteText: string\n showGoalContributedLastMonth: boolean\n showProjectedToCompleteDate: boolean\n title: string\n totalSavedText: string\n}\n\nexport const MonthlyEmergencyFundReviewBody: React.FC<BodyProps> = ({\n goalCompletionDate = '',\n goalContribution = '',\n isDarkMode,\n payload,\n percentageCompleteText,\n showGoalContributedLastMonth,\n showProjectedToCompleteDate,\n title,\n totalSavedText,\n}) => {\n const theme = createMXTheme(isDarkMode ? 'dark' : 'light')\n\n return (\n <ThemeProvider theme={theme}>\n <Box className=\"mx-insights-mefr-body\" data-ui-test=\"mefr-body\" sx={{ mb: 16 }}>\n <PulseGraidentBox title={title}>\n <PulseGoalProgress\n goalPercentage={payload.goal_percentage}\n percentageCompleteText={percentageCompleteText}\n />\n\n <Box\n className=\"mx-insights-mefr-body-content\"\n data-ui-test=\"mefr-body-content\"\n sx={{ marginTop: 8 }}\n >\n {!!showProjectedToCompleteDate && (\n <ProjectedCompletionSection goalCompletionDate={goalCompletionDate} />\n )}\n\n {!!showGoalContributedLastMonth && (\n <LastMonthsContributionSection goalContribution={goalContribution} />\n )}\n\n <TotalSavedSection\n showGoalContributedLastMonth={showGoalContributedLastMonth}\n totalSavedText={totalSavedText}\n />\n </Box>\n </PulseGraidentBox>\n </Box>\n </ThemeProvider>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { Icon, Text } from '@kyper/mui'\n\ninterface ComponentProps {\n goalContribution: string\n}\n\nexport const LastMonthsContributionSection: React.FC<ComponentProps> = ({ goalContribution }) => {\n return (\n <Card\n data-ui-test=\"mefr-body-contributed\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n marginBottom: 8,\n size: 13,\n }}\n >\n <Icon color=\"secondary\" fill={true} name=\"bid_landscape\" style={{ marginRight: 4 }} />\n <Text\n dangerouslySetInnerHTML={{ __html: goalContribution }}\n data-ui-test=\"mefr-contributed-text\"\n sx={{ fontSize: 13 }}\n />\n </Card>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { Icon, Text } from '@kyper/mui'\n\ninterface ComponentProps {\n goalCompletionDate: string\n}\n\nexport const ProjectedCompletionSection: React.FC<ComponentProps> = ({ goalCompletionDate }) => {\n return (\n <Card\n data-ui-test=\"mefr-body-projected\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n marginBottom: 8,\n size: 13,\n }}\n >\n <Icon name=\"calendar_month\" style={{ marginRight: 4 }} />\n <Text\n dangerouslySetInnerHTML={{ __html: goalCompletionDate }}\n data-ui-test=\"mefr-projected-text\"\n sx={{ fontSize: 13 }}\n />\n </Card>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { Icon, Text } from '@kyper/mui'\n\ninterface ComponentProps {\n showGoalContributedLastMonth: boolean\n totalSavedText: string\n}\n\nexport const TotalSavedSection: React.FC<ComponentProps> = ({\n showGoalContributedLastMonth,\n totalSavedText,\n}) => {\n return (\n <Card\n data-ui-test=\"mefr-body-saved\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n marginBottom: showGoalContributedLastMonth ? 8 : 0,\n size: 13,\n }}\n >\n <Icon name=\"paid\" style={{ marginRight: 4 }} />\n <Text\n className=\"mx-insights-mefr-saved-text\"\n dangerouslySetInnerHTML={{ __html: totalSavedText }}\n data-ui-test=\"mefr-saved-text\"\n sx={{ fontSize: 13 }}\n />\n </Card>\n )\n}\n","import React from 'react'\n\nimport { ThemeProvider } from '@mui/material/styles'\n\nimport { createMXTheme } from '@kyper/mui'\n\nimport { DirectDeposit } from '../../components'\n\ninterface BodyProps {\n accountGuid: string\n animation: { shouldRun?: boolean }\n leftLowerText: string\n leftUpperText: string\n headerString: string\n isComplete?: boolean\n isDarkMode?: boolean\n isMini: boolean\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const SetUpDirectDepositBody: React.FC<BodyProps> = ({\n accountGuid,\n animation,\n leftLowerText,\n leftUpperText,\n isComplete,\n isDarkMode,\n isMini,\n headerString,\n rightLowerText,\n rightUpperText,\n}) => {\n const theme = createMXTheme(isDarkMode ? 'dark' : 'light')\n\n return (\n <ThemeProvider theme={theme}>\n <DirectDeposit\n accountGuid={accountGuid}\n animation={animation}\n headerString={headerString}\n isComplete={isComplete}\n isMini={isMini}\n leftLowerText={leftLowerText}\n leftUpperText={leftUpperText}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n </ThemeProvider>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\n\nimport { InstitutionLogo, P } from '@kyper/mui'\n\ninterface AccountBoxProps {\n accountGuid: string\n accountName: string\n}\n\nexport const AccountBox: React.FC<AccountBoxProps> = ({ accountGuid, accountName }) => {\n return (\n <Card\n className=\"mx-insights-sdd-account-Card\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n maxWidth: 70,\n }}\n >\n <Box\n className=\"mx-insights-sdd-account-image-container\"\n sx={{ display: 'flex', justifyContent: 'center', width: '100%' }}\n >\n <InstitutionLogo\n alt=\"Financial Institution Logo\"\n data-ui-test=\"mx-insights-sudd-full-feed-body-logo\"\n height={32}\n institutionGuid={accountGuid || ''}\n width={32}\n />\n </Box>\n\n <P\n className=\"mx-insights-sdd-account-account-name\"\n style={{ textAlign: 'center' }}\n variant=\"Tiny\"\n >\n {accountName}\n </P>\n </Card>\n )\n}\n","import React from 'react'\n\nimport { ThemeProvider } from '@mui/material/styles'\n\nimport { createMXTheme } from '@kyper/mui'\n\nimport { DirectDeposit } from '../../components'\nimport { SwitchDirectDepositMainContainer } from './'\n\ninterface SwitchDirectDepositBodyProps {\n accountGuid: string\n animation: { shouldRun?: boolean }\n destinationAccountGuid: string\n externalAccountName: string\n heldAccountName: string\n headerString: string\n isComplete?: boolean\n isDarkMode?: boolean\n isMini: boolean\n leftLowerText: string\n leftUpperText: string\n rightLowerText: string\n rightUpperText: string\n sourceAccountGuid: string\n}\n\nexport const SwitchDirectDepositBody: React.FC<SwitchDirectDepositBodyProps> = ({\n accountGuid,\n animation,\n destinationAccountGuid,\n externalAccountName,\n heldAccountName,\n headerString,\n isComplete,\n isDarkMode,\n isMini,\n leftLowerText,\n leftUpperText,\n rightLowerText,\n rightUpperText,\n sourceAccountGuid,\n}) => {\n const theme = createMXTheme(isDarkMode ? 'dark' : 'light')\n\n return (\n <React.Fragment>\n <ThemeProvider theme={theme}>\n {isComplete ? (\n <DirectDeposit\n accountGuid={accountGuid}\n animation={animation}\n headerString={headerString}\n isComplete={isComplete}\n isMini={isMini}\n leftLowerText={leftLowerText}\n leftUpperText={leftUpperText}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n ) : (\n <SwitchDirectDepositMainContainer\n destinationAccountGuid={destinationAccountGuid}\n externalAccountName={externalAccountName}\n heldAccountName={heldAccountName}\n sourceAccountGuid={sourceAccountGuid}\n />\n )}\n </ThemeProvider>\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Icon } from '@kyper/mui'\n\nimport { AccountBox } from './'\n\ninterface SwitchDirectDepositMainContainerProps {\n destinationAccountGuid: string\n externalAccountName: string\n heldAccountName: string\n sourceAccountGuid: string\n}\n\nexport const SwitchDirectDepositMainContainer: React.FC<SwitchDirectDepositMainContainerProps> = ({\n destinationAccountGuid,\n externalAccountName,\n heldAccountName,\n sourceAccountGuid,\n}) => {\n return (\n <Stack\n className=\"mx-insights-sdd-main-container\"\n direction=\"row\"\n sx={{ gap: 8, height: 82, justifyContent: 'center', py: 12, width: '100%' }}\n >\n <AccountBox accountGuid={sourceAccountGuid} accountName={externalAccountName} />\n\n <Icon\n className=\"mx-insights-sdd-arrow-forward-icon\"\n name=\"arrow_forward\"\n size={24}\n sx={{ my: 'auto' }}\n />\n\n <AccountBox accountGuid={destinationAccountGuid} accountName={heldAccountName} />\n </Stack>\n )\n}\n"],"names":["PulseProgressBar","backgroundColor","color","percent","height","ref","inView","useInView","barWidth","setBarWidth","React","roundedPercent","jsx","jsxs","Card","Box","PulseGoalProgress","backgroundOverride","goalPercentage","percentageCompleteText","progressColorOverride","theme","useTheme","Icon","P","PulseGraidentBox","children","gradientOverride","title","DirectDeposit","accountGuid","animation","leftLowerText","leftUpperText","isComplete","isMini","headerString","rightLowerText","rightUpperText","dimensions","AutoSizer","width","Confetti","FullFeedLogoSection","MiniBodyHeader","FullFeedBodyHeader","LowerBoxesSection","InstitutionLogo","LeftBox","RightBox","CardHeader","withFullWidthImage","LoadingGif","CardLoading","altImg","CardButtonSection","button","CardError","erroredText","ContentAndDescription","beat","descriptionPlacement","hideDescription","inDescriptionCtaOnClick","hide","DescriptionSection","Description","buttonInText","aboveCtaSectionSpace","Button","InsightButton","disabled","onClick","primary","sx","variant","rest","StyledButton","styled","e","Shell","ariaHidden","DismissedBeatSwitcher","elementTag","setRefs","Element","FeedbackHeader","headerText","menuHeaderCloserButtonAriaLabel","onCancel","onClose","rating","Stack","H3","MenuHeaderCloseButton","FeedbackButtons","buttonText","errorMessage","feedbackMessage","otherOptionIndex","selectedRadio","cancelText","submitText","CancelStyledButton","SubmitStyledButton","FeedbackDescription","bodyText","FeedbackOptions","feedbackOptions","groupAriaLabel","setSelectedRadio","FormControl","RadioGroup","option","i","FormControlLabel","Radio","BeatFeedbackText","feedbackAriaLabel","feedbackDescriptionPlaceHolder","feedbackLabel","sendAnalytics","setFeedbackMessage","validateForm","TextareaAutosize","BaseTextareaAutosize","ariaLabel","className","IconButton","MonthlyEmergencyFundReviewBody","goalCompletionDate","goalContribution","isDarkMode","payload","showGoalContributedLastMonth","showProjectedToCompleteDate","totalSavedText","createMXTheme","ThemeProvider","ProjectedCompletionSection","LastMonthsContributionSection","TotalSavedSection","Text","SetUpDirectDepositBody","AccountBox","accountName","SwitchDirectDepositBody","destinationAccountGuid","externalAccountName","heldAccountName","sourceAccountGuid","SwitchDirectDepositMainContainer"],"mappings":";;;;;;;;;;;;;;;;;;;AAaO,MAAMA,IAAoD,CAAC;AAAA,EAChE,iBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC,IAAS;AACX,MAAM;AACE,QAAA,CAACC,GAAKC,CAAM,IAAIC,EAAU,EAAE,aAAa,IAAM,GAC/C,CAACC,GAAUC,CAAW,IAAIC,EAAM,SAAS,IAAI,GAE7CC,IAAiBR,IAAU,MAAM,MAAMA;AAE7C,SAAAO,EAAM,UAAU,MAAM;AACpB,IAAIJ,KACUG,EAAA,GAAGE,CAAc,GAAG;AAAA,EAClC,GACC,CAACL,GAAQK,CAAc,CAAC,GAGzB,gBAAAC,EAACF,EAAM,UAAN,EACC,UAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAa;AAAA,MACb,KAAAT;AAAA,MACA,IAAI;AAAA,QACF,UAAU;AAAA,QACV,cAAc;AAAA,QACd,QAAAD;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAQ;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,UAAU;AAAA,cACV,iBAAiBd,KAAoCC;AAAA,cACrD,SAASD,IAAkB,IAAI;AAAA,cAC/B,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,cAAc;AAAA,YAAA;AAAA,UAChB;AAAA,QACF;AAAA,QACA,gBAAAW;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,UAAU;AAAA,cACV,QAAQ;AAAA,cACR,iBAAiBb;AAAA,cACjB,cAAc;AAAA,cACd,YAAY;AAAA,cACZ,OAAOM;AAAA,YAAA;AAAA,UACT;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GC/CaQ,IAAsD,CAAC;AAAA,EAClE,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,QAAAd,IAAS;AAAA,EACT,wBAAAe;AAAA,EACA,uBAAAC;AACF,MAAM;AACJ,QAAMC,IAAQC,EAAS;AAIrB,SAAA,gBAAAT;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,gBAAa;AAAA,MACb,IAAI,EAAE,cAAc,GAAG;AAAA,MAEvB,UAAA;AAAA,QAAA,gBAAAF;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,WAAW;AAAA,cACX,cAAc;AAAA,cACd,WAAW;AAAA,YACb;AAAA,YAEA,UAAA;AAAA,cAAC,gBAAAF,EAAAW,GAAA,EAAK,OAAM,WAAU,MAAM,IAAM,MAAK,gBAAe,MAAM,GAAI,CAAA;AAAA,cAEhE,gBAAAX;AAAA,gBAACY;AAAA,gBAAA;AAAA,kBACC,MAAM;AAAA,kBACN,WAAU;AAAA,kBACV,gBAAa;AAAA,kBACb,IAAI,EAAE,UAAU,GAAG;AAAA,kBAElB,UAAAL;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH;AAAA,UAAA;AAAA,QACF;AAAA,QAEA,gBAAAP;AAAA,UAACZ;AAAA,UAAA;AAAA,YACC,iBACEiB,KAA0CI,EAAM,QAAQ,WAAW;AAAA,YAErE,OAAOD,KAAgDC,EAAM,QAAQ,QAAQ;AAAA,YAC7E,QAAAjB;AAAA,YACA,SAASc;AAAA,UAAA;AAAA,QAAA;AAAA,MACX;AAAA,IAAA;AAAA,EACF;AAEJ,GCnDaO,IAAoD,CAAC;AAAA,EAChE,UAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,QAAMP,IAAQC,EAAS;AAErB,SAAA,gBAAAT;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,gBAAa;AAAA,MACb,IAAI;AAAA,QACF,YAAaY,KAAmB;AAAA,QAChC,GAAG;AAAA,MACL;AAAA,MAEA,UAAA;AAAA,QAAC,gBAAAf,EAAAE,GAAA,EAAK,IAAI,EAAE,YAAY,eAAe,WAAW,QAAQ,cAAc,GAAG,GACxE,UACCc,KAAA,gBAAAhB;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,gBAAa;AAAA,YACb,IAAI,EAAE,OAAOH,EAAM,QAAQ,QAAQ,SAAS,YAAY,QAAQ,UAAU,GAAG;AAAA,YAE5E,UAAAO;AAAA,UAAA;AAAA,QAAA,GAGP;AAAA,QAEA,gBAAAhB;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,YAAYM,EAAM,QAAQ,WAAW;AAAA,cACrC,cAAc;AAAA,cACd,KAAK;AAAA,cACL,SAAS;AAAA,YACX;AAAA,YAEC,UAAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EACF;AAEJ,GCjCaG,IAA8C,CAAC;AAAA,EAC1D,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACJ,QAAMC,IAAa;AAAA,IACjB,iBAAkBJ,IAAe,MAAN;AAAA,IAC3B,UAAWA,IAAc,KAAL;AAAA,IACpB,MAAM;AAAA,MACJ,KAAMA,IAAc,IAAL;AAAA,IACjB;AAAA,IACA,SAAUA,IAAiC,wBAAxB;AAAA,EACrB;AAGE,SAAA,gBAAAvB;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,IAAI,CAACM,OAAW;AAAA,QACd,iBAAiBA,EAAM,QAAQ,WAAW;AAAA,QAC1C,QAAQkB,EAAW;AAAA,QACnB,SAASA,EAAW;AAAA,QACpB,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAGT,UAAA,gBAAA3B,EAAC4B,GACE,EAAA,UAAA,CAAC,EAAE,QAAApC,GAAQ,OAAAqC,QACV,gBAAA5B,EAACH,EAAM,UAAN,EACC,UAAA;AAAA,QAAA,gBAAAE;AAAA,UAAC8B;AAAA,UAAA;AAAA,YACC,eAAa;AAAA,YACb,QAAQ,CAAC,WAAW,WAAW,WAAW,WAAW,SAAS;AAAA,YAC9D,gBAAgB;AAAA,cACd,GAAGD,IAAQ;AAAA,cACX,GAAGrC,IAAS;AAAA,cACZ,GAAG;AAAA,cACH,GAAG;AAAA,YACL;AAAA,YACA,SAAS;AAAA,YACT,QAAAA;AAAA,YACA,kBAAkB;AAAA,YAClB,kBAAkB;AAAA,YAClB,gBAAgB;AAAA,YAChB,SAAS;AAAA,YACT,KAAK2B,EAAU;AAAA,YACf,OAAAU;AAAA,UAAA;AAAA,QACF;AAAA,QAEC,CAACN,KAAW,gBAAAvB,EAAA+B,GAAA,EAAoB,aAAAb,GAA0B,OAAAW,EAAc,CAAA;AAAA,QAEzE,gBAAA5B;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAI,CAACO,OAAW;AAAA,cACd,cAAc;AAAA,cACd,iBAAiBA,EAAM,QAAQ,WAAW;AAAA,cAC1C,WAAW,mBAAoBc,IAAuB,cAAd,WAAyB;AAAA,cACjE,cAAc;AAAA,cACd,SAAS;AAAA,cACT,eAAe;AAAA,cACf,UAAU;AAAA,cACV,KAAKI,EAAW,KAAK;AAAA,cACrB,MAAM;AAAA,cACN,SAASA,EAAW;AAAA,cACpB,KAAK;AAAA,cACL,OAAAE;AAAA,YAAA;AAAA,YAGD,UAAA;AAAA,cAACN,IAGC,gBAAAvB,EAAAgC,GAAA,EAAe,aAAAd,GAA0B,cAAAM,EAA4B,CAAA,sBAFrES,GAAmB,EAAA,cAAAT,EAAA,CAA4B;AAAA,cAKlD,gBAAAxB;AAAA,gBAACkC;AAAA,gBAAA;AAAA,kBACC,YAAAZ;AAAA,kBACA,eAAAF;AAAA,kBACA,eAAAC;AAAA,kBACA,gBAAAI;AAAA,kBACA,gBAAAC;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EAAA,CACF,EAEJ,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ,GCtGaO,IAAgD,CAAC,EAAE,cAAAT,QAE5D,gBAAAxB;AAAA,EAACY;AAAA,EAAA;AAAA,IACC,MAAM;AAAA,IACN,gBAAa;AAAA,IACb,IAAI,EAAE,OAAO,QAAQ,WAAW,SAAS;AAAA,IAExC,UAAAY;AAAA,EAAA;AACH,GCLSO,IAA0D,CAAC,EAAE,aAAAb,GAAa,OAAAW,QAInF,gBAAA7B;AAAA,EAACG;AAAA,EAAA;AAAA,IACC,IAAI;AAAA,MACF,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAA0B;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,IAEA,UAAA,gBAAA7B;AAAA,MAACmC;AAAA,MAAA;AAAA,QACC,KAAI;AAAA,QACJ,gBAAa;AAAA,QACb,QAAQ;AAAA,QACR,iBAAiBjB,KAAe;AAAA,QAChC,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EACT;AACF,GCrBSkB,IAAkC,CAAC,EAAE,eAAAhB,GAAe,eAAAC,QAAoB;AACnF,QAAMZ,IAAQC,EAAS;AAGrB,SAAA,gBAAAT;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,iBAAiBO,EAAM,QAAQ,WAAW;AAAA,QAC1C,KAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAT;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,gBAAa;AAAA,YACb,IAAI,EAAE,OAAOH,EAAM,QAAQ,UAAU,MAAM;AAAA,YAC3C,SAAQ;AAAA,YAEP,UAAAY;AAAA,UAAA;AAAA,QACH;AAAA,QACA,gBAAArB,EAACY,KAAE,MAAM,IAAM,gBAAa,oCAAmC,SAAQ,SACpE,UACHQ,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ,GCvBac,IAAoD,CAAC;AAAA,EAChE,YAAAZ;AAAA,EACA,eAAAF;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAI;AAAA,EACA,gBAAAC;AACF,MAEI,gBAAAzB;AAAA,EAACE;AAAA,EAAA;AAAA,IACC,IAAI;AAAA,MACF,SAAS;AAAA,MACT,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IAEA,UAAA;AAAA,MAAC,gBAAAH,EAAAoC,GAAA,EAAQ,eAAAhB,GAA8B,eAAAC,EAA8B,CAAA;AAAA,MAErE,gBAAArB;AAAA,QAACqC;AAAA,QAAA;AAAA,UACC,YAAAf;AAAA,UACA,gBAAAG;AAAA,UACA,gBAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AACF,GC1BSM,IAAgD,CAAC,EAAE,aAAAd,GAAa,cAAAM,QAIzE,gBAAAvB;AAAA,EAACE;AAAA,EAAA;AAAA,IACC,gBAAa;AAAA,IACb,IAAI,EAAE,SAAS,QAAQ,eAAe,OAAO,KAAK,GAAG,gBAAgB,SAAS;AAAA,IAE9E,UAAA;AAAA,MAAA,gBAAAH;AAAA,QAACmC;AAAA,QAAA;AAAA,UACC,KAAI;AAAA,UACJ,gBAAa;AAAA,UACb,QAAQ;AAAA,UACR,iBAAiBjB,KAAe;AAAA,UAChC,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,wBACCN,GAAE,EAAA,MAAM,IAAM,gBAAa,0CACzB,UACHY,EAAA,CAAA;AAAA,IAAA;AAAA,EAAA;AACF,GChBSa,IAAoC,CAAC;AAAA,EAChD,YAAAf;AAAA,EACA,gBAAAG;AAAA,EACA,gBAAAC;AACF,MAAM;AACJ,QAAMjB,IAAQC,EAAS;AAGrB,SAAA,gBAAAT;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,iBAAiBoB,IAAab,EAAM,QAAQ,QAAQ,UAAU;AAAA,QAC9D,QAAQa,IACJ,aAAab,EAAM,QAAQ,QAAQ,MAAM,KACzC,cAAcA,EAAM,QAAQ,UAAU,OAAO;AAAA,QACjD,cAAc;AAAA,QACd,KAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,MACT;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAT;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,gBAAa;AAAA,YACb,IAAI,EAAE,OAAOH,EAAM,QAAQ,UAAU,MAAM;AAAA,YAC3C,SAAQ;AAAA,YAEP,UAAAiB;AAAA,UAAA;AAAA,QACH;AAAA,QACA,gBAAA1B;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,MAAM;AAAA,YACN,gBAAa;AAAA,YACb,IAAI;AAAA,cACF,iBAAiBU,IACbb,EAAM,QAAQ,QAAQ,SACtBA,EAAM,QAAQ,QAAQ;AAAA,cAC1B,OAAOa,IAAab,EAAM,QAAQ,OAAO,QAAQA,EAAM,QAAQ,QAAQ;AAAA,cACvE,cAAc;AAAA,YAChB;AAAA,YACA,SAAQ;AAAA,YAEP,UAAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EACF;AAEJ,GChDaa,KAAwC,CAAC,EAAE,UAAAxB,GAAU,oBAAAyB,QAE9D,gBAAAvC;AAAA,EAACG;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,IACX,WAAU;AAAA,IACV,IAAI;AAAA,MACF,cAAc;AAAA,MACd,GAAIoC,KAAsB;AAAA,QACxB,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,aAAa;AAAA,MAAA;AAAA,IAEjB;AAAA,IAEC,UAAAzB;AAAA,EAAA;AACH,GCxBW0B,IAAA,kgrBCUFC,KAA0C,CAAC,EAAE,QAAAC,QAEtD,gBAAA1C;AAAA,EAACG;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,IACX,IAAI;AAAA,MACF,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IAEA,UAAA,gBAAAH;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK0C;AAAA,QACL,gBAAa;AAAA,QACb,KAAKF;AAAA,QACL,OAAO;AAAA,UACL,cAAc;AAAA,UACd,QAAQ;AAAA,UACR,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IAAA;AAAA,EACF;AACF,GCpBSG,KAAsD,CAAC;AAAA,EAClE,QAAAC;AAAA,EACA,oBAAAL;AACF,MAEI,gBAAAvC;AAAA,EAACG;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,IACX,gBAAa;AAAA,IACb,IAAI;AAAA,MACF,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,GAAIoC,KAAsB;AAAA,QACxB,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IAER;AAAA,IAEC,UAAAK;AAAA,EAAA;AACH,GCtBSC,KAAsC,CAAC,EAAE,aAAAC,QAElD,gBAAA9C;AAAA,EAACY;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,IACX,IAAI;AAAA,MACF,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,MAAM;AAAA,IACR;AAAA,IAEC,UAAAkC;AAAA,EAAA;AACH,GCHSC,KAA8D,CAAC;AAAA,EAC1E,MAAAC;AAAA,EACA,UAAAlC;AAAA,EACA,sBAAAmC,IAAuB;AAAA,EACvB,iBAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,oBAAAZ;AACF,MAAM;AACE,QAAAa,IAAOF,KAAmB,CAACF,EAAK,kBAEhCK,IACJ,gBAAArD;AAAA,IAACsD;AAAA,IAAA;AAAA,MACC,MAAAN;AAAA,MACA,cAAc,CAAC,CAACA,GAAM;AAAA,MACtB,yBAAAG;AAAA,MACA,oBAAAZ;AAAA,IAAA;AAAA,EACF;AAIA,SAAA,gBAAAtC,EAACH,EAAM,UAAN,EACE,UAAA;AAAA,IAAC,CAAAsD,KAAQH,MAAyB,SAASI;AAAA,IAC5C,gBAAArD;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,gBAAa;AAAA,QACb,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,eAAe;AAAA,UACf,gBAAgB;AAAA,UAChB,MAAM;AAAA,QACR;AAAA,QAEC,UAAAW;AAAA,MAAA;AAAA,IACH;AAAA,IACC,CAACsC,MAASH,MAAyB,YAAY,CAACA,MAAyBI;AAAA,EAAA,GAC5E;AAEJ,GCxCaC,KAA0C,CAAC;AAAA,EACtD,MAAAN;AAAA,EACA,cAAAO,IAAe;AAAA,EACf,yBAAAJ;AAAA,EACA,oBAAAZ;AACF,MAAM;AACE,QAAAiB,IAAuBD,IAAe,KAAK;AAE/C,SAAA,gBAAAtD,EAACH,EAAM,UAAN,EACC,UAAA;AAAA,IAAA,gBAAAE,EAAC,OAAI,EAAA,WAAW,0BAA0BgD,EAAK,QAAQ,gBACrD,UAAA,gBAAAhD;AAAA,MAACY;AAAA,MAAA;AAAA,QACC,yBAAyB,EAAE,QAAQoC,EAAK,iBAAiB;AAAA,QACzD,gBAAa;AAAA,QACb,UAAU;AAAA,QACV,MAAK;AAAA,QACL,IAAI;AAAA,UACF,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,WAAW;AAAA,UACX,UAAU;AAAA,UACV,sBAAsB,EAAE,YAAY,OAAO;AAAA,UAC3C,IAAIA,EAAK,qBAAqB,IAAIQ;AAAA,UAClC,GAAIjB,KAAsB;AAAA,YACxB,IAAI;AAAA,UACN;AAAA,UACA,OAAO;AAAA,YACL,IAAIS,EAAK,qBAAqB,IAAIQ;AAAA,UAAA;AAAA,QACpC;AAAA,MACF;AAAA,IAAA,GAEJ;AAAA,IAEC,CAAC,CAACR,EAAK,sBACN,gBAAAhD;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,WAAW,cAAc6C,EAAK,QAAQ;AAAA,QACtC,IAAI,EAAE,IAAIQ,EAAqB;AAAA,QAE/B,UAAA,gBAAAvD,EAACwD,GAAO,EAAA,SAASN,GACd,UAAA;AAAA,UAAKH,EAAA;AAAA,UACN,gBAAAhD;AAAA,YAACW;AAAA,YAAA;AAAA,cACC,WAAW,cAAcqC,EAAK,QAAQ;AAAA,cACtC,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,QACP,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ,GChDaU,KAA8C,CAAC;AAAA,EAC1D,MAAAV;AAAA,EACA,UAAAW,IAAW;AAAA,EACX,MAAAP,IAAO;AAAA,EACP,SAAAQ,IAAU,MAAM;AAAA,EAAC;AAAA,EACjB,SAAAC,IAAU;AAAA,EACV,IAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMvD,IAAQC,EAAS;AAEvB,MAAI0C;AACK,WAAA;AAGH,QAAAa,IAAeC,EAAOT,CAAM,EAAE;AAAA,IAClC,OAAO;AAAA,IACP,OAAOI,IAAU,YAAYpD,EAAM,QAAQ,UAAU;AAAA,IACrD,iBAAiBA,EAAM,QAAQ,WAAW;AAAA,IAC1C,QAAQoD,IAAU,aAAapD,EAAM,QAAQ,OAAO,IAAI,KAAK;AAAA,IAC7D,UAAUoD,IAAU,KAAK;AAAA,IACzB,WAAW;AAAA,MACT,QAAQ,CAACF,KAAYE,IAAU,aAAapD,EAAM,QAAQ,QAAQ,IAAI,KAAK;AAAA,MAC3E,OAAO,CAACoD,KAAW;AAAA,IACrB;AAAA,IACA,SAAS;AAAA,IACT,GAAGC;AAAA,EAAA,CACJ;AAGC,SAAA,gBAAA9D;AAAA,IAACiE;AAAA,IAAA;AAAA,MACC,gBAAcJ,IAAU,eAAeb,EAAK,QAAQ,KAAK,iBAAiBA,EAAK,QAAQ;AAAA,MACvF,UAAAW;AAAA,MACA,IAAIE,IAAU,eAAeb,EAAK,IAAI,KAAK,iBAAiBA,EAAK,IAAI;AAAA,MACrE,SAAS,CAACmB,MAAM;AACd,QAAAP,EAAQO,CAAC;AAAA,MACX;AAAA,MACA,SAASJ,KAAoB;AAAA,MAC5B,GAAGC;AAAA,MAEH,UAAAH,IAAUb,EAAK,iBAAiBA,EAAK;AAAA,IAAA;AAAA,EACxC;AAEJ,GCzCaoB,KAA8B,CAAC;AAAA,EAC1C,YAAAC,IAAa;AAAA,EACb,MAAArB;AAAA,EACA,UAAAlC;AAAA,EACA,uBAAAwD;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AACF,MAQI,gBAAAxE;AAAA,EAPsC,CAAC,EAAE,YAAAuE,GAAY,UAAAzD,GAAU,GAAGkD,QAAW;AAC7E,UAAMS,IAAUF;AAEhB,WAAOzE,EAAM,cAAc2E,GAAST,GAAMlD,CAAQ;AAAA,EACpD;AAAA,EAGG;AAAA,IACC,eAAauD;AAAA,IACb,mBAAiBE,MAAe,YAAYvB,EAAK,OAAO;AAAA,IACxD,gBAAc,GAAGA,EAAK,QAAQ;AAAA,IAC9B,YAAYuB,KAAc;AAAA,IAC1B,IAAI,GAAGvB,EAAK,IAAI;AAAA,IAChB,KAAKwB;AAAA,IACL,OAAO;AAAA,MACL,UAAU;AAAA;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,IAEC,UAAAxB,EAAK,eAAesB,IAAwBxD;AAAA,EAAA;AAC/C,GC7BS4D,KAAgD,CAAC;AAAA,EAC5D,YAAAC;AAAA,EACA,iCAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AACF,MAEI,gBAAA9E;AAAA,EAAC+E;AAAA,EAAA;AAAA,IACC,gBAAa;AAAA,IACb,IAAI;AAAA,MACF,SAAS;AAAA,MACT,cAAc;AAAA,MACd,YAAY;AAAA,IACd;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAhF,EAACiF,KAAI,UAAWN,EAAA,CAAA;AAAA,MAChB,gBAAA3E;AAAA,QAACkF;AAAA,QAAA;AAAA,UACC,WAAW,GACTH,IACIH,EAAgC,cAChCA,EAAgC,iBACtC,IAAIA,EAAgC,aAAa;AAAA,UACjD,WAAU;AAAA,UACV,gBAAa;AAAA,UACb,SAAS,MAAM;AACJ,YAAAC,EAAA,GACDC,EAAA;AAAA,UACV;AAAA,UACA,IAAI;AAAA,YACF,gBAAgB;AAAA,YAChB,YAAY;AAAA,YACZ,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,UAAU;AAAA,YACV,OAAO;AAAA,UAAA;AAAA,QACT;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AACF,GCvCSK,KAAkD,CAAC;AAAA,EAC9D,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAT;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAS;AAAA,EACA,eAAAC;AACF,MAAM;AACJ,QAAM/E,IAAQC,EAAS,GAEjB,EAAE,YAAA+E,GAAY,YAAAC,EAAA,IAAeN,GAG7BO,IAAqBzB,EAAOT,CAAM,EAAE;AAAA,IACxC,iBAAiB;AAAA,IACjB,OAAOhD,EAAM,QAAQ,QAAQ;AAAA,IAC7B,UAAU;AAAA,IACV,WAAW;AAAA,MACT,OAAOA,EAAM,QAAQ,QAAQ;AAAA,MAC7B,iBAAiBA,EAAM,QAAQ,QAAQ;AAAA,IACzC;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,EAAA,CACR,GAGKmF,IAAqB1B,EAAOT,CAAM,EAAE;AAAA,IACxC,iBAAiBhD,EAAM,QAAQ,OAAO;AAAA,IACtC,cAAc;AAAA,IACd,UAAU;AAAA,IACV,WAAW;AAAA,MACT,iBAAiBA,EAAM,QAAQ,QAAQ;AAAA,IACzC;AAAA,IACA,SAAS;AAAA,IACT,OAAO;AAAA,EAAA,CACR;AAGC,SAAA,gBAAAR;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,WAAW;AAAA,MACb;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAAC4F;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,gBAAa;AAAA,YACb,UACG,CAACN,EAAgB,WACfE,MAAkBD,KAAoBC,MAAkB,SAC3D,CAAC,CAACH;AAAA,YAEJ,MAAK;AAAA,YAEJ,UAAAK;AAAA,UAAA;AAAA,QACH;AAAA,QAEA,gBAAA1F;AAAA,UAAC2F;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,gBAAa;AAAA,YACb,SAAS,MAAM;AACJ,cAAAd,EAAA,GACDC,EAAA;AAAA,YACV;AAAA,YAEC,UAAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EACF;AAEJ,GCnFaI,KAA0D,CAAC,EAAE,UAAAC,QAErE,gBAAA9F,EAAA,OAAA,EAAI,OAAO,EAAE,SAAS,sBACrB,UAAA,gBAAAA,EAACY,GAAE,EAAA,gBAAa,wBAAwB,UAAAkF,EAAS,CAAA,GACnD,GCKSC,KAAkD,CAAC;AAAA,EAC9D,iBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAT;AAAA,EACA,kBAAAU;AACF,MAAM;AACJ,QAAMzF,IAAQC,EAAS;AAErB,SAAA,gBAAAV;AAAA,IAACmG;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,sDAAsD;AAAA,UACpD,SAAS;AAAA,UACT,cAAc,aAAa1F,EAAM,QAAQ,OAAO,KAAK;AAAA,QACvD;AAAA,QACA,kDAAkD;AAAA,UAChD,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,YAAY;AAAA,QAAA;AAAA,MAEhB;AAAA,MAEA,UAAC,gBAAAT,EAAAoG,GAAA,EAAW,cAAYH,GAAgB,MAAK,uBAC1C,UAAAD,EAAgB,IAAI,CAACK,GAAQC,MAC3B,gBAAAtG,EAAA,OAAA,EAAI,WAAU,qDACb,UAAA,gBAAAA;AAAA,QAACuG;AAAA,QAAA;AAAA,UACC,SACE,gBAAAvG;AAAA,YAACwG;AAAA,YAAA;AAAA,cACC,SAAShB,MAAkBc;AAAA,cAC3B,WAAU;AAAA,cACV,IAAI,SAASA,CAAC;AAAA,cACd,MAAM,SAASA,CAAC;AAAA,cAChB,UAAU,MAAMJ,EAAiBI,CAAC;AAAA,cAClC,IAAI;AAAA,gBACF,IAAI;AAAA,gBACJ,GAAG;AAAA,cAAA;AAAA,YACL;AAAA,UACF;AAAA,UAEF,OAAOD;AAAA,UACP,OAAO,gBAAArG,EAAC,OAAI,EAAA,WAAU,iDAAiD,UAAOqG,EAAA,CAAA;AAAA,QAAA;AAAA,MAAA,EAChF,GAjBsEC,CAkBxE,CACD,EACH,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ,GC9CaG,KAAoD,CAAC;AAAA,EAChE,mBAAAC;AAAA,EACA,gCAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAtB;AAAA,EACA,eAAAuB;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACE,QAAAC,IAAmB9C,EAAO+C,CAAoB,EAAE;AAAA,IACpD,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA,CACT;AAGC,SAAA,gBAAAjH;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,cAAYyG;AAAA,MACZ,IAAI;AAAA,QACF,WAAW;AAAA,MACb;AAAA,MAEA,UAAA,gBAAA5G;AAAA,QAACgH;AAAAA,QAAA;AAAA,UACC,cAAYN;AAAA,UACZ,WAAU;AAAA,UACV,gBAAa;AAAA,UACb,MAAK;AAAA,UACL,UAAU,CAACvC,MAAkC;AACxB,YAAA2C,EAAA3C,EAAE,OAAO,KAAK,GACpB4C,EAAA5C,EAAE,OAAO,KAAK;AAAA,UAC7B;AAAA,UACA,SAAS,MAAM0C,EAAc;AAAA,UAC7B,aAAaF;AAAA,UACb,OAAOrB;AAAA,QAAA;AAAA,MAAA;AAAA,IACT;AAAA,EACF;AAEJ,GC1CaJ,KAA8D,CAAC;AAAA,EAC1E,WAAAgC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAvD;AAAA,EACA,IAAAE;AACF,MAAM;AACJ,QAAMrD,IAAQC,EAAS;AAGrB,SAAA,gBAAAV;AAAA,IAACoH;AAAA,IAAA;AAAA,MACC,cAAYF;AAAA,MACZ,WAAW,GAAGC,CAAS;AAAA,MACvB,SAAAvD;AAAA,MAEA,UAAA,gBAAA5D;AAAA,QAACW;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,IAAI;AAAA,YACF,OAAOF,EAAM,QAAQ,KAAK;AAAA,YAC1B,QAAQ;AAAA,YACR,YAAY;AAAA,YACZ,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,QAAQ;AAAA,cACN,iBAAiBA,EAAM,QAAQ,WAAW;AAAA,cAC1C,OAAOA,EAAM,QAAQ,UAAU;AAAA,YACjC;AAAA,YACA,eAAe;AAAA,cACb,iBAAiBA,EAAM,QAAQ,OAAO;AAAA,cACtC,OAAOA,EAAM,QAAQ,UAAU;AAAA,YACjC;AAAA,YACA,GAAGqD;AAAA,UAAA;AAAA,QACL;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ,GCpBauD,KAAsD,CAAC;AAAA,EAClE,oBAAAC,IAAqB;AAAA,EACrB,kBAAAC,IAAmB;AAAA,EACnB,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,wBAAAlH;AAAA,EACA,8BAAAmH;AAAA,EACA,6BAAAC;AAAA,EACA,OAAA3G;AAAA,EACA,gBAAA4G;AACF,MAAM;AACJ,QAAMnH,IAAQoH,EAAcL,IAAa,SAAS,OAAO;AAEzD,2BACGM,GAAc,EAAA,OAAArH,GACb,UAAC,gBAAAT,EAAAG,GAAA,EAAI,WAAU,yBAAwB,gBAAa,aAAY,IAAI,EAAE,IAAI,GACxE,GAAA,UAAA,gBAAAF,EAACY,KAAiB,OAAAG,GAChB,UAAA;AAAA,IAAA,gBAAAhB;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,gBAAgBqH,EAAQ;AAAA,QACxB,wBAAAlH;AAAA,MAAA;AAAA,IACF;AAAA,IAEA,gBAAAN;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,gBAAa;AAAA,QACb,IAAI,EAAE,WAAW,EAAE;AAAA,QAElB,UAAA;AAAA,UAAA,CAAC,CAACwH,KACA,gBAAA3H,EAAA+H,IAAA,EAA2B,oBAAAT,EAAwC,CAAA;AAAA,UAGrE,CAAC,CAACI,KACD,gBAAA1H,EAACgI,MAA8B,kBAAAT,EAAoC,CAAA;AAAA,UAGrE,gBAAAvH;AAAA,YAACiI;AAAA,YAAA;AAAA,cACC,8BAAAP;AAAA,cACA,gBAAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EACF,CAAA,EACF,CAAA,GACF;AAEJ,GClEaI,KAA0D,CAAC,EAAE,kBAAAT,QAEtE,gBAAAtH;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAa;AAAA,IACb,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IAEA,UAAA;AAAA,MAAC,gBAAAF,EAAAW,GAAA,EAAK,OAAM,aAAY,MAAM,IAAM,MAAK,iBAAgB,OAAO,EAAE,aAAa,EAAK,EAAA,CAAA;AAAA,MACpF,gBAAAX;AAAA,QAACkI;AAAA,QAAA;AAAA,UACC,yBAAyB,EAAE,QAAQX,EAAiB;AAAA,UACpD,gBAAa;AAAA,UACb,IAAI,EAAE,UAAU,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,IACrB;AAAA,EAAA;AACF,GClBSQ,KAAuD,CAAC,EAAE,oBAAAT,QAEnE,gBAAArH;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAa;AAAA,IACb,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAF,EAACW,KAAK,MAAK,kBAAiB,OAAO,EAAE,aAAa,KAAK;AAAA,MACvD,gBAAAX;AAAA,QAACkI;AAAA,QAAA;AAAA,UACC,yBAAyB,EAAE,QAAQZ,EAAmB;AAAA,UACtD,gBAAa;AAAA,UACb,IAAI,EAAE,UAAU,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,IACrB;AAAA,EAAA;AACF,GCjBSW,KAA8C,CAAC;AAAA,EAC1D,8BAAAP;AAAA,EACA,gBAAAE;AACF,MAEI,gBAAA3H;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAa;AAAA,IACb,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAcwH,IAA+B,IAAI;AAAA,MACjD,MAAM;AAAA,IACR;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAA1H,EAACW,KAAK,MAAK,QAAO,OAAO,EAAE,aAAa,KAAK;AAAA,MAC7C,gBAAAX;AAAA,QAACkI;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,yBAAyB,EAAE,QAAQN,EAAe;AAAA,UAClD,gBAAa;AAAA,UACb,IAAI,EAAE,UAAU,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,IACrB;AAAA,EAAA;AACF,GCXSO,KAA8C,CAAC;AAAA,EAC1D,aAAAjH;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAkG;AAAA,EACA,QAAAjG;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACJ,QAAMjB,IAAQoH,EAAcL,IAAa,SAAS,OAAO;AAGvD,SAAA,gBAAAxH,EAAC8H,KAAc,OAAArH,GACb,UAAA,gBAAAT;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,cAAAK;AAAA,MACA,YAAAF;AAAA,MACA,QAAAC;AAAA,MACA,eAAAH;AAAA,MACA,eAAAC;AAAA,MACA,gBAAAI;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GCtCa0G,IAAwC,CAAC,EAAE,aAAAlH,GAAa,aAAAmH,QAEjE,gBAAApI;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,MACT,eAAe;AAAA,MACf,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAI,EAAE,SAAS,QAAQ,gBAAgB,UAAU,OAAO,OAAO;AAAA,UAE/D,UAAA,gBAAAH;AAAA,YAACmC;AAAA,YAAA;AAAA,cACC,KAAI;AAAA,cACJ,gBAAa;AAAA,cACb,QAAQ;AAAA,cACR,iBAAiBjB,KAAe;AAAA,cAChC,OAAO;AAAA,YAAA;AAAA,UAAA;AAAA,QACT;AAAA,MACF;AAAA,MAEA,gBAAAlB;AAAA,QAACY;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO,EAAE,WAAW,SAAS;AAAA,UAC7B,SAAQ;AAAA,UAEP,UAAAyH;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AACF,GCnBSC,KAAkE,CAAC;AAAA,EAC9E,aAAApH;AAAA,EACA,WAAAC;AAAA,EACA,wBAAAoH;AAAA,EACA,qBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,cAAAjH;AAAA,EACA,YAAAF;AAAA,EACA,YAAAkG;AAAA,EACA,QAAAjG;AAAA,EACA,eAAAH;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAI;AAAA,EACA,gBAAAC;AAAA,EACA,mBAAAgH;AACF,MAAM;AACJ,QAAMjI,IAAQoH,EAAcL,IAAa,SAAS,OAAO;AAEzD,2BACG1H,EAAM,UAAN,EACC,UAAC,gBAAAE,EAAA8H,GAAA,EAAc,OAAArH,GACZ,UACCa,IAAA,gBAAAtB;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,cAAAK;AAAA,MACA,YAAAF;AAAA,MACA,QAAAC;AAAA,MACA,eAAAH;AAAA,MACA,eAAAC;AAAA,MACA,gBAAAI;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,EAAA,IAGF,gBAAA1B;AAAA,IAAC2I;AAAA,IAAA;AAAA,MACC,wBAAAJ;AAAA,MACA,qBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,mBAAAC;AAAA,IAAA;AAAA,KAGN,EACF,CAAA;AAEJ,GCvDaC,KAAoF,CAAC;AAAA,EAChG,wBAAAJ;AAAA,EACA,qBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,mBAAAC;AACF,MAEI,gBAAAzI;AAAA,EAAC+E;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,WAAU;AAAA,IACV,IAAI,EAAE,KAAK,GAAG,QAAQ,IAAI,gBAAgB,UAAU,IAAI,IAAI,OAAO,OAAO;AAAA,IAE1E,UAAA;AAAA,MAAA,gBAAAhF,EAACoI,GAAW,EAAA,aAAaM,GAAmB,aAAaF,GAAqB;AAAA,MAE9E,gBAAAxI;AAAA,QAACW;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,MAAM;AAAA,UACN,IAAI,EAAE,IAAI,OAAO;AAAA,QAAA;AAAA,MACnB;AAAA,MAEC,gBAAAX,EAAAoI,GAAA,EAAW,aAAaG,GAAwB,aAAaE,EAAiB,CAAA;AAAA,IAAA;AAAA,EAAA;AACjF;"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/ProgressBar.tsx","../src/components/GoalProgress.tsx","../src/components/GradientBox.tsx","../src/components/DirectDeposit/DirectDeposit.tsx","../src/components/DirectDeposit/FullFeedBodyHeader.tsx","../src/components/DirectDeposit/FullFeedLogoSection.tsx","../src/components/DirectDeposit/LeftBox.tsx","../src/components/DirectDeposit/LowerBoxSection.tsx","../src/components/DirectDeposit/MiniBodyHeader.tsx","../src/components/DirectDeposit/RightBox.tsx","../src/components/InsightsCard/CardHeader.tsx","../src/images/Loading.gif","../src/components/InsightsCard/CardLoading.tsx","../src/components/InsightsCard/CardButtonSection.tsx","../src/components/InsightsCard/CardError.tsx","../src/components/InsightsCard/ContentAndDescription.tsx","../src/components/InsightsCard/Description.tsx","../src/components/InsightsCard/InsightButton.tsx","../src/components/InsightsCard/Shell.tsx","../src/components/GenericFeedback/FeedbackHeader.tsx","../src/components/GenericFeedback/FeedbackButtons.tsx","../src/components/GenericFeedback/FeedbackDescription.tsx","../src/components/GenericFeedback/FeedbackOptions.tsx","../src/components/GenericFeedback/FeedbackText.tsx","../src/components/Menu/MenuHeaderCloseButton.tsx","../src/insights/MonthlyEmergencyFundReview/MonthlyEmergencyFundReviewBody.tsx","../src/insights/MonthlyEmergencyFundReview/LastMonthsContributionSection.tsx","../src/insights/MonthlyEmergencyFundReview/ProjectedCompletionSection.tsx","../src/insights/MonthlyEmergencyFundReview/TotalSection.tsx","../src/insights/SetUpDirectDeposit/SetUpDirectDepositBody.tsx","../src/insights/SwitchDirectDeposit/AccountBox.tsx","../src/insights/SwitchDirectDeposit/SwitchDirectDepositBody.tsx","../src/insights/SwitchDirectDeposit/SwitchDirectDepositMainContainer.tsx","../src/components/ThemedSVGImage.tsx","../src/insights/FederalBankHoliday/images/FederalHolidayCibc.svg","../src/insights/FederalBankHoliday/images/FederalBankHoliday.svg","../src/insights/withTheme.tsx","../src/insights/FederalBankHoliday/FederalBankHolidayBody.tsx"],"sourcesContent":["import React from 'react'\nimport { useInView } from 'react-intersection-observer'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\n\ninterface PulseProgressBarProps {\n backgroundColor?: string\n color: string\n percent: number\n height: number\n}\n\nexport const PulseProgressBar: React.FC<PulseProgressBarProps> = ({\n backgroundColor,\n color,\n percent,\n height = 12,\n}) => {\n const [ref, inView] = useInView({ triggerOnce: true })\n const [barWidth, setBarWidth] = React.useState('0%')\n\n const roundedPercent = percent > 100 ? 100 : percent\n\n React.useEffect(() => {\n if (inView) {\n setBarWidth(`${roundedPercent}%`)\n }\n }, [inView, roundedPercent])\n\n return (\n <React.Fragment>\n <Card\n data-ui-test=\"progress-bar\"\n ref={ref}\n sx={{\n position: 'relative',\n borderRadius: 8,\n height,\n width: '100%',\n }}\n >\n <Box\n sx={{\n position: 'absolute',\n backgroundColor: backgroundColor ? backgroundColor : color,\n opacity: backgroundColor ? 1 : 0.4,\n width: '100%',\n height: '100%',\n borderRadius: 8,\n }}\n />\n <Box\n sx={{\n position: 'absolute',\n height: '100%',\n backgroundColor: color,\n borderRadius: 8,\n transition: 'width .4s cubic-bezier(0.28, 0.14, 0.34, 1.04)',\n width: barWidth,\n }}\n />\n </Card>\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport { Icon, P } from '@kyper/mui'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { PulseProgressBar } from './ProgressBar'\n\ninterface PulseGoalProgressProps {\n backgroundOverride?: string\n goalPercentage: number\n height?: number\n percentageCompleteText: string\n progressColorOverride?: string\n}\n\nexport const PulseGoalProgress: React.FC<PulseGoalProgressProps> = ({\n backgroundOverride,\n goalPercentage,\n height = 8,\n percentageCompleteText,\n progressColorOverride,\n}) => {\n const theme = useTheme()\n\n // Do not remove the data-ui-test They are needed for the cypress test in Pulse\n return (\n <Box\n className=\"mx-insights-goal-progress\"\n data-ui-test=\"goal-progress\"\n sx={{ marginBottom: 16 }}\n >\n <Card\n sx={{\n display: 'flex',\n alignItems: 'center',\n boxShadow: 'none',\n marginBottom: 8,\n marginTop: 4,\n }}\n >\n <Icon color=\"success\" fill={true} name=\"check_circle\" size={16} />\n\n <P\n bold={true}\n className=\"mx-insights-goal-progress\"\n data-ui-test=\"goal-percentage-complete\"\n sx={{ fontSize: 13 }}\n >\n {percentageCompleteText}\n </P>\n </Card>\n\n <PulseProgressBar\n backgroundColor={\n backgroundOverride ? backgroundOverride : theme.palette.background.highlight\n }\n color={progressColorOverride ? progressColorOverride : theme.palette.primary.main}\n height={height}\n percent={goalPercentage}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@kyper/mui'\n\ninterface PulseGraidentBoxProps {\n children: React.ReactNode\n gradientOverride?: string\n title: string\n}\n\nexport const PulseGraidentBox: React.FC<PulseGraidentBoxProps> = ({\n children,\n gradientOverride,\n title,\n}) => {\n const theme = useTheme()\n return (\n <Box\n className=\"mx-insights-gradient-box\"\n data-ui-test=\"gradient-box\"\n sx={{\n background: !gradientOverride ? 'linear-gradient(#2F73DA, #6BCDDB)' : gradientOverride,\n p: 16,\n }}\n >\n <Card sx={{ background: 'transparent', boxShadow: 'none', marginBottom: 16 }}>\n {title && (\n <P\n className=\"mx-insights-gradient-box-title\"\n data-ui-test=\"gradient-box-title\"\n sx={{ color: theme.palette.primary.lighter, lineHeight: '16px', fontSize: 13 }}\n >\n {title}\n </P>\n )}\n </Card>\n\n <Box\n className=\"mx-insights-gradient-box-card\"\n sx={{\n background: theme.palette.background.paper,\n borderRadius: '4px',\n gap: '16px',\n padding: '12px 16px',\n }}\n >\n {children}\n </Box>\n </Box>\n )\n}\n","import React from 'react'\nimport Confetti from 'react-confetti'\nimport AutoSizer from 'react-virtualized-auto-sizer'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\n\nimport { FullFeedBodyHeader, FullFeedLogoSection, LowerBoxesSection, MiniBodyHeader } from '../'\n\ninterface DirectDepositProps {\n accountGuid: string\n animation: { shouldRun?: boolean }\n leftLowerText: string\n leftUpperText: string\n headerString: string\n isComplete?: boolean\n isMini: boolean\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const DirectDeposit: React.FC<DirectDepositProps> = ({\n accountGuid,\n animation,\n leftLowerText,\n leftUpperText,\n isComplete,\n isMini,\n headerString,\n rightLowerText,\n rightUpperText,\n}) => {\n const dimensions = {\n containerHeight: !isMini ? 186 : 140,\n logoSize: !isMini ? 48 : 20,\n card: {\n gap: !isMini ? 12 : 8,\n },\n padding: !isMini ? '32px 16px 16px 16px' : '12px 16px 12px 16px',\n }\n\n return (\n <Box\n sx={(theme) => ({\n backgroundColor: theme.palette.background.paper,\n height: dimensions.containerHeight,\n padding: dimensions.padding,\n position: 'relative',\n width: '-webkit-calc(100% - 64px)',\n })}\n >\n <AutoSizer>\n {({ height, width }) => (\n <React.Fragment>\n <Confetti\n aria-hidden={true}\n colors={['#3F9FEB', '#C331B6', '#30C434', '#F1CE31', '#EE3B7C']}\n confettiSource={{\n x: width / 2,\n y: height / 2,\n w: 20,\n h: 20,\n }}\n gravity={0.05}\n height={height}\n initialVelocityX={7}\n initialVelocityY={8}\n numberOfPieces={200}\n recycle={false}\n run={animation.shouldRun}\n width={width}\n />\n\n {!isMini && <FullFeedLogoSection accountGuid={accountGuid} width={width} />}\n\n <Card\n sx={(theme) => ({\n alignContent: 'center',\n backgroundColor: theme.palette.background.paper,\n boxShadow: `0px 2px 8px 0px ${!isMini ? '#6A73811F' : '#6A73812F'}`,\n borderRadius: '8px',\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n gap: dimensions.card.gap,\n left: 16,\n padding: dimensions.padding,\n top: 24,\n width: width,\n })}\n >\n {!isMini ? (\n <FullFeedBodyHeader headerString={headerString} />\n ) : (\n <MiniBodyHeader accountGuid={accountGuid} headerString={headerString} />\n )}\n\n <LowerBoxesSection\n isComplete={isComplete}\n leftLowerText={leftLowerText}\n leftUpperText={leftUpperText}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n </Card>\n </React.Fragment>\n )}\n </AutoSizer>\n </Box>\n )\n}\n","import React from 'react'\n\nimport { P } from '@kyper/mui'\n\ninterface BodyHeaderProps {\n headerString: string\n}\n\nexport const FullFeedBodyHeader: React.FC<BodyHeaderProps> = ({ headerString }) => {\n return (\n <P\n bold={true}\n data-ui-test=\"mx-insights-sudd-full-feed-body-header-text\"\n sx={{ width: '100%', textAlign: 'center' }}\n >\n {headerString}\n </P>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { InstitutionLogo } from '@kyper/mui'\n\ninterface FullFeedLogoSectionProps {\n accountGuid: string\n width: string | number\n}\n\nexport const FullFeedLogoSection: React.FC<FullFeedLogoSectionProps> = ({ accountGuid, width }) => {\n const logoSize = 48\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n position: 'absolute',\n right: 0,\n top: 0,\n width: width,\n zIndex: 10,\n }}\n >\n <InstitutionLogo\n alt=\"Financial Institution Logo\"\n data-ui-test=\"mx-insights-sudd-full-feed-body-logo\"\n height={logoSize}\n institutionGuid={accountGuid || ''}\n width={logoSize}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@kyper/mui'\n\ninterface LeftBoxProps {\n leftLowerText: string\n leftUpperText: string\n}\n\nexport const LeftBox: React.FC<LeftBoxProps> = ({ leftLowerText, leftUpperText }) => {\n const theme = useTheme()\n\n return (\n <Card\n sx={{\n backgroundColor: theme.palette.background.default,\n gap: 2,\n padding: 12,\n textAlign: 'center',\n width: '100%',\n }}\n >\n <P\n data-ui-test=\"mx-insights-sudd-left-upper-text\"\n sx={{ color: theme.palette.secondary.light }}\n variant=\"XSmall\"\n >\n {leftUpperText}\n </P>\n <P bold={true} data-ui-test=\"mx-insights-sudd-left-lower-text\" variant=\"Small\">\n {leftLowerText}\n </P>\n </Card>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { LeftBox, RightBox } from '../'\n\ninterface LowerBoxSectionProps {\n isComplete?: boolean\n leftLowerText: string\n leftUpperText: string\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const LowerBoxesSection: React.FC<LowerBoxSectionProps> = ({\n isComplete,\n leftLowerText,\n leftUpperText,\n rightLowerText,\n rightUpperText,\n}) => {\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n height: 58,\n width: '100%',\n }}\n >\n <LeftBox leftLowerText={leftLowerText} leftUpperText={leftUpperText} />\n\n <RightBox\n isComplete={isComplete}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { InstitutionLogo, P } from '@kyper/mui'\n\ninterface MiniBodyHeaderProps {\n accountGuid: string\n headerString: string\n}\n\nexport const MiniBodyHeader: React.FC<MiniBodyHeaderProps> = ({ accountGuid, headerString }) => {\n const logoSize = 20\n\n return (\n <Box\n data-ui-test=\"mx-insights-sudd-mini-body-header\"\n sx={{ display: 'flex', flexDirection: 'row', gap: 8, justifyContent: 'center' }}\n >\n <InstitutionLogo\n alt=\"MX\"\n data-ui-test=\"mx-insights-sudd-mini-body-header-logo\"\n height={logoSize}\n institutionGuid={accountGuid || ''}\n width={logoSize}\n />\n <P bold={true} data-ui-test=\"mx-insights-sudd-mini-body-header-text\">\n {headerString}\n </P>\n </Box>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@kyper/mui'\n\ninterface RightBoxProps {\n isComplete?: boolean\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const RightBox: React.FC<RightBoxProps> = ({\n isComplete,\n rightLowerText,\n rightUpperText,\n}) => {\n const theme = useTheme()\n\n return (\n <Card\n sx={{\n backgroundColor: isComplete ? theme.palette.success.lighter : 'transparent',\n border: isComplete\n ? `1px solid ${theme.palette.success.darker}`\n : `1px dashed ${theme.palette.secondary.lighter}`,\n borderRadius: '4px',\n gap: 2,\n padding: 12,\n textAlign: 'center',\n width: '100%',\n }}\n >\n <P\n data-ui-test=\"mx-insights-sudd-right-upper-text\"\n sx={{ color: theme.palette.secondary.light }}\n variant=\"XSmall\"\n >\n {rightUpperText}\n </P>\n <P\n bold={true}\n data-ui-test=\"mx-insights-sudd-right-lower-text\"\n sx={{\n backgroundColor: isComplete\n ? theme.palette.success.darker\n : theme.palette.warning.lighter,\n color: isComplete ? theme.palette.common.white : theme.palette.warning.darker,\n borderRadius: 4,\n }}\n variant=\"Tiny\"\n >\n {rightLowerText}\n </P>\n </Card>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\ninterface CardHeaderProps {\n children: React.ReactNode\n withFullWidthImage?: boolean\n}\n\nexport const CardHeader: React.FC<CardHeaderProps> = ({ children, withFullWidthImage }) => {\n return (\n <Box\n className={`mx-insight-header`}\n component=\"header\"\n sx={{\n marginBottom: 16,\n ...(withFullWidthImage && {\n paddingTop: 16,\n paddingRight: 16,\n paddingLeft: 16,\n }),\n }}\n >\n {children}\n </Box>\n )\n}\n","export default \"data:image/gif;base64,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\"","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport LoadingGif from '../../images/Loading.gif'\n\ninterface CardLoadingProps {\n altImg?: string\n}\n\nexport const CardLoading: React.FC<CardLoadingProps> = ({ altImg }) => {\n return (\n <Box\n className={`mx-insight-loading`}\n sx={{\n position: 'relative',\n textAlign: 'center',\n }}\n >\n <img\n alt={altImg}\n data-ui-test=\"mx-insight-card-details-loading\"\n src={LoadingGif}\n style={{\n marginBottom: 24,\n height: 64,\n width: 64,\n }}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\ninterface CardButtonSectionProps {\n button: React.ReactNode\n withFullWidthImage?: boolean\n}\n\nexport const CardButtonSection: React.FC<CardButtonSectionProps> = ({\n button,\n withFullWidthImage,\n}) => {\n return (\n <Box\n className={`mx-insight-buttons`}\n data-ui-test=\"beat-button\"\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n flex: '1 0 auto',\n mt: 8,\n ...(withFullWidthImage && {\n px: 16,\n pb: 16,\n }),\n }}\n >\n {button}\n </Box>\n )\n}\n","import React from 'react'\n\nimport { P } from '@kyper/mui'\n\ninterface CardErrorProps {\n erroredText: string\n}\n\nexport const CardError: React.FC<CardErrorProps> = ({ erroredText }) => {\n return (\n <P\n className={`mx-insight-error`}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n flex: '1 0 auto',\n }}\n >\n {erroredText}\n </P>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { Description } from '../'\n\ninterface ContentAndDescriptionProps {\n beat: { [key: string]: any }\n children?: React.ReactNode\n descriptionPlacement?: string\n hideDescription?: boolean\n inDescriptionCtaOnClick?: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n withFullWidthImage?: boolean\n}\n\nexport const ContentAndDescription: React.FC<ContentAndDescriptionProps> = ({\n beat,\n children,\n descriptionPlacement = 'bottom',\n hideDescription,\n inDescriptionCtaOnClick,\n withFullWidthImage,\n}) => {\n const hide = hideDescription || !beat.html_description\n\n const DescriptionSection = (\n <Description\n beat={beat}\n buttonInText={!!beat?.in_description_cta}\n inDescriptionCtaOnClick={inDescriptionCtaOnClick}\n withFullWidthImage={withFullWidthImage}\n />\n )\n\n return (\n <React.Fragment>\n {!hide && descriptionPlacement === 'top' && DescriptionSection}\n <Box\n className={`mx-insight-content`}\n data-ui-test=\"beat-card-content\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n flex: '1 0 auto',\n }}\n >\n {children}\n </Box>\n {!hide && (descriptionPlacement === 'bottom' || !descriptionPlacement) && DescriptionSection}\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport { Icon, P } from '@kyper/mui'\nimport Button from '@mui/material/Button'\nimport Box from '@mui/material/Box'\n\ninterface DescriptionProps {\n beat: { [key: string]: any }\n buttonInText?: boolean\n inDescriptionCtaOnClick?: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n withFullWidthImage?: boolean\n}\n\nexport const Description: React.FC<DescriptionProps> = ({\n beat,\n buttonInText = false,\n inDescriptionCtaOnClick,\n withFullWidthImage,\n}) => {\n const aboveCtaSectionSpace = buttonInText ? 16 : 8\n return (\n <React.Fragment>\n <div className={`mx-insight-description ${beat.template}-description`}>\n <P\n dangerouslySetInnerHTML={{ __html: beat.html_description }}\n data-ui-test=\"beat-description\"\n fontSize={13}\n role=\"text\" // eslint-disable-line jsx-a11y/aria-role\n sx={{\n mt: 0,\n mx: 8,\n wordBreak: 'break-word',\n wordWrap: 'break-word',\n '& > span.bold-copy': { fontWeight: 'bold' },\n mb: beat.in_description_cta ? 4 : aboveCtaSectionSpace,\n ...(withFullWidthImage && {\n px: 16,\n }),\n '& p': {\n mb: beat.in_description_cta ? 4 : aboveCtaSectionSpace,\n },\n }}\n />\n </div>\n\n {!!beat.in_description_cta && (\n <Box\n className={`mx-inights-${beat.template}-in-description-button`}\n sx={{ mb: aboveCtaSectionSpace }}\n >\n <Button onClick={inDescriptionCtaOnClick}>\n {beat.in_description_cta}\n <Icon\n className={`mx-inights-${beat.template}-in-description-icon`}\n name=\"chevron_right\"\n />\n </Button>\n </Box>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport { styled, useTheme } from '@mui/material/styles'\n\ninterface InsightButtonProps {\n beat: { [key: string]: any }\n disabled?: boolean\n hide?: boolean\n onClick?: (event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined) => void\n primary?: boolean\n sx?: object\n variant?: 'text' | 'contained' | 'outlined'\n}\n\nexport const InsightButton: React.FC<InsightButtonProps> = ({\n beat,\n disabled = false,\n hide = false,\n onClick = () => {},\n primary = true,\n sx,\n variant,\n ...rest\n}) => {\n const theme = useTheme()\n\n if (hide) {\n return null\n }\n\n const StyledButton = styled(Button)({\n width: '100%',\n color: primary ? '#359BCF' : theme.palette.secondary.main,\n backgroundColor: theme.palette.background.paper,\n border: primary ? `1px solid ${theme.palette.border.main}` : 0,\n fontSize: primary ? 15 : 13,\n '&:hover': {\n border: !disabled && primary ? `1px solid ${theme.palette.primary.dark}` : 0,\n color: !primary && '#359BCF',\n },\n padding: '0px 16px',\n ...sx,\n })\n\n return (\n <StyledButton\n data-ui-test={primary ? `primary-cta-${beat.template}` : `secondary-cta-${beat.template}`}\n disabled={disabled}\n id={primary ? `primary-cta-${beat.guid}` : `secondary-cta-${beat.guid}`}\n onClick={(e) => {\n onClick(e)\n }}\n variant={variant ? variant : 'outlined'}\n {...rest}\n >\n {primary ? beat.call_to_action : beat.supporting_action}\n </StyledButton>\n )\n}\n","import React from 'react'\n\ninterface ShellProps {\n ariaHidden?: boolean\n beat: { [key: string]: any }\n children?: React.ReactNode\n DismissedBeatSwitcher?: React.ReactNode\n elementTag?: string\n setRefs?: (...args: any[]) => void\n}\ninterface ElementProps {\n id: string\n elementTag: string\n children?: React.ReactNode\n ref: any\n style: { [key: string]: any }\n}\n\nexport const Shell: React.FC<ShellProps> = ({\n ariaHidden = false,\n beat,\n children,\n DismissedBeatSwitcher,\n elementTag,\n setRefs,\n}) => {\n const Element: React.FC<ElementProps> = ({ elementTag, children, ...rest }) => {\n const Element = elementTag as keyof JSX.IntrinsicElements\n\n return React.createElement(Element, rest, children)\n }\n\n return (\n <Element\n aria-hidden={ariaHidden}\n aria-labelledby={elementTag === 'article' ? beat.guid : null}\n data-ui-test={`${beat.template}`}\n elementTag={elementTag || 'article'}\n id={`${beat.guid}-article`}\n ref={setRefs}\n style={{\n position: 'relative', // Removing this will mess up the graphs in Chrome. I don't think Chrome likes Articles.\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n boxSizing: 'border-box',\n }}\n >\n {beat.dismissed_at ? DismissedBeatSwitcher : children}\n </Element>\n )\n}\n","import React from 'react'\n\nimport Stack from '@mui/material/Stack'\nimport { H3 } from '@kyper/mui'\n\nimport { MenuHeaderCloseButton } from '../../'\n\ninterface FeedbackHeaderProps {\n ariaLabelText: string\n headerText: string\n menuHeaderCloserButtonAriaLabel: {\n ratingExist: string\n ratingDoesntExist: string\n ariaLabelText: string\n }\n onCancel: () => void\n onClose: () => void\n rating?: number\n}\n\nexport const FeedbackHeader: React.FC<FeedbackHeaderProps> = ({\n headerText,\n menuHeaderCloserButtonAriaLabel,\n onCancel,\n onClose,\n rating,\n}) => {\n return (\n <Stack\n data-ui-test=\"beat-feedback-title\"\n sx={{\n display: 'flex',\n marginBottom: 16,\n alignItems: 'center',\n }}\n >\n <H3>{headerText}</H3>\n <MenuHeaderCloseButton\n ariaLabel={`${\n rating\n ? menuHeaderCloserButtonAriaLabel.ratingExist\n : menuHeaderCloserButtonAriaLabel.ratingDoesntExist\n } ${menuHeaderCloserButtonAriaLabel.ariaLabelText}`}\n className=\"mx-insights-feedback-header-container-close-button\"\n data-ui-test=\"feedback-close-button\"\n onClick={() => {\n onCancel()\n onClose()\n }}\n sx={{\n justifyContent: 'center',\n alignItems: 'center',\n height: 44,\n width: 44,\n position: 'absolute',\n right: 12,\n }}\n />\n </Stack>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport { styled, useTheme } from '@mui/material/styles'\n\ninterface FeedbackButtonsProps {\n buttonText: {\n cancelText: string\n submitText: string\n }\n errorMessage: string\n feedbackMessage: string\n onCancel: () => void\n onClose: () => void\n otherOptionIndex: number\n selectedRadio?: number\n}\n\nexport const FeedbackButtons: React.FC<FeedbackButtonsProps> = ({\n buttonText,\n errorMessage,\n feedbackMessage,\n onCancel,\n onClose,\n otherOptionIndex,\n selectedRadio,\n}) => {\n const theme = useTheme()\n\n const { cancelText, submitText } = buttonText\n\n // TODO: Remove this when figma is updated to use MUI\n const CancelStyledButton = styled(Button)({\n backgroundColor: 'transparent',\n color: theme.palette.primary.light,\n fontSize: 15,\n '&:hover': {\n color: theme.palette.primary.dark,\n backgroundColor: theme.palette.primary.lighter,\n },\n marginTop: 12,\n width: '100%',\n })\n\n // TODO: Remove this when figma is updated to use MUI\n const SubmitStyledButton = styled(Button)({\n backgroundColor: theme.palette.action.active,\n borderRadius: 4,\n fontSize: 16,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n },\n padding: `12px 16px`,\n width: '100%',\n })\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n marginTop: 24,\n }}\n >\n <SubmitStyledButton\n className=\"mx-insights-beat-feedback-submit-button\"\n data-ui-test=\"submit-button\"\n disabled={\n (!feedbackMessage.trim() &&\n (selectedRadio === otherOptionIndex || selectedRadio === null)) ||\n !!errorMessage\n }\n type=\"submit\"\n >\n {submitText}\n </SubmitStyledButton>\n\n <CancelStyledButton\n className=\"mx-insights-beat-feedback-no-thanks-button\"\n data-ui-test=\"no-thanks-button\"\n onClick={() => {\n onCancel()\n onClose()\n }}\n >\n {cancelText}\n </CancelStyledButton>\n </Box>\n )\n}\n","import React from 'react'\n\nimport { P } from '@kyper/mui'\n\ninterface FeedbackDescriptionProps {\n bodyText: string\n}\n\nexport const FeedbackDescription: React.FC<FeedbackDescriptionProps> = ({ bodyText }) => {\n return (\n <div style={{ padding: '8px 24px 8px 0px' }}>\n <P data-ui-test=\"feedback-description\">{bodyText}</P>\n </div>\n )\n}\n","import React from 'react'\n\nimport FormControl from '@mui/material/FormControl'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport Radio from '@mui/material/Radio'\nimport RadioGroup from '@mui/material/RadioGroup'\n\nimport { useTheme } from '@mui/material'\n\ninterface FeedBackOptionsProps {\n feedbackOptions: Array<string>\n groupAriaLabel: string\n selectedRadio?: number\n setSelectedRadio: (i: number) => void\n}\n\n// Start of Main Component *************************************\nexport const FeedbackOptions: React.FC<FeedBackOptionsProps> = ({\n feedbackOptions,\n groupAriaLabel,\n selectedRadio,\n setSelectedRadio,\n}) => {\n const theme = useTheme()\n return (\n <FormControl\n sx={{\n mx: '-24px',\n '.mx-insights-beat-feedback-options-radio-container': {\n padding: '24px 0px 23px 0px',\n borderBottom: `1px solid ${theme.palette.border.light}`,\n },\n '.mx-insights-beat-feedback-options-radio-label': {\n fontSize: '15px',\n height: '36px',\n lineHeight: '20px',\n display: 'flex',\n alignItems: 'center',\n },\n }}\n >\n <RadioGroup aria-label={groupAriaLabel} name=\"radio-buttons-group\">\n {feedbackOptions.map((option, i) => (\n <div className=\"mx-insights-beat-feedback-options-radio-container\" key={i}>\n <FormControlLabel\n control={\n <Radio\n checked={selectedRadio === i}\n className=\"mx-insights-beat-feedback-options-radio\"\n id={`radio-${i}`}\n name={`radio-${i}`}\n onChange={() => setSelectedRadio(i)}\n sx={{\n mr: '24px',\n p: '0px 24px',\n }}\n />\n }\n label={option}\n value={<div className=\"mx-insights-beat-feedback-options-radio-label\">{option}</div>}\n />\n </div>\n ))}\n </RadioGroup>\n </FormControl>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport { TextareaAutosize as BaseTextareaAutosize } from '@mui/base/TextareaAutosize'\nimport { styled } from '@mui/system'\n\ninterface BeatFeedbackTextProps {\n feedbackAriaLabel: string\n feedbackDescriptionPlaceHolder: string\n feedbackLabel: string\n feedbackMessage?: string\n sendAnalytics: () => void\n setFeedbackMessage: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n validateForm: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string | undefined,\n ) => void\n}\n\nexport const BeatFeedbackText: React.FC<BeatFeedbackTextProps> = ({\n feedbackAriaLabel,\n feedbackDescriptionPlaceHolder,\n feedbackLabel,\n feedbackMessage,\n sendAnalytics,\n setFeedbackMessage,\n validateForm,\n}) => {\n const TextareaAutosize = styled(BaseTextareaAutosize)({\n height: 93,\n resize: 'none',\n })\n\n return (\n <Box\n aria-label={feedbackLabel}\n sx={{\n marginTop: 24,\n }}\n >\n <TextareaAutosize\n aria-label={feedbackAriaLabel}\n className=\"mx-insights-beat-feedback-text-text-area\"\n data-ui-test=\"feedback-textarea\"\n name=\"Feedback\"\n onChange={(e: { target: { value: any } }) => {\n setFeedbackMessage(e.target.value)\n validateForm(e.target.value)\n }}\n onClick={() => sendAnalytics()}\n placeholder={feedbackDescriptionPlaceHolder}\n value={feedbackMessage}\n />\n </Box>\n )\n}\n","import React from 'react'\n\nimport { useTheme, SxProps } from '@mui/material/styles'\nimport IconButton from '@mui/material/IconButton'\n\nimport { Icon } from '@kyper/mui'\n\ninterface MenuHeaderCloseButtonProps {\n ariaLabel: string\n className?: string\n onClick: () => void\n sx?: SxProps\n}\n\nexport const MenuHeaderCloseButton: React.FC<MenuHeaderCloseButtonProps> = ({\n ariaLabel,\n className,\n onClick,\n sx,\n}) => {\n const theme = useTheme()\n\n return (\n <IconButton\n aria-label={ariaLabel}\n className={`${className} mx-insights-menu-header-close-button`}\n onClick={onClick}\n >\n <Icon\n name=\"cancel\"\n sx={{\n color: theme.palette.text.secondary,\n cursor: 'pointer',\n background: 'none',\n border: 'none',\n padding: 0,\n marginLeft: 'auto',\n display: 'flex',\n ' svg': {\n backgroundColor: theme.palette.background.highlight,\n color: theme.palette.secondary.darker,\n },\n '&:hover svg': {\n backgroundColor: theme.palette.border.light,\n color: theme.palette.secondary.darker,\n },\n ...sx,\n }}\n />\n </IconButton>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport { ThemeProvider } from '@mui/material/styles'\n\nimport { createMXTheme } from '@kyper/mui'\n\nimport { PulseGoalProgress, PulseGraidentBox } from '../../components'\n\nimport { LastMonthsContributionSection, ProjectedCompletionSection, TotalSavedSection } from '.'\n\ninterface payload {\n goal_contributed: number\n goal_contributed_last_month: number\n goal_percentage: number\n goal_total: number\n is_goal_completed: boolean\n}\n\ninterface BodyProps {\n goalCompletionDate: string\n goalContribution: string\n isDarkMode?: boolean\n payload: payload\n percentageCompleteText: string\n showGoalContributedLastMonth: boolean\n showProjectedToCompleteDate: boolean\n title: string\n totalSavedText: string\n}\n\nexport const MonthlyEmergencyFundReviewBody: React.FC<BodyProps> = ({\n goalCompletionDate = '',\n goalContribution = '',\n isDarkMode,\n payload,\n percentageCompleteText,\n showGoalContributedLastMonth,\n showProjectedToCompleteDate,\n title,\n totalSavedText,\n}) => {\n const theme = createMXTheme(isDarkMode ? 'dark' : 'light')\n\n return (\n <ThemeProvider theme={theme}>\n <Box className=\"mx-insights-mefr-body\" data-ui-test=\"mefr-body\" sx={{ mb: 16 }}>\n <PulseGraidentBox title={title}>\n <PulseGoalProgress\n goalPercentage={payload.goal_percentage}\n percentageCompleteText={percentageCompleteText}\n />\n\n <Box\n className=\"mx-insights-mefr-body-content\"\n data-ui-test=\"mefr-body-content\"\n sx={{ marginTop: 8 }}\n >\n {!!showProjectedToCompleteDate && (\n <ProjectedCompletionSection goalCompletionDate={goalCompletionDate} />\n )}\n\n {!!showGoalContributedLastMonth && (\n <LastMonthsContributionSection goalContribution={goalContribution} />\n )}\n\n <TotalSavedSection\n showGoalContributedLastMonth={showGoalContributedLastMonth}\n totalSavedText={totalSavedText}\n />\n </Box>\n </PulseGraidentBox>\n </Box>\n </ThemeProvider>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { Icon, Text } from '@kyper/mui'\n\ninterface ComponentProps {\n goalContribution: string\n}\n\nexport const LastMonthsContributionSection: React.FC<ComponentProps> = ({ goalContribution }) => {\n return (\n <Card\n data-ui-test=\"mefr-body-contributed\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n marginBottom: 8,\n size: 13,\n }}\n >\n <Icon color=\"secondary\" fill={true} name=\"bid_landscape\" style={{ marginRight: 4 }} />\n <Text\n dangerouslySetInnerHTML={{ __html: goalContribution }}\n data-ui-test=\"mefr-contributed-text\"\n sx={{ fontSize: 13 }}\n />\n </Card>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { Icon, Text } from '@kyper/mui'\n\ninterface ComponentProps {\n goalCompletionDate: string\n}\n\nexport const ProjectedCompletionSection: React.FC<ComponentProps> = ({ goalCompletionDate }) => {\n return (\n <Card\n data-ui-test=\"mefr-body-projected\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n marginBottom: 8,\n size: 13,\n }}\n >\n <Icon name=\"calendar_month\" style={{ marginRight: 4 }} />\n <Text\n dangerouslySetInnerHTML={{ __html: goalCompletionDate }}\n data-ui-test=\"mefr-projected-text\"\n sx={{ fontSize: 13 }}\n />\n </Card>\n )\n}\n","import React from 'react'\n\nimport Card from '@mui/material/Card'\nimport { Icon, Text } from '@kyper/mui'\n\ninterface ComponentProps {\n showGoalContributedLastMonth: boolean\n totalSavedText: string\n}\n\nexport const TotalSavedSection: React.FC<ComponentProps> = ({\n showGoalContributedLastMonth,\n totalSavedText,\n}) => {\n return (\n <Card\n data-ui-test=\"mefr-body-saved\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n marginBottom: showGoalContributedLastMonth ? 8 : 0,\n size: 13,\n }}\n >\n <Icon name=\"paid\" style={{ marginRight: 4 }} />\n <Text\n className=\"mx-insights-mefr-saved-text\"\n dangerouslySetInnerHTML={{ __html: totalSavedText }}\n data-ui-test=\"mefr-saved-text\"\n sx={{ fontSize: 13 }}\n />\n </Card>\n )\n}\n","import React from 'react'\n\nimport { ThemeProvider } from '@mui/material/styles'\n\nimport { createMXTheme } from '@kyper/mui'\n\nimport { DirectDeposit } from '../../components'\n\ninterface BodyProps {\n accountGuid: string\n animation: { shouldRun?: boolean }\n leftLowerText: string\n leftUpperText: string\n headerString: string\n isComplete?: boolean\n isDarkMode?: boolean\n isMini: boolean\n rightLowerText: string\n rightUpperText: string\n}\n\nexport const SetUpDirectDepositBody: React.FC<BodyProps> = ({\n accountGuid,\n animation,\n leftLowerText,\n leftUpperText,\n isComplete,\n isDarkMode,\n isMini,\n headerString,\n rightLowerText,\n rightUpperText,\n}) => {\n const theme = createMXTheme(isDarkMode ? 'dark' : 'light')\n\n return (\n <ThemeProvider theme={theme}>\n <DirectDeposit\n accountGuid={accountGuid}\n animation={animation}\n headerString={headerString}\n isComplete={isComplete}\n isMini={isMini}\n leftLowerText={leftLowerText}\n leftUpperText={leftUpperText}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n </ThemeProvider>\n )\n}\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Card from '@mui/material/Card'\n\nimport { InstitutionLogo, P } from '@kyper/mui'\n\ninterface AccountBoxProps {\n accountGuid: string\n accountName: string\n}\n\nexport const AccountBox: React.FC<AccountBoxProps> = ({ accountGuid, accountName }) => {\n return (\n <Card\n className=\"mx-insights-sdd-account-Card\"\n sx={{\n alignItems: 'center',\n boxShadow: 'none',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n maxWidth: 70,\n }}\n >\n <Box\n className=\"mx-insights-sdd-account-image-container\"\n sx={{ display: 'flex', justifyContent: 'center', width: '100%' }}\n >\n <InstitutionLogo\n alt=\"Financial Institution Logo\"\n data-ui-test=\"mx-insights-sudd-full-feed-body-logo\"\n height={32}\n institutionGuid={accountGuid || ''}\n width={32}\n />\n </Box>\n\n <P\n className=\"mx-insights-sdd-account-account-name\"\n style={{ textAlign: 'center' }}\n variant=\"Tiny\"\n >\n {accountName}\n </P>\n </Card>\n )\n}\n","import React from 'react'\n\nimport { ThemeProvider } from '@mui/material/styles'\n\nimport { createMXTheme } from '@kyper/mui'\n\nimport { DirectDeposit } from '../../components'\nimport { SwitchDirectDepositMainContainer } from './'\n\ninterface SwitchDirectDepositBodyProps {\n accountGuid: string\n animation: { shouldRun?: boolean }\n destinationAccountGuid: string\n externalAccountName: string\n heldAccountName: string\n headerString: string\n isComplete?: boolean\n isDarkMode?: boolean\n isMini: boolean\n leftLowerText: string\n leftUpperText: string\n rightLowerText: string\n rightUpperText: string\n sourceAccountGuid: string\n}\n\nexport const SwitchDirectDepositBody: React.FC<SwitchDirectDepositBodyProps> = ({\n accountGuid,\n animation,\n destinationAccountGuid,\n externalAccountName,\n heldAccountName,\n headerString,\n isComplete,\n isDarkMode,\n isMini,\n leftLowerText,\n leftUpperText,\n rightLowerText,\n rightUpperText,\n sourceAccountGuid,\n}) => {\n const theme = createMXTheme(isDarkMode ? 'dark' : 'light')\n\n return (\n <React.Fragment>\n <ThemeProvider theme={theme}>\n {isComplete ? (\n <DirectDeposit\n accountGuid={accountGuid}\n animation={animation}\n headerString={headerString}\n isComplete={isComplete}\n isMini={isMini}\n leftLowerText={leftLowerText}\n leftUpperText={leftUpperText}\n rightLowerText={rightLowerText}\n rightUpperText={rightUpperText}\n />\n ) : (\n <SwitchDirectDepositMainContainer\n destinationAccountGuid={destinationAccountGuid}\n externalAccountName={externalAccountName}\n heldAccountName={heldAccountName}\n sourceAccountGuid={sourceAccountGuid}\n />\n )}\n </ThemeProvider>\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Icon } from '@kyper/mui'\n\nimport { AccountBox } from './'\n\ninterface SwitchDirectDepositMainContainerProps {\n destinationAccountGuid: string\n externalAccountName: string\n heldAccountName: string\n sourceAccountGuid: string\n}\n\nexport const SwitchDirectDepositMainContainer: React.FC<SwitchDirectDepositMainContainerProps> = ({\n destinationAccountGuid,\n externalAccountName,\n heldAccountName,\n sourceAccountGuid,\n}) => {\n return (\n <Stack\n className=\"mx-insights-sdd-main-container\"\n direction=\"row\"\n sx={{ gap: 8, height: 82, justifyContent: 'center', py: 12, width: '100%' }}\n >\n <AccountBox accountGuid={sourceAccountGuid} accountName={externalAccountName} />\n\n <Icon\n className=\"mx-insights-sdd-arrow-forward-icon\"\n name=\"arrow_forward\"\n size={24}\n sx={{ my: 'auto' }}\n />\n\n <AccountBox accountGuid={destinationAccountGuid} accountName={heldAccountName} />\n </Stack>\n )\n}\n","import { useEffect, useRef, useMemo } from 'react'\nimport { ThemedSVGImageProps } from '../types/ThemeSVGImage'\n\nconst MAX_SVG_WIDTH = 200\nconst MINI_SVG_WIDTH = 130\n\n// Utility function to get an SVG element from a DOM node\nconst getSVGElement = (element: Element | null): SVGElement | null => {\n return element ? (element as SVGElement) : null\n}\n\n// Utility function to apply color to SVG elements\nconst applyColorToSVG = (elements: NodeListOf<Element>, color: string) => {\n elements.forEach((element) => {\n const svgElement = getSVGElement(element)\n if (svgElement) {\n const strokeAttr = svgElement.getAttribute('stroke')\n const fillAttr = svgElement.getAttribute('fill')\n\n if (strokeAttr && strokeAttr !== 'white') {\n svgElement.style.setProperty('stroke', color)\n }\n\n if (fillAttr) {\n const fillColor = fillAttr === 'white' ? 'white' : color\n svgElement.style.setProperty('fill', fillColor)\n }\n }\n })\n}\n\nexport const ThemedSVGImage = ({\n clientColorscheme,\n divProps,\n image: SVG,\n isMini = false,\n}: ThemedSVGImageProps) => {\n const containerRef = useRef<SVGSVGElement | null>(null)\n\n const { primary_100, primary_200, primary_300, primary_400, primary_500, widget_brand_color } =\n clientColorscheme\n\n // Memoize the theme-based or client-based color scheme\n const colors = useMemo(() => {\n if (widget_brand_color) {\n return {\n '100': primary_100,\n '200': primary_200,\n '300': primary_300,\n '400': primary_400,\n '500': primary_500,\n }\n }\n\n return {\n '100': 'primary.lighter' as string,\n '200': 'primary.light',\n '300': 'primary.main',\n '400': 'primary.dark',\n '500': 'primary.darker' as string,\n }\n }, [clientColorscheme])\n\n // If the client does not have a color scheme aka widget brand color, set the colors to the primary kyper token colors\n // Apply color scheme to SVG elements when component mounts or colors change\n useEffect(() => {\n if (!containerRef.current) return\n\n const container = containerRef.current\n\n const overlayElements = container.querySelectorAll('.Overlay')\n const brandElements = ['brand100', 'brand200', 'brand300', 'brand400', 'brand500']\n\n brandElements.forEach((className, index) => {\n const elements = container.querySelectorAll(`.${className}`)\n const colorKey = (100 + index).toString() as keyof typeof colors\n applyColorToSVG(elements, colors[colorKey])\n })\n\n // Apply the color for overlays separately (using the 300 color scheme)\n applyColorToSVG(overlayElements, colors['300'])\n }, [colors])\n\n return (\n <div\n style={{\n maxWidth: isMini ? MINI_SVG_WIDTH : MAX_SVG_WIDTH,\n width: '100%',\n }}\n {...divProps}\n >\n <SVG ref={containerRef} />\n </div>\n )\n}\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgFederalHolidayCibc = (props, ref) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", fill: \"none\", viewBox: \"28.15 56.63 286.76 143.97\", ref, ...props }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#CCDDF2\", fillRule: \"evenodd\", d: \"M264.093 147.855c12.021 0 21.841 9.407 22.508 21.261a16.69 16.69 0 0 1 11.562-4.637c9.251 0 16.749 7.499 16.749 16.75 0 8.273-5.999 15.389-13.882 16.75h-62.402c-6.273 0-11.357-5.085-11.357-11.358 0-6.272 5.084-11.357 11.357-11.357 1.253 0 2.457.206 3.585.58a22.595 22.595 0 0 1-.666-5.443c0-12.452 10.094-22.546 22.546-22.546ZM96.186 132.749c14.685 0 26.627 11.703 27.033 26.289a20.468 20.468 0 0 1 9.238-2.192c11.358 0 20.566 9.207 20.566 20.566 0 11.359-9.208 20.567-20.566 20.567H42.195c-7.757 0-14.045-6.288-14.045-14.045 0-7.756 6.288-14.044 14.045-14.044 1.397 0 2.745.207 4.019.587a17.686 17.686 0 0 1-1.042-5.996c0-9.788 7.934-17.724 17.724-17.724 3.087 0 5.988.791 8.516 2.179 4.185-9.529 13.7-16.187 24.774-16.187Z\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#C41F3E\", fillRule: \"evenodd\", d: \"M88.498 200.6H254.42v-91.004H88.498V200.6Z\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#8B1D41\", fillRule: \"evenodd\", d: \"M240.849 200.6H199.64v-52.205c0-11.379 9.225-20.604 20.605-20.604 11.379 0 20.604 9.225 20.604 20.604V200.6Z\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", fillRule: \"evenodd\", d: \"M230.552 174.045a3.37 3.37 0 1 1 6.74 0 3.37 3.37 0 0 1-6.74 0ZM220.245 143.744l7.742 8.202h-15.485l7.743-8.202Zm8.933 8.202-8.933-9.464-8.934 9.464h-2.109v12.501l22.085-12.501h-2.109Z\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#F2F3F2\", fillRule: \"evenodd\", d: \"M231.287 151.946v12.501h-22.085l22.085-12.501Z\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#8B1D41\", fillRule: \"evenodd\", d: \"m262.739 104.406-8.319-21.649V56.631H88.498v26.126l-8.32 21.649c-.96 2.502.886 5.19 3.566 5.19h175.43c2.68 0 4.527-2.688 3.565-5.19Z\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"mask\", { id: \"a\", width: 287, height: 145, x: 28, y: 56, \"mask-type\": \"alpha\", maskUnits: \"userSpaceOnUse\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M28.15 200.6h286.763V56.631H28.15V200.6Z\" })), /* @__PURE__ */ React.createElement(\"g\", { fillRule: \"evenodd\", clipRule: \"evenodd\", mask: \"url(#a)\" }, /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M102.308 178.084h82.339v-50.293h-82.339v50.293Z\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#F2F3F2\", d: \"M184.647 127.791v50.292h-82.339l82.339-50.292Z\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#C41F3E\", d: \"M218.904 143.452a1.34 1.34 0 1 1 2.681-.001 1.34 1.34 0 0 1-2.681.001ZM106.934 82.757h18.436V56.631h-18.436v26.126ZM143.805 82.757h18.436V56.631h-18.436v26.126ZM180.677 82.757h18.436V56.631h-18.436v26.126ZM217.549 82.757h18.435V56.631h-18.435v26.126Z\" }), /* @__PURE__ */ React.createElement(\"path\", { fill: \"#fff\", d: \"M254.419 110.895H88.496l.004-1.299h165.922l-.003 1.299Z\" })));\nconst ForwardRef = forwardRef(SvgFederalHolidayCibc);\nexport { ForwardRef as ReactComponent };\n","import * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgFederalBankHoliday = (props, ref) => /* @__PURE__ */ React.createElement(\"svg\", { viewBox: \"0 0 349 320\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ref, ...props }, /* @__PURE__ */ React.createElement(\"g\", null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M348.198 211.685C340.847 166.938 304.882 116.163 289.128 64.6516C275.759 20.9661 241.789 0.357238 215.138 4.63519e-05C168.168 -0.61692 108.654 49.3465 61.8571 73.7546C5.53009 103.12 -27.3445 152.196 29.9258 200.655C67.3435 232.315 199.362 267.45 268.516 272.093C315.681 275.21 355.17 254.19 348.198 211.685Z\", className: \"brand100\", fill: \"#C2DAFF\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M324.691 115.427L193.399 37.0505C191.668 36.0091 189.685 35.4587 187.663 35.4587C185.642 35.4587 183.659 36.0091 181.928 37.0505L50.6352 115.427C49.8363 115.915 49.2174 116.649 48.8709 117.518C48.5245 118.387 48.4692 119.344 48.7133 120.247C48.9574 121.15 49.4878 121.95 50.2252 122.527C50.9625 123.104 51.8671 123.427 52.8037 123.447H63.7655C65.7462 123.454 67.6914 122.923 69.3928 121.91L74.4671 118.88C75.0249 119.672 75.8679 120.219 76.8199 120.406V136.198C76.8228 137.225 77.2327 138.209 77.96 138.935C78.6873 139.661 79.673 140.07 80.7016 140.073H83.4231V141.307C83.4231 142.645 83.9554 143.928 84.9029 144.874C85.8505 145.82 87.1356 146.351 88.4757 146.351H88.7684L87.8251 174.818H92.1621L93.0838 146.957H104.566L105.488 174.818H109.825L108.881 146.351H109.163C110.503 146.351 111.788 145.82 112.736 144.874C113.684 143.928 114.216 142.645 114.216 141.307V140.073H127.802V141.307C127.802 142.645 128.334 143.928 129.281 144.874C130.229 145.82 131.514 146.351 132.854 146.351H133.147L132.204 174.818H136.541L137.473 146.957H148.977L149.91 174.818H152.154C152.859 174.818 153.563 174.818 154.247 174.926L153.303 146.351H153.596C154.936 146.351 156.221 145.82 157.169 144.874C158.116 143.928 158.649 142.645 158.649 141.307V140.073H172.234V141.307C172.234 142.645 172.767 143.928 173.714 144.874C174.662 145.82 175.947 146.351 177.287 146.351H177.58L175.411 210.494V221.459H200.186C200.323 221.507 200.441 221.597 200.524 221.715C200.607 221.833 200.652 221.974 200.653 222.119V224.284H175.455V228.613H296.674C297.076 228.613 297.47 228.718 297.818 228.918C298.166 229.117 298.456 229.404 298.659 229.75L306.845 243.702H175.455V248.659H313.469C314.247 248.657 315.004 248.903 315.632 249.36C316.26 249.818 316.725 250.463 316.961 251.203L317.947 254.255H175.455V258.585H318.576C319.193 258.584 319.801 258.438 320.35 258.158C320.899 257.878 321.375 257.472 321.737 256.974C322.1 256.476 322.339 255.9 322.436 255.292C322.533 254.684 322.485 254.062 322.295 253.476L321.135 249.871C320.618 248.266 319.605 246.866 318.242 245.87C316.878 244.875 315.234 244.335 313.545 244.33H312.266L302.453 227.585C301.862 226.595 301.024 225.776 300.02 225.207C299.017 224.638 297.883 224.338 296.729 224.338H293.834V222.173C293.831 220.856 293.312 219.592 292.388 218.651C291.465 217.71 290.209 217.168 288.889 217.14L286.547 146.405H286.84C287.504 146.405 288.161 146.275 288.774 146.021C289.387 145.768 289.944 145.396 290.413 144.928C290.882 144.459 291.254 143.903 291.508 143.291C291.762 142.679 291.893 142.024 291.893 141.361V140.127H294.603C295.634 140.127 296.622 139.719 297.352 138.993C298.082 138.267 298.493 137.281 298.496 136.252V120.406C299.448 120.219 300.291 119.672 300.849 118.88L305.923 121.91C307.615 122.917 309.548 123.448 311.518 123.447H322.436C323.373 123.427 324.277 123.104 325.015 122.527C325.752 121.95 326.283 121.15 326.527 120.247C326.771 119.344 326.715 118.387 326.369 117.518C326.023 116.649 325.404 115.915 324.605 115.427H324.691ZM109.89 141.307C109.891 141.401 109.874 141.495 109.838 141.582C109.803 141.669 109.75 141.749 109.683 141.815C109.617 141.882 109.537 141.935 109.45 141.97C109.362 142.005 109.268 142.023 109.174 142.021H88.4431C88.2534 142.021 88.0713 141.946 87.9371 141.812C87.8029 141.678 87.7275 141.496 87.7275 141.307V140.073H109.89V141.307ZM154.344 141.307C154.344 141.496 154.269 141.678 154.135 141.812C154 141.946 153.818 142.021 153.629 142.021H132.865C132.675 142.021 132.493 141.946 132.359 141.812C132.225 141.678 132.149 141.496 132.149 141.307V140.073H154.322L154.344 141.307ZM177.32 142.021C177.225 142.023 177.131 142.005 177.044 141.97C176.956 141.935 176.877 141.882 176.81 141.815C176.744 141.749 176.691 141.669 176.655 141.582C176.62 141.495 176.602 141.401 176.604 141.307V140.073H198.744V141.307C198.744 141.496 198.669 141.678 198.535 141.812C198.401 141.946 198.219 142.021 198.029 142.021H177.32ZM179.607 217.075L181.928 146.957H193.442L195.763 217.075H179.607ZM214.683 222.119V224.284H205.033V222.119C205.031 220.801 204.512 219.537 203.588 218.597C202.664 217.656 201.408 217.114 200.089 217.086L197.736 146.351H198.029C199.369 146.351 200.654 145.82 201.602 144.874C202.549 143.928 203.081 142.645 203.081 141.307V140.073H216.667V141.307C216.667 142.645 217.199 143.928 218.147 144.874C219.095 145.82 220.38 146.351 221.72 146.351H222.013L219.671 217.086C218.343 217.1 217.074 217.636 216.14 218.579C215.207 219.521 214.683 220.793 214.683 222.119ZM221.676 142.021C221.487 142.021 221.305 141.946 221.17 141.812C221.036 141.678 220.961 141.496 220.961 141.307V140.073H243.123V141.307C243.124 141.401 243.107 141.495 243.071 141.582C243.036 141.669 242.983 141.749 242.917 141.815C242.85 141.882 242.77 141.935 242.683 141.97C242.595 142.005 242.502 142.023 242.407 142.021H221.676ZM240.109 217.075H224.008L226.328 146.957H237.843L240.109 217.075ZM245.053 224.305H219.02V222.14C219.018 221.997 219.061 221.856 219.142 221.738C219.224 221.62 219.34 221.53 219.475 221.48H244.608C244.745 221.529 244.862 221.619 244.946 221.737C245.029 221.855 245.074 221.996 245.075 222.14L245.053 224.305ZM259.083 222.14V224.305H249.39V222.14C249.387 220.823 248.869 219.559 247.945 218.618C247.021 217.678 245.765 217.136 244.446 217.107L242.104 146.373H242.386C243.726 146.373 245.011 145.841 245.958 144.895C246.906 143.949 247.438 142.666 247.438 141.329V140.095H261.035V141.329C261.035 142.665 261.566 143.946 262.511 144.891C263.456 145.837 264.738 146.37 266.077 146.373H266.369L264.027 217.107C262.721 217.149 261.482 217.695 260.571 218.629C259.659 219.564 259.145 220.814 259.137 222.119L259.083 222.14ZM289.019 221.48C289.153 221.532 289.268 221.623 289.349 221.741C289.43 221.858 289.474 221.998 289.475 222.14V224.305H263.474V222.14C263.475 221.996 263.52 221.855 263.603 221.737C263.687 221.619 263.804 221.529 263.941 221.48H289.074H289.019ZM268.364 217.151L270.696 147.033H282.21L284.531 217.151H268.364ZM287.534 141.383C287.534 141.572 287.459 141.754 287.324 141.888C287.19 142.022 287.008 142.097 286.818 142.097H266.142C266.048 142.097 265.956 142.079 265.869 142.043C265.783 142.007 265.705 141.954 265.639 141.887C265.574 141.821 265.522 141.742 265.487 141.655C265.453 141.569 265.436 141.476 265.437 141.383V140.149H287.599L287.534 141.383ZM294.137 135.819H81.1244V120.503H294.202L294.137 135.819ZM79.3354 116.174L187.761 52.1391L296.002 116.174H79.3354ZM311.561 119.118C310.374 119.117 309.208 118.795 308.189 118.187L191.274 48.394C190.183 47.7405 188.935 47.3952 187.663 47.3952C186.391 47.3952 185.143 47.7405 184.053 48.394L67.1267 118.187C66.1121 118.797 64.9499 119.119 63.7655 119.118H52.8579L184.15 40.7631C185.211 40.1255 186.425 39.7886 187.663 39.7886C188.901 39.7886 190.116 40.1255 191.176 40.7631L322.48 119.118H311.561ZM168.949 87.3711C168.949 91.0661 170.047 94.6781 172.103 97.7504C174.159 100.823 177.082 103.217 180.502 104.631C183.921 106.045 187.684 106.415 191.314 105.694C194.945 104.973 198.279 103.194 200.896 100.581C203.514 97.9687 205.296 94.6398 206.018 91.0159C206.74 87.3919 206.369 83.6355 204.953 80.2218C203.537 76.8081 201.138 73.8903 198.06 71.8375C194.983 69.7847 191.365 68.689 187.663 68.689C182.702 68.6947 177.945 70.6648 174.437 74.1672C170.928 77.6695 168.955 82.4181 168.949 87.3711ZM202.041 87.3711C202.041 90.2098 201.197 92.9847 199.618 95.345C198.038 97.7053 195.792 99.5449 193.165 100.631C190.538 101.718 187.647 102.002 184.858 101.448C182.07 100.894 179.508 99.5272 177.497 97.52C175.486 95.5127 174.117 92.9553 173.562 90.1712C173.008 87.3871 173.292 84.5012 174.381 81.8786C175.469 79.256 177.311 77.0145 179.676 75.4374C182.04 73.8603 184.82 73.0185 187.663 73.0185C191.475 73.0243 195.128 74.5383 197.823 77.2287C200.518 79.919 202.035 83.5664 202.041 87.3711Z\", fill: \"white\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M39.4782 318.387C27.2803 318.387 17.3594 308.732 17.3594 296.869V201.531C17.3594 189.625 27.2803 180.013 39.4782 180.013H186.167C198.365 180.013 208.286 189.668 208.286 201.531V296.869C208.286 308.775 198.365 318.387 186.167 318.387H39.4782Z\", fill: \"white\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M175.476 234.729H144.563V262.373H175.476V234.729Z\", className: \"brand100\", fill: \"#C2DAFF\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M190.07 179.148H35.5856C30.5589 179.153 25.7399 181.15 22.1865 184.7C18.6331 188.249 16.6357 193.061 16.6328 198.079V301.091C16.6386 306.107 18.6372 310.916 22.1903 314.463C25.7434 318.01 30.5608 320.005 35.5856 320.011H190.07C195.095 320.005 199.912 318.01 203.466 314.463C207.019 310.916 209.017 306.107 209.023 301.091V198.079C209.02 193.061 207.023 188.249 203.469 184.7C199.916 181.15 195.097 179.153 190.07 179.148V179.148ZM48.6183 315.595H35.6073C31.7519 315.592 28.0553 314.062 25.3292 311.34C22.6031 308.619 21.0703 304.929 21.0674 301.08V292.615H48.6183V315.595ZM48.6183 288.686H21.0457V264.257H48.6183V288.686ZM48.6183 260.328H21.0457V235.898H48.6183V260.328ZM48.6183 231.969H21.0457V207.82L48.6183 207.691V231.969ZM79.7473 315.595H52.5542V292.615H79.7473V315.595ZM79.7473 288.686H52.5542V264.257H79.7473V288.686ZM79.7473 260.328H52.5542V235.898H79.7473V260.328ZM79.7473 231.969H52.5542V207.712L79.7473 207.604V231.969ZM110.876 315.595H83.6831V292.615H110.876V315.595ZM110.876 288.686H83.6831V264.257H110.876V288.686ZM110.876 260.328H83.6831V235.898H110.876V260.328ZM110.876 231.969H83.6831V207.593L110.876 207.507V231.969ZM142.038 315.595H114.812V292.615H142.038V315.595ZM142.038 288.686H114.812V264.257H142.038V288.686ZM142.038 260.328H114.812V235.898H142.038V260.328ZM142.038 231.969H114.812V207.496H142.005L142.038 231.969ZM173.156 315.595H145.941V292.615H173.123L173.156 315.595ZM173.156 288.686H145.941V264.257H173.123L173.156 288.686ZM173.156 260.328H145.941V235.898H173.123L173.156 260.328ZM173.156 231.969H145.941V207.442C155.699 207.442 164.948 207.442 173.123 207.442L173.156 231.969ZM204.599 301.08C204.596 304.929 203.064 308.619 200.337 311.34C197.611 314.062 193.915 315.592 190.059 315.595H177.048V292.615H204.588L204.599 301.08ZM204.599 288.686H177.059V264.257H204.599V288.686ZM204.599 260.328H177.059V235.898H204.599V260.328ZM204.599 231.969H177.059V207.452C190.363 207.452 200.371 207.571 204.599 207.712V231.969Z\", className: \"Overlay\", fill: \"#2C64EF\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M145.94 235.898L173.123 260.327\", className: \"Overlay\", stroke: \"#2C64EF\", strokeWidth: 3.54, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M173.123 235.898L145.94 260.327\", className: \"Overlay\", stroke: \"#2C64EF\", strokeWidth: 3.54, strokeLinecap: \"round\", strokeLinejoin: \"round\" })));\nconst ForwardRef = forwardRef(SvgFederalBankHoliday);\nexport { ForwardRef as ReactComponent };\n","import React from 'react'\nimport { ThemeProvider } from '@mui/material/styles'\nimport { createMXTheme } from '@kyper/mui'\nimport CssBaseline from '@mui/material/CssBaseline'\n\nexport interface WithThemeProps {\n isDarkMode: boolean\n}\n\nconst withTheme = <P extends object>(Component: React.ComponentType<P>) => {\n return ({ isDarkMode, ...props }: WithThemeProps & P) => {\n const theme = createMXTheme(isDarkMode ? 'dark' : 'light')\n return (\n <ThemeProvider theme={theme}>\n <CssBaseline />\n <Component {...(props as P)} />\n </ThemeProvider>\n )\n }\n}\n\nexport default withTheme\n","import Box from '@mui/material/Box'\n\nimport { ThemedSVGImage } from '../../components/ThemedSVGImage'\nimport { ReactComponent as FederalHolidayCibc } from './images/FederalHolidayCibc.svg'\nimport { ReactComponent as FederalBankHolidayNonCibc } from './images/FederalBankHoliday.svg'\nimport { FederalBankHolidayBodyProps } from './types/FederalBankHoliday'\nimport withTheme from '../withTheme'\n\nexport const FederalBankHoliday = ({\n isCIBC,\n isMini,\n clientColorscheme,\n}: FederalBankHolidayBodyProps) => {\n const imageStyles = {\n height: 'auto',\n width: isMini ? '30%' : '50%',\n marginBottom: 16,\n }\n const image = isCIBC ? FederalHolidayCibc : FederalBankHolidayNonCibc\n const imgStyle = isCIBC ? { ...imageStyles, width: isMini ? '50%' : '70%' } : imageStyles\n return (\n <Box sx={{ display: 'flex', justifyContent: 'center', width: '100%' }}>\n <ThemedSVGImage\n clientColorscheme={clientColorscheme}\n divProps={{ style: imgStyle }}\n image={image}\n />\n </Box>\n )\n}\n\nexport const FederalBankHolidayBody = withTheme(FederalBankHoliday)\n"],"names":["PulseProgressBar","backgroundColor","color","percent","height","ref","inView","useInView","barWidth","setBarWidth","React","roundedPercent","jsx","jsxs","Card","Box","PulseGoalProgress","backgroundOverride","goalPercentage","percentageCompleteText","progressColorOverride","theme","useTheme","Icon","P","PulseGraidentBox","children","gradientOverride","title","DirectDeposit","accountGuid","animation","leftLowerText","leftUpperText","isComplete","isMini","headerString","rightLowerText","rightUpperText","dimensions","AutoSizer","width","Confetti","FullFeedLogoSection","MiniBodyHeader","FullFeedBodyHeader","LowerBoxesSection","InstitutionLogo","LeftBox","RightBox","CardHeader","withFullWidthImage","LoadingGif","CardLoading","altImg","CardButtonSection","button","CardError","erroredText","ContentAndDescription","beat","descriptionPlacement","hideDescription","inDescriptionCtaOnClick","hide","DescriptionSection","Description","buttonInText","aboveCtaSectionSpace","Button","InsightButton","disabled","onClick","primary","sx","variant","rest","StyledButton","styled","e","Shell","ariaHidden","DismissedBeatSwitcher","elementTag","setRefs","Element","FeedbackHeader","headerText","menuHeaderCloserButtonAriaLabel","onCancel","onClose","rating","Stack","H3","MenuHeaderCloseButton","FeedbackButtons","buttonText","errorMessage","feedbackMessage","otherOptionIndex","selectedRadio","cancelText","submitText","CancelStyledButton","SubmitStyledButton","FeedbackDescription","bodyText","FeedbackOptions","feedbackOptions","groupAriaLabel","setSelectedRadio","FormControl","RadioGroup","option","i","FormControlLabel","Radio","BeatFeedbackText","feedbackAriaLabel","feedbackDescriptionPlaceHolder","feedbackLabel","sendAnalytics","setFeedbackMessage","validateForm","TextareaAutosize","BaseTextareaAutosize","ariaLabel","className","IconButton","MonthlyEmergencyFundReviewBody","goalCompletionDate","goalContribution","isDarkMode","payload","showGoalContributedLastMonth","showProjectedToCompleteDate","totalSavedText","createMXTheme","ThemeProvider","ProjectedCompletionSection","LastMonthsContributionSection","TotalSavedSection","Text","SetUpDirectDepositBody","AccountBox","accountName","SwitchDirectDepositBody","destinationAccountGuid","externalAccountName","heldAccountName","sourceAccountGuid","SwitchDirectDepositMainContainer","MAX_SVG_WIDTH","MINI_SVG_WIDTH","getSVGElement","element","applyColorToSVG","elements","svgElement","strokeAttr","fillAttr","fillColor","ThemedSVGImage","clientColorscheme","divProps","SVG","containerRef","useRef","primary_100","primary_200","primary_300","primary_400","primary_500","widget_brand_color","colors","useMemo","useEffect","container","overlayElements","index","colorKey","SvgFederalHolidayCibc","props","ForwardRef","forwardRef","SvgFederalBankHoliday","withTheme","Component","CssBaseline","FederalBankHoliday","isCIBC","imageStyles","image","FederalHolidayCibc","FederalBankHolidayNonCibc","imgStyle","FederalBankHolidayBody"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FederalBankHolidayBodyProps } from './types/FederalBankHoliday';
2
+ export declare const FederalBankHoliday: ({ isCIBC, isMini, clientColorscheme, }: FederalBankHolidayBodyProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const FederalBankHolidayBody: ({ isDarkMode, ...props }: import('../withTheme').WithThemeProps & FederalBankHolidayBodyProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './FederalBankHolidayBody';
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ export interface WithThemeProps {
3
+ isDarkMode: boolean;
4
+ }
5
+ declare const withTheme: <P extends object>(Component: React.ComponentType<P>) => ({ isDarkMode, ...props }: WithThemeProps & P) => import("react/jsx-runtime").JSX.Element;
6
+ export default withTheme;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/insights-ui",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Package containing MX theme and common controls for MUI",
5
5
  "main": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -79,7 +79,8 @@
79
79
  "storybook-dark-mode": "4.0.1",
80
80
  "typescript": "^5.6.2",
81
81
  "vite": "^5.4.8",
82
- "vite-plugin-dts": "^4.2.3"
82
+ "vite-plugin-dts": "^4.2.3",
83
+ "vite-plugin-svgr": "^4.3.0"
83
84
  },
84
85
  "files": [
85
86
  "dist"