@mx-cartographer/experiences 9.1.0-alpha.bb1 → 9.1.1

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 (248) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +10 -10
  3. package/dist/Account-DR7Plrqy.mjs +119 -0
  4. package/dist/Account-DR7Plrqy.mjs.map +1 -0
  5. package/dist/AccountDetailsDrawer-C1hhmlmI.mjs +922 -0
  6. package/dist/AccountDetailsDrawer-C1hhmlmI.mjs.map +1 -0
  7. package/dist/AccountDetailsHeader-BliEZhz7.mjs +230 -0
  8. package/dist/AccountDetailsHeader-BliEZhz7.mjs.map +1 -0
  9. package/dist/AccountUtils-Cbh8r9cP.mjs +29 -0
  10. package/dist/AccountUtils-Cbh8r9cP.mjs.map +1 -0
  11. package/dist/Analytics-CkYXKvco.mjs +54 -0
  12. package/dist/Analytics-CkYXKvco.mjs.map +1 -0
  13. package/dist/Analytics-WeZYytR0.mjs +140 -0
  14. package/dist/Analytics-WeZYytR0.mjs.map +1 -0
  15. package/dist/ApiEndpoints-DXwIYNUV.mjs +50 -0
  16. package/dist/ApiEndpoints-DXwIYNUV.mjs.map +1 -0
  17. package/dist/BeatMaterialIcon-1KOfRZrA.mjs +27 -0
  18. package/dist/BeatMaterialIcon-1KOfRZrA.mjs.map +1 -0
  19. package/dist/BudgetUtil-Bg2AQJpQ.mjs +75 -0
  20. package/dist/BudgetUtil-Bg2AQJpQ.mjs.map +1 -0
  21. package/dist/Category-DEKZGLYe.mjs +302 -0
  22. package/dist/Category-DEKZGLYe.mjs.map +1 -0
  23. package/dist/CategorySelectorDrawer-NJsFsKP1.mjs +431 -0
  24. package/dist/CategorySelectorDrawer-NJsFsKP1.mjs.map +1 -0
  25. package/dist/Connect-BH0Pt6zc.mjs +43 -0
  26. package/dist/Connect-BH0Pt6zc.mjs.map +1 -0
  27. package/dist/ConnectCard-D7uxoH5Y.mjs +55 -0
  28. package/dist/ConnectCard-D7uxoH5Y.mjs.map +1 -0
  29. package/dist/ConnectDrawer-CW4LA3H3.mjs +58 -0
  30. package/dist/ConnectDrawer-CW4LA3H3.mjs.map +1 -0
  31. package/dist/ConnectionsDrawer-CZU9ku-k.mjs +54 -0
  32. package/dist/ConnectionsDrawer-CZU9ku-k.mjs.map +1 -0
  33. package/dist/CurrencyDialog-DumQCTPO.mjs +374 -0
  34. package/dist/CurrencyDialog-DumQCTPO.mjs.map +1 -0
  35. package/dist/CurrencyInput-DaGEQaLW.mjs +88 -0
  36. package/dist/CurrencyInput-DaGEQaLW.mjs.map +1 -0
  37. package/dist/CurrencyText-CCbE6MmF.mjs +21 -0
  38. package/dist/CurrencyText-CCbE6MmF.mjs.map +1 -0
  39. package/dist/DateFormats-HudZ3Bjs.mjs +65 -0
  40. package/dist/DateFormats-HudZ3Bjs.mjs.map +1 -0
  41. package/dist/DateUtil-CzBmbjmA.mjs +75 -0
  42. package/dist/DateUtil-CzBmbjmA.mjs.map +1 -0
  43. package/dist/DebtUtils-i4pI2Uoe.mjs +154 -0
  44. package/dist/DebtUtils-i4pI2Uoe.mjs.map +1 -0
  45. package/dist/Dialog-Bvd2n8hz.mjs +67 -0
  46. package/dist/Dialog-Bvd2n8hz.mjs.map +1 -0
  47. package/dist/Donut-SzzfZDHF.mjs +89 -0
  48. package/dist/Donut-SzzfZDHF.mjs.map +1 -0
  49. package/dist/Drawer-DsnW2o0v.mjs +175 -0
  50. package/dist/Drawer-DsnW2o0v.mjs.map +1 -0
  51. package/dist/EmbeddedCard-DH8vQ3qN.mjs +859 -0
  52. package/dist/EmbeddedCard-DH8vQ3qN.mjs.map +1 -0
  53. package/dist/EmptyState-CJUDc3kD.mjs +85 -0
  54. package/dist/EmptyState-CJUDc3kD.mjs.map +1 -0
  55. package/dist/Error-Dtw6yxkf.mjs +85 -0
  56. package/dist/Error-Dtw6yxkf.mjs.map +1 -0
  57. package/dist/ErrorBoundary-CsdOcnJ9.mjs +24 -0
  58. package/dist/ErrorBoundary-CsdOcnJ9.mjs.map +1 -0
  59. package/dist/ExportCsvAction-C9KWH3Az.mjs +25 -0
  60. package/dist/ExportCsvAction-C9KWH3Az.mjs.map +1 -0
  61. package/dist/GlobalAccountFilter-BhzR5Vb1.mjs +230 -0
  62. package/dist/GlobalAccountFilter-BhzR5Vb1.mjs.map +1 -0
  63. package/dist/GlobalCopyApi-wcnDUzMV.mjs +129 -0
  64. package/dist/GlobalCopyApi-wcnDUzMV.mjs.map +1 -0
  65. package/dist/GoalsUtil-C9EnLWvC.mjs +108 -0
  66. package/dist/GoalsUtil-C9EnLWvC.mjs.map +1 -0
  67. package/dist/HeaderCell-P8w6CmfO.mjs +7 -0
  68. package/dist/HeaderCell-P8w6CmfO.mjs.map +1 -0
  69. package/dist/Help-CkQTjORd.mjs +300 -0
  70. package/dist/Help-CkQTjORd.mjs.map +1 -0
  71. package/dist/Help-aERwhajy.mjs +3210 -0
  72. package/dist/Help-aERwhajy.mjs.map +1 -0
  73. package/dist/IconBacking-DgT8DCeh.mjs +40 -0
  74. package/dist/IconBacking-DgT8DCeh.mjs.map +1 -0
  75. package/dist/InformationTooltip-4su8bn1e.mjs +42 -0
  76. package/dist/InformationTooltip-4su8bn1e.mjs.map +1 -0
  77. package/dist/InvestmentUtil-BItV7uEs.mjs +135 -0
  78. package/dist/InvestmentUtil-BItV7uEs.mjs.map +1 -0
  79. package/dist/LineChart-CUfiH86G.mjs +613 -0
  80. package/dist/LineChart-CUfiH86G.mjs.map +1 -0
  81. package/dist/ListItemAction-BqUCLj_w.mjs +70 -0
  82. package/dist/ListItemAction-BqUCLj_w.mjs.map +1 -0
  83. package/dist/ListItemRow-kH1rn8Xu.mjs +68 -0
  84. package/dist/ListItemRow-kH1rn8Xu.mjs.map +1 -0
  85. package/dist/ListItemWrapper-DRse79Iu.mjs +44 -0
  86. package/dist/ListItemWrapper-DRse79Iu.mjs.map +1 -0
  87. package/dist/Loader-CxeBwuPG.mjs +22 -0
  88. package/dist/Loader-CxeBwuPG.mjs.map +1 -0
  89. package/dist/Localization-DnoVyBNK.mjs +39 -0
  90. package/dist/Localization-DnoVyBNK.mjs.map +1 -0
  91. package/dist/ManageIncome-Be9WHv-s.mjs +906 -0
  92. package/dist/ManageIncome-Be9WHv-s.mjs.map +1 -0
  93. package/dist/MicroWidgetContainer-B2NnKBgW.mjs +46 -0
  94. package/dist/MicroWidgetContainer-B2NnKBgW.mjs.map +1 -0
  95. package/dist/MiniWidgetContainer-Bmv_WeUd.mjs +67 -0
  96. package/dist/MiniWidgetContainer-Bmv_WeUd.mjs.map +1 -0
  97. package/dist/NetWorthUtils-Dj7CgAg2.mjs +96 -0
  98. package/dist/NetWorthUtils-Dj7CgAg2.mjs.map +1 -0
  99. package/dist/Notification-DTNYSd8P.mjs +8 -0
  100. package/dist/Notification-DTNYSd8P.mjs.map +1 -0
  101. package/dist/NotificationSettings-CW7okUrk.mjs +678 -0
  102. package/dist/NotificationSettings-CW7okUrk.mjs.map +1 -0
  103. package/dist/NotificationUtils-BRGFTePr.mjs +24 -0
  104. package/dist/NotificationUtils-BRGFTePr.mjs.map +1 -0
  105. package/dist/NumberFormatting--XMeeBfr.mjs +50 -0
  106. package/dist/NumberFormatting--XMeeBfr.mjs.map +1 -0
  107. package/dist/OriginalBalanceAction-YrvxBYAl.mjs +115 -0
  108. package/dist/OriginalBalanceAction-YrvxBYAl.mjs.map +1 -0
  109. package/dist/RecurringSettings-kRqAViNn.mjs +89 -0
  110. package/dist/RecurringSettings-kRqAViNn.mjs.map +1 -0
  111. package/dist/RecurringTransactionsUtil-CHWmqvW5.mjs +299 -0
  112. package/dist/RecurringTransactionsUtil-CHWmqvW5.mjs.map +1 -0
  113. package/dist/ResponsiveButton-CC9F_Ezk.mjs +46 -0
  114. package/dist/ResponsiveButton-CC9F_Ezk.mjs.map +1 -0
  115. package/dist/SearchBox-Cpgu_gdO.mjs +51 -0
  116. package/dist/SearchBox-Cpgu_gdO.mjs.map +1 -0
  117. package/dist/Select-CSpkK5cR.mjs +62 -0
  118. package/dist/Select-CSpkK5cR.mjs.map +1 -0
  119. package/dist/SelectionBox-B4xELRgp.mjs +49 -0
  120. package/dist/SelectionBox-B4xELRgp.mjs.map +1 -0
  121. package/dist/SingleSegmentDonut-7Uy6VEld.mjs +70 -0
  122. package/dist/SingleSegmentDonut-7Uy6VEld.mjs.map +1 -0
  123. package/dist/Sizes-DISGrlUg.mjs +7 -0
  124. package/dist/Sizes-DISGrlUg.mjs.map +1 -0
  125. package/dist/SkeletonLoader-BaNboJjD.mjs +39 -0
  126. package/dist/SkeletonLoader-BaNboJjD.mjs.map +1 -0
  127. package/dist/SpendingData-Fii_xATx.mjs +54 -0
  128. package/dist/SpendingData-Fii_xATx.mjs.map +1 -0
  129. package/dist/SpendingLegend-CxvNOg3c.mjs +204 -0
  130. package/dist/SpendingLegend-CxvNOg3c.mjs.map +1 -0
  131. package/dist/StatusBar-CPfSXe80.mjs +31 -0
  132. package/dist/StatusBar-CPfSXe80.mjs.map +1 -0
  133. package/dist/TabContentContainer-B0eYJP5p.mjs +49 -0
  134. package/dist/TabContentContainer-B0eYJP5p.mjs.map +1 -0
  135. package/dist/ToggleListItem-Dl1lXNwj.mjs +92 -0
  136. package/dist/ToggleListItem-Dl1lXNwj.mjs.map +1 -0
  137. package/dist/TransactionDetails-roZ5xLq8.mjs +1708 -0
  138. package/dist/TransactionDetails-roZ5xLq8.mjs.map +1 -0
  139. package/dist/TransactionUtils-BphBJBbU.mjs +235 -0
  140. package/dist/TransactionUtils-BphBJBbU.mjs.map +1 -0
  141. package/dist/TrendsUtil-D9z3kIj_.mjs +70 -0
  142. package/dist/TrendsUtil-D9z3kIj_.mjs.map +1 -0
  143. package/dist/UserStore-BjnNCO5a.mjs +3121 -0
  144. package/dist/UserStore-BjnNCO5a.mjs.map +1 -0
  145. package/dist/ViewMoreMicroCard-fnwE0hqd.mjs +1280 -0
  146. package/dist/ViewMoreMicroCard-fnwE0hqd.mjs.map +1 -0
  147. package/dist/WidgetContainer-DJnp6t6c.mjs +483 -0
  148. package/dist/WidgetContainer-DJnp6t6c.mjs.map +1 -0
  149. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsDrawer.d.ts +6 -0
  150. package/dist/accounts/index.d.ts +1 -0
  151. package/dist/accounts/index.es.js +784 -12
  152. package/dist/accounts/index.es.js.map +1 -0
  153. package/dist/analytics/index.es.js +140 -155
  154. package/dist/analytics/index.es.js.map +1 -0
  155. package/dist/budgets/index.es.js +1267 -1317
  156. package/dist/budgets/index.es.js.map +1 -0
  157. package/dist/cashflow/context/hooks.d.ts +7 -6
  158. package/dist/cashflow/index.es.js +944 -1076
  159. package/dist/cashflow/index.es.js.map +1 -0
  160. package/dist/categories/index.es.js +5 -4
  161. package/dist/categories/index.es.js.map +1 -0
  162. package/dist/common/components/DataRow.d.ts +1 -0
  163. package/dist/common/components/ListItemWrapper.d.ts +2 -1
  164. package/dist/common/constants/Analytics.d.ts +3 -0
  165. package/dist/common/index.es.js +310 -101
  166. package/dist/common/index.es.js.map +1 -0
  167. package/dist/core/index.es.js +105 -80
  168. package/dist/core/index.es.js.map +1 -0
  169. package/dist/core/stores/CashflowStore.d.ts +8 -7
  170. package/dist/core/stores/RecurringTransactionsStore.d.ts +53 -1
  171. package/dist/core/stores/TransactionStore.d.ts +1 -0
  172. package/dist/core/types/localization/RecurringCopy.d.ts +14 -1
  173. package/dist/core/types/localization/SpendingCopy.d.ts +1 -0
  174. package/dist/core/utils/AccountUtils.d.ts +8 -0
  175. package/dist/core/utils/DateUtil.d.ts +2 -0
  176. package/dist/core/utils/RecurringTransactionsUtil.d.ts +2 -1
  177. package/dist/dashboard/index.es.js +142 -185
  178. package/dist/dashboard/index.es.js.map +1 -0
  179. package/dist/debts/index.es.js +1273 -1384
  180. package/dist/debts/index.es.js.map +1 -0
  181. package/dist/finstrong/index.es.js +3473 -3367
  182. package/dist/finstrong/index.es.js.map +1 -0
  183. package/dist/goals/index.es.js +984 -1103
  184. package/dist/goals/index.es.js.map +1 -0
  185. package/dist/help/index.es.js +26 -3
  186. package/dist/help/index.es.js.map +1 -0
  187. package/dist/hooks-97sNJ_lf.mjs +78 -0
  188. package/dist/hooks-97sNJ_lf.mjs.map +1 -0
  189. package/dist/insights/components/insights/WeeklyNoSpendDays/BubbleWeek.d.ts +4 -1
  190. package/dist/insights/components/insights/WeeklyNoSpendDays/WeeklyNoSpendDays.d.ts +4 -2
  191. package/dist/insights/index.es.js +4871 -93
  192. package/dist/insights/index.es.js.map +1 -0
  193. package/dist/investments/index.es.js +1523 -1533
  194. package/dist/investments/index.es.js.map +1 -0
  195. package/dist/merchants/index.es.js +65 -75
  196. package/dist/merchants/index.es.js.map +1 -0
  197. package/dist/microinsights/index.es.js +826 -15
  198. package/dist/microinsights/index.es.js.map +1 -0
  199. package/dist/networth/index.es.js +504 -550
  200. package/dist/networth/index.es.js.map +1 -0
  201. package/dist/notifications/index.es.js +162 -169
  202. package/dist/notifications/index.es.js.map +1 -0
  203. package/dist/recurringtransactions/components/RecurringTransactionDetails.d.ts +3 -2
  204. package/dist/recurringtransactions/components/RecurringTransactionDetailsDrawer.d.ts +3 -0
  205. package/dist/recurringtransactions/components/RecurringTransactionList.d.ts +11 -0
  206. package/dist/recurringtransactions/components/UpcomingRecurrenceCard.d.ts +8 -0
  207. package/dist/recurringtransactions/components/actions/LinkTransactionDrawer.d.ts +10 -0
  208. package/dist/recurringtransactions/components/actions/MarkAsPaidDialog.d.ts +7 -0
  209. package/dist/recurringtransactions/components/actions/MarkAsUnpaidDialog.d.ts +7 -0
  210. package/dist/recurringtransactions/index.es.js +1012 -10
  211. package/dist/recurringtransactions/index.es.js.map +1 -0
  212. package/dist/settings/index.es.js +892 -13
  213. package/dist/settings/index.es.js.map +1 -0
  214. package/dist/spending/index.es.js +457 -400
  215. package/dist/spending/index.es.js.map +1 -0
  216. package/dist/transactions/components/shared/transactionlist/TransactionRow.d.ts +1 -0
  217. package/dist/transactions/index.es.js +604 -10
  218. package/dist/transactions/index.es.js.map +1 -0
  219. package/dist/trends/index.es.js +1408 -1268
  220. package/dist/trends/index.es.js.map +1 -0
  221. package/dist/useAccountDisplayName-BsiXA0qf.mjs +24 -0
  222. package/dist/useAccountDisplayName-BsiXA0qf.mjs.map +1 -0
  223. package/dist/useAriaLive-MkYebyUR.mjs +36 -0
  224. package/dist/useAriaLive-MkYebyUR.mjs.map +1 -0
  225. package/dist/useDimensions-CeDR9V8N.mjs +37 -0
  226. package/dist/useDimensions-CeDR9V8N.mjs.map +1 -0
  227. package/dist/useInsightsEnabled-D5Sdm0TJ.mjs +12 -0
  228. package/dist/useInsightsEnabled-D5Sdm0TJ.mjs.map +1 -0
  229. package/dist/useScreenSize-mWpmnh5w.mjs +37 -0
  230. package/dist/useScreenSize-mWpmnh5w.mjs.map +1 -0
  231. package/dist/useWidgetLoadTimer-B0tB-yzL.mjs +20 -0
  232. package/dist/useWidgetLoadTimer-B0tB-yzL.mjs.map +1 -0
  233. package/package.json +30 -30
  234. package/dist/Analytics-BKzTPees.mjs +0 -61
  235. package/dist/GlobalCopyApi-BeXzaDH9.mjs +0 -487
  236. package/dist/HeaderCell-EhCUSjvj.mjs +0 -10
  237. package/dist/Loader-BlVzRtUd.mjs +0 -73
  238. package/dist/MiniWidgetContainer-COwnjfy7.mjs +0 -110
  239. package/dist/OriginalBalanceAction-sbiqaxok.mjs +0 -110
  240. package/dist/SpendingLegend-D15ixlQ1.mjs +0 -222
  241. package/dist/accounts-DkyAiLpg.mjs +0 -15632
  242. package/dist/core-BexP5oiV.mjs +0 -4047
  243. package/dist/help-CctDYrAH.mjs +0 -2308
  244. package/dist/insights/components/insights/P2pCategorization/_tests_/P2pCategorizationMultipleTransaction.test.d.ts +0 -0
  245. package/dist/insights/components/insights/P2pCategorization/_tests_/P2pCategorizationSingleTransaction.test.d.ts +0 -0
  246. package/dist/microinsights-CRf3ChsJ.mjs +0 -1814
  247. package/dist/recurringtransactions-gbJ_NA8u.mjs +0 -1564
  248. package/dist/settings-ZMHe439l.mjs +0 -1526
