@mx-cartographer/experiences 9.4.50 → 9.4.52-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.
- package/CHANGELOG.md +11 -0
- package/dist/budgets/components/addbudget/Header.es.js +3 -3
- package/dist/budgets/components/addbudget/Header.es.js.map +1 -1
- package/dist/budgets/components/addbudget/RecalculateBudgets.es.js +11 -9
- package/dist/budgets/components/addbudget/RecalculateBudgets.es.js.map +1 -1
- package/dist/common/components/calendar/Calendar.d.ts +1 -0
- package/dist/common/components/calendar/Calendar.es.js.map +1 -1
- package/dist/common/components/drawer/Drawer.es.js +9 -9
- package/dist/common/components/drawer/Drawer.es.js.map +1 -1
- package/dist/common/components/drawer/Footer.es.js +6 -6
- package/dist/common/components/drawer/Footer.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsDrawer.es.js +1 -0
- package/dist/finstrong/components/KeyIndicatorsDrawer.es.js.map +1 -1
- package/dist/finstrong/components/ManageDOB.es.js +16 -16
- package/dist/goals/components/actions/BirthdayAction.es.js +11 -11
- package/dist/help/components/HelpList.es.js +14 -14
- package/dist/help/components/HelpList.es.js.map +1 -1
- package/dist/help/components/requestsupport/ContactSupport.es.js +14 -14
- package/dist/help/components/requestsupport/ContactSupport.es.js.map +1 -1
- package/dist/help/components/requestsupport/HelpByCategoryList.es.js +1 -1
- package/dist/help/components/requestsupport/HelpByCategoryList.es.js.map +1 -1
- package/dist/help/components/requestsupport/RequestSupportInstitution.es.js +2 -2
- package/dist/help/components/requestsupport/RequestSupportInstitution.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/CardError.es.js +10 -10
- package/dist/insights/components/shared/InsightsCard/CardError.es.js.map +1 -1
- package/dist/recurringtransactions/components/PaymentSchedule.es.js +11 -11
- package/dist/settings/components/profile/ProfileTab.es.js +28 -28
- package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js +59 -53
- package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## [9.4.52] - 10-02-2026
|
|
2
|
+
|
|
3
|
+
- **FIXED** - Transaction Details date drawer now uses the MUI X date picker, styled by the MXUI theme MEW-4123
|
|
4
|
+
- **CHANGED** - `Drawer` footer secondary buttons now use the text variant, and the default `secondaryColor` is `primary` MEW-4123
|
|
5
|
+
- **CHANGED** - Deprecated the `Calendar` export from `./common` MEW-4123
|
|
6
|
+
- **CHANGED** - Bumped `@mxenabled/mxui` to `^2.10.1` for date range picker contrast fixes MEW-4123
|
|
7
|
+
|
|
8
|
+
## [9.4.51] - 10-01-2026
|
|
9
|
+
|
|
10
|
+
- **FIXED** - Certain text elements which didn't have enough color contrast (MEW-4120)
|
|
11
|
+
|
|
1
12
|
## [9.4.50] - 10-01-2026
|
|
2
13
|
|
|
3
14
|
- **FIXED** - Category rule dialog now receives screen reader focus when it opens from the category drawer (MEW-4017)
|
|
@@ -19,7 +19,7 @@ var v = u(() => {
|
|
|
19
19
|
variant: "body1",
|
|
20
20
|
children: i(d, "0,0")
|
|
21
21
|
}), /* @__PURE__ */ e(r, {
|
|
22
|
-
color: "secondary",
|
|
22
|
+
color: "text.secondary",
|
|
23
23
|
variant: "body2",
|
|
24
24
|
children: n.projected_income
|
|
25
25
|
})]
|
|
@@ -37,7 +37,7 @@ var v = u(() => {
|
|
|
37
37
|
variant: "body1",
|
|
38
38
|
children: i(c, "0,0")
|
|
39
39
|
}), /* @__PURE__ */ e(r, {
|
|
40
|
-
color: "secondary",
|
|
40
|
+
color: "text.secondary",
|
|
41
41
|
variant: "body2",
|
|
42
42
|
children: n.budgeted
|
|
43
43
|
})]
|
|
@@ -55,7 +55,7 @@ var v = u(() => {
|
|
|
55
55
|
variant: "body1",
|
|
56
56
|
children: i(a, "0,0")
|
|
57
57
|
}), /* @__PURE__ */ e(r, {
|
|
58
|
-
color: "secondary",
|
|
58
|
+
color: "text.secondary",
|
|
59
59
|
variant: "body2",
|
|
60
60
|
children: n.remaining
|
|
61
61
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.es.js","names":[],"sources":["../../../../src/budgets/components/addbudget/Header.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useBudgetsStore, useGlobalCopyStore, useRecurringTransactionsStore } from '../../../common'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nexport const Header = observer(() => {\n const { budgets: copy } = useGlobalCopyStore()\n const { totalBudgeted } = useBudgetsStore()\n const { incomeTotal } = useRecurringTransactionsStore()\n\n const remaining = incomeTotal - totalBudgeted\n\n return (\n <Stack direction=\"row\" justifyContent=\"center\" my={16} spacing={20}>\n <Stack alignItems=\"center\">\n <Text bold={true} variant=\"body1\">\n {formatCurrency(incomeTotal, '0,0')}\n </Text>\n <Text color=\"secondary\" variant=\"body2\">\n {copy.projected_income}\n </Text>\n </Stack>\n\n <Text bold={true} justifyContent=\"center\" variant=\"body1\">\n {'-'}\n </Text>\n\n <Stack alignItems=\"center\">\n <Text bold={true} variant=\"body1\">\n {formatCurrency(totalBudgeted, '0,0')}\n </Text>\n <Text color=\"secondary\" variant=\"body2\">\n {copy.budgeted}\n </Text>\n </Stack>\n\n <Text bold={true} justifyContent=\"center\" variant=\"body1\">\n {'='}\n </Text>\n\n <Stack alignItems=\"center\">\n <Text bold={true} variant=\"body1\">\n {formatCurrency(remaining, '0,0')}\n </Text>\n <Text color=\"secondary\" variant=\"body2\">\n {copy.remaining}\n </Text>\n </Stack>\n </Stack>\n )\n})\n"],"mappings":";;;;;;AASA,IAAa,IAAS,EAAA,MAAe;AACnC,QAAM,EAAE,SAAS,EAAA,IAAS,EAAmB,GACvC,EAAE,eAAA,EAAA,IAAkB,EAAgB,GACpC,EAAE,aAAA,EAAA,IAAgB,EAA8B,GAEhD,IAAY,IAAc;AAEhC,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAM,gBAAe;AAAA,IAAS,IAAI;AAAA,IAAI,SAAS;AAAA,IAAhE,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAO,YAAW;AAAA,QAAlB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,SAAQ;AAAA,UACvB,UAAA,EAAe,GAAa,KAAK;AAAA,QAC9B,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,UAAM,OAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"Header.es.js","names":[],"sources":["../../../../src/budgets/components/addbudget/Header.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useBudgetsStore, useGlobalCopyStore, useRecurringTransactionsStore } from '../../../common'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nexport const Header = observer(() => {\n const { budgets: copy } = useGlobalCopyStore()\n const { totalBudgeted } = useBudgetsStore()\n const { incomeTotal } = useRecurringTransactionsStore()\n\n const remaining = incomeTotal - totalBudgeted\n\n return (\n <Stack direction=\"row\" justifyContent=\"center\" my={16} spacing={20}>\n <Stack alignItems=\"center\">\n <Text bold={true} variant=\"body1\">\n {formatCurrency(incomeTotal, '0,0')}\n </Text>\n <Text color=\"text.secondary\" variant=\"body2\">\n {copy.projected_income}\n </Text>\n </Stack>\n\n <Text bold={true} justifyContent=\"center\" variant=\"body1\">\n {'-'}\n </Text>\n\n <Stack alignItems=\"center\">\n <Text bold={true} variant=\"body1\">\n {formatCurrency(totalBudgeted, '0,0')}\n </Text>\n <Text color=\"text.secondary\" variant=\"body2\">\n {copy.budgeted}\n </Text>\n </Stack>\n\n <Text bold={true} justifyContent=\"center\" variant=\"body1\">\n {'='}\n </Text>\n\n <Stack alignItems=\"center\">\n <Text bold={true} variant=\"body1\">\n {formatCurrency(remaining, '0,0')}\n </Text>\n <Text color=\"text.secondary\" variant=\"body2\">\n {copy.remaining}\n </Text>\n </Stack>\n </Stack>\n )\n})\n"],"mappings":";;;;;;AASA,IAAa,IAAS,EAAA,MAAe;AACnC,QAAM,EAAE,SAAS,EAAA,IAAS,EAAmB,GACvC,EAAE,eAAA,EAAA,IAAkB,EAAgB,GACpC,EAAE,aAAA,EAAA,IAAgB,EAA8B,GAEhD,IAAY,IAAc;AAEhC,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAM,gBAAe;AAAA,IAAS,IAAI;AAAA,IAAI,SAAS;AAAA,IAAhE,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAO,YAAW;AAAA,QAAlB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,SAAQ;AAAA,UACvB,UAAA,EAAe,GAAa,KAAK;AAAA,QAC9B,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,UAAM,OAAM;AAAA,UAAiB,SAAQ;AAAA,UAClC,UAAA,EAAK;AAAA,QACF,CAAA,CACD;AAAA;MAEP,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,gBAAe;AAAA,QAAS,SAAQ;AAAA,QAC/C,UAAA;AAAA,MACG,CAAA;AAAA,MAEN,gBAAA,EAAC,GAAD;AAAA,QAAO,YAAW;AAAA,QAAlB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,SAAQ;AAAA,UACvB,UAAA,EAAe,GAAe,KAAK;AAAA,QAChC,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,UAAM,OAAM;AAAA,UAAiB,SAAQ;AAAA,UAClC,UAAA,EAAK;AAAA,QACF,CAAA,CACD;AAAA;MAEP,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,gBAAe;AAAA,QAAS,SAAQ;AAAA,QAC/C,UAAA;AAAA,MACG,CAAA;AAAA,MAEN,gBAAA,EAAC,GAAD;AAAA,QAAO,YAAW;AAAA,QAAlB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,SAAQ;AAAA,UACvB,UAAA,EAAe,GAAW,KAAK;AAAA,QAC5B,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,UAAM,OAAM;AAAA,UAAiB,SAAQ;AAAA,UAClC,UAAA,EAAK;AAAA,QACF,CAAA,CACD;AAAA;IACF;AAAA;AAEX,CAAC"}
|
|
@@ -2,20 +2,20 @@ import { useBudgetsStore as b, useCategoryStore as h, useGlobalCopyStore as x }
|
|
|
2
2
|
import y from "../../../common/components/drawer/Drawer.es.js";
|
|
3
3
|
import { RecalculateBudgetRow as _ } from "./RecalculateBudgetRow.es.js";
|
|
4
4
|
import i from "react";
|
|
5
|
-
import
|
|
5
|
+
import n from "@mui/material/Stack";
|
|
6
6
|
import { Text as a } from "@mxenabled/mxui";
|
|
7
7
|
import C from "@mui/material/Button";
|
|
8
|
-
import { jsx as e, jsxs as
|
|
8
|
+
import { jsx as e, jsxs as c } from "react/jsx-runtime";
|
|
9
9
|
import v from "@mui/material/Box";
|
|
10
10
|
import B from "@mui/material/List";
|
|
11
|
-
var F = ({ onRecalculateBudgets:
|
|
12
|
-
const { budgets: t, common: m } = x(), { spendCategories: u } = h(), { recalculateBudgets:
|
|
13
|
-
await
|
|
11
|
+
var F = ({ onRecalculateBudgets: s }) => {
|
|
12
|
+
const { budgets: t, common: m } = x(), { spendCategories: u } = h(), { recalculateBudgets: p, setAlert: d } = b(), [g, o] = i.useState(!1), l = u.filter((r) => r.totalAverageAmount > 0), f = async () => {
|
|
13
|
+
await p(l), o(!1), d({
|
|
14
14
|
msg: t.alert_recalculated_budgets,
|
|
15
15
|
severity: "success"
|
|
16
|
-
}),
|
|
16
|
+
}), s?.();
|
|
17
17
|
};
|
|
18
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ c(i.Fragment, { children: [
|
|
19
19
|
/* @__PURE__ */ e(C, {
|
|
20
20
|
onClick: () => o(!0),
|
|
21
21
|
sx: {
|
|
@@ -32,6 +32,7 @@ var F = ({ onRecalculateBudgets: n }) => {
|
|
|
32
32
|
textAlign: "center"
|
|
33
33
|
},
|
|
34
34
|
variant: "subtitle1",
|
|
35
|
+
component: "span",
|
|
35
36
|
children: t.recalculate_help
|
|
36
37
|
}),
|
|
37
38
|
/* @__PURE__ */ e(y, {
|
|
@@ -40,7 +41,7 @@ var F = ({ onRecalculateBudgets: n }) => {
|
|
|
40
41
|
onClose: () => o(!1),
|
|
41
42
|
onPrimaryAction: f,
|
|
42
43
|
title: t.recalculate_title,
|
|
43
|
-
children: /* @__PURE__ */
|
|
44
|
+
children: /* @__PURE__ */ c(n, { children: [/* @__PURE__ */ c(n, {
|
|
44
45
|
mx: 24,
|
|
45
46
|
my: 16,
|
|
46
47
|
children: [/* @__PURE__ */ e(a, {
|
|
@@ -48,12 +49,13 @@ var F = ({ onRecalculateBudgets: n }) => {
|
|
|
48
49
|
variant: "body1",
|
|
49
50
|
children: t.recalculate_description_top
|
|
50
51
|
}), /* @__PURE__ */ e(a, {
|
|
52
|
+
component: "span",
|
|
51
53
|
variant: "subtitle2",
|
|
52
54
|
children: t.recalculate_description_bottom
|
|
53
55
|
})]
|
|
54
56
|
}), /* @__PURE__ */ e(v, {
|
|
55
57
|
bgcolor: "background.paper",
|
|
56
|
-
children: /* @__PURE__ */ e(B, { children:
|
|
58
|
+
children: /* @__PURE__ */ e(B, { children: l.map((r) => /* @__PURE__ */ e(_, { category: r }, r.guid)) })
|
|
57
59
|
})] })
|
|
58
60
|
})
|
|
59
61
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecalculateBudgets.es.js","names":[],"sources":["../../../../src/budgets/components/addbudget/RecalculateBudgets.tsx"],"sourcesContent":["import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport List from '@mui/material/List'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { Drawer, useBudgetsStore, useCategoryStore, useGlobalCopyStore } from '../../../common'\n\nimport { RecalculateBudgetRow } from './RecalculateBudgetRow'\n\ninterface RecalculateBudgetsProps {\n onRecalculateBudgets?: () => void\n}\n\nexport const RecalculateBudgets = ({ onRecalculateBudgets }: RecalculateBudgetsProps) => {\n const { budgets: copy, common: commonCopy } = useGlobalCopyStore()\n const { spendCategories } = useCategoryStore()\n const { recalculateBudgets, setAlert } = useBudgetsStore()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n const newBudgetCategories = spendCategories.filter((category) => category.totalAverageAmount > 0)\n\n const handlePrimaryClick = async () => {\n await recalculateBudgets(newBudgetCategories)\n\n setIsOpen(false)\n setAlert({ msg: copy.alert_recalculated_budgets, severity: 'success' })\n onRecalculateBudgets?.()\n }\n\n return (\n <React.Fragment>\n <Button onClick={() => setIsOpen(true)} sx={{ mt: 24, mx: 24 }} variant=\"text\">\n {copy.recalculate_button}\n </Button>\n\n <Text sx={{ mx: 24, my: 16, textAlign: 'center' }} variant=\"subtitle1\">\n {copy.recalculate_help}\n </Text>\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n onPrimaryAction={handlePrimaryClick}\n title={copy.recalculate_title}\n >\n <Stack>\n <Stack mx={24} my={16}>\n <Text bold={true} variant=\"body1\">\n {copy.recalculate_description_top}\n </Text>\n <Text variant=\"subtitle2\"
|
|
1
|
+
{"version":3,"file":"RecalculateBudgets.es.js","names":[],"sources":["../../../../src/budgets/components/addbudget/RecalculateBudgets.tsx"],"sourcesContent":["import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport List from '@mui/material/List'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { Drawer, useBudgetsStore, useCategoryStore, useGlobalCopyStore } from '../../../common'\n\nimport { RecalculateBudgetRow } from './RecalculateBudgetRow'\n\ninterface RecalculateBudgetsProps {\n onRecalculateBudgets?: () => void\n}\n\nexport const RecalculateBudgets = ({ onRecalculateBudgets }: RecalculateBudgetsProps) => {\n const { budgets: copy, common: commonCopy } = useGlobalCopyStore()\n const { spendCategories } = useCategoryStore()\n const { recalculateBudgets, setAlert } = useBudgetsStore()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n const newBudgetCategories = spendCategories.filter((category) => category.totalAverageAmount > 0)\n\n const handlePrimaryClick = async () => {\n await recalculateBudgets(newBudgetCategories)\n\n setIsOpen(false)\n setAlert({ msg: copy.alert_recalculated_budgets, severity: 'success' })\n onRecalculateBudgets?.()\n }\n\n return (\n <React.Fragment>\n <Button onClick={() => setIsOpen(true)} sx={{ mt: 24, mx: 24 }} variant=\"text\">\n {copy.recalculate_button}\n </Button>\n\n <Text sx={{ mx: 24, my: 16, textAlign: 'center' }} variant=\"subtitle1\" component=\"span\">\n {copy.recalculate_help}\n </Text>\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n onPrimaryAction={handlePrimaryClick}\n title={copy.recalculate_title}\n >\n <Stack>\n <Stack mx={24} my={16}>\n <Text bold={true} variant=\"body1\">\n {copy.recalculate_description_top}\n </Text>\n <Text component=\"span\" variant=\"subtitle2\">\n {copy.recalculate_description_bottom}\n </Text>\n </Stack>\n <Box bgcolor=\"background.paper\">\n <List>\n {newBudgetCategories.map((category) => (\n <RecalculateBudgetRow category={category} key={category.guid} />\n ))}\n </List>\n </Box>\n </Stack>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":";;;;;;;;;;AAiBA,IAAa,IAAA,CAAsB,EAAE,sBAAA,EAAA,MAAoD;AACvF,QAAM,EAAE,SAAS,GAAM,QAAQ,EAAA,IAAe,EAAmB,GAC3D,EAAE,iBAAA,EAAA,IAAoB,EAAiB,GACvC,EAAE,oBAAA,GAAoB,UAAA,EAAA,IAAa,EAAgB,GAEnD,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAE1C,IAAsB,EAAgB,OAAA,CAAQ,MAAa,EAAS,qBAAqB,CAAC,GAE1F,IAAqB,YAAY;AACrC,UAAM,EAAmB,CAAmB,GAE5C,EAAU,EAAK,GACf,EAAS;AAAA,MAAE,KAAK,EAAK;AAAA,MAA4B,UAAU;AAAA,IAAU,CAAC,GACtE,IAAuB;AAAA,EACzB;AAEA,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAQ,SAAA,MAAe,EAAU,EAAI;AAAA,MAAG,IAAI;AAAA,QAAE,IAAI;AAAA,QAAI,IAAI;AAAA,MAAG;AAAA,MAAG,SAAQ;AAAA,MACrE,UAAA,EAAK;AAAA,IACA,CAAA;AAAA,IAER,gBAAA,EAAC,GAAD;AAAA,MAAM,IAAI;AAAA,QAAE,IAAI;AAAA,QAAI,IAAI;AAAA,QAAI,WAAW;AAAA,MAAS;AAAA,MAAG,SAAQ;AAAA,MAAY,WAAU;AAAA,MAC9E,UAAA,EAAK;AAAA,IACF,CAAA;AAAA,IACN,gBAAA,EAAC,GAAD;AAAA,MACE,gBAAgB,EAAW;AAAA,MACnB,QAAA;AAAA,MACR,SAAA,MAAe,EAAU,EAAK;AAAA,MAC9B,iBAAiB;AAAA,MACjB,OAAO,EAAK;AAAA,MAEZ,UAAA,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,QAAI,IAAI;AAAA,QAAnB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,SAAQ;AAAA,UACvB,UAAA,EAAK;AAAA,QACF,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,UAAM,WAAU;AAAA,UAAO,SAAQ;AAAA,UAC5B,UAAA,EAAK;AAAA,QACF,CAAA,CACD;AAAA,MACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,QAAK,SAAQ;AAAA,QACX,UAAA,gBAAA,EAAC,GAAD,EAAA,UACG,EAAoB,IAAA,CAAK,MACxB,gBAAA,EAAC,GAAD,EAAgC,UAAA,EAA+B,GAAhB,EAAS,IAAO,CAChE,EACG,CAAA;AAAA,MACH,CAAA,CACA,EAAA,CAAA;AAAA,IACD,CAAA;AAAA,EACM,EAAA,CAAA;AAEpB"}
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;AAwBA,IAAkB,KAAX,0BAAA,GAAA;AACL,SAAA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,QAAA;AACF,GAAA,CAAA,CAAA,
|
|
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:
|
|
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:
|
|
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:
|
|
45
|
+
children: s
|
|
46
46
|
}),
|
|
47
47
|
t && /* @__PURE__ */ r(D, {
|
|
48
|
-
footerStyles:
|
|
49
|
-
hasSecondaryAction:
|
|
50
|
-
isPrimaryDisabled:
|
|
48
|
+
footerStyles: u,
|
|
49
|
+
hasSecondaryAction: d,
|
|
50
|
+
isPrimaryDisabled: m,
|
|
51
51
|
onPrimaryAction: t,
|
|
52
52
|
onSecondaryAction: l ?? o,
|
|
53
|
-
primaryButtonProps:
|
|
53
|
+
primaryButtonProps: c,
|
|
54
54
|
primaryColor: f,
|
|
55
|
-
primaryText:
|
|
56
|
-
secondaryColor:
|
|
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 = '
|
|
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
|
|
3
|
-
import { jsx as
|
|
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__ */
|
|
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
|
|
13
|
+
children: [a && /* @__PURE__ */ o(e, {
|
|
14
14
|
color: p,
|
|
15
15
|
onClick: i,
|
|
16
|
-
variant: r ? "
|
|
16
|
+
variant: r ? "text" : "contained",
|
|
17
17
|
children: f
|
|
18
|
-
}), r && /* @__PURE__ */ e
|
|
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 ? '
|
|
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"}
|
|
@@ -50,6 +50,7 @@ var P = ({ additionalContent: u, connectTitle: k, connectDescription: v, childre
|
|
|
50
50
|
pb: s ? 0 : 24
|
|
51
51
|
},
|
|
52
52
|
children: [t && typeof t == "string" ? /* @__PURE__ */ o(A, { children: t }) : t, c && /* @__PURE__ */ o(M, {
|
|
53
|
+
color: "text.secondary",
|
|
53
54
|
sx: { lineHeight: "24px" },
|
|
54
55
|
children: c
|
|
55
56
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyIndicatorsDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsDrawer.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { P, H3 } from '@mxenabled/mxui'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\nimport { ConnectMoreAccountsCard } from './ConnectMoreAccountsCard'\n\ninterface KeyIndicatorsDrawerProps {\n additionalContent?: React.ReactNode\n connectTitle?: string\n connectDescription?: string\n children?: React.ReactNode\n description?: string\n drawerTitle?: string\n isOpen: boolean\n loadConnectAccountsCard?: boolean\n onClose: () => void\n stickyComponent?: React.ReactNode\n title?: string | React.ReactNode\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n}\n\nconst KeyIndicatorsDrawer: React.FC<React.PropsWithChildren<KeyIndicatorsDrawerProps>> = ({\n additionalContent,\n connectTitle,\n connectDescription,\n children,\n description,\n drawerTitle,\n isOpen,\n loadConnectAccountsCard = true,\n onClose,\n stickyComponent,\n title,\n drawerType,\n}: KeyIndicatorsDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const { isCopyLoaded } = useGlobalUiStore()\n const [isScrolled, setIsScrolled] = useState(false)\n const scrollContainerRef = useRef<HTMLElement | null>(null)\n\n const handleScroll = useCallback(() => {\n if (scrollContainerRef.current) {\n const hasScrolled = scrollContainerRef.current.scrollTop > 0\n setIsScrolled((prev) => (prev !== hasScrolled ? hasScrolled : prev))\n }\n }, [])\n\n const contentCallbackRef = useCallback(\n (node: HTMLDivElement | null) => {\n // Clean up previous listener\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n\n if (node) {\n // Find the scrollable parent\n let parent = node.parentElement\n while (parent) {\n const { overflow, overflowY } = window.getComputedStyle(parent)\n if (\n overflow === 'auto' ||\n overflowY === 'auto' ||\n overflow === 'scroll' ||\n overflowY === 'scroll'\n ) {\n scrollContainerRef.current = parent\n parent.addEventListener('scroll', handleScroll, { passive: true })\n break\n }\n parent = parent.parentElement\n }\n }\n },\n [handleScroll],\n )\n\n useEffect(() => {\n if (!isOpen) {\n setIsScrolled(false)\n }\n }, [isOpen])\n\n useEffect(() => {\n return () => {\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n }\n }, [handleScroll])\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={drawerTitle || copy.key_indicators}>\n <Stack\n ref={contentCallbackRef}\n sx={{ backgroundColor: 'background.default', height: '100%' }}\n >\n {(title || description) && (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n gap: 8,\n p: 24,\n pb: stickyComponent ? 0 : 24,\n }}\n >\n {title && typeof title === 'string' ? <H3>{title}</H3> : title}\n {description && <P sx={{ lineHeight: '24px' }}
|
|
1
|
+
{"version":3,"file":"KeyIndicatorsDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsDrawer.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { P, H3 } from '@mxenabled/mxui'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\nimport { ConnectMoreAccountsCard } from './ConnectMoreAccountsCard'\n\ninterface KeyIndicatorsDrawerProps {\n additionalContent?: React.ReactNode\n connectTitle?: string\n connectDescription?: string\n children?: React.ReactNode\n description?: string\n drawerTitle?: string\n isOpen: boolean\n loadConnectAccountsCard?: boolean\n onClose: () => void\n stickyComponent?: React.ReactNode\n title?: string | React.ReactNode\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n}\n\nconst KeyIndicatorsDrawer: React.FC<React.PropsWithChildren<KeyIndicatorsDrawerProps>> = ({\n additionalContent,\n connectTitle,\n connectDescription,\n children,\n description,\n drawerTitle,\n isOpen,\n loadConnectAccountsCard = true,\n onClose,\n stickyComponent,\n title,\n drawerType,\n}: KeyIndicatorsDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const { isCopyLoaded } = useGlobalUiStore()\n const [isScrolled, setIsScrolled] = useState(false)\n const scrollContainerRef = useRef<HTMLElement | null>(null)\n\n const handleScroll = useCallback(() => {\n if (scrollContainerRef.current) {\n const hasScrolled = scrollContainerRef.current.scrollTop > 0\n setIsScrolled((prev) => (prev !== hasScrolled ? hasScrolled : prev))\n }\n }, [])\n\n const contentCallbackRef = useCallback(\n (node: HTMLDivElement | null) => {\n // Clean up previous listener\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n\n if (node) {\n // Find the scrollable parent\n let parent = node.parentElement\n while (parent) {\n const { overflow, overflowY } = window.getComputedStyle(parent)\n if (\n overflow === 'auto' ||\n overflowY === 'auto' ||\n overflow === 'scroll' ||\n overflowY === 'scroll'\n ) {\n scrollContainerRef.current = parent\n parent.addEventListener('scroll', handleScroll, { passive: true })\n break\n }\n parent = parent.parentElement\n }\n }\n },\n [handleScroll],\n )\n\n useEffect(() => {\n if (!isOpen) {\n setIsScrolled(false)\n }\n }, [isOpen])\n\n useEffect(() => {\n return () => {\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n }\n }, [handleScroll])\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={drawerTitle || copy.key_indicators}>\n <Stack\n ref={contentCallbackRef}\n sx={{ backgroundColor: 'background.default', height: '100%' }}\n >\n {(title || description) && (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n gap: 8,\n p: 24,\n pb: stickyComponent ? 0 : 24,\n }}\n >\n {title && typeof title === 'string' ? <H3>{title}</H3> : title}\n {description && (\n <P color=\"text.secondary\" sx={{ lineHeight: '24px' }}>\n {description}\n </P>\n )}\n </Stack>\n )}\n\n {stickyComponent && (\n <Box\n sx={{\n position: 'sticky',\n top: 0,\n zIndex: 1,\n '& > *': {\n borderBottom: isScrolled ? '1px solid' : 'none',\n borderColor: isScrolled ? 'divider' : 'transparent',\n },\n }}\n >\n {stickyComponent}\n </Box>\n )}\n {additionalContent && <Box>{additionalContent}</Box>}\n <Stack sx={{ bgcolor: 'background.default', gap: 24, p: 24 }}>\n {children}\n {loadConnectAccountsCard && (\n <ConnectMoreAccountsCard\n description={connectDescription}\n drawerType={drawerType}\n isDashboard={true}\n sx={{ backgroundColor: 'background.paper' }}\n title={connectTitle}\n />\n )}\n </Stack>\n </Stack>\n </Drawer>\n )\n}\nexport default observer(KeyIndicatorsDrawer)\n"],"mappings":"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"}
|
|
@@ -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
|
|
7
|
-
import { alpha as
|
|
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 {
|
|
10
|
-
import {
|
|
11
|
-
var
|
|
12
|
-
const { finstrong: l } = u(),
|
|
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__ */
|
|
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__ */
|
|
34
|
+
children: /* @__PURE__ */ e(v, {
|
|
35
35
|
sx: {
|
|
36
36
|
bgcolor: "background.default",
|
|
37
37
|
height: "100%"
|
|
38
38
|
},
|
|
39
|
-
children: /* @__PURE__ */
|
|
39
|
+
children: /* @__PURE__ */ e(x, {
|
|
40
40
|
dateAdapter: S,
|
|
41
|
-
children: /* @__PURE__ */
|
|
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:
|
|
47
|
+
"&:hover": { bgcolor: o(t.palette.primary.light, 0.1) }
|
|
48
48
|
} },
|
|
49
49
|
previousIconButton: { sx: {
|
|
50
50
|
color: "primary.main",
|
|
51
|
-
"&:hover": { bgcolor:
|
|
51
|
+
"&:hover": { bgcolor: o(t.palette.primary.light, 0.1) }
|
|
52
52
|
} },
|
|
53
53
|
switchViewButton: { sx: {
|
|
54
54
|
color: "primary.main",
|
|
55
|
-
"&:hover": { bgcolor:
|
|
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:
|
|
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
|
-
},
|
|
74
|
+
}, j = b(B);
|
|
75
75
|
export {
|
|
76
|
-
|
|
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
|
|
3
|
+
import { ListItemAction as A } from "../../../common/components/ListItemAction.es.js";
|
|
4
4
|
import i from "react";
|
|
5
|
-
import { observer as
|
|
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
|
|
8
|
+
import { getUnixTime as v } from "date-fns/getUnixTime";
|
|
9
9
|
import { AdapterDateFns as x } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
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
|
|
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:
|
|
17
|
+
birthday: v(e)
|
|
18
18
|
}), m(r.alert_goal_updated_birthday));
|
|
19
19
|
};
|
|
20
|
-
return /* @__PURE__ */ o(
|
|
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(
|
|
28
|
+
children: /* @__PURE__ */ o(D, {
|
|
29
29
|
dateAdapter: x,
|
|
30
|
-
children: /* @__PURE__ */ o(
|
|
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
|
-
|
|
41
|
+
O as BirthdayAction
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
//# sourceMappingURL=BirthdayAction.es.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEvent as S } from "../../common/context/hooks.es.js";
|
|
2
2
|
import { ANALYTICS_EVENTS as h } from "../../common/constants/Analytics.es.js";
|
|
3
3
|
import _, { useState as T } from "react";
|
|
4
|
-
import
|
|
4
|
+
import o from "@mui/material/Stack";
|
|
5
5
|
import { H3 as k, Icon as B, P as D, Text as u } from "@mxenabled/mxui";
|
|
6
6
|
import H from "@mui/material/Button";
|
|
7
7
|
import { ExpandMore as j } from "@mxenabled/mx-icons";
|
|
@@ -22,10 +22,10 @@ var ir = ({ buttonText: c, hasRequestButton: f = !1, helpCategories: n = [], hel
|
|
|
22
22
|
justifyContent: "space-between",
|
|
23
23
|
mb: 24
|
|
24
24
|
},
|
|
25
|
-
children: [/* @__PURE__ */ e(
|
|
25
|
+
children: [/* @__PURE__ */ e(o, { children: [/* @__PURE__ */ r(k, { children: b }), /* @__PURE__ */ r(D, {
|
|
26
26
|
variant: "body1",
|
|
27
27
|
children: g
|
|
28
|
-
})] }), f && /* @__PURE__ */ r(
|
|
28
|
+
})] }), f && /* @__PURE__ */ r(o, {
|
|
29
29
|
sx: { pt: {
|
|
30
30
|
xs: 12,
|
|
31
31
|
md: 0
|
|
@@ -39,7 +39,7 @@ var ir = ({ buttonText: c, hasRequestButton: f = !1, helpCategories: n = [], hel
|
|
|
39
39
|
children: c
|
|
40
40
|
})
|
|
41
41
|
})]
|
|
42
|
-
}), /* @__PURE__ */ r(
|
|
42
|
+
}), /* @__PURE__ */ r(o, {
|
|
43
43
|
sx: {
|
|
44
44
|
flexDirection: {
|
|
45
45
|
xs: "column",
|
|
@@ -49,7 +49,7 @@ var ir = ({ buttonText: c, hasRequestButton: f = !1, helpCategories: n = [], hel
|
|
|
49
49
|
},
|
|
50
50
|
children: [0, 1].map((d) => {
|
|
51
51
|
const s = d === 0 ? 0 : m, I = d === 0 ? m : n.length, L = n.slice(s, I);
|
|
52
|
-
return /* @__PURE__ */ r(
|
|
52
|
+
return /* @__PURE__ */ r(o, {
|
|
53
53
|
sx: {
|
|
54
54
|
flex: 1,
|
|
55
55
|
gap: 12,
|
|
@@ -60,11 +60,11 @@ var ir = ({ buttonText: c, hasRequestButton: f = !1, helpCategories: n = [], hel
|
|
|
60
60
|
return /* @__PURE__ */ e(O, {
|
|
61
61
|
disableGutters: !0,
|
|
62
62
|
expanded: x === y,
|
|
63
|
-
onChange: (
|
|
63
|
+
onChange: (t, i) => {
|
|
64
64
|
l(h.HELP_EXPAND_TOPIC, { feature: a }), R(i ? x : null);
|
|
65
65
|
},
|
|
66
|
-
sx: (
|
|
67
|
-
border: `1px solid ${
|
|
66
|
+
sx: (t) => ({
|
|
67
|
+
border: `1px solid ${t.palette.neutral?.light}`,
|
|
68
68
|
borderRadius: "8px !important",
|
|
69
69
|
"&:before": { opacity: 0 },
|
|
70
70
|
"& .MuiAccordion-region": {
|
|
@@ -80,7 +80,7 @@ var ir = ({ buttonText: c, hasRequestButton: f = !1, helpCategories: n = [], hel
|
|
|
80
80
|
height: 64,
|
|
81
81
|
p: "14px 24px"
|
|
82
82
|
},
|
|
83
|
-
children: /* @__PURE__ */ e(
|
|
83
|
+
children: /* @__PURE__ */ e(o, {
|
|
84
84
|
sx: {
|
|
85
85
|
alignItems: "center",
|
|
86
86
|
flexDirection: "row",
|
|
@@ -103,13 +103,13 @@ var ir = ({ buttonText: c, hasRequestButton: f = !1, helpCategories: n = [], hel
|
|
|
103
103
|
},
|
|
104
104
|
children: /* @__PURE__ */ r(M, {
|
|
105
105
|
disablePadding: !0,
|
|
106
|
-
children: A.map(({ label:
|
|
107
|
-
"aria-label":
|
|
106
|
+
children: A.map(({ label: t, topicKey: i }) => /* @__PURE__ */ r(N, {
|
|
107
|
+
"aria-label": t,
|
|
108
108
|
divider: !0,
|
|
109
109
|
onClick: () => v({
|
|
110
110
|
guid: p,
|
|
111
111
|
category: a,
|
|
112
|
-
pageTitle:
|
|
112
|
+
pageTitle: t,
|
|
113
113
|
topicKey: i
|
|
114
114
|
}),
|
|
115
115
|
sx: {
|
|
@@ -121,9 +121,9 @@ var ir = ({ buttonText: c, hasRequestButton: f = !1, helpCategories: n = [], hel
|
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
children: /* @__PURE__ */ r(u, {
|
|
124
|
-
color: "secondary",
|
|
124
|
+
color: "text.secondary",
|
|
125
125
|
variant: "body2",
|
|
126
|
-
children:
|
|
126
|
+
children: t
|
|
127
127
|
})
|
|
128
128
|
}, i))
|
|
129
129
|
})
|