@mx-cartographer/experiences 9.4.63 → 9.4.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/common/constants/Analytics.d.ts +2 -1
  3. package/dist/common/constants/Analytics.es.js +2 -1
  4. package/dist/common/constants/Analytics.es.js.map +1 -1
  5. package/dist/core/constants/Help.d.ts +5 -10
  6. package/dist/core/constants/Help.es.js +26 -11
  7. package/dist/core/constants/Help.es.js.map +1 -1
  8. package/dist/core/types/Help.d.ts +10 -1
  9. package/dist/core/types/localization/HelpCopy.d.ts +40 -2
  10. package/dist/core/utils/HelpUtil.es.js +19 -16
  11. package/dist/core/utils/HelpUtil.es.js.map +1 -1
  12. package/dist/help/components/Help.es.js +50 -39
  13. package/dist/help/components/Help.es.js.map +1 -1
  14. package/dist/help/components/HelpContent.es.js +41 -20
  15. package/dist/help/components/HelpContent.es.js.map +1 -1
  16. package/dist/help/components/HelpList.d.ts +2 -1
  17. package/dist/help/components/HelpList.es.js +167 -124
  18. package/dist/help/components/HelpList.es.js.map +1 -1
  19. package/dist/help/components/SupportPrompt.d.ts +10 -0
  20. package/dist/help/components/SupportPrompt.es.js +37 -0
  21. package/dist/help/components/SupportPrompt.es.js.map +1 -0
  22. package/dist/help/components/content/section/LoginIssues.d.ts +4 -0
  23. package/dist/help/components/content/section/LoginIssues.es.js +69 -0
  24. package/dist/help/components/content/section/LoginIssues.es.js.map +1 -0
  25. package/dist/help/components/content/section/index.d.ts +1 -0
  26. package/dist/help/components/content/section/index.es.js +16 -14
  27. package/dist/help/components/content/section/index.es.js.map +1 -1
  28. package/dist/help/components/requestsupport/HelpByCategoryList.d.ts +6 -1
  29. package/dist/help/components/requestsupport/HelpByCategoryList.es.js +108 -42
  30. package/dist/help/components/requestsupport/HelpByCategoryList.es.js.map +1 -1
  31. package/dist/help/components/requestsupport/RequestSupport.d.ts +3 -1
  32. package/dist/help/components/requestsupport/RequestSupport.es.js +154 -138
  33. package/dist/help/components/requestsupport/RequestSupport.es.js.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/help/components/requestsupport/RequestSupportFooter.d.ts +0 -8
  36. package/dist/help/components/requestsupport/RequestSupportFooter.es.js +0 -46
  37. package/dist/help/components/requestsupport/RequestSupportFooter.es.js.map +0 -1
@@ -2,36 +2,38 @@ import o from "./Accounts.es.js";
2
2
  import r from "./Budgets.es.js";
3
3
  import t from "./CashFlow.es.js";
4
4
  import i from "./Debts.es.js";
5
- import m from "./General.es.js";
6
- import n from "./Goals.es.js";
7
- import s from "./Investments.es.js";
5
+ import s from "./General.es.js";
6
+ import m from "./Goals.es.js";
7
+ import n from "./Investments.es.js";
8
8
  import e from "./Mobile.es.js";
9
- import a from "./NetWorth.es.js";
10
- import p from "./Notifications.es.js";
9
+ import p from "./NetWorth.es.js";
10
+ import a from "./Notifications.es.js";
11
11
  import f from "./RecurringTransactions.es.js";
12
12
  import c from "./Spending.es.js";
13
13
  import g from "./Transactions.es.js";
14
14
  import l from "./Trends.es.js";