@@ -0,0 +1,58 @@
1
+ import { jsx as r, jsxs as E } from "react/jsx-runtime";
2
+ import s from "react";
3
+ import { observer as _ } from "mobx-react-lite";
4
+ import { useTheme as g } from "@mui/material/styles";
5
+ import { ConnectWidget as x } from "@mxenabled/web-widget-sdk";
6
+ import { b as a, a as c, M as i } from "./Connect-BH0Pt6zc.mjs";
7
+ import { c as D, d as L, u as w } from "./hooks-97sNJ_lf.mjs";
8
+ import { D as y } from "./Drawer-DsnW2o0v.mjs";
9
+ const I = ({
10
+ loadWidgetProps: l,
11
+ onClose: u,
12
+ showConnectWidget: o,
13
+ title: m
14
+ }) => {
15
+ let n;
16
+ const { refreshAccounts: f } = D(), { loadWidget: d } = L(), { connect: p } = w(), [C, e] = s.useState(!1), [h, t] = s.useState(!1), {
17
+ palette: { mode: S }
18
+ } = g();
19
+ return s.useEffect(() => (o ? (e(!0), d({ mode: S, ...l }).then((b) => {
20
+ n = new x({
21
+ container: `#${a}`,
22
+ style: {
23
+ border: "none",
24
+ height: "calc(100% - 62px)",
25
+ maxWidth: "450px",
26
+ position: "absolute",
27
+ width: "100%"
28
+ },
29
+ url: b.url,
30
+ onSsoUrlLoadError: () => {
31
+ e(!1), t(!0);
32
+ },
33
+ onLoad: () => {
34
+ e(!1), t(!1);
35
+ }
36
+ });
37
+ })) : (e(!1), t(!1)), () => {
38
+ n?.unmount();
39
+ }), [o]), /* @__PURE__ */ r(
40
+ y,
41
+ {
42
+ ariaLabelClose: p.close_manage_connection_aria,
43
+ isOpen: o,
44
+ onClose: () => {
45
+ u(), f();
46
+ },
47
+ title: m,
48
+ children: /* @__PURE__ */ E("div", { id: a, children: [
49
+ h && /* @__PURE__ */ r(c, { status: i.Error }),
50
+ C && /* @__PURE__ */ r(c, { status: i.Loading })
51
+ ] })
52
+ }
53
+ );
54
+ }, O = _(I);
55
+ export {
56
+ O as C
57
+ };
58
+ //# sourceMappingURL=ConnectDrawer-CW4LA3H3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectDrawer-CW4LA3H3.mjs","sources":["../src/common/components/ConnectDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { useTheme } from '@mui/material/styles'\nimport { ConnectWidget } from '@mxenabled/web-widget-sdk'\n\nimport ConnectStatus from '../../accounts/components/ConnectStatus'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\nimport { MemberConnectionStatus } from '../../accounts/constants/Accounts'\nimport { CONNECT_WIDGET_ID } from '../constants/Connect'\nimport { useConnectStore } from '../context/hooks'\n\ninterface ConnectDrawerProps {\n loadWidgetProps?: object\n onClose: () => void\n showConnectWidget: boolean\n title: string\n}\n\nconst ConnectDrawer: React.FC<ConnectDrawerProps> = ({\n loadWidgetProps,\n onClose,\n showConnectWidget,\n title,\n}) => {\n let connectWidget: ConnectWidget\n\n const { refreshAccounts } = useAccountStore()\n const { loadWidget } = useConnectStore()\n const { connect: connectCopy } = useGlobalCopyStore()\n const [isLoading, setIsLoading] = React.useState(false)\n const [hasError, setHasError] = React.useState(false)\n const {\n palette: { mode },\n } = useTheme()\n\n React.useEffect(() => {\n if (showConnectWidget) {\n setIsLoading(true)\n loadWidget({ mode: mode, ...loadWidgetProps }).then((res) => {\n connectWidget = new ConnectWidget({\n container: `#${CONNECT_WIDGET_ID}`,\n style: {\n border: 'none',\n height: 'calc(100% - 62px)',\n maxWidth: '450px',\n position: 'absolute',\n width: '100%',\n },\n url: res.url,\n onSsoUrlLoadError: () => {\n setIsLoading(false)\n setHasError(true)\n },\n onLoad: () => {\n setIsLoading(false)\n setHasError(false)\n },\n })\n })\n } else {\n setIsLoading(false)\n setHasError(false)\n }\n\n return () => {\n connectWidget?.unmount()\n }\n }, [showConnectWidget])\n\n return (\n <Drawer\n ariaLabelClose={connectCopy.close_manage_connection_aria}\n isOpen={showConnectWidget}\n onClose={() => {\n onClose()\n refreshAccounts()\n }}\n title={title}\n >\n <div id={CONNECT_WIDGET_ID}>\n {hasError && <ConnectStatus status={MemberConnectionStatus.Error} />}\n {isLoading && <ConnectStatus status={MemberConnectionStatus.Loading} />}\n </div>\n </Drawer>\n )\n}\n\nexport default observer(ConnectDrawer)\n"],"names":["ConnectDrawer","loadWidgetProps","onClose","showConnectWidget","title","connectWidget","refreshAccounts","useAccountStore","loadWidget","useConnectStore","connectCopy","useGlobalCopyStore","isLoading","setIsLoading","React","hasError","setHasError","mode","useTheme","res","ConnectWidget","CONNECT_WIDGET_ID","jsx","Drawer","jsxs","ConnectStatus","MemberConnectionStatus","ConnectDrawer$1","observer"],"mappings":";;;;;;;;AAkBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,MAAIC;AAEJ,QAAM,EAAE,iBAAAC,EAAA,IAAoBC,EAAA,GACtB,EAAE,YAAAC,EAAA,IAAeC,EAAA,GACjB,EAAE,SAASC,EAAA,IAAgBC,EAAA,GAC3B,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAAS,EAAK,GAChD,CAACC,GAAUC,CAAW,IAAIF,EAAM,SAAS,EAAK,GAC9C;AAAA,IACJ,SAAS,EAAE,MAAAG,EAAA;AAAA,EAAK,IACdC,EAAA;AAEJJ,SAAAA,EAAM,UAAU,OACVX,KACFU,EAAa,EAAI,GACjBL,EAAW,EAAE,MAAAS,GAAY,GAAGhB,EAAA,CAAiB,EAAE,KAAK,CAACkB,MAAQ;AAC3D,IAAAd,IAAgB,IAAIe,EAAc;AAAA,MAChC,WAAW,IAAIC,CAAiB;AAAA,MAChC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAET,KAAKF,EAAI;AAAA,MACT,mBAAmB,MAAM;AACvB,QAAAN,EAAa,EAAK,GAClBG,EAAY,EAAI;AAAA,MAClB;AAAA,MACA,QAAQ,MAAM;AACZ,QAAAH,EAAa,EAAK,GAClBG,EAAY,EAAK;AAAA,MACnB;AAAA,IAAA,CACD;AAAA,EACH,CAAC,MAEDH,EAAa,EAAK,GAClBG,EAAY,EAAK,IAGZ,MAAM;AACX,IAAAX,GAAe,QAAA;AAAA,EACjB,IACC,CAACF,CAAiB,CAAC,GAGpB,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBb,EAAY;AAAA,MAC5B,QAAQP;AAAA,MACR,SAAS,MAAM;AACb,QAAAD,EAAA,GACAI,EAAA;AAAA,MACF;AAAA,MACA,OAAAF;AAAA,MAEA,UAAA,gBAAAoB,EAAC,OAAA,EAAI,IAAIH,GACN,UAAA;AAAA,QAAAN,KAAY,gBAAAO,EAACG,GAAA,EAAc,QAAQC,EAAuB,OAAO;AAAA,QACjEd,KAAa,gBAAAU,EAACG,GAAA,EAAc,QAAQC,EAAuB,QAAA,CAAS;AAAA,MAAA,EAAA,CACvE;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAC,IAAeC,EAAS5B,CAAa;"}
@@ -0,0 +1,54 @@
1
+ import { jsx as r, jsxs as g } from "react/jsx-runtime";
2
+ import s from "react";
3
+ import { observer as E } from "mobx-react-lite";
4
+ import { useTheme as _ } from "@mui/material/styles";
5
+ import { ConnectionsWidget as b } from "@mxenabled/web-widget-sdk";
6
+ import { C as a, a as c, M as i } from "./Connect-BH0Pt6zc.mjs";
7
+ import { c as D, d as L, u as w } from "./hooks-97sNJ_lf.mjs";
8
+ import { D as x } from "./Drawer-DsnW2o0v.mjs";
9
+ const I = ({
10
+ onClose: l,
11
+ showConnectionsWidget: o,
12
+ title: u
13
+ }) => {
14
+ let n;
15
+ const { refreshAccounts: m } = D(), { loadWidget: f } = L(), { connect: d } = w(), p = _(), [C, e] = s.useState(!1), [S, t] = s.useState(!1);
16
+ return s.useEffect(() => (o ? (e(!0), f({ widget: "connections_widget", mode: p.palette.mode }).then((h) => {
17
+ n = new b({
18
+ container: `#${a}`,
19
+ style: {
20
+ border: "none",
21
+ height: "calc(100% - 62px)",
22
+ width: "100%",
23
+ position: "absolute"
24
+ },
25
+ url: h.url,
26
+ onSsoUrlLoadError: () => {
27
+ e(!1), t(!0);
28
+ },
29
+ onLoad: () => {
30
+ e(!1), t(!1);
31
+ }
32
+ });
33
+ })) : (e(!1), t(!1)), () => {
34
+ n?.unmount();
35
+ }), [o]), /* @__PURE__ */ r(
36
+ x,
37
+ {
38
+ ariaLabelClose: d.close_connections_aria,
39
+ isOpen: o,
40
+ onClose: () => {
41
+ l(), m();
42
+ },
43
+ title: u,
44
+ children: /* @__PURE__ */ g("div", { id: a, children: [
45
+ S && /* @__PURE__ */ r(c, { status: i.Error }),
46
+ C && /* @__PURE__ */ r(c, { status: i.Loading })
47
+ ] })
48
+ }
49
+ );
50
+ }, M = E(I);
51
+ export {
52
+ M as C
53
+ };
54
+ //# sourceMappingURL=ConnectionsDrawer-CZU9ku-k.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionsDrawer-CZU9ku-k.mjs","sources":["../src/accounts/components/ConnectionsDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport { ConnectionsWidget } from '@mxenabled/web-widget-sdk'\n\nimport ConnectStatus from './ConnectStatus'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\nimport { MemberConnectionStatus } from '../constants/Accounts'\nimport { CONNECTIONS_WIDGET_ID } from '../../common/constants/Connect'\nimport { useConnectStore } from '../../common/context/hooks'\n\ninterface ConnectionsDrawerProps {\n onClose: () => void\n showConnectionsWidget: boolean\n title: string\n}\n\nconst ConnectionsDrawer: React.FC<ConnectionsDrawerProps> = ({\n onClose,\n showConnectionsWidget,\n title,\n}) => {\n let connectionsWidget: ConnectionsWidget\n const { refreshAccounts } = useAccountStore()\n const { loadWidget } = useConnectStore()\n const { connect: connectCopy } = useGlobalCopyStore()\n const theme = useTheme()\n\n const [isLoading, setIsLoading] = React.useState(false)\n const [hasError, setHasError] = React.useState(false)\n\n React.useEffect(() => {\n if (showConnectionsWidget) {\n setIsLoading(true)\n loadWidget({ widget: 'connections_widget', mode: theme.palette.mode }).then((res) => {\n connectionsWidget = new ConnectionsWidget({\n container: `#${CONNECTIONS_WIDGET_ID}`,\n style: {\n border: 'none',\n height: 'calc(100% - 62px)',\n width: '100%',\n position: 'absolute',\n },\n url: res.url,\n onSsoUrlLoadError: () => {\n setIsLoading(false)\n setHasError(true)\n },\n onLoad: () => {\n setIsLoading(false)\n setHasError(false)\n },\n })\n })\n } else {\n setIsLoading(false)\n setHasError(false)\n }\n\n return () => {\n connectionsWidget?.unmount()\n }\n }, [showConnectionsWidget])\n\n return (\n <Drawer\n ariaLabelClose={connectCopy.close_connections_aria}\n isOpen={showConnectionsWidget}\n onClose={() => {\n onClose()\n refreshAccounts()\n }}\n title={title}\n >\n <div id={CONNECTIONS_WIDGET_ID}>\n {hasError && <ConnectStatus status={MemberConnectionStatus.Error} />}\n {isLoading && <ConnectStatus status={MemberConnectionStatus.Loading} />}\n </div>\n </Drawer>\n )\n}\n\nexport default observer(ConnectionsDrawer)\n"],"names":["ConnectionsDrawer","onClose","showConnectionsWidget","title","connectionsWidget","refreshAccounts","useAccountStore","loadWidget","useConnectStore","connectCopy","useGlobalCopyStore","theme","useTheme","isLoading","setIsLoading","React","hasError","setHasError","res","ConnectionsWidget","CONNECTIONS_WIDGET_ID","jsx","Drawer","jsxs","ConnectStatus","MemberConnectionStatus","ConnectionsDrawer$1","observer"],"mappings":";;;;;;;;AAmBA,MAAMA,IAAsD,CAAC;AAAA,EAC3D,SAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,MAAIC;AACJ,QAAM,EAAE,iBAAAC,EAAA,IAAoBC,EAAA,GACtB,EAAE,YAAAC,EAAA,IAAeC,EAAA,GACjB,EAAE,SAASC,EAAA,IAAgBC,EAAA,GAC3BC,IAAQC,EAAA,GAER,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAAS,EAAK,GAChD,CAACC,GAAUC,CAAW,IAAIF,EAAM,SAAS,EAAK;AAEpDA,SAAAA,EAAM,UAAU,OACVb,KACFY,EAAa,EAAI,GACjBP,EAAW,EAAE,QAAQ,sBAAsB,MAAMI,EAAM,QAAQ,KAAA,CAAM,EAAE,KAAK,CAACO,MAAQ;AACnF,IAAAd,IAAoB,IAAIe,EAAkB;AAAA,MACxC,WAAW,IAAIC,CAAqB;AAAA,MACpC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAKF,EAAI;AAAA,MACT,mBAAmB,MAAM;AACvB,QAAAJ,EAAa,EAAK,GAClBG,EAAY,EAAI;AAAA,MAClB;AAAA,MACA,QAAQ,MAAM;AACZ,QAAAH,EAAa,EAAK,GAClBG,EAAY,EAAK;AAAA,MACnB;AAAA,IAAA,CACD;AAAA,EACH,CAAC,MAEDH,EAAa,EAAK,GAClBG,EAAY,EAAK,IAGZ,MAAM;AACX,IAAAb,GAAmB,QAAA;AAAA,EACrB,IACC,CAACF,CAAqB,CAAC,GAGxB,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBb,EAAY;AAAA,MAC5B,QAAQP;AAAA,MACR,SAAS,MAAM;AACb,QAAAD,EAAA,GACAI,EAAA;AAAA,MACF;AAAA,MACA,OAAAF;AAAA,MAEA,UAAA,gBAAAoB,EAAC,OAAA,EAAI,IAAIH,GACN,UAAA;AAAA,QAAAJ,KAAY,gBAAAK,EAACG,GAAA,EAAc,QAAQC,EAAuB,OAAO;AAAA,QACjEZ,KAAa,gBAAAQ,EAACG,GAAA,EAAc,QAAQC,EAAuB,QAAA,CAAS;AAAA,MAAA,EAAA,CACvE;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAC,IAAeC,EAAS3B,CAAiB;"}
@@ -0,0 +1,374 @@
1
+ import { jsxs as p, jsx as n } from "react/jsx-runtime";
2
+ import b from "react";
3
+ import { css as A } from "@mxenabled/cssinjs";
4
+ import { addDays as O } from "date-fns/addDays";
5
+ import { addMonths as _ } from "date-fns/addMonths";
6
+ import { eachDayOfInterval as H } from "date-fns/eachDayOfInterval";
7
+ import { eachWeekOfInterval as L } from "date-fns/eachWeekOfInterval";
8
+ import { endOfMonth as z } from "date-fns/endOfMonth";
9
+ import { format as T } from "date-fns/format";
10
+ import { isBefore as F } from "date-fns/isBefore";
11
+ import { isSameMonth as G } from "date-fns/isSameMonth";
12
+ import { startOfMonth as Y } from "date-fns/startOfMonth";
13
+ import { startOfToday as $ } from "date-fns/startOfToday";
14
+ import { subMonths as Z } from "date-fns/subMonths";
15
+ import C from "@mui/material/Button";
16
+ import q from "@mui/material/Paper";
17
+ import { H2 as D, Text as W, H3 as J, P as K } from "@mxenabled/mxui";
18
+ import { ChevronLeft as Q, ChevronRight as U, Icon as V } from "@mxenabled/mx-icons";
19
+ import { f as X, D as P } from "./DateFormats-HudZ3Bjs.mjs";
20
+ import { isSameDay as d } from "date-fns/isSameDay";
21
+ import { isWithinInterval as tt } from "date-fns/isWithinInterval";
22
+ import { useTheme as nt } from "@mui/material/styles";
23
+ import et from "@mui/material/Dialog";
24
+ import ot from "@mui/material/DialogActions";
25
+ import rt from "@mui/material/DialogContent";
26
+ import at from "@mui/material/IconButton";
27
+ import it from "@mui/material/InputAdornment";
28
+ import j from "@mui/material/Stack";
29
+ import lt from "@mui/material/TextField";
30
+ import { u as mt } from "./useScreenSize-mWpmnh5w.mjs";
31
+ const ct = ({ copy: t, date: r, onNextClick: o, onPreviousClick: l }) => {
32
+ const c = st();
33
+ return /* @__PURE__ */ p("div", { className: `mx-cmn-calendar-header ${c}`, children: [
34
+ /* @__PURE__ */ n(D, { className: "mx-cmn-calendar-header-title", variant: "h3", children: X(r, P.MONTH_YEAR) }),
35
+ /* @__PURE__ */ p("div", { className: "mx-cmn-calendar-header-button-container", children: [
36
+ /* @__PURE__ */ n(C, { "aria-label": t.prevAria, onClick: l, children: /* @__PURE__ */ n(Q, { size: 24 }) }),
37
+ /* @__PURE__ */ n(C, { "aria-label": t.nextAria, onClick: o, children: /* @__PURE__ */ n(U, { size: 24 }) })
38
+ ] })
39
+ ] });
40
+ }, st = () => A({
41
+ alignItems: "center",
42
+ display: "flex",
43
+ marginBottom: 16,
44
+ marginRight: -16,
45
+ paddingLeft: 8,
46
+ "& .mx-cmn-calendar-header-title": {
47
+ flexGrow: 1
48
+ },
49
+ "& .mx-cmn-calendar-header-button-container": {
50
+ display: "flex",
51
+ gap: 4
52
+ }
53
+ }), dt = ({ beginDate: t, date: r, endDate: o, isInMonth: l, onClick: c }) => {
54
+ const h = nt(), x = ht(h), a = t && o && tt(r, { start: t, end: o }) && !d(r, t) && !d(r, o), f = t && o && d(t, r) && !d(t, o), m = o && t && d(o, r) && !d(t, o), i = t && d(t, r) || o && d(o, r), u = d(r, $());
55
+ return /* @__PURE__ */ n(
56
+ "div",
57
+ {
58
+ className: `
59
+ mx-cmn-calendar-day
60
+ ${x}
61
+ ${l ? "" : "mx-cmn-out-of-month"}
62
+ ${a ? "mx-cmn-date-interval" : ""}
63
+ `,
64
+ children: /* @__PURE__ */ n(
65
+ C,
66
+ {
67
+ className: `
68
+ mx-cmn-calendar-day-button
69
+ ${f ? "mx-cmn-range-start" : ""}
70
+ ${m ? "mx-cmn-range-end" : ""}
71
+ `,
72
+ color: i ? "primary" : "secondary",
73
+ onClick: () => c(r),
74
+ variant: i ? "contained" : "text",
75
+ children: /* @__PURE__ */ n(
76
+ W,
77
+ {
78
+ className: `
79
+ mx-cmn-calendar-day-text
80
+ ${i ? "mx-cmn-day-selected" : ""}
81
+ ${u ? "mx-cmn-today" : ""}`,
82
+ variant: "body2",
83
+ children: T(r, "d")
84
+ }
85
+ )
86
+ }
87
+ )
88
+ }
89
+ );
90
+ }, ht = (t) => A({
91
+ height: w,
92
+ width: w,
93
+ display: "flex",
94
+ justifyContent: "center",
95
+ "&.mx-cmn-out-of-month": {
96
+ backgroundColor: t.palette.background.default
97
+ },
98
+ "&.mx-cmn-date-interval": {
99
+ backgroundColor: t.palette.secondary.light
100
+ },
101
+ "& .MuiButton-root": {
102
+ maxWidth: 44,
103
+ minWidth: 44,
104
+ height: 44,
105
+ padding: 0,
106
+ width: 44,
107
+ "&.mx-cmn-range-start": {
108
+ borderTopRightRadius: 0,
109
+ borderBottomRightRadius: 0,
110
+ "&:focus": {
111
+ boxShadow: "none"
112
+ }
113
+ },
114
+ "&.mx-cmn-range-end": {
115
+ borderTopLeftRadius: 0,
116
+ borderBottomLeftRadius: 0,
117
+ "&:focus": {
118
+ boxShadow: "none"
119
+ }
120
+ }
121
+ },
122
+ "& .mx-cmn-calendar-day-text": {
123
+ "&.mx-cmn-day-selected": {
124
+ color: t.palette.primary,
125
+ "&.mx-cmn-day-selected": {
126
+ borderColor: t.palette.common.white
127
+ }
128
+ },
129
+ "&.mx-cmn-today": {
130
+ borderBottom: `solid 2px ${t.palette.primary.main}`,
131
+ marginBottom: -6,
132
+ paddingBottom: 5
133
+ }
134
+ }
135
+ }), ft = 340, w = 44;
136
+ var pt = /* @__PURE__ */ ((t) => (t.None = "None", t.Single = "Single", t.Range = "Range", t))(pt || {});
137
+ const Dt = ({
138
+ copy: t,
139
+ beginDate: r = void 0,
140
+ endDate: o = void 0,
141
+ onDateSelected: l,
142
+ onRangeSelected: c,
143
+ selectionType: h = "Single"
144
+ /* Single */
145
+ }) => {
146
+ const x = xt(), [a, f] = b.useState($), [m, i] = b.useState(r), [u, s] = b.useState(o);
147
+ b.useEffect(() => {
148
+ i(r), s(o), r && f(r);
149
+ }, [r, o]);
150
+ const k = b.useMemo(() => {
151
+ const e = L({ start: Y(a), end: z(a) }), y = [];
152
+ for (let v = 0; v < e.length; v++) {
153
+ const N = e[v], B = H({ start: N, end: O(N, 6) }), E = [];
154
+ for (let R = 0; R < B.length; R++)
155
+ E.push(B[R]);
156
+ y.push(E);
157
+ }
158
+ return y;
159
+ }, [a]), S = (e) => {
160
+ if (h !== "None") {
161
+ if (h === "Single") {
162
+ i(e), l?.(e);
163
+ return;
164
+ }
165
+ !m || u ? (i(e), s(void 0)) : F(e, m) ? (s(m), i(e), c?.(e, m)) : (s(e), c?.(m, e));
166
+ }
167
+ }, I = () => {
168
+ const e = $();
169
+ f(e), h !== "None" && (i(e), h === "Single" ? l?.(e) : (s(e), c?.(e, e)));
170
+ }, M = () => {
171
+ f(_(a, 1));
172
+ }, g = () => {
173
+ f(Z(a, 1));
174
+ };
175
+ return /* @__PURE__ */ n("div", { className: `mx-cmn-calendar ${x}`, children: /* @__PURE__ */ p(q, { sx: { boxShadow: "none" }, children: [
176
+ /* @__PURE__ */ n(
177
+ ct,
178
+ {
179
+ copy: t,
180
+ date: a,
181
+ onNextClick: M,
182
+ onPreviousClick: g
183
+ }
184
+ ),
185
+ /* @__PURE__ */ n("div", { className: "mx-cmn-calendar-header-row", children: k[0].map((e, y) => /* @__PURE__ */ n("div", { className: "mx-cmn-calendar-header-cell", children: /* @__PURE__ */ n(W, { bold: !0, variant: "body2", children: T(e, "EEEEE") }) }, y)) }),
186
+ k.map((e, y) => /* @__PURE__ */ n("div", { className: "mx-cmn-calendar-week", children: e.map((v, N) => /* @__PURE__ */ n(
187
+ dt,
188
+ {
189
+ beginDate: m,
190
+ date: v,
191
+ endDate: u,
192
+ isInMonth: G(v, a),
193
+ onClick: S
194
+ },
195
+ N
196
+ )) }, `w-${y}`)),
197
+ /* @__PURE__ */ n("div", { className: "mx-cmn-calendar-today-container", children: /* @__PURE__ */ n(C, { onClick: I, size: "small", variant: "text", children: t.today }) })
198
+ ] }) });
199
+ }, xt = () => A({
200
+ width: ft,
201
+ "& .MuiPaper-root": {
202
+ paddingLeft: 24,
203
+ paddingRight: 24,
204
+ paddingTop: 4,
205
+ paddingBottom: 4
206
+ },
207
+ "& .mx-cmn-calendar-header-row": {
208
+ display: "flex",
209
+ justifyContent: "center",
210
+ textAlign: "center",
211
+ "& .mx-cmn-calendar-header-cell": {
212
+ height: w,
213
+ width: w,
214
+ minWidth: w,
215
+ "& .kmui-text": {
216
+ alignItems: "center",
217
+ display: "flex",
218
+ height: "100%",
219
+ justifyContent: "center",
220
+ width: "100%"
221
+ }
222
+ }
223
+ },
224
+ "& .mx-cmn-calendar-week": {
225
+ display: "flex",
226
+ justifyContent: "center",
227
+ textAlign: "center"
228
+ },
229
+ "& .mx-cmn-calendar-today-container": {
230
+ display: "block",
231
+ marginTop: 16,
232
+ textAlign: "center",
233
+ width: "100%",
234
+ "& > .MuiButton-root": {
235
+ display: "inline-block",
236
+ marginLeft: "auto",
237
+ marginRight: "auto"
238
+ }
239
+ }
240
+ }), Jt = ({
241
+ closeAriaLabel: t,
242
+ content: r,
243
+ inputLabel: o,
244
+ inputValue: l,
245
+ isOpen: c,
246
+ handleInputChange: h,
247
+ handleModalClose: x,
248
+ handlePrimaryAction: a,
249
+ handleSecondaryAction: f,
250
+ primaryColor: m = "primary",
251
+ primaryText: i,
252
+ secondaryColor: u = "primary",
253
+ secondaryText: s,
254
+ title: k
255
+ }) => {
256
+ const S = parseFloat(l ?? "0"), I = l !== "" && l !== "0" && !isNaN(S), { isSmallMobile: M } = mt();
257
+ return /* @__PURE__ */ n(
258
+ et,
259
+ {
260
+ "aria-label": k,
261
+ "aria-labelledby": "modal-title",
262
+ maxWidth: "xs",
263
+ onClose: x,
264
+ open: c,
265
+ role: "dialog",
266
+ sx: {
267
+ "& .MuiDialogContent-root": { p: 0 },
268
+ ...M && { "& .MuiDialog-paper": { minWidth: "100%" } }
269
+ },
270
+ children: /* @__PURE__ */ n(rt, { children: /* @__PURE__ */ p(
271
+ "form",
272
+ {
273
+ onSubmit: (g) => {
274
+ g.preventDefault(), a();
275
+ },
276
+ children: [
277
+ /* @__PURE__ */ p(
278
+ j,
279
+ {
280
+ sx: {
281
+ alignItems: "center",
282
+ flexDirection: "row",
283
+ justifyContent: "space-between",
284
+ pb: 12,
285
+ pl: 24,
286
+ position: "relative",
287
+ pr: 16,
288
+ pt: 24
289
+ },
290
+ children: [
291
+ /* @__PURE__ */ n(J, { id: "modal-title", children: k }),
292
+ /* @__PURE__ */ n(
293
+ at,
294
+ {
295
+ "aria-label": t,
296
+ onClick: x,
297
+ sx: { minHeight: 24, position: "absolute", right: 8, top: 18 },
298
+ children: /* @__PURE__ */ n(V, { name: "close", sx: { color: "action.active" } })
299
+ }
300
+ )
301
+ ]
302
+ }
303
+ ),
304
+ /* @__PURE__ */ p(j, { sx: { gap: 24, px: 24 }, children: [
305
+ /* @__PURE__ */ n(K, { variant: "subtitle1", children: r }),
306
+ o && /* @__PURE__ */ n(
307
+ lt,
308
+ {
309
+ autoFocus: !0,
310
+ inputMode: "decimal",
311
+ label: o,
312
+ onChange: ({ target: { value: g } }) => {
313
+ /^\d*\.?\d*$/.test(g) && h?.(g);
314
+ },
315
+ slotProps: {
316
+ input: {
317
+ startAdornment: /* @__PURE__ */ n(it, { position: "start", children: "$" })
318
+ },
319
+ htmlInput: {
320
+ "aria-label": o,
321
+ noValidate: !0,
322
+ pattern: "[0-9]*\\.?[0-9]*"
323
+ }
324
+ },
325
+ type: "text",
326
+ value: l
327
+ }
328
+ )
329
+ ] }),
330
+ /* @__PURE__ */ p(
331
+ ot,
332
+ {
333
+ sx: {
334
+ justifyContent: "flex-end",
335
+ gap: 16,
336
+ p: 24,
337
+ ">:not(style)~:not(style)": { ml: 0 }
338
+ },
339
+ children: [
340
+ s && /* @__PURE__ */ n(
341
+ C,
342
+ {
343
+ "aria-label": s,
344
+ color: u,
345
+ onClick: f,
346
+ children: s
347
+ }
348
+ ),
349
+ /* @__PURE__ */ n(
350
+ C,
351
+ {
352
+ "aria-label": i,
353
+ color: m,
354
+ disabled: o ? !I : !1,
355
+ onClick: a,
356
+ variant: "contained",
357
+ children: i
358
+ }
359
+ )
360
+ ]
361
+ }
362
+ )
363
+ ]
364
+ }
365
+ ) })
366
+ }
367
+ );
368
+ };
369
+ export {
370
+ Dt as C,
371
+ pt as a,
372
+ Jt as b
373
+ };
374
+ //# sourceMappingURL=CurrencyDialog-DumQCTPO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrencyDialog-DumQCTPO.mjs","sources":["../src/common/components/calendar/Header.tsx","../src/common/components/calendar/Day.tsx","../src/common/components/calendar/Calendar.tsx","../src/common/components/CurrencyDialog.tsx"],"sourcesContent":["import React from 'react'\nimport { css } from '@mxenabled/cssinjs'\n\nimport { ChevronLeft, ChevronRight } from '@mxenabled/mx-icons'\n\nimport Button from '@mui/material/Button'\n\nimport { H2 } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../../core/constants'\n\nimport type { CalendarCopy } from './Calendar'\n\ninterface HeaderProps {\n copy: CalendarCopy\n date: Date\n onNextClick: () => void\n onPreviousClick: () => void\n}\n\nconst Header: React.FC<HeaderProps> = ({ copy, date, onNextClick, onPreviousClick }) => {\n const styles = getStyles()\n\n return (\n <div className={`mx-cmn-calendar-header ${styles}`}>\n <H2 className=\"mx-cmn-calendar-header-title\" variant=\"h3\">\n {formatDate(date, DATE_FORMATS_INTL.MONTH_YEAR)}\n </H2>\n <div className=\"mx-cmn-calendar-header-button-container\">\n <Button aria-label={copy.prevAria} onClick={onPreviousClick}>\n <ChevronLeft size={24} />\n </Button>\n <Button aria-label={copy.nextAria} onClick={onNextClick}>\n <ChevronRight size={24} />\n </Button>\n </div>\n </div>\n )\n}\n\nconst getStyles = () =>\n css({\n alignItems: 'center',\n display: 'flex',\n marginBottom: 16,\n marginRight: -16,\n paddingLeft: 8,\n '& .mx-cmn-calendar-header-title': {\n flexGrow: 1,\n },\n '& .mx-cmn-calendar-header-button-container': {\n display: 'flex',\n gap: 4,\n },\n })\n\nexport default Header\n","import React from 'react'\nimport { css } from '@mxenabled/cssinjs'\nimport { format } from 'date-fns/format'\nimport { isSameDay } from 'date-fns/isSameDay'\nimport { isWithinInterval } from 'date-fns/isWithinInterval'\nimport { startOfToday } from 'date-fns/startOfToday'\n\nimport Button from '@mui/material/Button'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { DATE_SIZE } from './Calendar'\n\ninterface DayProps {\n beginDate: Date | undefined\n date: Date\n endDate: Date | undefined\n isInMonth: boolean\n onClick: (date: Date) => void\n}\n\nconst Day: React.FC<DayProps> = ({ beginDate, date, endDate, isInMonth, onClick }) => {\n const theme = useTheme()\n const styles = getStyles(theme)\n\n const isInRange =\n beginDate &&\n endDate &&\n isWithinInterval(date, { start: beginDate, end: endDate }) &&\n !isSameDay(date, beginDate) &&\n !isSameDay(date, endDate)\n\n const isRangeStart =\n beginDate && endDate && isSameDay(beginDate, date) && !isSameDay(beginDate, endDate)\n\n const isRangeEnd =\n endDate && beginDate && isSameDay(endDate, date) && !isSameDay(beginDate, endDate)\n\n const isSelected =\n (beginDate && isSameDay(beginDate, date)) || (endDate && isSameDay(endDate, date))\n\n const isToday = isSameDay(date, startOfToday())\n\n return (\n <div\n className={`\n mx-cmn-calendar-day\n ${styles}\n ${!isInMonth ? 'mx-cmn-out-of-month' : ''}\n ${isInRange ? 'mx-cmn-date-interval' : ''}\n `}\n >\n <Button\n className={`\n mx-cmn-calendar-day-button\n ${isRangeStart ? 'mx-cmn-range-start' : ''}\n ${isRangeEnd ? 'mx-cmn-range-end' : ''}\n `}\n color={isSelected ? 'primary' : 'secondary'}\n onClick={() => onClick(date)}\n variant={isSelected ? 'contained' : 'text'}\n >\n <Text\n className={`\n mx-cmn-calendar-day-text\n ${isSelected ? 'mx-cmn-day-selected' : ''}\n ${isToday ? 'mx-cmn-today' : ''}`}\n variant=\"body2\"\n >\n {format(date, 'd')}\n </Text>\n </Button>\n </div>\n )\n}\n\nconst getStyles = (theme: any) =>\n css({\n height: DATE_SIZE,\n width: DATE_SIZE,\n display: 'flex',\n justifyContent: 'center',\n '&.mx-cmn-out-of-month': {\n backgroundColor: theme.palette.background.default,\n },\n '&.mx-cmn-date-interval': {\n backgroundColor: theme.palette.secondary.light,\n },\n '& .MuiButton-root': {\n maxWidth: 44,\n minWidth: 44,\n height: 44,\n padding: 0,\n width: 44,\n '&.mx-cmn-range-start': {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n '&:focus': {\n boxShadow: 'none',\n },\n },\n '&.mx-cmn-range-end': {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n '&:focus': {\n boxShadow: 'none',\n },\n },\n },\n '& .mx-cmn-calendar-day-text': {\n '&.mx-cmn-day-selected': {\n color: theme.palette.primary,\n '&.mx-cmn-day-selected': {\n borderColor: theme.palette.common.white,\n },\n },\n '&.mx-cmn-today': {\n borderBottom: `solid 2px ${theme.palette.primary.main}`,\n marginBottom: -6,\n paddingBottom: 5,\n },\n },\n })\n\nexport default Day\n","import React from 'react'\nimport { css } from '@mxenabled/cssinjs'\nimport { addDays } from 'date-fns/addDays'\nimport { addMonths } from 'date-fns/addMonths'\nimport { eachDayOfInterval } from 'date-fns/eachDayOfInterval'\nimport { eachWeekOfInterval } from 'date-fns/eachWeekOfInterval'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { format } from 'date-fns/format'\nimport { isBefore } from 'date-fns/isBefore'\nimport { isSameMonth } from 'date-fns/isSameMonth'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subMonths } from 'date-fns/subMonths'\n\nimport Button from '@mui/material/Button'\nimport Paper from '@mui/material/Paper'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport Header from './Header'\nimport Day from './Day'\n\nexport const CALENDAR_WIDTH = 340\nexport const DATE_SIZE = 44\nexport const enum CalendarSelectionTypes {\n None = 'None',\n Single = 'Single',\n Range = 'Range',\n}\n\nexport type CalendarCopy = {\n nextAria: string\n prevAria: string\n today: string\n}\n\nexport interface CalendarProps {\n copy: CalendarCopy\n beginDate?: Date\n endDate?: Date\n onDateSelected?: (date: Date) => void\n onRangeSelected?: (beginDate: Date, endDate: Date) => void\n selectionType?: CalendarSelectionTypes\n}\n\nconst Calendar: React.FC<CalendarProps> = ({\n copy,\n beginDate: beginDateProp = undefined,\n endDate: endDateProp = undefined,\n onDateSelected,\n onRangeSelected,\n selectionType = CalendarSelectionTypes.Single,\n}) => {\n const styles = getStyles()\n\n const [date, setDate] = React.useState(startOfToday)\n\n const [beginDate, setBeginDate] = React.useState<Date | undefined>(beginDateProp)\n const [endDate, setEndDate] = React.useState<Date | undefined>(endDateProp)\n\n React.useEffect(() => {\n setBeginDate(beginDateProp)\n setEndDate(endDateProp)\n if (beginDateProp) {\n setDate(beginDateProp)\n }\n }, [beginDateProp, endDateProp])\n\n const weeks = React.useMemo(() => {\n const weeksInInterval = eachWeekOfInterval({ start: startOfMonth(date), end: endOfMonth(date) })\n\n const weeks = [] as Date[][]\n for (let i = 0; i < weeksInInterval.length; i++) {\n const weekStart = weeksInInterval[i]\n const days = eachDayOfInterval({ start: weekStart, end: addDays(weekStart, 6) })\n\n const week = [] as Date[]\n for (let j = 0; j < days.length; j++) {\n week.push(days[j])\n }\n weeks.push(week)\n }\n\n return weeks\n }, [date])\n\n const handleSelection = (date: Date) => {\n if (selectionType === CalendarSelectionTypes.None) return\n\n if (selectionType === CalendarSelectionTypes.Single) {\n setBeginDate(date)\n onDateSelected?.(date)\n return\n }\n\n if (!beginDate || endDate) {\n setBeginDate(date)\n setEndDate(undefined)\n } else if (isBefore(date, beginDate)) {\n setEndDate(beginDate)\n setBeginDate(date)\n onRangeSelected?.(date, beginDate)\n } else {\n setEndDate(date)\n onRangeSelected?.(beginDate, date)\n }\n }\n\n const handleTodayClick = () => {\n const today = startOfToday()\n setDate(today)\n\n if (selectionType === CalendarSelectionTypes.None) return\n\n setBeginDate(today)\n\n if (selectionType === CalendarSelectionTypes.Single) {\n onDateSelected?.(today)\n } else {\n setEndDate(today)\n onRangeSelected?.(today, today)\n }\n }\n\n const handleNextMonthClick = () => {\n setDate(addMonths(date, 1))\n }\n\n const handlePreviousMonthClick = () => {\n setDate(subMonths(date, 1))\n }\n\n return (\n <div className={`mx-cmn-calendar ${styles}`}>\n <Paper sx={{ boxShadow: 'none' }}>\n <Header\n copy={copy}\n date={date}\n onNextClick={handleNextMonthClick}\n onPreviousClick={handlePreviousMonthClick}\n />\n\n <div className=\"mx-cmn-calendar-header-row\">\n {weeks[0].map((day, index) => (\n <div className=\"mx-cmn-calendar-header-cell\" key={index}>\n <Text bold={true} variant=\"body2\">\n {format(day, 'EEEEE')}\n </Text>\n </div>\n ))}\n </div>\n\n {weeks.map((week, index) => (\n <div className=\"mx-cmn-calendar-week\" key={`w-${index}`}>\n {week.map((day, index) => (\n <Day\n beginDate={beginDate}\n date={day}\n endDate={endDate}\n isInMonth={isSameMonth(day, date)}\n key={index}\n onClick={handleSelection}\n />\n ))}\n </div>\n ))}\n\n <div className=\"mx-cmn-calendar-today-container\">\n <Button onClick={handleTodayClick} size=\"small\" variant=\"text\">\n {copy.today}\n </Button>\n </div>\n </Paper>\n </div>\n )\n}\n\nconst getStyles = () =>\n css({\n width: CALENDAR_WIDTH,\n '& .MuiPaper-root': {\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 4,\n paddingBottom: 4,\n },\n '& .mx-cmn-calendar-header-row': {\n display: 'flex',\n justifyContent: 'center',\n textAlign: 'center',\n '& .mx-cmn-calendar-header-cell': {\n height: DATE_SIZE,\n width: DATE_SIZE,\n minWidth: DATE_SIZE,\n '& .kmui-text': {\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n },\n },\n '& .mx-cmn-calendar-week': {\n display: 'flex',\n justifyContent: 'center',\n textAlign: 'center',\n },\n '& .mx-cmn-calendar-today-container': {\n display: 'block',\n marginTop: 16,\n textAlign: 'center',\n width: '100%',\n '& > .MuiButton-root': {\n display: 'inline-block',\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n },\n })\n\nexport default Calendar\n","import { Icon } from '@mxenabled/mx-icons'\nimport { H3, P } from '@mxenabled/mxui'\n\nimport Button, { type ButtonProps } from '@mui/material/Button'\nimport Dialog from '@mui/material/Dialog'\nimport DialogActions from '@mui/material/DialogActions'\nimport DialogContent from '@mui/material/DialogContent'\nimport IconButton from '@mui/material/IconButton'\nimport InputAdornment from '@mui/material/InputAdornment'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\n\nimport { useScreenSize } from '../hooks'\n\ninterface CurrencyDialogProps {\n closeAriaLabel: string\n content?: string\n inputLabel?: string\n inputValue?: string\n isOpen: boolean\n handleInputChange?: (value: string) => void\n handleModalClose: () => void\n handlePrimaryAction: () => void\n handleSecondaryAction?: () => void\n primaryColor?: ButtonProps['color']\n primaryText: string\n secondaryColor?: ButtonProps['color']\n secondaryText?: string\n title: string\n}\n\n// Created for V2 of BudgetDetailsDrawer.\n// The previous design will be replaced once the new design is finalized.\n// Also needs to be updated to use the mxui library\n// with the updated Dialog components.\n\nconst CurrencyDialog = ({\n closeAriaLabel,\n content,\n inputLabel,\n inputValue,\n isOpen,\n handleInputChange,\n handleModalClose,\n handlePrimaryAction,\n handleSecondaryAction,\n primaryColor = 'primary',\n primaryText,\n secondaryColor = 'primary',\n secondaryText,\n title,\n}: CurrencyDialogProps) => {\n const numericValue = parseFloat(inputValue ?? '0')\n const isValid = inputValue !== '' && inputValue !== '0' && !isNaN(numericValue)\n\n const { isSmallMobile } = useScreenSize()\n\n return (\n <Dialog\n aria-label={title}\n aria-labelledby=\"modal-title\"\n maxWidth=\"xs\"\n onClose={handleModalClose}\n open={isOpen}\n role=\"dialog\"\n sx={{\n '& .MuiDialogContent-root': { p: 0 },\n ...(isSmallMobile && { '& .MuiDialog-paper': { minWidth: '100%' } }),\n }}\n >\n <DialogContent>\n <form\n onSubmit={(e) => {\n e.preventDefault()\n handlePrimaryAction()\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n pb: 12,\n pl: 24,\n position: 'relative',\n pr: 16,\n pt: 24,\n }}\n >\n <H3 id=\"modal-title\">{title}</H3>\n <IconButton\n aria-label={closeAriaLabel}\n onClick={handleModalClose}\n sx={{ minHeight: 24, position: 'absolute', right: 8, top: 18 }}\n >\n <Icon name=\"close\" sx={{ color: 'action.active' }} />\n </IconButton>\n </Stack>\n <Stack sx={{ gap: 24, px: 24 }}>\n <P variant=\"subtitle1\">{content}</P>\n {inputLabel && (\n <TextField\n autoFocus={true}\n inputMode=\"decimal\"\n label={inputLabel}\n onChange={({ target: { value } }) => {\n if (!/^\\d*\\.?\\d*$/.test(value)) return\n\n handleInputChange?.(value)\n }}\n slotProps={{\n input: {\n startAdornment: <InputAdornment position=\"start\">$</InputAdornment>,\n },\n htmlInput: {\n 'aria-label': inputLabel,\n noValidate: true,\n pattern: '[0-9]*\\\\.?[0-9]*',\n },\n }}\n type=\"text\"\n value={inputValue}\n />\n )}\n </Stack>\n <DialogActions\n sx={{\n justifyContent: 'flex-end',\n gap: 16,\n p: 24,\n '>:not(style)~:not(style)': { ml: 0 },\n }}\n >\n {secondaryText && (\n <Button\n aria-label={secondaryText}\n color={secondaryColor}\n onClick={handleSecondaryAction}\n >\n {secondaryText}\n </Button>\n )}\n <Button\n aria-label={primaryText}\n color={primaryColor}\n disabled={inputLabel ? !isValid : false}\n onClick={handlePrimaryAction}\n variant=\"contained\"\n >\n {primaryText}\n </Button>\n </DialogActions>\n </form>\n </DialogContent>\n </Dialog>\n )\n}\n\nexport default CurrencyDialog\n"],"names":["Header","copy","date","onNextClick","onPreviousClick","styles","getStyles","jsxs","jsx","H2","formatDate","DATE_FORMATS_INTL","Button","ChevronLeft","ChevronRight","css","Day","beginDate","endDate","isInMonth","onClick","theme","useTheme","isInRange","isWithinInterval","isSameDay","isRangeStart","isRangeEnd","isSelected","isToday","startOfToday","Text","format","DATE_SIZE","CALENDAR_WIDTH","CalendarSelectionTypes","Calendar","beginDateProp","endDateProp","onDateSelected","onRangeSelected","selectionType","setDate","React","setBeginDate","setEndDate","weeks","weeksInInterval","eachWeekOfInterval","startOfMonth","endOfMonth","i","weekStart","days","eachDayOfInterval","addDays","week","j","handleSelection","isBefore","handleTodayClick","today","handleNextMonthClick","addMonths","handlePreviousMonthClick","subMonths","Paper","day","index","isSameMonth","CurrencyDialog","closeAriaLabel","content","inputLabel","inputValue","isOpen","handleInputChange","handleModalClose","handlePrimaryAction","handleSecondaryAction","primaryColor","primaryText","secondaryColor","secondaryText","title","numericValue","isValid","isSmallMobile","useScreenSize","Dialog","DialogContent","e","Stack","H3","IconButton","Icon","P","TextField","value","InputAdornment","DialogActions"],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import i from "react";
3
+ import { css as k } from "@mxenabled/cssinjs";
4
+ import { v4 as q } from "uuid";
5
+ import { TextField as B, P as p } from "@mxenabled/mxui";
6
+ import { g as L, C as O, f as y, M as C } from "./NumberFormatting--XMeeBfr.mjs";
7
+ import { b as h, g as b } from "./Localization-DnoVyBNK.mjs";
8
+ import { u as W } from "./hooks-97sNJ_lf.mjs";
9
+ const J = ({
10
+ allowDecimals: o = !0,
11
+ ariaLabel: g,
12
+ amount: c,
13
+ amountIsRequired: M = !0,
14
+ copy: a,
15
+ customValidate: $ = () => !0,
16
+ errorText: S = "",
17
+ label: u,
18
+ minAmount: f = 1,
19
+ setAmount: x,
20
+ setHasValidInput: r,
21
+ ...N
22
+ }) => {
23
+ const [l, t] = i.useState(""), { common: R } = W(), n = a || R.currency_input, A = j(), E = /^[0-9]*$/, P = /^(\d)*(\,)?([0-9]{1,2})?$/, T = /^(\d)*(\.)?([0-9]{1,2})?$/;
24
+ let s;
25
+ const d = i.useRef(q());
26
+ if (o)
27
+ switch (L()) {
28
+ case O.CAD:
29
+ s = P;
30
+ break;
31
+ default:
32
+ s = T;
33
+ break;
34
+ }
35
+ else
36
+ s = E;
37
+ i.useEffect(() => {
38
+ _(c);
39
+ }, [c]);
40
+ const _ = (e) => {
41
+ !M && (e === "" || e === "." || e === ",") ? (t(""), r?.(!1)) : Number(e) < f ? (t(
42
+ h(
43
+ n.error_amount_must_be_equal_to,
44
+ y(f, "0")
45
+ )
46
+ ), r?.(!1)) : Number(e) > C ? (t(
47
+ h(
48
+ n.error_amount_must_be_less_than_or_equal_to,
49
+ y(C, o ? "0,0.00" : "0,0", Math.floor)
50
+ )
51
+ ), r?.(!1)) : e.toString().match(s) ? $() ? (t(""), r?.(!0)) : (t(S), r?.(!1)) : (t(n.error_amount_is_invalid), r?.(!1)), x(e.toString());
52
+ };
53
+ return /* @__PURE__ */ m(
54
+ B,
55
+ {
56
+ className: `mx-cmn-currency-input ${A}`,
57
+ error: !!l,
58
+ helperText: l,
59
+ hiddenLabel: !u,
60
+ id: `currency-input-${d.current}`,
61
+ inputMode: o ? "decimal" : "numeric",
62
+ label: u,
63
+ name: `currency-input-${d.current}`,
64
+ onChange: (e) => _(e.target.value),
65
+ slotProps: {
66
+ input: {
67
+ endAdornment: b().includes("fr-ca") ? /* @__PURE__ */ m(p, { children: "$" }) : void 0,
68
+ startAdornment: b().includes("fr-ca") ? void 0 : /* @__PURE__ */ m(p, { children: "$" })
69
+ },
70
+ htmlInput: {
71
+ "aria-label": g || n.enter_amount,
72
+ noValidate: !0,
73
+ pattern: o ? "[0-9]*\\.?[0-9]*" : "[0-9]*"
74
+ }
75
+ },
76
+ value: c,
77
+ ...N
78
+ }
79
+ );
80
+ }, j = () => k({
81
+ "& .MuiInputBase-adornedStart > .p": {
82
+ marginRight: 4
83
+ }
84
+ });
85
+ export {
86
+ J as C
87
+ };
88
+ //# sourceMappingURL=CurrencyInput-DaGEQaLW.mjs.map