@mx-cartographer/experiences 6.26.0-alpha.sms7 → 6.26.1-alpha.mega1

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 (95) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/dist/AccountStore-DkL93tXL.mjs +317 -0
  3. package/dist/AccountStore-DkL93tXL.mjs.map +1 -0
  4. package/dist/BudgetUtil-CVqAdv-j.mjs +187 -0
  5. package/dist/BudgetUtil-CVqAdv-j.mjs.map +1 -0
  6. package/dist/CashflowStore-gPEEBiXo.mjs +53 -0
  7. package/dist/CashflowStore-gPEEBiXo.mjs.map +1 -0
  8. package/dist/CategoryStore-m7oieLzP.mjs +260 -0
  9. package/dist/CategoryStore-m7oieLzP.mjs.map +1 -0
  10. package/dist/ConnectMiniWidget-CQWafYtQ.mjs +22966 -0
  11. package/dist/ConnectMiniWidget-CQWafYtQ.mjs.map +1 -0
  12. package/dist/DebtsStore-cUhIgJx6.mjs +145 -0
  13. package/dist/DebtsStore-cUhIgJx6.mjs.map +1 -0
  14. package/dist/Donut-CGNFni9y.mjs +58 -0
  15. package/dist/Donut-CGNFni9y.mjs.map +1 -0
  16. package/dist/FinstrongStore-BDG7l0nI.mjs +183 -0
  17. package/dist/FinstrongStore-BDG7l0nI.mjs.map +1 -0
  18. package/dist/GoalStore-o2waGeyf.mjs +293 -0
  19. package/dist/GoalStore-o2waGeyf.mjs.map +1 -0
  20. package/dist/Loader-CwdK8lfx.mjs +147 -0
  21. package/dist/Loader-CwdK8lfx.mjs.map +1 -0
  22. package/dist/MerchantStore-Cck9IGIH.mjs +125 -0
  23. package/dist/MerchantStore-Cck9IGIH.mjs.map +1 -0
  24. package/dist/NetWorthStore-D5eUfGQt.mjs +66 -0
  25. package/dist/NetWorthStore-D5eUfGQt.mjs.map +1 -0
  26. package/dist/NotificationStore-DCxw8W7u.mjs +141 -0
  27. package/dist/NotificationStore-DCxw8W7u.mjs.map +1 -0
  28. package/dist/RecurringTransactionsStore-Bijrgllq.mjs +337 -0
  29. package/dist/RecurringTransactionsStore-Bijrgllq.mjs.map +1 -0
  30. package/dist/SettingsStore-BhOYgUOa.mjs +352 -0
  31. package/dist/SettingsStore-BhOYgUOa.mjs.map +1 -0
  32. package/dist/TransactionApi-Dnbyi1JL.mjs +175 -0
  33. package/dist/TransactionApi-Dnbyi1JL.mjs.map +1 -0
  34. package/dist/TransactionStore-CiEtt5XJ.mjs +417 -0
  35. package/dist/TransactionStore-CiEtt5XJ.mjs.map +1 -0
  36. package/dist/TrendsStore-Idq3QfoA.mjs +131 -0
  37. package/dist/TrendsStore-Idq3QfoA.mjs.map +1 -0
  38. package/dist/accounts/index.es.js +18 -0
  39. package/dist/accounts/index.es.js.map +1 -0
  40. package/dist/analytics/index.es.js +170 -0
  41. package/dist/analytics/index.es.js.map +1 -0
  42. package/dist/budgets/index.es.js +1116 -0
  43. package/dist/budgets/index.es.js.map +1 -0
  44. package/dist/cashflow/index.es.js +118 -0
  45. package/dist/cashflow/index.es.js.map +1 -0
  46. package/dist/categories/index.es.js +10 -0
  47. package/dist/categories/index.es.js.map +1 -0
  48. package/dist/categories/util/CategoryUtil.d.ts +3 -2
  49. package/dist/common/components/charts/StackedLineChart.d.ts +2 -2
  50. package/dist/common/components/charts/stackedlinechart/CustomLegend.d.ts +1 -0
  51. package/dist/common/context/hooks.d.ts +13 -13
  52. package/dist/common/index.es.js +1549 -0
  53. package/dist/common/index.es.js.map +1 -0
  54. package/dist/common/types/AppData.d.ts +2 -0
  55. package/dist/common/types/Category.d.ts +2 -8
  56. package/dist/common/types/index.d.ts +1 -1
  57. package/dist/dashboard/index.es.js +257 -0
  58. package/dist/dashboard/index.es.js.map +1 -0
  59. package/dist/debts/index.es.js +9 -0
  60. package/dist/debts/index.es.js.map +1 -0
  61. package/dist/finstrong/index.es.js +11 -0
  62. package/dist/finstrong/index.es.js.map +1 -0
  63. package/dist/goals/index.es.js +9 -0
  64. package/dist/goals/index.es.js.map +1 -0
  65. package/dist/help/components/content/section/index.d.ts +15 -15
  66. package/dist/help/index.es.js +6 -0
  67. package/dist/help/index.es.js.map +1 -0
  68. package/dist/investments/index.es.js +1694 -0
  69. package/dist/investments/index.es.js.map +1 -0
  70. package/dist/merchants/index.es.js +7 -0
  71. package/dist/merchants/index.es.js.map +1 -0
  72. package/dist/microinsights/index.es.js +21 -0
  73. package/dist/microinsights/index.es.js.map +1 -0
  74. package/dist/networth/index.es.js +11 -0
  75. package/dist/networth/index.es.js.map +1 -0
  76. package/dist/notifications/index.es.js +116 -0
  77. package/dist/notifications/index.es.js.map +1 -0
  78. package/dist/recurringtransactions/index.es.js +14 -0
  79. package/dist/recurringtransactions/index.es.js.map +1 -0
  80. package/dist/settings/index.es.js +112 -0
  81. package/dist/settings/index.es.js.map +1 -0
  82. package/dist/spending/index.es.js +632 -0
  83. package/dist/spending/index.es.js.map +1 -0
  84. package/dist/transactions/index.es.js +19 -0
  85. package/dist/transactions/index.es.js.map +1 -0
  86. package/dist/trends/components/CategoriesList.d.ts +5 -5
  87. package/dist/trends/components/CategoriesListItem.d.ts +7 -4
  88. package/dist/trends/components/CategoryDetailChart.d.ts +5 -1
  89. package/dist/trends/index.es.js +10 -0
  90. package/dist/trends/index.es.js.map +1 -0
  91. package/dist/trends/stores/TrendsStore.d.ts +11 -16
  92. package/package.json +91 -3
  93. package/dist/index.d.ts +0 -22
  94. package/dist/index.es.js +0 -29873
  95. package/dist/index.es.js.map +0 -1
