@mx-cartographer/experiences 9.1.3 → 9.1.4-alpha.al0

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 (128) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/dist/{AccountDetailsDrawer-Cq4kiiKD.mjs → AccountDetailsDrawer-Dae8eUXt.mjs} +10 -10
  3. package/dist/{AccountDetailsDrawer-Cq4kiiKD.mjs.map → AccountDetailsDrawer-Dae8eUXt.mjs.map} +1 -1
  4. package/dist/{AccountDetailsHeader-BliEZhz7.mjs → AccountDetailsHeader-D_UjMD99.mjs} +4 -4
  5. package/dist/{AccountDetailsHeader-BliEZhz7.mjs.map → AccountDetailsHeader-D_UjMD99.mjs.map} +1 -1
  6. package/dist/{Analytics-CkYXKvco.mjs → Analytics-BJDUP2qI.mjs} +2 -2
  7. package/dist/{Analytics-CkYXKvco.mjs.map → Analytics-BJDUP2qI.mjs.map} +1 -1
  8. package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs → CategorySelectorDrawer-k8AZYC8I.mjs} +2 -2
  9. package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs.map → CategorySelectorDrawer-k8AZYC8I.mjs.map} +1 -1
  10. package/dist/{Connect-BH0Pt6zc.mjs → Connect-tID_S_5e.mjs} +2 -2
  11. package/dist/{Connect-BH0Pt6zc.mjs.map → Connect-tID_S_5e.mjs.map} +1 -1
  12. package/dist/{ConnectCard-D7uxoH5Y.mjs → ConnectCard-DcM6tUOX.mjs} +2 -2
  13. package/dist/{ConnectCard-D7uxoH5Y.mjs.map → ConnectCard-DcM6tUOX.mjs.map} +1 -1
  14. package/dist/{ConnectDrawer-CW4LA3H3.mjs → ConnectDrawer-BQy4YYuc.mjs} +3 -3
  15. package/dist/{ConnectDrawer-CW4LA3H3.mjs.map → ConnectDrawer-BQy4YYuc.mjs.map} +1 -1
  16. package/dist/{ConnectionsDrawer-CZU9ku-k.mjs → ConnectionsDrawer-C73ASLMj.mjs} +3 -3
  17. package/dist/{ConnectionsDrawer-CZU9ku-k.mjs.map → ConnectionsDrawer-C73ASLMj.mjs.map} +1 -1
  18. package/dist/{CurrencyInput-DaGEQaLW.mjs → CurrencyInput-CABYmqBh.mjs} +2 -2
  19. package/dist/{CurrencyInput-DaGEQaLW.mjs.map → CurrencyInput-CABYmqBh.mjs.map} +1 -1
  20. package/dist/{EmbeddedCard-DCOQnTz-.mjs → EmbeddedCard-BwfkCsUN.mjs} +3 -3
  21. package/dist/{EmbeddedCard-DCOQnTz-.mjs.map → EmbeddedCard-BwfkCsUN.mjs.map} +1 -1
  22. package/dist/{Error-Dtw6yxkf.mjs → Error-BFJ3BnfS.mjs} +2 -2
  23. package/dist/{Error-Dtw6yxkf.mjs.map → Error-BFJ3BnfS.mjs.map} +1 -1
  24. package/dist/ErrorBoundary-C7BlHx04.mjs +27 -0
  25. package/dist/ErrorBoundary-C7BlHx04.mjs.map +1 -0
  26. package/dist/{ExportCsvAction-C-IisDcv.mjs → ExportCsvAction-B1257a3M.mjs} +3 -3
  27. package/dist/{ExportCsvAction-C-IisDcv.mjs.map → ExportCsvAction-B1257a3M.mjs.map} +1 -1
  28. package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs → GlobalAccountFilter-DEEc3Bc5.mjs} +2 -2
  29. package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs.map → GlobalAccountFilter-DEEc3Bc5.mjs.map} +1 -1
  30. package/dist/GlobalCopyApi-Tz10hezK.mjs +130 -0
  31. package/dist/GlobalCopyApi-Tz10hezK.mjs.map +1 -0
  32. package/dist/{Help-zVZdcmlk.mjs → Help-BAj_yo3q.mjs} +145 -145
  33. package/dist/Help-BAj_yo3q.mjs.map +1 -0
  34. package/dist/{LineChart-CUfiH86G.mjs → LineChart-BxEIZHht.mjs} +2 -2
  35. package/dist/{LineChart-CUfiH86G.mjs.map → LineChart-BxEIZHht.mjs.map} +1 -1
  36. package/dist/{ListItemAction-BqUCLj_w.mjs → ListItemAction-GDU5z4BN.mjs} +2 -2
  37. package/dist/{ListItemAction-BqUCLj_w.mjs.map → ListItemAction-GDU5z4BN.mjs.map} +1 -1
  38. package/dist/{ListItemWrapper-DRse79Iu.mjs → ListItemWrapper-D6b-6m4t.mjs} +2 -2
  39. package/dist/{ListItemWrapper-DRse79Iu.mjs.map → ListItemWrapper-D6b-6m4t.mjs.map} +1 -1
  40. package/dist/{ManageIncome-B_8i71mE.mjs → ManageIncome-BJWVPAly.mjs} +32 -32
  41. package/dist/{ManageIncome-B_8i71mE.mjs.map → ManageIncome-BJWVPAly.mjs.map} +1 -1
  42. package/dist/{MicroWidgetContainer-B2NnKBgW.mjs → MicroWidgetContainer-IUZQlml1.mjs} +2 -2
  43. package/dist/{MicroWidgetContainer-B2NnKBgW.mjs.map → MicroWidgetContainer-IUZQlml1.mjs.map} +1 -1
  44. package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs → MiniWidgetContainer-CIswJui8.mjs} +2 -2
  45. package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs.map → MiniWidgetContainer-CIswJui8.mjs.map} +1 -1
  46. package/dist/{NotificationSettings-CW7okUrk.mjs → NotificationSettings-DltXMrnb.mjs} +33 -33
  47. package/dist/{NotificationSettings-CW7okUrk.mjs.map → NotificationSettings-DltXMrnb.mjs.map} +1 -1
  48. package/dist/{OriginalBalanceAction-YrvxBYAl.mjs → OriginalBalanceAction-KuJSsZCA.mjs} +4 -4
  49. package/dist/{OriginalBalanceAction-YrvxBYAl.mjs.map → OriginalBalanceAction-KuJSsZCA.mjs.map} +1 -1
  50. package/dist/{RecurringSettings-hs0YUp83.mjs → RecurringSettings-D2Aaqz7d.mjs} +3 -3
  51. package/dist/{RecurringSettings-hs0YUp83.mjs.map → RecurringSettings-D2Aaqz7d.mjs.map} +1 -1
  52. package/dist/{SpendingLegend-CxvNOg3c.mjs → SpendingLegend-C_dMdqbe.mjs} +2 -2
  53. package/dist/{SpendingLegend-CxvNOg3c.mjs.map → SpendingLegend-C_dMdqbe.mjs.map} +1 -1
  54. package/dist/{TransactionDetails-DT-MQqOB.mjs → TransactionDetails-CDZNsKv7.mjs} +5 -5
  55. package/dist/{TransactionDetails-DT-MQqOB.mjs.map → TransactionDetails-CDZNsKv7.mjs.map} +1 -1
  56. package/dist/{UserStore-E5WvBXaY.mjs → UserStore-DzGgxsKk.mjs} +302 -317
  57. package/dist/UserStore-DzGgxsKk.mjs.map +1 -0
  58. package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs → ViewMoreMicroCard-DXaJ-56q.mjs} +4 -4
  59. package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs.map → ViewMoreMicroCard-DXaJ-56q.mjs.map} +1 -1
  60. package/dist/{WidgetContainer-CjdCY4sj.mjs → WidgetContainer-5O6N88mr.mjs} +3 -3
  61. package/dist/{WidgetContainer-CjdCY4sj.mjs.map → WidgetContainer-5O6N88mr.mjs.map} +1 -1
  62. package/dist/accounts/index.es.js +11 -11
  63. package/dist/analytics/index.es.js +2 -2
  64. package/dist/budgets/index.es.js +10 -10
  65. package/dist/cashflow/index.es.js +70 -70
  66. package/dist/categories/index.es.js +1 -1
  67. package/dist/common/components/ErrorBoundary.d.ts +2 -0
  68. package/dist/common/context/GlobalDataProvider.d.ts +2 -1
  69. package/dist/common/context/hooks.d.ts +3 -0
  70. package/dist/common/context/index.d.ts +1 -1
  71. package/dist/common/index.es.js +66 -65
  72. package/dist/core/api/AccountApi.d.ts +2 -2
  73. package/dist/core/api/AnalyticsApi.d.ts +2 -2
  74. package/dist/core/api/AppDataApi.d.ts +2 -2
  75. package/dist/core/api/BeatApi.d.ts +2 -2
  76. package/dist/core/api/BudgetsApi.d.ts +2 -2
  77. package/dist/core/api/CategoryApi.d.ts +2 -2
  78. package/dist/core/api/FinstrongApi.d.ts +2 -2
  79. package/dist/core/api/GlobalCopyApi.d.ts +2 -2
  80. package/dist/core/api/GoalApi.d.ts +2 -2
  81. package/dist/core/api/HelpApi.d.ts +2 -2
  82. package/dist/core/api/HoldingApi.d.ts +2 -2
  83. package/dist/core/api/MerchantApi.d.ts +2 -2
  84. package/dist/core/api/NotificationApi.d.ts +2 -2
  85. package/dist/core/api/RepeatingTransactionsApi.d.ts +2 -2
  86. package/dist/core/api/ScheduledPaymentsApi.d.ts +2 -2
  87. package/dist/core/api/SettingsApi.d.ts +2 -2
  88. package/dist/core/api/TransactionApi.d.ts +2 -2
  89. package/dist/core/api/UserApi.d.ts +2 -2
  90. package/dist/core/index.es.js +95 -95
  91. package/dist/core/index.es.js.map +1 -1
  92. package/dist/core/stores/GlobalStore.d.ts +4 -2
  93. package/dist/core/types/Handlers.d.ts +1 -0
  94. package/dist/core/types/index.d.ts +1 -1
  95. package/dist/core/utils/Fetch.d.ts +3 -2
  96. package/dist/dashboard/index.es.js +4 -4
  97. package/dist/debts/index.es.js +8 -8
  98. package/dist/finstrong/index.es.js +12 -12
  99. package/dist/goals/index.es.js +9 -9
  100. package/dist/help/index.es.js +4 -4
  101. package/dist/hooks-DWOrMnfZ.mjs +83 -0
  102. package/dist/hooks-DWOrMnfZ.mjs.map +1 -0
  103. package/dist/insights/index.es.js +4 -4
  104. package/dist/investments/index.es.js +4 -4
  105. package/dist/merchants/index.es.js +1 -1
  106. package/dist/microinsights/index.es.js +1 -1
  107. package/dist/networth/index.es.js +6 -6
  108. package/dist/notifications/index.es.js +8 -8
  109. package/dist/recurringtransactions/index.es.js +38 -38
  110. package/dist/settings/index.es.js +27 -27
  111. package/dist/spending/index.es.js +7 -7
  112. package/dist/transactions/index.es.js +11 -11
  113. package/dist/trends/index.es.js +12 -12
  114. package/dist/{useAccountDisplayName-BsiXA0qf.mjs → useAccountDisplayName-DHXXCFYZ.mjs} +2 -2
  115. package/dist/{useAccountDisplayName-BsiXA0qf.mjs.map → useAccountDisplayName-DHXXCFYZ.mjs.map} +1 -1
  116. package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs → useInsightsEnabled-B_UpjpE6.mjs} +2 -2
  117. package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs.map → useInsightsEnabled-B_UpjpE6.mjs.map} +1 -1
  118. package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs → useWidgetLoadTimer-C0Mr0eRf.mjs} +2 -2
  119. package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs.map → useWidgetLoadTimer-C0Mr0eRf.mjs.map} +1 -1
  120. package/package.json +1 -1
  121. package/dist/ErrorBoundary-CsdOcnJ9.mjs +0 -24
  122. package/dist/ErrorBoundary-CsdOcnJ9.mjs.map +0 -1
  123. package/dist/GlobalCopyApi-wcnDUzMV.mjs +0 -129
  124. package/dist/GlobalCopyApi-wcnDUzMV.mjs.map +0 -1
  125. package/dist/Help-zVZdcmlk.mjs.map +0 -1
  126. package/dist/UserStore-E5WvBXaY.mjs.map +0 -1
  127. package/dist/hooks-97sNJ_lf.mjs +0 -78
  128. package/dist/hooks-97sNJ_lf.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AccountDetailsHeader-BliEZhz7.mjs","sources":["../src/accounts/hooks/useUiStore.ts","../src/accounts/utils/AccountFields.tsx","../src/accounts/utils/AccountDetails.ts","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { GlobalDataContext, useAccountStore } from '../../common'\n\nexport const useAccountUiStore = () => {\n const context = React.useContext(GlobalDataContext)\n\n if (!context) {\n throw new Error('useCategoryUiStore() must be used within the GlobalDataContext')\n }\n\n return useAccountStore().uiStore\n}\n","import { Icon, Text } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { AccountIcon, AccountType, PropertyType } from '../../core'\nimport type { Account, AccountsCopy } from '../../core'\n\nimport { PropertyIcon } from '../../core/types/Account'\nimport {\n getAccountStartingBalance,\n isAccountLiability,\n isManual,\n usesCreditLimitField,\n usesInterestRateField,\n usesOriginalBalanceField,\n} from '../../core/utils/AccountUtils'\nimport { FieldType } from '../constants/Accounts'\nimport { fromUnixUTC } from '../../core/utils/DateUtil'\nimport {\n formatCurrency,\n formatOrdinal,\n formatPercentage,\n isValidNumber,\n} from '../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ntype SelectOption = {\n label: string\n value: number\n icon: React.ReactElement\n}\n\nexport type AccountField = {\n event?: string\n label: string\n minAmount?: number\n options?: SelectOption[]\n name: keyof Account\n placeholder?: string\n type?: string\n validation?: (val: any) => string\n valueFormatter: (val: any) => any\n}\n\nexport const getAccountDetailFields = (account: Account, copy: AccountsCopy) => {\n const fields: AccountField[] = [\n {\n event: 'account_details_click_account_name',\n label: copy.account_name,\n name: 'user_name',\n placeholder: buildDynamicCopy(copy.enter_value, copy.account_name) as string,\n type: FieldType.Input,\n validation: (val: string) =>\n val ? '' : (buildDynamicCopy(copy.field_is_required, copy.account_name) as string),\n valueFormatter: (val) => val,\n },\n ]\n\n if (isManual(account)) {\n fields.unshift({\n label: copy.account_balance,\n name: 'balance',\n placeholder: buildDynamicCopy(copy.enter_value, copy.account_balance) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n\n const accountTypeOptions = Object.keys(AccountType)\n .filter((key) => Number(key))\n .map((value) => ({\n label: copy.account_types[value],\n value: Number(value),\n icon: <Icon name={AccountIcon[value]} />,\n }))\n\n fields.push({\n label: copy.account_type,\n name: 'account_type',\n options: accountTypeOptions,\n placeholder: buildDynamicCopy(copy.select_value, copy.account_type) as string,\n type: FieldType.Select,\n valueFormatter: (val) => accountTypeOptions.find((option) => option.value === val)?.label,\n })\n }\n\n if (account.account_type === AccountType.PROPERTY) {\n const propertyTypeOptions = Object.keys(PropertyType)\n .filter((key) => Number(key))\n .map((value) => ({\n label: copy.property_types[value],\n value: Number(value),\n icon: <Icon name={PropertyIcon[value]} />,\n }))\n\n fields.push({\n label: copy.property_type,\n name: 'property_type',\n options: propertyTypeOptions,\n placeholder: buildDynamicCopy(copy.select_value, copy.property_type) as string,\n type: FieldType.Select,\n valueFormatter: (val) => propertyTypeOptions.find((option) => option.value === val)?.label,\n })\n }\n\n if (usesInterestRateField(account)) {\n let label = copy.interest_rate\n let fieldName = 'interest_rate' as keyof Account\n\n if (!account.is_manual) {\n if (typeof account.apr === 'number') {\n label = copy.apr\n fieldName = 'apr'\n }\n if (typeof account.apy === 'number') {\n label = copy.apy\n fieldName = 'apy'\n }\n }\n\n fields.push({\n event: 'account_details_click_interest_rate',\n label,\n name: fieldName,\n placeholder: buildDynamicCopy(copy.enter_value, label) as string,\n type: FieldType.Input,\n validation: (val) => (!isValidNumber(val) ? copy.error_amount_is_invalid : ''),\n valueFormatter: (val) => (isValidNumber(val) ? formatPercentage(val / 100) : val),\n })\n }\n\n if (isAccountLiability(account)) {\n fields.push({\n label: copy.minimum_payment,\n name: 'minimum_payment',\n placeholder: buildDynamicCopy(copy.enter_value, copy.minimum_payment) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n\n if (account.payment_due_at) {\n fields.push({\n label: copy.next_payment,\n name: 'payment_due_at',\n type: FieldType.Date,\n valueFormatter: (val) => {\n // accounts for Unix and DateTime values\n const dateTimeStamp = typeof val === 'number' ? fromUnixUTC(val) : val\n return formatDate(dateTimeStamp, DATE_FORMATS_INTL.MED_MONTH_SHORT_DAY_FULL_YEAR)\n },\n })\n } else {\n fields.push({\n label: copy.day_payment_due,\n name: 'day_payment_is_due',\n placeholder: buildDynamicCopy(copy.enter_value, copy.day_payment_due) as string,\n type: FieldType.Date,\n valueFormatter: (val) =>\n buildDynamicCopy(\n copy.day_of_every_month,\n formatOrdinal(val <= 31 ? val : new Date(val).getDate()),\n ) as string,\n })\n }\n }\n\n if (usesCreditLimitField(account)) {\n fields.push({\n label: copy.credit_limit,\n name: 'credit_limit',\n placeholder: buildDynamicCopy(copy.enter_value, copy.credit_limit) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n }\n\n if (usesOriginalBalanceField(account)) {\n fields.push({\n label: copy.original_balance,\n minAmount: 1,\n name: 'original_balance',\n placeholder: buildDynamicCopy(copy.enter_value, copy.original_balance) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n }\n\n return fields\n}\nexport const getAccountBalanceDetails = (\n account: Account,\n copy: AccountsCopy,\n showAvailableBalance: boolean,\n) => {\n let firstSubtitle = ''\n let firstValue = null\n let secondSubtitle = null\n let secondValue = null\n let hasAvailableBalance = false\n\n switch (account.account_type) {\n // checking or savings\n case 1:\n case 2: {\n // some savings accounts only have balance, and not available_balance\n if (account.available_balance != null && showAvailableBalance) {\n firstSubtitle = copy.available_balance\n firstValue = getAccountStartingBalance(account, showAvailableBalance)\n secondSubtitle = copy.current_balance\n secondValue = formatCurrency(account.balance, '0,0.00')\n hasAvailableBalance = true\n } else {\n firstSubtitle = copy.current_balance\n firstValue = getAccountStartingBalance(account, showAvailableBalance)\n }\n break\n }\n default: {\n firstSubtitle = copy.current_balance\n firstValue = account.balance\n if (account.minimum_payment && account.payment_due_at) {\n const dateTimeStamp = fromUnixUTC(account.payment_due_at)\n secondSubtitle = (\n <Text component=\"strong\" variant=\"caption\">\n {\n buildDynamicCopy(\n copy.payment_due_on,\n formatCurrency(account.minimum_payment, '0,0.00'),\n formatDate(dateTimeStamp, DATE_FORMATS_INTL.FULL_MONTH_DAY),\n ) as string\n }\n </Text>\n )\n } else if (account.credit_limit) {\n secondSubtitle = copy.available_credit\n secondValue = formatCurrency(account.credit_limit - (account?.balance ?? 0), '0,0.00')\n }\n }\n }\n\n return {\n firstSubtitle,\n firstValue,\n secondSubtitle,\n secondValue,\n hasAvailableBalance,\n }\n}\n\nexport const getClosedAccountBalanceTotal = (\n accounts: Account[],\n copy: AccountsCopy,\n showAvailableBalance: boolean,\n) => {\n const total = accounts.reduce((sum, account) => {\n const details = getAccountBalanceDetails(account, copy, showAvailableBalance)\n const firstValue = details.firstValue || 0\n return sum + firstValue\n }, 0)\n\n return total\n}\n","import { AccountType, type AccountsCopy } from '../../core'\n\nexport const getChartLabels = (\n accountType: AccountType,\n copy: AccountsCopy,\n): { title: string; description: string } => {\n const hasPayments = [AccountType.LOAN, AccountType.MORTGAGE, AccountType.PROPERTY].includes(\n accountType,\n )\n\n const hasPaymentsAndSpend = [\n AccountType.CREDIT_CARD,\n AccountType.LINE_OF_CREDIT,\n AccountType.PREPAID,\n AccountType.CHECKING_LINE_OF_CREDIT,\n ].includes(accountType)\n\n if (hasPayments) return { title: copy.label_payments, description: copy.chart_title_payments }\n if (hasPaymentsAndSpend)\n return { title: copy.label_payments_spend, description: copy.chart_title_payments_spend }\n return { title: copy.label_income_spend, description: copy.chart_title_income_spend }\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport CardContent from '@mui/material/CardContent'\nimport CardHeader from '@mui/material/CardHeader'\n\nimport { H3 } from '@mxenabled/mxui'\n\nimport { Loader, useCategoryStore, useGlobalStore } from '../../../../common'\nimport { MiniWidgetProps } from '../../../../core'\n\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\n\ninterface AccountDetailsChartProps extends MiniWidgetProps {\n ChartComponent?: React.ComponentType\n header?: string\n}\n\nconst AccountDetailsChart: React.FC<AccountDetailsChartProps> = ({\n sx,\n ChartComponent,\n header,\n}) => {\n const { loadMonthlyCategoryTotals } = useCategoryStore()\n const { isInitialized } = useGlobalStore()\n const { selectedAccount } = useAccountUiStore()\n\n const [isWidgetInitialized, setIsWidgetInitialized] = React.useState(false)\n\n React.useEffect(() => {\n if (isInitialized) {\n loadMonthlyCategoryTotals([selectedAccount]).finally(() => {\n setIsWidgetInitialized(true)\n })\n }\n }, [isInitialized, selectedAccount])\n\n if (!isInitialized || !isWidgetInitialized) {\n return <Loader />\n }\n\n return (\n <Card\n sx={{\n '& .MuiCardContent-root:last-child': {\n pb: 0,\n },\n ...sx,\n }}\n >\n <CardHeader sx={{ pb: 0 }} title={<H3 sx={{ pb: 4 }}>{header}</H3>} />\n\n <CardContent sx={{ p: 0 }}>{ChartComponent ? <ChartComponent /> : null}</CardContent>\n </Card>\n )\n}\n\nexport default observer(AccountDetailsChart)\n","import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H2, InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport {\n useAccountStore,\n INCOME_ACCOUNT_TYPES,\n PAYMENT_ACCOUNT_TYPES,\n SPENDING_ACCOUNT_TYPES,\n useAccountDisplayName,\n useGlobalCopyStore,\n useAppConfig,\n} from '../../../../common'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\nimport { getAccountBalanceDetails } from '../../../utils/AccountFields'\nimport { getChartLabels } from '../../../utils/AccountDetails'\n\nimport AccountDetailsChart from './AccountDetailsChart'\nimport { formatCurrency } from '../../../../core/utils/NumberFormatting'\n\ninterface AccountDetailsHeaderProps {\n ChartComponent?: React.ComponentType\n customDetailsChart?: React.ReactElement\n}\n\nconst AccountDetailsHeader = ({\n customDetailsChart,\n ChartComponent,\n}: AccountDetailsHeaderProps) => {\n const { institutions } = useAccountStore()\n const { selectedAccount: account } = useAccountUiStore()\n const { config } = useAppConfig()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n const { firstSubtitle, firstValue, hasAvailableBalance, secondSubtitle, secondValue } =\n getAccountBalanceDetails(account, accountsCopy, config.display_available_balance_in_accounts)\n\n const institution = institutions.find(\n (institution) => institution.guid === account?.institution_guid,\n )\n\n const showChart = [\n ...INCOME_ACCOUNT_TYPES,\n ...PAYMENT_ACCOUNT_TYPES,\n ...SPENDING_ACCOUNT_TYPES,\n ].includes(account.account_type)\n\n const displayName = useAccountDisplayName(account)\n\n const { title, description } = getChartLabels(account.account_type, accountsCopy)\n\n return (\n <Stack bgcolor=\"background.default\" p={24}>\n <Stack gap={12}>\n <InstitutionLogo\n alt={accountsCopy.institution_logo_alt}\n institutionGuid={account.institution_guid || ''}\n size={64}\n />\n <Text variant=\"body2\">{institution?.name}</Text>\n </Stack>\n <Stack gap={8} mb={24} mt={4}>\n <H2>{displayName}</H2>\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Text bold={hasAvailableBalance} variant=\"body1\">\n {firstSubtitle}\n </Text>\n <Text bold={true} variant=\"body1\">\n {formatCurrency(firstValue, '0,0.00')}\n </Text>\n </Stack>\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Text variant=\"body2\">{secondSubtitle}</Text>\n <Text variant=\"body2\">{secondValue}</Text>\n </Stack>\n </Stack>\n {showChart && (\n <Stack aria-label={description} role=\"img\">\n {customDetailsChart ? (\n customDetailsChart\n ) : (\n <AccountDetailsChart ChartComponent={ChartComponent} header={title} />\n )}\n </Stack>\n )}\n </Stack>\n )\n}\n\nexport default observer(AccountDetailsHeader)\n"],"names":["useAccountUiStore","React","GlobalDataContext","useAccountStore","getAccountDetailFields","account","copy","fields","buildDynamicCopy","FieldType","val","isManual","formatCurrency","accountTypeOptions","AccountType","key","value","jsx","Icon","AccountIcon","option","propertyTypeOptions","PropertyType","PropertyIcon","usesInterestRateField","label","fieldName","isValidNumber","formatPercentage","isAccountLiability","dateTimeStamp","fromUnixUTC","formatDate","DATE_FORMATS_INTL","formatOrdinal","usesCreditLimitField","usesOriginalBalanceField","getAccountBalanceDetails","showAvailableBalance","firstSubtitle","firstValue","secondSubtitle","secondValue","hasAvailableBalance","getAccountStartingBalance","Text","getClosedAccountBalanceTotal","accounts","sum","getChartLabels","accountType","hasPayments","hasPaymentsAndSpend","AccountDetailsChart","sx","ChartComponent","header","loadMonthlyCategoryTotals","useCategoryStore","isInitialized","useGlobalStore","selectedAccount","isWidgetInitialized","setIsWidgetInitialized","Loader","jsxs","Card","CardHeader","H3","CardContent","AccountDetailsChart$1","observer","AccountDetailsHeader","customDetailsChart","institutions","config","useAppConfig","accountsCopy","useGlobalCopyStore","institution","showChart","INCOME_ACCOUNT_TYPES","PAYMENT_ACCOUNT_TYPES","SPENDING_ACCOUNT_TYPES","displayName","useAccountDisplayName","title","description","Stack","InstitutionLogo","H2","AccountDetailsHeader$1"],"mappings":"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"}
