@mx-cartographer/experiences 9.6.7 → 9.6.9
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 +8 -0
- package/dist/common/components/Banner.es.js +66 -26
- package/dist/common/components/Banner.es.js.map +1 -1
- package/dist/common/components/ConnectDrawer.d.ts +2 -0
- package/dist/common/components/ConnectDrawer.es.js +15 -14
- package/dist/common/components/ConnectDrawer.es.js.map +1 -1
- package/dist/common/components/ConnectWidgetPanel.d.ts +2 -0
- package/dist/common/components/ConnectWidgetPanel.es.js +48 -39
- package/dist/common/components/ConnectWidgetPanel.es.js.map +1 -1
- package/dist/common/constants/Analytics.d.ts +6 -0
- package/dist/common/constants/Analytics.es.js +7 -1
- package/dist/common/constants/Analytics.es.js.map +1 -1
- package/dist/common/constants/Connect.d.ts +7 -0
- package/dist/common/constants/Connect.es.js +6 -4
- package/dist/common/constants/Connect.es.js.map +1 -1
- package/dist/common/constants/index.d.ts +2 -1
- package/dist/common/index.es.js +95 -93
- package/dist/core/api/BannerApi.d.ts +1 -0
- package/dist/core/api/BannerApi.es.js +4 -2
- package/dist/core/api/BannerApi.es.js.map +1 -1
- package/dist/core/stores/AppDataStore.d.ts +1 -0
- package/dist/core/stores/AppDataStore.es.js +9 -2
- package/dist/core/stores/AppDataStore.es.js.map +1 -1
- package/dist/core/types/AppData.d.ts +2 -0
- package/dist/core/types/localization/InsightsFeedCopy.d.ts +1 -1
- package/dist/insights-v2/actionBlocks/MakeTransferActionBlock/layout.es.js +6 -6
- package/dist/insights-v2/actionBlocks/MakeTransferActionBlock/layout.es.js.map +1 -1
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/layout.d.ts +2 -2
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/layout.es.js +15 -15
- package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/layout.es.js.map +1 -1
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.d.ts +1 -1
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js +1 -1
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js.map +1 -1
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.d.ts +1 -1
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js +16 -16
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js.map +1 -1
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js +6 -7
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js.map +1 -1
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.d.ts +1 -1
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.es.js +14 -30
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.es.js.map +1 -1
- package/dist/insights-v2/blocks/ComponentBlocks/TransactionBlock/layout.d.ts +8 -8
- package/dist/insights-v2/blocks/ComponentBlocks/TransactionBlock/layout.es.js +14 -14
- package/dist/insights-v2/blocks/ComponentBlocks/TransactionBlock/layout.es.js.map +1 -1
- package/dist/insights-v2/blocks/ComponentBlocks/UpcomingSubscriptionBlock/UpcomingSubscriptionBlock.es.js +1 -1
- package/dist/insights-v2/blocks/ComponentBlocks/UpcomingSubscriptionBlock/UpcomingSubscriptionBlock.es.js.map +1 -1
- package/dist/insights-v2/blocks/ComponentBlocks/UpcomingSubscriptionBlock/layout.d.ts +4 -3
- package/dist/insights-v2/blocks/ComponentBlocks/UpcomingSubscriptionBlock/layout.es.js +2 -2
- package/dist/insights-v2/blocks/ComponentBlocks/UpcomingSubscriptionBlock/layout.es.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [9.6.9] - 10-13-2026
|
|
2
|
+
|
|
3
|
+
- **CHANGED** - Renamed Insights V2 `instance_slot.variant` / CTA `variant` values from beat-specific names to behavior/design names so any beat can reuse them (ditto-contract changes — the backend must send the new values). AccountBlock: `transparent_overdraft`→`overdraft_warning`, `low_account_balance`→`low_balance_alert`, `monthly_credit_card_interest_summary`→`interest_charges_summary`, `celebrate_credit_card_payoff`→`payoff_celebration`, `savings_account_deposit`→`savings_deposit`, and `unified_deposit` + `unified_deposit_emergency_fund` collapsed into a single `deposit_received` (their layout configs were identical). TransactionBlock: `subscription_detected`→`info_wash`, `unexpected_subscription_payment`→`warning_wash`. TransactionHistoryBlock / BarchartBlock: `bill_amount_not_standard`→`not_standard_amount`, `savings_account_balances_summary`→`account_balance` (the `savings_account_balances_summary_drawer_title` copy key becomes `account_balance_drawer_title` — paired `mrs_content` change). MakeTransfer: payload keys `save_an_extra_100`→`save_extra`, `save_enough_to_live_on`→`save_enough` (aligning with the existing `save_extra_title`/`save_enough_title` copy). UpcomingSubscriptionBlock: `upcoming_subscription`→`hero`. Updated all layout maps, mock payloads, stories and tests; unrelated Settings notification copy keys that share these strings were left untouched
|
|
4
|
+
|
|
5
|
+
## [9.6.8] - 10-13-2026
|
|
6
|
+
|
|
7
|
+
- **ADDED** - Dashboard banner can open the Connect widget in-app: a connect-type banner (`deep_link_type`) opens `ConnectDrawer` instead of an external link, with banner and connect-widget analytics (MEW-3504)
|
|
8
|
+
|
|
1
9
|
## [9.6.7] - 10-13-2026
|
|
2
10
|
|
|
3
11
|
- **ADDED** - `debts_block` component block for the Debt Payoff Strategies beat, registered through `BlockType` and the `blocks` registry. Renders the new presentational `DebtPayoffCard` (account row with an optional strategy pill, current balance, and projected payoff / monthly payment / interest rate rows) from facts carried flat on `instance_slot`: `payoff_date`, `monthly_payment` and `interest_rate` are new optional `InstanceSlot` fields beside the shared `amount`, `account_*`, `institution_*` and `status_text`. One look for now (`instance_slot.variant` is not read until a second design branch exists); the logo falls back to a card glyph for credit-card debt and the bank glyph otherwise. Row labels come from a new `insights_feed.debts_block` copy namespace; until a host ships it, the card renders the account row only and warns once (`debts_block: copy namespace missing`), and a slot with no `amount` renders no balance rather than `$0.00`. Mock payloads, beats fixtures, stories and tests (WEC-1298)
|
|
@@ -1,39 +1,79 @@
|
|
|
1
|
-
import { useGlobalStore as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
1
|
+
import { useEvent as f, useGlobalCopyStore as g, useGlobalStore as C } from "../context/hooks.es.js";
|
|
2
|
+
import { ANALYTICS_EVENTS as s } from "../constants/Analytics.es.js";
|
|
3
|
+
import { CONNECT_WIDGET_SOURCES as b, DEEP_LINK_TYPE as y } from "../constants/Connect.es.js";
|
|
4
|
+
import E from "./ConnectDrawer.es.js";
|
|
5
|
+
import t from "react";
|
|
6
|
+
import { observer as h } from "mobx-react-lite";
|
|
7
|
+
import k from "@mui/material/Stack";
|
|
8
|
+
import { jsx as r, jsxs as N } from "react/jsx-runtime";
|
|
9
|
+
import { useTheme as S } from "@mui/material/styles";
|
|
10
|
+
var P = h(() => {
|
|
11
|
+
const d = S(), { appDataStore: { banner: e, loadBanner: p, markBannerClicked: m, user: u } } = C(), { onEvent: n } = f(), { connect: _ } = g(), [o, i] = t.useState(!1);
|
|
12
|
+
if (t.useEffect(() => {
|
|
13
|
+
p();
|
|
14
|
+
}, [u]), t.useEffect(() => {
|
|
15
|
+
e?.image_url && n(s.BANNER_VIEW, {
|
|
16
|
+
banner_guid: e.guid,
|
|
17
|
+
deep_link_type: e.deep_link_type
|
|
18
|
+
});
|
|
19
|
+
}, [e?.guid, e?.image_url]), !e?.image_url) return null;
|
|
20
|
+
const l = e.deep_link_type === y.CONNECT, a = () => {
|
|
21
|
+
n(s.BANNER_CLICK, {
|
|
22
|
+
banner_guid: e.guid,
|
|
23
|
+
deep_link_type: e.deep_link_type
|
|
24
|
+
}), l && (e.guid && m(e.guid), i(!0));
|
|
25
|
+
}, c = /* @__PURE__ */ r("img", {
|
|
26
|
+
alt: "",
|
|
27
|
+
referrerPolicy: "no-referrer",
|
|
28
|
+
src: e.image_url,
|
|
29
|
+
style: {
|
|
30
|
+
width: "100%",
|
|
31
|
+
height: "auto",
|
|
32
|
+
border: `1px solid ${d.palette.grey[300]}`,
|
|
33
|
+
display: "block"
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return /* @__PURE__ */ N(t.Fragment, { children: [/* @__PURE__ */ r(k, {
|
|
12
37
|
sx: {
|
|
13
38
|
alignItems: "center",
|
|
14
39
|
width: "100%",
|
|
15
40
|
mb: 24
|
|
16
41
|
},
|
|
17
|
-
children: /* @__PURE__ */
|
|
42
|
+
children: l ? /* @__PURE__ */ r("button", {
|
|
43
|
+
"aria-label": "Banner",
|
|
44
|
+
onClick: a,
|
|
45
|
+
style: {
|
|
46
|
+
background: "none",
|
|
47
|
+
border: "none",
|
|
48
|
+
cursor: "pointer",
|
|
49
|
+
display: "block",
|
|
50
|
+
padding: 0,
|
|
51
|
+
width: "100%"
|
|
52
|
+
},
|
|
53
|
+
type: "button",
|
|
54
|
+
children: c
|
|
55
|
+
}) : /* @__PURE__ */ r("a", {
|
|
18
56
|
"aria-label": "Banner",
|
|
19
|
-
href:
|
|
20
|
-
|
|
21
|
-
|
|
57
|
+
href: e.redirect_url,
|
|
58
|
+
onClick: a,
|
|
59
|
+
referrerPolicy: "no-referrer",
|
|
60
|
+
rel: "noopener noreferrer",
|
|
61
|
+
style: {
|
|
62
|
+
display: "block",
|
|
63
|
+
width: "100%"
|
|
64
|
+
},
|
|
22
65
|
target: "_blank",
|
|
23
|
-
children:
|
|
24
|
-
alt: "",
|
|
25
|
-
src: r.image_url,
|
|
26
|
-
style: {
|
|
27
|
-
width: "100%",
|
|
28
|
-
height: "auto",
|
|
29
|
-
border: `1px solid ${t.palette.grey[300]}`
|
|
30
|
-
}
|
|
31
|
-
})
|
|
66
|
+
children: c
|
|
32
67
|
})
|
|
33
|
-
})
|
|
68
|
+
}), o && /* @__PURE__ */ r(E, {
|
|
69
|
+
onClose: () => i(!1),
|
|
70
|
+
showConnectWidget: o,
|
|
71
|
+
source: b.BANNER,
|
|
72
|
+
title: _?.mini_title ?? ""
|
|
73
|
+
})] });
|
|
34
74
|
});
|
|
35
75
|
export {
|
|
36
|
-
|
|
76
|
+
P as Banner
|
|
37
77
|
};
|
|
38
78
|
|
|
39
79
|
//# sourceMappingURL=Banner.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.es.js","names":[],"sources":["../../../src/common/components/Banner.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\nimport Stack from '@mui/material/Stack'\n\nimport { useGlobalStore } from '..'\n\nexport const Banner = observer(() => {\n const theme = useTheme()\n const {\n appDataStore: { banner, loadBanner, user },\n } = useGlobalStore()\n\n React.useEffect(() => {\n loadBanner().
|
|
1
|
+
{"version":3,"file":"Banner.es.js","names":[],"sources":["../../../src/common/components/Banner.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\nimport Stack from '@mui/material/Stack'\n\nimport ConnectDrawer from './ConnectDrawer'\nimport { useGlobalCopyStore, useGlobalStore } from '..'\nimport { useEvent } from '../context/hooks'\nimport { ANALYTICS_EVENTS, CONNECT_WIDGET_SOURCES, DEEP_LINK_TYPE } from '../constants'\n\nexport const Banner = observer(() => {\n const theme = useTheme()\n const {\n appDataStore: { banner, loadBanner, markBannerClicked, user },\n } = useGlobalStore()\n const { onEvent } = useEvent()\n const { connect: connectCopy } = useGlobalCopyStore()\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n\n React.useEffect(() => {\n void loadBanner()\n }, [user])\n\n React.useEffect(() => {\n if (banner?.image_url) {\n onEvent(ANALYTICS_EVENTS.BANNER_VIEW, {\n banner_guid: banner.guid,\n deep_link_type: banner.deep_link_type,\n })\n }\n }, [banner?.guid, banner?.image_url])\n\n if (!banner?.image_url) {\n return null\n }\n\n const isConnect = banner.deep_link_type === DEEP_LINK_TYPE.CONNECT\n\n const handleClick = () => {\n onEvent(ANALYTICS_EVENTS.BANNER_CLICK, {\n banner_guid: banner.guid,\n deep_link_type: banner.deep_link_type,\n })\n\n if (isConnect) {\n // Record the click server-side (see AppDataStore.markBannerClicked).\n if (banner.guid) markBannerClicked(banner.guid)\n setShowConnectWidget(true)\n }\n }\n\n const image = (\n <img\n alt=\"\"\n referrerPolicy=\"no-referrer\"\n src={banner.image_url}\n style={{\n width: '100%',\n height: 'auto',\n border: `1px solid ${theme.palette.grey['300']}`,\n display: 'block',\n }}\n />\n )\n\n return (\n <React.Fragment>\n <Stack\n sx={{\n alignItems: 'center',\n width: '100%',\n mb: 24,\n }}\n >\n {isConnect ? (\n // Connect opens the drawer in-app, so render a button with no href/target:\n // there is no external destination to middle-click or open in a new tab,\n // so every interaction is forced through onClick.\n <button\n aria-label=\"Banner\"\n onClick={handleClick}\n style={{\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n display: 'block',\n padding: 0,\n width: '100%',\n }}\n type=\"button\"\n >\n {image}\n </button>\n ) : (\n // Every other type (incl. today's API, which omits deep_link_type) is a\n // real external link, keeping native middle-click / open-in-new-tab.\n <a\n aria-label=\"Banner\"\n href={banner.redirect_url}\n onClick={handleClick}\n referrerPolicy=\"no-referrer\"\n rel=\"noopener noreferrer\"\n style={{ display: 'block', width: '100%' }}\n target=\"_blank\"\n >\n {image}\n </a>\n )}\n </Stack>\n {showConnectWidget && (\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n source={CONNECT_WIDGET_SOURCES.BANNER}\n title={connectCopy?.mini_title ?? ''}\n />\n )}\n </React.Fragment>\n )\n})\n"],"mappings":";;;;;;;;;AAWA,IAAa,IAAS,EAAA,MAAe;AACnC,QAAM,IAAQ,EAAS,GACjB,EACJ,cAAc,EAAE,QAAA,GAAQ,YAAA,GAAY,mBAAA,GAAmB,MAAA,EAAA,EAAA,IACrD,EAAe,GACb,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,SAAS,EAAA,IAAgB,EAAmB,GAC9C,CAAC,GAAmB,CAAA,IAAwB,EAAM,SAAS,EAAK;AAetE,MAbA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAgB;AAAA,EAClB,GAAG,CAAC,CAAI,CAAC,GAET,EAAM,UAAA,MAAgB;AACpB,IAAI,GAAQ,aACV,EAAQ,EAAiB,aAAa;AAAA,MACpC,aAAa,EAAO;AAAA,MACpB,gBAAgB,EAAO;AAAA,IACzB,CAAC;AAAA,EAEL,GAAG,CAAC,GAAQ,MAAM,GAAQ,SAAS,CAAC,GAEhC,CAAC,GAAQ,UACX,QAAO;AAGT,QAAM,IAAY,EAAO,mBAAmB,EAAe,SAErD,IAAA,MAAoB;AACxB,IAAA,EAAQ,EAAiB,cAAc;AAAA,MACrC,aAAa,EAAO;AAAA,MACpB,gBAAgB,EAAO;AAAA,IACzB,CAAC,GAEG,MAEE,EAAO,QAAM,EAAkB,EAAO,IAAI,GAC9C,EAAqB,EAAI;AAAA,EAE7B,GAEM,IACJ,gBAAA,EAAC,OAAD;AAAA,IACE,KAAI;AAAA,IACJ,gBAAe;AAAA,IACf,KAAK,EAAO;AAAA,IACZ,OAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ,aAAa,EAAM,QAAQ,KAAK,GAAA,CAAA;AAAA,MACxC,SAAS;AAAA,IACX;AAAA,EACD,CAAA;AAGH,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,IAAI;AAAA,IACN;AAAA,IAEC,UAAA,IAIC,gBAAA,EAAC,UAAD;AAAA,MACE,cAAW;AAAA,MACX,SAAS;AAAA,MACT,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,MACA,MAAK;AAAA,MAEJ,UAAA;AAAA,IACK,CAAA,IAIR,gBAAA,EAAC,KAAD;AAAA,MACE,cAAW;AAAA,MACX,MAAM,EAAO;AAAA,MACb,SAAS;AAAA,MACT,gBAAe;AAAA,MACf,KAAI;AAAA,MACJ,OAAO;AAAA,QAAE,SAAS;AAAA,QAAS,OAAO;AAAA,MAAO;AAAA,MACzC,QAAO;AAAA,MAEN,UAAA;AAAA,IACA,CAAA;AAAA,EAEA,CAAA,GACN,KACC,gBAAA,EAAC,GAAD;AAAA,IACE,SAAA,MAAe,EAAqB,EAAK;AAAA,IACtB,mBAAA;AAAA,IACnB,QAAQ,EAAuB;AAAA,IAC/B,OAAO,GAAa,cAAc;AAAA,EACnC,CAAA,CAEW,EAAA,CAAA;AAEpB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
import { ConnectWidgetSource } from '../constants/Connect';
|
|
2
3
|
interface ConnectDrawerProps {
|
|
3
4
|
loadWidgetProps?: object;
|
|
4
5
|
onClose: () => void;
|
|
5
6
|
showConnectWidget: boolean;
|
|
7
|
+
source?: ConnectWidgetSource;
|
|
6
8
|
title: string;
|
|
7
9
|
}
|
|
8
10
|
declare const _default: React.FunctionComponent<ConnectDrawerProps>;
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { useAccountStore as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { useAccountStore as m, useGlobalCopyStore as s } from "../context/hooks.es.js";
|
|
2
|
+
import l from "./drawer/Drawer.es.js";
|
|
3
|
+
import f from "./ConnectWidgetPanel.es.js";
|
|
4
4
|
import "react";
|
|
5
|
-
import { observer as
|
|
5
|
+
import { observer as p } from "mobx-react-lite";
|
|
6
6
|
import { jsx as r } from "react/jsx-runtime";
|
|
7
|
-
var
|
|
8
|
-
const { refreshAccounts:
|
|
9
|
-
return /* @__PURE__ */ r(
|
|
10
|
-
ariaLabelClose:
|
|
7
|
+
var u = ({ loadWidgetProps: e, onClose: t, showConnectWidget: o, source: n, title: a }) => {
|
|
8
|
+
const { refreshAccounts: c } = m(), { connect: i } = s();
|
|
9
|
+
return /* @__PURE__ */ r(l, {
|
|
10
|
+
ariaLabelClose: i.close_manage_connection_aria,
|
|
11
11
|
isOpen: o,
|
|
12
12
|
onClose: () => {
|
|
13
|
-
t(),
|
|
13
|
+
t(), c();
|
|
14
14
|
},
|
|
15
|
-
title:
|
|
16
|
-
children: /* @__PURE__ */ r(
|
|
15
|
+
title: a,
|
|
16
|
+
children: /* @__PURE__ */ r(f, {
|
|
17
17
|
isActive: o,
|
|
18
|
-
loadWidgetProps: e
|
|
18
|
+
loadWidgetProps: e,
|
|
19
|
+
source: n
|
|
19
20
|
})
|
|
20
21
|
});
|
|
21
|
-
},
|
|
22
|
+
}, w = p(u);
|
|
22
23
|
export {
|
|
23
|
-
|
|
24
|
+
w as default
|
|
24
25
|
};
|
|
25
26
|
|
|
26
27
|
//# sourceMappingURL=ConnectDrawer.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectDrawer.es.js","names":[],"sources":["../../../src/common/components/ConnectDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ConnectWidgetPanel from './ConnectWidgetPanel'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\n\ninterface ConnectDrawerProps {\n loadWidgetProps?: object\n onClose: () => void\n showConnectWidget: boolean\n title: string\n}\n\n/**\n * Drawer wrapper around `ConnectWidgetPanel` (SSO url via ConnectStore, the\n * iframe-based `@mxenabled/web-widget-sdk` ConnectWidget, loading/error\n * statuses) with an account refresh on close. Unchanged behaviour for its\n * existing callers; `ConnectWidgetActionBlock` renders `ConnectWidgetPanel`\n * directly instead, since `ActionBlockLayer` already supplies its own Drawer.\n */\nconst ConnectDrawer: React.FC<ConnectDrawerProps> = ({\n loadWidgetProps,\n onClose,\n showConnectWidget,\n title,\n}) => {\n const { refreshAccounts } = useAccountStore()\n const { connect: connectCopy } = useGlobalCopyStore()\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 <ConnectWidgetPanel
|
|
1
|
+
{"version":3,"file":"ConnectDrawer.es.js","names":[],"sources":["../../../src/common/components/ConnectDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ConnectWidgetPanel from './ConnectWidgetPanel'\nimport { Drawer, useAccountStore, useGlobalCopyStore } from '../../common'\nimport { type ConnectWidgetSource } from '../constants/Connect'\n\ninterface ConnectDrawerProps {\n loadWidgetProps?: object\n onClose: () => void\n showConnectWidget: boolean\n // Optional entry point; forwarded to ConnectWidgetPanel for lifecycle analytics.\n source?: ConnectWidgetSource\n title: string\n}\n\n/**\n * Drawer wrapper around `ConnectWidgetPanel` (SSO url via ConnectStore, the\n * iframe-based `@mxenabled/web-widget-sdk` ConnectWidget, loading/error\n * statuses) with an account refresh on close. Unchanged behaviour for its\n * existing callers; `ConnectWidgetActionBlock` renders `ConnectWidgetPanel`\n * directly instead, since `ActionBlockLayer` already supplies its own Drawer.\n */\nconst ConnectDrawer: React.FC<ConnectDrawerProps> = ({\n loadWidgetProps,\n onClose,\n showConnectWidget,\n source,\n title,\n}) => {\n const { refreshAccounts } = useAccountStore()\n const { connect: connectCopy } = useGlobalCopyStore()\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 <ConnectWidgetPanel\n isActive={showConnectWidget}\n loadWidgetProps={loadWidgetProps}\n source={source}\n />\n </Drawer>\n )\n}\n\nexport default observer(ConnectDrawer)\n"],"mappings":";;;;;;AAuBA,IAAM,IAAA,CAA+C,EACnD,iBAAA,GACA,SAAA,GACA,mBAAA,GACA,QAAA,GACA,OAAA,EAAA,MACI;AACJ,QAAM,EAAE,iBAAA,EAAA,IAAoB,EAAgB,GACtC,EAAE,SAAS,EAAA,IAAgB,EAAmB;AAEpD,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,gBAAgB,EAAY;AAAA,IAC5B,QAAQ;AAAA,IACR,SAAA,MAAe;AACb,MAAA,EAAQ,GACR,EAAgB;AAAA,IAClB;AAAA,IACO,OAAA;AAAA,IAEP,UAAA,gBAAA,EAAC,GAAD;AAAA,MACE,UAAU;AAAA,MACO,iBAAA;AAAA,MACT,QAAA;AAAA,IACT,CAAA;AAAA,EACK,CAAA;AAEZ,GAEA,IAAe,EAAS,CAAa"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
import { ConnectWidgetSource } from '../constants';
|
|
2
3
|
export interface ConnectWidgetPanelProps {
|
|
3
4
|
loadWidgetProps?: object;
|
|
4
5
|
/** Mounts/unmounts the underlying iframe-based ConnectWidget. */
|
|
5
6
|
isActive: boolean;
|
|
7
|
+
source?: ConnectWidgetSource;
|
|
6
8
|
}
|
|
7
9
|
declare const _default: React.FunctionComponent<ConnectWidgetPanelProps>;
|
|
8
10
|
export default _default;
|
|
@@ -1,44 +1,53 @@
|
|
|
1
|
-
import { useConnectStore as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
1
|
+
import { useConnectStore as D, useEvent as W } from "../context/hooks.es.js";
|
|
2
|
+
import { ANALYTICS_EVENTS as n } from "../constants/Analytics.es.js";
|
|
3
|
+
import { CONNECT_WIDGET_ID as d, MemberConnectionStatus as u } from "../constants/Connect.es.js";
|
|
4
|
+
import c from "./ConnectStatus.es.js";
|
|
5
|
+
import t from "react";
|
|
6
|
+
import { observer as g } from "mobx-react-lite";
|
|
7
|
+
import { jsx as C, jsxs as O } from "react/jsx-runtime";
|
|
8
|
+
import { useTheme as I } from "@mui/material/styles";
|
|
9
|
+
import { ConnectWidget as S } from "@mxenabled/web-widget-sdk";
|
|
10
|
+
var L = ({ isActive: a, loadWidgetProps: N, source: e }) => {
|
|
11
|
+
let E;
|
|
12
|
+
const { loadWidget: p } = D(), { onEvent: r } = W(), [T, o] = t.useState(!1), [s, f] = t.useState(!1), i = t.useRef(!1), l = t.useRef(s);
|
|
13
|
+
l.current = s;
|
|
14
|
+
const { palette: { mode: _ } } = I();
|
|
15
|
+
return t.useEffect(() => {
|
|
16
|
+
const m = () => {
|
|
17
|
+
o(!1), f(!0), e && r(n.CONNECT_WIDGET_ERRORED, { source: e });
|
|
18
|
+
};
|
|
19
|
+
return a ? (i.current = !1, e && r(n.CONNECT_WIDGET_OPENED, { source: e }), o(!0), p({
|
|
20
|
+
mode: _,
|
|
21
|
+
...N
|
|
22
|
+
}).then((h) => {
|
|
23
|
+
E = new S({
|
|
24
|
+
container: `#${d}`,
|
|
25
|
+
style: {
|
|
26
|
+
border: "none",
|
|
27
|
+
height: "calc(100% - 62px)",
|
|
28
|
+
maxWidth: "450px",
|
|
29
|
+
position: "absolute",
|
|
30
|
+
width: "100%"
|
|
31
|
+
},
|
|
32
|
+
url: h.url,
|
|
33
|
+
onSsoUrlLoadError: m,
|
|
34
|
+
onLoad: () => {
|
|
35
|
+
o(!1), f(!1);
|
|
36
|
+
},
|
|
37
|
+
onMemberConnected: () => {
|
|
38
|
+
i.current = !0, e && r(n.CONNECT_WIDGET_COMPLETED, { source: e });
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}).catch(m)) : (o(!1), f(!1)), () => {
|
|
42
|
+
E?.unmount(), a && e && !i.current && !l.current && r(n.CONNECT_WIDGET_ABANDONED, { source: e });
|
|
43
|
+
};
|
|
44
|
+
}, [a]), /* @__PURE__ */ O("div", {
|
|
45
|
+
id: d,
|
|
46
|
+
children: [s && /* @__PURE__ */ C(c, { status: u.Error }), T && /* @__PURE__ */ C(c, { status: u.Loading })]
|
|
38
47
|
});
|
|
39
|
-
},
|
|
48
|
+
}, A = g(L);
|
|
40
49
|
export {
|
|
41
|
-
|
|
50
|
+
A as default
|
|
42
51
|
};
|
|
43
52
|
|
|
44
53
|
//# sourceMappingURL=ConnectWidgetPanel.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectWidgetPanel.es.js","names":[],"sources":["../../../src/common/components/ConnectWidgetPanel.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 './ConnectStatus'\nimport {
|
|
1
|
+
{"version":3,"file":"ConnectWidgetPanel.es.js","names":[],"sources":["../../../src/common/components/ConnectWidgetPanel.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 './ConnectStatus'\nimport {\n ANALYTICS_EVENTS,\n CONNECT_WIDGET_ID,\n MemberConnectionStatus,\n type ConnectWidgetSource,\n} from '../constants'\nimport { useConnectStore, useEvent } from '../context/hooks'\n\nexport interface ConnectWidgetPanelProps {\n loadWidgetProps?: object\n /** Mounts/unmounts the underlying iframe-based ConnectWidget. */\n isActive: boolean\n // Optional entry point. When set, the widget lifecycle emits PostHog events:\n // opened on open, completed on member-connect, errored on load failure, and\n // abandoned when an open session ends (close/unmount) without connecting or\n // erroring. Emits nothing when unset, so existing call sites are unaffected.\n source?: ConnectWidgetSource\n}\n\n/**\n * The Connect widget itself (SSO url via ConnectStore, the iframe-based\n * `@mxenabled/web-widget-sdk` ConnectWidget, loading/error statuses) with no\n * `Drawer` of its own — content-only, so a caller can put it inside any\n * container (a `Drawer`, as `ConnectDrawer` does, or directly inside another\n * drawer's content slot, as `ConnectWidgetActionBlock` does).\n *\n * Extracted from `ConnectDrawer` so `ConnectWidgetActionBlock` can render just\n * the widget without nesting a second `Drawer` inside `ActionBlockLayer`'s.\n */\nconst ConnectWidgetPanel: React.FC<ConnectWidgetPanelProps> = ({\n isActive,\n loadWidgetProps,\n source,\n}) => {\n let connectWidget: ConnectWidget\n\n const { loadWidget } = useConnectStore()\n const { onEvent } = useEvent()\n const [isLoading, setIsLoading] = React.useState(false)\n const [hasError, setHasError] = React.useState(false)\n const hasConnectedMember = React.useRef(false)\n // Latest-value mirror of hasError so the effect cleanup's `abandoned` check\n // reads the current error, not the stale value captured when the effect ran.\n const hasErrorRef = React.useRef(hasError)\n hasErrorRef.current = hasError\n const {\n palette: { mode },\n } = useTheme()\n\n React.useEffect(() => {\n // Terminal failure path (SSO url fetch rejects or the widget reports a load\n // error): show the error state and close the funnel with an errored event.\n const handleError = () => {\n setIsLoading(false)\n setHasError(true)\n if (source) onEvent(ANALYTICS_EVENTS.CONNECT_WIDGET_ERRORED, { source })\n }\n\n if (isActive) {\n hasConnectedMember.current = false\n if (source) onEvent(ANALYTICS_EVENTS.CONNECT_WIDGET_OPENED, { source })\n setIsLoading(true)\n loadWidget({ mode: mode, ...loadWidgetProps })\n .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: handleError,\n onLoad: () => {\n setIsLoading(false)\n setHasError(false)\n },\n onMemberConnected: () => {\n hasConnectedMember.current = true\n if (source) onEvent(ANALYTICS_EVENTS.CONNECT_WIDGET_COMPLETED, { source })\n },\n })\n })\n .catch(handleError)\n } else {\n setIsLoading(false)\n setHasError(false)\n }\n\n return () => {\n connectWidget?.unmount()\n // Only an open session's cleanup (isActive captured true) is an abandonment;\n // skip initial-mount cleanup and completed/errored runs (the latter already\n // emitted their own terminal event).\n if (isActive && source && !hasConnectedMember.current && !hasErrorRef.current) {\n onEvent(ANALYTICS_EVENTS.CONNECT_WIDGET_ABANDONED, { source })\n }\n }\n }, [isActive])\n\n return (\n <div id={CONNECT_WIDGET_ID}>\n {hasError && <ConnectStatus status={MemberConnectionStatus.Error} />}\n {isLoading && <ConnectStatus status={MemberConnectionStatus.Loading} />}\n </div>\n )\n}\n\nexport default observer(ConnectWidgetPanel)\n"],"mappings":";;;;;;;;;AAmCA,IAAM,IAAA,CAAyD,EAC7D,UAAA,GACA,iBAAA,GACA,QAAA,EAAA,MACI;AACJ,MAAI;AAEJ,QAAM,EAAE,YAAA,EAAA,IAAe,EAAgB,GACjC,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,CAAC,GAAW,CAAA,IAAgB,EAAM,SAAS,EAAK,GAChD,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,EAAK,GAC9C,IAAqB,EAAM,OAAO,EAAK,GAGvC,IAAc,EAAM,OAAO,CAAQ;AACzC,EAAA,EAAY,UAAU;AACtB,QAAM,EACJ,SAAS,EAAE,MAAA,EAAA,EAAA,IACT,EAAS;AAEb,SAAA,EAAM,UAAA,MAAgB;AAGpB,UAAM,IAAA,MAAoB;AACxB,MAAA,EAAa,EAAK,GAClB,EAAY,EAAI,GACZ,KAAQ,EAAQ,EAAiB,wBAAwB,EAAE,QAAA,EAAO,CAAC;AAAA,IACzE;AAEA,WAAI,KACF,EAAmB,UAAU,IACzB,KAAQ,EAAQ,EAAiB,uBAAuB,EAAE,QAAA,EAAO,CAAC,GACtE,EAAa,EAAI,GACjB,EAAW;AAAA,MAAQ,MAAA;AAAA,MAAM,GAAG;AAAA,IAAgB,CAAC,EAC1C,KAAA,CAAM,MAAQ;AACb,MAAA,IAAgB,IAAI,EAAc;AAAA,QAChC,WAAW,IAAI,CAAA;AAAA,QACf,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,OAAO;AAAA,QACT;AAAA,QACA,KAAK,EAAI;AAAA,QACT,mBAAmB;AAAA,QACnB,QAAA,MAAc;AACZ,UAAA,EAAa,EAAK,GAClB,EAAY,EAAK;AAAA,QACnB;AAAA,QACA,mBAAA,MAAyB;AACvB,UAAA,EAAmB,UAAU,IACzB,KAAQ,EAAQ,EAAiB,0BAA0B,EAAE,QAAA,EAAO,CAAC;AAAA,QAC3E;AAAA,MACF,CAAC;AAAA,IACH,CAAC,EACA,MAAM,CAAW,MAEpB,EAAa,EAAK,GAClB,EAAY,EAAK,IAGnB,MAAa;AACX,MAAA,GAAe,QAAQ,GAInB,KAAY,KAAU,CAAC,EAAmB,WAAW,CAAC,EAAY,WACpE,EAAQ,EAAiB,0BAA0B,EAAE,QAAA,EAAO,CAAC;AAAA,IAEjE;AAAA,EACF,GAAG,CAAC,CAAQ,CAAC,GAGX,gBAAA,EAAC,OAAD;AAAA,IAAK,IAAI;AAAA,IAAT,UAAA,CACG,KAAY,gBAAA,EAAC,GAAD,EAAe,QAAQ,EAAuB,MAAQ,CAAA,GAClE,KAAa,gBAAA,EAAC,GAAD,EAAe,QAAQ,EAAuB,QAAU,CAAA,CACnE;AAAA;AAET,GAEA,IAAe,EAAS,CAAkB"}
|
|
@@ -132,4 +132,10 @@ export declare const ANALYTICS_EVENTS: {
|
|
|
132
132
|
TRENDS_LOAD_WIDGET: string;
|
|
133
133
|
TRENDS_VIEW_TRANSACTIONS: string;
|
|
134
134
|
WIDGET_SIZE_CHANGED: string;
|
|
135
|
+
BANNER_VIEW: string;
|
|
136
|
+
BANNER_CLICK: string;
|
|
137
|
+
CONNECT_WIDGET_OPENED: string;
|
|
138
|
+
CONNECT_WIDGET_COMPLETED: string;
|
|
139
|
+
CONNECT_WIDGET_ABANDONED: string;
|
|
140
|
+
CONNECT_WIDGET_ERRORED: string;
|
|
135
141
|
};
|
|
@@ -131,7 +131,13 @@ var _ = {
|
|
|
131
131
|
TRENDS_HOVER_LEGEND: "trends_hover_ChartLegend",
|
|
132
132
|
TRENDS_LOAD_WIDGET: "trends_load_widget",
|
|
133
133
|
TRENDS_VIEW_TRANSACTIONS: "trends_view_transactions",
|
|
134
|
-
WIDGET_SIZE_CHANGED: "widget_size_changed"
|
|
134
|
+
WIDGET_SIZE_CHANGED: "widget_size_changed",
|
|
135
|
+
BANNER_VIEW: "viewed_banner",
|
|
136
|
+
BANNER_CLICK: "clicked_banner",
|
|
137
|
+
CONNECT_WIDGET_OPENED: "opened_connect_widget",
|
|
138
|
+
CONNECT_WIDGET_COMPLETED: "completed_connect_widget",
|
|
139
|
+
CONNECT_WIDGET_ABANDONED: "abandoned_connect_widget",
|
|
140
|
+
CONNECT_WIDGET_ERRORED: "errored_connect_widget"
|
|
135
141
|
};
|
|
136
142
|
export {
|
|
137
143
|
_ as ANALYTICS_EVENTS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Analytics.es.js","names":[],"sources":["../../../src/common/constants/Analytics.ts"],"sourcesContent":["export const ANALYTICS_EVENTS = {\n ACCOUNTS_CLICK_ACCOUNT: 'accounts_widget_click_account',\n ACCOUNTS_CLICK_CONNECT: 'accounts_widget_click_connect_accounts',\n ACCOUNTS_CLICK_FILTER: 'accounts_widget_click_filter_accounts',\n ACCOUNTS_CLICK_SYNC: 'accounts_widget_click_sync',\n ACCOUNT_DETAILS_CLICK_HIDE: 'account_details_click_hide_account',\n ACCOUNT_DETAILS_CLICK_MARK_CLOSED: 'account_details_click_mark_as_closed',\n ACCOUNT_DETAILS_CLICK_MARK_DUPLICATE: 'account_details_click_mark_as_duplicate',\n ACCOUNT_DETAILS_CLICK_TRANSACTION: 'account_details_click_transaction',\n ACCOUNT_DETAILS_VIEW: 'account_details',\n ACCOUNT_DETAILS_VIEW_TRANSACTIONS: 'account_details_transactions',\n BUDGETS_CLICK_ADD: 'budgets_widget_click_add_budget',\n BUDGETS_CLICK_BUDGET_CATEGORY: 'budgets_widget_click_budget_category',\n BUDGETS_CLICK_EDIT_INCOME: 'budgets_widget_click_edit_income',\n BUDGETS_CLICK_FILTER: 'budgets_widget_click_filter_accounts',\n BUDGETS_VIEW: 'budgets',\n CASH_FLOW_CLICK_FILTER: 'cash_flow_widget_click_filter_accounts',\n CASH_FLOW_CLICK_SETTINGS: 'cash_flow_widget_click_settings',\n DEBTS_CLICK_CHART_AREA: 'debts_widget_click_chart_area',\n DEBTS_CLICK_FILTER: 'debts_widget_click_filter_accounts',\n DEBTS_CLICK_PAYDOWN: 'debts_widget_click_paydown',\n DEBTS_CLICK_PRIORITY: 'debts_widget_click_priority',\n DEBTS_CLICK_PRIORITIZE: 'debts_widget_click_prioritize',\n DEBTS_CLICK_SNOWBALL_CTA: 'debts_widget_click_snowball_cta',\n DEBTS_CLICK_TABLE_ROW: 'debts_widget_click_table_row',\n DEBTS_CLICK_TABLE_SORT: 'debts_widget_click_table_sort',\n DEBTS_SAVE_BALANCE_ACTION: 'debts_widget_click_balance_action',\n DEBTS_SAVE_PAYDOWN_ACTION: 'debts_widget_click_paydown_action',\n DEBTS_SAVE_PAYMENT_ACTION: 'debts_widget_click_payment_action',\n DEBTS_SAVE_RATE_ACTION: 'debts_widget_click_rate_action',\n DEBTS_VIEW: 'debts',\n DEBT_DETAILS_VIEW: 'debt_details',\n DEBT_SCHEDULE_VIEW: 'debt_schedule',\n GOALS_CLICK_ADD: 'goals_widget_click_add',\n GOALS_CLICK_FILTER: 'goals_widget_click_filter_accounts',\n GOALS_VIEW: 'goals',\n GOALS_MICRO_WIDGET_CTA: 'goals_micro_widget_click_see_details_cta',\n HELP_CLICK_CATEGORY: 'help_click_category',\n HELP_CLICK_NEED_MORE_ASSISTANCE: 'help_click_needMoreAssistance',\n HELP_CLICK_OPEN_CASE: 'help_click_openCase',\n HELP_CLICK_REQUEST_SUPPORT: 'help_click_requestSupport',\n HELP_CLICK_SUPPORT_FOR_INSTITUTION: 'help_click_supportForInstitution',\n HELP_CLICK_SUPPORT_FOR_MISSING_INSTITUTION: 'help_click_supportForMissingInstitution',\n HELP_CLICK_SUPPORT_TOPIC: 'help_click_supportTopic',\n HELP_CLICK_TOPIC: 'help_click_topic',\n HELP_EXPAND_CATEGORY: 'help_expand_category',\n HELP_EXPAND_TOPIC: 'help_expand_topic',\n HELP_SUBMIT_SUPPORT_REQUEST: 'help_submit_supportRequest',\n INVESTMENTS: 'Investments',\n INVESTMENT_WIDGET_ACCOUNT_FILTER_CLICK: 'investment_widget_account_filter_click',\n INVESTMENT_WIDGET_ALLOCATION_CLICK: 'investment_widget_allocation_click',\n INVESTMENT_WIDGET_ANALYSIS_CLICK: 'investment_widget_analysis_click',\n INVESTMENT_WIDGET_DETAILS_CLICK: 'investment_widget_details_click',\n NET_WORTH_VIEW: 'netWorth',\n NETWORTH_MICRO_WIDGET_CTA: 'net_worth_micro_widget_click_see_details_cta',\n NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES: 'net_worth_widget_click_view_assets_liabilities',\n NET_WORTH_WIDGET_CLICK_FILTER: 'net_worth_widget_click_filter_accounts',\n NET_WORTH_WIDGET_CLICK_TIMEFRAME: 'netWorth_click_timePeriod',\n RECURRING_ACTIVITY_CLICK_ADD_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_add_expense',\n RECURRING_ACTIVITY_CLICK_ADD_INCOME:\n 'recurring_transactions_widget_income_details_click_add_income',\n RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT: 'recurring_transactions_widget_click_calendar_right',\n RECURRING_ACTIVITY_CLICK_EXPENSE: 'recurring_transactions_widget_manage_expenses_click_expense',\n RECURRING_ACTIVITY_CLICK_FILTER: 'recurring_transactions_widget_click_filter_accounts',\n RECURRING_ACTIVITY_CLICK_INCOME: 'recurring_transactions_widget_click_income',\n RECURRING_ACTIVITY_CLICK_PAID: 'recurring_transactions_widget_click_paid_expense',\n RECURRING_ACTIVITY_CLICK_SETTINGS: 'recurring_transactions_widget_click_settings',\n RECURRING_ACTIVITY_CLICK_UPCOMING: 'recurring_transactions_widget_click_upcoming_transaction',\n RECURRING_TRANSACTIONS_CLICK_ADD_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_add_expense',\n RECURRING_TRANSACTIONS_CLICK_ADD_INCOME:\n 'recurring_transactions_widget_income_details_click_add_income',\n RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT: 'recurring_transactions_widget_click_calendar_right',\n RECURRING_TRANSACTIONS_CLICK_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_expense',\n RECURRING_TRANSACTIONS_CLICK_FILTER: 'recurring_transactions_widget_click_filter_accounts',\n RECURRING_TRANSACTIONS_CLICK_INCOME: 'recurring_transactions_widget_click_income',\n RECURRING_TRANSACTIONS_CLICK_PAID: 'recurring_transactions_widget_click_paid_expense',\n RECURRING_TRANSACTIONS_CLICK_SETTINGS: 'recurring_transactions_widget_click_settings',\n RECURRING_TRANSACTIONS_CLICK_UPCOMING: 'recurring_transactions_widget_click_upcoming_transaction',\n RECURRING_TRANSACTIONS_DETAILS_CLICK_DELETE: 'recurring_transactions_widget_details_click_delete',\n RECURRING_TRANSACTIONS_DETAILS_CLICK_PAYMENT_SCHEDULE:\n 'recurring_transactions_widget_details_click_payment_schedule',\n RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_PAID:\n 'recurring_transactions_widget_list_click_mark_as_paid',\n RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_UNPAID:\n 'recurring_transactions_widget_list_click_mark_as_unpaid',\n RECURRING_TRANSACTIONS_LIST_CLICK_MORE_MENU: 'recurring_transactions_widget_list_click_more_menu',\n RECURRING_TRANSACTIONS_MICRO_WIDGET_CTA: 'recurring_transactions_micro_widget_click_view_all_cta',\n SPENDING_CLICK_FILTER: 'spending_widget_click_filter_accounts',\n SPENDING_VIEW: 'spending',\n TRANSACTIONS_ADD_MANUAL_ACCOUNT_MODAL: 'transactions_add_manual_account_modal',\n TRANSACTIONS_CLICK_ADD: 'transactions_click_add_transaction',\n TRANSACTIONS_CLICK_DETAILS: 'transactions_click_transaction_details',\n TRANSACTIONS_CLICK_EXPORT: 'transactions_click_export_csv',\n TRANSACTIONS_CLICK_FILTER: 'transactions_click_filter_accounts',\n TRANSACTIONS_CLICK_SEARCH: 'transactions_click_search',\n TRANSACTIONS_VIEW: 'transactions',\n TRANSACTION_DETAILS_CLICK_AMOUNT: 'transaction_details_click_transaction_amount',\n TRANSACTION_DETAILS_CLICK_CATEGORY: 'transaction_details_click_category',\n TRANSACTION_DETAILS_CLICK_DATE: 'transaction_details_click_date',\n TRANSACTION_DETAILS_CLICK_DELETE_LOGO: 'transaction_details_click_delete_merchant_logo',\n TRANSACTION_DETAILS_CLICK_DESCRIPTION: 'transaction_details_click_edit_description',\n TRANSACTION_DETAILS_CLICK_FLAG: 'transaction_details_click_flag_transaction',\n TRANSACTION_DETAILS_CLICK_MEMO: 'transaction_details_click_memo',\n TRANSACTION_DETAILS_CLICK_SPLIT: 'transaction_details_click_split_transaction',\n TRANSACTION_DETAILS_CLICK_TAGS: 'transaction_details_click_tags',\n TRANSACTION_DETAILS_CLICK_UNSPLIT: 'transaction_details_click_unsplit_transaction',\n TRANSACTION_DETAILS_VIEW: 'transaction_details',\n TRANSACTIONS_TABLE_CLICK_CATEGORY: 'transactions_table_click_category',\n WIDGET_BACK_CLICK: 'widget_back_button_click',\n\n // NEW ANAYTICS EVENT FORMAT\n // widget_action_subject\n GOALS_CLICK_GET_STARTED: 'goals_click_getStarted',\n GOALS_CLICK_VIEW_DETAILS: 'goals_click_viewDetails',\n GOALS_LOAD_WIDGET: 'goals_load_widget',\n NET_WORTH_CLICK_GET_STARTED: 'netWorth_click_getStarted',\n NET_WORTH_CLICK_VIEW_DETAILS: 'netWorth_click_viewDetails',\n NET_WORTH_LOAD_WIDGET: 'netWorth_load_widget',\n RECURRING_TRANSACTIONS_CLICK_GET_STARTED: 'recurringTransactions_click_getStarted',\n RECURRING_TRANSACTIONS_CLICK_VIEW_ALL: 'recurringTransactions_click_viewAll',\n RECURRING_TRANSACTIONS_LOAD_WIDGET: 'recurringTransactions_load_widget',\n TRENDS_CLICK_ALL_CATEGORIES: 'trends_click_allCategories',\n TRENDS_CLICK_BACK: 'trends_click_back',\n TRENDS_CLICK_CHART: 'trends_click_chart',\n TRENDS_CLICK_CONNECT_ACCOUNTS: 'trends_click_connectAccounts',\n TRENDS_CLICK_EXPORT_CSV: 'trends_click_exportCSV',\n TRENDS_CLICK_FILTER: 'trends_click_filter',\n TRENDS_CLICK_GET_STARTED: 'trends_click_getStarted',\n TRENDS_CLICK_INSIGHT: 'trends_click_insight',\n TRENDS_CLICK_LEGEND: 'trends_click_legend',\n TRENDS_CLICK_LIST_ITEM: 'trends_click_listItem',\n TRENDS_CLICK_TABLE_SORT: 'trends_click_tableSort',\n TRENDS_CLICK_TIME_WINDOW: 'trends_click_timeWindow',\n TRENDS_CLICK_TOGGLE_VIEW: 'trends_click_toggleView',\n TRENDS_CLICK_VIEW_MORE: 'trends_click_viewMore',\n TRENDS_CLICK_VIEW_TRANSACTIONS: 'trends_click_viewTransactions',\n TRENDS_HOVER_AREA: 'trends_hover_chartArea',\n TRENDS_HOVER_POINT: 'trends_hover_chartPoint',\n TRENDS_HOVER_LEGEND: 'trends_hover_ChartLegend',\n TRENDS_LOAD_WIDGET: 'trends_load_widget',\n TRENDS_VIEW_TRANSACTIONS: 'trends_view_transactions',\n WIDGET_SIZE_CHANGED: 'widget_size_changed',\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Analytics.es.js","names":[],"sources":["../../../src/common/constants/Analytics.ts"],"sourcesContent":["export const ANALYTICS_EVENTS = {\n ACCOUNTS_CLICK_ACCOUNT: 'accounts_widget_click_account',\n ACCOUNTS_CLICK_CONNECT: 'accounts_widget_click_connect_accounts',\n ACCOUNTS_CLICK_FILTER: 'accounts_widget_click_filter_accounts',\n ACCOUNTS_CLICK_SYNC: 'accounts_widget_click_sync',\n ACCOUNT_DETAILS_CLICK_HIDE: 'account_details_click_hide_account',\n ACCOUNT_DETAILS_CLICK_MARK_CLOSED: 'account_details_click_mark_as_closed',\n ACCOUNT_DETAILS_CLICK_MARK_DUPLICATE: 'account_details_click_mark_as_duplicate',\n ACCOUNT_DETAILS_CLICK_TRANSACTION: 'account_details_click_transaction',\n ACCOUNT_DETAILS_VIEW: 'account_details',\n ACCOUNT_DETAILS_VIEW_TRANSACTIONS: 'account_details_transactions',\n BUDGETS_CLICK_ADD: 'budgets_widget_click_add_budget',\n BUDGETS_CLICK_BUDGET_CATEGORY: 'budgets_widget_click_budget_category',\n BUDGETS_CLICK_EDIT_INCOME: 'budgets_widget_click_edit_income',\n BUDGETS_CLICK_FILTER: 'budgets_widget_click_filter_accounts',\n BUDGETS_VIEW: 'budgets',\n CASH_FLOW_CLICK_FILTER: 'cash_flow_widget_click_filter_accounts',\n CASH_FLOW_CLICK_SETTINGS: 'cash_flow_widget_click_settings',\n DEBTS_CLICK_CHART_AREA: 'debts_widget_click_chart_area',\n DEBTS_CLICK_FILTER: 'debts_widget_click_filter_accounts',\n DEBTS_CLICK_PAYDOWN: 'debts_widget_click_paydown',\n DEBTS_CLICK_PRIORITY: 'debts_widget_click_priority',\n DEBTS_CLICK_PRIORITIZE: 'debts_widget_click_prioritize',\n DEBTS_CLICK_SNOWBALL_CTA: 'debts_widget_click_snowball_cta',\n DEBTS_CLICK_TABLE_ROW: 'debts_widget_click_table_row',\n DEBTS_CLICK_TABLE_SORT: 'debts_widget_click_table_sort',\n DEBTS_SAVE_BALANCE_ACTION: 'debts_widget_click_balance_action',\n DEBTS_SAVE_PAYDOWN_ACTION: 'debts_widget_click_paydown_action',\n DEBTS_SAVE_PAYMENT_ACTION: 'debts_widget_click_payment_action',\n DEBTS_SAVE_RATE_ACTION: 'debts_widget_click_rate_action',\n DEBTS_VIEW: 'debts',\n DEBT_DETAILS_VIEW: 'debt_details',\n DEBT_SCHEDULE_VIEW: 'debt_schedule',\n GOALS_CLICK_ADD: 'goals_widget_click_add',\n GOALS_CLICK_FILTER: 'goals_widget_click_filter_accounts',\n GOALS_VIEW: 'goals',\n GOALS_MICRO_WIDGET_CTA: 'goals_micro_widget_click_see_details_cta',\n HELP_CLICK_CATEGORY: 'help_click_category',\n HELP_CLICK_NEED_MORE_ASSISTANCE: 'help_click_needMoreAssistance',\n HELP_CLICK_OPEN_CASE: 'help_click_openCase',\n HELP_CLICK_REQUEST_SUPPORT: 'help_click_requestSupport',\n HELP_CLICK_SUPPORT_FOR_INSTITUTION: 'help_click_supportForInstitution',\n HELP_CLICK_SUPPORT_FOR_MISSING_INSTITUTION: 'help_click_supportForMissingInstitution',\n HELP_CLICK_SUPPORT_TOPIC: 'help_click_supportTopic',\n HELP_CLICK_TOPIC: 'help_click_topic',\n HELP_EXPAND_CATEGORY: 'help_expand_category',\n HELP_EXPAND_TOPIC: 'help_expand_topic',\n HELP_SUBMIT_SUPPORT_REQUEST: 'help_submit_supportRequest',\n INVESTMENTS: 'Investments',\n INVESTMENT_WIDGET_ACCOUNT_FILTER_CLICK: 'investment_widget_account_filter_click',\n INVESTMENT_WIDGET_ALLOCATION_CLICK: 'investment_widget_allocation_click',\n INVESTMENT_WIDGET_ANALYSIS_CLICK: 'investment_widget_analysis_click',\n INVESTMENT_WIDGET_DETAILS_CLICK: 'investment_widget_details_click',\n NET_WORTH_VIEW: 'netWorth',\n NETWORTH_MICRO_WIDGET_CTA: 'net_worth_micro_widget_click_see_details_cta',\n NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES: 'net_worth_widget_click_view_assets_liabilities',\n NET_WORTH_WIDGET_CLICK_FILTER: 'net_worth_widget_click_filter_accounts',\n NET_WORTH_WIDGET_CLICK_TIMEFRAME: 'netWorth_click_timePeriod',\n RECURRING_ACTIVITY_CLICK_ADD_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_add_expense',\n RECURRING_ACTIVITY_CLICK_ADD_INCOME:\n 'recurring_transactions_widget_income_details_click_add_income',\n RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT: 'recurring_transactions_widget_click_calendar_right',\n RECURRING_ACTIVITY_CLICK_EXPENSE: 'recurring_transactions_widget_manage_expenses_click_expense',\n RECURRING_ACTIVITY_CLICK_FILTER: 'recurring_transactions_widget_click_filter_accounts',\n RECURRING_ACTIVITY_CLICK_INCOME: 'recurring_transactions_widget_click_income',\n RECURRING_ACTIVITY_CLICK_PAID: 'recurring_transactions_widget_click_paid_expense',\n RECURRING_ACTIVITY_CLICK_SETTINGS: 'recurring_transactions_widget_click_settings',\n RECURRING_ACTIVITY_CLICK_UPCOMING: 'recurring_transactions_widget_click_upcoming_transaction',\n RECURRING_TRANSACTIONS_CLICK_ADD_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_add_expense',\n RECURRING_TRANSACTIONS_CLICK_ADD_INCOME:\n 'recurring_transactions_widget_income_details_click_add_income',\n RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT: 'recurring_transactions_widget_click_calendar_right',\n RECURRING_TRANSACTIONS_CLICK_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_expense',\n RECURRING_TRANSACTIONS_CLICK_FILTER: 'recurring_transactions_widget_click_filter_accounts',\n RECURRING_TRANSACTIONS_CLICK_INCOME: 'recurring_transactions_widget_click_income',\n RECURRING_TRANSACTIONS_CLICK_PAID: 'recurring_transactions_widget_click_paid_expense',\n RECURRING_TRANSACTIONS_CLICK_SETTINGS: 'recurring_transactions_widget_click_settings',\n RECURRING_TRANSACTIONS_CLICK_UPCOMING: 'recurring_transactions_widget_click_upcoming_transaction',\n RECURRING_TRANSACTIONS_DETAILS_CLICK_DELETE: 'recurring_transactions_widget_details_click_delete',\n RECURRING_TRANSACTIONS_DETAILS_CLICK_PAYMENT_SCHEDULE:\n 'recurring_transactions_widget_details_click_payment_schedule',\n RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_PAID:\n 'recurring_transactions_widget_list_click_mark_as_paid',\n RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_UNPAID:\n 'recurring_transactions_widget_list_click_mark_as_unpaid',\n RECURRING_TRANSACTIONS_LIST_CLICK_MORE_MENU: 'recurring_transactions_widget_list_click_more_menu',\n RECURRING_TRANSACTIONS_MICRO_WIDGET_CTA: 'recurring_transactions_micro_widget_click_view_all_cta',\n SPENDING_CLICK_FILTER: 'spending_widget_click_filter_accounts',\n SPENDING_VIEW: 'spending',\n TRANSACTIONS_ADD_MANUAL_ACCOUNT_MODAL: 'transactions_add_manual_account_modal',\n TRANSACTIONS_CLICK_ADD: 'transactions_click_add_transaction',\n TRANSACTIONS_CLICK_DETAILS: 'transactions_click_transaction_details',\n TRANSACTIONS_CLICK_EXPORT: 'transactions_click_export_csv',\n TRANSACTIONS_CLICK_FILTER: 'transactions_click_filter_accounts',\n TRANSACTIONS_CLICK_SEARCH: 'transactions_click_search',\n TRANSACTIONS_VIEW: 'transactions',\n TRANSACTION_DETAILS_CLICK_AMOUNT: 'transaction_details_click_transaction_amount',\n TRANSACTION_DETAILS_CLICK_CATEGORY: 'transaction_details_click_category',\n TRANSACTION_DETAILS_CLICK_DATE: 'transaction_details_click_date',\n TRANSACTION_DETAILS_CLICK_DELETE_LOGO: 'transaction_details_click_delete_merchant_logo',\n TRANSACTION_DETAILS_CLICK_DESCRIPTION: 'transaction_details_click_edit_description',\n TRANSACTION_DETAILS_CLICK_FLAG: 'transaction_details_click_flag_transaction',\n TRANSACTION_DETAILS_CLICK_MEMO: 'transaction_details_click_memo',\n TRANSACTION_DETAILS_CLICK_SPLIT: 'transaction_details_click_split_transaction',\n TRANSACTION_DETAILS_CLICK_TAGS: 'transaction_details_click_tags',\n TRANSACTION_DETAILS_CLICK_UNSPLIT: 'transaction_details_click_unsplit_transaction',\n TRANSACTION_DETAILS_VIEW: 'transaction_details',\n TRANSACTIONS_TABLE_CLICK_CATEGORY: 'transactions_table_click_category',\n WIDGET_BACK_CLICK: 'widget_back_button_click',\n\n // NEW ANAYTICS EVENT FORMAT\n // widget_action_subject\n GOALS_CLICK_GET_STARTED: 'goals_click_getStarted',\n GOALS_CLICK_VIEW_DETAILS: 'goals_click_viewDetails',\n GOALS_LOAD_WIDGET: 'goals_load_widget',\n NET_WORTH_CLICK_GET_STARTED: 'netWorth_click_getStarted',\n NET_WORTH_CLICK_VIEW_DETAILS: 'netWorth_click_viewDetails',\n NET_WORTH_LOAD_WIDGET: 'netWorth_load_widget',\n RECURRING_TRANSACTIONS_CLICK_GET_STARTED: 'recurringTransactions_click_getStarted',\n RECURRING_TRANSACTIONS_CLICK_VIEW_ALL: 'recurringTransactions_click_viewAll',\n RECURRING_TRANSACTIONS_LOAD_WIDGET: 'recurringTransactions_load_widget',\n TRENDS_CLICK_ALL_CATEGORIES: 'trends_click_allCategories',\n TRENDS_CLICK_BACK: 'trends_click_back',\n TRENDS_CLICK_CHART: 'trends_click_chart',\n TRENDS_CLICK_CONNECT_ACCOUNTS: 'trends_click_connectAccounts',\n TRENDS_CLICK_EXPORT_CSV: 'trends_click_exportCSV',\n TRENDS_CLICK_FILTER: 'trends_click_filter',\n TRENDS_CLICK_GET_STARTED: 'trends_click_getStarted',\n TRENDS_CLICK_INSIGHT: 'trends_click_insight',\n TRENDS_CLICK_LEGEND: 'trends_click_legend',\n TRENDS_CLICK_LIST_ITEM: 'trends_click_listItem',\n TRENDS_CLICK_TABLE_SORT: 'trends_click_tableSort',\n TRENDS_CLICK_TIME_WINDOW: 'trends_click_timeWindow',\n TRENDS_CLICK_TOGGLE_VIEW: 'trends_click_toggleView',\n TRENDS_CLICK_VIEW_MORE: 'trends_click_viewMore',\n TRENDS_CLICK_VIEW_TRANSACTIONS: 'trends_click_viewTransactions',\n TRENDS_HOVER_AREA: 'trends_hover_chartArea',\n TRENDS_HOVER_POINT: 'trends_hover_chartPoint',\n TRENDS_HOVER_LEGEND: 'trends_hover_ChartLegend',\n TRENDS_LOAD_WIDGET: 'trends_load_widget',\n TRENDS_VIEW_TRANSACTIONS: 'trends_view_transactions',\n WIDGET_SIZE_CHANGED: 'widget_size_changed',\n\n // Banner ads & connect-widget lifecycle funnel (entry point in the `source`\n // property). Names are the contract with PostHog/Insights — do not rename.\n BANNER_VIEW: 'viewed_banner',\n BANNER_CLICK: 'clicked_banner',\n CONNECT_WIDGET_OPENED: 'opened_connect_widget',\n CONNECT_WIDGET_COMPLETED: 'completed_connect_widget',\n CONNECT_WIDGET_ABANDONED: 'abandoned_connect_widget',\n CONNECT_WIDGET_ERRORED: 'errored_connect_widget',\n}\n"],"mappings":"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"}
|
|
@@ -4,3 +4,10 @@ export declare enum MemberConnectionStatus {
|
|
|
4
4
|
Loading = "loading",
|
|
5
5
|
Error = "error"
|
|
6
6
|
}
|
|
7
|
+
export declare const DEEP_LINK_TYPE: {
|
|
8
|
+
readonly CONNECT: 2;
|
|
9
|
+
};
|
|
10
|
+
export declare const CONNECT_WIDGET_SOURCES: {
|
|
11
|
+
readonly BANNER: "banner";
|
|
12
|
+
};
|
|
13
|
+
export type ConnectWidgetSource = (typeof CONNECT_WIDGET_SOURCES)[keyof typeof CONNECT_WIDGET_SOURCES];
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
var
|
|
1
|
+
var E = "connect_widget", N = "connections_widget", _ = /* @__PURE__ */ (function(r) {
|
|
2
2
|
return r.Loading = "loading", r.Error = "error", r;
|
|
3
|
-
})({});
|
|
3
|
+
})({}), n = { CONNECT: 2 }, C = { BANNER: "banner" };
|
|
4
4
|
export {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
N as CONNECTIONS_WIDGET_ID,
|
|
6
|
+
E as CONNECT_WIDGET_ID,
|
|
7
|
+
C as CONNECT_WIDGET_SOURCES,
|
|
8
|
+
n as DEEP_LINK_TYPE,
|
|
7
9
|
_ as MemberConnectionStatus
|
|
8
10
|
};
|
|
9
11
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connect.es.js","names":[],"sources":["../../../src/common/constants/Connect.ts"],"sourcesContent":["export const CONNECT_WIDGET_ID = 'connect_widget'\nexport const CONNECTIONS_WIDGET_ID = 'connections_widget'\n\n// Connection state shared by the foundational `common` layer (ConnectDrawer /\n// ConnectStatus) and the accounts widget. Lives in `common` so `common` does not\n// have to depend on `accounts` (which created a common->accounts layering\n// violation and blocked per-widget code splitting).\nexport enum MemberConnectionStatus {\n Loading = 'loading',\n Error = 'error',\n}\n"],"mappings":"AAAA,IAAa,IAAoB,kBACpB,IAAwB,sBAMzB,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,UAAA,WACA,EAAA,QAAA;AACF,GAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"Connect.es.js","names":[],"sources":["../../../src/common/constants/Connect.ts"],"sourcesContent":["export const CONNECT_WIDGET_ID = 'connect_widget'\nexport const CONNECTIONS_WIDGET_ID = 'connections_widget'\n\n// Connection state shared by the foundational `common` layer (ConnectDrawer /\n// ConnectStatus) and the accounts widget. Lives in `common` so `common` does not\n// have to depend on `accounts` (which created a common->accounts layering\n// violation and blocked per-widget code splitting).\nexport enum MemberConnectionStatus {\n Loading = 'loading',\n Error = 'error',\n}\n\n// In-app destination advertised by a banner ad (`Banner.deep_link_type`). Value\n// matches bullseye's DeepLinkType enum (CONNECT_WIDGET = 2). Longbow does not\n// surface it in the banner response yet, so until it does every banner falls\n// back to its external `redirect_url` and this path stays inert.\nexport const DEEP_LINK_TYPE = {\n CONNECT: 2,\n} as const\n\n// Entry point a ConnectDrawer was opened from, sent as `source` on the\n// connect-widget lifecycle events. Call sites with no source emit no events.\nexport const CONNECT_WIDGET_SOURCES = {\n BANNER: 'banner',\n} as const\n\nexport type ConnectWidgetSource =\n (typeof CONNECT_WIDGET_SOURCES)[keyof typeof CONNECT_WIDGET_SOURCES]\n"],"mappings":"AAAA,IAAa,IAAoB,kBACpB,IAAwB,sBAMzB,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,UAAA,WACA,EAAA,QAAA;AACF,GAAA,CAAA,CAAA,GAMa,IAAiB,EAC5B,SAAS,EACX,GAIa,IAAyB,EACpC,QAAQ,SACV"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { ANALYTICS_EVENTS } from './Analytics';
|
|
2
|
-
export { CONNECT_WIDGET_ID, CONNECTIONS_WIDGET_ID, MemberConnectionStatus } from './Connect';
|
|
2
|
+
export { CONNECT_WIDGET_ID, CONNECT_WIDGET_SOURCES, CONNECTIONS_WIDGET_ID, DEEP_LINK_TYPE, MemberConnectionStatus, } from './Connect';
|
|
3
|
+
export type { ConnectWidgetSource } from './Connect';
|
|
3
4
|
export { INCOME_ACCOUNT_TYPES, PAYMENT_ACCOUNT_TYPES, SPENDING_ACCOUNT_TYPES } from './Account';
|
|
4
5
|
export { RECURRENCE_COPY } from './ScheduledPayment';
|
|
5
6
|
export { LOADING_STATUS } from './SpendingPlan';
|