@@ -0,0 +1,170 @@
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import d from "react";
3
+ import { observer as y } from "mobx-react-lite";
4
+ import { SurveyQuestionType as S } from "posthog-js";
5
+ import A from "@mui/material/Alert";
6
+ import B from "@mui/material/Button";
7
+ import i from "@mui/material/Stack";
8
+ import _ from "@mui/material/styles/useTheme";
9
+ import { Text as u, TextField as L } from "@mxenabled/mxui";
10
+ import { a as b, b as f, c as W, d as j, L as q, M as E } from "../Loader-CwdK8lfx.mjs";
11
+ import Q from "@mui/material/ToggleButton";
12
+ import G from "@mui/material/ToggleButtonGroup";
13
+ const O = () => {
14
+ const { question: s, response: o, setResponse: a } = b(), { analytics: r } = f(), t = _(), p = s, m = (h, n) => {
15
+ a(n);
16
+ };
17
+ return /* @__PURE__ */ l(d.Fragment, { children: [
18
+ /* @__PURE__ */ e(
19
+ G,
20
+ {
21
+ exclusive: !0,
22
+ onChange: m,
23
+ sx: {
24
+ display: "flex",
25
+ height: 44,
26
+ justifyContent: "space-between",
27
+ width: "100%"
28
+ },
29
+ value: o,
30
+ children: Array.from({ length: p.scale }, (h, n) => /* @__PURE__ */ e(
31
+ Q,
32
+ {
33
+ sx: {
34
+ borderColor: t.palette.border.light,
35
+ fontWeight: "bold",
36
+ width: `${100 / p.scale}%`,
37
+ "&:hover": {
38
+ backgroundColor: t.palette.background.paper
39
+ },
40
+ "&.Mui-selected, &.Mui-selected:hover": {
41
+ backgroundColor: t.palette.mode === "dark" ? "#0749B240" : t.palette.primary.lighter,
42
+ border: `1px solid ${t.palette.primary.main}`,
43
+ color: t.palette.primary.main
44
+ }
45
+ },
46
+ value: n + 1,
47
+ children: n + 1
48
+ },
49
+ n + 1
50
+ ))
51
+ }
52
+ ),
53
+ /* @__PURE__ */ l(
54
+ i,
55
+ {
56
+ sx: {
57
+ color: t.palette.secondary.light,
58
+ flexDirection: "row",
59
+ justifyContent: "space-between"
60
+ },
61
+ children: [
62
+ /* @__PURE__ */ e(u, { bold: !0, variant: "XSmall", children: r.strongly_disagree }),
63
+ /* @__PURE__ */ e(u, { bold: !0, variant: "XSmall", children: r.strongly_agree })
64
+ ]
65
+ }
66
+ )
67
+ ] });
68
+ }, X = y(O), z = () => {
69
+ const { response: s, setResponse: o } = b(), { analytics: a } = f();
70
+ return /* @__PURE__ */ e(
71
+ L,
72
+ {
73
+ label: a.feedback,
74
+ multiline: !0,
75
+ onChange: (r) => {
76
+ o(r.target.value);
77
+ },
78
+ placeholder: a.improve_experience,
79
+ rows: 4,
80
+ value: s
81
+ }
82
+ );
83
+ }, H = y(z), I = () => {
84
+ const { onEvent: s } = W(), o = _(), {
85
+ surveyId: a,
86
+ question: r,
87
+ isLastQuestion: t,
88
+ nextQuestion: p,
89
+ loadSurvey: m,
90
+ questionCount: h,
91
+ response: n,
92
+ responsePayload: k,
93
+ resetStore: g,
94
+ survey: w
95
+ } = b(), { analytics: c, common: M } = f(), { isCopyLoaded: T, isInitialized: v } = j(), [x, C] = d.useState(!1);
96
+ d.useEffect(() => {
97
+ v && m();
98
+ }, [v]), d.useEffect(() => {
99
+ s("survey shown", {
100
+ $survey_id: a
101
+ });
102
+ }, [w]);
103
+ const $ = () => {
104
+ s("survey dismissed", {
105
+ $survey_id: a
106
+ }), g(), C(!1);
107
+ }, F = () => {
108
+ p();
109
+ }, R = () => {
110
+ s("survey sent", k), g(), C(!0);
111
+ };
112
+ return T ? !r && !x ? null : /* @__PURE__ */ l(
113
+ E,
114
+ {
115
+ closeLabel: M.close_aria,
116
+ onClose: $,
117
+ sx: {
118
+ "& .MuiCardHeader-root": {
119
+ px: 24,
120
+ pb: 2
121
+ },
122
+ "& .MuiCardHeader-subheader": {
123
+ fontSize: 13
124
+ },
125
+ "& .MuiCardContent-root:last-child": {
126
+ pb: 0
127
+ }
128
+ },
129
+ title: c.your_feedback_matters,
130
+ children: [
131
+ /* @__PURE__ */ e(i, { sx: { pb: 8, px: 24 }, children: /* @__PURE__ */ e(u, { truncate: !1, variant: "subtitle2", children: c.let_us_know }) }),
132
+ r && /* @__PURE__ */ l(d.Fragment, { children: [
133
+ /* @__PURE__ */ l(i, { sx: { gap: 4, px: 24, py: 16 }, children: [
134
+ /* @__PURE__ */ e(u, { bold: !0, truncate: !1, children: r.question }),
135
+ /* @__PURE__ */ e(u, { variant: "XSmall", children: h })
136
+ ] }),
137
+ /* @__PURE__ */ l(i, { sx: { gap: 6, px: 24, pb: 8 }, children: [
138
+ r.type === S.Rating && /* @__PURE__ */ e(X, {}),
139
+ r.type === S.Open && /* @__PURE__ */ e(H, {})
140
+ ] }),
141
+ /* @__PURE__ */ e(i, { sx: { px: 24, py: 16 }, children: /* @__PURE__ */ e(
142
+ B,
143
+ {
144
+ disabled: !t && !n,
145
+ onClick: t ? R : F,
146
+ sx: {
147
+ borderColor: o.palette.border.light,
148
+ "&:hover": {
149
+ // temp hardcoded dark mode color until design team decision
150
+ backgroundColor: o.palette.mode === "dark" ? "#0749B240" : o.palette.primary.lighter,
151
+ borderColor: o.palette.primary.main
152
+ }
153
+ },
154
+ variant: t && n ? "contained" : "outlined",
155
+ children: t ? c.submit_feedback : c.continue
156
+ }
157
+ ) })
158
+ ] }),
159
+ x && /* @__PURE__ */ l(d.Fragment, { children: [
160
+ /* @__PURE__ */ e(i, { sx: { px: 24, py: 24 }, children: /* @__PURE__ */ e(u, { bold: !0, truncate: !1, children: c.thank_you }) }),
161
+ /* @__PURE__ */ e(i, { sx: { px: 24, pb: 24 }, children: /* @__PURE__ */ e(A, { severity: "success", variant: "filled", children: c.feedback_sent_successfully }) })
162
+ ] })
163
+ ]
164
+ }
165
+ ) : /* @__PURE__ */ e(q, {});
166
+ }, ne = y(I);
167
+ export {
168
+ ne as SurveyMiniWidget
169
+ };
170
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../src/analytics/components/RatingScale.tsx","../../src/analytics/components/OpenTextField.tsx","../../src/analytics/SurveyMiniWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { RatingSurveyQuestion } from 'posthog-js'\n\nimport Stack from '@mui/material/Stack'\nimport ToggleButton from '@mui/material/ToggleButton'\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup'\nimport useTheme from '@mui/material/styles/useTheme'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useAnalyticsStore } from '../../common/context/hooks'\nimport { useGlobalCopyStore } from '../../common/context/hooks'\n\nconst RatingScale = () => {\n const { question, response, setResponse } = useAnalyticsStore()\n const { analytics: copy } = useGlobalCopyStore()\n const theme = useTheme()\n const ratingQuestion = question as RatingSurveyQuestion\n\n const handleSelect = (_: React.MouseEvent<HTMLElement>, response: number | null) => {\n setResponse(response)\n }\n\n return (\n <React.Fragment>\n <ToggleButtonGroup\n exclusive={true}\n onChange={handleSelect}\n sx={{\n display: 'flex',\n height: 44,\n justifyContent: 'space-between',\n width: '100%',\n }}\n value={response}\n >\n {Array.from({ length: ratingQuestion.scale }, (_, index) => (\n <ToggleButton\n key={index + 1}\n sx={{\n borderColor: theme.palette.border.light,\n fontWeight: 'bold',\n width: `${100 / ratingQuestion.scale}%`,\n '&:hover': {\n backgroundColor: theme.palette.background.paper,\n },\n '&.Mui-selected, &.Mui-selected:hover': {\n backgroundColor:\n theme.palette.mode === 'dark' ? '#0749B240' : theme.palette.primary.lighter,\n border: `1px solid ${theme.palette.primary.main}`,\n color: theme.palette.primary.main,\n },\n }}\n value={index + 1}\n >\n {index + 1}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n <Stack\n sx={{\n color: theme.palette.secondary.light,\n flexDirection: 'row',\n justifyContent: 'space-between',\n }}\n >\n <Text bold={true} variant=\"XSmall\">\n {copy.strongly_disagree}\n </Text>\n <Text bold={true} variant=\"XSmall\">\n {copy.strongly_agree}\n </Text>\n </Stack>\n </React.Fragment>\n )\n}\n\nexport default observer(RatingScale)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { TextField } from '@mxenabled/mxui'\n\nimport { useAnalyticsStore } from '../../common/context/hooks'\nimport { useGlobalCopyStore } from '../../common/context/hooks'\n\nconst OpenTextField = () => {\n const { response, setResponse } = useAnalyticsStore()\n const { analytics: copy } = useGlobalCopyStore()\n\n return (\n <TextField\n label={copy.feedback}\n multiline={true}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n setResponse(event.target.value)\n }}\n placeholder={copy.improve_experience}\n rows={4}\n value={response}\n />\n )\n}\n\nexport default observer(OpenTextField)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { SurveyQuestionType } from 'posthog-js'\n\nimport Alert from '@mui/material/Alert'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport useTheme from '@mui/material/styles/useTheme'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport Loader from '../common/components/Loader'\nimport MiniWidgetContainer from '../common/components/MiniWidgetContainer'\nimport { useEvent } from '../common/context/hooks'\nimport { useAnalyticsStore } from '../common/context/hooks'\nimport { useGlobalUiStore } from '../common/context/hooks'\nimport { useGlobalCopyStore } from '../common/context/hooks'\n\nimport RatingScale from './components/RatingScale'\nimport OpenTextField from './components/OpenTextField'\n\nconst SurveyMiniWidget = () => {\n const { onEvent } = useEvent()\n const theme = useTheme()\n const {\n surveyId,\n question,\n isLastQuestion,\n nextQuestion,\n loadSurvey,\n questionCount,\n response,\n responsePayload,\n resetStore,\n survey,\n } = useAnalyticsStore()\n\n const { analytics: copy, common: commonCopy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n const [showAlert, setShowAlert] = React.useState(false)\n\n React.useEffect(() => {\n if (isInitialized) {\n loadSurvey()\n }\n }, [isInitialized])\n\n React.useEffect(() => {\n onEvent('survey shown', {\n $survey_id: surveyId,\n })\n }, [survey])\n\n const handleClose = () => {\n onEvent('survey dismissed', {\n $survey_id: surveyId,\n })\n resetStore()\n setShowAlert(false)\n }\n\n const handleContinue = () => {\n nextQuestion()\n }\n\n const handleSubmit = () => {\n const payload = responsePayload\n onEvent('survey sent', payload)\n resetStore()\n setShowAlert(true)\n }\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n if (!question && !showAlert) {\n return null\n }\n\n return (\n <MiniWidgetContainer\n closeLabel={commonCopy.close_aria}\n onClose={handleClose}\n sx={{\n '& .MuiCardHeader-root': {\n px: 24,\n pb: 2,\n },\n '& .MuiCardHeader-subheader': {\n fontSize: 13,\n },\n '& .MuiCardContent-root:last-child': {\n pb: 0,\n },\n }}\n title={copy.your_feedback_matters}\n >\n <Stack sx={{ pb: 8, px: 24 }}>\n <Text truncate={false} variant=\"subtitle2\">\n {copy.let_us_know}\n </Text>\n </Stack>\n {question && (\n <React.Fragment>\n <Stack sx={{ gap: 4, px: 24, py: 16 }}>\n <Text bold={true} truncate={false}>\n {question.question}\n </Text>\n <Text variant=\"XSmall\">{questionCount}</Text>\n </Stack>\n <Stack sx={{ gap: 6, px: 24, pb: 8 }}>\n {question.type === SurveyQuestionType.Rating && <RatingScale />}\n\n {question.type === SurveyQuestionType.Open && <OpenTextField />}\n </Stack>\n <Stack sx={{ px: 24, py: 16 }}>\n <Button\n disabled={!isLastQuestion && !response}\n onClick={isLastQuestion ? handleSubmit : handleContinue}\n sx={{\n borderColor: theme.palette.border.light,\n '&:hover': {\n // temp hardcoded dark mode color until design team decision\n backgroundColor:\n theme.palette.mode === 'dark' ? '#0749B240' : theme.palette.primary.lighter,\n borderColor: theme.palette.primary.main,\n },\n }}\n variant={isLastQuestion && response ? 'contained' : 'outlined'}\n >\n {isLastQuestion ? copy.submit_feedback : copy.continue}\n </Button>\n </Stack>\n </React.Fragment>\n )}\n\n {showAlert && (\n <React.Fragment>\n <Stack sx={{ px: 24, py: 24 }}>\n <Text bold={true} truncate={false}>\n {copy.thank_you}\n </Text>\n </Stack>\n <Stack sx={{ px: 24, pb: 24 }}>\n <Alert severity=\"success\" variant=\"filled\">\n {copy.feedback_sent_successfully}\n </Alert>\n </Stack>\n </React.Fragment>\n )}\n </MiniWidgetContainer>\n )\n}\n\nexport default observer(SurveyMiniWidget)\n"],"names":["RatingScale","question","response","setResponse","useAnalyticsStore","copy","useGlobalCopyStore","theme","useTheme","ratingQuestion","handleSelect","_","jsxs","React","jsx","ToggleButtonGroup","index","ToggleButton","Stack","Text","RatingScale$1","observer","OpenTextField","TextField","event","OpenTextField$1","SurveyMiniWidget","onEvent","useEvent","surveyId","isLastQuestion","nextQuestion","loadSurvey","questionCount","responsePayload","resetStore","survey","commonCopy","isCopyLoaded","isInitialized","useGlobalUiStore","showAlert","setShowAlert","handleClose","handleContinue","handleSubmit","MiniWidgetContainer","SurveyQuestionType","Button","Alert","Loader","SurveyMiniWidget$1"],"mappings":"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"}