@mx-cartographer/experiences 9.4.14 → 9.4.16
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 +20 -0
- package/dist/core/types/Insights.d.ts +14 -14
- package/dist/core/types/InsightsInstanceSlotData.d.ts +5 -1
- package/dist/core/types/InsightsInstanceSlotData.es.js.map +1 -1
- package/dist/core/types/localization/InsightsFeedCopy.d.ts +21 -0
- package/dist/core/types/localization/index.d.ts +1 -1
- package/dist/insights-v2/CommonUtils.d.ts +2 -0
- package/dist/insights-v2/CommonUtils.es.js +8 -3
- package/dist/insights-v2/CommonUtils.es.js.map +1 -1
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/TransactionDrillDown.d.ts +22 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/TransactionDrillDown.es.js +108 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/TransactionDrillDown.es.js.map +1 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/TransactionHistoryBlock.d.ts +8 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/TransactionHistoryBlock.es.js +89 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/TransactionHistoryBlock.es.js.map +1 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/layout.d.ts +68 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/layout.es.js +118 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/layout.es.js.map +1 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/useTransactionHistory.d.ts +15 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/useTransactionHistory.es.js +20 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/useTransactionHistory.es.js.map +1 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/utils.d.ts +64 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/utils.es.js +67 -0
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/utils.es.js.map +1 -0
- package/dist/insights-v2/beatActions.d.ts +30 -0
- package/dist/insights-v2/beatActions.es.js +12 -0
- package/dist/insights-v2/beatActions.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.d.ts +2 -2
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js +2 -2
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js.map +1 -1
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.d.ts +14 -3
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js +26 -25
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js.map +1 -1
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js +3 -3
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js.map +1 -1
- package/dist/insights-v2/components/BaseLayout.d.ts +5 -1
- package/dist/insights-v2/components/BaseLayout.es.js +68 -64
- package/dist/insights-v2/components/BaseLayout.es.js.map +1 -1
- package/dist/insights-v2/components/Header.es.js +23 -33
- package/dist/insights-v2/components/Header.es.js.map +1 -1
- package/dist/insights-v2/components/InsightOptionsMenu.d.ts +10 -0
- package/dist/insights-v2/components/InsightOptionsMenu.es.js +54 -0
- package/dist/insights-v2/components/InsightOptionsMenu.es.js.map +1 -0
- package/dist/insights-v2/components/OverflowMenu.d.ts +32 -0
- package/dist/insights-v2/components/OverflowMenu.es.js +73 -0
- package/dist/insights-v2/components/OverflowMenu.es.js.map +1 -0
- package/dist/insights-v2/index.d.ts +3 -0
- package/dist/insights-v2/index.es.js +51 -45
- package/dist/insights-v2/mappings/blocks.es.js +45 -38
- package/dist/insights-v2/mappings/blocks.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,77 +1,81 @@
|
|
|
1
|
-
import { useInsightsV2Store as
|
|
1
|
+
import { useInsightsV2Store as _ } from "../../common/context/hooks.es.js";
|
|
2
2
|
import { blocks as g } from "../mappings/blocks.es.js";
|
|
3
3
|
import y from "./Footer.es.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import { BeatActionsProvider as k } from "../beatActions.es.js";
|
|
5
|
+
import x from "./Header.es.js";
|
|
6
|
+
import { ActionBlockLayer as C } from "../actionBlocks/ActionBlockLayer.es.js";
|
|
6
7
|
import l from "@mui/material/Stack";
|
|
7
8
|
import c from "@mui/material/Button";
|
|
8
|
-
import { ChevronRight as
|
|
9
|
-
import { jsx as
|
|
10
|
-
import
|
|
11
|
-
var
|
|
12
|
-
const { openCtaDrawer:
|
|
13
|
-
if (!
|
|
14
|
-
const { instance_slot:
|
|
15
|
-
return /* @__PURE__ */
|
|
16
|
-
|
|
17
|
-
children:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
dangerouslySetInnerHTML: { __html: o.html_description },
|
|
38
|
-
style: { paddingLeft: 4 }
|
|
39
|
-
}), o?.in_description_cta && /* @__PURE__ */ r(c, {
|
|
40
|
-
endIcon: /* @__PURE__ */ r(x, {}),
|
|
41
|
-
onClick: () => {
|
|
9
|
+
import { ChevronRight as v } from "@mxenabled/mx-icons";
|
|
10
|
+
import { jsx as o, jsxs as t } from "react/jsx-runtime";
|
|
11
|
+
import B from "@mui/material/Card";
|
|
12
|
+
var b = {}, D = ({ beat: r, beatActions: p = b }) => {
|
|
13
|
+
const { openCtaDrawer: a } = _(), i = r.insights_payload;
|
|
14
|
+
if (!i) return null;
|
|
15
|
+
const { instance_slot: m, primary_cta: n, secondary_cta: e, subtitle: h, widget_type: f } = i, { block: u } = m, s = g[u], d = f === "mini";
|
|
16
|
+
return /* @__PURE__ */ o(k, {
|
|
17
|
+
value: p,
|
|
18
|
+
children: /* @__PURE__ */ t(l, {
|
|
19
|
+
sx: { mb: 16 },
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ t(B, { children: [
|
|
22
|
+
/* @__PURE__ */ o(x, {
|
|
23
|
+
isMini: d,
|
|
24
|
+
subtitle: h,
|
|
25
|
+
title: r.title
|
|
26
|
+
}),
|
|
27
|
+
s && /* @__PURE__ */ o(s, {
|
|
28
|
+
beatGuid: r.guid,
|
|
29
|
+
payload: i
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ t(l, {
|
|
32
|
+
sx: {
|
|
33
|
+
gap: 6,
|
|
34
|
+
pb: 16,
|
|
35
|
+
pl: 12,
|
|
36
|
+
pr: 16,
|
|
37
|
+
pt: 12
|
|
42
38
|
},
|
|
39
|
+
children: [/* @__PURE__ */ o("div", {
|
|
40
|
+
dangerouslySetInnerHTML: { __html: r.html_description },
|
|
41
|
+
style: { paddingLeft: 4 }
|
|
42
|
+
}), r?.in_description_cta && /* @__PURE__ */ o(c, {
|
|
43
|
+
endIcon: /* @__PURE__ */ o(v, {}),
|
|
44
|
+
onClick: () => {
|
|
45
|
+
},
|
|
46
|
+
sx: {
|
|
47
|
+
height: 24,
|
|
48
|
+
p: 4,
|
|
49
|
+
width: "max-content"
|
|
50
|
+
},
|
|
51
|
+
children: r.in_description_cta
|
|
52
|
+
})]
|
|
53
|
+
}),
|
|
54
|
+
!d && n?.label && /* @__PURE__ */ t(l, {
|
|
43
55
|
sx: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
56
|
+
gap: 8,
|
|
57
|
+
pb: 16,
|
|
58
|
+
px: 16
|
|
47
59
|
},
|
|
48
|
-
children: o
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
onClick: () => e.block && s(o.guid, "secondaryCta"),
|
|
64
|
-
children: e.label
|
|
65
|
-
})]
|
|
66
|
-
})
|
|
67
|
-
] }),
|
|
68
|
-
/* @__PURE__ */ r(k, { beat: o }),
|
|
69
|
-
t.footer && /* @__PURE__ */ r(y, { footer: t.footer })
|
|
70
|
-
]
|
|
60
|
+
children: [/* @__PURE__ */ o(c, {
|
|
61
|
+
onClick: () => n.block && a(r.guid, "primaryCta"),
|
|
62
|
+
variant: "outlined",
|
|
63
|
+
children: n.label
|
|
64
|
+
}), e?.label && /* @__PURE__ */ o(c, {
|
|
65
|
+
color: "secondary",
|
|
66
|
+
onClick: () => e.block && a(r.guid, "secondaryCta"),
|
|
67
|
+
children: e.label
|
|
68
|
+
})]
|
|
69
|
+
})
|
|
70
|
+
] }),
|
|
71
|
+
/* @__PURE__ */ o(C, { beat: r }),
|
|
72
|
+
i.footer && /* @__PURE__ */ o(y, { footer: i.footer })
|
|
73
|
+
]
|
|
74
|
+
})
|
|
71
75
|
});
|
|
72
76
|
};
|
|
73
77
|
export {
|
|
74
|
-
|
|
78
|
+
D as default
|
|
75
79
|
};
|
|
76
80
|
|
|
77
81
|
//# sourceMappingURL=BaseLayout.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLayout.es.js","names":[],"sources":["../../../src/insights-v2/components/BaseLayout.tsx"],"sourcesContent":["import Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { blocks } from '../mappings/blocks'\n\nimport Footer from './Footer'\nimport Header from './Header'\nimport { useInsightsV2Store } from '../../common'\nimport type { Beat } from '../../core'\nimport { ActionBlockLayer } from '../actionBlocks/ActionBlockLayer'\n\ninterface BaseLayoutProps {\n beat: Beat\n}\n\nconst BaseLayout = ({ beat }: BaseLayoutProps) => {\n const { openCtaDrawer } = useInsightsV2Store()\n\n const insights_payload = beat.insights_payload\n\n if (!insights_payload) {\n return null\n }\n\n const { instance_slot, primary_cta, secondary_cta, subtitle, widget_type } = insights_payload\n const { block } = instance_slot\n\n const Block = blocks[block as keyof typeof blocks]\n\n const isMini = widget_type === 'mini'\n\n return (\n <Stack sx={{ mb: 16 }}>\n
|
|
1
|
+
{"version":3,"file":"BaseLayout.es.js","names":[],"sources":["../../../src/insights-v2/components/BaseLayout.tsx"],"sourcesContent":["import Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { blocks } from '../mappings/blocks'\n\nimport Footer from './Footer'\nimport Header from './Header'\nimport { useInsightsV2Store } from '../../common'\nimport type { Beat } from '../../core'\nimport { BeatActionsProvider, type BeatActions } from '../beatActions'\nimport { ActionBlockLayer } from '../actionBlocks/ActionBlockLayer'\n\ninterface BaseLayoutProps {\n beat: Beat\n /** Host callbacks (menu actions, updateBeat, …) delivered to the card subtree\n * via context, so blocks/variants can reach them without prop drilling. */\n beatActions?: BeatActions\n}\n\n// Stable default so an omitted prop doesn't create a new context value each\n// render (which would re-render every consumer).\nconst NO_BEAT_ACTIONS: BeatActions = {}\n\nconst BaseLayout = ({ beat, beatActions = NO_BEAT_ACTIONS }: BaseLayoutProps) => {\n const { openCtaDrawer } = useInsightsV2Store()\n\n const insights_payload = beat.insights_payload\n\n if (!insights_payload) {\n return null\n }\n\n const { instance_slot, primary_cta, secondary_cta, subtitle, widget_type } = insights_payload\n const { block } = instance_slot\n\n const Block = blocks[block as keyof typeof blocks]\n\n const isMini = widget_type === 'mini'\n\n return (\n <BeatActionsProvider value={beatActions}>\n <Stack sx={{ mb: 16 }}>\n <Card>\n {/* Header */}\n <Header isMini={isMini} subtitle={subtitle} title={beat.title} />\n\n {/* Instance Slot */}\n {Block && <Block beatGuid={beat.guid} payload={insights_payload} />}\n\n {/* Body */}\n <Stack sx={{ gap: 6, pb: 16, pl: 12, pr: 16, pt: 12 }}>\n <div\n dangerouslySetInnerHTML={{\n __html: beat.html_description as string,\n }}\n style={{ paddingLeft: 4 }}\n />\n {beat?.in_description_cta && (\n <Button\n endIcon={<ChevronRight />}\n onClick={() => {}}\n sx={{ height: 24, p: 4, width: 'max-content' }}\n >\n {beat.in_description_cta}\n </Button>\n )}\n </Stack>\n\n {/* CTA. A CTA without a real `block` doesn't open a drawer (it may trigger\n a postMessage etc.) — restrict the drawer to CTAs that carry a block. */}\n {!isMini && primary_cta?.label && (\n <Stack sx={{ gap: 8, pb: 16, px: 16 }}>\n <Button\n onClick={() => primary_cta.block && openCtaDrawer(beat.guid, 'primaryCta')}\n variant=\"outlined\"\n >\n {primary_cta.label}\n </Button>\n {secondary_cta?.label && (\n <Button\n color=\"secondary\"\n onClick={() => secondary_cta.block && openCtaDrawer(beat.guid, 'secondaryCta')}\n >\n {secondary_cta.label}\n </Button>\n )}\n </Stack>\n )}\n </Card>\n\n {/* Always mounted: the drawer's slide in/out animation only plays when\n MUI sees isOpen CHANGE on a mounted Drawer — conditionally mounting\n it here made it snap open and vanish on close. */}\n <ActionBlockLayer beat={beat} />\n\n {/* Footer */}\n {insights_payload.footer && <Footer footer={insights_payload.footer} />}\n </Stack>\n </BeatActionsProvider>\n )\n}\n\nexport default BaseLayout\n"],"mappings":";;;;;;;;;;;AAwBA,IAAM,IAA+B,CAAC,GAEhC,IAAA,CAAc,EAAE,MAAA,GAAM,aAAA,IAAc,EAAA,MAAuC;AAC/E,QAAM,EAAE,eAAA,EAAA,IAAkB,EAAmB,GAEvC,IAAmB,EAAK;AAE9B,MAAI,CAAC,EACH,QAAO;AAGT,QAAM,EAAE,eAAA,GAAe,aAAA,GAAa,eAAA,GAAe,UAAA,GAAU,aAAA,EAAA,IAAgB,GACvE,EAAE,OAAA,EAAA,IAAU,GAEZ,IAAQ,EAAO,CAAA,GAEf,IAAS,MAAgB;AAE/B,SACE,gBAAA,EAAC,GAAD;AAAA,IAAqB,OAAO;AAAA,IAC1B,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,IAAI,GAAG;AAAA,MAApB,UAAA;AAAA,QACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,UAEE,gBAAA,EAAC,GAAD;AAAA,YAAgB,QAAA;AAAA,YAAkB,UAAA;AAAA,YAAU,OAAO,EAAK;AAAA,UAAQ,CAAA;AAAA,UAG/D,KAAS,gBAAA,EAAC,GAAD;AAAA,YAAO,UAAU,EAAK;AAAA,YAAM,SAAS;AAAA,UAAmB,CAAA;AAAA,UAGlE,gBAAA,EAAC,GAAD;AAAA,YAAO,IAAI;AAAA,cAAE,KAAK;AAAA,cAAG,IAAI;AAAA,cAAI,IAAI;AAAA,cAAI,IAAI;AAAA,cAAI,IAAI;AAAA,YAAG;AAAA,YAApD,UAAA,CACE,gBAAA,EAAC,OAAD;AAAA,cACE,yBAAyB,EACvB,QAAQ,EAAK,iBACf;AAAA,cACA,OAAO,EAAE,aAAa,EAAE;AAAA,YACzB,CAAA,GACA,GAAM,sBACL,gBAAA,EAAC,GAAD;AAAA,cACE,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,cACxB,SAAA,MAAe;AAAA,cAAC;AAAA,cAChB,IAAI;AAAA,gBAAE,QAAQ;AAAA,gBAAI,GAAG;AAAA,gBAAG,OAAO;AAAA,cAAc;AAAA,cAE5C,UAAA,EAAK;AAAA,YACA,CAAA,CAEL;AAAA;UAIN,CAAC,KAAU,GAAa,SACvB,gBAAA,EAAC,GAAD;AAAA,YAAO,IAAI;AAAA,cAAE,KAAK;AAAA,cAAG,IAAI;AAAA,cAAI,IAAI;AAAA,YAAG;AAAA,YAApC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,cACE,SAAA,MAAe,EAAY,SAAS,EAAc,EAAK,MAAM,YAAY;AAAA,cACzE,SAAQ;AAAA,cAEP,UAAA,EAAY;AAAA,YACP,CAAA,GACP,GAAe,SACd,gBAAA,EAAC,GAAD;AAAA,cACE,OAAM;AAAA,cACN,SAAA,MAAe,EAAc,SAAS,EAAc,EAAK,MAAM,cAAc;AAAA,cAE5E,UAAA,EAAc;AAAA,YACT,CAAA,CAEL;AAAA;QAEL,EAAA,CAAA;AAAA,QAKN,gBAAA,EAAC,GAAD,EAAwB,MAAA,EAAO,CAAA;AAAA,QAG9B,EAAiB,UAAU,gBAAA,EAAC,GAAD,EAAQ,QAAQ,EAAiB,OAAS,CAAA;AAAA,MACjE;AAAA;EACY,CAAA;AAEzB"}
|
|
@@ -1,41 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
pb: 12,
|
|
11
|
-
pl: 16,
|
|
12
|
-
pr: 16,
|
|
13
|
-
pt: 16
|
|
14
|
-
},
|
|
15
|
-
children: [/* @__PURE__ */ t(o, {
|
|
1
|
+
import m from "./SubHeader.es.js";
|
|
2
|
+
import { useBeatActions as s } from "../beatActions.es.js";
|
|
3
|
+
import { InsightOptionsMenu as a } from "./InsightOptionsMenu.es.js";
|
|
4
|
+
import t from "@mui/material/Stack";
|
|
5
|
+
import { H3 as c } from "@mxenabled/mxui";
|
|
6
|
+
import { jsx as r, jsxs as o } from "react/jsx-runtime";
|
|
7
|
+
var g = ({ isMini: n, subtitle: e, title: i }) => {
|
|
8
|
+
const { onMenuAction: p } = s();
|
|
9
|
+
return /* @__PURE__ */ o(t, {
|
|
16
10
|
sx: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
gap: 4,
|
|
12
|
+
pb: 12,
|
|
13
|
+
pl: 16,
|
|
14
|
+
pr: 16,
|
|
15
|
+
pt: 16
|
|
20
16
|
},
|
|
21
|
-
children: [/* @__PURE__ */
|
|
22
|
-
"aria-label": "More Options",
|
|
23
|
-
onClick: () => {
|
|
24
|
-
},
|
|
17
|
+
children: [/* @__PURE__ */ o(t, {
|
|
25
18
|
sx: {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
alignItems: "center",
|
|
20
|
+
flexDirection: "row",
|
|
21
|
+
justifyContent: "space-between"
|
|
29
22
|
},
|
|
30
|
-
children: /* @__PURE__ */ r(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
})]
|
|
35
|
-
}), e && /* @__PURE__ */ r(p, { subtitle: e })]
|
|
36
|
-
});
|
|
23
|
+
children: [/* @__PURE__ */ r(c, { children: i }), !n && p && /* @__PURE__ */ r(a, {})]
|
|
24
|
+
}), e && /* @__PURE__ */ r(m, { subtitle: e })]
|
|
25
|
+
});
|
|
26
|
+
};
|
|
37
27
|
export {
|
|
38
|
-
|
|
28
|
+
g as default
|
|
39
29
|
};
|
|
40
30
|
|
|
41
31
|
//# sourceMappingURL=Header.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.es.js","names":[],"sources":["../../../src/insights-v2/components/Header.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Header.es.js","names":[],"sources":["../../../src/insights-v2/components/Header.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { H3 } from '@mxenabled/mxui'\n\nimport SubHeader from './SubHeader'\nimport InsightOptionsMenu from './InsightOptionsMenu'\nimport { useBeatActions } from '../beatActions'\nimport type { Subtitle } from '../../core'\n\ninterface HeaderProps {\n isMini: boolean\n subtitle?: Subtitle\n title: string\n}\n\nconst Header = ({ isMini, subtitle, title }: HeaderProps) => {\n // The overflow menu appears only when the host wired a menu handler and this\n // isn't the compact/mini layout. Handlers are delivered via context.\n const { onMenuAction } = useBeatActions()\n\n return (\n <Stack sx={{ gap: 4, pb: 12, pl: 16, pr: 16, pt: 16 }}>\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', justifyContent: 'space-between' }}>\n <H3>{title}</H3>\n {!isMini && onMenuAction && <InsightOptionsMenu />}\n </Stack>\n\n {/* Sub Header */}\n {subtitle && <SubHeader subtitle={subtitle} />}\n </Stack>\n )\n}\n\nexport default Header\n"],"mappings":";;;;;;AAeA,IAAM,IAAA,CAAU,EAAE,QAAA,GAAQ,UAAA,GAAU,OAAA,EAAA,MAAyB;AAG3D,QAAM,EAAE,cAAA,EAAA,IAAiB,EAAe;AAExC,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,KAAK;AAAA,MAAG,IAAI;AAAA,MAAI,IAAI;AAAA,MAAI,IAAI;AAAA,MAAI,IAAI;AAAA,IAAG;AAAA,IAApD,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,YAAY;AAAA,QAAU,eAAe;AAAA,QAAO,gBAAgB;AAAA,MAAgB;AAAA,MAAzF,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAU,CAAA,GACd,CAAC,KAAU,KAAgB,gBAAA,EAAC,GAAD,CAAqB,CAAA,CAC5C;AAAA,IAGN,CAAA,GAAA,KAAY,gBAAA,EAAC,GAAD,EAAqB,UAAA,EAAW,CAAA,CACxC;AAAA;AAEX"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The insight card's "…" overflow menu. This repo owns the item set — order,
|
|
3
|
+
* icons, and labels (from `insights_feed.overflow_menu` copy) — while the host
|
|
4
|
+
* supplies the action handler via `beatActions.onMenuAction` (read from
|
|
5
|
+
* context). Renders nothing without a handler or before copy resolves.
|
|
6
|
+
*/
|
|
7
|
+
export declare const InsightOptionsMenu: (() => import("react/jsx-runtime").JSX.Element | null) & {
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
export default InsightOptionsMenu;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { useGlobalCopyStore as m } from "../../common/context/hooks.es.js";
|
|
2
|
+
import { useBeatActions as a } from "../beatActions.es.js";
|
|
3
|
+
import { OverflowMenu as p } from "./OverflowMenu.es.js";
|
|
4
|
+
import { observer as f } from "mobx-react-lite";
|
|
5
|
+
import { Icon as l } from "@mxenabled/mx-icons";
|
|
6
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
7
|
+
var d = f(() => {
|
|
8
|
+
const { onMenuAction: n } = a(), e = m().insights_feed?.overflow_menu;
|
|
9
|
+
if (!n || !e) return null;
|
|
10
|
+
const { onAction: t, onOpen: i, disabled: r } = n, s = [
|
|
11
|
+
{
|
|
12
|
+
key: "helpful",
|
|
13
|
+
icon: /* @__PURE__ */ o(l, {
|
|
14
|
+
name: "thumb_up",
|
|
15
|
+
size: 24,
|
|
16
|
+
sx: { color: "text.primary" }
|
|
17
|
+
}),
|
|
18
|
+
label: e.helpful,
|
|
19
|
+
onSelect: () => t("helpful")
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
key: "not_helpful",
|
|
23
|
+
icon: /* @__PURE__ */ o(l, {
|
|
24
|
+
name: "thumb_down",
|
|
25
|
+
size: 24,
|
|
26
|
+
sx: { color: "text.primary" }
|
|
27
|
+
}),
|
|
28
|
+
label: e.not_helpful,
|
|
29
|
+
onSelect: () => t("not_helpful")
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: "hide",
|
|
33
|
+
icon: /* @__PURE__ */ o(l, {
|
|
34
|
+
name: "visibility_off",
|
|
35
|
+
size: 24,
|
|
36
|
+
sx: { color: "text.primary" }
|
|
37
|
+
}),
|
|
38
|
+
label: e.hide,
|
|
39
|
+
onSelect: () => t("hide")
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
return /* @__PURE__ */ o(p, {
|
|
43
|
+
ariaLabel: e.aria_label,
|
|
44
|
+
disabled: r,
|
|
45
|
+
items: s,
|
|
46
|
+
onOpen: i
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
export {
|
|
50
|
+
d as InsightOptionsMenu,
|
|
51
|
+
d as default
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=InsightOptionsMenu.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightOptionsMenu.es.js","names":[],"sources":["../../../src/insights-v2/components/InsightOptionsMenu.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Icon } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../common'\n\nimport { useBeatActions } from '../beatActions'\n\nimport { OverflowMenu, type OverflowMenuItem } from './OverflowMenu'\n\n/**\n * The insight card's \"…\" overflow menu. This repo owns the item set — order,\n * icons, and labels (from `insights_feed.overflow_menu` copy) — while the host\n * supplies the action handler via `beatActions.onMenuAction` (read from\n * context). Renders nothing without a handler or before copy resolves.\n */\nexport const InsightOptionsMenu = observer(() => {\n const { onMenuAction } = useBeatActions()\n const copy = useGlobalCopyStore().insights_feed?.overflow_menu\n\n if (!onMenuAction || !copy) return null\n\n const { onAction, onOpen, disabled } = onMenuAction\n\n const items: OverflowMenuItem[] = [\n {\n key: 'helpful',\n icon: <Icon name=\"thumb_up\" size={24} sx={{ color: 'text.primary' }} />,\n label: copy.helpful,\n onSelect: () => onAction('helpful'),\n },\n {\n key: 'not_helpful',\n icon: <Icon name=\"thumb_down\" size={24} sx={{ color: 'text.primary' }} />,\n label: copy.not_helpful,\n onSelect: () => onAction('not_helpful'),\n },\n {\n key: 'hide',\n icon: <Icon name=\"visibility_off\" size={24} sx={{ color: 'text.primary' }} />,\n label: copy.hide,\n onSelect: () => onAction('hide'),\n },\n ]\n\n return (\n <OverflowMenu ariaLabel={copy.aria_label} disabled={disabled} items={items} onOpen={onOpen} />\n )\n})\n\nexport default InsightOptionsMenu\n"],"mappings":";;;;;;AAgBA,IAAa,IAAqB,EAAA,MAAe;AAC/C,QAAM,EAAE,cAAA,EAAA,IAAiB,EAAe,GAClC,IAAO,EAAmB,EAAE,eAAe;AAEjD,MAAI,CAAC,KAAgB,CAAC,EAAM,QAAO;AAEnC,QAAM,EAAE,UAAA,GAAU,QAAA,GAAQ,UAAA,EAAA,IAAa,GAEjC,IAA4B;AAAA,IAChC;AAAA,MACE,KAAK;AAAA,MACL,MAAM,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAW,MAAM;AAAA,QAAI,IAAI,EAAE,OAAO,eAAe;AAAA,MAAI,CAAA;AAAA,MACtE,OAAO,EAAK;AAAA,MACZ,UAAA,MAAgB,EAAS,SAAS;AAAA,IACpC;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,MAAM,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAa,MAAM;AAAA,QAAI,IAAI,EAAE,OAAO,eAAe;AAAA,MAAI,CAAA;AAAA,MACxE,OAAO,EAAK;AAAA,MACZ,UAAA,MAAgB,EAAS,aAAa;AAAA,IACxC;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,MAAM,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAiB,MAAM;AAAA,QAAI,IAAI,EAAE,OAAO,eAAe;AAAA,MAAI,CAAA;AAAA,MAC5E,OAAO,EAAK;AAAA,MACZ,UAAA,MAAgB,EAAS,MAAM;AAAA,IACjC;AAAA,EACF;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAc,WAAW,EAAK;AAAA,IAAsB,UAAA;AAAA,IAAiB,OAAA;AAAA,IAAe,QAAA;AAAA,EAAS,CAAA;AAEjG,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface OverflowMenuItem {
|
|
3
|
+
/** Stable identity for the item (also its React key). */
|
|
4
|
+
key: string;
|
|
5
|
+
/** Leading icon node. */
|
|
6
|
+
icon: ReactNode;
|
|
7
|
+
/** Visible label. */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Invoked when the item is chosen (after the menu closes). */
|
|
10
|
+
onSelect: () => void;
|
|
11
|
+
/** Optional per-item disabled state. */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface OverflowMenuProps {
|
|
15
|
+
/** Items to render, top to bottom. */
|
|
16
|
+
items: OverflowMenuItem[];
|
|
17
|
+
/** Accessible label for the trigger button. */
|
|
18
|
+
ariaLabel: string;
|
|
19
|
+
/** Called when the menu opens (e.g. to fire analytics). */
|
|
20
|
+
onOpen?: () => void;
|
|
21
|
+
/** Disables the trigger entirely (e.g. an obsolete beat). */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A "…" (MoreHoriz) overflow menu: an icon trigger that opens a list of actions.
|
|
26
|
+
*
|
|
27
|
+
* Presentational only — it owns nothing but the open/close anchor state. The item
|
|
28
|
+
* set and what each item does are supplied by the caller via `items[].onSelect`,
|
|
29
|
+
* so all data/side-effects (analytics, feedback, hide, …) live outside this file.
|
|
30
|
+
*/
|
|
31
|
+
export declare const OverflowMenu: ({ items, ariaLabel, onOpen, disabled }: OverflowMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export default OverflowMenu;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { useId as v, useState as z } from "react";
|
|
2
|
+
import { MoreHoriz as M } from "@mxenabled/mx-icons";
|
|
3
|
+
import { Fragment as O, jsx as r, jsxs as m } from "react/jsx-runtime";
|
|
4
|
+
import k from "@mui/material/IconButton";
|
|
5
|
+
import C from "@mui/material/ListItemText";
|
|
6
|
+
import L from "@mui/material/ListItemIcon";
|
|
7
|
+
import S from "@mui/material/MenuItem";
|
|
8
|
+
import y from "@mui/material/Menu";
|
|
9
|
+
var P = ({ items: d, ariaLabel: c, onOpen: p, disabled: h = !1 }) => {
|
|
10
|
+
const [e, n] = z(null), t = !!e, i = v(), a = `${i}-button`, l = `${i}-menu`, u = (o) => {
|
|
11
|
+
n(o.currentTarget), p?.();
|
|
12
|
+
}, s = () => n(null), f = (o) => {
|
|
13
|
+
s(), o();
|
|
14
|
+
};
|
|
15
|
+
return /* @__PURE__ */ m(O, { children: [/* @__PURE__ */ r(k, {
|
|
16
|
+
"aria-controls": t ? l : void 0,
|
|
17
|
+
"aria-expanded": t || void 0,
|
|
18
|
+
"aria-haspopup": "true",
|
|
19
|
+
"aria-label": c,
|
|
20
|
+
disabled: h,
|
|
21
|
+
id: a,
|
|
22
|
+
onClick: u,
|
|
23
|
+
sx: {
|
|
24
|
+
minHeight: 24,
|
|
25
|
+
minWidth: 24,
|
|
26
|
+
p: 0
|
|
27
|
+
},
|
|
28
|
+
children: /* @__PURE__ */ r(M, {
|
|
29
|
+
size: 24,
|
|
30
|
+
sx: { color: "neutral.dark" }
|
|
31
|
+
})
|
|
32
|
+
}), /* @__PURE__ */ r(y, {
|
|
33
|
+
MenuListProps: {
|
|
34
|
+
"aria-labelledby": a,
|
|
35
|
+
sx: { width: 212 }
|
|
36
|
+
},
|
|
37
|
+
anchorEl: e,
|
|
38
|
+
anchorOrigin: {
|
|
39
|
+
horizontal: "right",
|
|
40
|
+
vertical: "top"
|
|
41
|
+
},
|
|
42
|
+
disableScrollLock: !0,
|
|
43
|
+
id: l,
|
|
44
|
+
onClose: s,
|
|
45
|
+
open: t,
|
|
46
|
+
transformOrigin: {
|
|
47
|
+
horizontal: "right",
|
|
48
|
+
vertical: "top"
|
|
49
|
+
},
|
|
50
|
+
children: d.map(({ key: o, icon: x, label: g, onSelect: b, disabled: I }) => /* @__PURE__ */ m(S, {
|
|
51
|
+
disabled: I,
|
|
52
|
+
onClick: () => f(b),
|
|
53
|
+
sx: { p: 12 },
|
|
54
|
+
children: [/* @__PURE__ */ r(L, {
|
|
55
|
+
sx: { minWidth: "32px !important" },
|
|
56
|
+
children: x
|
|
57
|
+
}), /* @__PURE__ */ r(C, {
|
|
58
|
+
primary: g,
|
|
59
|
+
slotProps: { primary: {
|
|
60
|
+
fontSize: 15,
|
|
61
|
+
fontWeight: "normal",
|
|
62
|
+
lineHeight: "20px"
|
|
63
|
+
} }
|
|
64
|
+
})]
|
|
65
|
+
}, o))
|
|
66
|
+
})] });
|
|
67
|
+
};
|
|
68
|
+
export {
|
|
69
|
+
P as OverflowMenu,
|
|
70
|
+
P as default
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=OverflowMenu.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverflowMenu.es.js","names":[],"sources":["../../../src/insights-v2/components/OverflowMenu.tsx"],"sourcesContent":["import { useId, useState, type MouseEvent, type ReactNode } from 'react'\n\nimport IconButton from '@mui/material/IconButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\nimport Menu from '@mui/material/Menu'\nimport MenuItem from '@mui/material/MenuItem'\n\nimport { MoreHoriz } from '@mxenabled/mx-icons'\n\nexport interface OverflowMenuItem {\n /** Stable identity for the item (also its React key). */\n key: string\n /** Leading icon node. */\n icon: ReactNode\n /** Visible label. */\n label: string\n /** Invoked when the item is chosen (after the menu closes). */\n onSelect: () => void\n /** Optional per-item disabled state. */\n disabled?: boolean\n}\n\nexport interface OverflowMenuProps {\n /** Items to render, top to bottom. */\n items: OverflowMenuItem[]\n /** Accessible label for the trigger button. */\n ariaLabel: string\n /** Called when the menu opens (e.g. to fire analytics). */\n onOpen?: () => void\n /** Disables the trigger entirely (e.g. an obsolete beat). */\n disabled?: boolean\n}\n\n/**\n * A \"…\" (MoreHoriz) overflow menu: an icon trigger that opens a list of actions.\n *\n * Presentational only — it owns nothing but the open/close anchor state. The item\n * set and what each item does are supplied by the caller via `items[].onSelect`,\n * so all data/side-effects (analytics, feedback, hide, …) live outside this file.\n */\nexport const OverflowMenu = ({ items, ariaLabel, onOpen, disabled = false }: OverflowMenuProps) => {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\n const isOpen = Boolean(anchorEl)\n\n // Unique per instance so multiple menus on a page (one per card) don't share\n // DOM ids or cross-wire their aria relationships.\n const baseId = useId()\n const buttonId = `${baseId}-button`\n const menuId = `${baseId}-menu`\n\n const handleOpen = (event: MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n onOpen?.()\n }\n\n const handleClose = () => setAnchorEl(null)\n\n // Close before running the caller's handler so the menu never lingers over a\n // dialog/drawer the handler may open.\n const handleSelect = (onSelect: () => void) => {\n handleClose()\n onSelect()\n }\n\n return (\n <>\n <IconButton\n aria-controls={isOpen ? menuId : undefined}\n aria-expanded={isOpen || undefined}\n aria-haspopup=\"true\"\n aria-label={ariaLabel}\n disabled={disabled}\n id={buttonId}\n onClick={handleOpen}\n sx={{ minHeight: 24, minWidth: 24, p: 0 }}\n >\n <MoreHoriz size={24} sx={{ color: 'neutral.dark' }} />\n </IconButton>\n <Menu\n MenuListProps={{ 'aria-labelledby': buttonId, sx: { width: 212 } }}\n anchorEl={anchorEl}\n anchorOrigin={{ horizontal: 'right', vertical: 'top' }}\n disableScrollLock={true}\n id={menuId}\n onClose={handleClose}\n open={isOpen}\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\n >\n {items.map(({ key, icon, label, onSelect, disabled: itemDisabled }) => (\n <MenuItem\n disabled={itemDisabled}\n key={key}\n onClick={() => handleSelect(onSelect)}\n sx={{ p: 12 }}\n >\n <ListItemIcon sx={{ minWidth: '32px !important' }}>{icon}</ListItemIcon>\n <ListItemText\n primary={label}\n slotProps={{ primary: { fontSize: 15, fontWeight: 'normal', lineHeight: '20px' } }}\n />\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n}\n\nexport default OverflowMenu\n"],"mappings":";;;;;;;;AAyCA,IAAa,IAAA,CAAgB,EAAE,OAAA,GAAO,WAAA,GAAW,QAAA,GAAQ,UAAA,IAAW,GAAA,MAA+B;AACjG,QAAM,CAAC,GAAU,CAAA,IAAe,EAA6B,IAAI,GAC3D,IAAS,EAAQ,GAIjB,IAAS,EAAM,GACf,IAAW,GAAG,CAAA,WACd,IAAS,GAAG,CAAA,SAEZ,IAAA,CAAc,MAAyC;AAC3D,IAAA,EAAY,EAAM,aAAa,GAC/B,IAAS;AAAA,EACX,GAEM,IAAA,MAAoB,EAAY,IAAI,GAIpC,IAAA,CAAgB,MAAyB;AAC7C,IAAA,EAAY,GACZ,EAAS;AAAA,EACX;AAEA,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBAAe,IAAS,IAAS;AAAA,IACjC,iBAAe,KAAU;AAAA,IACzB,iBAAc;AAAA,IACd,cAAY;AAAA,IACF,UAAA;AAAA,IACV,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,IAAI;AAAA,MAAE,WAAW;AAAA,MAAI,UAAU;AAAA,MAAI,GAAG;AAAA,IAAE;AAAA,IAExC,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAW,MAAM;AAAA,MAAI,IAAI,EAAE,OAAO,eAAe;AAAA,IAAI,CAAA;AAAA,EAC3C,CAAA,GACZ,gBAAA,EAAC,GAAD;AAAA,IACE,eAAe;AAAA,MAAE,mBAAmB;AAAA,MAAU,IAAI,EAAE,OAAO,IAAI;AAAA,IAAE;AAAA,IACvD,UAAA;AAAA,IACV,cAAc;AAAA,MAAE,YAAY;AAAA,MAAS,UAAU;AAAA,IAAM;AAAA,IACrD,mBAAmB;AAAA,IACnB,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,iBAAiB;AAAA,MAAE,YAAY;AAAA,MAAS,UAAU;AAAA,IAAM;AAAA,IAEvD,UAAA,EAAM,IAAA,CAAK,EAAE,KAAA,GAAK,MAAA,GAAM,OAAA,GAAO,UAAA,GAAU,UAAU,EAAA,MAClD,gBAAA,EAAC,GAAD;AAAA,MACE,UAAU;AAAA,MAEV,SAAA,MAAe,EAAa,CAAQ;AAAA,MACpC,IAAI,EAAE,GAAG,GAAG;AAAA,MAJd,UAAA,CAME,gBAAA,EAAC,GAAD;AAAA,QAAc,IAAI,EAAE,UAAU,kBAAkB;AAAA,QAAI,UAAA;AAAA,MAAmB,CAAA,GACvE,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS;AAAA,QACT,WAAW,EAAE,SAAS;AAAA,UAAE,UAAU;AAAA,UAAI,YAAY;AAAA,UAAU,YAAY;AAAA,QAAO,EAAE;AAAA,MAClF,CAAA,CACO;AAAA,IATH,GAAA,CASG,CACX;AAAA,EACG,CAAA,CACN,EAAA,CAAA;AAEN"}
|
|
@@ -7,6 +7,9 @@ export { default as StatusMessageCard } from './components/StatusMessageCard';
|
|
|
7
7
|
export { default as TransactionListCard, type FooterRow } from './components/TransactionListCard';
|
|
8
8
|
export { default as InsightTransactionRow, type InsightTransactionRowProps, } from './components/InsightTransactionRow';
|
|
9
9
|
export { default as LogoClusterCard } from './components/LogoClusterCard';
|
|
10
|
+
export { default as OverflowMenu, type OverflowMenuItem, type OverflowMenuProps, } from './components/OverflowMenu';
|
|
11
|
+
export { default as InsightOptionsMenu } from './components/InsightOptionsMenu';
|
|
12
|
+
export { useBeatActions, type BeatActions, type MenuActionHandlers, type UpdateParams, type InsightMenuAction, } from './beatActions';
|
|
10
13
|
export { default as LogoTile } from './components/LogoTile';
|
|
11
14
|
export { default as MerchantHighlightCard } from './components/MerchantHighlightCard';
|
|
12
15
|
export { default as P2PLogoStack } from './components/P2PLogoStack';
|
|
@@ -1,63 +1,69 @@
|
|
|
1
|
-
import { BAR_CHART_VARIANTS as
|
|
1
|
+
import { BAR_CHART_VARIANTS as r, barChartVariant as t, buildChartData as m, buildDataSeries as i } from "./blocks/ChartBlocks/BarchartBlock/utils.es.js";
|
|
2
2
|
import { BarchartBlock as p } from "./blocks/ChartBlocks/BarchartBlock/BarchartBlock.es.js";
|
|
3
|
-
import { DoubleBarChartBlock as
|
|
4
|
-
import
|
|
3
|
+
import { DoubleBarChartBlock as e } from "./blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChartBlock.es.js";
|
|
4
|
+
import n from "./blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js";
|
|
5
5
|
import s from "./blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js";
|
|
6
6
|
import B from "./blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js";
|
|
7
|
-
import
|
|
7
|
+
import g from "./blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js";
|
|
8
8
|
import S from "./components/TransferLogoCard.es.js";
|
|
9
|
-
import
|
|
9
|
+
import k from "./blocks/ComponentBlocks/AccountSwitchBlock/AccountSwitchBlock.es.js";
|
|
10
10
|
import { BudgetBlock as T } from "./blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js";
|
|
11
11
|
import D from "./components/SaveAnExtraCard.es.js";
|
|
12
|
-
import
|
|
12
|
+
import v from "./blocks/ComponentBlocks/SaveExtraBlock/SaveExtraBlock.es.js";
|
|
13
13
|
import y from "./components/InsightTransactionRow.es.js";
|
|
14
|
-
import
|
|
15
|
-
import { CategoryTransactionsBlock as
|
|
16
|
-
import { SVGImageBlock as
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import j from "./
|
|
21
|
-
import z from "./components/
|
|
22
|
-
import J from "./components/
|
|
23
|
-
import Q from "./components/
|
|
24
|
-
import X from "./components/
|
|
25
|
-
import Z from "./components/
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
14
|
+
import I from "./components/TransactionListCard.es.js";
|
|
15
|
+
import { CategoryTransactionsBlock as R } from "./blocks/ComponentBlocks/TransactionBlock/TransactionBlock.es.js";
|
|
16
|
+
import { SVGImageBlock as x } from "./blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js";
|
|
17
|
+
import O from "./components/AccountHeroCard.es.js";
|
|
18
|
+
import _ from "./components/AmountPill.es.js";
|
|
19
|
+
import N from "./components/DesignateEmergencySavingsCard.es.js";
|
|
20
|
+
import { useBeatActions as j } from "./beatActions.es.js";
|
|
21
|
+
import { OverflowMenu as z } from "./components/OverflowMenu.es.js";
|
|
22
|
+
import { InsightOptionsMenu as J } from "./components/InsightOptionsMenu.es.js";
|
|
23
|
+
import Q from "./components/BaseLayout.es.js";
|
|
24
|
+
import X from "./components/StatusMessageCard.es.js";
|
|
25
|
+
import Z from "./components/LogoTile.es.js";
|
|
26
|
+
import oo from "./components/LogoClusterCard.es.js";
|
|
27
|
+
import to from "./components/MerchantHighlightCard.es.js";
|
|
28
|
+
import io from "./components/P2PLogoStack.es.js";
|
|
29
|
+
import po from "./components/SavingsOpportunityCard.es.js";
|
|
30
|
+
import eo from "./components/StatusPill.es.js";
|
|
31
|
+
import no from "./components/SubscriptionHeroCard.es.js";
|
|
32
|
+
import so from "./components/UpcomingBillCard.es.js";
|
|
30
33
|
export {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
g as AccountBlock,
|
|
35
|
+
O as AccountHeroCard,
|
|
36
|
+
k as AccountSwitchBlock,
|
|
37
|
+
_ as AmountPill,
|
|
38
|
+
r as BAR_CHART_VARIANTS,
|
|
36
39
|
p as BarchartBlock,
|
|
37
|
-
|
|
40
|
+
Q as BaseLayout,
|
|
38
41
|
T as BudgetBlock,
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
R as CategoryTransactionsBlock,
|
|
43
|
+
N as DesignateEmergencySavingsCard,
|
|
41
44
|
s as DonutChartBlock,
|
|
42
|
-
|
|
45
|
+
e as DoubleBarChartBlock,
|
|
43
46
|
B as DoubleProgressBarBlock,
|
|
47
|
+
J as InsightOptionsMenu,
|
|
44
48
|
y as InsightTransactionRow,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
oo as LogoClusterCard,
|
|
50
|
+
Z as LogoTile,
|
|
51
|
+
to as MerchantHighlightCard,
|
|
52
|
+
z as OverflowMenu,
|
|
53
|
+
io as P2PLogoStack,
|
|
54
|
+
x as SVGImageBlock,
|
|
50
55
|
D as SaveAnExtraCard,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
v as SaveExtraBlock,
|
|
57
|
+
po as SavingsOpportunityCard,
|
|
58
|
+
X as StatusMessageCard,
|
|
59
|
+
eo as StatusPill,
|
|
60
|
+
n as StepChartBlock,
|
|
61
|
+
no as SubscriptionHeroCard,
|
|
62
|
+
I as TransactionListCard,
|
|
58
63
|
S as TransferLogoCard,
|
|
59
|
-
|
|
64
|
+
so as UpcomingBillCard,
|
|
60
65
|
t as barChartVariant,
|
|
61
66
|
m as buildChartData,
|
|
62
|
-
i as buildDataSeries
|
|
67
|
+
i as buildDataSeries,
|
|
68
|
+
j as useBeatActions
|
|
63
69
|
};
|