@mx-cartographer/experiences 9.4.63 → 9.4.65
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/common/constants/Analytics.d.ts +2 -1
- package/dist/common/constants/Analytics.es.js +2 -1
- package/dist/common/constants/Analytics.es.js.map +1 -1
- package/dist/core/constants/Help.d.ts +5 -10
- package/dist/core/constants/Help.es.js +26 -11
- package/dist/core/constants/Help.es.js.map +1 -1
- package/dist/core/stores/InsightsV2Store.d.ts +19 -0
- package/dist/core/stores/InsightsV2Store.es.js +31 -14
- package/dist/core/stores/InsightsV2Store.es.js.map +1 -1
- package/dist/core/types/Help.d.ts +10 -1
- package/dist/core/types/Insights.d.ts +10 -0
- package/dist/core/types/localization/HelpCopy.d.ts +40 -2
- package/dist/core/utils/HelpUtil.es.js +19 -16
- package/dist/core/utils/HelpUtil.es.js.map +1 -1
- package/dist/help/components/Help.es.js +50 -39
- package/dist/help/components/Help.es.js.map +1 -1
- package/dist/help/components/HelpContent.es.js +41 -20
- package/dist/help/components/HelpContent.es.js.map +1 -1
- package/dist/help/components/HelpList.d.ts +2 -1
- package/dist/help/components/HelpList.es.js +167 -124
- package/dist/help/components/HelpList.es.js.map +1 -1
- package/dist/help/components/SupportPrompt.d.ts +10 -0
- package/dist/help/components/SupportPrompt.es.js +37 -0
- package/dist/help/components/SupportPrompt.es.js.map +1 -0
- package/dist/help/components/content/section/LoginIssues.d.ts +4 -0
- package/dist/help/components/content/section/LoginIssues.es.js +69 -0
- package/dist/help/components/content/section/LoginIssues.es.js.map +1 -0
- package/dist/help/components/content/section/index.d.ts +1 -0
- package/dist/help/components/content/section/index.es.js +16 -14
- package/dist/help/components/content/section/index.es.js.map +1 -1
- package/dist/help/components/requestsupport/HelpByCategoryList.d.ts +6 -1
- package/dist/help/components/requestsupport/HelpByCategoryList.es.js +108 -42
- package/dist/help/components/requestsupport/HelpByCategoryList.es.js.map +1 -1
- package/dist/help/components/requestsupport/RequestSupport.d.ts +3 -1
- package/dist/help/components/requestsupport/RequestSupport.es.js +154 -138
- package/dist/help/components/requestsupport/RequestSupport.es.js.map +1 -1
- package/dist/insights-v2/beatActions.d.ts +11 -0
- package/dist/insights-v2/beatActions.es.js.map +1 -1
- package/dist/insights-v2/components/BaseLayout.es.js +84 -80
- package/dist/insights-v2/components/BaseLayout.es.js.map +1 -1
- package/dist/insights-v2/ctaActions/ctaConfig.d.ts +7 -0
- package/dist/insights-v2/ctaActions/ctaConfig.es.js +10 -0
- package/dist/insights-v2/ctaActions/ctaConfig.es.js.map +1 -0
- package/dist/insights-v2/ctaActions/ctaHandlers.d.ts +44 -0
- package/dist/insights-v2/ctaActions/ctaHandlers.es.js +107 -0
- package/dist/insights-v2/ctaActions/ctaHandlers.es.js.map +1 -0
- package/dist/insights-v2/ctaActions/hostActions.d.ts +17 -0
- package/dist/insights-v2/ctaActions/hostActions.es.js +16 -0
- package/dist/insights-v2/ctaActions/hostActions.es.js.map +1 -0
- package/dist/insights-v2/ctaActions/index.d.ts +6 -0
- package/dist/insights-v2/ctaActions/runCtaAction.d.ts +12 -0
- package/dist/insights-v2/ctaActions/runCtaAction.es.js +79 -0
- package/dist/insights-v2/ctaActions/runCtaAction.es.js.map +1 -0
- package/dist/insights-v2/ctaActions/types.d.ts +57 -0
- package/dist/insights-v2/ctaActions/useCtaAction.d.ts +19 -0
- package/dist/insights-v2/ctaActions/useCtaAction.es.js +44 -0
- package/dist/insights-v2/ctaActions/useCtaAction.es.js.map +1 -0
- package/dist/insights-v2/index.d.ts +3 -1
- package/dist/insights-v2/index.es.js +53 -48
- package/package.json +1 -1
- package/dist/help/components/requestsupport/RequestSupportFooter.d.ts +0 -8
- package/dist/help/components/requestsupport/RequestSupportFooter.es.js +0 -46
- package/dist/help/components/requestsupport/RequestSupportFooter.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpUtil.es.js","names":[],"sources":["../../../src/core/utils/HelpUtil.ts"],"sourcesContent":["import type { HelpCategory, Profile } from '../types/Help'\nimport { CategoryList } from '../types/localization/HelpCopy'\nimport { HELP_CATEGORIES } from '../constants/Help'\n\nconst isCategoryAccessibleByProfile = (category: HelpCategory, profile: Profile): boolean => {\n if (category.guid === 'general' || category.guid === 'insights') return true\n if (!category.flags) return false\n return category.flags.every((flag) => profile[flag as keyof Profile])\n}\n\nexport const HelpUtil = (profile: Profile, categoryList: CategoryList): HelpCategory[] => {\n const accessibleCategories: HelpCategory[] = []\n\n for (const el of HELP_CATEGORIES) {\n const category = categoryList[el.guid as keyof CategoryList]\n if (!category) continue\n\n const updatedCategory = {\n ...el,\n title: category.label,\n topics: el.topics.
|
|
1
|
+
{"version":3,"file":"HelpUtil.es.js","names":[],"sources":["../../../src/core/utils/HelpUtil.ts"],"sourcesContent":["import type { HelpCategory, Profile } from '../types/Help'\nimport { CategoryList } from '../types/localization/HelpCopy'\nimport { HELP_CATEGORIES } from '../constants/Help'\n\nconst isCategoryAccessibleByProfile = (category: HelpCategory, profile: Profile): boolean => {\n if (category.guid === 'general' || category.guid === 'insights') return true\n if (!category.flags) return false\n return category.flags.every((flag) => profile[flag as keyof Profile])\n}\n\nexport const HelpUtil = (profile: Profile, categoryList: CategoryList): HelpCategory[] => {\n const accessibleCategories: HelpCategory[] = []\n\n for (const el of HELP_CATEGORIES) {\n const category = categoryList[el.guid as keyof CategoryList]\n if (!category) continue\n\n const topicLabels = category.topics ?? {}\n const updatedCategory = {\n ...el,\n title: category.label,\n // A definition entry whose copy is missing would otherwise produce a\n // focusable row with no name, so drop it.\n topics: el.topics.flatMap(({ topicKey }, index) => {\n const label = topicLabels[index]\n return label === undefined ? [] : [{ topicKey, label }]\n }),\n }\n if (isCategoryAccessibleByProfile(updatedCategory, profile))\n accessibleCategories.push(updatedCategory)\n }\n\n return accessibleCategories\n}\n"],"mappings":";AAIA,IAAM,IAAA,CAAiC,GAAwB,MACzD,EAAS,SAAS,aAAa,EAAS,SAAS,aAAmB,KACnE,EAAS,QACP,EAAS,MAAM,MAAA,CAAO,MAAS,EAAQ,CAAA,CAAsB,IADxC,IAIjB,IAAA,CAAY,GAAkB,MAA+C;AACxF,QAAM,IAAuC,CAAC;AAE9C,aAAW,KAAM,GAAiB;AAChC,UAAM,IAAW,EAAa,EAAG,IAAA;AACjC,QAAI,CAAC,EAAU;AAEf,UAAM,IAAc,EAAS,UAAU,CAAC,GAClC,IAAkB;AAAA,MACtB,GAAG;AAAA,MACH,OAAO,EAAS;AAAA,MAGhB,QAAQ,EAAG,OAAO,QAAA,CAAS,EAAE,UAAA,EAAA,GAAY,MAAU;AACjD,cAAM,IAAQ,EAAY,CAAA;AAC1B,eAAO,MAAU,SAAY,CAAC,IAAI,CAAC;AAAA,UAAE,UAAA;AAAA,UAAU,OAAA;AAAA,QAAM,CAAC;AAAA,MACxD,CAAC;AAAA,IACH;AACA,IAAI,EAA8B,GAAiB,CAAO,KACxD,EAAqB,KAAK,CAAe;AAAA,EAC7C;AAEA,SAAO;AACT"}
|
|
@@ -1,48 +1,59 @@
|
|
|
1
|
-
import { useAppConfig as
|
|
2
|
-
import { useScreenSize as
|
|
3
|
-
import { ANALYTICS_EVENTS as
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { useAppConfig as _, useEvent as R, useGlobalCopyStore as d, useHelpStore as x } from "../../common/context/hooks.es.js";
|
|
2
|
+
import { useScreenSize as y } from "../../common/hooks/useScreenSize.es.js";
|
|
3
|
+
import { ANALYTICS_EVENTS as H } from "../../common/constants/Analytics.es.js";
|
|
4
|
+
import g from "../../common/components/ErrorBoundary.es.js";
|
|
5
|
+
import { HelpList as E } from "./HelpList.es.js";
|
|
6
|
+
import { HelpContent as O } from "./HelpContent.es.js";
|
|
7
|
+
import { RequestSupport as b } from "./requestsupport/RequestSupport.es.js";
|
|
8
|
+
import p from "react";
|
|
9
|
+
import { jsx as s, jsxs as I } from "react/jsx-runtime";
|
|
10
|
+
import L from "@mui/material/Box";
|
|
11
|
+
var V = ({ sx: a = {} }) => {
|
|
12
|
+
const { config: n } = _(), { onEvent: m } = R(), { help: t } = d(), { helpCategories: S } = x(), { isMobile: f } = y(), [h, o] = p.useState(!1), [r, l] = p.useState(null), [C, u] = p.useState(""), c = (e) => {
|
|
13
|
+
m(H.HELP_CLICK_TOPIC, {
|
|
14
|
+
feature: e.category,
|
|
15
|
+
helpTopic: e.pageTitle
|
|
16
|
+
}), l(e);
|
|
17
|
+
}, i = () => o(!0), T = (e) => {
|
|
18
|
+
u(e), o(!0);
|
|
19
|
+
}, q = () => {
|
|
20
|
+
o(!1), u("");
|
|
21
|
+
};
|
|
22
|
+
return /* @__PURE__ */ I(L, {
|
|
18
23
|
sx: {
|
|
19
24
|
pt: 24,
|
|
20
|
-
px:
|
|
21
|
-
...
|
|
25
|
+
px: f ? 24 : 0,
|
|
26
|
+
...a
|
|
22
27
|
},
|
|
23
|
-
children: [
|
|
24
|
-
copy:
|
|
25
|
-
hasRequestButton:
|
|
26
|
-
onNavigateToList: () =>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
28
|
+
children: [r ? /* @__PURE__ */ s(O, {
|
|
29
|
+
copy: t,
|
|
30
|
+
hasRequestButton: n.enable_support_requests,
|
|
31
|
+
onNavigateToList: () => l(null),
|
|
32
|
+
onOpenCase: T,
|
|
33
|
+
onRequestSupport: i,
|
|
34
|
+
topicInfo: r
|
|
35
|
+
}) : /* @__PURE__ */ s(E, {
|
|
36
|
+
buttonText: t.request_support,
|
|
37
|
+
copy: t,
|
|
38
|
+
hasRequestButton: n.enable_support_requests,
|
|
39
|
+
helpCategories: S,
|
|
40
|
+
helpContent: t.list_short_content,
|
|
41
|
+
helpTitle: t.list_title,
|
|
42
|
+
onRequestHelp: i,
|
|
43
|
+
onTopicSelect: c
|
|
44
|
+
}), /* @__PURE__ */ s(g, { children: /* @__PURE__ */ s(b, {
|
|
45
|
+
caseTopic: C,
|
|
46
|
+
copy: t,
|
|
47
|
+
isOpen: h,
|
|
48
|
+
onTopicSelect: (e) => {
|
|
49
|
+
c(e), o(!1);
|
|
50
|
+
},
|
|
51
|
+
onClose: q
|
|
52
|
+
}) })]
|
|
42
53
|
});
|
|
43
54
|
};
|
|
44
55
|
export {
|
|
45
|
-
|
|
56
|
+
V as Help
|
|
46
57
|
};
|
|
47
58
|
|
|
48
59
|
//# sourceMappingURL=Help.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Help.es.js","names":[],"sources":["../../../src/help/components/Help.tsx"],"sourcesContent":["import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport {\n ANALYTICS_EVENTS,\n useAppConfig,\n useEvent,\n useGlobalCopyStore,\n useHelpStore,\n useScreenSize,\n} from '../../common'\nimport { type SelectedTopic } from '../../core'\n\nimport { HelpList } from './HelpList'\nimport { HelpContent } from './HelpContent'\nimport { RequestSupport } from './requestsupport'\nimport type { SxProps } from '@mui/material/styles'\n\ninterface HelpProps {\n sx?: SxProps\n}\n\nexport const Help = ({ sx = {} }: HelpProps) => {\n const { config } = useAppConfig()\n const { onEvent } = useEvent()\n const { help: helpCopy } = useGlobalCopyStore()\n const { helpCategories } = useHelpStore()\n const { isMobile } = useScreenSize()\n\n const [isRequestSupportOpen, setIsRequestSupportOpen] = React.useState(false)\n const [selectedTopic, setSelectedTopic] = React.useState<SelectedTopic | null>(null)\n\n const handleTopicSelect = (topic: SelectedTopic) => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_TOPIC, {\n feature: topic.category,\n helpTopic: topic.pageTitle,\n })\n\n setSelectedTopic(topic)\n }\n const handleRequestHelp = () => setIsRequestSupportOpen(true)\n\n return (\n <Box sx={{ pt: 24, px: isMobile ? 24 : 0, ...sx }}>\n {!selectedTopic ? (\n <HelpList\n buttonText={helpCopy.request_support}\n hasRequestButton={config.enable_support_requests}\n helpCategories={helpCategories}\n helpContent={helpCopy.list_short_content}\n helpTitle={helpCopy.list_title}\n onRequestHelp={handleRequestHelp}\n onTopicSelect={handleTopicSelect}\n />\n ) : (\n <HelpContent\n copy={helpCopy}\n hasRequestButton={config.enable_support_requests}\n onNavigateToList={() => setSelectedTopic(null)}\n onRequestSupport={handleRequestHelp}\n topicInfo={selectedTopic}\n />\n )}\n <RequestSupport\n
|
|
1
|
+
{"version":3,"file":"Help.es.js","names":[],"sources":["../../../src/help/components/Help.tsx"],"sourcesContent":["import React from 'react'\n\nimport Box from '@mui/material/Box'\n\nimport {\n ANALYTICS_EVENTS,\n ErrorBoundary,\n useAppConfig,\n useEvent,\n useGlobalCopyStore,\n useHelpStore,\n useScreenSize,\n} from '../../common'\nimport { type SelectedTopic } from '../../core'\n\nimport { HelpList } from './HelpList'\nimport { HelpContent } from './HelpContent'\nimport { RequestSupport } from './requestsupport'\nimport type { SxProps } from '@mui/material/styles'\n\ninterface HelpProps {\n sx?: SxProps\n}\n\nexport const Help = ({ sx = {} }: HelpProps) => {\n const { config } = useAppConfig()\n const { onEvent } = useEvent()\n const { help: helpCopy } = useGlobalCopyStore()\n const { helpCategories } = useHelpStore()\n const { isMobile } = useScreenSize()\n\n const [isRequestSupportOpen, setIsRequestSupportOpen] = React.useState(false)\n const [selectedTopic, setSelectedTopic] = React.useState<SelectedTopic | null>(null)\n const [caseTopic, setCaseTopic] = React.useState('')\n\n const handleTopicSelect = (topic: SelectedTopic) => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_TOPIC, {\n feature: topic.category,\n helpTopic: topic.pageTitle,\n })\n\n setSelectedTopic(topic)\n }\n const handleRequestHelp = () => setIsRequestSupportOpen(true)\n\n const handleOpenCase = (topic: string) => {\n setCaseTopic(topic)\n setIsRequestSupportOpen(true)\n }\n\n const handleCloseRequestSupport = () => {\n setIsRequestSupportOpen(false)\n setCaseTopic('')\n }\n\n return (\n <Box sx={{ pt: 24, px: isMobile ? 24 : 0, ...sx }}>\n {!selectedTopic ? (\n <HelpList\n buttonText={helpCopy.request_support}\n copy={helpCopy}\n hasRequestButton={config.enable_support_requests}\n helpCategories={helpCategories}\n helpContent={helpCopy.list_short_content}\n helpTitle={helpCopy.list_title}\n onRequestHelp={handleRequestHelp}\n onTopicSelect={handleTopicSelect}\n />\n ) : (\n <HelpContent\n copy={helpCopy}\n hasRequestButton={config.enable_support_requests}\n onNavigateToList={() => setSelectedTopic(null)}\n onOpenCase={handleOpenCase}\n onRequestSupport={handleRequestHelp}\n topicInfo={selectedTopic}\n />\n )}\n <ErrorBoundary>\n <RequestSupport\n caseTopic={caseTopic}\n copy={helpCopy}\n isOpen={isRequestSupportOpen}\n onTopicSelect={(topic) => {\n handleTopicSelect(topic)\n setIsRequestSupportOpen(false)\n }}\n onClose={handleCloseRequestSupport}\n />\n </ErrorBoundary>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;AAwBA,IAAa,IAAA,CAAQ,EAAE,IAAA,IAAK,CAAC,EAAA,MAAmB;AAC9C,QAAM,EAAE,QAAA,EAAA,IAAW,EAAa,GAC1B,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,MAAM,EAAA,IAAa,EAAmB,GACxC,EAAE,gBAAA,EAAA,IAAmB,EAAa,GAClC,EAAE,UAAA,EAAA,IAAa,EAAc,GAE7B,CAAC,GAAsB,CAAA,IAA2B,EAAM,SAAS,EAAK,GACtE,CAAC,GAAe,CAAA,IAAoB,EAAM,SAA+B,IAAI,GAC7E,CAAC,GAAW,CAAA,IAAgB,EAAM,SAAS,EAAE,GAE7C,IAAA,CAAqB,MAAyB;AAClD,IAAA,EAAQ,EAAiB,kBAAkB;AAAA,MACzC,SAAS,EAAM;AAAA,MACf,WAAW,EAAM;AAAA,IACnB,CAAC,GAED,EAAiB,CAAK;AAAA,EACxB,GACM,IAAA,MAA0B,EAAwB,EAAI,GAEtD,IAAA,CAAkB,MAAkB;AACxC,IAAA,EAAa,CAAK,GAClB,EAAwB,EAAI;AAAA,EAC9B,GAEM,IAAA,MAAkC;AACtC,IAAA,EAAwB,EAAK,GAC7B,EAAa,EAAE;AAAA,EACjB;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI;AAAA,MAAE,IAAI;AAAA,MAAI,IAAI,IAAW,KAAK;AAAA,MAAG,GAAG;AAAA,IAAG;AAAA,IAAhD,UAAA,CACI,IAYA,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM;AAAA,MACN,kBAAkB,EAAO;AAAA,MACzB,kBAAA,MAAwB,EAAiB,IAAI;AAAA,MAC7C,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,WAAW;AAAA,IACZ,CAAA,IAlBD,gBAAA,EAAC,GAAD;AAAA,MACE,YAAY,EAAS;AAAA,MACrB,MAAM;AAAA,MACN,kBAAkB,EAAO;AAAA,MACT,gBAAA;AAAA,MAChB,aAAa,EAAS;AAAA,MACtB,WAAW,EAAS;AAAA,MACpB,eAAe;AAAA,MACf,eAAe;AAAA,IAChB,CAAA,GAWH,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,MACa,WAAA;AAAA,MACX,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,eAAA,CAAgB,MAAU;AACxB,QAAA,EAAkB,CAAK,GACvB,EAAwB,EAAK;AAAA,MAC/B;AAAA,MACA,SAAS;AAAA,IACV,CAAA,EACY,CAAA,CACZ;AAAA;AAET"}
|
|
@@ -1,25 +1,46 @@
|
|
|
1
|
-
import { useGlobalCopyStore as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import { useEvent as S, useGlobalCopyStore as a } from "../../common/context/hooks.es.js";
|
|
2
|
+
import { ANALYTICS_EVENTS as m } from "../../common/constants/Analytics.es.js";
|
|
3
|
+
import d from "../../common/components/ErrorBoundary.es.js";
|
|
4
|
+
import { Header as x } from "./content/Header.es.js";
|
|
5
|
+
import { contentSection as A } from "./content/section/index.es.js";
|
|
6
|
+
import { SupportPrompt as I } from "./SupportPrompt.es.js";
|
|
7
|
+
import i from "react";
|
|
8
|
+
import { jsx as t, jsxs as c } from "react/jsx-runtime";
|
|
9
|
+
import L from "@mui/material/Divider";
|
|
10
|
+
var F = ({ copy: r, hasRequestButton: e = !1, onNavigateToList: s, onOpenCase: _, onRequestSupport: C, topicInfo: { category: E, pageTitle: o, topicKey: f, guid: u } }) => {
|
|
11
|
+
const { help: l } = a(), n = A[u] || null, { onEvent: p } = S();
|
|
12
|
+
return /* @__PURE__ */ c(i.Fragment, { children: [
|
|
13
|
+
/* @__PURE__ */ t(x, {
|
|
14
|
+
buttonCopy: r.request_support,
|
|
15
|
+
hasRequestButton: e,
|
|
16
|
+
onNavigateToList: s,
|
|
17
|
+
onRequestSupport: C,
|
|
18
|
+
title: E,
|
|
19
|
+
topicTitle: o
|
|
20
|
+
}),
|
|
21
|
+
/* @__PURE__ */ t(d, { children: n && /* @__PURE__ */ t(n, {
|
|
22
|
+
copy: l,
|
|
23
|
+
topicKey: f
|
|
24
|
+
}) }),
|
|
25
|
+
e && /* @__PURE__ */ c(i.Fragment, { children: [/* @__PURE__ */ t(L, { sx: { mt: 24 } }), /* @__PURE__ */ t(I, {
|
|
26
|
+
actionText: r.request_support_footer_button,
|
|
27
|
+
onAction: () => {
|
|
28
|
+
p(m.HELP_CLICK_OPEN_CASE, {
|
|
29
|
+
source: "article",
|
|
30
|
+
topic: o
|
|
31
|
+
}), _?.(o);
|
|
32
|
+
},
|
|
33
|
+
onPrompt: () => p(m.HELP_CLICK_NEED_MORE_ASSISTANCE, {
|
|
34
|
+
source: "article",
|
|
35
|
+
topic: o
|
|
36
|
+
}),
|
|
37
|
+
promptText: r.need_more_assistance,
|
|
38
|
+
sx: { py: 24 }
|
|
39
|
+
}, o)] })
|
|
40
|
+
] });
|
|
20
41
|
};
|
|
21
42
|
export {
|
|
22
|
-
|
|
43
|
+
F as HelpContent
|
|
23
44
|
};
|
|
24
45
|
|
|
25
46
|
//# sourceMappingURL=HelpContent.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpContent.es.js","names":[],"sources":["../../../src/help/components/HelpContent.tsx"],"sourcesContent":["import React from 'react'\n\nimport { ErrorBoundary, useGlobalCopyStore } from '../../common'\nimport { type HelpContentProps } from '../../core'\n\nimport { Header } from './content'\nimport { contentSection } from './content/section'\n\nexport const HelpContent: React.FC<HelpContentProps> = ({\n copy,\n hasRequestButton = false,\n onNavigateToList,\n onRequestSupport,\n topicInfo: { category, pageTitle, topicKey, guid },\n}) => {\n const { help: helpCopy } = useGlobalCopyStore()\n const ContentComponent = contentSection[guid as keyof typeof contentSection] || null\n\n return (\n <React.Fragment>\n <Header\n buttonCopy={copy.request_support}\n hasRequestButton={hasRequestButton}\n onNavigateToList={onNavigateToList}\n onRequestSupport={onRequestSupport}\n title={category}\n topicTitle={pageTitle}\n />\n <ErrorBoundary>\n {ContentComponent && <ContentComponent copy={helpCopy} topicKey={topicKey} />}\n </ErrorBoundary>\n </React.Fragment>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"HelpContent.es.js","names":[],"sources":["../../../src/help/components/HelpContent.tsx"],"sourcesContent":["import React from 'react'\n\nimport Divider from '@mui/material/Divider'\n\nimport { ANALYTICS_EVENTS, ErrorBoundary, useEvent, useGlobalCopyStore } from '../../common'\nimport { type HelpContentProps } from '../../core'\n\nimport { Header } from './content'\nimport { contentSection } from './content/section'\nimport { SupportPrompt } from './SupportPrompt'\n\nexport const HelpContent: React.FC<HelpContentProps> = ({\n copy,\n hasRequestButton = false,\n onNavigateToList,\n onOpenCase,\n onRequestSupport,\n topicInfo: { category, pageTitle, topicKey, guid },\n}) => {\n const { help: helpCopy } = useGlobalCopyStore()\n const ContentComponent = contentSection[guid as keyof typeof contentSection] || null\n const { onEvent } = useEvent()\n\n return (\n <React.Fragment>\n <Header\n buttonCopy={copy.request_support}\n hasRequestButton={hasRequestButton}\n onNavigateToList={onNavigateToList}\n onRequestSupport={onRequestSupport}\n title={category}\n topicTitle={pageTitle}\n />\n <ErrorBoundary>\n {ContentComponent && <ContentComponent copy={helpCopy} topicKey={topicKey} />}\n </ErrorBoundary>\n {hasRequestButton && (\n <React.Fragment>\n <Divider sx={{ mt: 24 }} />\n <SupportPrompt\n actionText={copy.request_support_footer_button}\n key={pageTitle}\n onAction={() => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_OPEN_CASE, {\n source: 'article',\n topic: pageTitle,\n })\n\n onOpenCase?.(pageTitle)\n }}\n onPrompt={() =>\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_NEED_MORE_ASSISTANCE, {\n source: 'article',\n topic: pageTitle,\n })\n }\n promptText={copy.need_more_assistance}\n sx={{ py: 24 }}\n />\n </React.Fragment>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":";;;;;;;;;AAWA,IAAa,IAAA,CAA2C,EACtD,MAAA,GACA,kBAAA,IAAmB,IACnB,kBAAA,GACA,YAAA,GACA,kBAAA,GACA,WAAW,EAAE,UAAA,GAAU,WAAA,GAAW,UAAA,GAAU,MAAA,EAAA,EAAA,MACxC;AACJ,QAAM,EAAE,MAAM,EAAA,IAAa,EAAmB,GACxC,IAAmB,EAAe,CAAA,KAAwC,MAC1E,EAAE,SAAA,EAAA,IAAY,EAAS;AAE7B,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MACE,YAAY,EAAK;AAAA,MACC,kBAAA;AAAA,MACA,kBAAA;AAAA,MACA,kBAAA;AAAA,MAClB,OAAO;AAAA,MACP,YAAY;AAAA,IACb,CAAA;AAAA,IACD,gBAAA,EAAC,GAAD,EAAA,UACG,KAAoB,gBAAA,EAAC,GAAD;AAAA,MAAkB,MAAM;AAAA,MAAoB,UAAA;AAAA,IAAW,CAAA,EAC/D,CAAA;AAAA,IACd,KACC,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA,GAC1B,gBAAA,EAAC,GAAD;AAAA,MACE,YAAY,EAAK;AAAA,MAEjB,UAAA,MAAgB;AACd,QAAA,EAAQ,EAAiB,sBAAsB;AAAA,UAC7C,QAAQ;AAAA,UACR,OAAO;AAAA,QACT,CAAC,GAED,IAAa,CAAS;AAAA,MACxB;AAAA,MACA,UAAA,MACE,EAAQ,EAAiB,iCAAiC;AAAA,QACxD,QAAQ;AAAA,QACR,OAAO;AAAA,MACT,CAAC;AAAA,MAEH,YAAY,EAAK;AAAA,MACjB,IAAI,EAAE,IAAI,GAAG;AAAA,IACd,GAjBM,CAiBN,CACa,EAAA,CAAA;AAAA,EAEJ,EAAA,CAAA;AAEpB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { HelpCategory, SelectedTopic } from '../../core';
|
|
2
|
+
import { HelpCategory, HelpCopy, SelectedTopic } from '../../core';
|
|
3
3
|
export interface HelpListProps {
|
|
4
4
|
buttonText: string;
|
|
5
|
+
copy: HelpCopy;
|
|
5
6
|
hasRequestButton?: boolean;
|
|
6
7
|
helpCategories: HelpCategory[];
|
|
7
8
|
helpContent: string;
|
|
@@ -1,139 +1,182 @@
|
|
|
1
|
-
import { useEvent as
|
|
2
|
-
import { ANALYTICS_EVENTS as
|
|
3
|
-
import _, { useState as
|
|
1
|
+
import { useEvent as B } from "../../common/context/hooks.es.js";
|
|
2
|
+
import { ANALYTICS_EVENTS as m } from "../../common/constants/Analytics.es.js";
|
|
3
|
+
import _, { useState as H } from "react";
|
|
4
4
|
import o from "@mui/material/Stack";
|
|
5
|
-
import { H3 as
|
|
6
|
-
import
|
|
7
|
-
import { ExpandMore as
|
|
5
|
+
import { H3 as U, Icon as j, P as E, Text as l } from "@mxenabled/mxui";
|
|
6
|
+
import y from "@mui/material/Button";
|
|
7
|
+
import { ExpandMore as w } from "@mxenabled/mx-icons";
|
|
8
8
|
import { jsx as r, jsxs as e } from "react/jsx-runtime";
|
|
9
|
-
import
|
|
9
|
+
import v from "@mui/material/Divider";
|
|
10
10
|
import M from "@mui/material/List";
|
|
11
11
|
import N from "@mui/material/ListItemButton";
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
var ir = ({ buttonText:
|
|
17
|
-
const [
|
|
18
|
-
return /* @__PURE__ */ e(_.Fragment, { children: [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
children: [/* @__PURE__ */ e(o, { children: [/* @__PURE__ */ r(k, { children: b }), /* @__PURE__ */ r(D, {
|
|
26
|
-
variant: "body1",
|
|
27
|
-
children: g
|
|
28
|
-
})] }), f && /* @__PURE__ */ r(o, {
|
|
29
|
-
sx: { pt: {
|
|
30
|
-
xs: 12,
|
|
31
|
-
md: 0
|
|
32
|
-
} },
|
|
33
|
-
children: /* @__PURE__ */ r(H, {
|
|
34
|
-
"aria-label": c,
|
|
35
|
-
onClick: () => {
|
|
36
|
-
l(h.HELP_CLICK_REQUEST_SUPPORT, {}), E();
|
|
37
|
-
},
|
|
38
|
-
variant: "contained",
|
|
39
|
-
children: c
|
|
40
|
-
})
|
|
41
|
-
})]
|
|
42
|
-
}), /* @__PURE__ */ r(o, {
|
|
43
|
-
sx: {
|
|
44
|
-
flexDirection: {
|
|
45
|
-
xs: "column",
|
|
46
|
-
md: "row"
|
|
12
|
+
import O from "@mui/material/Grid";
|
|
13
|
+
import W from "@mui/material/Accordion";
|
|
14
|
+
import F from "@mui/material/AccordionDetails";
|
|
15
|
+
import G from "@mui/material/AccordionSummary";
|
|
16
|
+
var ir = ({ buttonText: i, copy: p, hasRequestButton: x = !1, helpCategories: a = [], helpContent: P, helpTitle: C, onRequestHelp: h, onTopicSelect: I }) => {
|
|
17
|
+
const [L, A] = H(null), f = Math.ceil(a.length / 2), { onEvent: c } = B();
|
|
18
|
+
return /* @__PURE__ */ e(_.Fragment, { children: [
|
|
19
|
+
/* @__PURE__ */ e(O, {
|
|
20
|
+
container: !0,
|
|
21
|
+
sx: {
|
|
22
|
+
alignItems: "center",
|
|
23
|
+
justifyContent: "space-between",
|
|
24
|
+
mb: 24
|
|
47
25
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
26
|
+
children: [/* @__PURE__ */ e(o, { children: [/* @__PURE__ */ r(U, { children: C }), /* @__PURE__ */ r(E, {
|
|
27
|
+
variant: "body1",
|
|
28
|
+
children: P
|
|
29
|
+
})] }), x && /* @__PURE__ */ r(o, {
|
|
30
|
+
sx: { pt: {
|
|
31
|
+
xs: 12,
|
|
32
|
+
md: 0
|
|
33
|
+
} },
|
|
34
|
+
children: /* @__PURE__ */ r(y, {
|
|
35
|
+
"aria-label": i,
|
|
36
|
+
onClick: () => {
|
|
37
|
+
c(m.HELP_CLICK_REQUEST_SUPPORT, { source: "header" }), h();
|
|
38
|
+
},
|
|
39
|
+
variant: "contained",
|
|
40
|
+
children: i
|
|
41
|
+
})
|
|
42
|
+
})]
|
|
43
|
+
}),
|
|
44
|
+
/* @__PURE__ */ r(o, {
|
|
45
|
+
sx: {
|
|
46
|
+
flexDirection: {
|
|
47
|
+
xs: "column",
|
|
48
|
+
md: "row"
|
|
57
49
|
},
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
50
|
+
gap: 12
|
|
51
|
+
},
|
|
52
|
+
children: [0, 1].map((d) => {
|
|
53
|
+
const g = d === 0 ? 0 : f, R = d === 0 ? f : a.length, S = a.slice(g, R);
|
|
54
|
+
return /* @__PURE__ */ r(o, {
|
|
55
|
+
sx: {
|
|
56
|
+
flex: 1,
|
|
57
|
+
gap: 12,
|
|
58
|
+
maxWidth: { md: "calc(50% - 6px)" }
|
|
59
|
+
},
|
|
60
|
+
children: S.map(({ guid: u, icon: T, topics: k, title: s }, D) => {
|
|
61
|
+
const b = D + g;
|
|
62
|
+
return /* @__PURE__ */ e(W, {
|
|
63
|
+
disableGutters: !0,
|
|
64
|
+
expanded: b === L,
|
|
65
|
+
onChange: (t, n) => {
|
|
66
|
+
c(m.HELP_EXPAND_TOPIC, { feature: s }), A(n ? b : null);
|
|
67
|
+
},
|
|
68
|
+
sx: (t) => ({
|
|
69
|
+
border: `1px solid ${t.palette.neutral?.light}`,
|
|
70
|
+
borderRadius: "8px !important",
|
|
71
|
+
"&:before": { opacity: 0 },
|
|
72
|
+
"& .MuiAccordion-region": {
|
|
73
|
+
bgcolor: "background.default",
|
|
74
|
+
borderBottomLeftRadius: 8,
|
|
75
|
+
borderBottomRightRadius: 8
|
|
76
|
+
}
|
|
77
|
+
}),
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ r(G, {
|
|
80
|
+
expandIcon: /* @__PURE__ */ r(w, { sx: { color: "text.primary" } }),
|
|
84
81
|
sx: {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
gap: 12
|
|
82
|
+
height: 64,
|
|
83
|
+
p: "14px 24px"
|
|
88
84
|
},
|
|
89
|
-
children:
|
|
90
|
-
name: P,
|
|
91
|
-
size: 24
|
|
92
|
-
}), /* @__PURE__ */ r(u, {
|
|
93
|
-
variant: "body1",
|
|
94
|
-
children: a
|
|
95
|
-
})]
|
|
96
|
-
})
|
|
97
|
-
}),
|
|
98
|
-
/* @__PURE__ */ r(w, {}),
|
|
99
|
-
/* @__PURE__ */ r(U, {
|
|
100
|
-
sx: {
|
|
101
|
-
ml: 56,
|
|
102
|
-
p: 0
|
|
103
|
-
},
|
|
104
|
-
children: /* @__PURE__ */ r(M, {
|
|
105
|
-
disablePadding: !0,
|
|
106
|
-
children: A.map(({ label: t, topicKey: i }) => /* @__PURE__ */ r(N, {
|
|
107
|
-
"aria-label": t,
|
|
108
|
-
divider: !0,
|
|
109
|
-
onClick: () => v({
|
|
110
|
-
guid: p,
|
|
111
|
-
category: a,
|
|
112
|
-
pageTitle: t,
|
|
113
|
-
topicKey: i
|
|
114
|
-
}),
|
|
85
|
+
children: /* @__PURE__ */ e(o, {
|
|
115
86
|
sx: {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
border: "none !important",
|
|
120
|
-
borderBottomRightRadius: 7
|
|
121
|
-
}
|
|
87
|
+
alignItems: "center",
|
|
88
|
+
flexDirection: "row",
|
|
89
|
+
gap: 12
|
|
122
90
|
},
|
|
123
|
-
children: /* @__PURE__ */ r(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
91
|
+
children: [/* @__PURE__ */ r(j, {
|
|
92
|
+
name: T,
|
|
93
|
+
size: 24
|
|
94
|
+
}), /* @__PURE__ */ r(l, {
|
|
95
|
+
variant: "body1",
|
|
96
|
+
children: s
|
|
97
|
+
})]
|
|
98
|
+
})
|
|
99
|
+
}),
|
|
100
|
+
/* @__PURE__ */ r(v, {}),
|
|
101
|
+
/* @__PURE__ */ r(F, {
|
|
102
|
+
sx: {
|
|
103
|
+
ml: 56,
|
|
104
|
+
p: 0
|
|
105
|
+
},
|
|
106
|
+
children: /* @__PURE__ */ r(M, {
|
|
107
|
+
disablePadding: !0,
|
|
108
|
+
children: k.map(({ label: t, topicKey: n }) => /* @__PURE__ */ r(N, {
|
|
109
|
+
"aria-label": t,
|
|
110
|
+
divider: !0,
|
|
111
|
+
onClick: () => I({
|
|
112
|
+
guid: u,
|
|
113
|
+
category: s,
|
|
114
|
+
pageTitle: t,
|
|
115
|
+
topicKey: n
|
|
116
|
+
}),
|
|
117
|
+
sx: {
|
|
118
|
+
pl: "6px !important",
|
|
119
|
+
borderColor: "neutral.light",
|
|
120
|
+
"&:last-child": {
|
|
121
|
+
border: "none !important",
|
|
122
|
+
borderBottomRightRadius: 7
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
children: /* @__PURE__ */ r(l, {
|
|
126
|
+
color: "text.secondary",
|
|
127
|
+
variant: "body2",
|
|
128
|
+
children: t
|
|
129
|
+
})
|
|
130
|
+
}, n))
|
|
131
|
+
})
|
|
129
132
|
})
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
+
]
|
|
134
|
+
}, u);
|
|
135
|
+
})
|
|
136
|
+
}, d);
|
|
137
|
+
})
|
|
138
|
+
}),
|
|
139
|
+
x && /* @__PURE__ */ e(_.Fragment, { children: [/* @__PURE__ */ r(v, { sx: { my: 24 } }), /* @__PURE__ */ e(o, {
|
|
140
|
+
"aria-labelledby": "help-need-more-assistance",
|
|
141
|
+
component: "section",
|
|
142
|
+
sx: {
|
|
143
|
+
alignItems: "center",
|
|
144
|
+
gap: 5,
|
|
145
|
+
pb: 24
|
|
146
|
+
},
|
|
147
|
+
children: [
|
|
148
|
+
/* @__PURE__ */ r(E, {
|
|
149
|
+
color: "text.primary",
|
|
150
|
+
id: "help-need-more-assistance",
|
|
151
|
+
sx: {
|
|
152
|
+
fontWeight: 600,
|
|
153
|
+
textAlign: "center"
|
|
154
|
+
},
|
|
155
|
+
children: p.need_more_assistance
|
|
156
|
+
}),
|
|
157
|
+
/* @__PURE__ */ r(l, {
|
|
158
|
+
color: "text.secondary",
|
|
159
|
+
sx: {
|
|
160
|
+
fontWeight: 400,
|
|
161
|
+
textAlign: "center"
|
|
162
|
+
},
|
|
163
|
+
variant: "subtitle2",
|
|
164
|
+
children: p.need_more_assistance_short_content
|
|
165
|
+
}),
|
|
166
|
+
/* @__PURE__ */ r(y, {
|
|
167
|
+
onClick: () => {
|
|
168
|
+
c(m.HELP_CLICK_REQUEST_SUPPORT, { source: "footer" }), h();
|
|
169
|
+
},
|
|
170
|
+
sx: {
|
|
171
|
+
mt: 16,
|
|
172
|
+
px: 16
|
|
173
|
+
},
|
|
174
|
+
variant: "text",
|
|
175
|
+
children: i
|
|
133
176
|
})
|
|
134
|
-
|
|
135
|
-
})
|
|
136
|
-
|
|
177
|
+
]
|
|
178
|
+
})] })
|
|
179
|
+
] });
|
|
137
180
|
};
|
|
138
181
|
export {
|
|
139
182
|
ir as HelpList
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpList.es.js","names":[],"sources":["../../../src/help/components/HelpList.tsx"],"sourcesContent":["import React, { useState } from 'react'\n\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport Grid from '@mui/material/Grid'\nimport List from '@mui/material/List'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport Stack from '@mui/material/Stack'\n\nimport { H3, Icon, P, Text } from '@mxenabled/mxui'\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { ANALYTICS_EVENTS, useEvent } from '../../common'\nimport { type HelpCategory, type SelectedTopic } from '../../core'\n\nexport interface HelpListProps {\n buttonText: string\n hasRequestButton?: boolean\n helpCategories: HelpCategory[]\n helpContent: string\n helpTitle: string\n onRequestHelp: () => void\n onTopicSelect: (topic: SelectedTopic) => void\n}\n\nexport const HelpList: React.FC<HelpListProps> = ({\n buttonText,\n hasRequestButton = false,\n helpCategories = [],\n helpContent,\n helpTitle,\n onRequestHelp,\n onTopicSelect,\n}) => {\n const [expanded, setExpanded] = useState<number | null>(null)\n const midpoint = Math.ceil(helpCategories.length / 2)\n\n const { onEvent } = useEvent()\n\n return (\n <React.Fragment>\n <Grid\n container={true}\n sx={{\n alignItems: 'center',\n justifyContent: 'space-between',\n mb: 24,\n }}\n >\n <Stack>\n <H3>{helpTitle}</H3>\n <P variant=\"body1\">{helpContent}</P>\n </Stack>\n {hasRequestButton && (\n <Stack\n sx={{\n pt: {\n xs: 12,\n md: 0,\n },\n }}\n >\n <Button\n aria-label={buttonText}\n onClick={() => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_REQUEST_SUPPORT, {})\n\n onRequestHelp()\n }}\n variant=\"contained\"\n >\n {buttonText}\n </Button>\n </Stack>\n )}\n </Grid>\n\n <Stack sx={{ flexDirection: { xs: 'column', md: 'row' }, gap: 12 }}>\n {[0, 1].map((half) => {\n const start = half === 0 ? 0 : midpoint\n const end = half === 0 ? midpoint : helpCategories.length\n const items = helpCategories.slice(start, end)\n\n return (\n <Stack key={half} sx={{ flex: 1, gap: 12, maxWidth: { md: 'calc(50% - 6px)' } }}>\n {items.map(({ guid, icon, topics, title }, i) => {\n const key = i + start\n return (\n <Accordion\n disableGutters={true}\n expanded={key === expanded}\n key={guid}\n onChange={(_, isExpanded) => {\n onEvent(ANALYTICS_EVENTS.HELP_EXPAND_TOPIC, { feature: title })\n\n setExpanded(isExpanded ? key : null)\n }}\n sx={(theme) => ({\n border: `1px solid ${theme.palette.neutral?.light}`,\n borderRadius: '8px !important',\n '&:before': {\n opacity: 0,\n },\n '& .MuiAccordion-region': {\n bgcolor: 'background.default',\n borderBottomLeftRadius: 8,\n borderBottomRightRadius: 8,\n },\n })}\n >\n <AccordionSummary\n expandIcon={<ExpandMore sx={{ color: 'text.primary' }} />}\n sx={{ height: 64, p: '14px 24px' }}\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 disablePadding={true}>\n {topics.map(({ label, topicKey }) => (\n <ListItemButton\n aria-label={label}\n divider={true}\n key={topicKey}\n onClick={() =>\n onTopicSelect({ guid, category: title, pageTitle: label, topicKey })\n }\n sx={{\n pl: '6px !important',\n borderColor: 'neutral.light',\n '&:last-child': {\n border: 'none !important',\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 })}\n </Stack>\n )\n })}\n </Stack>\n </React.Fragment>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HelpList.es.js","names":[],"sources":["../../../src/help/components/HelpList.tsx"],"sourcesContent":["import React, { useState } from 'react'\n\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport Grid from '@mui/material/Grid'\nimport List from '@mui/material/List'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport Stack from '@mui/material/Stack'\n\nimport { H3, Icon, P, Text } from '@mxenabled/mxui'\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { ANALYTICS_EVENTS, useEvent } from '../../common'\nimport type { HelpCategory, HelpCopy, SelectedTopic } from '../../core'\n\nexport interface HelpListProps {\n buttonText: string\n copy: HelpCopy\n hasRequestButton?: boolean\n helpCategories: HelpCategory[]\n helpContent: string\n helpTitle: string\n onRequestHelp: () => void\n onTopicSelect: (topic: SelectedTopic) => void\n}\n\nexport const HelpList: React.FC<HelpListProps> = ({\n buttonText,\n copy,\n hasRequestButton = false,\n helpCategories = [],\n helpContent,\n helpTitle,\n onRequestHelp,\n onTopicSelect,\n}) => {\n const [expanded, setExpanded] = useState<number | null>(null)\n const midpoint = Math.ceil(helpCategories.length / 2)\n\n const { onEvent } = useEvent()\n\n return (\n <React.Fragment>\n <Grid\n container={true}\n sx={{\n alignItems: 'center',\n justifyContent: 'space-between',\n mb: 24,\n }}\n >\n <Stack>\n <H3>{helpTitle}</H3>\n <P variant=\"body1\">{helpContent}</P>\n </Stack>\n {hasRequestButton && (\n <Stack\n sx={{\n pt: {\n xs: 12,\n md: 0,\n },\n }}\n >\n <Button\n aria-label={buttonText}\n onClick={() => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_REQUEST_SUPPORT, { source: 'header' })\n\n onRequestHelp()\n }}\n variant=\"contained\"\n >\n {buttonText}\n </Button>\n </Stack>\n )}\n </Grid>\n\n <Stack sx={{ flexDirection: { xs: 'column', md: 'row' }, gap: 12 }}>\n {[0, 1].map((half) => {\n const start = half === 0 ? 0 : midpoint\n const end = half === 0 ? midpoint : helpCategories.length\n const items = helpCategories.slice(start, end)\n\n return (\n <Stack key={half} sx={{ flex: 1, gap: 12, maxWidth: { md: 'calc(50% - 6px)' } }}>\n {items.map(({ guid, icon, topics, title }, i) => {\n const key = i + start\n return (\n <Accordion\n disableGutters={true}\n expanded={key === expanded}\n key={guid}\n onChange={(_, isExpanded) => {\n onEvent(ANALYTICS_EVENTS.HELP_EXPAND_TOPIC, { feature: title })\n\n setExpanded(isExpanded ? key : null)\n }}\n sx={(theme) => ({\n border: `1px solid ${theme.palette.neutral?.light}`,\n borderRadius: '8px !important',\n '&:before': {\n opacity: 0,\n },\n '& .MuiAccordion-region': {\n bgcolor: 'background.default',\n borderBottomLeftRadius: 8,\n borderBottomRightRadius: 8,\n },\n })}\n >\n <AccordionSummary\n expandIcon={<ExpandMore sx={{ color: 'text.primary' }} />}\n sx={{ height: 64, p: '14px 24px' }}\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 disablePadding={true}>\n {topics.map(({ label, topicKey }) => (\n <ListItemButton\n aria-label={label}\n divider={true}\n key={topicKey}\n onClick={() =>\n onTopicSelect({ guid, category: title, pageTitle: label, topicKey })\n }\n sx={{\n pl: '6px !important',\n borderColor: 'neutral.light',\n '&:last-child': {\n border: 'none !important',\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 })}\n </Stack>\n )\n })}\n </Stack>\n\n {hasRequestButton && (\n <React.Fragment>\n <Divider sx={{ my: 24 }} />\n <Stack\n aria-labelledby=\"help-need-more-assistance\"\n component=\"section\"\n sx={{ alignItems: 'center', gap: 5, pb: 24 }}\n >\n <P\n color=\"text.primary\"\n id=\"help-need-more-assistance\"\n sx={{ fontWeight: 600, textAlign: 'center' }}\n >\n {copy.need_more_assistance}\n </P>\n <Text\n color=\"text.secondary\"\n sx={{ fontWeight: 400, textAlign: 'center' }}\n variant=\"subtitle2\"\n >\n {copy.need_more_assistance_short_content}\n </Text>\n <Button\n // Shares its visible label with the header button; the containing\n // region, named by this footer's localized heading, tells the two\n // apart for screen readers without appending English copy.\n onClick={() => {\n onEvent(ANALYTICS_EVENTS.HELP_CLICK_REQUEST_SUPPORT, { source: 'footer' })\n\n onRequestHelp()\n }}\n // Match the header button's horizontal padding; MUI's text variant\n // defaults to a narrower inset that looks cramped on hover.\n sx={{ mt: 16, px: 16 }}\n variant=\"text\"\n >\n {buttonText}\n </Button>\n </Stack>\n </React.Fragment>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SxProps } from '@mui/material/styles';
|
|
3
|
+
export interface SupportPromptProps {
|
|
4
|
+
actionText: string;
|
|
5
|
+
onAction: () => void;
|
|
6
|
+
onPrompt: () => void;
|
|
7
|
+
promptText: string;
|
|
8
|
+
sx?: SxProps;
|
|
9
|
+
}
|
|
10
|
+
export declare const SupportPrompt: React.FC<SupportPromptProps>;
|