@mx-cartographer/experiences 9.4.54 → 9.4.56

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 (29) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/budgets/components/BudgetDetailsDrawer.es.js +14 -14
  3. package/dist/budgets/components/BudgetDetailsDrawer.es.js.map +1 -1
  4. package/dist/budgets/components/budgetdetails/BudgetDetails.es.js +14 -11
  5. package/dist/budgets/components/budgetdetails/BudgetDetails.es.js.map +1 -1
  6. package/dist/budgets/components/budgetdetails/SubBudgetList.d.ts +4 -2
  7. package/dist/budgets/components/budgetdetails/SubBudgetList.es.js +38 -35
  8. package/dist/budgets/components/budgetdetails/SubBudgetList.es.js.map +1 -1
  9. package/dist/cashflow/CashflowOnboarding.es.js +20 -20
  10. package/dist/cashflow/CashflowOnboarding.es.js.map +1 -1
  11. package/dist/cashflow/components/onboarding/StepOne.es.js +5 -5
  12. package/dist/cashflow/components/onboarding/StepOne.es.js.map +1 -1
  13. package/dist/common/components/calendar/Calendar.d.ts +1 -0
  14. package/dist/common/components/calendar/Calendar.es.js.map +1 -1
  15. package/dist/common/components/drawer/Drawer.es.js +9 -9
  16. package/dist/common/components/drawer/Drawer.es.js.map +1 -1
  17. package/dist/common/components/drawer/Footer.es.js +6 -6
  18. package/dist/common/components/drawer/Footer.es.js.map +1 -1
  19. package/dist/finstrong/components/ManageDOB.es.js +16 -16
  20. package/dist/goals/components/actions/BirthdayAction.es.js +11 -11
  21. package/dist/recurringtransactions/components/PaymentSchedule.es.js +11 -11
  22. package/dist/settings/components/profile/ProfileTab.es.js +28 -28
  23. package/dist/settings/components/transactionrules/actions/DeleteRuleAction.es.js +7 -7
  24. package/dist/settings/components/transactionrules/actions/DeleteRuleAction.es.js.map +1 -1
  25. package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js +59 -53
  26. package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js.map +1 -1
  27. package/dist/transactions/components/shared/transactiondetails/actions/ExcludeAction.es.js +0 -1
  28. package/dist/transactions/components/shared/transactiondetails/actions/ExcludeAction.es.js.map +1 -1
  29. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CashflowOnboarding.es.js","names":[],"sources":["../../src/cashflow/CashflowOnboarding.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { formatISO } from 'date-fns/formatISO'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\nimport { getUnixTime } from 'date-fns/getUnixTime'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\nimport { keyframes } from '@mui/material/styles'\nimport { useTheme } from '@mui/material/styles'\n\nimport { H2, Icon, P } from '@mxenabled/mxui'\n\nimport StepOne from './components/onboarding/StepOne'\nimport StepTwo from './components/onboarding/StepTwo'\n\nimport {\n Loader,\n useCashflowStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useScreenSize,\n useTransactionStore,\n useUserStore,\n} from '../common'\nimport { type RepeatingTransaction, type Transaction, RepeatingType, Frequency } from '../core'\nimport SubheaderRow from '../common/components/SubheaderRow'\n\nimport { useCashflowUiStore } from './context/hooks'\n\nimport { TransactionRow } from '../transactions'\nimport { incomeFilter, incomeFilterSearch } from '../transactions/utils/Filters'\n\nimport { AddRecurringTransactionDetails } from '../recurringtransactions'\nimport { SelectTransaction } from '../recurringtransactions'\nimport { getNextPaymentDate } from '../core/utils/RecurringTransactionsUtil'\n\nimport { fromUnixToDayOfWeekAndDate } from '../core/utils/DateUtil'\nimport { CASHFLOW_IMAGES } from './constants/CashflowImages'\n\ninterface UpcomingTransactions extends Transaction {\n nextDate: Date | null\n frequency: Frequency\n}\n\nconst spin = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst CashflowOnboarding: React.FC = () => {\n const { addRepeatingTransaction, repeatingTransactions } = useRecurringTransactionsStore()\n const { cashflow: customCopy, common: commonCopy } = useGlobalCopyStore()\n const { user } = useUserStore()\n const { completeOnboarding } = useCashflowStore()\n const { isDirty } = useCashflowUiStore()\n const { isMobile } = useScreenSize()\n const { isCopyLoaded, setDisplayedDate } = useGlobalUiStore()\n const { filter, setFilter, transactions } = useTransactionStore()\n const theme = useTheme()\n\n const [addIncome, setAddIncome] = useState(true)\n const [frequency, setFrequency] = React.useState(Frequency.EveryMonth)\n const [firstDay, setFirstDay] = React.useState(1)\n const [secondDay, setSecondDay] = React.useState(15)\n const [isSubmitting, setIsSubmitting] = useState(false)\n // const [nextDate, setNextDate] = React.useState<Date | null>(null)\n const [step, setStep] = useState(1)\n const [selectedTransactions, setSelectedTransactions] = useState<UpcomingTransactions[] | []>([])\n const [transactionGuid, setTransactionGuid] = useState('')\n\n const transaction = React.useMemo(\n () => transactions.find((t) => t.guid === transactionGuid),\n [transactionGuid, transactions],\n )\n\n const canSubmit = !!repeatingTransactions.filter(\n (r) => r.repeating_transaction_type === RepeatingType.Income,\n ).length\n\n const handleGetTransactions = async () => {\n setStep(2)\n // set transaction date range and filter by income\n setDisplayedDate(\n // Beginning of the month, 90 days before today\n startOfMonth(subDays(startOfToday(), 90)),\n startOfToday(),\n )\n\n setFilter({ ...filter, custom: incomeFilter })\n\n setStep(3)\n }\n\n const handleAddIncome = async () => {\n if (selectedTransactions.length < 1) {\n return\n }\n setIsSubmitting(true)\n\n // Create Repeating Transactions\n for (let i = 0; i < selectedTransactions.length; i++) {\n const upcomingTransaction = selectedTransactions[i]\n\n const nextDate = getNextPaymentDate(frequency, fromUnixTime(upcomingTransaction.date))\n\n const repeatingTransaction = {\n account_guid: upcomingTransaction.account_guid,\n amount: upcomingTransaction.amount,\n created_by: 0, //user\n merchant_guid: upcomingTransaction.merchant_guid,\n description: upcomingTransaction.feed_description || upcomingTransaction.description,\n predicted_occurs_on: formatISO(nextDate, { representation: 'date' }),\n recurrence_day: nextDate.getDay(),\n recurrence_type: frequency,\n repeating_transaction_type: RepeatingType.Income,\n second_recurrence_day: secondDay,\n transaction_type: upcomingTransaction.transaction_type,\n user_guid: user.guid,\n } as RepeatingTransaction\n\n await addRepeatingTransaction(repeatingTransaction, upcomingTransaction)\n }\n await completeOnboarding()\n }\n\n const showSelectIncome =\n (!transaction && addIncome) || (!transaction && selectedTransactions.length < 1)\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: !isMobile ? 'center' : 'flex-start',\n backgroundColor: theme.palette.background.paper,\n backgroundImage: !isMobile ? `url(${CASHFLOW_IMAGES.CASHFLOW_ONBOARDING})` : null,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'left 100px',\n backgroundSize: '35%',\n py: 24,\n }}\n >\n {step === 1 && (\n <Box\n sx={{\n ...(isMobile\n ? { display: 'flex', flexDirection: 'column', maxWidth: '100%', padding: '0 16px' }\n : { maxWidth: 590, ml: '40%', mr: 90 }),\n }}\n >\n <StepOne handleNextStep={handleGetTransactions} />\n </Box>\n )}\n {step === 2 && (\n <Box\n sx={{\n ...(isMobile\n ? { display: 'flex', flexDirection: 'column', maxWidth: '100%', padding: '0 16px' }\n : { maxWidth: 590, ml: '40%', mr: 90 }),\n }}\n >\n <StepTwo />\n </Box>\n )}\n {step === 3 && (\n <Box\n sx={{\n ...(isMobile\n ? { display: 'flex', flexDirection: 'column', maxWidth: '100%', padding: '0 16px' }\n : { maxWidth: 590, ml: '40%', mr: 90 }),\n }}\n >\n <H2 pb={12} variant=\"h1\">\n {customCopy.add_income_title}\n </H2>\n <P mb={24}>{customCopy.add_income_description}</P>\n\n {selectedTransactions.length > 0 && !transaction && (\n <>\n <List>\n {selectedTransactions.map((transaction, index) => {\n return (\n <React.Fragment key={transaction.guid}>\n <SubheaderRow bgcolor=\"background.paper\">\n {fromUnixToDayOfWeekAndDate(\n getUnixTime(transaction.nextDate || transaction.date),\n )}\n </SubheaderRow>\n <TransactionRow transaction={transaction} />\n {index !== selectedTransactions.length - 1 && <Divider />}\n </React.Fragment>\n )\n })}\n </List>\n <Stack alignItems=\"center\" direction=\"row\">\n <Divider sx={{ flexGrow: 1 }} />\n <Button\n onClick={() => setAddIncome(true)}\n startIcon={<Icon name=\"add\" size={20} />}\n >\n {customCopy.add_income}\n </Button>\n </Stack>\n </>\n )}\n\n {showSelectIncome && (\n <SelectTransaction\n bgcolor=\"background.paper\"\n onSearch={(searchValue) =>\n setFilter({\n ...filter,\n custom: (transaction: Transaction) =>\n searchValue\n ? incomeFilterSearch(transaction, searchValue)\n : incomeFilter(transaction),\n })\n }\n onSelected={(guid) => {\n setTransactionGuid(guid)\n setAddIncome(false)\n }}\n />\n )}\n\n {!canSubmit && isDirty && (\n <P color=\"error\" mt={16}>\n {customCopy.confirm_error}\n </P>\n )}\n\n {transaction && (\n <>\n <AddRecurringTransactionDetails\n bgcolor=\"background.paper\"\n firstDay={firstDay}\n frequency={frequency}\n onFirstDayChange={setFirstDay}\n onFrequencyChange={setFrequency}\n onSecondDayChange={setSecondDay}\n secondDay={secondDay}\n transaction={transaction}\n />\n <Stack direction=\"row\" gap={16} ml={24} mt={32}>\n <Button\n aria-disabled={!transaction}\n onClick={() => {\n const updatedTransactions = [...selectedTransactions]\n updatedTransactions.push({\n ...transaction,\n nextDate: getNextPaymentDate(frequency, fromUnixTime(transaction.date)),\n frequency,\n })\n\n setSelectedTransactions(updatedTransactions)\n setTransactionGuid('')\n }}\n variant=\"contained\"\n >\n {commonCopy.confirm_button}\n </Button>\n <Button\n onClick={() => {\n setTransactionGuid('')\n setAddIncome(true)\n handleGetTransactions().finally()\n }}\n variant=\"outlined\"\n >\n {commonCopy.cancel_button}\n </Button>\n </Stack>\n </>\n )}\n\n {selectedTransactions.length > 0 && !transaction && (\n <Stack direction=\"row\" gap={16} ml={24} mt={32}>\n <Button\n aria-disabled={selectedTransactions.length < 1 || isSubmitting}\n onClick={handleAddIncome}\n startIcon={\n isSubmitting ? (\n <Icon\n name=\"progress_activity\"\n sx={{\n animation: `${spin} 2s linear infinite`,\n }}\n />\n ) : null\n }\n variant=\"contained\"\n >\n {customCopy.confirm_income_button}\n </Button>\n <Button onClick={completeOnboarding} variant=\"outlined\">\n {customCopy.skip_button}\n </Button>\n </Stack>\n )}\n </Box>\n )}\n </Box>\n )\n}\n\nexport default observer(CashflowOnboarding)\n"],"mappings":"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"}
1
+ {"version":3,"file":"CashflowOnboarding.es.js","names":[],"sources":["../../src/cashflow/CashflowOnboarding.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { formatISO } from 'date-fns/formatISO'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\nimport { getUnixTime } from 'date-fns/getUnixTime'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\nimport { keyframes } from '@mui/material/styles'\nimport { useTheme } from '@mui/material/styles'\n\nimport { H2, Icon, P } from '@mxenabled/mxui'\n\nimport StepOne from './components/onboarding/StepOne'\nimport StepTwo from './components/onboarding/StepTwo'\n\nimport {\n Loader,\n useCashflowStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useScreenSize,\n useTransactionStore,\n useUserStore,\n} from '../common'\nimport { type RepeatingTransaction, type Transaction, RepeatingType, Frequency } from '../core'\nimport SubheaderRow from '../common/components/SubheaderRow'\n\nimport { useCashflowUiStore } from './context/hooks'\n\nimport { TransactionRow } from '../transactions'\nimport { incomeFilter, incomeFilterSearch } from '../transactions/utils/Filters'\n\nimport { AddRecurringTransactionDetails } from '../recurringtransactions'\nimport { SelectTransaction } from '../recurringtransactions'\nimport { getNextPaymentDate } from '../core/utils/RecurringTransactionsUtil'\n\nimport { fromUnixToDayOfWeekAndDate } from '../core/utils/DateUtil'\nimport { CASHFLOW_IMAGES } from './constants/CashflowImages'\n\ninterface UpcomingTransactions extends Transaction {\n nextDate: Date | null\n frequency: Frequency\n}\n\nconst spin = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst CashflowOnboarding: React.FC = () => {\n const { addRepeatingTransaction, repeatingTransactions } = useRecurringTransactionsStore()\n const { cashflow: customCopy, common: commonCopy } = useGlobalCopyStore()\n const { user } = useUserStore()\n const { completeOnboarding } = useCashflowStore()\n const { isDirty } = useCashflowUiStore()\n const { isMobile } = useScreenSize()\n const { isCopyLoaded, setDisplayedDate } = useGlobalUiStore()\n const { filter, setFilter, transactions } = useTransactionStore()\n const theme = useTheme()\n\n const [addIncome, setAddIncome] = useState(true)\n const [frequency, setFrequency] = React.useState(Frequency.EveryMonth)\n const [firstDay, setFirstDay] = React.useState(1)\n const [secondDay, setSecondDay] = React.useState(15)\n const [isSubmitting, setIsSubmitting] = useState(false)\n // const [nextDate, setNextDate] = React.useState<Date | null>(null)\n const [step, setStep] = useState(1)\n const [selectedTransactions, setSelectedTransactions] = useState<UpcomingTransactions[] | []>([])\n const [transactionGuid, setTransactionGuid] = useState('')\n\n const transaction = React.useMemo(\n () => transactions.find((t) => t.guid === transactionGuid),\n [transactionGuid, transactions],\n )\n\n const canSubmit = !!repeatingTransactions.filter(\n (r) => r.repeating_transaction_type === RepeatingType.Income,\n ).length\n\n const handleGetTransactions = async () => {\n setStep(2)\n // set transaction date range and filter by income\n setDisplayedDate(\n // Beginning of the month, 90 days before today\n startOfMonth(subDays(startOfToday(), 90)),\n startOfToday(),\n )\n\n setFilter({ ...filter, custom: incomeFilter })\n\n setStep(3)\n }\n\n const handleAddIncome = async () => {\n if (selectedTransactions.length < 1) {\n return\n }\n setIsSubmitting(true)\n\n // Create Repeating Transactions\n for (let i = 0; i < selectedTransactions.length; i++) {\n const upcomingTransaction = selectedTransactions[i]\n\n const nextDate = getNextPaymentDate(frequency, fromUnixTime(upcomingTransaction.date))\n\n const repeatingTransaction = {\n account_guid: upcomingTransaction.account_guid,\n amount: upcomingTransaction.amount,\n created_by: 0, //user\n merchant_guid: upcomingTransaction.merchant_guid,\n description: upcomingTransaction.feed_description || upcomingTransaction.description,\n predicted_occurs_on: formatISO(nextDate, { representation: 'date' }),\n recurrence_day: nextDate.getDay(),\n recurrence_type: frequency,\n repeating_transaction_type: RepeatingType.Income,\n second_recurrence_day: secondDay,\n transaction_type: upcomingTransaction.transaction_type,\n user_guid: user.guid,\n } as RepeatingTransaction\n\n await addRepeatingTransaction(repeatingTransaction, upcomingTransaction)\n }\n await completeOnboarding()\n }\n\n const showSelectIncome =\n (!transaction && addIncome) || (!transaction && selectedTransactions.length < 1)\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: !isMobile ? 'center' : 'flex-start',\n backgroundColor: theme.palette.background.paper,\n backgroundImage: !isMobile ? `url(${CASHFLOW_IMAGES.CASHFLOW_ONBOARDING})` : null,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'left 100px',\n backgroundSize: '35%',\n py: 24,\n }}\n >\n {step === 1 && (\n <Box\n sx={{\n ...(isMobile\n ? { display: 'flex', flexDirection: 'column', maxWidth: '100%', padding: '0 16px' }\n : { maxWidth: 590, ml: '40%', mr: 90 }),\n }}\n >\n <StepOne handleNextStep={handleGetTransactions} />\n </Box>\n )}\n {step === 2 && (\n <Box\n sx={{\n ...(isMobile\n ? { display: 'flex', flexDirection: 'column', maxWidth: '100%', padding: '0 16px' }\n : { maxWidth: 590, ml: '40%', mr: 90 }),\n }}\n >\n <StepTwo />\n </Box>\n )}\n {step === 3 && (\n <Box\n sx={{\n ...(isMobile\n ? { display: 'flex', flexDirection: 'column', maxWidth: '100%', padding: '0 16px' }\n : { maxWidth: 590, ml: '40%', mr: 90 }),\n }}\n >\n <H2 pb={12} variant=\"h1\">\n {customCopy.add_income_title}\n </H2>\n <P mb={24}>{customCopy.add_income_description}</P>\n\n {selectedTransactions.length > 0 && !transaction && (\n <>\n <List>\n {selectedTransactions.map((transaction, index) => {\n return (\n <React.Fragment key={transaction.guid}>\n <SubheaderRow bgcolor=\"background.paper\">\n {fromUnixToDayOfWeekAndDate(\n getUnixTime(transaction.nextDate || transaction.date),\n )}\n </SubheaderRow>\n <TransactionRow transaction={transaction} />\n {index !== selectedTransactions.length - 1 && <Divider />}\n </React.Fragment>\n )\n })}\n </List>\n <Stack alignItems=\"center\" direction=\"row\">\n <Divider sx={{ flexGrow: 1 }} />\n <Button\n onClick={() => setAddIncome(true)}\n startIcon={<Icon name=\"add\" size={20} />}\n >\n {customCopy.add_income}\n </Button>\n </Stack>\n </>\n )}\n\n {showSelectIncome && (\n <SelectTransaction\n bgcolor=\"background.paper\"\n onSearch={(searchValue) =>\n setFilter({\n ...filter,\n custom: (transaction: Transaction) =>\n searchValue\n ? incomeFilterSearch(transaction, searchValue)\n : incomeFilter(transaction),\n })\n }\n onSelected={(guid) => {\n setTransactionGuid(guid)\n setAddIncome(false)\n }}\n />\n )}\n\n {!canSubmit && isDirty && (\n <P color=\"error\" mt={16}>\n {customCopy.confirm_error}\n </P>\n )}\n\n {transaction && (\n <>\n <AddRecurringTransactionDetails\n bgcolor=\"background.paper\"\n firstDay={firstDay}\n frequency={frequency}\n onFirstDayChange={setFirstDay}\n onFrequencyChange={setFrequency}\n onSecondDayChange={setSecondDay}\n secondDay={secondDay}\n transaction={transaction}\n />\n <Stack direction=\"row\" gap={16} ml={24} mt={32}>\n <Button\n aria-disabled={!transaction}\n onClick={() => {\n const updatedTransactions = [...selectedTransactions]\n updatedTransactions.push({\n ...transaction,\n nextDate: getNextPaymentDate(frequency, fromUnixTime(transaction.date)),\n frequency,\n })\n\n setSelectedTransactions(updatedTransactions)\n setTransactionGuid('')\n }}\n variant=\"contained\"\n >\n {commonCopy.confirm_button}\n </Button>\n <Button\n onClick={() => {\n setTransactionGuid('')\n setAddIncome(true)\n handleGetTransactions().finally()\n }}\n variant=\"text\"\n >\n {commonCopy.cancel_button}\n </Button>\n </Stack>\n </>\n )}\n\n {selectedTransactions.length > 0 && !transaction && (\n <Stack direction=\"row\" gap={16} ml={24} mt={32}>\n <Button\n aria-disabled={selectedTransactions.length < 1 || isSubmitting}\n onClick={handleAddIncome}\n startIcon={\n isSubmitting ? (\n <Icon\n name=\"progress_activity\"\n sx={{\n animation: `${spin} 2s linear infinite`,\n }}\n />\n ) : null\n }\n variant=\"contained\"\n >\n {customCopy.confirm_income_button}\n </Button>\n <Button onClick={completeOnboarding} variant=\"text\">\n {customCopy.skip_button}\n </Button>\n </Stack>\n )}\n </Box>\n )}\n </Box>\n )\n}\n\nexport default observer(CashflowOnboarding)\n"],"mappings":"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"}
@@ -2,20 +2,20 @@ import { useCashflowStore as p, useGlobalCopyStore as d } from "../../../common/
2
2
  import "react";
3
3
  import { observer as h } from "mobx-react-lite";
4
4
  import n from "@mui/material/Stack";
5
- import { H2 as f, H3 as u, Icon as l, P as o } from "@mxenabled/mxui";
5
+ import { H2 as f, H3 as g, Icon as l, P as o } from "@mxenabled/mxui";
6
6
  import a from "@mui/material/Button";
7
7
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
8
- import { useTheme as g } from "@mui/material/styles";
8
+ import { useTheme as u } from "@mui/material/styles";
9
9
  import c from "@mui/material/Box";
10
10
  var x = ({ handleNextStep: m }) => {
11
- const { completeOnboarding: s } = p(), { cashflow: r } = d(), i = g();
11
+ const { completeOnboarding: s } = p(), { cashflow: r } = d(), i = u();
12
12
  return /* @__PURE__ */ t(n, { children: [
13
13
  /* @__PURE__ */ e(f, {
14
14
  pb: 12,
15
15
  variant: "h1",
16
16
  children: r.welcome_title
17
17
  }),
18
- /* @__PURE__ */ e(u, {
18
+ /* @__PURE__ */ e(g, {
19
19
  color: i.palette.primary.light,
20
20
  pb: 8,
21
21
  children: r.welcome_sub_title
@@ -115,7 +115,7 @@ var x = ({ handleNextStep: m }) => {
115
115
  children: r.get_started_button
116
116
  }), /* @__PURE__ */ e(a, {
117
117
  onClick: s,
118
- variant: "outlined",
118
+ variant: "text",
119
119
  children: r.skip_button
120
120
  })]
121
121
  })
@@ -1 +1 @@
1
- {"version":3,"file":"StepOne.es.js","names":[],"sources":["../../../../src/cashflow/components/onboarding/StepOne.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, H3, Icon, P } from '@mxenabled/mxui'\nimport { useTheme } from '@mui/material/styles'\nimport { useCashflowStore, useGlobalCopyStore } from '../../../common'\n\ninterface StepOneProps {\n handleNextStep: () => void\n}\n\nconst StepOne: React.FC<StepOneProps> = ({ handleNextStep }) => {\n const { completeOnboarding } = useCashflowStore()\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const theme = useTheme()\n\n return (\n <Stack>\n <H2 pb={12} variant=\"h1\">\n {customCopy.welcome_title}\n </H2>\n <H3 color={theme.palette.primary.light} pb={8}>\n {customCopy.welcome_sub_title}\n </H3>\n <P pb={32}>{customCopy.welcome_description}</P>\n <Stack direction=\"column\" mb={32} spacing={32}>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"currency_exchange\" />\n </Box>\n {customCopy.bullet_one}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"cardiology\" />\n </Box>\n {customCopy.bullet_two}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"flare\" />\n </Box>\n {customCopy.bullet_three}\n </P>\n </Stack>\n <Stack direction=\"row\" spacing={16}>\n <Button onClick={handleNextStep} variant=\"contained\">\n {customCopy.get_started_button}\n </Button>\n <Button onClick={completeOnboarding} variant=\"outlined\">\n {customCopy.skip_button}\n </Button>\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(StepOne)\n"],"mappings":";;;;;;;;;AAeA,IAAM,IAAA,CAAmC,EAAE,gBAAA,EAAA,MAAqB;AAC9D,QAAM,EAAE,oBAAA,EAAA,IAAuB,EAAiB,GAC1C,EAAE,UAAU,EAAA,IAAe,EAAmB,GAE9C,IAAQ,EAAS;AAEvB,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAI,IAAI;AAAA,MAAI,SAAQ;AAAA,MACjB,UAAA,EAAW;AAAA,IACV,CAAA;AAAA,IACJ,gBAAA,EAAC,GAAD;AAAA,MAAI,OAAO,EAAM,QAAQ,QAAQ;AAAA,MAAO,IAAI;AAAA,MACzC,UAAA,EAAW;AAAA,IACV,CAAA;AAAA,IACJ,gBAAA,EAAC,GAAD;AAAA,MAAG,IAAI;AAAA,MAAK,UAAA,EAAW;AAAA,IAAuB,CAAA;AAAA,IAC9C,gBAAA,EAAC,GAAD;AAAA,MAAO,WAAU;AAAA,MAAS,IAAI;AAAA,MAAI,SAAS;AAAA,MAA3C,UAAA;AAAA,QACE,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAI;AAAA,YAAE,SAAS;AAAA,YAAQ,YAAY;AAAA,YAAU,UAAU;AAAA,UAAG;AAAA,UAA7D,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YACE,SAAS,EAAM,QAAQ,QAAQ;AAAA,YAC/B,cAAc;AAAA,YACd,WAAU;AAAA,YACV,QAAQ;AAAA,YACR,IAAI;AAAA,YACJ,IAAI;AAAA,cAAE,SAAS;AAAA,cAAQ,YAAY;AAAA,cAAU,gBAAgB;AAAA,cAAU,YAAY;AAAA,YAAE;AAAA,YACrF,OAAO;AAAA,YAEP,UAAA,gBAAA,EAAC,GAAD;AAAA,cAAM,OAAM;AAAA,cAAU,MAAK;AAAA,YAAqB,CAAA;AAAA,UAC7C,CAAA,GACJ,EAAW,UACX;AAAA;QACH,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAI;AAAA,YAAE,SAAS;AAAA,YAAQ,YAAY;AAAA,YAAU,UAAU;AAAA,UAAG;AAAA,UAA7D,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YACE,SAAS,EAAM,QAAQ,QAAQ;AAAA,YAC/B,cAAc;AAAA,YACd,WAAU;AAAA,YACV,QAAQ;AAAA,YACR,IAAI;AAAA,YACJ,IAAI;AAAA,cAAE,SAAS;AAAA,cAAQ,YAAY;AAAA,cAAU,gBAAgB;AAAA,cAAU,YAAY;AAAA,YAAE;AAAA,YACrF,OAAO;AAAA,YAEP,UAAA,gBAAA,EAAC,GAAD;AAAA,cAAM,OAAM;AAAA,cAAU,MAAK;AAAA,YAAc,CAAA;AAAA,UACtC,CAAA,GACJ,EAAW,UACX;AAAA;QACH,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAI;AAAA,YAAE,SAAS;AAAA,YAAQ,YAAY;AAAA,YAAU,UAAU;AAAA,UAAG;AAAA,UAA7D,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YACE,SAAS,EAAM,QAAQ,QAAQ;AAAA,YAC/B,cAAc;AAAA,YACd,WAAU;AAAA,YACV,QAAQ;AAAA,YACR,IAAI;AAAA,YACJ,IAAI;AAAA,cAAE,SAAS;AAAA,cAAQ,YAAY;AAAA,cAAU,gBAAgB;AAAA,cAAU,YAAY;AAAA,YAAE;AAAA,YACrF,OAAO;AAAA,YAEP,UAAA,gBAAA,EAAC,GAAD;AAAA,cAAM,OAAM;AAAA,cAAU,MAAK;AAAA,YAAS,CAAA;AAAA,UACjC,CAAA,GACJ,EAAW,YACX;AAAA;MACE;AAAA;IACP,gBAAA,EAAC,GAAD;AAAA,MAAO,WAAU;AAAA,MAAM,SAAS;AAAA,MAAhC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAS;AAAA,QAAgB,SAAQ;AAAA,QACtC,UAAA,EAAW;AAAA,MACN,CAAA,GACR,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAS;AAAA,QAAoB,SAAQ;AAAA,QAC1C,UAAA,EAAW;AAAA,MACN,CAAA,CACH;AAAA;EACF,EAAA,CAAA;AAEX,GAEA,IAAe,EAAS,CAAO"}
1
+ {"version":3,"file":"StepOne.es.js","names":[],"sources":["../../../../src/cashflow/components/onboarding/StepOne.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, H3, Icon, P } from '@mxenabled/mxui'\nimport { useTheme } from '@mui/material/styles'\nimport { useCashflowStore, useGlobalCopyStore } from '../../../common'\n\ninterface StepOneProps {\n handleNextStep: () => void\n}\n\nconst StepOne: React.FC<StepOneProps> = ({ handleNextStep }) => {\n const { completeOnboarding } = useCashflowStore()\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const theme = useTheme()\n\n return (\n <Stack>\n <H2 pb={12} variant=\"h1\">\n {customCopy.welcome_title}\n </H2>\n <H3 color={theme.palette.primary.light} pb={8}>\n {customCopy.welcome_sub_title}\n </H3>\n <P pb={32}>{customCopy.welcome_description}</P>\n <Stack direction=\"column\" mb={32} spacing={32}>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"currency_exchange\" />\n </Box>\n {customCopy.bullet_one}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"cardiology\" />\n </Box>\n {customCopy.bullet_two}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"flare\" />\n </Box>\n {customCopy.bullet_three}\n </P>\n </Stack>\n <Stack direction=\"row\" spacing={16}>\n <Button onClick={handleNextStep} variant=\"contained\">\n {customCopy.get_started_button}\n </Button>\n <Button onClick={completeOnboarding} variant=\"text\">\n {customCopy.skip_button}\n </Button>\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(StepOne)\n"],"mappings":"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"}
@@ -19,5 +19,6 @@ export interface CalendarProps {
19
19
  onRangeSelected?: (beginDate: Date, endDate: Date) => void;
20
20
  selectionType?: CalendarSelectionTypes;
21
21
  }
22
+ /** @deprecated Use `DateCalendar` or `StaticDatePicker` from `@mui/x-date-pickers`. */
22
23
  declare const Calendar: React.FC<CalendarProps>;
23
24
  export default Calendar;
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.es.js","names":[],"sources":["../../../../src/common/components/calendar/Calendar.tsx"],"sourcesContent":["import React from 'react'\nimport { css } from '@mxenabled/cssinjs'\nimport { addDays } from 'date-fns/addDays'\nimport { addMonths } from 'date-fns/addMonths'\nimport { eachDayOfInterval } from 'date-fns/eachDayOfInterval'\nimport { eachWeekOfInterval } from 'date-fns/eachWeekOfInterval'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { format } from 'date-fns/format'\nimport { isBefore } from 'date-fns/isBefore'\nimport { isSameMonth } from 'date-fns/isSameMonth'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subMonths } from 'date-fns/subMonths'\n\nimport Button from '@mui/material/Button'\nimport Paper from '@mui/material/Paper'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport Header from './Header'\nimport Day from './Day'\n\nexport const CALENDAR_WIDTH = 340\nexport const DATE_SIZE = 44\nexport const enum CalendarSelectionTypes {\n None = 'None',\n Single = 'Single',\n Range = 'Range',\n}\n\nexport type CalendarCopy = {\n nextAria: string\n prevAria: string\n today: string\n}\n\nexport interface CalendarProps {\n copy: CalendarCopy\n beginDate?: Date\n endDate?: Date\n onDateSelected?: (date: Date) => void\n onRangeSelected?: (beginDate: Date, endDate: Date) => void\n selectionType?: CalendarSelectionTypes\n}\n\nconst Calendar: React.FC<CalendarProps> = ({\n copy,\n beginDate: beginDateProp = undefined,\n endDate: endDateProp = undefined,\n onDateSelected,\n onRangeSelected,\n selectionType = CalendarSelectionTypes.Single,\n}) => {\n const styles = getStyles()\n\n const [date, setDate] = React.useState(startOfToday)\n\n const [beginDate, setBeginDate] = React.useState<Date | undefined>(beginDateProp)\n const [endDate, setEndDate] = React.useState<Date | undefined>(endDateProp)\n\n React.useEffect(() => {\n setBeginDate(beginDateProp)\n setEndDate(endDateProp)\n if (beginDateProp) {\n setDate(beginDateProp)\n }\n }, [beginDateProp, endDateProp])\n\n const weeks = React.useMemo(() => {\n const weeksInInterval = eachWeekOfInterval({ start: startOfMonth(date), end: endOfMonth(date) })\n\n const weeks = [] as Date[][]\n for (let i = 0; i < weeksInInterval.length; i++) {\n const weekStart = weeksInInterval[i]\n const days = eachDayOfInterval({ start: weekStart, end: addDays(weekStart, 6) })\n\n const week = [] as Date[]\n for (let j = 0; j < days.length; j++) {\n week.push(days[j])\n }\n weeks.push(week)\n }\n\n return weeks\n }, [date])\n\n const handleSelection = (date: Date) => {\n if (selectionType === CalendarSelectionTypes.None) return\n\n if (selectionType === CalendarSelectionTypes.Single) {\n setBeginDate(date)\n onDateSelected?.(date)\n return\n }\n\n if (!beginDate || endDate) {\n setBeginDate(date)\n setEndDate(undefined)\n } else if (isBefore(date, beginDate)) {\n setEndDate(beginDate)\n setBeginDate(date)\n onRangeSelected?.(date, beginDate)\n } else {\n setEndDate(date)\n onRangeSelected?.(beginDate, date)\n }\n }\n\n const handleTodayClick = () => {\n const today = startOfToday()\n setDate(today)\n\n if (selectionType === CalendarSelectionTypes.None) return\n\n setBeginDate(today)\n\n if (selectionType === CalendarSelectionTypes.Single) {\n onDateSelected?.(today)\n } else {\n setEndDate(today)\n onRangeSelected?.(today, today)\n }\n }\n\n const handleNextMonthClick = () => {\n setDate(addMonths(date, 1))\n }\n\n const handlePreviousMonthClick = () => {\n setDate(subMonths(date, 1))\n }\n\n return (\n <div className={`mx-cmn-calendar ${styles}`}>\n <Paper sx={{ boxShadow: 'none' }}>\n <Header\n copy={copy}\n date={date}\n onNextClick={handleNextMonthClick}\n onPreviousClick={handlePreviousMonthClick}\n />\n\n <div className=\"mx-cmn-calendar-header-row\">\n {weeks[0].map((day, index) => (\n <div className=\"mx-cmn-calendar-header-cell\" key={index}>\n <Text bold={true} variant=\"body2\">\n {format(day, 'EEEEE')}\n </Text>\n </div>\n ))}\n </div>\n\n {weeks.map((week, index) => (\n <div className=\"mx-cmn-calendar-week\" key={`w-${index}`}>\n {week.map((day, index) => (\n <Day\n beginDate={beginDate}\n date={day}\n endDate={endDate}\n isInMonth={isSameMonth(day, date)}\n key={index}\n onClick={handleSelection}\n />\n ))}\n </div>\n ))}\n\n <div className=\"mx-cmn-calendar-today-container\">\n <Button onClick={handleTodayClick} size=\"small\" variant=\"text\">\n {copy.today}\n </Button>\n </div>\n </Paper>\n </div>\n )\n}\n\nconst getStyles = () =>\n css({\n width: CALENDAR_WIDTH,\n '& .MuiPaper-root': {\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 4,\n paddingBottom: 4,\n },\n '& .mx-cmn-calendar-header-row': {\n display: 'flex',\n justifyContent: 'center',\n textAlign: 'center',\n '& .mx-cmn-calendar-header-cell': {\n height: DATE_SIZE,\n width: DATE_SIZE,\n minWidth: DATE_SIZE,\n '& .kmui-text': {\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n },\n },\n '& .mx-cmn-calendar-week': {\n display: 'flex',\n justifyContent: 'center',\n textAlign: 'center',\n },\n '& .mx-cmn-calendar-today-container': {\n display: 'block',\n marginTop: 16,\n textAlign: 'center',\n width: '100%',\n '& > .MuiButton-root': {\n display: 'inline-block',\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n },\n })\n\nexport default Calendar\n"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.es.js","names":[],"sources":["../../../../src/common/components/calendar/Calendar.tsx"],"sourcesContent":["import React from 'react'\nimport { css } from '@mxenabled/cssinjs'\nimport { addDays } from 'date-fns/addDays'\nimport { addMonths } from 'date-fns/addMonths'\nimport { eachDayOfInterval } from 'date-fns/eachDayOfInterval'\nimport { eachWeekOfInterval } from 'date-fns/eachWeekOfInterval'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { format } from 'date-fns/format'\nimport { isBefore } from 'date-fns/isBefore'\nimport { isSameMonth } from 'date-fns/isSameMonth'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subMonths } from 'date-fns/subMonths'\n\nimport Button from '@mui/material/Button'\nimport Paper from '@mui/material/Paper'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport Header from './Header'\nimport Day from './Day'\n\nexport const CALENDAR_WIDTH = 340\nexport const DATE_SIZE = 44\nexport const enum CalendarSelectionTypes {\n None = 'None',\n Single = 'Single',\n Range = 'Range',\n}\n\nexport type CalendarCopy = {\n nextAria: string\n prevAria: string\n today: string\n}\n\nexport interface CalendarProps {\n copy: CalendarCopy\n beginDate?: Date\n endDate?: Date\n onDateSelected?: (date: Date) => void\n onRangeSelected?: (beginDate: Date, endDate: Date) => void\n selectionType?: CalendarSelectionTypes\n}\n\n/** @deprecated Use `DateCalendar` or `StaticDatePicker` from `@mui/x-date-pickers`. */\nconst Calendar: React.FC<CalendarProps> = ({\n copy,\n beginDate: beginDateProp = undefined,\n endDate: endDateProp = undefined,\n onDateSelected,\n onRangeSelected,\n selectionType = CalendarSelectionTypes.Single,\n}) => {\n const styles = getStyles()\n\n const [date, setDate] = React.useState(startOfToday)\n\n const [beginDate, setBeginDate] = React.useState<Date | undefined>(beginDateProp)\n const [endDate, setEndDate] = React.useState<Date | undefined>(endDateProp)\n\n React.useEffect(() => {\n setBeginDate(beginDateProp)\n setEndDate(endDateProp)\n if (beginDateProp) {\n setDate(beginDateProp)\n }\n }, [beginDateProp, endDateProp])\n\n const weeks = React.useMemo(() => {\n const weeksInInterval = eachWeekOfInterval({ start: startOfMonth(date), end: endOfMonth(date) })\n\n const weeks = [] as Date[][]\n for (let i = 0; i < weeksInInterval.length; i++) {\n const weekStart = weeksInInterval[i]\n const days = eachDayOfInterval({ start: weekStart, end: addDays(weekStart, 6) })\n\n const week = [] as Date[]\n for (let j = 0; j < days.length; j++) {\n week.push(days[j])\n }\n weeks.push(week)\n }\n\n return weeks\n }, [date])\n\n const handleSelection = (date: Date) => {\n if (selectionType === CalendarSelectionTypes.None) return\n\n if (selectionType === CalendarSelectionTypes.Single) {\n setBeginDate(date)\n onDateSelected?.(date)\n return\n }\n\n if (!beginDate || endDate) {\n setBeginDate(date)\n setEndDate(undefined)\n } else if (isBefore(date, beginDate)) {\n setEndDate(beginDate)\n setBeginDate(date)\n onRangeSelected?.(date, beginDate)\n } else {\n setEndDate(date)\n onRangeSelected?.(beginDate, date)\n }\n }\n\n const handleTodayClick = () => {\n const today = startOfToday()\n setDate(today)\n\n if (selectionType === CalendarSelectionTypes.None) return\n\n setBeginDate(today)\n\n if (selectionType === CalendarSelectionTypes.Single) {\n onDateSelected?.(today)\n } else {\n setEndDate(today)\n onRangeSelected?.(today, today)\n }\n }\n\n const handleNextMonthClick = () => {\n setDate(addMonths(date, 1))\n }\n\n const handlePreviousMonthClick = () => {\n setDate(subMonths(date, 1))\n }\n\n return (\n <div className={`mx-cmn-calendar ${styles}`}>\n <Paper sx={{ boxShadow: 'none' }}>\n <Header\n copy={copy}\n date={date}\n onNextClick={handleNextMonthClick}\n onPreviousClick={handlePreviousMonthClick}\n />\n\n <div className=\"mx-cmn-calendar-header-row\">\n {weeks[0].map((day, index) => (\n <div className=\"mx-cmn-calendar-header-cell\" key={index}>\n <Text bold={true} variant=\"body2\">\n {format(day, 'EEEEE')}\n </Text>\n </div>\n ))}\n </div>\n\n {weeks.map((week, index) => (\n <div className=\"mx-cmn-calendar-week\" key={`w-${index}`}>\n {week.map((day, index) => (\n <Day\n beginDate={beginDate}\n date={day}\n endDate={endDate}\n isInMonth={isSameMonth(day, date)}\n key={index}\n onClick={handleSelection}\n />\n ))}\n </div>\n ))}\n\n <div className=\"mx-cmn-calendar-today-container\">\n <Button onClick={handleTodayClick} size=\"small\" variant=\"text\">\n {copy.today}\n </Button>\n </div>\n </Paper>\n </div>\n )\n}\n\nconst getStyles = () =>\n css({\n width: CALENDAR_WIDTH,\n '& .MuiPaper-root': {\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 4,\n paddingBottom: 4,\n },\n '& .mx-cmn-calendar-header-row': {\n display: 'flex',\n justifyContent: 'center',\n textAlign: 'center',\n '& .mx-cmn-calendar-header-cell': {\n height: DATE_SIZE,\n width: DATE_SIZE,\n minWidth: DATE_SIZE,\n '& .kmui-text': {\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n },\n },\n '& .mx-cmn-calendar-week': {\n display: 'flex',\n justifyContent: 'center',\n textAlign: 'center',\n },\n '& .mx-cmn-calendar-today-container': {\n display: 'block',\n marginTop: 16,\n textAlign: 'center',\n width: '100%',\n '& > .MuiButton-root': {\n display: 'inline-block',\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n },\n })\n\nexport default Calendar\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ import j from "@mui/material/Stack";
6
6
  import { Drawer as C } from "@mxenabled/mxui";
7
7
  import { jsx as r, jsxs as v } from "react/jsx-runtime";
8
8
  import B from "@mui/material/Box";
9
- var G = ({ ariaLabelClose: s = "Close", children: u, footerStyles: d = {}, hasSecondaryAction: i = !0, id: p, isOpen: e, isPrimaryDisabled: c, onClose: o, onPrimaryAction: t, onSecondaryAction: l, primaryButtonProps: m, primaryColor: f = "primary", primaryText: n, secondaryColor: h = "secondary", secondaryText: b, shouldShowHeaderBorders: w = !0, shouldShowHeaderShadow: g = !1, title: a, ...x }) => {
9
+ var G = ({ ariaLabelClose: i = "Close", children: s, footerStyles: u = {}, hasSecondaryAction: d = !0, id: p, isOpen: e, isPrimaryDisabled: m, onClose: o, onPrimaryAction: t, onSecondaryAction: l, primaryButtonProps: c, primaryColor: f = "primary", primaryText: h, secondaryColor: n = "primary", secondaryText: b, shouldShowHeaderBorders: w = !0, shouldShowHeaderShadow: g = !1, title: a, ...x }) => {
10
10
  const { onExited: k, onFocus: R, rootRef: S } = y(e);
11
11
  return /* @__PURE__ */ r(C, {
12
12
  id: p,
@@ -33,7 +33,7 @@ var G = ({ ariaLabelClose: s = "Close", children: u, footerStyles: d = {}, hasSe
33
33
  justifyContent: "space-between",
34
34
  children: [
35
35
  /* @__PURE__ */ r(F, {
36
- ariaLabelClose: s,
36
+ ariaLabelClose: i,
37
37
  onClose: o,
38
38
  shouldShowBorders: w,
39
39
  shouldShowShadow: g,
@@ -42,18 +42,18 @@ var G = ({ ariaLabelClose: s = "Close", children: u, footerStyles: d = {}, hasSe
42
42
  /* @__PURE__ */ r(B, {
43
43
  height: "100%",
44
44
  overflow: "auto",
45
- children: u
45
+ children: s
46
46
  }),
47
47
  t && /* @__PURE__ */ r(D, {
48
- footerStyles: d,
49
- hasSecondaryAction: i,
50
- isPrimaryDisabled: c,
48
+ footerStyles: u,
49
+ hasSecondaryAction: d,
50
+ isPrimaryDisabled: m,
51
51
  onPrimaryAction: t,
52
52
  onSecondaryAction: l ?? o,
53
- primaryButtonProps: m,
53
+ primaryButtonProps: c,
54
54
  primaryColor: f,
55
- primaryText: n,
56
- secondaryColor: h,
55
+ primaryText: h,
56
+ secondaryColor: n,
57
57
  secondaryText: b
58
58
  })
59
59
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.es.js","names":[],"sources":["../../../../src/common/components/drawer/Drawer.tsx"],"sourcesContent":["import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport type { SxProps } from '@mui/material/styles'\n\nimport { Drawer as KMuiDrawer } from '@mxenabled/mxui'\n\nimport { useFocusReturn } from '../../hooks/useFocusReturn'\n\nimport Footer from './Footer'\nimport Header from './Header'\n\nexport type CopyObject = {\n close_drawer_aria: string\n}\n\ninterface DrawerProps {\n ariaLabelClose?: string\n className?: string\n footerStyles?: SxProps\n hasSecondaryAction?: boolean\n id?: string\n isOpen: boolean\n isPrimaryDisabled?: boolean\n onClose: () => void\n onPrimaryAction?: () => void\n onSecondaryAction?: () => void\n primaryButtonProps?: React.ComponentProps<typeof Button>\n primaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n primaryText?: string\n secondaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n secondaryText?: string\n shouldShowHeaderBorders?: boolean\n shouldShowHeaderShadow?: boolean\n sx?: SxProps\n title: string\n}\n\nconst Drawer: React.FC<React.PropsWithChildren<DrawerProps>> = ({\n ariaLabelClose = 'Close',\n children,\n footerStyles = {},\n hasSecondaryAction = true,\n id,\n isOpen,\n isPrimaryDisabled,\n onClose,\n onPrimaryAction,\n onSecondaryAction,\n primaryButtonProps,\n primaryColor = 'primary',\n primaryText,\n secondaryColor = 'secondary',\n secondaryText,\n shouldShowHeaderBorders = true,\n shouldShowHeaderShadow = false,\n title,\n ...rest\n}) => {\n const { onExited, onFocus, rootRef } = useFocusReturn(isOpen)\n\n return (\n <KMuiDrawer\n id={id}\n isOpen={isOpen}\n onClose={onClose}\n sx={{\n '& .MuiDrawer-paper': {\n backgroundColor: 'background.default',\n borderRadius: 0,\n },\n height: '100%',\n '& .MuiToolbar-root': {\n backgroundColor: 'background.paper',\n },\n }}\n {...rest}\n disableRestoreFocus={true}\n onFocus={onFocus}\n ref={rootRef}\n slotProps={{\n paper: {\n 'aria-labelledby': `${title?.replace(/\\s+/g, '-').toLowerCase()}-header-title`,\n },\n transition: { onExited },\n }}\n >\n <Stack height=\"100%\" justifyContent=\"space-between\">\n <Header\n ariaLabelClose={ariaLabelClose}\n onClose={onClose}\n shouldShowBorders={shouldShowHeaderBorders}\n shouldShowShadow={shouldShowHeaderShadow}\n title={title}\n />\n\n <Box height=\"100%\" overflow=\"auto\">\n {children}\n </Box>\n\n {onPrimaryAction && (\n <Footer\n footerStyles={footerStyles}\n hasSecondaryAction={hasSecondaryAction}\n isPrimaryDisabled={isPrimaryDisabled}\n onPrimaryAction={onPrimaryAction}\n onSecondaryAction={onSecondaryAction ?? onClose}\n primaryButtonProps={primaryButtonProps}\n primaryColor={primaryColor}\n primaryText={primaryText}\n secondaryColor={secondaryColor}\n secondaryText={secondaryText}\n />\n )}\n </Stack>\n </KMuiDrawer>\n )\n}\n\nexport default Drawer\n"],"mappings":";;;;;;;;AAwCA,IAAM,IAAA,CAA0D,EAC9D,gBAAA,IAAiB,SACjB,UAAA,GACA,cAAA,IAAe,CAAC,GAChB,oBAAA,IAAqB,IACrB,IAAA,GACA,QAAA,GACA,mBAAA,GACA,SAAA,GACA,iBAAA,GACA,mBAAA,GACA,oBAAA,GACA,cAAA,IAAe,WACf,aAAA,GACA,gBAAA,IAAiB,aACjB,eAAA,GACA,yBAAA,IAA0B,IAC1B,wBAAA,IAAyB,IACzB,OAAA,GACA,GAAG,EAAA,MACC;AACJ,QAAM,EAAE,UAAA,GAAU,SAAA,GAAS,SAAA,EAAA,IAAY,EAAe,CAAM;AAE5D,SACE,gBAAA,EAAC,GAAD;AAAA,IACM,IAAA;AAAA,IACI,QAAA;AAAA,IACC,SAAA;AAAA,IACT,IAAI;AAAA,MACF,sBAAsB;AAAA,QACpB,iBAAiB;AAAA,QACjB,cAAc;AAAA,MAChB;AAAA,MACA,QAAQ;AAAA,MACR,sBAAsB,EACpB,iBAAiB,mBACnB;AAAA,IACF;AAAA,IACA,GAAI;AAAA,IACJ,qBAAqB;AAAA,IACZ,SAAA;AAAA,IACT,KAAK;AAAA,IACL,WAAW;AAAA,MACT,OAAO,EACL,mBAAmB,GAAG,GAAO,QAAQ,QAAQ,GAAG,EAAE,YAAY,CAAA,gBAChE;AAAA,MACA,YAAY,EAAE,UAAA,EAAS;AAAA,IACzB;AAAA,IAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,QAAO;AAAA,MAAO,gBAAe;AAAA,MAApC,UAAA;AAAA,QACE,gBAAA,EAAC,GAAD;AAAA,UACkB,gBAAA;AAAA,UACP,SAAA;AAAA,UACT,mBAAmB;AAAA,UACnB,kBAAkB;AAAA,UACX,OAAA;AAAA,QACR,CAAA;AAAA,QAED,gBAAA,EAAC,GAAD;AAAA,UAAK,QAAO;AAAA,UAAO,UAAS;AAAA,UACzB,UAAA;AAAA,QACE,CAAA;AAAA,QAEJ,KACC,gBAAA,EAAC,GAAD;AAAA,UACgB,cAAA;AAAA,UACM,oBAAA;AAAA,UACD,mBAAA;AAAA,UACF,iBAAA;AAAA,UACjB,mBAAmB,KAAqB;AAAA,UACpB,oBAAA;AAAA,UACN,cAAA;AAAA,UACD,aAAA;AAAA,UACG,gBAAA;AAAA,UACD,eAAA;AAAA,QAChB,CAAA;AAAA,MAEE;AAAA;EACG,CAAA;AAEhB"}
1
+ {"version":3,"file":"Drawer.es.js","names":[],"sources":["../../../../src/common/components/drawer/Drawer.tsx"],"sourcesContent":["import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport type { SxProps } from '@mui/material/styles'\n\nimport { Drawer as KMuiDrawer } from '@mxenabled/mxui'\n\nimport { useFocusReturn } from '../../hooks/useFocusReturn'\n\nimport Footer from './Footer'\nimport Header from './Header'\n\nexport type CopyObject = {\n close_drawer_aria: string\n}\n\ninterface DrawerProps {\n ariaLabelClose?: string\n className?: string\n footerStyles?: SxProps\n hasSecondaryAction?: boolean\n id?: string\n isOpen: boolean\n isPrimaryDisabled?: boolean\n onClose: () => void\n onPrimaryAction?: () => void\n onSecondaryAction?: () => void\n primaryButtonProps?: React.ComponentProps<typeof Button>\n primaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n primaryText?: string\n secondaryColor?: 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n secondaryText?: string\n shouldShowHeaderBorders?: boolean\n shouldShowHeaderShadow?: boolean\n sx?: SxProps\n title: string\n}\n\nconst Drawer: React.FC<React.PropsWithChildren<DrawerProps>> = ({\n ariaLabelClose = 'Close',\n children,\n footerStyles = {},\n hasSecondaryAction = true,\n id,\n isOpen,\n isPrimaryDisabled,\n onClose,\n onPrimaryAction,\n onSecondaryAction,\n primaryButtonProps,\n primaryColor = 'primary',\n primaryText,\n secondaryColor = 'primary',\n secondaryText,\n shouldShowHeaderBorders = true,\n shouldShowHeaderShadow = false,\n title,\n ...rest\n}) => {\n const { onExited, onFocus, rootRef } = useFocusReturn(isOpen)\n\n return (\n <KMuiDrawer\n id={id}\n isOpen={isOpen}\n onClose={onClose}\n sx={{\n '& .MuiDrawer-paper': {\n backgroundColor: 'background.default',\n borderRadius: 0,\n },\n height: '100%',\n '& .MuiToolbar-root': {\n backgroundColor: 'background.paper',\n },\n }}\n {...rest}\n disableRestoreFocus={true}\n onFocus={onFocus}\n ref={rootRef}\n slotProps={{\n paper: {\n 'aria-labelledby': `${title?.replace(/\\s+/g, '-').toLowerCase()}-header-title`,\n },\n transition: { onExited },\n }}\n >\n <Stack height=\"100%\" justifyContent=\"space-between\">\n <Header\n ariaLabelClose={ariaLabelClose}\n onClose={onClose}\n shouldShowBorders={shouldShowHeaderBorders}\n shouldShowShadow={shouldShowHeaderShadow}\n title={title}\n />\n\n <Box height=\"100%\" overflow=\"auto\">\n {children}\n </Box>\n\n {onPrimaryAction && (\n <Footer\n footerStyles={footerStyles}\n hasSecondaryAction={hasSecondaryAction}\n isPrimaryDisabled={isPrimaryDisabled}\n onPrimaryAction={onPrimaryAction}\n onSecondaryAction={onSecondaryAction ?? onClose}\n primaryButtonProps={primaryButtonProps}\n primaryColor={primaryColor}\n primaryText={primaryText}\n secondaryColor={secondaryColor}\n secondaryText={secondaryText}\n />\n )}\n </Stack>\n </KMuiDrawer>\n )\n}\n\nexport default Drawer\n"],"mappings":";;;;;;;;AAwCA,IAAM,IAAA,CAA0D,EAC9D,gBAAA,IAAiB,SACjB,UAAA,GACA,cAAA,IAAe,CAAC,GAChB,oBAAA,IAAqB,IACrB,IAAA,GACA,QAAA,GACA,mBAAA,GACA,SAAA,GACA,iBAAA,GACA,mBAAA,GACA,oBAAA,GACA,cAAA,IAAe,WACf,aAAA,GACA,gBAAA,IAAiB,WACjB,eAAA,GACA,yBAAA,IAA0B,IAC1B,wBAAA,IAAyB,IACzB,OAAA,GACA,GAAG,EAAA,MACC;AACJ,QAAM,EAAE,UAAA,GAAU,SAAA,GAAS,SAAA,EAAA,IAAY,EAAe,CAAM;AAE5D,SACE,gBAAA,EAAC,GAAD;AAAA,IACM,IAAA;AAAA,IACI,QAAA;AAAA,IACC,SAAA;AAAA,IACT,IAAI;AAAA,MACF,sBAAsB;AAAA,QACpB,iBAAiB;AAAA,QACjB,cAAc;AAAA,MAChB;AAAA,MACA,QAAQ;AAAA,MACR,sBAAsB,EACpB,iBAAiB,mBACnB;AAAA,IACF;AAAA,IACA,GAAI;AAAA,IACJ,qBAAqB;AAAA,IACZ,SAAA;AAAA,IACT,KAAK;AAAA,IACL,WAAW;AAAA,MACT,OAAO,EACL,mBAAmB,GAAG,GAAO,QAAQ,QAAQ,GAAG,EAAE,YAAY,CAAA,gBAChE;AAAA,MACA,YAAY,EAAE,UAAA,EAAS;AAAA,IACzB;AAAA,IAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,QAAO;AAAA,MAAO,gBAAe;AAAA,MAApC,UAAA;AAAA,QACE,gBAAA,EAAC,GAAD;AAAA,UACkB,gBAAA;AAAA,UACP,SAAA;AAAA,UACT,mBAAmB;AAAA,UACnB,kBAAkB;AAAA,UACX,OAAA;AAAA,QACR,CAAA;AAAA,QAED,gBAAA,EAAC,GAAD;AAAA,UAAK,QAAO;AAAA,UAAO,UAAS;AAAA,UACzB,UAAA;AAAA,QACE,CAAA;AAAA,QAEJ,KACC,gBAAA,EAAC,GAAD;AAAA,UACgB,cAAA;AAAA,UACM,oBAAA;AAAA,UACD,mBAAA;AAAA,UACF,iBAAA;AAAA,UACjB,mBAAmB,KAAqB;AAAA,UACpB,oBAAA;AAAA,UACN,cAAA;AAAA,UACD,aAAA;AAAA,UACG,gBAAA;AAAA,UACD,eAAA;AAAA,QAChB,CAAA;AAAA,MAEE;AAAA;EACG,CAAA;AAEhB"}
@@ -1,7 +1,7 @@
1
1
  import s from "@mui/material/Stack";
2
- import o from "@mui/material/Button";
3
- import { jsx as e, jsxs as u } from "react/jsx-runtime";
4
- var v = ({ footerStyles: t = {}, hasSecondaryAction: a = !0, isPrimaryDisabled: n, onPrimaryAction: r, onSecondaryAction: i, primaryButtonProps: l = {}, primaryColor: c = "primary", primaryText: d = "Save", secondaryColor: p = "primary", secondaryText: f = "Cancel" }) => /* @__PURE__ */ u(s, {
2
+ import e from "@mui/material/Button";
3
+ import { jsx as o, jsxs as x } from "react/jsx-runtime";
4
+ var v = ({ footerStyles: t = {}, hasSecondaryAction: a = !0, isPrimaryDisabled: n, onPrimaryAction: r, onSecondaryAction: i, primaryButtonProps: l = {}, primaryColor: c = "primary", primaryText: d = "Save", secondaryColor: p = "primary", secondaryText: f = "Cancel" }) => /* @__PURE__ */ x(s, {
5
5
  sx: {
6
6
  bgcolor: "background.paper",
7
7
  flexDirection: "row",
@@ -10,12 +10,12 @@ var v = ({ footerStyles: t = {}, hasSecondaryAction: a = !0, isPrimaryDisabled:
10
10
  p: 24,
11
11
  ...t
12
12
  },
13
- children: [a && /* @__PURE__ */ e(o, {
13
+ children: [a && /* @__PURE__ */ o(e, {
14
14
  color: p,
15
15
  onClick: i,
16
- variant: r ? "outlined" : "contained",
16
+ variant: r ? "text" : "contained",
17
17
  children: f
18
- }), r && /* @__PURE__ */ e(o, {
18
+ }), r && /* @__PURE__ */ o(e, {
19
19
  ...l,
20
20
  color: c,
21
21
  disabled: n,
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.es.js","names":[],"sources":["../../../../src/common/components/drawer/Footer.tsx"],"sourcesContent":["import Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { type SxProps } from '@mui/material/styles'\n\ntype Color = 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n\ntype FooterProps = {\n footerStyles?: SxProps\n hasSecondaryAction?: boolean\n isPrimaryDisabled?: boolean\n onPrimaryAction?: () => void\n onSecondaryAction?: () => void\n primaryButtonProps?: React.ComponentProps<typeof Button>\n primaryColor?: Color\n primaryText?: string\n secondaryColor?: Color\n secondaryText?: string\n}\n\nconst Footer = ({\n footerStyles = {},\n hasSecondaryAction = true,\n isPrimaryDisabled,\n onPrimaryAction,\n onSecondaryAction,\n primaryButtonProps = {},\n primaryColor = 'primary',\n primaryText = 'Save',\n secondaryColor = 'primary',\n secondaryText = 'Cancel',\n}: FooterProps) => {\n return (\n <Stack\n sx={{\n bgcolor: 'background.paper',\n flexDirection: 'row',\n gap: 16,\n justifyContent: 'flex-end',\n p: 24,\n ...footerStyles,\n }}\n >\n {hasSecondaryAction && (\n <Button\n color={secondaryColor}\n onClick={onSecondaryAction}\n variant={onPrimaryAction ? 'outlined' : 'contained'}\n >\n {secondaryText}\n </Button>\n )}\n\n {onPrimaryAction && (\n <Button\n {...primaryButtonProps}\n color={primaryColor}\n disabled={isPrimaryDisabled}\n onClick={onPrimaryAction}\n variant=\"contained\"\n >\n {primaryText}\n </Button>\n )}\n </Stack>\n )\n}\n\nexport default Footer\n"],"mappings":";;;AAmBA,IAAM,IAAA,CAAU,EACd,cAAA,IAAe,CAAC,GAChB,oBAAA,IAAqB,IACrB,mBAAA,GACA,iBAAA,GACA,mBAAA,GACA,oBAAA,IAAqB,CAAC,GACtB,cAAA,IAAe,WACf,aAAA,IAAc,QACd,gBAAA,IAAiB,WACjB,eAAA,IAAgB,SAAA,MAGd,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,SAAS;AAAA,IACT,eAAe;AAAA,IACf,KAAK;AAAA,IACL,gBAAgB;AAAA,IAChB,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EARF,UAAA,CAUG,KACC,gBAAA,EAAC,GAAD;AAAA,IACE,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS,IAAkB,aAAa;AAAA,IAEvC,UAAA;AAAA,EACK,CAAA,GAGT,KACC,gBAAA,EAAC,GAAD;AAAA,IACE,GAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAQ;AAAA,IAEP,UAAA;AAAA,EACK,CAAA,CAEL"}
1
+ {"version":3,"file":"Footer.es.js","names":[],"sources":["../../../../src/common/components/drawer/Footer.tsx"],"sourcesContent":["import Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { type SxProps } from '@mui/material/styles'\n\ntype Color = 'primary' | 'inherit' | 'secondary' | 'success' | 'error' | 'info' | 'warning'\n\ntype FooterProps = {\n footerStyles?: SxProps\n hasSecondaryAction?: boolean\n isPrimaryDisabled?: boolean\n onPrimaryAction?: () => void\n onSecondaryAction?: () => void\n primaryButtonProps?: React.ComponentProps<typeof Button>\n primaryColor?: Color\n primaryText?: string\n secondaryColor?: Color\n secondaryText?: string\n}\n\nconst Footer = ({\n footerStyles = {},\n hasSecondaryAction = true,\n isPrimaryDisabled,\n onPrimaryAction,\n onSecondaryAction,\n primaryButtonProps = {},\n primaryColor = 'primary',\n primaryText = 'Save',\n secondaryColor = 'primary',\n secondaryText = 'Cancel',\n}: FooterProps) => {\n return (\n <Stack\n sx={{\n bgcolor: 'background.paper',\n flexDirection: 'row',\n gap: 16,\n justifyContent: 'flex-end',\n p: 24,\n ...footerStyles,\n }}\n >\n {hasSecondaryAction && (\n <Button\n color={secondaryColor}\n onClick={onSecondaryAction}\n variant={onPrimaryAction ? 'text' : 'contained'}\n >\n {secondaryText}\n </Button>\n )}\n\n {onPrimaryAction && (\n <Button\n {...primaryButtonProps}\n color={primaryColor}\n disabled={isPrimaryDisabled}\n onClick={onPrimaryAction}\n variant=\"contained\"\n >\n {primaryText}\n </Button>\n )}\n </Stack>\n )\n}\n\nexport default Footer\n"],"mappings":";;;AAmBA,IAAM,IAAA,CAAU,EACd,cAAA,IAAe,CAAC,GAChB,oBAAA,IAAqB,IACrB,mBAAA,GACA,iBAAA,GACA,mBAAA,GACA,oBAAA,IAAqB,CAAC,GACtB,cAAA,IAAe,WACf,aAAA,IAAc,QACd,gBAAA,IAAiB,WACjB,eAAA,IAAgB,SAAA,MAGd,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,SAAS;AAAA,IACT,eAAe;AAAA,IACf,KAAK;AAAA,IACL,gBAAgB;AAAA,IAChB,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EARF,UAAA,CAUG,KACC,gBAAA,EAAC,GAAD;AAAA,IACE,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS,IAAkB,SAAS;AAAA,IAEnC,UAAA;AAAA,EACK,CAAA,GAGT,KACC,gBAAA,EAAC,GAAD;AAAA,IACE,GAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAQ;AAAA,IAEP,UAAA;AAAA,EACK,CAAA,CAEL"}
@@ -3,16 +3,16 @@ import g from "../../common/components/drawer/Drawer.es.js";
3
3
  import y from "react";
4
4
  import { observer as b } from "mobx-react-lite";
5
5
  import v from "@mui/material/Stack";
6
- import { jsx as t } from "react/jsx-runtime";
7
- import { alpha as e, useTheme as D } from "@mui/material/styles";
6
+ import { jsx as e } from "react/jsx-runtime";
7
+ import { alpha as o, useTheme as D } from "@mui/material/styles";
8
8
  import { AdapterDateFns as S } from "@mui/x-date-pickers/AdapterDateFnsV3";
9
- import { StaticDatePicker as x } from "@mui/x-date-pickers";
10
- import { LocalizationProvider as P } from "@mui/x-date-pickers/LocalizationProvider";
11
- var w = ({ isOpen: n, onClose: a }) => {
12
- const { finstrong: l } = u(), o = D(), { updateUser: c, user: i } = f(), { loadPeerScore: m } = h(), [r, s] = y.useState(i.birthday), p = (d) => {
9
+ import { LocalizationProvider as x } from "@mui/x-date-pickers/LocalizationProvider";
10
+ import { StaticDatePicker as w } from "@mui/x-date-pickers";
11
+ var B = ({ isOpen: n, onClose: a }) => {
12
+ const { finstrong: l } = u(), t = D(), { updateUser: c, user: i } = f(), { loadPeerScore: m } = h(), [r, s] = y.useState(i.birthday), p = (d) => {
13
13
  s(Math.floor(new Date(d).getTime() / 1e3));
14
14
  };
15
- return /* @__PURE__ */ t(g, {
15
+ return /* @__PURE__ */ e(g, {
16
16
  footerStyles: {
17
17
  borderTop: 1,
18
18
  borderColor: "divider",
@@ -31,28 +31,28 @@ var w = ({ isOpen: n, onClose: a }) => {
31
31
  },
32
32
  onSecondaryAction: a,
33
33
  title: l.date_of_birth,
34
- children: /* @__PURE__ */ t(v, {
34
+ children: /* @__PURE__ */ e(v, {
35
35
  sx: {
36
36
  bgcolor: "background.default",
37
37
  height: "100%"
38
38
  },
39
- children: /* @__PURE__ */ t(P, {
39
+ children: /* @__PURE__ */ e(x, {
40
40
  dateAdapter: S,
41
- children: /* @__PURE__ */ t(x, {
41
+ children: /* @__PURE__ */ e(w, {
42
42
  disableFuture: !0,
43
43
  onChange: p,
44
44
  slotProps: {
45
45
  nextIconButton: { sx: {
46
46
  color: "primary.main",
47
- "&:hover": { bgcolor: e(o.palette.primary.light, 0.1) }
47
+ "&:hover": { bgcolor: o(t.palette.primary.light, 0.1) }
48
48
  } },
49
49
  previousIconButton: { sx: {
50
50
  color: "primary.main",
51
- "&:hover": { bgcolor: e(o.palette.primary.light, 0.1) }
51
+ "&:hover": { bgcolor: o(t.palette.primary.light, 0.1) }
52
52
  } },
53
53
  switchViewButton: { sx: {
54
54
  color: "primary.main",
55
- "&:hover": { bgcolor: e(o.palette.primary.light, 0.1) }
55
+ "&:hover": { bgcolor: o(t.palette.primary.light, 0.1) }
56
56
  } }
57
57
  },
58
58
  slots: {
@@ -63,7 +63,7 @@ var w = ({ isOpen: n, onClose: a }) => {
63
63
  width: "100%",
64
64
  "& .MuiIconButton-edgeEnd": {
65
65
  color: "primary.main",
66
- "&:hover": { bgcolor: e(o.palette.primary.light, 0.1) }
66
+ "&:hover": { bgcolor: o(t.palette.primary.light, 0.1) }
67
67
  }
68
68
  },
69
69
  value: r ? /* @__PURE__ */ new Date(r * 1e3) : /* @__PURE__ */ new Date()
@@ -71,9 +71,9 @@ var w = ({ isOpen: n, onClose: a }) => {
71
71
  })
72
72
  })
73
73
  });
74
- }, O = b(w);
74
+ }, j = b(B);
75
75
  export {
76
- O as default
76
+ j as default
77
77
  };
78
78
 
79
79
  //# sourceMappingURL=ManageDOB.es.js.map
@@ -1,23 +1,23 @@
1
1
  import { DATE_FORMATS_INTL as b, formatDate as f } from "../../../core/constants/DateFormats.es.js";
2
2
  import { useGlobalCopyStore as u, useGoalStore as _, useUserStore as S } from "../../../common/context/hooks.es.js";
3
- import { ListItemAction as v } from "../../../common/components/ListItemAction.es.js";
3
+ import { ListItemAction as A } from "../../../common/components/ListItemAction.es.js";
4
4
  import i from "react";
5
- import { observer as A } from "mobx-react-lite";
5
+ import { observer as T } from "mobx-react-lite";
6
6
  import { jsx as o } from "react/jsx-runtime";
7
7
  import { fromUnixTime as s } from "date-fns/fromUnixTime";
8
- import { getUnixTime as T } from "date-fns/getUnixTime";
8
+ import { getUnixTime as v } from "date-fns/getUnixTime";
9
9
  import { AdapterDateFns as x } from "@mui/x-date-pickers/AdapterDateFnsV3";
10
- import { DatePicker as D } from "@mui/x-date-pickers";
11
- import { LocalizationProvider as g } from "@mui/x-date-pickers/LocalizationProvider";
10
+ import { LocalizationProvider as D } from "@mui/x-date-pickers/LocalizationProvider";
11
+ import { DatePicker as g } from "@mui/x-date-pickers";
12
12
  import { isValid as E } from "date-fns/isValid";
13
- var N = A(({ goal: a }) => {
13
+ var O = T(({ goal: a }) => {
14
14
  const { goals: r } = u(), { user: t, updateUser: d } = S(), { setAlert: m } = _(), [e, l] = i.useState(s(t.birthday ?? 0)), [n, p] = i.useState(null), c = a.is_complete, h = async () => {
15
15
  e && E(e) && (await d({
16
16
  ...t,
17
- birthday: T(e)
17
+ birthday: v(e)
18
18
  }), m(r.alert_goal_updated_birthday));
19
19
  };
20
- return /* @__PURE__ */ o(v, {
20
+ return /* @__PURE__ */ o(A, {
21
21
  isDisabled: c,
22
22
  isSaveDisabled: !!n,
23
23
  label: r.details_birthday,
@@ -25,9 +25,9 @@ var N = A(({ goal: a }) => {
25
25
  primaryText: r.details_birthday,
26
26
  secondaryText: `${f(s(t.birthday ?? 0), b.MONTH_DAY_YEAR)}`,
27
27
  zeroStateText: !a.guid && !t.birthday ? r.add_birthday : void 0,
28
- children: /* @__PURE__ */ o(g, {
28
+ children: /* @__PURE__ */ o(D, {
29
29
  dateAdapter: x,
30
- children: /* @__PURE__ */ o(D, {
30
+ children: /* @__PURE__ */ o(g, {
31
31
  label: r.details_birthday,
32
32
  onChange: l,
33
33
  onError: (y) => p(y),
@@ -38,7 +38,7 @@ var N = A(({ goal: a }) => {
38
38
  });
39
39
  });
40
40
  export {
41
- N as BirthdayAction
41
+ O as BirthdayAction
42
42
  };
43
43
 
44
44
  //# sourceMappingURL=BirthdayAction.es.js.map
@@ -4,16 +4,16 @@ import { formatOrdinal as M } from "../../core/utils/NumberFormatting.es.js";
4
4
  import { Select as n } from "../../common/components/Select.es.js";
5
5
  import g from "react";
6
6
  import A from "@mui/material/Stack";
7
- import { startOfToday as i } from "date-fns/startOfToday";
7
+ import { startOfToday as y } from "date-fns/startOfToday";
8
8
  import { jsx as t, jsxs as T } from "react/jsx-runtime";
9
9
  import { addYears as _ } from "date-fns/addYears";
10
10
  import { subDays as Y } from "date-fns/subDays";
11
11
  import { setDayOfYear as x } from "date-fns/setDayOfYear";
12
12
  import { AdapterDateFns as D } from "@mui/x-date-pickers/AdapterDateFnsV3";
13
- import { getDayOfYear as C } from "date-fns/getDayOfYear";
13
+ import { LocalizationProvider as C } from "@mui/x-date-pickers/LocalizationProvider";
14
+ import { getDayOfYear as W } from "date-fns/getDayOfYear";
14
15
  import { DatePicker as P } from "@mui/x-date-pickers";
15
- import { LocalizationProvider as W } from "@mui/x-date-pickers/LocalizationProvider";
16
- var N = ({ frequency: a, firstDay: y, secondDay: h, onFrequencyChange: s, onFirstDayChange: d, onSecondDayChange: c }) => {
16
+ var N = ({ frequency: a, firstDay: i, secondDay: h, onFrequencyChange: s, onFirstDayChange: d, onSecondDayChange: c }) => {
17
17
  const { recurring: e } = E(), f = g.useMemo(() => [
18
18
  {
19
19
  id: r.EveryWeek,
@@ -81,8 +81,8 @@ var N = ({ frequency: a, firstDay: y, secondDay: h, onFrequencyChange: s, onFirs
81
81
  label: M(o + 1)
82
82
  }));
83
83
  l[30].label += ` (${e.last_day_of_month})`;
84
- const v = l.slice(0, 15), b = l.slice(14), u = a === r.EveryWeek || a === r.EveryOtherWeek, k = a === r.TwiceAMonth || a === r.EveryMonth || a === r.EveryOtherMonth || a === r.EveryQuarter || a === r.EveryOtherQuarter, m = x(i(), y), w = m < i() ? _(m, 1) : m, O = (o) => {
85
- o && d(C(o));
84
+ const v = l.slice(0, 15), b = l.slice(14), u = a === r.EveryWeek || a === r.EveryOtherWeek, k = a === r.TwiceAMonth || a === r.EveryMonth || a === r.EveryOtherMonth || a === r.EveryQuarter || a === r.EveryOtherQuarter, m = x(y(), i), w = m < y() ? _(m, 1) : m, O = (o) => {
85
+ o && d(W(o));
86
86
  };
87
87
  return /* @__PURE__ */ T(A, {
88
88
  gap: 24,
@@ -98,13 +98,13 @@ var N = ({ frequency: a, firstDay: y, secondDay: h, onFrequencyChange: s, onFirs
98
98
  label: e.day_of_the_week,
99
99
  onChange: d,
100
100
  options: p,
101
- value: y
101
+ value: i
102
102
  }),
103
103
  k && /* @__PURE__ */ t(n, {
104
104
  label: a === r.TwiceAMonth ? e.first_day_of_the_month : e.day_of_the_month,
105
105
  onChange: d,
106
106
  options: a === r.TwiceAMonth ? v : l,
107
- value: y
107
+ value: i
108
108
  }),
109
109
  a === r.TwiceAMonth && /* @__PURE__ */ t(n, {
110
110
  label: e.second_day_of_the_month,
@@ -112,13 +112,13 @@ var N = ({ frequency: a, firstDay: y, secondDay: h, onFrequencyChange: s, onFirs
112
112
  options: b,
113
113
  value: h ?? ""
114
114
  }),
115
- a === r.EveryYear && /* @__PURE__ */ t(W, {
115
+ a === r.EveryYear && /* @__PURE__ */ t(C, {
116
116
  dateAdapter: D,
117
117
  children: /* @__PURE__ */ t(P, {
118
118
  disablePast: !0,
119
119
  label: e.next_payment_date,
120
- maxDate: Y(_(i(), 1), 1),
121
- minDate: i(),
120
+ maxDate: Y(_(y(), 1), 1),
121
+ minDate: y(),
122
122
  onChange: O,
123
123
  value: w
124
124
  })