@mx-cartographer/experiences 4.0.14-alpha.JB0 → 4.0.14-alpha.JB2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/AccountStore-B23-oV1B.mjs +244 -0
  2. package/dist/AccountStore-B23-oV1B.mjs.map +1 -0
  3. package/dist/BeatApi-BxXgbSJY.mjs +99 -0
  4. package/dist/BeatApi-BxXgbSJY.mjs.map +1 -0
  5. package/dist/BudgetUtil-BSn9Zr71.mjs +208 -0
  6. package/dist/BudgetUtil-BSn9Zr71.mjs.map +1 -0
  7. package/dist/CashflowApi-zcebgnO1.mjs +103 -0
  8. package/dist/CashflowApi-zcebgnO1.mjs.map +1 -0
  9. package/dist/CashflowStore-gPEEBiXo.mjs +53 -0
  10. package/dist/CashflowStore-gPEEBiXo.mjs.map +1 -0
  11. package/dist/Categories-XVFviD23.mjs +117 -0
  12. package/dist/Categories-XVFviD23.mjs.map +1 -0
  13. package/dist/CategoryStore-CSNSMNA6.mjs +298 -0
  14. package/dist/CategoryStore-CSNSMNA6.mjs.map +1 -0
  15. package/dist/ConnectMiniWidget-Ep65CtHH.mjs +10854 -0
  16. package/dist/ConnectMiniWidget-Ep65CtHH.mjs.map +1 -0
  17. package/dist/DebtsStore-Duf3n1vZ.mjs +127 -0
  18. package/dist/DebtsStore-Duf3n1vZ.mjs.map +1 -0
  19. package/dist/Donut-DgMeKScZ.mjs +53 -0
  20. package/dist/Donut-DgMeKScZ.mjs.map +1 -0
  21. package/dist/Fetch-DpUi1_Dx.mjs +99 -0
  22. package/dist/Fetch-DpUi1_Dx.mjs.map +1 -0
  23. package/dist/GoalStore-BYoRLx99.mjs +128 -0
  24. package/dist/GoalStore-BYoRLx99.mjs.map +1 -0
  25. package/dist/MerchantStore-RhLvDvX-.mjs +118 -0
  26. package/dist/MerchantStore-RhLvDvX-.mjs.map +1 -0
  27. package/dist/NetWorthStore-syD1VnxE.mjs +66 -0
  28. package/dist/NetWorthStore-syD1VnxE.mjs.map +1 -0
  29. package/dist/NotificationStore-CqTYHfJC.mjs +141 -0
  30. package/dist/NotificationStore-CqTYHfJC.mjs.map +1 -0
  31. package/dist/RecurringActivityStore-B_COvGWG.mjs +304 -0
  32. package/dist/RecurringActivityStore-B_COvGWG.mjs.map +1 -0
  33. package/dist/StackedLineChart-CCqGRwvs.mjs +342 -0
  34. package/dist/StackedLineChart-CCqGRwvs.mjs.map +1 -0
  35. package/dist/TransactionStore-BUrjBWkk.mjs +478 -0
  36. package/dist/TransactionStore-BUrjBWkk.mjs.map +1 -0
  37. package/dist/index.es.js +12 -17869
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/index.es10.js +107 -0
  40. package/dist/index.es10.js.map +1 -0
  41. package/dist/index.es11.js +159 -0
  42. package/dist/index.es11.js.map +1 -0
  43. package/dist/index.es12.js +483 -0
  44. package/dist/index.es12.js.map +1 -0
  45. package/dist/index.es13.js +620 -0
  46. package/dist/index.es13.js.map +1 -0
  47. package/dist/index.es14.js +788 -0
  48. package/dist/index.es14.js.map +1 -0
  49. package/dist/index.es15.js +891 -0
  50. package/dist/index.es15.js.map +1 -0
  51. package/dist/index.es16.js +962 -0
  52. package/dist/index.es16.js.map +1 -0
  53. package/dist/index.es17.js +1904 -0
  54. package/dist/index.es17.js.map +1 -0
  55. package/dist/index.es2.js +11 -0
  56. package/dist/index.es2.js.map +1 -0
  57. package/dist/index.es3.js +10 -0
  58. package/dist/index.es3.js.map +1 -0
  59. package/dist/index.es4.js +9 -0
  60. package/dist/index.es4.js.map +1 -0
  61. package/dist/index.es5.js +7 -0
  62. package/dist/index.es5.js.map +1 -0
  63. package/dist/index.es6.js +7 -0
  64. package/dist/index.es6.js.map +1 -0
  65. package/dist/index.es7.js +10 -0
  66. package/dist/index.es7.js.map +1 -0
  67. package/dist/index.es8.js +10 -0
  68. package/dist/index.es8.js.map +1 -0
  69. package/dist/index.es9.js +18 -0
  70. package/dist/index.es9.js.map +1 -0
  71. package/dist/useCombineEvents-CZUDHE96.mjs +170 -0
  72. package/dist/useCombineEvents-CZUDHE96.mjs.map +1 -0
  73. package/dist/usePrevious-BLb3umpI.mjs +11 -0
  74. package/dist/usePrevious-BLb3umpI.mjs.map +1 -0
  75. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es14.js","sources":["../src/insights/settings/components/PulseSubheaderRow.tsx","../src/insights/settings/manageaccounts/components/AccountGroup.tsx","../src/insights/settings/components/SettingsItem.tsx","../src/insights/settings/manageaccounts/components/ManageAccountsDrawer.tsx","../src/insights/contexts/ToastContext.tsx","../src/insights/settings/components/Toast.tsx","../src/insights/settings/hiddeninsights/images/no-insights.png","../src/insights/settings/hiddeninsights/components/CategoryEmptyState.tsx","../src/insights/settings/hiddeninsights/components/SubCategoryDrawer.tsx","../src/insights/utils/beatTemplateCategories.ts","../src/insights/settings/hiddeninsights/components/HiddenInsightsDrawer.tsx","../src/insights/settings/hiddeninsights/components/HiddenInsightsDrawerWrapper.tsx","../src/insights/settings/SettingsDrawer.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport { Text } from '@kyper/mui'\n\ninterface SubheaderRowProps {\n bgcolor?: string\n}\n\n//TODO use subheaderRow from common once pulse has CSSbaseline from MUI\nconst SubheaderRow: React.FC<PropsWithChildren<SubheaderRowProps>> = ({\n bgcolor = 'background.default',\n children,\n}) => (\n <Box\n alignItems=\"flex-end\"\n boxSizing=\"border-box\"\n display=\"flex\"\n height={32}\n pb={4}\n pl={24}\n pr={24}\n pt={4}\n sx={{ bgcolor }}\n width=\"100%\"\n >\n <Text bold={true} boxSizing=\"border-box\" component=\"div\" variant=\"XSmall\" width=\"100%\">\n {children}\n </Text>\n </Box>\n)\n\nexport default SubheaderRow\n","import React from 'react'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport Box from '@mui/material/Box'\nimport Switch from '@mui/material/Switch'\nimport Divider from '@mui/material/Divider'\n\nimport { InstitutionLogo } from '@kyper/mui'\n\nimport PulseSubheaderRow from '../../components/PulseSubheaderRow'\n\nimport type { Account } from '../../../../common/types/Account'\nimport { Dialog } from '../../../../common'\nimport { SettingsMenuContent } from '../../hiddeninsights/types'\n\ninterface Props {\n accounts: Account[]\n content: SettingsMenuContent\n toggleAccount: (dialogueActionType: string, accountToUpdate: string, updateType: string) => void\n title: string\n}\n\nexport const AccountGroup: React.FC<Props> = ({\n accounts = [],\n content,\n toggleAccount,\n title = '',\n}) => {\n const [isDialogOpen, setIsDialogOpen] = React.useState(false)\n const [accountUpdateData, setAccountUpdateData] = React.useState({\n accountToUpdate: '',\n updateType: '',\n })\n\n const prepareToToggleAccount = (account: Account) => {\n setAccountUpdateData({\n accountToUpdate: account.guid,\n updateType: account.is_hidden ? 'ENABLE' : 'DISABLE',\n })\n setIsDialogOpen(true)\n }\n\n const handleToggleAccount = () => {\n toggleAccount('confirm', accountUpdateData.accountToUpdate, accountUpdateData.updateType)\n handleCloseDialog()\n }\n\n const handleCloseDialog = () => {\n setIsDialogOpen(false)\n toggleAccount('cancel', '', accountUpdateData.updateType)\n //call analytics\n setAccountUpdateData({\n accountToUpdate: '',\n updateType: '',\n })\n }\n\n return (\n <Box>\n <PulseSubheaderRow>{title}</PulseSubheaderRow>\n {accounts.map((account, i) => (\n <Box key={account.guid}>\n <ListItem>\n <ListItemButton onClick={() => prepareToToggleAccount(account)}>\n <ListItemAvatar>\n <InstitutionLogo\n alt={`${account.displayName} logo`}\n institutionGuid={account.institution_guid || ''}\n />\n </ListItemAvatar>\n <ListItemText\n primary={account.truncatedDisplayName}\n secondary={account.institutionName}\n />\n <Switch checked={!account.is_hidden} />\n </ListItemButton>\n </ListItem>\n <Divider sx={{ ml: i < accounts.length - 1 ? 24 : 0 }} />\n </Box>\n ))}\n <Dialog\n copy={{\n close_aria: content.close,\n title:\n accountUpdateData.updateType === 'DISABLE'\n ? content.turn_off_account\n : content.turn_on_account,\n }}\n isOpen={isDialogOpen}\n onClose={handleCloseDialog}\n onPrimaryAction={handleToggleAccount}\n primaryText={\n accountUpdateData.updateType === 'DISABLE' ? content.turn_off : content.turn_on\n }\n >\n {accountUpdateData.updateType === 'DISABLE'\n ? content.account_data_hidden + '*'\n : content.account_data_shown}\n <br />\n <br />\n {accountUpdateData.updateType === 'DISABLE'\n ? '*' + content.undo_reactivate_account + '.'\n : ''}\n </Dialog>\n </Box>\n )\n}\n","import React from 'react'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\nimport Divider from '@mui/material/Divider'\nimport useTheme from '@mui/material/styles/useTheme'\nimport ChevronRightOutlinedIcon from '@mui/icons-material/ChevronRightOutlined'\n\nimport { Text } from '@kyper/mui'\n\ninterface SettingsItemProps {\n Icon: React.ElementType\n label: string\n onClick: () => void\n itemCount?: number\n}\n\nconst SettingsItem: React.FC<SettingsItemProps> = ({ Icon, label, onClick, itemCount }) => {\n const theme = useTheme()\n\n return (\n <>\n <ListItem sx={{ backgroundColor: 'background.paper' }}>\n <ListItemButton onClick={onClick}>\n <Icon sx={{ fontSize: 22, marginRight: '16px' }} />\n <ListItemText\n primary={label}\n primaryTypographyProps={{\n fontSize: theme.typography.Body.fontSize,\n }}\n sx={{\n marginRight: 16,\n }}\n />\n {itemCount !== undefined && (\n <Text\n sx={{\n marginRight: 24,\n color: theme.palette.text.secondary,\n fontWeight: theme.typography.fontWeightBold,\n fontSize: theme.typography.Small.fontSize,\n }}\n >\n {itemCount}\n </Text>\n )}\n <ChevronRightOutlinedIcon sx={{ fontSize: 22 }} />\n </ListItemButton>\n </ListItem>\n <Divider />\n </>\n )\n}\n\nexport default SettingsItem\n","import React from 'react'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport AccountBalanceOutlinedIcon from '@mui/icons-material/AccountBalanceOutlined'\n\nimport Drawer from '../../../../common/components/drawer/Drawer'\n\nimport { ManageAccountsStore } from '../types'\nimport { AccountGroup } from './AccountGroup'\nimport { SettingsMenuContent } from '../../hiddeninsights/types'\nimport SettingsItem from '../../components/SettingsItem'\n\ninterface Props {\n content: SettingsMenuContent\n manageAccountsStore: ManageAccountsStore\n}\n\nexport const ManageAccountsDrawer: React.FC<Props> = ({ content, manageAccountsStore }) => {\n const { groupedAccounts, toggleAccount } = manageAccountsStore\n const [isAccountsControlDrawerOpen, setIsAccountsControlDrawerOpen] = React.useState(false)\n\n return (\n <>\n <SettingsItem\n Icon={AccountBalanceOutlinedIcon}\n label={content.manage_accounts}\n onClick={() => {\n setIsAccountsControlDrawerOpen(true)\n manageAccountsStore.handleAccountsDrawerAction('opened')\n }}\n />\n <Drawer\n ariaLabelClose={content.close}\n isOpen={isAccountsControlDrawerOpen}\n onClose={() => {\n setIsAccountsControlDrawerOpen(false)\n manageAccountsStore.handleAccountsDrawerAction('closed')\n }}\n shouldShowHeaderBorders={false}\n sx={{\n '& .MuiDrawer-paper': {\n backgroundColor: 'background.white',\n },\n }}\n title={content.manage_accounts}\n >\n <Divider />\n <List sx={{ height: '100%' }}>\n {groupedAccounts.map(({ accountType, accounts, title }) => (\n <AccountGroup\n accounts={accounts}\n content={content}\n key={accountType}\n title={title}\n toggleAccount={toggleAccount}\n />\n ))}\n </List>\n </Drawer>\n </>\n )\n}\n","import React, { createContext, useContext, useState, ReactNode } from 'react'\n\ninterface ToastState {\n isOpen: boolean\n message: string\n severity: 'success' | 'error'\n}\n\ninterface ToastContextProps {\n toastState: ToastState\n showToast: (msg?: string, severityType?: 'success' | 'error') => void\n hideToast: () => void\n setMessage: (msg: string) => void\n}\n\nconst ToastContext = createContext<ToastContextProps | undefined>(undefined)\n\nconst ToastProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [toastState, setToastState] = useState<ToastState>({\n isOpen: false,\n message: '',\n severity: 'success',\n })\n\n const showToast = (msg?: string, severityType?: 'success' | 'error') => {\n setToastState({\n isOpen: true,\n message: msg ?? toastState.message,\n severity: severityType ?? toastState.severity,\n })\n }\n\n const hideToast = () => {\n setToastState({\n ...toastState,\n isOpen: false,\n })\n }\n\n const setMessage = (msg: string) => {\n setToastState((prevState) => ({\n ...prevState,\n message: msg,\n }))\n }\n\n return (\n <ToastContext.Provider value={{ toastState, showToast, hideToast, setMessage }}>\n {children}\n </ToastContext.Provider>\n )\n}\n\nconst useToast = (): ToastContextProps => {\n const context = useContext(ToastContext)\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider')\n }\n return context\n}\n\nexport { ToastProvider, useToast }\n","import React from 'react'\nimport Snackbar from '@mui/material/Snackbar'\nimport Alert from '@mui/material/Alert'\nimport { CheckCircleRounded } from '@mui/icons-material'\nimport { SxProps, Theme } from '@mui/system'\nimport Grow, { GrowProps } from '@mui/material/Grow'\n\nimport { Text } from '@kyper/mui'\n//TODO update component for all uses according to this story\n// https://mxcom.atlassian.net/browse/MEW-488, move into kyper-mui, and re-consume from there\nexport function GrowTransition(props: GrowProps) {\n return <Grow {...props} />\n}\n\ninterface ToastProps {\n open: boolean\n handleClose: () => void\n message: string\n autoHideDuration?: number\n severity?: 'success' | 'error' | 'warning' | 'info'\n icon?: React.ReactNode\n snackbarSx?: SxProps<Theme>\n}\n\nconst Toast: React.FC<ToastProps> = ({\n open,\n handleClose,\n message,\n autoHideDuration = 3000,\n severity = 'success',\n icon = <CheckCircleRounded fontSize=\"inherit\" />,\n snackbarSx,\n}) => {\n return (\n <Snackbar\n TransitionComponent={GrowTransition}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n open={open}\n sx={{\n width: '100%',\n px: 24,\n ...snackbarSx,\n }}\n >\n <Alert\n icon={icon}\n onClose={handleClose}\n severity={severity}\n sx={{\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n height: 56,\n backgroundColor: (theme) => theme.palette[severity].darker,\n //TODO can be removed once pulse has CSSbaseline from MUI and component is moved to kyper\n boxSizing: 'border-box',\n }}\n variant=\"filled\"\n >\n <Text sx={{ lineHeight: '20px' }} truncate={false}>\n {message}\n </Text>\n </Alert>\n </Snackbar>\n )\n}\n\nexport default Toast\n","export default \"data:image/png;base64,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\"","import Box from '@mui/material/Box'\nimport useTheme from '@mui/material/styles/useTheme'\n\nimport { Text } from '@kyper/mui'\nimport React from 'react'\nimport { SettingsMenuContent } from '../types'\n\nimport noInsightsImageUrl from '../images/no-insights.png'\n\ninterface Props {\n content: SettingsMenuContent\n}\n\nexport const CategoryEmptyState: React.FC<Props> = ({ content = {} }) => {\n const theme = useTheme()\n\n return (\n <Box px={24} py={32}>\n <Text\n color={theme.palette.text.secondary}\n component=\"div\"\n fontWeight=\"bold\"\n height=\"72px\"\n maxWidth=\"297px\"\n truncate={false}\n variant=\"Body\"\n >\n {content.there_are_no_insights_hidden}\n </Text>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n p: '16px 24px',\n }}\n >\n <Box\n sx={{\n backgroundImage: `url(${noInsightsImageUrl})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '100% 100%',\n height: '105px',\n width: '121px',\n }}\n />\n </Box>\n </Box>\n )\n}\n","import React, { useEffect } from 'react'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemText from '@mui/material/ListItemText'\nimport Button from '@mui/material/Button'\nimport LoadingButton from '@mui/lab/LoadingButton'\nimport Checkbox from '@mui/material/Checkbox'\nimport useTheme from '@mui/material/styles/useTheme'\nimport Box from '@mui/material/Box'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport Stack from '@mui/material/Stack'\n\nimport { DisabledBeatTemplate, SettingsMenuContent } from '../types'\nimport { Text } from '@kyper/mui'\n\nimport Drawer from '../../../../common/components/drawer/Drawer'\nimport { usePrevious } from '../../../../common/hooks/usePrevious'\nimport Toast from '../../components/Toast'\nimport SubheaderRow from '../../components/PulseSubheaderRow'\n\nimport { useToast } from '../../../contexts/ToastContext'\n\ninterface Props {\n content: SettingsMenuContent\n disabledBeatTemplates: DisabledBeatTemplate[]\n handleEnableBeatTemplates: (templateNames: string[], showSnackBar: boolean) => void\n isOpen: boolean\n isUpdateLoading: boolean\n onClose: () => void\n translatedSubCatetgory: string\n}\n\nexport const SubCategoryDrawer: React.FC<Props> = ({\n content,\n disabledBeatTemplates = [],\n handleEnableBeatTemplates = () => {},\n isOpen = false,\n isUpdateLoading = false,\n onClose = () => {},\n translatedSubCatetgory = '',\n}) => {\n const theme = useTheme()\n\n // using an object to store checkbox state because updating the check value via\n // key/name in handleCheckboxChange is seemed cleaner than a map with a conditional\n //\n // [name]: checked\n // vs\n // prevCheckboxes.map((checkbox) =>\n // checkbox.id === id ? { ...checkbox, checked: !checkbox.checked } : checkbox\n // )\n //\n // for the initialCheckboxState, using reduce to create an object instead of map to create an array of objects also felt\n // more focused for this use case\n const initialCheckboxState = React.useMemo(\n () => disabledBeatTemplates.reduce((acc, beat) => ({ ...acc, [beat.name]: false }), {}),\n [disabledBeatTemplates],\n )\n\n const [beatTemplatesChecked, setBeatTemplatesChecked] = React.useState<{\n [key: string]: boolean\n }>(initialCheckboxState)\n\n const { toastState, hideToast } = useToast()\n\n const prevUpdateLoading = usePrevious(isUpdateLoading)\n\n useEffect(() => {\n //a update request was made\n if (prevUpdateLoading && !isUpdateLoading) {\n setBeatTemplatesChecked(initialCheckboxState)\n }\n }, [prevUpdateLoading, isUpdateLoading, initialCheckboxState, setBeatTemplatesChecked])\n\n const handleCheckboxChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, checked } = e.target\n setBeatTemplatesChecked((prev) => ({\n ...prev,\n [name]: checked,\n }))\n }\n\n const numCheckedBeats = Object.values(beatTemplatesChecked).filter(Boolean).length\n\n const handleClose = () => {\n setBeatTemplatesChecked(initialCheckboxState)\n onClose()\n }\n\n const toggleAllCheckboxes = () => {\n const newCheckboxesState = disabledBeatTemplates.reduce(\n (acc, beat) => ({\n ...acc,\n [beat.name]: numCheckedBeats !== disabledBeatTemplates.length,\n }),\n {} as { [key: string]: boolean },\n )\n setBeatTemplatesChecked(newCheckboxesState)\n }\n\n const handleUnhideSelectedInisghts = () => {\n const shouldCloseDrawer = numCheckedBeats === disabledBeatTemplates.length\n\n handleEnableBeatTemplates(\n Object.keys(beatTemplatesChecked).filter((key) => beatTemplatesChecked[key]),\n shouldCloseDrawer,\n )\n }\n\n return (\n <Drawer\n ariaLabelClose={content.close}\n isOpen={isOpen}\n onClose={handleClose}\n shouldShowHeaderBorders={false}\n sx={{\n '& .MuiDrawer-paper': {\n backgroundColor: 'background.white',\n },\n }}\n title={translatedSubCatetgory.replace(/&amp;/g, '&')}\n >\n <Divider />\n <Box px={24} py={16}>\n <Text\n sx={{\n fontSize: theme.typography.Paragraph,\n maxWidth: 327,\n overflow: 'visible',\n whiteSpace: 'normal',\n }}\n >\n {content.select_insights_for_feed}\n </Text>\n </Box>\n <Divider />\n <Stack height=\"calc(100vh - 142px)\">\n <List\n subheader={\n <SubheaderRow>\n <Box\n boxSizing=\"border-box\"\n pt={8}\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n height: '100%',\n }}\n >\n <Text fontSize={11} fontWeight={700}>\n {content.insight_name}\n </Text>\n <Button\n onClick={toggleAllCheckboxes}\n size=\"small\"\n sx={{\n '&:hover': { backgroundColor: 'transparent' },\n color: theme.palette.primary.main,\n p: 0,\n height: 16,\n fontSize: 13,\n minWidth: 0,\n }}\n >\n {numCheckedBeats === disabledBeatTemplates.length\n ? content.unselect_all\n : content.select_all}\n </Button>\n </Box>\n </SubheaderRow>\n }\n sx={{ height: '100%' }}\n >\n {disabledBeatTemplates\n .sort((a, b) => (a.name < b.name ? -1 : 1))\n .map((beat, i) => (\n <Box key={i}>\n <ListItem disablePadding={true}>\n <ListItemButton\n onClick={() =>\n setBeatTemplatesChecked((prevCheckboxes) => ({\n ...prevCheckboxes,\n [beat.name]: !prevCheckboxes[beat.name],\n }))\n }\n >\n <ListItemText\n primary={beat.title}\n secondary={<React.Fragment>{beat.description}</React.Fragment>}\n />\n <Checkbox\n checked={\n beatTemplatesChecked[beat.name] ? beatTemplatesChecked[beat.name] : false\n }\n edge=\"end\"\n inputProps={{\n 'aria-label': beatTemplatesChecked[beat.name]\n ? `${content.unselect_insight.split(' ')[0]} ${\n beat.name\n } ${content.unselect_insight.split(' ')[1]}`\n : `${content.select_insight.split(' ')[0]} ${\n beat.name\n } ${content.select_insight.split(' ')[1]}`,\n role: 'checkbox',\n }}\n name={beat.name}\n onChange={handleCheckboxChange}\n size=\"small\"\n />\n </ListItemButton>\n </ListItem>\n <Divider sx={{ ml: i < disabledBeatTemplates.length - 1 ? 24 : 0 }} />\n </Box>\n ))}\n </List>\n {/* Todo remove border-box after pulse has CSSbaseline */}\n <Box\n boxSizing=\"border-box\"\n pb={32}\n pt={24}\n px={24}\n sx={{ display: 'flex', justifyContent: 'center' }}\n >\n {!isUpdateLoading && (\n <Toast\n handleClose={hideToast}\n message={toastState.message}\n open={toastState.isOpen}\n severity={toastState.severity}\n snackbarSx={{\n boxSizing: 'border-box',\n position: 'absolute',\n '&.MuiSnackbar-root': { bottom: '24px', left: 0, right: 0, justifySelf: 'center' },\n }}\n />\n )}\n <LoadingButton\n color=\"primary\"\n disabled={numCheckedBeats === 0}\n fullWidth={true}\n loading={isUpdateLoading}\n onClick={handleUnhideSelectedInisghts}\n variant=\"contained\"\n >\n {numCheckedBeats > 0\n ? `${content.show} ${numCheckedBeats} ${numCheckedBeats > 1 ? content.hidden_insights : content.hidden_insight}`\n : content.show_insights}\n </LoadingButton>\n </Box>\n </Stack>\n </Drawer>\n )\n}\n","import {\n DisabledBeatTemplate,\n CategoryMapping,\n SubcategoryMapping,\n BeatCategory,\n} from '../settings/hiddeninsights/types/index'\n\n// Create category and subcategory translation mappings\nconst createTranslationMappings = (beatTemplatesWithCategories: DisabledBeatTemplate[]) => {\n const categoryMapping: CategoryMapping = {\n spending: '',\n saving: '',\n borrowing: '',\n planning: '',\n }\n const subcategoryMapping: SubcategoryMapping = {\n take_action_now: '',\n bills_and_subscriptions: '',\n current_spending: '',\n savings_and_optimization: '',\n credit_and_debt_management: '',\n planning_and_goal_setting: '',\n inform_me: '',\n }\n\n beatTemplatesWithCategories.forEach((template) => {\n template.categories.forEach((category) => {\n const {\n category_key,\n category: categoryName,\n subcategory_key,\n subcategory: subcategoryName,\n } = category\n categoryMapping[category_key] = categoryName\n subcategoryMapping[subcategory_key] = subcategoryName\n })\n })\n\n return [categoryMapping, subcategoryMapping]\n}\n\n// Organize beats into the sorted structure\nconst organizeBeatsForUIStructure = (beatTemplatesWithCategories: DisabledBeatTemplate[]) => {\n // Initialize the sorted beats structure based on UI requirements --\n // both categories and subcategoires are in a specifically required order\n const beatCategoryStructure: BeatCategory[] = [\n {\n key: 'spending',\n subcategories: [\n { key: 'take_action_now', beats: [] },\n { key: 'bills_and_subscriptions', beats: [] },\n { key: 'current_spending', beats: [] },\n ],\n },\n {\n key: 'saving',\n subcategories: [{ key: 'savings_and_optimization', beats: [] }],\n },\n {\n key: 'borrowing',\n subcategories: [{ key: 'credit_and_debt_management', beats: [] }],\n },\n {\n key: 'planning',\n subcategories: [\n { key: 'planning_and_goal_setting', beats: [] },\n { key: 'inform_me', beats: [] },\n ],\n },\n ]\n\n beatTemplatesWithCategories.forEach((template) => {\n template.categories.forEach((category) => {\n const { category_key, subcategory_key } = category\n const sortedCategory = beatCategoryStructure.find((cat) => cat.key === category_key)\n if (sortedCategory) {\n const sortedSubcategory = sortedCategory.subcategories.find(\n (subcat) => subcat.key === subcategory_key,\n )\n if (sortedSubcategory) {\n sortedSubcategory.beats.push(template)\n }\n }\n })\n })\n\n return beatCategoryStructure\n}\n\nexport const organizeBeats = (beatTemplatesWithCategories: DisabledBeatTemplate[]) => {\n // Map the category keys to their translated names\n const [translatedCats, translatedSubCats] = createTranslationMappings(beatTemplatesWithCategories)\n\n // Map the beats to the corresponding category/subcategory by key\n const categorizedBeats = organizeBeatsForUIStructure(beatTemplatesWithCategories)\n const beatsAndCategories: [BeatCategory[], CategoryMapping, SubcategoryMapping] = [\n categorizedBeats,\n translatedCats,\n translatedSubCats,\n ]\n\n return beatsAndCategories\n}\n","import React, { useEffect } from 'react'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\nimport LoadingButton from '@mui/lab/LoadingButton'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport VisibilityOffOutlinedIcon from '@mui/icons-material/VisibilityOffOutlined'\n\nimport { Icon } from '@kyper/mui'\n\nimport Drawer from '../../../../common/components/drawer/Drawer'\nimport Toast from '../../components/Toast'\nimport PulseSubheaderRow from '../../components/PulseSubheaderRow'\nimport { usePrevious } from '../../../../common/hooks/usePrevious'\nimport { CategoryEmptyState } from './CategoryEmptyState'\nimport { SubCategoryDrawer } from './SubCategoryDrawer'\nimport SettingsItem from '../../components/SettingsItem'\n\nimport { organizeBeats } from '../../../utils/beatTemplateCategories'\n\nimport {\n CategoryMapping,\n BeatCategory,\n SubcategoryMapping,\n SettingsMenuContent,\n DisabledBeatTemplatesStore,\n} from '../types'\nimport { useToast } from '../../../contexts/ToastContext'\n\ninterface Props {\n content: SettingsMenuContent\n disabledBeatTemplatesStore: DisabledBeatTemplatesStore\n}\n\nexport const HiddenInsightsDrawer: React.FC<Props> = ({ content, disabledBeatTemplatesStore }) => {\n const {\n items: disabledBeatTemplates,\n update: handleEnableBeatTemplates,\n isUpdateError,\n isUpdateLoading,\n } = disabledBeatTemplatesStore\n\n const [sortedBeats, translatedCategories, translatedSubcategories]: [\n BeatCategory[],\n CategoryMapping,\n SubcategoryMapping,\n ] = organizeBeats(disabledBeatTemplates)\n\n const { toastState, showToast, hideToast, setMessage } = useToast()\n const [isSubCatDrawerOpen, setIsSubCatDrawerOpen] = React.useState(false)\n const [isSubCategoryDrawerOpen, setIsSubCategoryDrawerOpen] = React.useState(false)\n const [selectedCategory, setSelectedCategory] = React.useState<string>('')\n const [selectedSubCategory, setSelectedSubCategory] = React.useState<string>('')\n const prevUpdateLoading = usePrevious(isUpdateLoading)\n\n useEffect(() => {\n //check if an update request was made\n //otherwise if drawer opens with old api request state it will fire a toast\n if (prevUpdateLoading && !isUpdateLoading) {\n if (isUpdateError) {\n showToast(content.something_went_wrong, 'error')\n } else {\n showToast(undefined, 'success')\n }\n }\n }, [prevUpdateLoading, isUpdateError])\n\n const handleUnhideAllInsights = () => {\n setMessage(\n disabledBeatTemplates.length > 1 ? content.insights_unhidden : content.insight_unhidden,\n )\n handleEnableBeatTemplates(disabledBeatTemplates.map((beat) => beat.name))\n }\n\n const handleOpenSubcategoryDrawer = (category: string, subcategory: string) => {\n setIsSubCategoryDrawerOpen(true)\n setSelectedCategory(category)\n setSelectedSubCategory(subcategory)\n }\n\n const handleCloseSubCategoryDrawer = () => {\n setIsSubCategoryDrawerOpen(false)\n setSelectedSubCategory('')\n setSelectedCategory('')\n }\n\n const handleEnableBeatTemplatesFromSubcategory = (\n templateNames: string[],\n shouldCloseDrawer: boolean,\n ) => {\n handleEnableBeatTemplates(templateNames)\n\n if (shouldCloseDrawer) {\n setIsSubCategoryDrawerOpen(false)\n }\n\n setMessage(templateNames.length > 1 ? content.insights_unhidden : content.insight_unhidden)\n }\n\n return (\n <>\n <SettingsItem\n Icon={VisibilityOffOutlinedIcon}\n itemCount={disabledBeatTemplates.length}\n label={content.manage_hidden_insights}\n onClick={() => setIsSubCatDrawerOpen(true)}\n />\n <Drawer\n ariaLabelClose={content.close}\n isOpen={isSubCatDrawerOpen}\n onClose={() => setIsSubCatDrawerOpen(false)}\n shouldShowHeaderBorders={false}\n sx={{\n '& .MuiDrawer-paper': {\n backgroundColor: 'background.white',\n },\n }}\n title={content.manage_hidden_insights}\n >\n <Divider />\n <Stack height=\"calc(100vh - 61px)\">\n {disabledBeatTemplates.length > 0 ? (\n <List sx={{ height: '100%' }}>\n {sortedBeats.map(\n (category) =>\n translatedCategories[category.key] !== '' && (\n <List\n key={category.key}\n subheader={\n <PulseSubheaderRow>{translatedCategories[category.key]}</PulseSubheaderRow>\n }\n >\n {category.subcategories.map(\n (subcategory, i) =>\n subcategory.beats.length > 0 && (\n <Box key={subcategory.key}>\n <ListItem disablePadding={true}>\n <ListItemButton\n onClick={() =>\n handleOpenSubcategoryDrawer(category.key, subcategory.key)\n }\n >\n <ListItemText\n primary={translatedSubcategories[subcategory.key].replace(\n /&amp;/g,\n '&',\n )}\n secondary={\n <React.Fragment>\n {subcategory.beats.length}{' '}\n {subcategory.beats.length > 1\n ? content.insights_hidden\n : content.insight_hidden}\n </React.Fragment>\n }\n />\n <Icon name=\"chevron_right\" size={24} />\n </ListItemButton>\n </ListItem>\n <Divider\n sx={{ ml: i < category.subcategories.length - 1 ? 24 : 0 }}\n />\n </Box>\n ),\n )}\n </List>\n ),\n )}\n </List>\n ) : (\n <CategoryEmptyState content={content} />\n )}\n {/* Todo remove border-box after pulse has CSSbaseline */}\n <Box boxSizing=\"border-box\" pb={32} pt={24} px={24}>\n {disabledBeatTemplates.length > 0 && (\n <LoadingButton\n color=\"primary\"\n fullWidth={true}\n loading={isUpdateLoading}\n onClick={handleUnhideAllInsights}\n variant=\"contained\"\n >\n {content.show_all_hidden_insights}\n </LoadingButton>\n )}\n <Toast\n handleClose={hideToast}\n message={toastState.message}\n open={toastState.isOpen}\n severity={toastState.severity}\n snackbarSx={{\n boxSizing: 'border-box',\n position: 'absolute',\n '&.MuiSnackbar-root': { bottom: '24px', left: 0, right: 0, justifySelf: 'center' },\n }}\n />\n </Box>\n </Stack>\n <SubCategoryDrawer\n content={content}\n disabledBeatTemplates={\n selectedSubCategory !== ''\n ? sortedBeats\n .filter((category) => category.key === selectedCategory)[0]\n .subcategories.filter((subcategory) => subcategory.key === selectedSubCategory)[0]\n .beats\n : []\n }\n handleEnableBeatTemplates={handleEnableBeatTemplatesFromSubcategory}\n isOpen={isSubCategoryDrawerOpen}\n isUpdateLoading={isUpdateLoading}\n onClose={handleCloseSubCategoryDrawer}\n translatedSubCatetgory={translatedSubcategories[selectedSubCategory]}\n />\n </Drawer>\n </>\n )\n}\n","import React from 'react'\n\nimport { ToastProvider } from '../../../contexts/ToastContext'\nimport { HiddenInsightsDrawer } from './HiddenInsightsDrawer'\nimport { SettingsMenuContent, DisabledBeatTemplatesStore } from '../types'\n\ninterface Props {\n content: SettingsMenuContent\n disabledBeatTemplatesStore: DisabledBeatTemplatesStore\n}\n\nexport const HiddenInsightsDrawerWrapper: React.FC<Props> = ({\n content,\n disabledBeatTemplatesStore,\n}) => {\n return (\n <ToastProvider>\n <HiddenInsightsDrawer\n content={content}\n disabledBeatTemplatesStore={disabledBeatTemplatesStore}\n />\n </ToastProvider>\n )\n}\n","import React from 'react'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport { Drawer } from '../../common/components'\n\nimport type { SettingsMenuContent } from './hiddeninsights/types'\n\n//TODO get content from content store instead of as a prop from pulse\ninterface Props {\n children?: React.ReactNode\n content: SettingsMenuContent\n isOpen: boolean\n onClose: () => void\n}\n\nconst SettingsDrawer: React.FC<Props> = ({\n children,\n content,\n isOpen = false,\n onClose = () => {},\n}) => {\n return (\n <Drawer\n ariaLabelClose={content.close}\n isOpen={isOpen}\n onClose={onClose}\n shouldShowHeaderBorders={false}\n title={content.settings}\n >\n <List>\n <Divider />\n {children}\n </List>\n </Drawer>\n )\n}\n\nexport default SettingsDrawer\n"],"names":["SubheaderRow","bgcolor","children","jsx","Box","Text","AccountGroup","accounts","content","toggleAccount","title","isDialogOpen","setIsDialogOpen","React","accountUpdateData","setAccountUpdateData","prepareToToggleAccount","account","handleToggleAccount","handleCloseDialog","PulseSubheaderRow","i","ListItem","jsxs","ListItemButton","ListItemAvatar","InstitutionLogo","ListItemText","Switch","Divider","Dialog","SettingsItem","Icon","label","onClick","itemCount","theme","useTheme","Fragment","ChevronRightOutlinedIcon","ManageAccountsDrawer","manageAccountsStore","groupedAccounts","isAccountsControlDrawerOpen","setIsAccountsControlDrawerOpen","AccountBalanceOutlinedIcon","Drawer","List","accountType","ToastContext","createContext","ToastProvider","toastState","setToastState","useState","showToast","msg","severityType","hideToast","setMessage","prevState","useToast","context","useContext","GrowTransition","props","Grow","Toast","open","handleClose","message","autoHideDuration","severity","icon","CheckCircleRounded","snackbarSx","Snackbar","Alert","noInsightsImageUrl","CategoryEmptyState","SubCategoryDrawer","disabledBeatTemplates","handleEnableBeatTemplates","isOpen","isUpdateLoading","onClose","translatedSubCatetgory","initialCheckboxState","acc","beat","beatTemplatesChecked","setBeatTemplatesChecked","prevUpdateLoading","usePrevious","useEffect","handleCheckboxChange","e","name","checked","prev","numCheckedBeats","toggleAllCheckboxes","newCheckboxesState","handleUnhideSelectedInisghts","shouldCloseDrawer","key","Stack","Button","b","prevCheckboxes","Checkbox","LoadingButton","createTranslationMappings","beatTemplatesWithCategories","categoryMapping","subcategoryMapping","template","category","category_key","categoryName","subcategory_key","subcategoryName","organizeBeatsForUIStructure","beatCategoryStructure","sortedCategory","cat","sortedSubcategory","subcat","organizeBeats","translatedCats","translatedSubCats","HiddenInsightsDrawer","disabledBeatTemplatesStore","isUpdateError","sortedBeats","translatedCategories","translatedSubcategories","isSubCatDrawerOpen","setIsSubCatDrawerOpen","isSubCategoryDrawerOpen","setIsSubCategoryDrawerOpen","selectedCategory","setSelectedCategory","selectedSubCategory","setSelectedSubCategory","handleUnhideAllInsights","handleOpenSubcategoryDrawer","subcategory","handleCloseSubCategoryDrawer","handleEnableBeatTemplatesFromSubcategory","templateNames","VisibilityOffOutlinedIcon","HiddenInsightsDrawerWrapper","SettingsDrawer"],"mappings":"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"}