1
+ {"version":3,"file":"AccountDetailsHeader-D_UjMD99.mjs","sources":["../src/accounts/hooks/useUiStore.ts","../src/accounts/utils/AccountFields.tsx","../src/accounts/utils/AccountDetails.ts","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { GlobalDataContext, useAccountStore } from '../../common'\n\nexport const useAccountUiStore = () => {\n const context = React.useContext(GlobalDataContext)\n\n if (!context) {\n throw new Error('useCategoryUiStore() must be used within the GlobalDataContext')\n }\n\n return useAccountStore().uiStore\n}\n","import { Icon, Text } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { AccountIcon, AccountType, PropertyType } from '../../core'\nimport type { Account, AccountsCopy } from '../../core'\n\nimport { PropertyIcon } from '../../core/types/Account'\nimport {\n getAccountStartingBalance,\n isAccountLiability,\n isManual,\n usesCreditLimitField,\n usesInterestRateField,\n usesOriginalBalanceField,\n} from '../../core/utils/AccountUtils'\nimport { FieldType } from '../constants/Accounts'\nimport { fromUnixUTC } from '../../core/utils/DateUtil'\nimport {\n formatCurrency,\n formatOrdinal,\n formatPercentage,\n isValidNumber,\n} from '../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ntype SelectOption = {\n label: string\n value: number\n icon: React.ReactElement\n}\n\nexport type AccountField = {\n event?: string\n label: string\n minAmount?: number\n options?: SelectOption[]\n name: keyof Account\n placeholder?: string\n type?: string\n validation?: (val: any) => string\n valueFormatter: (val: any) => any\n}\n\nexport const getAccountDetailFields = (account: Account, copy: AccountsCopy) => {\n const fields: AccountField[] = [\n {\n event: 'account_details_click_account_name',\n label: copy.account_name,\n name: 'user_name',\n placeholder: buildDynamicCopy(copy.enter_value, copy.account_name) as string,\n type: FieldType.Input,\n validation: (val: string) =>\n val ? '' : (buildDynamicCopy(copy.field_is_required, copy.account_name) as string),\n valueFormatter: (val) => val,\n },\n ]\n\n if (isManual(account)) {\n fields.unshift({\n label: copy.account_balance,\n name: 'balance',\n placeholder: buildDynamicCopy(copy.enter_value, copy.account_balance) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n\n const accountTypeOptions = Object.keys(AccountType)\n .filter((key) => Number(key))\n .map((value) => ({\n label: copy.account_types[value],\n value: Number(value),\n icon: <Icon name={AccountIcon[value]} />,\n }))\n\n fields.push({\n label: copy.account_type,\n name: 'account_type',\n options: accountTypeOptions,\n placeholder: buildDynamicCopy(copy.select_value, copy.account_type) as string,\n type: FieldType.Select,\n valueFormatter: (val) => accountTypeOptions.find((option) => option.value === val)?.label,\n })\n }\n\n if (account.account_type === AccountType.PROPERTY) {\n const propertyTypeOptions = Object.keys(PropertyType)\n .filter((key) => Number(key))\n .map((value) => ({\n label: copy.property_types[value],\n value: Number(value),\n icon: <Icon name={PropertyIcon[value]} />,\n }))\n\n fields.push({\n label: copy.property_type,\n name: 'property_type',\n options: propertyTypeOptions,\n placeholder: buildDynamicCopy(copy.select_value, copy.property_type) as string,\n type: FieldType.Select,\n valueFormatter: (val) => propertyTypeOptions.find((option) => option.value === val)?.label,\n })\n }\n\n if (usesInterestRateField(account)) {\n let label = copy.interest_rate\n let fieldName = 'interest_rate' as keyof Account\n\n if (!account.is_manual) {\n if (typeof account.apr === 'number') {\n label = copy.apr\n fieldName = 'apr'\n }\n if (typeof account.apy === 'number') {\n label = copy.apy\n fieldName = 'apy'\n }\n }\n\n fields.push({\n event: 'account_details_click_interest_rate',\n label,\n name: fieldName,\n placeholder: buildDynamicCopy(copy.enter_value, label) as string,\n type: FieldType.Input,\n validation: (val) => (!isValidNumber(val) ? copy.error_amount_is_invalid : ''),\n valueFormatter: (val) => (isValidNumber(val) ? formatPercentage(val / 100) : val),\n })\n }\n\n if (isAccountLiability(account)) {\n fields.push({\n label: copy.minimum_payment,\n name: 'minimum_payment',\n placeholder: buildDynamicCopy(copy.enter_value, copy.minimum_payment) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n\n if (account.payment_due_at) {\n fields.push({\n label: copy.next_payment,\n name: 'payment_due_at',\n type: FieldType.Date,\n valueFormatter: (val) => {\n // accounts for Unix and DateTime values\n const dateTimeStamp = typeof val === 'number' ? fromUnixUTC(val) : val\n return formatDate(dateTimeStamp, DATE_FORMATS_INTL.MED_MONTH_SHORT_DAY_FULL_YEAR)\n },\n })\n } else {\n fields.push({\n label: copy.day_payment_due,\n name: 'day_payment_is_due',\n placeholder: buildDynamicCopy(copy.enter_value, copy.day_payment_due) as string,\n type: FieldType.Date,\n valueFormatter: (val) =>\n buildDynamicCopy(\n copy.day_of_every_month,\n formatOrdinal(val <= 31 ? val : new Date(val).getDate()),\n ) as string,\n })\n }\n }\n\n if (usesCreditLimitField(account)) {\n fields.push({\n label: copy.credit_limit,\n name: 'credit_limit',\n placeholder: buildDynamicCopy(copy.enter_value, copy.credit_limit) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n }\n\n if (usesOriginalBalanceField(account)) {\n fields.push({\n label: copy.original_balance,\n minAmount: 1,\n name: 'original_balance',\n placeholder: buildDynamicCopy(copy.enter_value, copy.original_balance) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n }\n\n return fields\n}\nexport const getAccountBalanceDetails = (\n account: Account,\n copy: AccountsCopy,\n showAvailableBalance: boolean,\n) => {\n let firstSubtitle = ''\n let firstValue = null\n let secondSubtitle = null\n let secondValue = null\n let hasAvailableBalance = false\n\n switch (account.account_type) {\n // checking or savings\n case 1:\n case 2: {\n // some savings accounts only have balance, and not available_balance\n if (account.available_balance != null && showAvailableBalance) {\n firstSubtitle = copy.available_balance\n firstValue = getAccountStartingBalance(account, showAvailableBalance)\n secondSubtitle = copy.current_balance\n secondValue = formatCurrency(account.balance, '0,0.00')\n hasAvailableBalance = true\n } else {\n firstSubtitle = copy.current_balance\n firstValue = getAccountStartingBalance(account, showAvailableBalance)\n }\n break\n }\n default: {\n firstSubtitle = copy.current_balance\n firstValue = account.balance\n if (account.minimum_payment && account.payment_due_at) {\n const dateTimeStamp = fromUnixUTC(account.payment_due_at)\n secondSubtitle = (\n <Text component=\"strong\" variant=\"caption\">\n {\n buildDynamicCopy(\n copy.payment_due_on,\n formatCurrency(account.minimum_payment, '0,0.00'),\n formatDate(dateTimeStamp, DATE_FORMATS_INTL.FULL_MONTH_DAY),\n ) as string\n }\n </Text>\n )\n } else if (account.credit_limit) {\n secondSubtitle = copy.available_credit\n secondValue = formatCurrency(account.credit_limit - (account?.balance ?? 0), '0,0.00')\n }\n }\n }\n\n return {\n firstSubtitle,\n firstValue,\n secondSubtitle,\n secondValue,\n hasAvailableBalance,\n }\n}\n\nexport const getClosedAccountBalanceTotal = (\n accounts: Account[],\n copy: AccountsCopy,\n showAvailableBalance: boolean,\n) => {\n const total = accounts.reduce((sum, account) => {\n const details = getAccountBalanceDetails(account, copy, showAvailableBalance)\n const firstValue = details.firstValue || 0\n return sum + firstValue\n }, 0)\n\n return total\n}\n","import { AccountType, type AccountsCopy } from '../../core'\n\nexport const getChartLabels = (\n accountType: AccountType,\n copy: AccountsCopy,\n): { title: string; description: string } => {\n const hasPayments = [AccountType.LOAN, AccountType.MORTGAGE, AccountType.PROPERTY].includes(\n accountType,\n )\n\n const hasPaymentsAndSpend = [\n AccountType.CREDIT_CARD,\n AccountType.LINE_OF_CREDIT,\n AccountType.PREPAID,\n AccountType.CHECKING_LINE_OF_CREDIT,\n ].includes(accountType)\n\n if (hasPayments) return { title: copy.label_payments, description: copy.chart_title_payments }\n if (hasPaymentsAndSpend)\n return { title: copy.label_payments_spend, description: copy.chart_title_payments_spend }\n return { title: copy.label_income_spend, description: copy.chart_title_income_spend }\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport CardContent from '@mui/material/CardContent'\nimport CardHeader from '@mui/material/CardHeader'\n\nimport { H3 } from '@mxenabled/mxui'\n\nimport { Loader, useCategoryStore, useGlobalStore } from '../../../../common'\nimport { MiniWidgetProps } from '../../../../core'\n\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\n\ninterface AccountDetailsChartProps extends MiniWidgetProps {\n ChartComponent?: React.ComponentType\n header?: string\n}\n\nconst AccountDetailsChart: React.FC<AccountDetailsChartProps> = ({\n sx,\n ChartComponent,\n header,\n}) => {\n const { loadMonthlyCategoryTotals } = useCategoryStore()\n const { isInitialized } = useGlobalStore()\n const { selectedAccount } = useAccountUiStore()\n\n const [isWidgetInitialized, setIsWidgetInitialized] = React.useState(false)\n\n React.useEffect(() => {\n if (isInitialized) {\n loadMonthlyCategoryTotals([selectedAccount]).finally(() => {\n setIsWidgetInitialized(true)\n })\n }\n }, [isInitialized, selectedAccount])\n\n if (!isInitialized || !isWidgetInitialized) {\n return <Loader />\n }\n\n return (\n <Card\n sx={{\n '& .MuiCardContent-root:last-child': {\n pb: 0,\n },\n ...sx,\n }}\n >\n <CardHeader sx={{ pb: 0 }} title={<H3 sx={{ pb: 4 }}>{header}</H3>} />\n\n <CardContent sx={{ p: 0 }}>{ChartComponent ? <ChartComponent /> : null}</CardContent>\n </Card>\n )\n}\n\nexport default observer(AccountDetailsChart)\n","import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H2, InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport {\n useAccountStore,\n INCOME_ACCOUNT_TYPES,\n PAYMENT_ACCOUNT_TYPES,\n SPENDING_ACCOUNT_TYPES,\n useAccountDisplayName,\n useGlobalCopyStore,\n useAppConfig,\n} from '../../../../common'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\nimport { getAccountBalanceDetails } from '../../../utils/AccountFields'\nimport { getChartLabels } from '../../../utils/AccountDetails'\n\nimport AccountDetailsChart from './AccountDetailsChart'\nimport { formatCurrency } from '../../../../core/utils/NumberFormatting'\n\ninterface AccountDetailsHeaderProps {\n ChartComponent?: React.ComponentType\n customDetailsChart?: React.ReactElement\n}\n\nconst AccountDetailsHeader = ({\n customDetailsChart,\n ChartComponent,\n}: AccountDetailsHeaderProps) => {\n const { institutions } = useAccountStore()\n const { selectedAccount: account } = useAccountUiStore()\n const { config } = useAppConfig()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n const { firstSubtitle, firstValue, hasAvailableBalance, secondSubtitle, secondValue } =\n getAccountBalanceDetails(account, accountsCopy, config.display_available_balance_in_accounts)\n\n const institution = institutions.find(\n (institution) => institution.guid === account?.institution_guid,\n )\n\n const showChart = [\n ...INCOME_ACCOUNT_TYPES,\n ...PAYMENT_ACCOUNT_TYPES,\n ...SPENDING_ACCOUNT_TYPES,\n ].includes(account.account_type)\n\n const displayName = useAccountDisplayName(account)\n\n const { title, description } = getChartLabels(account.account_type, accountsCopy)\n\n return (\n <Stack bgcolor=\"background.default\" p={24}>\n <Stack gap={12}>\n <InstitutionLogo\n alt={accountsCopy.institution_logo_alt}\n institutionGuid={account.institution_guid || ''}\n size={64}\n />\n <Text variant=\"body2\">{institution?.name}</Text>\n </Stack>\n <Stack gap={8} mb={24} mt={4}>\n <H2>{displayName}</H2>\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Text bold={hasAvailableBalance} variant=\"body1\">\n {firstSubtitle}\n </Text>\n <Text bold={true} variant=\"body1\">\n {formatCurrency(firstValue, '0,0.00')}\n </Text>\n </Stack>\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Text variant=\"body2\">{secondSubtitle}</Text>\n <Text variant=\"body2\">{secondValue}</Text>\n </Stack>\n </Stack>\n {showChart && (\n <Stack aria-label={description} role=\"img\">\n {customDetailsChart ? (\n customDetailsChart\n ) : (\n <AccountDetailsChart ChartComponent={ChartComponent} header={title} />\n )}\n </Stack>\n )}\n </Stack>\n )\n}\n\nexport default observer(AccountDetailsHeader)\n"],"names":["useAccountUiStore","React","GlobalDataContext","useAccountStore","getAccountDetailFields","account","copy","fields","buildDynamicCopy","FieldType","val","isManual","formatCurrency","accountTypeOptions","AccountType","key","value","jsx","Icon","AccountIcon","option","propertyTypeOptions","PropertyType","PropertyIcon","usesInterestRateField","label","fieldName","isValidNumber","formatPercentage","isAccountLiability","dateTimeStamp","fromUnixUTC","formatDate","DATE_FORMATS_INTL","formatOrdinal","usesCreditLimitField","usesOriginalBalanceField","getAccountBalanceDetails","showAvailableBalance","firstSubtitle","firstValue","secondSubtitle","secondValue","hasAvailableBalance","getAccountStartingBalance","Text","getClosedAccountBalanceTotal","accounts","sum","getChartLabels","accountType","hasPayments","hasPaymentsAndSpend","AccountDetailsChart","sx","ChartComponent","header","loadMonthlyCategoryTotals","useCategoryStore","isInitialized","useGlobalStore","selectedAccount","isWidgetInitialized","setIsWidgetInitialized","Loader","jsxs","Card","CardHeader","H3","CardContent","AccountDetailsChart$1","observer","AccountDetailsHeader","customDetailsChart","institutions","config","useAppConfig","accountsCopy","useGlobalCopyStore","institution","showChart","INCOME_ACCOUNT_TYPES","PAYMENT_ACCOUNT_TYPES","SPENDING_ACCOUNT_TYPES","displayName","useAccountDisplayName","title","description","Stack","InstitutionLogo","H2","AccountDetailsHeader$1"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import u from "react";
2
2
  import { getUnixTime as r } from "date-fns/getUnixTime";
3
- import { A as l } from "./GlobalCopyApi-wcnDUzMV.mjs";
3
+ import { A as l } from "./GlobalCopyApi-Tz10hezK.mjs";
4
4
  const A = (s, i) => {
5
5
  const { session: t } = i, o = Object.values(i).reduce((e, n) => t && n?.onAnalyticEvent && typeof n?.onAnalyticEvent == "function" ? [...e, n.onAnalyticEvent] : e, []), a = [...s, ...o];
6
6
  return u.useMemo(() => (e) => {
@@ -51,4 +51,4 @@ export {
51
51
  d as b,
52
52
  A as u
53
53
  };
54
- //# sourceMappingURL=Analytics-CkYXKvco.mjs.map
54
+ //# sourceMappingURL=Analytics-BJDUP2qI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Analytics-CkYXKvco.mjs","sources":["../src/common/hooks/useCombineEvents.tsx","../src/common/utils/Analytics.ts"],"sourcesContent":["import React from 'react'\n\nimport { AnalyticEventFunction, AnalyticPageviewFunction } from '../../core'\n\nexport const useCombineEvents = (events: AnalyticEventFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticEventFunction[], curr: any) => {\n if (session && curr?.onAnalyticEvent && typeof curr?.onAnalyticEvent === 'function') {\n return [...acc, curr.onAnalyticEvent]\n }\n\n return acc\n }, [])\n const eventFunctions = [...events, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [events, session])\n}\n\nexport const useCombinePageviews = (pages: AnalyticPageviewFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticPageviewFunction[], curr: any) => {\n if (session && curr?.onAnalyticPageView && typeof curr?.onAnalyticPageView === 'function') {\n return [...acc, curr.onAnalyticPageView]\n }\n\n return acc\n }, [])\n const eventFunctions = [...pages, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [pages, session])\n}\n","import { getUnixTime } from 'date-fns/getUnixTime'\n\nimport { AnalyticsApi } from '../../core/api'\nimport { BasicAnalyticsEvent, AnalyticsSession, BasicAnalyticsPageview } from '../../core'\n\nexport const analyticsSession = async (\n endpoint: string,\n token: string,\n version = '1.0.0',\n featureName = 'Experiences',\n) => {\n const analyticsApi = new AnalyticsApi(endpoint, token)\n const { analytics_session } = (await analyticsApi.initializeAnalyticsSession(\n version,\n featureName,\n )) as {\n analytics_session: AnalyticsSession\n }\n\n const host = window.location.hostname\n\n return {\n sendAnalyticEvent: async (event: BasicAnalyticsEvent) => {\n return await analyticsApi.sendAnalyticEvent({\n analytics_event: {\n ...event,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: event?.label || '',\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n version: 2,\n },\n })\n },\n sendAnalyticsPageview: async (pageview: BasicAnalyticsPageview) => {\n return await analyticsApi.sendAnalyticsPageview({\n analytics_pageview: {\n ...pageview,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: pageview.name,\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n },\n })\n },\n }\n}\n"],"names":["useCombineEvents","events","store","session","storeEvents","acc","curr","eventFunctions","React","event","e","useCombinePageviews","pages","analyticsSession","endpoint","token","version","featureName","analyticsApi","AnalyticsApi","analytics_session","host","getUnixTime","pageview"],"mappings":";;;AAIO,MAAMA,IAAmB,CAACC,GAAiCC,MAAe;AAC/E,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAA8BC,MACzEH,KAAWG,GAAM,mBAAmB,OAAOA,GAAM,mBAAoB,aAChE,CAAC,GAAGD,GAAKC,EAAK,eAAe,IAG/BD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGN,GAAQ,GAAGG,CAAW;AAEjD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACR,GAAQE,CAAO,CAAC;AACtB,GAEaQ,IAAsB,CAACC,GAAmCV,MAAe;AACpF,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAAiCC,MAC5EH,KAAWG,GAAM,sBAAsB,OAAOA,GAAM,sBAAuB,aACtE,CAAC,GAAGD,GAAKC,EAAK,kBAAkB,IAGlCD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGK,GAAO,GAAGR,CAAW;AAEhD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACG,GAAOT,CAAO,CAAC;AACrB,GC/CaU,IAAmB,OAC9BC,GACAC,GACAC,IAAU,SACVC,IAAc,kBACX;AACH,QAAMC,IAAe,IAAIC,EAAaL,GAAUC,CAAK,GAC/C,EAAE,mBAAAK,EAAA,IAAuB,MAAMF,EAAa;AAAA,IAChDF;AAAA,IACAC;AAAA,EAAA,GAKII,IAAO,OAAO,SAAS;AAE7B,SAAO;AAAA,IACL,mBAAmB,OAAOZ,MACjB,MAAMS,EAAa,kBAAkB;AAAA,MAC1C,iBAAiB;AAAA,QACf,GAAGT;AAAA,QACH,aAAa;AAAA,QACb,YAAYa,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAMZ,GAAO,SAAS;AAAA,QACtB,YAAYW,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,QACnC,SAAS;AAAA,MAAA;AAAA,IACX,CACD;AAAA,IAEH,uBAAuB,OAAOG,MACrB,MAAML,EAAa,sBAAsB;AAAA,MAC9C,oBAAoB;AAAA,QAClB,GAAGK;AAAA,QACH,aAAa;AAAA,QACb,YAAYD,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAME,EAAS;AAAA,QACf,YAAYH,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,MAAA;AAAA,IACrC,CACD;AAAA,EACH;AAEJ;"}
1
+ {"version":3,"file":"Analytics-BJDUP2qI.mjs","sources":["../src/common/hooks/useCombineEvents.tsx","../src/common/utils/Analytics.ts"],"sourcesContent":["import React from 'react'\n\nimport { AnalyticEventFunction, AnalyticPageviewFunction } from '../../core'\n\nexport const useCombineEvents = (events: AnalyticEventFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticEventFunction[], curr: any) => {\n if (session && curr?.onAnalyticEvent && typeof curr?.onAnalyticEvent === 'function') {\n return [...acc, curr.onAnalyticEvent]\n }\n\n return acc\n }, [])\n const eventFunctions = [...events, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [events, session])\n}\n\nexport const useCombinePageviews = (pages: AnalyticPageviewFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticPageviewFunction[], curr: any) => {\n if (session && curr?.onAnalyticPageView && typeof curr?.onAnalyticPageView === 'function') {\n return [...acc, curr.onAnalyticPageView]\n }\n\n return acc\n }, [])\n const eventFunctions = [...pages, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [pages, session])\n}\n","import { getUnixTime } from 'date-fns/getUnixTime'\n\nimport { AnalyticsApi } from '../../core/api'\nimport { BasicAnalyticsEvent, AnalyticsSession, BasicAnalyticsPageview } from '../../core'\n\nexport const analyticsSession = async (\n endpoint: string,\n token: string,\n version = '1.0.0',\n featureName = 'Experiences',\n) => {\n const analyticsApi = new AnalyticsApi(endpoint, token)\n const { analytics_session } = (await analyticsApi.initializeAnalyticsSession(\n version,\n featureName,\n )) as {\n analytics_session: AnalyticsSession\n }\n\n const host = window.location.hostname\n\n return {\n sendAnalyticEvent: async (event: BasicAnalyticsEvent) => {\n return await analyticsApi.sendAnalyticEvent({\n analytics_event: {\n ...event,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: event?.label || '',\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n version: 2,\n },\n })\n },\n sendAnalyticsPageview: async (pageview: BasicAnalyticsPageview) => {\n return await analyticsApi.sendAnalyticsPageview({\n analytics_pageview: {\n ...pageview,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: pageview.name,\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n },\n })\n },\n }\n}\n"],"names":["useCombineEvents","events","store","session","storeEvents","acc","curr","eventFunctions","React","event","e","useCombinePageviews","pages","analyticsSession","endpoint","token","version","featureName","analyticsApi","AnalyticsApi","analytics_session","host","getUnixTime","pageview"],"mappings":";;;AAIO,MAAMA,IAAmB,CAACC,GAAiCC,MAAe;AAC/E,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAA8BC,MACzEH,KAAWG,GAAM,mBAAmB,OAAOA,GAAM,mBAAoB,aAChE,CAAC,GAAGD,GAAKC,EAAK,eAAe,IAG/BD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGN,GAAQ,GAAGG,CAAW;AAEjD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACR,GAAQE,CAAO,CAAC;AACtB,GAEaQ,IAAsB,CAACC,GAAmCV,MAAe;AACpF,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAAiCC,MAC5EH,KAAWG,GAAM,sBAAsB,OAAOA,GAAM,sBAAuB,aACtE,CAAC,GAAGD,GAAKC,EAAK,kBAAkB,IAGlCD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGK,GAAO,GAAGR,CAAW;AAEhD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACG,GAAOT,CAAO,CAAC;AACrB,GC/CaU,IAAmB,OAC9BC,GACAC,GACAC,IAAU,SACVC,IAAc,kBACX;AACH,QAAMC,IAAe,IAAIC,EAAaL,GAAUC,CAAK,GAC/C,EAAE,mBAAAK,EAAA,IAAuB,MAAMF,EAAa;AAAA,IAChDF;AAAA,IACAC;AAAA,EAAA,GAKII,IAAO,OAAO,SAAS;AAE7B,SAAO;AAAA,IACL,mBAAmB,OAAOZ,MACjB,MAAMS,EAAa,kBAAkB;AAAA,MAC1C,iBAAiB;AAAA,QACf,GAAGT;AAAA,QACH,aAAa;AAAA,QACb,YAAYa,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAMZ,GAAO,SAAS;AAAA,QACtB,YAAYW,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,QACnC,SAAS;AAAA,MAAA;AAAA,IACX,CACD;AAAA,IAEH,uBAAuB,OAAOG,MACrB,MAAML,EAAa,sBAAsB;AAAA,MAC9C,oBAAoB;AAAA,QAClB,GAAGK;AAAA,QACH,aAAa;AAAA,QACb,YAAYD,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAME,EAAS;AAAA,QACf,YAAYH,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,MAAA;AAAA,IACrC,CACD;AAAA,EACH;AAEJ;"}
@@ -2,7 +2,7 @@ import { jsx as t, jsxs as g } from "react/jsx-runtime";
2
2
  import { observer as p } from "mobx-react-lite";
3
3
  import E from "react";
4
4
  import $ from "@mui/material/Stack";
5
- import { G as K, l as f, u as S, f as A, a as B } from "./hooks-97sNJ_lf.mjs";
5
+ import { G as K, l as f, u as S, f as A, a as B } from "./hooks-DWOrMnfZ.mjs";
6
6
  import U from "@mui/material/List";
7
7
  import V from "@mui/material/Paper";
8
8
  import { b as _ } from "./Localization-DnoVyBNK.mjs";
@@ -428,4 +428,4 @@ export {
428
428
  Je as b,
429
429
  y as u
430
430
  };
431
- //# sourceMappingURL=CategorySelectorDrawer-NJsFsKP1.mjs.map
431
+ //# sourceMappingURL=CategorySelectorDrawer-k8AZYC8I.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelectorDrawer-NJsFsKP1.mjs","sources":["../src/categories/context/hooks.ts","../src/categories/constants/OnClickEvents.ts","../src/categories/components/CustomCategories/CustomCategoryModal.tsx","../src/categories/components/CustomCategories/AddSubcategory.tsx","../src/categories/components/CustomCategories/RenameSubcategory.tsx","../src/categories/components/CustomCategories/DeleteSubcategory.tsx","../src/categories/components/SubcategoryRow.tsx","../src/categories/components/SubcategoryList.tsx","../src/categories/components/CategoryRow.tsx","../src/categories/components/CategoryList.tsx","../src/categories/components/CategorySelector.tsx","../src/categories/components/CategorySelectorDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { GlobalDataContext, useCategoryStore } from '../../common'\n\nexport const useCategoryUiStore = () => {\n const context = React.useContext(GlobalDataContext)\n\n if (!context) {\n throw new Error('useCategoryUiStore() must be used within the GlobalDataContext')\n }\n\n return useCategoryStore().uiStore\n}\n","export const ON_CLICK_EVENTS = {\n ON_CATEGORY_EXPANDED: 'onCategoryExpanded',\n ON_CATEGORY_COLLAPSED: 'onCategoryCollapsed',\n ON_CATEGORY_SELECTED: 'onCategorySelected',\n ON_SUBCATEGORY_ADD_CLICK: 'onSubcategoryAddClick',\n ON_SUBCATEGORY_ADD_CANCEL_CLICK: 'onSubcategoryAddCancelClick',\n ON_SUBCATEGORY_ADDED: 'onSubcategoryAdded',\n ON_SUBCATEGORY_EDIT_CLICK: 'onSubcategoryEditClick',\n ON_SUBCATEGORY_EDIT_CANCEL_CLICK: 'onSubcategoryEditCancelClick',\n ON_SUBCATEGORY_DELETE_CLICK: 'onSubcategoryDeleteClick',\n ON_SUBCATEGORY_DELETED: 'onSubcategoryDeleted',\n ON_SUBCATEGORY_SAVED: 'onSubcategorySaved',\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { Text } from '@mxenabled/mxui'\nimport { TextField } from '@mxenabled/mxui'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\nimport type { DynamicCopyElement } from '../../../core'\nimport DialogContent from '@mui/material/DialogContent'\n\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nexport enum CustomCategoryModalType {\n ADD = 'add',\n EDIT = 'edit',\n DELETE = 'delete',\n}\n\ninterface CustomCategoryModalProps {\n categoryName?: string\n onClose: () => void\n onSave: (name: string) => void\n isOpen: boolean\n type: CustomCategoryModalType\n}\n\nconst CustomCategoryModal: React.FC<CustomCategoryModalProps> = ({\n categoryName = '',\n onClose,\n onSave,\n isOpen,\n type,\n}) => {\n const [name, setName] = React.useState(categoryName)\n const { categories: copy } = useGlobalCopyStore()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n let headingText = ''\n let primaryText: DynamicCopyElement = []\n\n const isDeleteType = type === CustomCategoryModalType.DELETE\n const displayName = categoryName.length > 50 ? `${categoryName.slice(0, 50)}...` : categoryName\n const inputAriaLabel =\n type === CustomCategoryModalType.EDIT\n ? (buildDynamicCopy(copy.edit_subcategory_aria, displayName) as string)\n : copy.add_subcategory_aria\n\n switch (type) {\n case CustomCategoryModalType.ADD:\n headingText = copy.add_subcategory_title\n break\n case CustomCategoryModalType.EDIT:\n headingText = buildDynamicCopy(copy.edit_subcategory_title, displayName) as string\n break\n case CustomCategoryModalType.DELETE:\n headingText = copy.delete_subcategory_heading\n primaryText = buildDynamicCopy(\n copy.all_transactions_in_this_subcategory,\n <Text bold={true} component=\"span\">\n {buildDynamicCopy(copy.all_parent_category, displayName) as string}\n </Text>,\n ) as DynamicCopyElement\n break\n }\n\n return (\n <Dialog\n copy={{\n title: headingText,\n }}\n disablePrimaryButton={!name}\n isOpen={isOpen}\n onClose={() => {\n setShouldDisableDrawerScroll(false)\n onClose()\n }}\n onPrimaryAction={() => {\n setShouldDisableDrawerScroll(false)\n onSave(name)\n }}\n >\n <DialogContent>\n {isDeleteType ? (\n (primaryText as React.ReactNode)\n ) : (\n <TextField\n label={inputAriaLabel}\n name=\"modify-subcategory\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setName(e.target.value)}\n placeholder={copy.input_placeholder}\n slotProps={{\n htmlInput: {\n 'aria-label': inputAriaLabel,\n maxLength: 50,\n },\n }}\n sx={{ width: '100%' }}\n truncate={true}\n value={name}\n />\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nexport default observer(CustomCategoryModal)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface AddSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n}\n\nconst AddSubcategory: React.FC<AddSubcategoryProps> = ({ announce, parentCategory }) => {\n const [showAdd, setShowAdd] = React.useState(false)\n const { addCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n const handleAdd = async (name: string) => {\n await addCategory(name.trim(), parentCategory.guid)\n announce(buildDynamicCopy(copy.add_subcategory_announcement, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADDED)\n setShowAdd(false)\n }\n\n const handleAdding = async () => {\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CLICK)\n setShouldDisableDrawerScroll(true)\n setShowAdd(true)\n }\n\n const handleModalClose = () => {\n setShowAdd(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CANCEL_CLICK)\n }\n\n return (\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton onClick={handleAdding} sx={{ ml: 60 }}>\n <ListItemText\n primary={copy.add_subcategory_button}\n slotProps={{ primary: { color: 'primary', fontWeight: 'normal', variant: 'body1' } }}\n />\n </ListItemButton>\n\n {showAdd && (\n <CustomCategoryModal\n isOpen={showAdd}\n onClose={handleModalClose}\n onSave={handleAdd}\n type={CustomCategoryModalType.ADD}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(AddSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal from './CustomCategoryModal'\n\nimport { CustomCategoryModalType } from './CustomCategoryModal'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\ninterface RenameSubcategoryProps {\n announce: (message: string) => void\n setShowRename: (show: boolean) => void\n subCategory: Category\n showRename: boolean\n}\n\nconst RenameSubcategory: React.FC<RenameSubcategoryProps> = ({\n announce,\n setShowRename,\n subCategory,\n showRename,\n}) => {\n const { onEvent } = useEvent()\n const { updateCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleRename = async (name: string) => {\n await updateCategory({ ...subCategory, name })\n announce(buildDynamicCopy(copy.edit_subcategory_announcement, subCategory.name, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_SAVED)\n setShowRename(false)\n }\n\n const handleModalClose = () => {\n setShowRename(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CANCEL_CLICK)\n }\n\n return (\n <CustomCategoryModal\n categoryName={subCategory.name}\n isOpen={showRename}\n onClose={handleModalClose}\n onSave={handleRename}\n type={CustomCategoryModalType.EDIT}\n />\n )\n}\n\nexport default observer(RenameSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport type { Category } from '../../../core'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeleteSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n showDelete: boolean\n setShowDelete: (isOpen: boolean) => void\n subCategory: Category\n}\n\nconst DeleteSubcategory: React.FC<DeleteSubcategoryProps> = ({\n announce,\n parentCategory,\n showDelete,\n setShowDelete,\n subCategory,\n}) => {\n const { onEvent } = useEvent()\n const { removeCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleClose = () => {\n setShowDelete(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }\n\n const handleDelete = async () => {\n await removeCategory(subCategory.guid)\n announce(buildDynamicCopy(copy.delete_subcategory_announcement, subCategory.name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETED)\n setShowDelete(false)\n }\n\n return (\n <CustomCategoryModal\n categoryName={parentCategory.name}\n isOpen={showDelete}\n onClose={handleClose}\n onSave={handleDelete}\n type={CustomCategoryModalType.DELETE}\n />\n )\n}\n\nexport default observer(DeleteSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Chip from '@mui/material/Chip'\nimport IconButton from '@mui/material/IconButton'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { CheckCircle, Delete, Edit } from '@mxenabled/mx-icons'\n\nimport type { Category } from '../../core'\n\nimport RenameSubcategory from './CustomCategories/RenameSubcategory'\nimport DeleteSubcategory from './CustomCategories/DeleteSubcategory'\n\nimport { useEvent, useGlobalCopyStore } from '../../common'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface SubcategoryRowProps {\n announce: (message: string) => void\n parentCategory: Category\n subCategory: Category\n}\n\nconst SubcategoryRow: React.FC<SubcategoryRowProps> = ({\n announce,\n parentCategory,\n subCategory,\n}) => {\n const {\n onSelect,\n selectedGuid,\n setSelectedGuid,\n setShouldDisableDrawerScroll,\n showSelected,\n unselectable,\n unselectableText,\n } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n\n const [showRename, setShowRename] = React.useState(false)\n const [showDelete, setShowDelete] = React.useState(false)\n\n const isCustom = Boolean(subCategory.revision)\n const isSelected = subCategory.guid === selectedGuid\n const isSelectable = !unselectable.some((item) => item === subCategory.guid)\n const handleClick = () => {\n if (isSelectable) {\n // Internal state\n setSelectedGuid(subCategory.guid)\n // External notification\n onSelect(subCategory.guid)\n onEvent(ON_CLICK_EVENTS.ON_CATEGORY_SELECTED)\n }\n }\n\n return (\n <ListItem\n className=\"mx-cat-subcategory-row\"\n disableGutters={true}\n disablePadding={true}\n sx={{ pl: 58 }}\n >\n <ListItemButton\n aria-pressed={isSelected}\n color=\"secondary\"\n onClick={handleClick}\n sx={{ height: 44, minWidth: 0, overflow: 'hidden' }}\n >\n <ListItemText\n primary={subCategory.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1', noWrap: true } }}\n />\n {showSelected && isSelected && <CheckCircle fontSize=\"small\" />}\n {!isSelectable && <Chip label={unselectableText} />}\n </ListItemButton>\n {isCustom && (\n <Box\n className={`mx-cat-subcategory-edit-container`}\n sx={{ marginRight: 24, flexShrink: 0 }}\n >\n <IconButton\n aria-label={buildDynamicCopy(copy.edit_subcategory_title, subCategory.name) as string}\n onClick={() => {\n setShowRename(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CLICK)\n }}\n >\n <Edit color=\"secondary\" />\n </IconButton>\n <IconButton\n aria-label={buildDynamicCopy(copy.delete_subcategory_aria, subCategory.name) as string}\n edge=\"end\"\n onClick={() => {\n setShowDelete(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }}\n >\n <Delete color=\"secondary\" />\n </IconButton>\n </Box>\n )}\n {showDelete && (\n <DeleteSubcategory\n announce={announce}\n parentCategory={parentCategory}\n setShowDelete={setShowDelete}\n showDelete={showDelete}\n subCategory={subCategory}\n />\n )}\n {showRename && (\n <RenameSubcategory\n announce={announce}\n setShowRename={setShowRename}\n showRename={showRename}\n subCategory={subCategory}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(SubcategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Collapse from '@mui/material/Collapse'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport type { Category } from '../../core'\nimport AddSubcategory from './CustomCategories/AddSubcategory'\nimport SubcategoryRow from './SubcategoryRow'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { useAriaLive } from '../../common/hooks/useAriaLive'\n\ninterface SubcategoryListProps {\n categories: Category[]\n parentCategory: Category\n}\n\nconst SubcategoryList: React.FC<SubcategoryListProps> = ({ categories, parentCategory }) => {\n const { expandedGuid, searchValue } = useCategoryUiStore()\n const { announce, ariaLive } = useAriaLive()\n const isExpanded = parentCategory.guid === expandedGuid\n const isFiltered = Boolean(searchValue)\n\n return (\n <Collapse\n in={isExpanded || isFiltered}\n sx={{ backgroundColor: 'background.default' }}\n timeout=\"auto\"\n unmountOnExit={true}\n >\n {ariaLive}\n <List\n aria-labelledby={`category-${parentCategory.guid}`}\n className=\"mx-cat-subcategory-list\"\n id={`subcategories-${parentCategory.guid}`}\n >\n {categories.map((category) => (\n <React.Fragment key={category.guid}>\n <SubcategoryRow\n announce={announce}\n parentCategory={parentCategory}\n subCategory={category}\n />\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n </React.Fragment>\n ))}\n {!isFiltered && <AddSubcategory announce={announce} parentCategory={parentCategory} />}\n </List>\n </Collapse>\n )\n}\n\nexport default observer(SubcategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { CategoryIcon } from '@mxenabled/mxui'\n\nimport { useEvent } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport SubcategoryList from './SubcategoryList'\n\ninterface CategoryRowProps {\n category: Category\n subCategories: Category[]\n}\n\nconst CategoryRow: React.FC<CategoryRowProps> = ({ category, subCategories }) => {\n const { expandedGuid, searchValue, setExpandedGuid } = useCategoryUiStore()\n const { onEvent } = useEvent()\n const isExpanded = category.guid === expandedGuid\n\n const handleExpanderClick = () => {\n const guid = category.guid !== expandedGuid ? category.guid : null\n setExpandedGuid(guid)\n onEvent(guid ? ON_CLICK_EVENTS.ON_CATEGORY_EXPANDED : ON_CLICK_EVENTS.ON_CATEGORY_COLLAPSED)\n }\n\n return (\n <React.Fragment>\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n aria-controls={`subcategories-${category.guid}`}\n aria-expanded={category.guid === expandedGuid}\n aria-label={category.name}\n id={`category-${category.guid}`}\n key={category.guid}\n onClick={handleExpanderClick}\n >\n <ListItemAvatar>\n <CategoryIcon categoryGuid={category.guid} />\n </ListItemAvatar>\n <ListItemText\n primary={category.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1' } }}\n />\n <ListItemIcon>\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded || searchValue ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </ListItemIcon>\n </ListItemButton>\n </ListItem>\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n <li style={{ listStyle: 'none' }}>\n <SubcategoryList categories={subCategories} parentCategory={category} />\n </li>\n </React.Fragment>\n )\n}\n\nexport default observer(CategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useCategoryStore, useGlobalCopyStore } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport CategoryRow from './CategoryRow'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface NestedCategory {\n category: Category\n children: Category[]\n}\n\nconst CategoryList: React.FC = () => {\n const { categories } = useCategoryStore()\n const { searchValue } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const buildNestedCategories = (categories: Category[], filter = ''): NestedCategory[] => {\n return categories.reduce((acc, currCategory) => {\n if (currCategory.parent_guid === null) {\n const categoriesWithParent = [\n {\n ...currCategory,\n name: buildDynamicCopy(copy.all_parent_category, currCategory.name) as string,\n parent_guid: currCategory.guid,\n },\n ...categories,\n ]\n const children = categoriesWithParent.filter(\n (category) =>\n category.parent_guid === currCategory.guid &&\n category.name.toLowerCase().includes(filter.toLowerCase()),\n )\n\n if (currCategory.name.toLowerCase().includes(filter.toLowerCase()) || children.length > 0) {\n return [...acc, { category: { ...currCategory }, children }]\n }\n }\n return acc\n }, [] as NestedCategory[])\n }\n\n const nestedCategories = buildNestedCategories(categories, searchValue)\n\n return (\n <Paper className=\"mx-cat-category-list\" sx={{ boxShadow: 'none' }}>\n <List>\n {nestedCategories.map((nested: NestedCategory) => (\n <CategoryRow\n category={nested.category}\n key={nested.category.guid}\n subCategories={nested.children}\n />\n ))}\n </List>\n </Paper>\n )\n}\n\nexport default observer(CategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport {\n Loader,\n SearchBox,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n} from '../../common'\n\nimport { useCategoryUiStore } from '../context/hooks'\n\nimport CategoryList from './CategoryList'\n\nexport interface CategorySelectorProps {\n initialSelected?: string\n onSelect: (guid: string) => void\n showSelected?: boolean\n unselectable?: string[]\n unselectableText?: string\n}\n\nconst CategorySelector: React.FC<CategorySelectorProps> = ({\n initialSelected,\n onSelect = undefined,\n showSelected = true,\n unselectable = [],\n unselectableText = 'Unselectable',\n}) => {\n const { categories, loadCategories } = useCategoryStore()\n const { common: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n const {\n searchValue,\n setOnSelect,\n setSearchValue,\n setSelectedGuid,\n setShowSelected,\n setUnselectable,\n setUnselectableText,\n } = useCategoryUiStore()\n\n React.useEffect(() => {\n if (onSelect) {\n setOnSelect(onSelect)\n }\n })\n\n React.useEffect(() => {\n if (!categories.length) {\n loadCategories()\n }\n }, [])\n\n React.useEffect(() => {\n if (initialSelected) {\n setSelectedGuid(initialSelected)\n }\n setShowSelected(showSelected)\n setUnselectable(unselectable)\n setUnselectableText(unselectableText)\n }, [initialSelected, showSelected, unselectable, unselectableText])\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Stack className=\"mx-cat-category-selector\" sx={{ width: '100%' }}>\n <SearchBox\n ariaLabel={copy.search_aria}\n cancelAriaLabel={copy.cancel_search_aria}\n onChange={(value) => setSearchValue(value)}\n placeholder={copy.search_placeholder}\n searchValue={searchValue}\n />\n <CategoryList />\n </Stack>\n )\n}\n\nexport default observer(CategorySelector)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\nimport CategorySelector from './CategorySelector'\n\nimport type { CategorySelectorProps } from './CategorySelector'\n\nexport interface CategorySelectorDrawerProps extends CategorySelectorProps {\n disableScroll?: boolean\n id?: string\n onClose: () => void\n title: string\n showDrawer: boolean\n}\n\nconst CategorySelectorDrawer: React.FC<CategorySelectorDrawerProps> = ({\n id,\n onClose,\n title,\n showDrawer,\n ...categorySelectorProps\n}) => {\n const { common: commonCopy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n className=\"mx-cat-category-selector-drawer\"\n id={id}\n isOpen={showDrawer}\n onClose={onClose}\n title={title}\n >\n <CategorySelector {...categorySelectorProps} />\n </Drawer>\n )\n}\n\nexport default observer(CategorySelectorDrawer)\n"],"names":["useCategoryUiStore","React","GlobalDataContext","useCategoryStore","ON_CLICK_EVENTS","CustomCategoryModalType","CustomCategoryModal","categoryName","onClose","onSave","isOpen","type","name","setName","copy","useGlobalCopyStore","setShouldDisableDrawerScroll","headingText","primaryText","isDeleteType","displayName","inputAriaLabel","buildDynamicCopy","jsx","Text","Dialog","DialogContent","TextField","e","CustomCategoryModal$1","observer","AddSubcategory","announce","parentCategory","showAdd","setShowAdd","addCategory","onEvent","useEvent","handleAdd","handleAdding","handleModalClose","jsxs","ListItem","ListItemButton","ListItemText","AddSubcategory$1","RenameSubcategory","setShowRename","subCategory","showRename","updateCategory","handleRename","RenameSubcategory$1","DeleteSubcategory","showDelete","setShowDelete","removeCategory","handleClose","handleDelete","DeleteSubcategory$1","SubcategoryRow","onSelect","selectedGuid","setSelectedGuid","showSelected","unselectable","unselectableText","isCustom","isSelected","isSelectable","item","CheckCircle","Chip","Box","IconButton","Edit","Delete","SubcategoryRow$1","SubcategoryList","categories","expandedGuid","searchValue","ariaLive","useAriaLive","isExpanded","isFiltered","Collapse","List","category","Divider","SubcategoryList$1","CategoryRow","subCategories","setExpandedGuid","handleExpanderClick","guid","ListItemAvatar","CategoryIcon","ListItemIcon","ExpandMore","CategoryRow$1","CategoryList","nestedCategories","filter","acc","currCategory","children","Paper","nested","CategoryList$1","CategorySelector","initialSelected","loadCategories","isCopyLoaded","useGlobalUiStore","setOnSelect","setSearchValue","setShowSelected","setUnselectable","setUnselectableText","Stack","SearchBox","value","Loader","CategorySelector$1","CategorySelectorDrawer","id","title","showDrawer","categorySelectorProps","commonCopy","Drawer","CategorySelectorDrawer$1"],"mappings":"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"}
1
+ {"version":3,"file":"CategorySelectorDrawer-k8AZYC8I.mjs","sources":["../src/categories/context/hooks.ts","../src/categories/constants/OnClickEvents.ts","../src/categories/components/CustomCategories/CustomCategoryModal.tsx","../src/categories/components/CustomCategories/AddSubcategory.tsx","../src/categories/components/CustomCategories/RenameSubcategory.tsx","../src/categories/components/CustomCategories/DeleteSubcategory.tsx","../src/categories/components/SubcategoryRow.tsx","../src/categories/components/SubcategoryList.tsx","../src/categories/components/CategoryRow.tsx","../src/categories/components/CategoryList.tsx","../src/categories/components/CategorySelector.tsx","../src/categories/components/CategorySelectorDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { GlobalDataContext, useCategoryStore } from '../../common'\n\nexport const useCategoryUiStore = () => {\n const context = React.useContext(GlobalDataContext)\n\n if (!context) {\n throw new Error('useCategoryUiStore() must be used within the GlobalDataContext')\n }\n\n return useCategoryStore().uiStore\n}\n","export const ON_CLICK_EVENTS = {\n ON_CATEGORY_EXPANDED: 'onCategoryExpanded',\n ON_CATEGORY_COLLAPSED: 'onCategoryCollapsed',\n ON_CATEGORY_SELECTED: 'onCategorySelected',\n ON_SUBCATEGORY_ADD_CLICK: 'onSubcategoryAddClick',\n ON_SUBCATEGORY_ADD_CANCEL_CLICK: 'onSubcategoryAddCancelClick',\n ON_SUBCATEGORY_ADDED: 'onSubcategoryAdded',\n ON_SUBCATEGORY_EDIT_CLICK: 'onSubcategoryEditClick',\n ON_SUBCATEGORY_EDIT_CANCEL_CLICK: 'onSubcategoryEditCancelClick',\n ON_SUBCATEGORY_DELETE_CLICK: 'onSubcategoryDeleteClick',\n ON_SUBCATEGORY_DELETED: 'onSubcategoryDeleted',\n ON_SUBCATEGORY_SAVED: 'onSubcategorySaved',\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { Text } from '@mxenabled/mxui'\nimport { TextField } from '@mxenabled/mxui'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\nimport type { DynamicCopyElement } from '../../../core'\nimport DialogContent from '@mui/material/DialogContent'\n\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nexport enum CustomCategoryModalType {\n ADD = 'add',\n EDIT = 'edit',\n DELETE = 'delete',\n}\n\ninterface CustomCategoryModalProps {\n categoryName?: string\n onClose: () => void\n onSave: (name: string) => void\n isOpen: boolean\n type: CustomCategoryModalType\n}\n\nconst CustomCategoryModal: React.FC<CustomCategoryModalProps> = ({\n categoryName = '',\n onClose,\n onSave,\n isOpen,\n type,\n}) => {\n const [name, setName] = React.useState(categoryName)\n const { categories: copy } = useGlobalCopyStore()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n let headingText = ''\n let primaryText: DynamicCopyElement = []\n\n const isDeleteType = type === CustomCategoryModalType.DELETE\n const displayName = categoryName.length > 50 ? `${categoryName.slice(0, 50)}...` : categoryName\n const inputAriaLabel =\n type === CustomCategoryModalType.EDIT\n ? (buildDynamicCopy(copy.edit_subcategory_aria, displayName) as string)\n : copy.add_subcategory_aria\n\n switch (type) {\n case CustomCategoryModalType.ADD:\n headingText = copy.add_subcategory_title\n break\n case CustomCategoryModalType.EDIT:\n headingText = buildDynamicCopy(copy.edit_subcategory_title, displayName) as string\n break\n case CustomCategoryModalType.DELETE:\n headingText = copy.delete_subcategory_heading\n primaryText = buildDynamicCopy(\n copy.all_transactions_in_this_subcategory,\n <Text bold={true} component=\"span\">\n {buildDynamicCopy(copy.all_parent_category, displayName) as string}\n </Text>,\n ) as DynamicCopyElement\n break\n }\n\n return (\n <Dialog\n copy={{\n title: headingText,\n }}\n disablePrimaryButton={!name}\n isOpen={isOpen}\n onClose={() => {\n setShouldDisableDrawerScroll(false)\n onClose()\n }}\n onPrimaryAction={() => {\n setShouldDisableDrawerScroll(false)\n onSave(name)\n }}\n >\n <DialogContent>\n {isDeleteType ? (\n (primaryText as React.ReactNode)\n ) : (\n <TextField\n label={inputAriaLabel}\n name=\"modify-subcategory\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setName(e.target.value)}\n placeholder={copy.input_placeholder}\n slotProps={{\n htmlInput: {\n 'aria-label': inputAriaLabel,\n maxLength: 50,\n },\n }}\n sx={{ width: '100%' }}\n truncate={true}\n value={name}\n />\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nexport default observer(CustomCategoryModal)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface AddSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n}\n\nconst AddSubcategory: React.FC<AddSubcategoryProps> = ({ announce, parentCategory }) => {\n const [showAdd, setShowAdd] = React.useState(false)\n const { addCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n const handleAdd = async (name: string) => {\n await addCategory(name.trim(), parentCategory.guid)\n announce(buildDynamicCopy(copy.add_subcategory_announcement, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADDED)\n setShowAdd(false)\n }\n\n const handleAdding = async () => {\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CLICK)\n setShouldDisableDrawerScroll(true)\n setShowAdd(true)\n }\n\n const handleModalClose = () => {\n setShowAdd(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CANCEL_CLICK)\n }\n\n return (\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton onClick={handleAdding} sx={{ ml: 60 }}>\n <ListItemText\n primary={copy.add_subcategory_button}\n slotProps={{ primary: { color: 'primary', fontWeight: 'normal', variant: 'body1' } }}\n />\n </ListItemButton>\n\n {showAdd && (\n <CustomCategoryModal\n isOpen={showAdd}\n onClose={handleModalClose}\n onSave={handleAdd}\n type={CustomCategoryModalType.ADD}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(AddSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal from './CustomCategoryModal'\n\nimport { CustomCategoryModalType } from './CustomCategoryModal'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\ninterface RenameSubcategoryProps {\n announce: (message: string) => void\n setShowRename: (show: boolean) => void\n subCategory: Category\n showRename: boolean\n}\n\nconst RenameSubcategory: React.FC<RenameSubcategoryProps> = ({\n announce,\n setShowRename,\n subCategory,\n showRename,\n}) => {\n const { onEvent } = useEvent()\n const { updateCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleRename = async (name: string) => {\n await updateCategory({ ...subCategory, name })\n announce(buildDynamicCopy(copy.edit_subcategory_announcement, subCategory.name, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_SAVED)\n setShowRename(false)\n }\n\n const handleModalClose = () => {\n setShowRename(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CANCEL_CLICK)\n }\n\n return (\n <CustomCategoryModal\n categoryName={subCategory.name}\n isOpen={showRename}\n onClose={handleModalClose}\n onSave={handleRename}\n type={CustomCategoryModalType.EDIT}\n />\n )\n}\n\nexport default observer(RenameSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport type { Category } from '../../../core'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeleteSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n showDelete: boolean\n setShowDelete: (isOpen: boolean) => void\n subCategory: Category\n}\n\nconst DeleteSubcategory: React.FC<DeleteSubcategoryProps> = ({\n announce,\n parentCategory,\n showDelete,\n setShowDelete,\n subCategory,\n}) => {\n const { onEvent } = useEvent()\n const { removeCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleClose = () => {\n setShowDelete(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }\n\n const handleDelete = async () => {\n await removeCategory(subCategory.guid)\n announce(buildDynamicCopy(copy.delete_subcategory_announcement, subCategory.name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETED)\n setShowDelete(false)\n }\n\n return (\n <CustomCategoryModal\n categoryName={parentCategory.name}\n isOpen={showDelete}\n onClose={handleClose}\n onSave={handleDelete}\n type={CustomCategoryModalType.DELETE}\n />\n )\n}\n\nexport default observer(DeleteSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Chip from '@mui/material/Chip'\nimport IconButton from '@mui/material/IconButton'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { CheckCircle, Delete, Edit } from '@mxenabled/mx-icons'\n\nimport type { Category } from '../../core'\n\nimport RenameSubcategory from './CustomCategories/RenameSubcategory'\nimport DeleteSubcategory from './CustomCategories/DeleteSubcategory'\n\nimport { useEvent, useGlobalCopyStore } from '../../common'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface SubcategoryRowProps {\n announce: (message: string) => void\n parentCategory: Category\n subCategory: Category\n}\n\nconst SubcategoryRow: React.FC<SubcategoryRowProps> = ({\n announce,\n parentCategory,\n subCategory,\n}) => {\n const {\n onSelect,\n selectedGuid,\n setSelectedGuid,\n setShouldDisableDrawerScroll,\n showSelected,\n unselectable,\n unselectableText,\n } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n\n const [showRename, setShowRename] = React.useState(false)\n const [showDelete, setShowDelete] = React.useState(false)\n\n const isCustom = Boolean(subCategory.revision)\n const isSelected = subCategory.guid === selectedGuid\n const isSelectable = !unselectable.some((item) => item === subCategory.guid)\n const handleClick = () => {\n if (isSelectable) {\n // Internal state\n setSelectedGuid(subCategory.guid)\n // External notification\n onSelect(subCategory.guid)\n onEvent(ON_CLICK_EVENTS.ON_CATEGORY_SELECTED)\n }\n }\n\n return (\n <ListItem\n className=\"mx-cat-subcategory-row\"\n disableGutters={true}\n disablePadding={true}\n sx={{ pl: 58 }}\n >\n <ListItemButton\n aria-pressed={isSelected}\n color=\"secondary\"\n onClick={handleClick}\n sx={{ height: 44, minWidth: 0, overflow: 'hidden' }}\n >\n <ListItemText\n primary={subCategory.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1', noWrap: true } }}\n />\n {showSelected && isSelected && <CheckCircle fontSize=\"small\" />}\n {!isSelectable && <Chip label={unselectableText} />}\n </ListItemButton>\n {isCustom && (\n <Box\n className={`mx-cat-subcategory-edit-container`}\n sx={{ marginRight: 24, flexShrink: 0 }}\n >\n <IconButton\n aria-label={buildDynamicCopy(copy.edit_subcategory_title, subCategory.name) as string}\n onClick={() => {\n setShowRename(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CLICK)\n }}\n >\n <Edit color=\"secondary\" />\n </IconButton>\n <IconButton\n aria-label={buildDynamicCopy(copy.delete_subcategory_aria, subCategory.name) as string}\n edge=\"end\"\n onClick={() => {\n setShowDelete(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }}\n >\n <Delete color=\"secondary\" />\n </IconButton>\n </Box>\n )}\n {showDelete && (\n <DeleteSubcategory\n announce={announce}\n parentCategory={parentCategory}\n setShowDelete={setShowDelete}\n showDelete={showDelete}\n subCategory={subCategory}\n />\n )}\n {showRename && (\n <RenameSubcategory\n announce={announce}\n setShowRename={setShowRename}\n showRename={showRename}\n subCategory={subCategory}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(SubcategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Collapse from '@mui/material/Collapse'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport type { Category } from '../../core'\nimport AddSubcategory from './CustomCategories/AddSubcategory'\nimport SubcategoryRow from './SubcategoryRow'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { useAriaLive } from '../../common/hooks/useAriaLive'\n\ninterface SubcategoryListProps {\n categories: Category[]\n parentCategory: Category\n}\n\nconst SubcategoryList: React.FC<SubcategoryListProps> = ({ categories, parentCategory }) => {\n const { expandedGuid, searchValue } = useCategoryUiStore()\n const { announce, ariaLive } = useAriaLive()\n const isExpanded = parentCategory.guid === expandedGuid\n const isFiltered = Boolean(searchValue)\n\n return (\n <Collapse\n in={isExpanded || isFiltered}\n sx={{ backgroundColor: 'background.default' }}\n timeout=\"auto\"\n unmountOnExit={true}\n >\n {ariaLive}\n <List\n aria-labelledby={`category-${parentCategory.guid}`}\n className=\"mx-cat-subcategory-list\"\n id={`subcategories-${parentCategory.guid}`}\n >\n {categories.map((category) => (\n <React.Fragment key={category.guid}>\n <SubcategoryRow\n announce={announce}\n parentCategory={parentCategory}\n subCategory={category}\n />\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n </React.Fragment>\n ))}\n {!isFiltered && <AddSubcategory announce={announce} parentCategory={parentCategory} />}\n </List>\n </Collapse>\n )\n}\n\nexport default observer(SubcategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { CategoryIcon } from '@mxenabled/mxui'\n\nimport { useEvent } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport SubcategoryList from './SubcategoryList'\n\ninterface CategoryRowProps {\n category: Category\n subCategories: Category[]\n}\n\nconst CategoryRow: React.FC<CategoryRowProps> = ({ category, subCategories }) => {\n const { expandedGuid, searchValue, setExpandedGuid } = useCategoryUiStore()\n const { onEvent } = useEvent()\n const isExpanded = category.guid === expandedGuid\n\n const handleExpanderClick = () => {\n const guid = category.guid !== expandedGuid ? category.guid : null\n setExpandedGuid(guid)\n onEvent(guid ? ON_CLICK_EVENTS.ON_CATEGORY_EXPANDED : ON_CLICK_EVENTS.ON_CATEGORY_COLLAPSED)\n }\n\n return (\n <React.Fragment>\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n aria-controls={`subcategories-${category.guid}`}\n aria-expanded={category.guid === expandedGuid}\n aria-label={category.name}\n id={`category-${category.guid}`}\n key={category.guid}\n onClick={handleExpanderClick}\n >\n <ListItemAvatar>\n <CategoryIcon categoryGuid={category.guid} />\n </ListItemAvatar>\n <ListItemText\n primary={category.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1' } }}\n />\n <ListItemIcon>\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded || searchValue ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </ListItemIcon>\n </ListItemButton>\n </ListItem>\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n <li style={{ listStyle: 'none' }}>\n <SubcategoryList categories={subCategories} parentCategory={category} />\n </li>\n </React.Fragment>\n )\n}\n\nexport default observer(CategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useCategoryStore, useGlobalCopyStore } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport CategoryRow from './CategoryRow'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface NestedCategory {\n category: Category\n children: Category[]\n}\n\nconst CategoryList: React.FC = () => {\n const { categories } = useCategoryStore()\n const { searchValue } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const buildNestedCategories = (categories: Category[], filter = ''): NestedCategory[] => {\n return categories.reduce((acc, currCategory) => {\n if (currCategory.parent_guid === null) {\n const categoriesWithParent = [\n {\n ...currCategory,\n name: buildDynamicCopy(copy.all_parent_category, currCategory.name) as string,\n parent_guid: currCategory.guid,\n },\n ...categories,\n ]\n const children = categoriesWithParent.filter(\n (category) =>\n category.parent_guid === currCategory.guid &&\n category.name.toLowerCase().includes(filter.toLowerCase()),\n )\n\n if (currCategory.name.toLowerCase().includes(filter.toLowerCase()) || children.length > 0) {\n return [...acc, { category: { ...currCategory }, children }]\n }\n }\n return acc\n }, [] as NestedCategory[])\n }\n\n const nestedCategories = buildNestedCategories(categories, searchValue)\n\n return (\n <Paper className=\"mx-cat-category-list\" sx={{ boxShadow: 'none' }}>\n <List>\n {nestedCategories.map((nested: NestedCategory) => (\n <CategoryRow\n category={nested.category}\n key={nested.category.guid}\n subCategories={nested.children}\n />\n ))}\n </List>\n </Paper>\n )\n}\n\nexport default observer(CategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport {\n Loader,\n SearchBox,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n} from '../../common'\n\nimport { useCategoryUiStore } from '../context/hooks'\n\nimport CategoryList from './CategoryList'\n\nexport interface CategorySelectorProps {\n initialSelected?: string\n onSelect: (guid: string) => void\n showSelected?: boolean\n unselectable?: string[]\n unselectableText?: string\n}\n\nconst CategorySelector: React.FC<CategorySelectorProps> = ({\n initialSelected,\n onSelect = undefined,\n showSelected = true,\n unselectable = [],\n unselectableText = 'Unselectable',\n}) => {\n const { categories, loadCategories } = useCategoryStore()\n const { common: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n const {\n searchValue,\n setOnSelect,\n setSearchValue,\n setSelectedGuid,\n setShowSelected,\n setUnselectable,\n setUnselectableText,\n } = useCategoryUiStore()\n\n React.useEffect(() => {\n if (onSelect) {\n setOnSelect(onSelect)\n }\n })\n\n React.useEffect(() => {\n if (!categories.length) {\n loadCategories()\n }\n }, [])\n\n React.useEffect(() => {\n if (initialSelected) {\n setSelectedGuid(initialSelected)\n }\n setShowSelected(showSelected)\n setUnselectable(unselectable)\n setUnselectableText(unselectableText)\n }, [initialSelected, showSelected, unselectable, unselectableText])\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Stack className=\"mx-cat-category-selector\" sx={{ width: '100%' }}>\n <SearchBox\n ariaLabel={copy.search_aria}\n cancelAriaLabel={copy.cancel_search_aria}\n onChange={(value) => setSearchValue(value)}\n placeholder={copy.search_placeholder}\n searchValue={searchValue}\n />\n <CategoryList />\n </Stack>\n )\n}\n\nexport default observer(CategorySelector)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\nimport CategorySelector from './CategorySelector'\n\nimport type { CategorySelectorProps } from './CategorySelector'\n\nexport interface CategorySelectorDrawerProps extends CategorySelectorProps {\n disableScroll?: boolean\n id?: string\n onClose: () => void\n title: string\n showDrawer: boolean\n}\n\nconst CategorySelectorDrawer: React.FC<CategorySelectorDrawerProps> = ({\n id,\n onClose,\n title,\n showDrawer,\n ...categorySelectorProps\n}) => {\n const { common: commonCopy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n className=\"mx-cat-category-selector-drawer\"\n id={id}\n isOpen={showDrawer}\n onClose={onClose}\n title={title}\n >\n <CategorySelector {...categorySelectorProps} />\n </Drawer>\n )\n}\n\nexport default observer(CategorySelectorDrawer)\n"],"names":["useCategoryUiStore","React","GlobalDataContext","useCategoryStore","ON_CLICK_EVENTS","CustomCategoryModalType","CustomCategoryModal","categoryName","onClose","onSave","isOpen","type","name","setName","copy","useGlobalCopyStore","setShouldDisableDrawerScroll","headingText","primaryText","isDeleteType","displayName","inputAriaLabel","buildDynamicCopy","jsx","Text","Dialog","DialogContent","TextField","e","CustomCategoryModal$1","observer","AddSubcategory","announce","parentCategory","showAdd","setShowAdd","addCategory","onEvent","useEvent","handleAdd","handleAdding","handleModalClose","jsxs","ListItem","ListItemButton","ListItemText","AddSubcategory$1","RenameSubcategory","setShowRename","subCategory","showRename","updateCategory","handleRename","RenameSubcategory$1","DeleteSubcategory","showDelete","setShowDelete","removeCategory","handleClose","handleDelete","DeleteSubcategory$1","SubcategoryRow","onSelect","selectedGuid","setSelectedGuid","showSelected","unselectable","unselectableText","isCustom","isSelected","isSelectable","item","CheckCircle","Chip","Box","IconButton","Edit","Delete","SubcategoryRow$1","SubcategoryList","categories","expandedGuid","searchValue","ariaLive","useAriaLive","isExpanded","isFiltered","Collapse","List","category","Divider","SubcategoryList$1","CategoryRow","subCategories","setExpandedGuid","handleExpanderClick","guid","ListItemAvatar","CategoryIcon","ListItemIcon","ExpandMore","CategoryRow$1","CategoryList","nestedCategories","filter","acc","currCategory","children","Paper","nested","CategoryList$1","CategorySelector","initialSelected","loadCategories","isCopyLoaded","useGlobalUiStore","setOnSelect","setSearchValue","setShowSelected","setUnselectable","setUnselectableText","Stack","SearchBox","value","Loader","CategorySelector$1","CategorySelectorDrawer","id","title","showDrawer","categorySelectorProps","commonCopy","Drawer","CategorySelectorDrawer$1"],"mappings":"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"}
@@ -4,7 +4,7 @@ import i from "@mui/material/Box";
4
4
  import s from "@mui/material/CircularProgress";
5
5
  import a from "@mui/material/Stack";
6
6
  import { Text as m } from "@mxenabled/mxui";
7
- import { u as p } from "./hooks-97sNJ_lf.mjs";
7
+ import { u as p } from "./hooks-DWOrMnfZ.mjs";
8
8
  const g = ({ status: r = o.Loading }) => {
9
9
  const { connect: n } = p();
10
10
  return /* @__PURE__ */ t(
@@ -40,4 +40,4 @@ export {
40
40
  E as a,
41
41
  _ as b
42
42
  };
43
- //# sourceMappingURL=Connect-BH0Pt6zc.mjs.map
43
+ //# sourceMappingURL=Connect-tID_S_5e.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Connect-BH0Pt6zc.mjs","sources":["../src/accounts/components/ConnectStatus.tsx","../src/accounts/constants/Accounts.ts","../src/common/constants/Connect.ts"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { MemberConnectionStatus } from '../../accounts'\nimport { useGlobalCopyStore } from '../../common'\n\ninterface ConnectStatus {\n status?: MemberConnectionStatus\n}\n\nconst ConnectStatus: React.FC<ConnectStatus> = ({ status = MemberConnectionStatus.Loading }) => {\n const { connect: connectCopy } = useGlobalCopyStore()\n\n return (\n <Box\n sx={{\n height: 'calc(100% - 62px)',\n position: 'absolute',\n width: '100%',\n }}\n >\n <Stack alignItems=\"center\" direction=\"column\" justifyContent=\"center\" sx={{ height: '100%' }}>\n {status === MemberConnectionStatus.Loading && (\n <CircularProgress color=\"primary\" size={48} />\n )}\n <Text\n sx={{\n color: 'grey.600',\n marginTop: '16px',\n }}\n >\n {status === MemberConnectionStatus.Error ? connectCopy.oops : connectCopy.loading}\n </Text>\n </Stack>\n </Box>\n )\n}\n\nexport default observer(ConnectStatus)\n","export enum MemberConnectionStatus {\n Loading = 'loading',\n Error = 'error',\n}\n\nexport enum FieldType {\n Currency = 'currency',\n Date = 'date',\n Input = 'input',\n Select = 'select',\n}\n","export const CONNECT_WIDGET_ID = 'connect_widget'\nexport const CONNECTIONS_WIDGET_ID = 'connections_widget'\n"],"names":["ConnectStatus","status","MemberConnectionStatus","connectCopy","useGlobalCopyStore","jsx","Box","jsxs","Stack","CircularProgress","Text","ConnectStatus$1","observer","FieldType","CONNECT_WIDGET_ID","CONNECTIONS_WIDGET_ID"],"mappings":";;;;;;;AAeA,MAAMA,IAAyC,CAAC,EAAE,QAAAC,IAASC,EAAuB,cAAc;AAC9F,QAAM,EAAE,SAASC,EAAA,IAAgBC,EAAA;AAEjC,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAGT,UAAA,gBAAAC,EAACC,GAAA,EAAM,YAAW,UAAS,WAAU,UAAS,gBAAe,UAAS,IAAI,EAAE,QAAQ,OAAA,GACjF,UAAA;AAAA,QAAAP,MAAWC,EAAuB,WACjC,gBAAAG,EAACI,KAAiB,OAAM,WAAU,MAAM,IAAI;AAAA,QAE9C,gBAAAJ;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW;AAAA,YAAA;AAAA,YAGZ,UAAAT,MAAWC,EAAuB,QAAQC,EAAY,OAAOA,EAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MAC5E,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAQ,IAAeC,EAASZ,CAAa;AC3C9B,IAAKE,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,QAAQ,SAFEA,IAAAA,KAAA,CAAA,CAAA,GAKAW,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,SAAS,UAJCA,IAAAA,KAAA,CAAA,CAAA;ACLL,MAAMC,IAAoB,kBACpBC,IAAwB;"}
1
+ {"version":3,"file":"Connect-tID_S_5e.mjs","sources":["../src/accounts/components/ConnectStatus.tsx","../src/accounts/constants/Accounts.ts","../src/common/constants/Connect.ts"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { MemberConnectionStatus } from '../../accounts'\nimport { useGlobalCopyStore } from '../../common'\n\ninterface ConnectStatus {\n status?: MemberConnectionStatus\n}\n\nconst ConnectStatus: React.FC<ConnectStatus> = ({ status = MemberConnectionStatus.Loading }) => {\n const { connect: connectCopy } = useGlobalCopyStore()\n\n return (\n <Box\n sx={{\n height: 'calc(100% - 62px)',\n position: 'absolute',\n width: '100%',\n }}\n >\n <Stack alignItems=\"center\" direction=\"column\" justifyContent=\"center\" sx={{ height: '100%' }}>\n {status === MemberConnectionStatus.Loading && (\n <CircularProgress color=\"primary\" size={48} />\n )}\n <Text\n sx={{\n color: 'grey.600',\n marginTop: '16px',\n }}\n >\n {status === MemberConnectionStatus.Error ? connectCopy.oops : connectCopy.loading}\n </Text>\n </Stack>\n </Box>\n )\n}\n\nexport default observer(ConnectStatus)\n","export enum MemberConnectionStatus {\n Loading = 'loading',\n Error = 'error',\n}\n\nexport enum FieldType {\n Currency = 'currency',\n Date = 'date',\n Input = 'input',\n Select = 'select',\n}\n","export const CONNECT_WIDGET_ID = 'connect_widget'\nexport const CONNECTIONS_WIDGET_ID = 'connections_widget'\n"],"names":["ConnectStatus","status","MemberConnectionStatus","connectCopy","useGlobalCopyStore","jsx","Box","jsxs","Stack","CircularProgress","Text","ConnectStatus$1","observer","FieldType","CONNECT_WIDGET_ID","CONNECTIONS_WIDGET_ID"],"mappings":";;;;;;;AAeA,MAAMA,IAAyC,CAAC,EAAE,QAAAC,IAASC,EAAuB,cAAc;AAC9F,QAAM,EAAE,SAASC,EAAA,IAAgBC,EAAA;AAEjC,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAGT,UAAA,gBAAAC,EAACC,GAAA,EAAM,YAAW,UAAS,WAAU,UAAS,gBAAe,UAAS,IAAI,EAAE,QAAQ,OAAA,GACjF,UAAA;AAAA,QAAAP,MAAWC,EAAuB,WACjC,gBAAAG,EAACI,KAAiB,OAAM,WAAU,MAAM,IAAI;AAAA,QAE9C,gBAAAJ;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW;AAAA,YAAA;AAAA,YAGZ,UAAAT,MAAWC,EAAuB,QAAQC,EAAY,OAAOA,EAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MAC5E,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAQ,IAAeC,EAASZ,CAAa;AC3C9B,IAAKE,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,QAAQ,SAFEA,IAAAA,KAAA,CAAA,CAAA,GAKAW,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,SAAS,UAJCA,IAAAA,KAAA,CAAA,CAAA;ACLL,MAAMC,IAAoB,kBACpBC,IAAwB;"}
@@ -7,7 +7,7 @@ import p from "@mui/material/CardHeader";
7
7
  import C from "@mui/material/Stack";
8
8
  import { AccountBalance as f, ChevronRight as h } from "@mxenabled/mx-icons";
9
9
  import { Text as a } from "@mxenabled/mxui";
10
- import { C as x } from "./ConnectDrawer-CW4LA3H3.mjs";
10
+ import { C as x } from "./ConnectDrawer-BQy4YYuc.mjs";
11
11
  const H = ({ description: i, label: e, title: c }) => {
12
12
  const [s, o] = n.useState(!1);
13
13
  return /* @__PURE__ */ r(n.Fragment, { children: [
@@ -52,4 +52,4 @@ const H = ({ description: i, label: e, title: c }) => {
52
52
  export {
53
53
  H as C
54
54
  };
55
- //# sourceMappingURL=ConnectCard-D7uxoH5Y.mjs.map
55
+ //# sourceMappingURL=ConnectCard-DcM6tUOX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectCard-D7uxoH5Y.mjs","sources":["../src/common/components/ConnectCard.tsx"],"sourcesContent":["import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport CardContent from '@mui/material/CardContent'\nimport CardHeader from '@mui/material/CardHeader'\nimport Stack from '@mui/material/Stack'\n\nimport { AccountBalance, ChevronRight } from '@mxenabled/mx-icons'\nimport { Text } from '@mxenabled/mxui'\n\nimport ConnectDrawer from './ConnectDrawer'\n\ninterface ConnectCardProps {\n description: string\n label: string\n title: string\n}\n\nexport const ConnectCard = ({ description, label, title }: ConnectCardProps) => {\n const [isConnectOpen, setIsConnectOpen] = React.useState(false)\n\n return (\n <React.Fragment>\n <Card sx={{ m: 24 }}>\n <CardHeader\n avatar={<AccountBalance />}\n sx={{ '.MuiCardHeader-avatar': { mr: 8 } }}\n title={\n <Text bold={true} variant=\"body1\">\n {title}\n </Text>\n }\n />\n <CardContent sx={{ ':last-child': { pb: 4 }, ml: 28, py: 0 }}>\n <Stack alignItems=\"flex-start\" spacing={2}>\n <Text color=\"text.secondary\" variant=\"subtitle2\">\n {description}\n </Text>\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsConnectOpen(true)}\n sx={{\n pl: 0,\n ':hover': {\n bgcolor: 'unset',\n },\n }}\n variant=\"text\"\n >\n {label}\n </Button>\n </Stack>\n </CardContent>\n </Card>\n\n <ConnectDrawer\n onClose={() => setIsConnectOpen(false)}\n showConnectWidget={isConnectOpen}\n title={label}\n />\n </React.Fragment>\n )\n}\n"],"names":["ConnectCard","description","label","title","isConnectOpen","setIsConnectOpen","React","jsxs","Card","jsx","CardHeader","AccountBalance","Text","CardContent","Stack","Button","ChevronRight","ConnectDrawer"],"mappings":";;;;;;;;;;AAmBO,MAAMA,IAAc,CAAC,EAAE,aAAAC,GAAa,OAAAC,GAAO,OAAAC,QAA8B;AAC9E,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAM,SAAS,EAAK;AAE9D,SACE,gBAAAC,EAACD,EAAM,UAAN,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAK,IAAI,EAAE,GAAG,MACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,0BAASC,GAAA,EAAe;AAAA,UACxB,IAAI,EAAE,yBAAyB,EAAE,IAAI,IAAE;AAAA,UACvC,OACE,gBAAAF,EAACG,GAAA,EAAK,MAAM,IAAM,SAAQ,SACvB,UAAAT,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,wBAGHU,GAAA,EAAY,IAAI,EAAE,eAAe,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KACvD,UAAA,gBAAAN,EAACO,KAAM,YAAW,cAAa,SAAS,GACtC,UAAA;AAAA,QAAA,gBAAAL,EAACG,GAAA,EAAK,OAAM,kBAAiB,SAAQ,aAClC,UAAAX,GACH;AAAA,QACA,gBAAAQ;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,2BAAUC,GAAA,EAAa;AAAA,YACvB,SAAS,MAAMX,EAAiB,EAAI;AAAA,YACpC,IAAI;AAAA,cACF,IAAI;AAAA,cACJ,UAAU;AAAA,gBACR,SAAS;AAAA,cAAA;AAAA,YACX;AAAA,YAEF,SAAQ;AAAA,YAEP,UAAAH;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,EAAA,CACF,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAO;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,SAAS,MAAMZ,EAAiB,EAAK;AAAA,QACrC,mBAAmBD;AAAA,QACnB,OAAOF;AAAA,MAAA;AAAA,IAAA;AAAA,EACT,GACF;AAEJ;"}
1
+ {"version":3,"file":"ConnectCard-DcM6tUOX.mjs","sources":["../src/common/components/ConnectCard.tsx"],"sourcesContent":["import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport CardContent from '@mui/material/CardContent'\nimport CardHeader from '@mui/material/CardHeader'\nimport Stack from '@mui/material/Stack'\n\nimport { AccountBalance, ChevronRight } from '@mxenabled/mx-icons'\nimport { Text } from '@mxenabled/mxui'\n\nimport ConnectDrawer from './ConnectDrawer'\n\ninterface ConnectCardProps {\n description: string\n label: string\n title: string\n}\n\nexport const ConnectCard = ({ description, label, title }: ConnectCardProps) => {\n const [isConnectOpen, setIsConnectOpen] = React.useState(false)\n\n return (\n <React.Fragment>\n <Card sx={{ m: 24 }}>\n <CardHeader\n avatar={<AccountBalance />}\n sx={{ '.MuiCardHeader-avatar': { mr: 8 } }}\n title={\n <Text bold={true} variant=\"body1\">\n {title}\n </Text>\n }\n />\n <CardContent sx={{ ':last-child': { pb: 4 }, ml: 28, py: 0 }}>\n <Stack alignItems=\"flex-start\" spacing={2}>\n <Text color=\"text.secondary\" variant=\"subtitle2\">\n {description}\n </Text>\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsConnectOpen(true)}\n sx={{\n pl: 0,\n ':hover': {\n bgcolor: 'unset',\n },\n }}\n variant=\"text\"\n >\n {label}\n </Button>\n </Stack>\n </CardContent>\n </Card>\n\n <ConnectDrawer\n onClose={() => setIsConnectOpen(false)}\n showConnectWidget={isConnectOpen}\n title={label}\n />\n </React.Fragment>\n )\n}\n"],"names":["ConnectCard","description","label","title","isConnectOpen","setIsConnectOpen","React","jsxs","Card","jsx","CardHeader","AccountBalance","Text","CardContent","Stack","Button","ChevronRight","ConnectDrawer"],"mappings":";;;;;;;;;;AAmBO,MAAMA,IAAc,CAAC,EAAE,aAAAC,GAAa,OAAAC,GAAO,OAAAC,QAA8B;AAC9E,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAM,SAAS,EAAK;AAE9D,SACE,gBAAAC,EAACD,EAAM,UAAN,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAK,IAAI,EAAE,GAAG,MACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,0BAASC,GAAA,EAAe;AAAA,UACxB,IAAI,EAAE,yBAAyB,EAAE,IAAI,IAAE;AAAA,UACvC,OACE,gBAAAF,EAACG,GAAA,EAAK,MAAM,IAAM,SAAQ,SACvB,UAAAT,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,wBAGHU,GAAA,EAAY,IAAI,EAAE,eAAe,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KACvD,UAAA,gBAAAN,EAACO,KAAM,YAAW,cAAa,SAAS,GACtC,UAAA;AAAA,QAAA,gBAAAL,EAACG,GAAA,EAAK,OAAM,kBAAiB,SAAQ,aAClC,UAAAX,GACH;AAAA,QACA,gBAAAQ;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,2BAAUC,GAAA,EAAa;AAAA,YACvB,SAAS,MAAMX,EAAiB,EAAI;AAAA,YACpC,IAAI;AAAA,cACF,IAAI;AAAA,cACJ,UAAU;AAAA,gBACR,SAAS;AAAA,cAAA;AAAA,YACX;AAAA,YAEF,SAAQ;AAAA,YAEP,UAAAH;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,EAAA,CACF,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAO;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,SAAS,MAAMZ,EAAiB,EAAK;AAAA,QACrC,mBAAmBD;AAAA,QACnB,OAAOF;AAAA,MAAA;AAAA,IAAA;AAAA,EACT,GACF;AAEJ;"}
@@ -3,8 +3,8 @@ import s from "react";
3
3
  import { observer as _ } from "mobx-react-lite";
4
4
  import { useTheme as g } from "@mui/material/styles";
5
5
  import { ConnectWidget as x } from "@mxenabled/web-widget-sdk";
6
- import { b as a, a as c, M as i } from "./Connect-BH0Pt6zc.mjs";
7
- import { c as D, d as L, u as w } from "./hooks-97sNJ_lf.mjs";
6
+ import { b as a, a as c, M as i } from "./Connect-tID_S_5e.mjs";
7
+ import { c as D, d as L, u as w } from "./hooks-DWOrMnfZ.mjs";
8
8
  import { D as y } from "./Drawer-DsnW2o0v.mjs";
9
9
  const I = ({
10
10
  loadWidgetProps: l,
@@ -55,4 +55,4 @@ const I = ({
55
55
  export {
56
56
  O as C
57
57
  };
58
- //# sourceMappingURL=ConnectDrawer-CW4LA3H3.mjs.map
58
+ //# sourceMappingURL=ConnectDrawer-BQy4YYuc.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectDrawer-CW4LA3H3.mjs","sources":["../src/common/components/ConnectDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { useTheme } from '@mui/material/styles'\nimport { ConnectWidget } from '@mxenabled/web-widget-sdk'\n\nimport ConnectStatus from '../../accounts/components/ConnectStatus'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\nimport { MemberConnectionStatus } from '../../accounts/constants/Accounts'\nimport { CONNECT_WIDGET_ID } from '../constants/Connect'\nimport { useConnectStore } from '../context/hooks'\n\ninterface ConnectDrawerProps {\n loadWidgetProps?: object\n onClose: () => void\n showConnectWidget: boolean\n title: string\n}\n\nconst ConnectDrawer: React.FC<ConnectDrawerProps> = ({\n loadWidgetProps,\n onClose,\n showConnectWidget,\n title,\n}) => {\n let connectWidget: ConnectWidget\n\n const { refreshAccounts } = useAccountStore()\n const { loadWidget } = useConnectStore()\n const { connect: connectCopy } = useGlobalCopyStore()\n const [isLoading, setIsLoading] = React.useState(false)\n const [hasError, setHasError] = React.useState(false)\n const {\n palette: { mode },\n } = useTheme()\n\n React.useEffect(() => {\n if (showConnectWidget) {\n setIsLoading(true)\n loadWidget({ mode: mode, ...loadWidgetProps }).then((res) => {\n connectWidget = new ConnectWidget({\n container: `#${CONNECT_WIDGET_ID}`,\n style: {\n border: 'none',\n height: 'calc(100% - 62px)',\n maxWidth: '450px',\n position: 'absolute',\n width: '100%',\n },\n url: res.url,\n onSsoUrlLoadError: () => {\n setIsLoading(false)\n setHasError(true)\n },\n onLoad: () => {\n setIsLoading(false)\n setHasError(false)\n },\n })\n })\n } else {\n setIsLoading(false)\n setHasError(false)\n }\n\n return () => {\n connectWidget?.unmount()\n }\n }, [showConnectWidget])\n\n return (\n <Drawer\n ariaLabelClose={connectCopy.close_manage_connection_aria}\n isOpen={showConnectWidget}\n onClose={() => {\n onClose()\n refreshAccounts()\n }}\n title={title}\n >\n <div id={CONNECT_WIDGET_ID}>\n {hasError && <ConnectStatus status={MemberConnectionStatus.Error} />}\n {isLoading && <ConnectStatus status={MemberConnectionStatus.Loading} />}\n </div>\n </Drawer>\n )\n}\n\nexport default observer(ConnectDrawer)\n"],"names":["ConnectDrawer","loadWidgetProps","onClose","showConnectWidget","title","connectWidget","refreshAccounts","useAccountStore","loadWidget","useConnectStore","connectCopy","useGlobalCopyStore","isLoading","setIsLoading","React","hasError","setHasError","mode","useTheme","res","ConnectWidget","CONNECT_WIDGET_ID","jsx","Drawer","jsxs","ConnectStatus","MemberConnectionStatus","ConnectDrawer$1","observer"],"mappings":";;;;;;;;AAkBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,MAAIC;AAEJ,QAAM,EAAE,iBAAAC,EAAA,IAAoBC,EAAA,GACtB,EAAE,YAAAC,EAAA,IAAeC,EAAA,GACjB,EAAE,SAASC,EAAA,IAAgBC,EAAA,GAC3B,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAAS,EAAK,GAChD,CAACC,GAAUC,CAAW,IAAIF,EAAM,SAAS,EAAK,GAC9C;AAAA,IACJ,SAAS,EAAE,MAAAG,EAAA;AAAA,EAAK,IACdC,EAAA;AAEJJ,SAAAA,EAAM,UAAU,OACVX,KACFU,EAAa,EAAI,GACjBL,EAAW,EAAE,MAAAS,GAAY,GAAGhB,EAAA,CAAiB,EAAE,KAAK,CAACkB,MAAQ;AAC3D,IAAAd,IAAgB,IAAIe,EAAc;AAAA,MAChC,WAAW,IAAIC,CAAiB;AAAA,MAChC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAET,KAAKF,EAAI;AAAA,MACT,mBAAmB,MAAM;AACvB,QAAAN,EAAa,EAAK,GAClBG,EAAY,EAAI;AAAA,MAClB;AAAA,MACA,QAAQ,MAAM;AACZ,QAAAH,EAAa,EAAK,GAClBG,EAAY,EAAK;AAAA,MACnB;AAAA,IAAA,CACD;AAAA,EACH,CAAC,MAEDH,EAAa,EAAK,GAClBG,EAAY,EAAK,IAGZ,MAAM;AACX,IAAAX,GAAe,QAAA;AAAA,EACjB,IACC,CAACF,CAAiB,CAAC,GAGpB,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBb,EAAY;AAAA,MAC5B,QAAQP;AAAA,MACR,SAAS,MAAM;AACb,QAAAD,EAAA,GACAI,EAAA;AAAA,MACF;AAAA,MACA,OAAAF;AAAA,MAEA,UAAA,gBAAAoB,EAAC,OAAA,EAAI,IAAIH,GACN,UAAA;AAAA,QAAAN,KAAY,gBAAAO,EAACG,GAAA,EAAc,QAAQC,EAAuB,OAAO;AAAA,QACjEd,KAAa,gBAAAU,EAACG,GAAA,EAAc,QAAQC,EAAuB,QAAA,CAAS;AAAA,MAAA,EAAA,CACvE;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAC,IAAeC,EAAS5B,CAAa;"}
1
+ {"version":3,"file":"ConnectDrawer-BQy4YYuc.mjs","sources":["../src/common/components/ConnectDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { useTheme } from '@mui/material/styles'\nimport { ConnectWidget } from '@mxenabled/web-widget-sdk'\n\nimport ConnectStatus from '../../accounts/components/ConnectStatus'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\nimport { MemberConnectionStatus } from '../../accounts/constants/Accounts'\nimport { CONNECT_WIDGET_ID } from '../constants/Connect'\nimport { useConnectStore } from '../context/hooks'\n\ninterface ConnectDrawerProps {\n loadWidgetProps?: object\n onClose: () => void\n showConnectWidget: boolean\n title: string\n}\n\nconst ConnectDrawer: React.FC<ConnectDrawerProps> = ({\n loadWidgetProps,\n onClose,\n showConnectWidget,\n title,\n}) => {\n let connectWidget: ConnectWidget\n\n const { refreshAccounts } = useAccountStore()\n const { loadWidget } = useConnectStore()\n const { connect: connectCopy } = useGlobalCopyStore()\n const [isLoading, setIsLoading] = React.useState(false)\n const [hasError, setHasError] = React.useState(false)\n const {\n palette: { mode },\n } = useTheme()\n\n React.useEffect(() => {\n if (showConnectWidget) {\n setIsLoading(true)\n loadWidget({ mode: mode, ...loadWidgetProps }).then((res) => {\n connectWidget = new ConnectWidget({\n container: `#${CONNECT_WIDGET_ID}`,\n style: {\n border: 'none',\n height: 'calc(100% - 62px)',\n maxWidth: '450px',\n position: 'absolute',\n width: '100%',\n },\n url: res.url,\n onSsoUrlLoadError: () => {\n setIsLoading(false)\n setHasError(true)\n },\n onLoad: () => {\n setIsLoading(false)\n setHasError(false)\n },\n })\n })\n } else {\n setIsLoading(false)\n setHasError(false)\n }\n\n return () => {\n connectWidget?.unmount()\n }\n }, [showConnectWidget])\n\n return (\n <Drawer\n ariaLabelClose={connectCopy.close_manage_connection_aria}\n isOpen={showConnectWidget}\n onClose={() => {\n onClose()\n refreshAccounts()\n }}\n title={title}\n >\n <div id={CONNECT_WIDGET_ID}>\n {hasError && <ConnectStatus status={MemberConnectionStatus.Error} />}\n {isLoading && <ConnectStatus status={MemberConnectionStatus.Loading} />}\n </div>\n </Drawer>\n )\n}\n\nexport default observer(ConnectDrawer)\n"],"names":["ConnectDrawer","loadWidgetProps","onClose","showConnectWidget","title","connectWidget","refreshAccounts","useAccountStore","loadWidget","useConnectStore","connectCopy","useGlobalCopyStore","isLoading","setIsLoading","React","hasError","setHasError","mode","useTheme","res","ConnectWidget","CONNECT_WIDGET_ID","jsx","Drawer","jsxs","ConnectStatus","MemberConnectionStatus","ConnectDrawer$1","observer"],"mappings":";;;;;;;;AAkBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,MAAIC;AAEJ,QAAM,EAAE,iBAAAC,EAAA,IAAoBC,EAAA,GACtB,EAAE,YAAAC,EAAA,IAAeC,EAAA,GACjB,EAAE,SAASC,EAAA,IAAgBC,EAAA,GAC3B,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAAS,EAAK,GAChD,CAACC,GAAUC,CAAW,IAAIF,EAAM,SAAS,EAAK,GAC9C;AAAA,IACJ,SAAS,EAAE,MAAAG,EAAA;AAAA,EAAK,IACdC,EAAA;AAEJJ,SAAAA,EAAM,UAAU,OACVX,KACFU,EAAa,EAAI,GACjBL,EAAW,EAAE,MAAAS,GAAY,GAAGhB,EAAA,CAAiB,EAAE,KAAK,CAACkB,MAAQ;AAC3D,IAAAd,IAAgB,IAAIe,EAAc;AAAA,MAChC,WAAW,IAAIC,CAAiB;AAAA,MAChC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAET,KAAKF,EAAI;AAAA,MACT,mBAAmB,MAAM;AACvB,QAAAN,EAAa,EAAK,GAClBG,EAAY,EAAI;AAAA,MAClB;AAAA,MACA,QAAQ,MAAM;AACZ,QAAAH,EAAa,EAAK,GAClBG,EAAY,EAAK;AAAA,MACnB;AAAA,IAAA,CACD;AAAA,EACH,CAAC,MAEDH,EAAa,EAAK,GAClBG,EAAY,EAAK,IAGZ,MAAM;AACX,IAAAX,GAAe,QAAA;AAAA,EACjB,IACC,CAACF,CAAiB,CAAC,GAGpB,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBb,EAAY;AAAA,MAC5B,QAAQP;AAAA,MACR,SAAS,MAAM;AACb,QAAAD,EAAA,GACAI,EAAA;AAAA,MACF;AAAA,MACA,OAAAF;AAAA,MAEA,UAAA,gBAAAoB,EAAC,OAAA,EAAI,IAAIH,GACN,UAAA;AAAA,QAAAN,KAAY,gBAAAO,EAACG,GAAA,EAAc,QAAQC,EAAuB,OAAO;AAAA,QACjEd,KAAa,gBAAAU,EAACG,GAAA,EAAc,QAAQC,EAAuB,QAAA,CAAS;AAAA,MAAA,EAAA,CACvE;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAC,IAAeC,EAAS5B,CAAa;"}
@@ -3,8 +3,8 @@ import s from "react";
3
3
  import { observer as E } from "mobx-react-lite";
4
4
  import { useTheme as _ } from "@mui/material/styles";
5
5
  import { ConnectionsWidget as b } from "@mxenabled/web-widget-sdk";
6
- import { C as a, a as c, M as i } from "./Connect-BH0Pt6zc.mjs";
7
- import { c as D, d as L, u as w } from "./hooks-97sNJ_lf.mjs";
6
+ import { C as a, a as c, M as i } from "./Connect-tID_S_5e.mjs";
7
+ import { c as D, d as L, u as w } from "./hooks-DWOrMnfZ.mjs";
8
8
  import { D as x } from "./Drawer-DsnW2o0v.mjs";
9
9
  const I = ({
10
10
  onClose: l,
@@ -51,4 +51,4 @@ const I = ({
51
51
  export {
52
52
  M as C
53
53
  };
54
- //# sourceMappingURL=ConnectionsDrawer-CZU9ku-k.mjs.map
54
+ //# sourceMappingURL=ConnectionsDrawer-C73ASLMj.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionsDrawer-CZU9ku-k.mjs","sources":["../src/accounts/components/ConnectionsDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport { ConnectionsWidget } from '@mxenabled/web-widget-sdk'\n\nimport ConnectStatus from './ConnectStatus'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\nimport { MemberConnectionStatus } from '../constants/Accounts'\nimport { CONNECTIONS_WIDGET_ID } from '../../common/constants/Connect'\nimport { useConnectStore } from '../../common/context/hooks'\n\ninterface ConnectionsDrawerProps {\n onClose: () => void\n showConnectionsWidget: boolean\n title: string\n}\n\nconst ConnectionsDrawer: React.FC<ConnectionsDrawerProps> = ({\n onClose,\n showConnectionsWidget,\n title,\n}) => {\n let connectionsWidget: ConnectionsWidget\n const { refreshAccounts } = useAccountStore()\n const { loadWidget } = useConnectStore()\n const { connect: connectCopy } = useGlobalCopyStore()\n const theme = useTheme()\n\n const [isLoading, setIsLoading] = React.useState(false)\n const [hasError, setHasError] = React.useState(false)\n\n React.useEffect(() => {\n if (showConnectionsWidget) {\n setIsLoading(true)\n loadWidget({ widget: 'connections_widget', mode: theme.palette.mode }).then((res) => {\n connectionsWidget = new ConnectionsWidget({\n container: `#${CONNECTIONS_WIDGET_ID}`,\n style: {\n border: 'none',\n height: 'calc(100% - 62px)',\n width: '100%',\n position: 'absolute',\n },\n url: res.url,\n onSsoUrlLoadError: () => {\n setIsLoading(false)\n setHasError(true)\n },\n onLoad: () => {\n setIsLoading(false)\n setHasError(false)\n },\n })\n })\n } else {\n setIsLoading(false)\n setHasError(false)\n }\n\n return () => {\n connectionsWidget?.unmount()\n }\n }, [showConnectionsWidget])\n\n return (\n <Drawer\n ariaLabelClose={connectCopy.close_connections_aria}\n isOpen={showConnectionsWidget}\n onClose={() => {\n onClose()\n refreshAccounts()\n }}\n title={title}\n >\n <div id={CONNECTIONS_WIDGET_ID}>\n {hasError && <ConnectStatus status={MemberConnectionStatus.Error} />}\n {isLoading && <ConnectStatus status={MemberConnectionStatus.Loading} />}\n </div>\n </Drawer>\n )\n}\n\nexport default observer(ConnectionsDrawer)\n"],"names":["ConnectionsDrawer","onClose","showConnectionsWidget","title","connectionsWidget","refreshAccounts","useAccountStore","loadWidget","useConnectStore","connectCopy","useGlobalCopyStore","theme","useTheme","isLoading","setIsLoading","React","hasError","setHasError","res","ConnectionsWidget","CONNECTIONS_WIDGET_ID","jsx","Drawer","jsxs","ConnectStatus","MemberConnectionStatus","ConnectionsDrawer$1","observer"],"mappings":";;;;;;;;AAmBA,MAAMA,IAAsD,CAAC;AAAA,EAC3D,SAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,MAAIC;AACJ,QAAM,EAAE,iBAAAC,EAAA,IAAoBC,EAAA,GACtB,EAAE,YAAAC,EAAA,IAAeC,EAAA,GACjB,EAAE,SAASC,EAAA,IAAgBC,EAAA,GAC3BC,IAAQC,EAAA,GAER,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAAS,EAAK,GAChD,CAACC,GAAUC,CAAW,IAAIF,EAAM,SAAS,EAAK;AAEpDA,SAAAA,EAAM,UAAU,OACVb,KACFY,EAAa,EAAI,GACjBP,EAAW,EAAE,QAAQ,sBAAsB,MAAMI,EAAM,QAAQ,KAAA,CAAM,EAAE,KAAK,CAACO,MAAQ;AACnF,IAAAd,IAAoB,IAAIe,EAAkB;AAAA,MACxC,WAAW,IAAIC,CAAqB;AAAA,MACpC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAKF,EAAI;AAAA,MACT,mBAAmB,MAAM;AACvB,QAAAJ,EAAa,EAAK,GAClBG,EAAY,EAAI;AAAA,MAClB;AAAA,MACA,QAAQ,MAAM;AACZ,QAAAH,EAAa,EAAK,GAClBG,EAAY,EAAK;AAAA,MACnB;AAAA,IAAA,CACD;AAAA,EACH,CAAC,MAEDH,EAAa,EAAK,GAClBG,EAAY,EAAK,IAGZ,MAAM;AACX,IAAAb,GAAmB,QAAA;AAAA,EACrB,IACC,CAACF,CAAqB,CAAC,GAGxB,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBb,EAAY;AAAA,MAC5B,QAAQP;AAAA,MACR,SAAS,MAAM;AACb,QAAAD,EAAA,GACAI,EAAA;AAAA,MACF;AAAA,MACA,OAAAF;AAAA,MAEA,UAAA,gBAAAoB,EAAC,OAAA,EAAI,IAAIH,GACN,UAAA;AAAA,QAAAJ,KAAY,gBAAAK,EAACG,GAAA,EAAc,QAAQC,EAAuB,OAAO;AAAA,QACjEZ,KAAa,gBAAAQ,EAACG,GAAA,EAAc,QAAQC,EAAuB,QAAA,CAAS;AAAA,MAAA,EAAA,CACvE;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAC,IAAeC,EAAS3B,CAAiB;"}
1
+ {"version":3,"file":"ConnectionsDrawer-C73ASLMj.mjs","sources":["../src/accounts/components/ConnectionsDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport { ConnectionsWidget } from '@mxenabled/web-widget-sdk'\n\nimport ConnectStatus from './ConnectStatus'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\nimport { MemberConnectionStatus } from '../constants/Accounts'\nimport { CONNECTIONS_WIDGET_ID } from '../../common/constants/Connect'\nimport { useConnectStore } from '../../common/context/hooks'\n\ninterface ConnectionsDrawerProps {\n onClose: () => void\n showConnectionsWidget: boolean\n title: string\n}\n\nconst ConnectionsDrawer: React.FC<ConnectionsDrawerProps> = ({\n onClose,\n showConnectionsWidget,\n title,\n}) => {\n let connectionsWidget: ConnectionsWidget\n const { refreshAccounts } = useAccountStore()\n const { loadWidget } = useConnectStore()\n const { connect: connectCopy } = useGlobalCopyStore()\n const theme = useTheme()\n\n const [isLoading, setIsLoading] = React.useState(false)\n const [hasError, setHasError] = React.useState(false)\n\n React.useEffect(() => {\n if (showConnectionsWidget) {\n setIsLoading(true)\n loadWidget({ widget: 'connections_widget', mode: theme.palette.mode }).then((res) => {\n connectionsWidget = new ConnectionsWidget({\n container: `#${CONNECTIONS_WIDGET_ID}`,\n style: {\n border: 'none',\n height: 'calc(100% - 62px)',\n width: '100%',\n position: 'absolute',\n },\n url: res.url,\n onSsoUrlLoadError: () => {\n setIsLoading(false)\n setHasError(true)\n },\n onLoad: () => {\n setIsLoading(false)\n setHasError(false)\n },\n })\n })\n } else {\n setIsLoading(false)\n setHasError(false)\n }\n\n return () => {\n connectionsWidget?.unmount()\n }\n }, [showConnectionsWidget])\n\n return (\n <Drawer\n ariaLabelClose={connectCopy.close_connections_aria}\n isOpen={showConnectionsWidget}\n onClose={() => {\n onClose()\n refreshAccounts()\n }}\n title={title}\n >\n <div id={CONNECTIONS_WIDGET_ID}>\n {hasError && <ConnectStatus status={MemberConnectionStatus.Error} />}\n {isLoading && <ConnectStatus status={MemberConnectionStatus.Loading} />}\n </div>\n </Drawer>\n )\n}\n\nexport default observer(ConnectionsDrawer)\n"],"names":["ConnectionsDrawer","onClose","showConnectionsWidget","title","connectionsWidget","refreshAccounts","useAccountStore","loadWidget","useConnectStore","connectCopy","useGlobalCopyStore","theme","useTheme","isLoading","setIsLoading","React","hasError","setHasError","res","ConnectionsWidget","CONNECTIONS_WIDGET_ID","jsx","Drawer","jsxs","ConnectStatus","MemberConnectionStatus","ConnectionsDrawer$1","observer"],"mappings":";;;;;;;;AAmBA,MAAMA,IAAsD,CAAC;AAAA,EAC3D,SAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,MAAIC;AACJ,QAAM,EAAE,iBAAAC,EAAA,IAAoBC,EAAA,GACtB,EAAE,YAAAC,EAAA,IAAeC,EAAA,GACjB,EAAE,SAASC,EAAA,IAAgBC,EAAA,GAC3BC,IAAQC,EAAA,GAER,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAAS,EAAK,GAChD,CAACC,GAAUC,CAAW,IAAIF,EAAM,SAAS,EAAK;AAEpDA,SAAAA,EAAM,UAAU,OACVb,KACFY,EAAa,EAAI,GACjBP,EAAW,EAAE,QAAQ,sBAAsB,MAAMI,EAAM,QAAQ,KAAA,CAAM,EAAE,KAAK,CAACO,MAAQ;AACnF,IAAAd,IAAoB,IAAIe,EAAkB;AAAA,MACxC,WAAW,IAAIC,CAAqB;AAAA,MACpC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAKF,EAAI;AAAA,MACT,mBAAmB,MAAM;AACvB,QAAAJ,EAAa,EAAK,GAClBG,EAAY,EAAI;AAAA,MAClB;AAAA,MACA,QAAQ,MAAM;AACZ,QAAAH,EAAa,EAAK,GAClBG,EAAY,EAAK;AAAA,MACnB;AAAA,IAAA,CACD;AAAA,EACH,CAAC,MAEDH,EAAa,EAAK,GAClBG,EAAY,EAAK,IAGZ,MAAM;AACX,IAAAb,GAAmB,QAAA;AAAA,EACrB,IACC,CAACF,CAAqB,CAAC,GAGxB,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBb,EAAY;AAAA,MAC5B,QAAQP;AAAA,MACR,SAAS,MAAM;AACb,QAAAD,EAAA,GACAI,EAAA;AAAA,MACF;AAAA,MACA,OAAAF;AAAA,MAEA,UAAA,gBAAAoB,EAAC,OAAA,EAAI,IAAIH,GACN,UAAA;AAAA,QAAAJ,KAAY,gBAAAK,EAACG,GAAA,EAAc,QAAQC,EAAuB,OAAO;AAAA,QACjEZ,KAAa,gBAAAQ,EAACG,GAAA,EAAc,QAAQC,EAAuB,QAAA,CAAS;AAAA,MAAA,EAAA,CACvE;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAC,IAAeC,EAAS3B,CAAiB;"}
@@ -5,7 +5,7 @@ import { v4 as q } from "uuid";
5
5
  import { TextField as B, P as p } from "@mxenabled/mxui";
6
6
  import { g as L, C as O, f as y, M as C } from "./NumberFormatting--XMeeBfr.mjs";
7
7
  import { b as h, g as b } from "./Localization-DnoVyBNK.mjs";
8
- import { u as W } from "./hooks-97sNJ_lf.mjs";
8
+ import { u as W } from "./hooks-DWOrMnfZ.mjs";
9
9
  const J = ({
10
10
  allowDecimals: o = !0,
11
11
  ariaLabel: g,
@@ -85,4 +85,4 @@ const J = ({
85
85
  export {
86
86
  J as C
87
87
  };
88
- //# sourceMappingURL=CurrencyInput-DaGEQaLW.mjs.map
88
+ //# sourceMappingURL=CurrencyInput-CABYmqBh.mjs.map