15
- import d from "./Insights.es.js";
16
- var F = {
15
+ import u from "./Insights.es.js";
16
+ import d from "./LoginIssues.es.js";
17
+ var L = {
17
18
  accounts: o,
18
- alerts: p,
19
+ alerts: a,
19
20
  budgets: r,
20
21
  cashflow: t,
21
22
  debts: i,
22
- general: m,
23
- goals: n,
24
- insights: d,
25
- investments: s,
23
+ general: s,
24
+ goals: m,
25
+ insights: u,
26
+ login_issues: d,
27
+ investments: n,
26
28
  mobile: e,
27
- networth: a,
29
+ networth: p,
28
30
  recurring_transactions: f,
29
31
  spending: c,
30
32
  transactions: g,
31
33
  trends: l
32
34
  };
33
35
  export {
34
- F as contentSection
36
+ L as contentSection
35
37
  };
36
38
 
37
39
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","names":[],"sources":["../../../../../src/help/components/content/section/index.ts"],"sourcesContent":["import Accounts from './Accounts'\nimport Budgets from './Budgets'\nimport CashFlow from './CashFlow'\nimport Debts from './Debts'\nimport General from './General'\nimport Goals from './Goals'\nimport Investments from './Investments'\nimport Mobile from './Mobile'\nimport NetWorth from './NetWorth'\nimport Notifications from './Notifications'\nimport RecurringTransactions from './RecurringTransactions'\nimport Spending from './Spending'\nimport Transactions from './Transactions'\nimport Trends from './Trends'\nimport Insights from './Insights'\n\nconst contentSection = {\n accounts: Accounts,\n alerts: Notifications,\n budgets: Budgets,\n cashflow: CashFlow,\n debts: Debts,\n general: General,\n goals: Goals,\n insights: Insights,\n investments: Investments,\n mobile: Mobile,\n networth: NetWorth,\n recurring_transactions: RecurringTransactions,\n spending: Spending,\n transactions: Transactions,\n trends: Trends,\n}\n\nexport { contentSection }\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,IAAM,IAAiB;AAAA,EACrB,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,wBAAwB;AAAA,EACxB,UAAU;AAAA,EACV,cAAc;AAAA,EACd,QAAQ;AACV"}
1
+ {"version":3,"file":"index.es.js","names":[],"sources":["../../../../../src/help/components/content/section/index.ts"],"sourcesContent":["import Accounts from './Accounts'\nimport Budgets from './Budgets'\nimport CashFlow from './CashFlow'\nimport Debts from './Debts'\nimport General from './General'\nimport Goals from './Goals'\nimport Investments from './Investments'\nimport Mobile from './Mobile'\nimport NetWorth from './NetWorth'\nimport Notifications from './Notifications'\nimport RecurringTransactions from './RecurringTransactions'\nimport Spending from './Spending'\nimport Transactions from './Transactions'\nimport Trends from './Trends'\nimport Insights from './Insights'\nimport LoginIssues from './LoginIssues'\n\nconst contentSection = {\n accounts: Accounts,\n alerts: Notifications,\n budgets: Budgets,\n cashflow: CashFlow,\n debts: Debts,\n general: General,\n goals: Goals,\n insights: Insights,\n login_issues: LoginIssues,\n investments: Investments,\n mobile: Mobile,\n networth: NetWorth,\n recurring_transactions: RecurringTransactions,\n spending: Spending,\n transactions: Transactions,\n trends: Trends,\n}\n\nexport { contentSection }\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAM,IAAiB;AAAA,EACrB,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,wBAAwB;AAAA,EACxB,UAAU;AAAA,EACV,cAAc;AAAA,EACd,QAAQ;AACV"}
@@ -1,18 +1,23 @@
1
1
  import { default as React } from 'react';
2
- import { HelpType } from '../../../core';
2
+ import { HelpCopy, HelpType, SelectedTopic } from '../../../core';
3
3
  interface HelpByCategory {
4
+ description?: string;
4
5
  guid: string;
5
6
  icon: string;
6
7
  title: string;
7
8
  topics: Topic[];
8
9
  }
9
10
  interface HelpByCategoryListProps {
11
+ copy: HelpCopy;
10
12
  helpByCategory: HelpByCategory[];
11
13
  onClick: (label: string, type: HelpType) => void;
14
+ onOpenCase: (topic: string) => void;
15
+ onTopicSelect: (topic: SelectedTopic) => void;
12
16
  }
13
17
  interface Topic {
14
18
  label: string;
15
19
  type: HelpType;
20
+ topicKey?: string;
16
21
  }
17
22
  export declare const HelpByCategoryList: React.FC<HelpByCategoryListProps>;
18
23
  export {};
@@ -1,68 +1,113 @@
1
- import { useEvent as g } from "../../../common/context/hooks.es.js";
2
- import { ANALYTICS_EVENTS as m } from "../../../common/constants/Analytics.es.js";
3
- import y from "react";
4
- import p from "@mui/material/Stack";
5
- import { Icon as E, Text as a } from "@mxenabled/mxui";
6
- import { ExpandMore as b } from "@mxenabled/mx-icons";
1
+ import { useEvent as S } from "../../../common/context/hooks.es.js";
2
+ import { ANALYTICS_EVENTS as a } from "../../../common/constants/Analytics.es.js";
3
+ import { SupportPrompt as v } from "../SupportPrompt.es.js";
4
+ import m from "react";
5
+ import l from "@mui/material/Stack";
6
+ import { Icon as A, Text as d } from "@mxenabled/mxui";
7
+ import { ExpandMore as T } from "@mxenabled/mx-icons";
7
8
  import { jsx as r, jsxs as c } from "react/jsx-runtime";
8
- import R from "@mui/material/Divider";
9
- import A from "@mui/material/List";
10
- import C from "@mui/material/ListItemButton";
11
- import L from "@mui/material/Accordion";
12
- import v from "@mui/material/AccordionDetails";
13
- import I from "@mui/material/AccordionSummary";
14
- var w = ({ helpByCategory: t, onClick: s }) => {
15
- const [l, x] = y.useState(null), { onEvent: d } = g();
16
- return /* @__PURE__ */ r(p, {
9
+ import P from "@mui/material/Divider";
10
+ import f from "@mui/material/List";
11
+ import N from "@mui/material/ListItem";
12
+ import O from "@mui/material/ListItemButton";
13
+ import B from "@mui/material/Accordion";
14
+ import D from "@mui/material/AccordionDetails";
15
+ import H from "@mui/material/AccordionSummary";
16
+ var Z = ({ copy: n, helpByCategory: g, onClick: y, onOpenCase: E, onTopicSelect: _ }) => {
17
+ const [b, C] = m.useState(null), u = m.useRef([]), { onEvent: s } = S();
18
+ return /* @__PURE__ */ r(l, {
17
19
  sx: {
18
20
  flex: 1,
19
21
  gap: 12,
20
22
  p: 12
21
23
  },
22
- children: t.map(({ icon: u, topics: f, title: e }, i) => /* @__PURE__ */ c(L, {
24
+ children: g.map(({ description: x, guid: L, icon: I, title: o, topics: t }, i) => /* @__PURE__ */ c(B, {
23
25
  disableGutters: !0,
24
- expanded: i === l,
25
- onChange: (o, n) => {
26
- d(m.HELP_EXPAND_CATEGORY, { category: e }), x(n ? i : null);
26
+ expanded: i === b,
27
+ onChange: (e, p) => {
28
+ s(a.HELP_EXPAND_CATEGORY, { category: o }), C(p ? i : null);
27
29
  },
28
- sx: B,
30
+ ref: (e) => {
31
+ u.current[i] = e;
32
+ },
33
+ slotProps: { transition: { onEntered: () => u.current[i]?.scrollIntoView(G) } },
34
+ sx: M,
29
35
  children: [
30
- /* @__PURE__ */ r(I, {
31
- expandIcon: /* @__PURE__ */ r(b, { sx: { color: "text.primary" } }),
36
+ /* @__PURE__ */ r(H, {
37
+ expandIcon: /* @__PURE__ */ r(T, { sx: { color: "text.primary" } }),
32
38
  sx: {
33
39
  p: "14px 24px",
34
40
  height: 64
35
41
  },
36
- children: /* @__PURE__ */ c(p, {
42
+ children: /* @__PURE__ */ c(l, {
37
43
  sx: {
38
44
  alignItems: "center",
39
45
  flexDirection: "row",
40
46
  gap: 12
41
47
  },
42
- children: [/* @__PURE__ */ r(E, {
43
- name: u,
48
+ children: [/* @__PURE__ */ r(A, {
49
+ name: I,
44
50
  size: 24
45
- }), /* @__PURE__ */ r(a, {
51
+ }), /* @__PURE__ */ r(d, {
46
52
  variant: "body1",
47
- children: e
53
+ children: o
48
54
  })]
49
55
  })
50
56
  }),
51
- /* @__PURE__ */ r(R, {}),
52
- /* @__PURE__ */ r(v, {
57
+ /* @__PURE__ */ r(P, {}),
58
+ /* @__PURE__ */ r(D, {
53
59
  sx: {
54
60
  ml: 56,
55
61
  p: 0
56
62
  },
57
- children: /* @__PURE__ */ r(A, {
63
+ children: x ? /* @__PURE__ */ c(l, {
64
+ sx: {
65
+ gap: 12,
66
+ py: 16,
67
+ pr: 24
68
+ },
69
+ children: [/* @__PURE__ */ r(d, {
70
+ color: "text.secondary",
71
+ variant: "subtitle2",
72
+ children: x
73
+ }), t.length > 0 && /* @__PURE__ */ r(f, {
74
+ dense: !0,
75
+ disablePadding: !0,
76
+ sx: {
77
+ listStyleType: "disc",
78
+ pl: 20
79
+ },
80
+ children: t.map(({ label: e }) => /* @__PURE__ */ r(N, {
81
+ disableGutters: !0,
82
+ sx: {
83
+ display: "list-item",
84
+ py: 2
85
+ },
86
+ children: /* @__PURE__ */ r(d, {
87
+ color: "text.secondary",
88
+ variant: "subtitle2",
89
+ children: e
90
+ })
91
+ }, e))
92
+ })]
93
+ }) : /* @__PURE__ */ c(m.Fragment, { children: [t.length > 0 && /* @__PURE__ */ r(f, {
58
94
  sx: { "& .MuiListItemButton-root": { pl: 6 } },
59
- children: f.map(({ label: o, type: n }, h) => /* @__PURE__ */ r(C, {
95
+ children: t.map(({ label: e, type: p, topicKey: h }, R) => /* @__PURE__ */ r(O, {
60
96
  divider: !0,
61
97
  onClick: () => {
62
- d(m.HELP_CLICK_CATEGORY, {
63
- category: e,
64
- helpTopic: o
65
- }), s(o, n);
98
+ if (s(a.HELP_CLICK_CATEGORY, {
99
+ category: o,
100
+ helpTopic: e
101
+ }), h) {
102
+ _({
103
+ guid: L,
104
+ category: o,
105
+ pageTitle: e,
106
+ topicKey: h
107
+ });
108
+ return;
109
+ }
110
+ y(e, p);
66
111
  },
67
112
  sx: {
68
113
  borderColor: "neutral.light",
@@ -71,19 +116,40 @@ var w = ({ helpByCategory: t, onClick: s }) => {
71
116
  borderBottomRightRadius: 7
72
117
  }
73
118
  },
74
- children: /* @__PURE__ */ r(a, {
119
+ children: /* @__PURE__ */ r(d, {
75
120
  color: "text.secondary",
76
121
  variant: "body2",
77
- children: o
122
+ children: e
78
123
  })
79
- }, h))
80
- })
124
+ }, R))
125
+ }), t.every(({ topicKey: e }) => !e) && /* @__PURE__ */ r(v, {
126
+ actionText: n.request_support_footer_button,
127
+ onAction: () => {
128
+ s(a.HELP_CLICK_OPEN_CASE, {
129
+ source: "category",
130
+ topic: o
131
+ }), E(o);
132
+ },
133
+ onPrompt: () => s(a.HELP_CLICK_NEED_MORE_ASSISTANCE, {
134
+ source: "category",
135
+ topic: o
136
+ }),
137
+ promptText: n.need_more_assistance,
138
+ sx: {
139
+ alignItems: "flex-start",
140
+ pb: 16,
141
+ pt: 4
142
+ }
143
+ })] })
81
144
  })
82
145
  ]
83
146
  }, i))
84
147
  });
85
- }, B = (t) => ({
86
- border: `1px solid ${t.palette.neutral?.light}`,
148
+ }, G = {
149
+ behavior: "smooth",
150
+ block: "nearest"
151
+ }, M = (n) => ({
152
+ border: `1px solid ${n.palette.neutral?.light}`,
87
153
  borderRadius: "8px",
88
154
  "&:first-of-type": { borderRadius: "8px" },
89
155
  "&:before": { opacity: 0 },
@@ -93,7 +159,7 @@ var w = ({ helpByCategory: t, onClick: s }) => {
93
159
  }
94
160
  });
95
161
  export {
96
- w as HelpByCategoryList
162
+ Z as HelpByCategoryList
97
163
  };
98
164
 
99
165
  //# sourceMappingURL=HelpByCategoryList.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HelpByCategoryList.es.js","names":[],"sources":["../../../../src/help/components/requestsupport/HelpByCategoryList.tsx"],"sourcesContent":["import React from 'react'\n\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport Stack from '@mui/material/Stack'\n\nimport { Icon, Text } from '@mxenabled/mxui'\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { ANALYTICS_EVENTS, useEvent } from '../../../common'\nimport { type HelpType } from '../../../core'\n\ninterface HelpByCategory {\n guid: string\n icon: string\n title: string\n topics: Topic[]\n}\n\ninterface HelpByCategoryListProps {\n helpByCategory: HelpByCategory[]\n onClick: (label: string, type: HelpType) => void\n}\n\ninterface Topic {\n label: string\n type: HelpType\n}\n\nexport const HelpByCategoryList: React.FC<HelpByCategoryListProps> = ({\n helpByCategory,\n onClick,\n}) => {\n const [expanded, setExpanded] = React.useState<number | null>(null)\n\n const { onEvent } = useEvent()\n\n return (\n <Stack sx={{ flex: 1, gap: 12, p: 12 }}>\n {helpByCategory.map(({ icon, topics, title }, i) => (\n <Accordion\n disableGutters={true}\n expanded={i === expanded}\n key={i}\n onChange={(_, isExpanded) => {\n onEvent(ANALYTICS_EVENTS.HELP_EXPAND_CATEGORY, {\n category: title,\n })\n\n setExpanded(isExpanded ? i : null)\n }}\n sx={accordionStyles}\n >\n <AccordionSummary\n expandIcon={<ExpandMore sx={{ color: 'text.primary' }} />}\n sx={{ p: '14px 24px', height: 64 }}\n >\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 12 }}>\n <Icon name={icon} size={24} />\n <Text variant=\"body1\">{title}</Text>\n </Stack>\n </AccordionSummary>\n <Divider />\n <AccordionDetails\n sx={{\n ml: 56,\n p: 0,\n }}\n >\n <List sx={{ '& .MuiListItemButton-root': { pl: 6 } }}>\n {topics.map(({ label, type }, i) => (\n <ListItemButton\n divider={true}\n key={i}\n onClick={() => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_CATEGORY, {\n category: title,\n helpTopic: label,\n })\n\n onClick(label, type)\n }}\n sx={{\n borderColor: 'neutral.light',\n '&:last-child': {\n border: 'none',\n borderBottomRightRadius: 7,\n },\n }}\n >\n <Text color=\"text.secondary\" variant=\"body2\">\n {label}\n </Text>\n </ListItemButton>\n ))}\n </List>\n </AccordionDetails>\n </Accordion>\n ))}\n </Stack>\n )\n}\n\nconst accordionStyles = (theme: any) => {\n return {\n border: `1px solid ${theme.palette.neutral?.light}`,\n borderRadius: '8px',\n '&:first-of-type': { borderRadius: '8px' },\n '&:before': {\n opacity: 0,\n },\n '& .MuiAccordion-region': {\n borderBottomLeftRadius: 8,\n borderBottomRightRadius: 8,\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAiCA,IAAa,IAAA,CAAyD,EACpE,gBAAA,GACA,SAAA,EAAA,MACI;AACJ,QAAM,CAAC,GAAU,CAAA,IAAe,EAAM,SAAwB,IAAI,GAE5D,EAAE,SAAA,EAAA,IAAY,EAAS;AAE7B,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,MAAM;AAAA,MAAG,KAAK;AAAA,MAAI,GAAG;AAAA,IAAG;AAAA,IAClC,UAAA,EAAe,IAAA,CAAK,EAAE,MAAA,GAAM,QAAA,GAAQ,OAAA,EAAA,GAAS,MAC5C,gBAAA,EAAC,GAAD;AAAA,MACE,gBAAgB;AAAA,MAChB,UAAU,MAAM;AAAA,MAEhB,UAAA,CAAW,GAAG,MAAe;AAC3B,QAAA,EAAQ,EAAiB,sBAAsB,EAC7C,UAAU,EACZ,CAAC,GAED,EAAY,IAAa,IAAI,IAAI;AAAA,MACnC;AAAA,MACA,IAAI;AAAA,MAXN,UAAA;AAAA,QAaE,gBAAA,EAAC,GAAD;AAAA,UACE,YAAY,gBAAA,EAAC,GAAD,EAAY,IAAI,EAAE,OAAO,eAAe,EAAI,CAAA;AAAA,UACxD,IAAI;AAAA,YAAE,GAAG;AAAA,YAAa,QAAQ;AAAA,UAAG;AAAA,UAEjC,UAAA,gBAAA,EAAC,GAAD;AAAA,YAAO,IAAI;AAAA,cAAE,YAAY;AAAA,cAAU,eAAe;AAAA,cAAO,KAAK;AAAA,YAAG;AAAA,YAAjE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,cAAM,MAAM;AAAA,cAAM,MAAM;AAAA,YAAK,CAAA,GAC7B,gBAAA,EAAC,GAAD;AAAA,cAAM,SAAQ;AAAA,cAAS,UAAA;AAAA,YAAY,CAAA,CAC9B;AAAA;QACS,CAAA;AAAA,QAClB,gBAAA,EAAC,GAAD,CAAU,CAAA;AAAA,QACV,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,IAAI;AAAA,YACJ,GAAG;AAAA,UACL;AAAA,UAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,EAAE;AAAA,YAChD,UAAA,EAAO,IAAA,CAAK,EAAE,OAAA,GAAO,MAAA,EAAA,GAAQ,MAC5B,gBAAA,EAAC,GAAD;AAAA,cACE,SAAS;AAAA,cAET,SAAA,MAAe;AACb,gBAAA,EAAQ,EAAiB,qBAAqB;AAAA,kBAC5C,UAAU;AAAA,kBACV,WAAW;AAAA,gBACb,CAAC,GAED,EAAQ,GAAO,CAAI;AAAA,cACrB;AAAA,cACA,IAAI;AAAA,gBACF,aAAa;AAAA,gBACb,gBAAgB;AAAA,kBACd,QAAQ;AAAA,kBACR,yBAAyB;AAAA,gBAC3B;AAAA,cACF;AAAA,cAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,gBAAM,OAAM;AAAA,gBAAiB,SAAQ;AAAA,gBAClC,UAAA;AAAA,cACG,CAAA;AAAA,YACQ,GApBT,CAoBS,CACjB;AAAA,UACG,CAAA;AAAA,QACU,CAAA;AAAA,MACT;AAAA,IAtDJ,GAAA,CAsDI,CACZ;AAAA,EACI,CAAA;AAEX,GAEM,IAAA,CAAmB,OAChB;AAAA,EACL,QAAQ,aAAa,EAAM,QAAQ,SAAS,KAAA;AAAA,EAC5C,cAAc;AAAA,EACd,mBAAmB,EAAE,cAAc,MAAM;AAAA,EACzC,YAAY,EACV,SAAS,EACX;AAAA,EACA,0BAA0B;AAAA,IACxB,wBAAwB;AAAA,IACxB,yBAAyB;AAAA,EAC3B;AACF"}
1
+ {"version":3,"file":"HelpByCategoryList.es.js","names":[],"sources":["../../../../src/help/components/requestsupport/HelpByCategoryList.tsx"],"sourcesContent":["import React from 'react'\n\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport Stack from '@mui/material/Stack'\n\nimport { Icon, Text } from '@mxenabled/mxui'\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { ANALYTICS_EVENTS, useEvent } from '../../../common'\nimport type { HelpCopy, HelpType, SelectedTopic } from '../../../core'\nimport { SupportPrompt } from '../SupportPrompt'\n\ninterface HelpByCategory {\n description?: string\n guid: string\n icon: string\n title: string\n topics: Topic[]\n}\n\ninterface HelpByCategoryListProps {\n copy: HelpCopy\n helpByCategory: HelpByCategory[]\n onClick: (label: string, type: HelpType) => void\n onOpenCase: (topic: string) => void\n onTopicSelect: (topic: SelectedTopic) => void\n}\n\ninterface Topic {\n label: string\n type: HelpType\n topicKey?: string\n}\n\nexport const HelpByCategoryList: React.FC<HelpByCategoryListProps> = ({\n copy,\n helpByCategory,\n onClick,\n onOpenCase,\n onTopicSelect,\n}) => {\n const [expanded, setExpanded] = React.useState<number | null>(null)\n const accordionRefs = React.useRef<(HTMLDivElement | null)[]>([])\n\n const { onEvent } = useEvent()\n\n return (\n <Stack sx={{ flex: 1, gap: 12, p: 12 }}>\n {helpByCategory.map(({ description, guid, icon, title, topics }, i) => (\n <Accordion\n disableGutters={true}\n expanded={i === expanded}\n key={i}\n onChange={(_, isExpanded) => {\n onEvent(ANALYTICS_EVENTS.HELP_EXPAND_CATEGORY, {\n category: title,\n })\n\n setExpanded(isExpanded ? i : null)\n }}\n ref={(el: HTMLDivElement | null) => {\n accordionRefs.current[i] = el\n }}\n slotProps={{\n // Bring the newly expanded card fully into view once it has opened,\n // so content near the bottom of the drawer isn't cropped.\n transition: {\n onEntered: () => accordionRefs.current[i]?.scrollIntoView(SCROLL_OPTIONS),\n },\n }}\n sx={accordionStyles}\n >\n <AccordionSummary\n expandIcon={<ExpandMore sx={{ color: 'text.primary' }} />}\n sx={{ p: '14px 24px', height: 64 }}\n >\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 12 }}>\n <Icon name={icon} size={24} />\n <Text variant=\"body1\">{title}</Text>\n </Stack>\n </AccordionSummary>\n <Divider />\n <AccordionDetails\n sx={{\n ml: 56,\n p: 0,\n }}\n >\n {description ? (\n <Stack sx={{ gap: 12, py: 16, pr: 24 }}>\n <Text color=\"text.secondary\" variant=\"subtitle2\">\n {description}\n </Text>\n {topics.length > 0 && (\n <List dense={true} disablePadding={true} sx={{ listStyleType: 'disc', pl: 20 }}>\n {topics.map(({ label }) => (\n <ListItem\n disableGutters={true}\n key={label}\n sx={{ display: 'list-item', py: 2 }}\n >\n <Text color=\"text.secondary\" variant=\"subtitle2\">\n {label}\n </Text>\n </ListItem>\n ))}\n </List>\n )}\n </Stack>\n ) : (\n <React.Fragment>\n {topics.length > 0 && (\n <List sx={{ '& .MuiListItemButton-root': { pl: 6 } }}>\n {topics.map(({ label, type, topicKey }, i) => (\n <ListItemButton\n divider={true}\n key={i}\n onClick={() => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_CATEGORY, {\n category: title,\n helpTopic: label,\n })\n\n if (topicKey) {\n onTopicSelect({\n guid,\n category: title,\n pageTitle: label,\n topicKey,\n })\n return\n }\n onClick(label, type)\n }}\n sx={{\n borderColor: 'neutral.light',\n '&:last-child': {\n border: 'none',\n borderBottomRightRadius: 7,\n },\n }}\n >\n <Text color=\"text.secondary\" variant=\"body2\">\n {label}\n </Text>\n </ListItemButton>\n ))}\n </List>\n )}\n {topics.every(({ topicKey }) => !topicKey) && (\n <SupportPrompt\n actionText={copy.request_support_footer_button}\n onAction={() => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_OPEN_CASE, {\n source: 'category',\n topic: title,\n })\n\n onOpenCase(title)\n }}\n onPrompt={() =>\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_NEED_MORE_ASSISTANCE, {\n source: 'category',\n topic: title,\n })\n }\n promptText={copy.need_more_assistance}\n sx={{ alignItems: 'flex-start', pb: 16, pt: 4 }}\n />\n )}\n </React.Fragment>\n )}\n </AccordionDetails>\n </Accordion>\n ))}\n </Stack>\n )\n}\n\nconst SCROLL_OPTIONS: ScrollIntoViewOptions = { behavior: 'smooth', block: 'nearest' }\n\nconst accordionStyles = (theme: any) => {\n return {\n border: `1px solid ${theme.palette.neutral?.light}`,\n borderRadius: '8px',\n '&:first-of-type': { borderRadius: '8px' },\n '&:before': {\n opacity: 0,\n },\n '& .MuiAccordion-region': {\n borderBottomLeftRadius: 8,\n borderBottomRightRadius: 8,\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAwCA,IAAa,IAAA,CAAyD,EACpE,MAAA,GACA,gBAAA,GACA,SAAA,GACA,YAAA,GACA,eAAA,EAAA,MACI;AACJ,QAAM,CAAC,GAAU,CAAA,IAAe,EAAM,SAAwB,IAAI,GAC5D,IAAgB,EAAM,OAAkC,CAAC,CAAC,GAE1D,EAAE,SAAA,EAAA,IAAY,EAAS;AAE7B,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,MAAM;AAAA,MAAG,KAAK;AAAA,MAAI,GAAG;AAAA,IAAG;AAAA,IAClC,UAAA,EAAe,IAAA,CAAK,EAAE,aAAA,GAAa,MAAA,GAAM,MAAA,GAAM,OAAA,GAAO,QAAA,EAAA,GAAU,MAC/D,gBAAA,EAAC,GAAD;AAAA,MACE,gBAAgB;AAAA,MAChB,UAAU,MAAM;AAAA,MAEhB,UAAA,CAAW,GAAG,MAAe;AAC3B,QAAA,EAAQ,EAAiB,sBAAsB,EAC7C,UAAU,EACZ,CAAC,GAED,EAAY,IAAa,IAAI,IAAI;AAAA,MACnC;AAAA,MACA,KAAA,CAAM,MAA8B;AAClC,QAAA,EAAc,QAAQ,CAAA,IAAK;AAAA,MAC7B;AAAA,MACA,WAAW,EAGT,YAAY,EACV,WAAA,MAAiB,EAAc,QAAQ,CAAA,GAAI,eAAe,CAAc,EAC1E,EACF;AAAA,MACA,IAAI;AAAA,MArBN,UAAA;AAAA,QAuBE,gBAAA,EAAC,GAAD;AAAA,UACE,YAAY,gBAAA,EAAC,GAAD,EAAY,IAAI,EAAE,OAAO,eAAe,EAAI,CAAA;AAAA,UACxD,IAAI;AAAA,YAAE,GAAG;AAAA,YAAa,QAAQ;AAAA,UAAG;AAAA,UAEjC,UAAA,gBAAA,EAAC,GAAD;AAAA,YAAO,IAAI;AAAA,cAAE,YAAY;AAAA,cAAU,eAAe;AAAA,cAAO,KAAK;AAAA,YAAG;AAAA,YAAjE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,cAAM,MAAM;AAAA,cAAM,MAAM;AAAA,YAAK,CAAA,GAC7B,gBAAA,EAAC,GAAD;AAAA,cAAM,SAAQ;AAAA,cAAS,UAAA;AAAA,YAAY,CAAA,CAC9B;AAAA;QACS,CAAA;AAAA,QAClB,gBAAA,EAAC,GAAD,CAAU,CAAA;AAAA,QACV,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,IAAI;AAAA,YACJ,GAAG;AAAA,UACL;AAAA,UAEC,UAAA,IACC,gBAAA,EAAC,GAAD;AAAA,YAAO,IAAI;AAAA,cAAE,KAAK;AAAA,cAAI,IAAI;AAAA,cAAI,IAAI;AAAA,YAAG;AAAA,YAArC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,cAAM,OAAM;AAAA,cAAiB,SAAQ;AAAA,cAClC,UAAA;AAAA,YACG,CAAA,GACL,EAAO,SAAS,KACf,gBAAA,EAAC,GAAD;AAAA,cAAM,OAAO;AAAA,cAAM,gBAAgB;AAAA,cAAM,IAAI;AAAA,gBAAE,eAAe;AAAA,gBAAQ,IAAI;AAAA,cAAG;AAAA,cAC1E,UAAA,EAAO,IAAA,CAAK,EAAE,OAAA,EAAA,MACb,gBAAA,EAAC,GAAD;AAAA,gBACE,gBAAgB;AAAA,gBAEhB,IAAI;AAAA,kBAAE,SAAS;AAAA,kBAAa,IAAI;AAAA,gBAAE;AAAA,gBAElC,UAAA,gBAAA,EAAC,GAAD;AAAA,kBAAM,OAAM;AAAA,kBAAiB,SAAQ;AAAA,kBAClC,UAAA;AAAA,gBACG,CAAA;AAAA,cACE,GANH,CAMG,CACX;AAAA,YACG,CAAA,CAEH;AAAA,UAEP,CAAA,IAAA,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACG,EAAO,SAAS,KACf,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,EAAE;AAAA,YAChD,UAAA,EAAO,IAAA,CAAK,EAAE,OAAA,GAAO,MAAA,GAAM,UAAA,EAAA,GAAY,MACtC,gBAAA,EAAC,GAAD;AAAA,cACE,SAAS;AAAA,cAET,SAAA,MAAe;AAMb,oBALA,EAAQ,EAAiB,qBAAqB;AAAA,kBAC5C,UAAU;AAAA,kBACV,WAAW;AAAA,gBACb,CAAC,GAEG,GAAU;AACZ,kBAAA,EAAc;AAAA,oBACZ,MAAA;AAAA,oBACA,UAAU;AAAA,oBACV,WAAW;AAAA,oBACX,UAAA;AAAA,kBACF,CAAC;AACD;AAAA,gBACF;AACA,gBAAA,EAAQ,GAAO,CAAI;AAAA,cACrB;AAAA,cACA,IAAI;AAAA,gBACF,aAAa;AAAA,gBACb,gBAAgB;AAAA,kBACd,QAAQ;AAAA,kBACR,yBAAyB;AAAA,gBAC3B;AAAA,cACF;AAAA,cAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,gBAAM,OAAM;AAAA,gBAAiB,SAAQ;AAAA,gBAClC,UAAA;AAAA,cACG,CAAA;AAAA,YACQ,GA7BT,CA6BS,CACjB;AAAA,UACG,CAAA,GAEP,EAAO,MAAA,CAAO,EAAE,UAAA,EAAA,MAAe,CAAC,CAAQ,KACvC,gBAAA,EAAC,GAAD;AAAA,YACE,YAAY,EAAK;AAAA,YACjB,UAAA,MAAgB;AACd,cAAA,EAAQ,EAAiB,sBAAsB;AAAA,gBAC7C,QAAQ;AAAA,gBACR,OAAO;AAAA,cACT,CAAC,GAED,EAAW,CAAK;AAAA,YAClB;AAAA,YACA,UAAA,MACE,EAAQ,EAAiB,iCAAiC;AAAA,cACxD,QAAQ;AAAA,cACR,OAAO;AAAA,YACT,CAAC;AAAA,YAEH,YAAY,EAAK;AAAA,YACjB,IAAI;AAAA,cAAE,YAAY;AAAA,cAAc,IAAI;AAAA,cAAI,IAAI;AAAA,YAAE;AAAA,UAC/C,CAAA,CAEW,EAAA,CAAA;AAAA,QAEF,CAAA;AAAA,MACT;AAAA,IAzHJ,GAAA,CAyHI,CACZ;AAAA,EACI,CAAA;AAEX,GAEM,IAAwC;AAAA,EAAE,UAAU;AAAA,EAAU,OAAO;AAAU,GAE/E,IAAA,CAAmB,OAChB;AAAA,EACL,QAAQ,aAAa,EAAM,QAAQ,SAAS,KAAA;AAAA,EAC5C,cAAc;AAAA,EACd,mBAAmB,EAAE,cAAc,MAAM;AAAA,EACzC,YAAY,EACV,SAAS,EACX;AAAA,EACA,0BAA0B;AAAA,IACxB,wBAAwB;AAAA,IACxB,yBAAyB;AAAA,EAC3B;AACF"}
@@ -1,8 +1,10 @@
1
1
  import { default as React } from 'react';
2
- import { HelpCopy } from '../../../core';
2
+ import { HelpCopy, SelectedTopic } from '../../../core';
3
3
  interface RequestSupportProps {
4
+ caseTopic?: string;
4
5
  copy: HelpCopy;
5
6
  isOpen: boolean;
7
+ onTopicSelect: (topic: SelectedTopic) => void;
6
8
  onClose: () => void;
7
9
  }
8
10
  export declare const RequestSupport: React.FC<RequestSupportProps>;