@mx-cartographer/experiences 3.7.0-alpha.sms4 → 3.7.0-alpha.sms6
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/dist/common/api/AnalyticsApi.d.ts +3 -3
- package/dist/common/types/Analytics.d.ts +23 -9
- package/dist/index.es.js +138 -125
- package/dist/index.es.js.map +1 -1
- package/dist/transactions/analytics.d.ts +1 -1
- package/dist/transactions/stores/TransactionStore.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Fetch } from '../utils';
|
|
2
|
-
import { AnalyticsEvent } from '../types';
|
|
1
|
+
import { default as Fetch } from '../utils/Fetch';
|
|
2
|
+
import { AnalyticsEvent, AnalyticsPageview } from '../types/Analytics';
|
|
3
3
|
|
|
4
4
|
export declare class AnalyticsApi {
|
|
5
5
|
fetchInstance: Fetch;
|
|
@@ -8,5 +8,5 @@ export declare class AnalyticsApi {
|
|
|
8
8
|
analytics_session: any;
|
|
9
9
|
}>;
|
|
10
10
|
sendAnalyticEvent: (event: AnalyticsEvent) => Promise<any>;
|
|
11
|
-
sendAnalyticsPageview: (
|
|
11
|
+
sendAnalyticsPageview: (pageview: AnalyticsPageview) => Promise<any>;
|
|
12
12
|
}
|
|
@@ -11,20 +11,25 @@ export type AnalyticsEvent = {
|
|
|
11
11
|
name: string;
|
|
12
12
|
session_id: string;
|
|
13
13
|
user_agent: string;
|
|
14
|
+
value: string | null;
|
|
14
15
|
version: number;
|
|
15
16
|
};
|
|
16
17
|
};
|
|
17
18
|
export type AnalyticsPageview = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
analytics_pageview: {
|
|
20
|
+
app_version: string;
|
|
21
|
+
created_at: string;
|
|
22
|
+
detailed_path: string;
|
|
23
|
+
host: string;
|
|
24
|
+
metadata: string | null;
|
|
25
|
+
name: string;
|
|
26
|
+
path: string;
|
|
27
|
+
session_id: string;
|
|
28
|
+
user_agent: string;
|
|
29
|
+
};
|
|
25
30
|
};
|
|
26
|
-
export type BasicAnalyticsEvent = Pick<AnalyticsEvent['analytics_event'], 'action' | 'category' | 'label'>;
|
|
27
|
-
export type BasicAnalyticsPageview = Pick<AnalyticsPageview, '
|
|
31
|
+
export type BasicAnalyticsEvent = Pick<AnalyticsEvent['analytics_event'], 'action' | 'category' | 'label' | 'value'>;
|
|
32
|
+
export type BasicAnalyticsPageview = Pick<AnalyticsPageview['analytics_pageview'], 'name' | 'detailed_path' | 'metadata' | 'path'>;
|
|
28
33
|
export type AnalyticsSession = {
|
|
29
34
|
browser_name: string;
|
|
30
35
|
browser_version: string;
|
|
@@ -35,3 +40,12 @@ export type AnalyticsSession = {
|
|
|
35
40
|
};
|
|
36
41
|
export type AnalyticEventFunction = (event: string, session?: Awaited<ReturnType<typeof analyticsSession>> | null) => void;
|
|
37
42
|
export type AnalyticPageviewFunction = (page: string, session?: Awaited<ReturnType<typeof analyticsSession>> | null) => void;
|
|
43
|
+
export interface AnalyticsEventsObjectType extends BasicAnalyticsEvent {
|
|
44
|
+
instanceId: string;
|
|
45
|
+
}
|
|
46
|
+
export interface AnalyticsPageviewObjectType extends BasicAnalyticsPageview {
|
|
47
|
+
label: string;
|
|
48
|
+
name: string;
|
|
49
|
+
path: string;
|
|
50
|
+
value: string;
|
|
51
|
+
}
|
package/dist/index.es.js
CHANGED
|
@@ -8,10 +8,10 @@ import nt from "@mui/material/ListSubheader";
|
|
|
8
8
|
import Ta from "@mui/system/Stack";
|
|
9
9
|
import { AccountsIcon as Co, P as pA, Icon as P, useTokens as SA, Text as y, H2 as Jt, CategoryIcon as Re, DialogHeader as fo, DialogFooter as vo, Drawer as po, Footer as mo, DateRangePicker as Sa, H3 as yo, H1 as ye, TextField as Ne, IconWeight as BA, MerchantLogo as _e, CategoryIconVariants as Kr, InstitutionLogo as Ee, THEMES as ba, createMXTheme as Tt } from "@kyper/mui";
|
|
10
10
|
import Eo from "bowser";
|
|
11
|
-
import { getUnixTime as CA } from "date-fns/getUnixTime";
|
|
12
11
|
import { Honeybadger as xt } from "@honeybadger-io/react";
|
|
13
|
-
import Ia from "numeral";
|
|
14
12
|
import { intlFormat as wo } from "date-fns/intlFormat";
|
|
13
|
+
import { getUnixTime as CA } from "date-fns/getUnixTime";
|
|
14
|
+
import Ia from "numeral";
|
|
15
15
|
import oA from "@mui/material/Button";
|
|
16
16
|
import St from "@mui/material/Tooltip";
|
|
17
17
|
import _A from "@mui/material/IconButton";
|
|
@@ -143,39 +143,9 @@ import Ps from "@mui/icons-material/ChevronLeft";
|
|
|
143
143
|
import Ns from "@mui/material/CardActions";
|
|
144
144
|
import _a from "@mui/material/Typography";
|
|
145
145
|
import Ms from "@mui/material/CssBaseline";
|
|
146
|
-
const Rs =
|
|
147
|
-
const r = new Vs(A, e), { analytics_session: i } = await r.initializeAnalyticsSession(
|
|
148
|
-
n,
|
|
149
|
-
a
|
|
150
|
-
), o = window.location.hostname;
|
|
151
|
-
return {
|
|
152
|
-
sendAnalyticEvent: async (s) => await r.sendAnalyticEvent({
|
|
153
|
-
analytics_event: {
|
|
154
|
-
...s,
|
|
155
|
-
app_version: "widgets-v2",
|
|
156
|
-
created_at: CA(/* @__PURE__ */ new Date()).toString(),
|
|
157
|
-
host: o,
|
|
158
|
-
name: s?.label || "",
|
|
159
|
-
session_id: i.guid,
|
|
160
|
-
user_agent: navigator.userAgent || "",
|
|
161
|
-
version: 2
|
|
162
|
-
}
|
|
163
|
-
}),
|
|
164
|
-
sendAnalyticsPageview: async (s) => await r.sendAnalyticsPageview({
|
|
165
|
-
analytics_pageview: {
|
|
166
|
-
...s,
|
|
167
|
-
app_version: "widgets-v2",
|
|
168
|
-
created_at: CA(/* @__PURE__ */ new Date()).toString(),
|
|
169
|
-
host: o,
|
|
170
|
-
name: s.name,
|
|
171
|
-
session_id: i.guid,
|
|
172
|
-
user_agent: navigator.userAgent || ""
|
|
173
|
-
}
|
|
174
|
-
})
|
|
175
|
-
};
|
|
176
|
-
}, _s = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g, H = (A, ...e) => {
|
|
146
|
+
const Rs = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g, H = (A, ...e) => {
|
|
177
147
|
if (!A) return "";
|
|
178
|
-
const n = e.some((i) => typeof i != "string"), r = [...A.matchAll(
|
|
148
|
+
const n = e.some((i) => typeof i != "string"), r = [...A.matchAll(Rs)].reduce(
|
|
179
149
|
(i, o, s) => {
|
|
180
150
|
const c = [...i], l = o.groups;
|
|
181
151
|
if (l?.static && c.push(l.static), l?.dynamic) {
|
|
@@ -226,7 +196,7 @@ class UA {
|
|
|
226
196
|
};
|
|
227
197
|
return fetch(`${this.endpoint}${e}`, r).then((i) => {
|
|
228
198
|
if (!i.ok)
|
|
229
|
-
throw
|
|
199
|
+
throw i;
|
|
230
200
|
return i.text();
|
|
231
201
|
}).then((i) => i.length ? JSON.parse(i) : {}).then((i) => i).catch((i) => {
|
|
232
202
|
throw xt.notify(i), i;
|
|
@@ -285,7 +255,44 @@ const M = {
|
|
|
285
255
|
TRANSACTIONS: "transactions",
|
|
286
256
|
USER_PROFILES: "user_profiles",
|
|
287
257
|
WIDGET_URLS: "widget_urls"
|
|
288
|
-
}
|
|
258
|
+
};
|
|
259
|
+
class _s {
|
|
260
|
+
fetchInstance;
|
|
261
|
+
constructor(e, n) {
|
|
262
|
+
this.fetchInstance = new UA(e, n);
|
|
263
|
+
}
|
|
264
|
+
initializeAnalyticsSession = async (e, n) => {
|
|
265
|
+
const a = Eo.getParser(window.navigator.userAgent), { analytics_session: r } = await this.fetchInstance.post(M.ANALYTICS_SESSION, {
|
|
266
|
+
browser_name: a.getBrowserName() || "Unknown",
|
|
267
|
+
browser_version: a.getBrowserVersion() || "0.0.0",
|
|
268
|
+
is_first_visit: !1,
|
|
269
|
+
product_name: "Individual Widget",
|
|
270
|
+
product_version: e
|
|
271
|
+
});
|
|
272
|
+
return r ? (this.fetchInstance.post(M.ANALYTICS_FEATURE_VISITS, {
|
|
273
|
+
feature_visit: {
|
|
274
|
+
analytics_session_guid: r.guid,
|
|
275
|
+
feature_name: n || "Spending Plan",
|
|
276
|
+
is_first_visit: r.is_first_visit
|
|
277
|
+
}
|
|
278
|
+
}), { analytics_session: r }) : { analytics_session: null };
|
|
279
|
+
};
|
|
280
|
+
sendAnalyticEvent = async (e) => {
|
|
281
|
+
try {
|
|
282
|
+
return await this.fetchInstance.post(M.ANALYTICS_EVENTS, e);
|
|
283
|
+
} catch (n) {
|
|
284
|
+
throw n;
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
sendAnalyticsPageview = async (e) => {
|
|
288
|
+
try {
|
|
289
|
+
return await this.fetchInstance.post(M.ANALYTICS_PAGEVIEWS, e);
|
|
290
|
+
} catch (n) {
|
|
291
|
+
throw n;
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
const V = {
|
|
289
296
|
ACCOUNTS_CLICK_SYNC: "accounts_widget_click_sync",
|
|
290
297
|
ACCOUNTS_CLICK_CONNECT: "accounts_widget_click_connect_accounts",
|
|
291
298
|
ACCOUNTS_CLICK_FILTER: "accounts_widget_click_filter_accounts",
|
|
@@ -327,7 +334,63 @@ const M = {
|
|
|
327
334
|
TRANSACTION_DETAILS_CLICK_UNSPLIT: "transaction_details_click_unsplit_transaction",
|
|
328
335
|
TRANSACTION_DETAILS_CLICK_TAGS: "transaction_details_click_tags",
|
|
329
336
|
WIDGET_BACK_CLICK: "widget_back_button_click"
|
|
330
|
-
}, Hs =
|
|
337
|
+
}, Hs = async (A, e, n = "1.0.0", a = "Experiences") => {
|
|
338
|
+
const r = new _s(A, e), { analytics_session: i } = await r.initializeAnalyticsSession(
|
|
339
|
+
n,
|
|
340
|
+
a
|
|
341
|
+
), o = window.location.hostname;
|
|
342
|
+
return {
|
|
343
|
+
sendAnalyticEvent: async (s) => await r.sendAnalyticEvent({
|
|
344
|
+
analytics_event: {
|
|
345
|
+
...s,
|
|
346
|
+
app_version: "widgets-v2",
|
|
347
|
+
created_at: CA(/* @__PURE__ */ new Date()).toString(),
|
|
348
|
+
host: o,
|
|
349
|
+
name: s?.label || "",
|
|
350
|
+
session_id: i.guid,
|
|
351
|
+
user_agent: navigator.userAgent || "",
|
|
352
|
+
version: 2
|
|
353
|
+
}
|
|
354
|
+
}),
|
|
355
|
+
sendAnalyticsPageview: async (s) => await r.sendAnalyticsPageview({
|
|
356
|
+
analytics_pageview: {
|
|
357
|
+
...s,
|
|
358
|
+
app_version: "widgets-v2",
|
|
359
|
+
created_at: CA(/* @__PURE__ */ new Date()).toString(),
|
|
360
|
+
host: o,
|
|
361
|
+
name: s.name,
|
|
362
|
+
session_id: i.guid,
|
|
363
|
+
user_agent: navigator.userAgent || ""
|
|
364
|
+
}
|
|
365
|
+
})
|
|
366
|
+
};
|
|
367
|
+
}, X = (A, e, n) => {
|
|
368
|
+
switch (Me()) {
|
|
369
|
+
case "fr-ca":
|
|
370
|
+
return Ia(A).format(`${e} $`, n);
|
|
371
|
+
default:
|
|
372
|
+
return Ia(A).format(`$${e}`, n);
|
|
373
|
+
}
|
|
374
|
+
}, zs = () => {
|
|
375
|
+
switch (Me()) {
|
|
376
|
+
case "fr-ca":
|
|
377
|
+
return kt.CAD;
|
|
378
|
+
default:
|
|
379
|
+
return kt.USD;
|
|
380
|
+
}
|
|
381
|
+
}, Mn = (A) => A != null && A !== "" && isFinite(A), qs = {
|
|
382
|
+
style: "percent",
|
|
383
|
+
minimumFractionDigits: 2,
|
|
384
|
+
maximumFractionDigits: 2
|
|
385
|
+
}, Bs = (A, e = qs) => Mn(A) ? new Intl.NumberFormat(Me(), e).format(Number(A)) : A, Ks = (A) => new Intl.PluralRules(Me(), A), ks = (A, e = { type: "ordinal" }, n = {
|
|
386
|
+
one: "st",
|
|
387
|
+
two: "nd",
|
|
388
|
+
few: "rd",
|
|
389
|
+
other: "th"
|
|
390
|
+
}) => {
|
|
391
|
+
const a = Ks(e).select(A);
|
|
392
|
+
return `${A}${n[a]}`;
|
|
393
|
+
}, Gs = "do", $8 = "MMM do, yyyy", F = {
|
|
331
394
|
TIME_STAMP_HOUR_MINUTE: {
|
|
332
395
|
hour: "numeric",
|
|
333
396
|
minute: "numeric"
|
|
@@ -384,8 +447,8 @@ const M = {
|
|
|
384
447
|
year: "numeric"
|
|
385
448
|
}
|
|
386
449
|
}, U = (A, e) => wo(new Date(A), Object.assign(e), { locale: Me() });
|
|
387
|
-
var Q = /* @__PURE__ */ ((A) => (A[A.ANY = 0] = "ANY", A[A.CHECKING = 1] = "CHECKING", A[A.SAVINGS = 2] = "SAVINGS", A[A.LOAN = 3] = "LOAN", A[A.CREDIT_CARD = 4] = "CREDIT_CARD", A[A.INVESTMENT = 5] = "INVESTMENT", A[A.LINE_OF_CREDIT = 6] = "LINE_OF_CREDIT", A[A.MORTGAGE = 7] = "MORTGAGE", A[A.PROPERTY = 8] = "PROPERTY", A[A.CASH = 9] = "CASH", A[A.INSURANCE = 10] = "INSURANCE", A[A.PREPAID = 11] = "PREPAID", A[A.CHECKING_LINE_OF_CREDIT = 12] = "CHECKING_LINE_OF_CREDIT", A[A.DIGITAL_WALLET = 13] = "DIGITAL_WALLET", A))(Q || {}),
|
|
388
|
-
const
|
|
450
|
+
var Q = /* @__PURE__ */ ((A) => (A[A.ANY = 0] = "ANY", A[A.CHECKING = 1] = "CHECKING", A[A.SAVINGS = 2] = "SAVINGS", A[A.LOAN = 3] = "LOAN", A[A.CREDIT_CARD = 4] = "CREDIT_CARD", A[A.INVESTMENT = 5] = "INVESTMENT", A[A.LINE_OF_CREDIT = 6] = "LINE_OF_CREDIT", A[A.MORTGAGE = 7] = "MORTGAGE", A[A.PROPERTY = 8] = "PROPERTY", A[A.CASH = 9] = "CASH", A[A.INSURANCE = 10] = "INSURANCE", A[A.PREPAID = 11] = "PREPAID", A[A.CHECKING_LINE_OF_CREDIT = 12] = "CHECKING_LINE_OF_CREDIT", A[A.DIGITAL_WALLET = 13] = "DIGITAL_WALLET", A))(Q || {}), Xs = /* @__PURE__ */ ((A) => (A[A.NONE = 0] = "NONE", A[A.MONEY_MARKET = 1] = "MONEY_MARKET", A[A.CERTIFICATE_OF_DEPOSIT = 2] = "CERTIFICATE_OF_DEPOSIT", A[A.AUTO = 3] = "AUTO", A[A.STUDENT = 4] = "STUDENT", A[A.SMALL_BUSINESS = 5] = "SMALL_BUSINESS", A[A.PERSONAL = 6] = "PERSONAL", A[A.PERSONAL_WITH_COLLATERAL = 7] = "PERSONAL_WITH_COLLATERAL", A[A.HOME_EQUITY = 8] = "HOME_EQUITY", A[A.PLAN_401_K = 9] = "PLAN_401_K", A[A.PLAN_403_B = 10] = "PLAN_403_B", A[A.PLAN_529 = 11] = "PLAN_529", A[A.IRA = 12] = "IRA", A[A.ROLLOVER_IRA = 13] = "ROLLOVER_IRA", A[A.ROTH_IRA = 14] = "ROTH_IRA", A[A.TAXABLE = 15] = "TAXABLE", A[A.NON_TAXABLE = 16] = "NON_TAXABLE", A[A.BROKERAGE = 17] = "BROKERAGE", A[A.TRUST = 18] = "TRUST", A[A.UNIFORM_GIFTS_TO_MINORS_ACT = 19] = "UNIFORM_GIFTS_TO_MINORS_ACT", A[A.PLAN_457 = 20] = "PLAN_457", A[A.PENSION = 21] = "PENSION", A[A.EMPLOYEE_STOCK_OWNERSHIP_PLAN = 22] = "EMPLOYEE_STOCK_OWNERSHIP_PLAN", A[A.SIMPLIFIED_EMPLOYEE_PENSION = 23] = "SIMPLIFIED_EMPLOYEE_PENSION", A[A.SIMPLE_IRA = 24] = "SIMPLE_IRA", A[A.BOAT = 25] = "BOAT", A[A.POWERSPORTS = 26] = "POWERSPORTS", A[A.RV = 27] = "RV", A[A.HELOC = 28] = "HELOC", A[A.PLAN_ROTH_401_K = 29] = "PLAN_ROTH_401_K", A[A.FIXED_ANNUITY = 30] = "FIXED_ANNUITY", A[A.VARIABLE_ANNUITY = 31] = "VARIABLE_ANNUITY", A[A.VEHICLE_INSURANCE = 32] = "VEHICLE_INSURANCE", A[A.DISABILITY = 33] = "DISABILITY", A[A.HEALTH = 34] = "HEALTH", A[A.LONG_TERM_CARE = 35] = "LONG_TERM_CARE", A[A.PROPERTY_AND_CASUALTY = 36] = "PROPERTY_AND_CASUALTY", A[A.UNIVERSAL_LIFE = 37] = "UNIVERSAL_LIFE", A[A.TERM_LIFE = 38] = "TERM_LIFE", A[A.WHOLE_LIFE = 39] = "WHOLE_LIFE", A[A.ACCIDENTAL_DEATH_AND_DISMEMBERMENT = 40] = "ACCIDENTAL_DEATH_AND_DISMEMBERMENT", A[A.VARIABLE_UNIVERSAL_LIFE = 41] = "VARIABLE_UNIVERSAL_LIFE", A[A.HSA = 42] = "HSA", A[A.TAX_FREE_SAVINGS_ACCOUNT = 43] = "TAX_FREE_SAVINGS_ACCOUNT", A[A.INDIVIDUAL = 44] = "INDIVIDUAL", A[A.REGISTERED_RETIREMENT_INCOME_FUND = 45] = "REGISTERED_RETIREMENT_INCOME_FUND", A[A.CASH_MANAGEMENT_ACCOUNT = 46] = "CASH_MANAGEMENT_ACCOUNT", A[A.EMPLOYEE_STOCK_PURCHASE_PLAN = 47] = "EMPLOYEE_STOCK_PURCHASE_PLAN", A[A.REGISTERED_EDUCATION_SAVINGS_PLAN = 48] = "REGISTERED_EDUCATION_SAVINGS_PLAN", A[A.PROFIT_SHARING_PLAN = 49] = "PROFIT_SHARING_PLAN", A[A.UNIFORM_TRANSFER_TO_MINORS_ACT = 50] = "UNIFORM_TRANSFER_TO_MINORS_ACT", A[A.PLAN_401_A = 51] = "PLAN_401_A", A[A.SARSEP_IRA = 52] = "SARSEP_IRA", A[A.FIXED_ANNUITY_TRADITIONAL_IRA = 53] = "FIXED_ANNUITY_TRADITIONAL_IRA", A[A.VARIABLE_ANNUITY_TRADITIONAL_IRA = 54] = "VARIABLE_ANNUITY_TRADITIONAL_IRA", A[A.SEPP_IRA = 55] = "SEPP_IRA", A[A.INHERITED_TRADITIONAL_IRA = 56] = "INHERITED_TRADITIONAL_IRA", A[A.FIXED_ANNUITY_ROTH_IRA = 57] = "FIXED_ANNUITY_ROTH_IRA", A[A.VARIABLE_ANNUITY_ROTH_IRA = 58] = "VARIABLE_ANNUITY_ROTH_IRA", A[A.INHERITED_ROTH_IRA = 59] = "INHERITED_ROTH_IRA", A[A.COVERDELL = 60] = "COVERDELL", A[A.ADVISORY_ACCOUNT = 61] = "ADVISORY_ACCOUNT", A[A.BROKERAGE_MARGIN = 62] = "BROKERAGE_MARGIN", A[A.CHARITABLE_GIFT_ACCOUNT = 63] = "CHARITABLE_GIFT_ACCOUNT", A[A.CHURCH_ACCOUNT = 64] = "CHURCH_ACCOUNT", A[A.CONSERVATORSHIP = 65] = "CONSERVATORSHIP", A[A.CUSTODIAL = 66] = "CUSTODIAL", A[A.DEFINED_BENEFIT_PLAN = 67] = "DEFINED_BENEFIT_PLAN", A[A.DEFINED_CONTRIBUTION_PLAN = 68] = "DEFINED_CONTRIBUTION_PLAN", A[A.EDUCATIONAL = 69] = "EDUCATIONAL", A[A.ESTATE = 70] = "ESTATE", A[A.EXECUTOR = 71] = "EXECUTOR", A[A.GROUP_RETIREMENT_SAVINGS_PLAN = 72] = "GROUP_RETIREMENT_SAVINGS_PLAN", A[A.GUARANTEED_INVESTMENT_CERTIFICATE = 73] = "GUARANTEED_INVESTMENT_CERTIFICATE", A[A.HRA = 74] = "HRA", A[A.INDEXED_ANNUITY = 75] = "INDEXED_ANNUITY", A[A.INVESTMENT_CLUB = 76] = "INVESTMENT_CLUB", A[A.IRREVOCABLE_TRUST = 77] = "IRREVOCABLE_TRUST", A[A.JOINT_TENANTS_BY_ENTIRITY = 78] = "JOINT_TENANTS_BY_ENTIRITY", A[A.JOINT_TENANTS_COMMUNITY_PROPERTY = 79] = "JOINT_TENANTS_COMMUNITY_PROPERTY", A[A.JOINT_TENANTS_IN_COMMON = 80] = "JOINT_TENANTS_IN_COMMON", A[A.JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP = 81] = "JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP", A[A.KEOUGH_PLAN = 82] = "KEOUGH_PLAN", A[A.LIFE_INCOME_FUND = 83] = "LIFE_INCOME_FUND", A[A.LIVING_TRUST = 84] = "LIVING_TRUST", A[A.LOCKED_IN_RETIREMENT_ACCOUNT = 85] = "LOCKED_IN_RETIREMENT_ACCOUNT", A[A.LOCKED_IN_RETIREMENT_INVESTMENT_FUND = 86] = "LOCKED_IN_RETIREMENT_INVESTMENT_FUND", A[A.LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT = 87] = "LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT", A[A.MONEY_PURCHASE_PLAN = 88] = "MONEY_PURCHASE_PLAN", A[A.PARTNERSHIP = 89] = "PARTNERSHIP", A[A.PLAN_409_A = 90] = "PLAN_409_A", A[A.PLAN_ROTH_403_B = 91] = "PLAN_ROTH_403_B", A[A.REGISTERED_DISABILITY_SAVINGS_PLAN = 92] = "REGISTERED_DISABILITY_SAVINGS_PLAN", A[A.REGISTERED_LOCKED_IN_SAVINGS_PLAN = 93] = "REGISTERED_LOCKED_IN_SAVINGS_PLAN", A[A.REGISTERED_PENSION_PLAN = 94] = "REGISTERED_PENSION_PLAN", A[A.REGISTERED_RETIREMENT_SAVINGS_PLAN = 95] = "REGISTERED_RETIREMENT_SAVINGS_PLAN", A[A.REVOCABLE_TRUST = 96] = "REVOCABLE_TRUST", A[A.ROTH_CONVERSION = 97] = "ROTH_CONVERSION", A[A.SOLE_PROPRIETORSHIP = 98] = "SOLE_PROPRIETORSHIP", A[A.SPOUSAL_IRA = 99] = "SPOUSAL_IRA", A[A.SPOUSAL_ROTH_IRA = 100] = "SPOUSAL_ROTH_IRA", A[A.TESTAMENTARY_TRUST = 101] = "TESTAMENTARY_TRUST", A[A.THRIFT_SAVINGS_PLAN = 102] = "THRIFT_SAVINGS_PLAN", A[A.INHERITED_ANNUITY = 103] = "INHERITED_ANNUITY", A[A.CORPORATE_ACCOUNT = 104] = "CORPORATE_ACCOUNT", A[A.LIMITED_LIABILITY_ACCOUNT = 105] = "LIMITED_LIABILITY_ACCOUNT", A[A.HSA_SAVINGS = 106] = "HSA_SAVINGS", A[A.HSA_CHECKING = 107] = "HSA_CHECKING", A))(Xs || {}), ti = /* @__PURE__ */ ((A) => (A[A.REAL_ESTATE = 0] = "REAL_ESTATE", A[A.VEHICLE = 1] = "VEHICLE", A[A.ART = 2] = "ART", A[A.JEWELRY = 3] = "JEWELRY", A[A.FURNITURE = 4] = "FURNITURE", A[A.APPLIANCES = 5] = "APPLIANCES", A[A.COMPUTER = 6] = "COMPUTER", A[A.ELECTRONICS = 7] = "ELECTRONICS", A[A.SPORTS_EQUIPMENT = 8] = "SPORTS_EQUIPMENT", A[A.MISCELLANEOUS = 9] = "MISCELLANEOUS", A))(ti || {}), RA = /* @__PURE__ */ ((A) => (A[A.CREATED = 0] = "CREATED", A[A.PREVENTED = 1] = "PREVENTED", A[A.DENIED = 2] = "DENIED", A[A.CHALLENGED = 3] = "CHALLENGED", A[A.REJECTED = 4] = "REJECTED", A[A.LOCKED = 5] = "LOCKED", A[A.CONNECTED = 6] = "CONNECTED", A[A.IMPEDED = 7] = "IMPEDED", A[A.RECONNECTED = 8] = "RECONNECTED", A[A.DEGRADED = 9] = "DEGRADED", A[A.DISCONNECTED = 10] = "DISCONNECTED", A[A.DISCONTINUED = 11] = "DISCONTINUED", A[A.CLOSED = 12] = "CLOSED", A[A.DELAYED = 13] = "DELAYED", A[A.FAILED = 14] = "FAILED", A[A.UPDATED = 15] = "UPDATED", A[A.DISABLED = 16] = "DISABLED", A[A.IMPORTED = 17] = "IMPORTED", A[A.RESUMED = 18] = "RESUMED", A[A.EXPIRED = 19] = "EXPIRED", A[A.IMPAIRED = 20] = "IMPAIRED", A[A.PENDING = 21] = "PENDING", A))(RA || {});
|
|
451
|
+
const Qs = [
|
|
389
452
|
0,
|
|
390
453
|
15,
|
|
391
454
|
18
|
|
@@ -444,7 +507,7 @@ const zA = {
|
|
|
444
507
|
11: "Prepaid",
|
|
445
508
|
8: "Property",
|
|
446
509
|
2: "Savings"
|
|
447
|
-
},
|
|
510
|
+
}, Fs = {
|
|
448
511
|
0: "account_balance",
|
|
449
512
|
9: "monetization_on",
|
|
450
513
|
1: "checking",
|
|
@@ -460,7 +523,7 @@ const zA = {
|
|
|
460
523
|
11: "credit-card",
|
|
461
524
|
8: "key",
|
|
462
525
|
2: "savings"
|
|
463
|
-
},
|
|
526
|
+
}, Us = {
|
|
464
527
|
0: "Real Estate",
|
|
465
528
|
1: "Vehicle",
|
|
466
529
|
2: "Art",
|
|
@@ -471,7 +534,7 @@ const zA = {
|
|
|
471
534
|
7: "Electronics",
|
|
472
535
|
8: "Sports Equipment",
|
|
473
536
|
9: "Miscellaneous"
|
|
474
|
-
},
|
|
537
|
+
}, js = {
|
|
475
538
|
0: "home_work",
|
|
476
539
|
1: "directions_car",
|
|
477
540
|
2: "insert_photo",
|
|
@@ -814,62 +877,10 @@ const A7 = [
|
|
|
814
877
|
LOADING: "LOADING",
|
|
815
878
|
SUCCESS: "SUCCESS"
|
|
816
879
|
};
|
|
817
|
-
var
|
|
880
|
+
var Ws = /* @__PURE__ */ ((A) => (A[A.SpendingPlan = 0] = "SpendingPlan", A[A.Budgets = 1] = "Budgets", A))(Ws || {}), Ys = /* @__PURE__ */ ((A) => (A[A.RecurringExpense = 0] = "RecurringExpense", A[A.PlannedExpense = 1] = "PlannedExpense", A[A.Other = 2] = "Other", A[A.Income = 3] = "Income", A))(Ys || {});
|
|
818
881
|
const ii = 48, oi = 4;
|
|
819
|
-
var
|
|
820
|
-
const st = 44
|
|
821
|
-
switch (Me()) {
|
|
822
|
-
case "fr-ca":
|
|
823
|
-
return Ia(A).format(`${e} $`, n);
|
|
824
|
-
default:
|
|
825
|
-
return Ia(A).format(`$${e}`, n);
|
|
826
|
-
}
|
|
827
|
-
}, Fs = () => {
|
|
828
|
-
switch (Me()) {
|
|
829
|
-
case "fr-ca":
|
|
830
|
-
return kt.CAD;
|
|
831
|
-
default:
|
|
832
|
-
return kt.USD;
|
|
833
|
-
}
|
|
834
|
-
}, Mn = (A) => A != null && A !== "" && isFinite(A), Us = {
|
|
835
|
-
style: "percent",
|
|
836
|
-
minimumFractionDigits: 2,
|
|
837
|
-
maximumFractionDigits: 2
|
|
838
|
-
}, js = (A, e = Us) => Mn(A) ? new Intl.NumberFormat(Me(), e).format(Number(A)) : A, Ws = (A) => new Intl.PluralRules(Me(), A), Ys = (A, e = { type: "ordinal" }, n = {
|
|
839
|
-
one: "st",
|
|
840
|
-
two: "nd",
|
|
841
|
-
few: "rd",
|
|
842
|
-
other: "th"
|
|
843
|
-
}) => {
|
|
844
|
-
const a = Ws(e).select(A);
|
|
845
|
-
return `${A}${n[a]}`;
|
|
846
|
-
};
|
|
847
|
-
class Vs {
|
|
848
|
-
fetchInstance;
|
|
849
|
-
constructor(e, n) {
|
|
850
|
-
this.fetchInstance = new UA(e, n);
|
|
851
|
-
}
|
|
852
|
-
initializeAnalyticsSession = async (e, n) => {
|
|
853
|
-
const a = Eo.getParser(window.navigator.userAgent);
|
|
854
|
-
return this.fetchInstance.post(M.ANALYTICS_SESSION, {
|
|
855
|
-
browser_name: a.getBrowserName() || "Unknown",
|
|
856
|
-
browser_version: a.getBrowserVersion() || "0.0.0",
|
|
857
|
-
is_first_visit: !1,
|
|
858
|
-
product_name: "Individual Widget",
|
|
859
|
-
product_version: e
|
|
860
|
-
}).then(({ analytics_session: r }) => (this.fetchInstance.post(M.ANALYTICS_FEATURE_VISITS, {
|
|
861
|
-
feature_visit: {
|
|
862
|
-
analytics_session_guid: r.guid,
|
|
863
|
-
feature_name: n || "Spending Plan",
|
|
864
|
-
is_first_visit: r.is_first_visit
|
|
865
|
-
}
|
|
866
|
-
}), { analytics_session: r }));
|
|
867
|
-
};
|
|
868
|
-
sendAnalyticEvent = async (e) => this.fetchInstance.post(M.ANALYTICS_EVENTS, e).catch(() => {
|
|
869
|
-
});
|
|
870
|
-
sendAnalyticsPageview = async (e) => this.fetchInstance.post(M.ANALYTICS_PAGEVIEWS, e).catch(() => {
|
|
871
|
-
});
|
|
872
|
-
}
|
|
882
|
+
var Vs = /* @__PURE__ */ ((A) => (A.Small = "small", A.Medium = "medium", A.Large = "large", A))(Vs || {});
|
|
883
|
+
const st = 44;
|
|
873
884
|
class tt {
|
|
874
885
|
fetchInstance;
|
|
875
886
|
constructor(e, n) {
|
|
@@ -3037,7 +3048,7 @@ const He = ({
|
|
|
3037
3048
|
let L;
|
|
3038
3049
|
const b = g.useRef(Wo());
|
|
3039
3050
|
if (A)
|
|
3040
|
-
switch (
|
|
3051
|
+
switch (zs()) {
|
|
3041
3052
|
case kt.CAD:
|
|
3042
3053
|
L = T;
|
|
3043
3054
|
break;
|
|
@@ -3972,7 +3983,9 @@ const Uc = [
|
|
|
3972
3983
|
category: AA.TRANSACTIONS_WIDGET,
|
|
3973
3984
|
label: eA.DELETE_TRANSACTION
|
|
3974
3985
|
}
|
|
3975
|
-
}, Yc = async (A, e) => !e || !Va[A] ? null :
|
|
3986
|
+
}, Yc = async (A, e) => !e || !Va[A] ? null : e.sendAnalyticEvent(Va[A]).then((n) => n).catch((n) => {
|
|
3987
|
+
throw n;
|
|
3988
|
+
}), Rn = {
|
|
3976
3989
|
FLAG: "flag",
|
|
3977
3990
|
DATE: "date",
|
|
3978
3991
|
PAYEE: "payee",
|
|
@@ -4000,7 +4013,7 @@ const Uc = [
|
|
|
4000
4013
|
const l = s.tags.some(
|
|
4001
4014
|
(h) => VA(o, e.find((C) => C.guid === h)?.name)
|
|
4002
4015
|
), d = NA(s.date);
|
|
4003
|
-
return VA(o, s.payee) || VA(o, s.feed_description) || VA(o, s.category) || VA(o, U(d, F.MONTH)) || VA(o, U(d, F.DAY)) || VA(o, U(d, F.FULL_MONTH_DAY)) || VA(o, U(d, F.MONTH_DAY_YEAR)) || VA(o, $A(d,
|
|
4016
|
+
return VA(o, s.payee) || VA(o, s.feed_description) || VA(o, s.category) || VA(o, U(d, F.MONTH)) || VA(o, U(d, F.DAY)) || VA(o, U(d, F.FULL_MONTH_DAY)) || VA(o, U(d, F.MONTH_DAY_YEAR)) || VA(o, $A(d, Gs)) || VA(o, s.account) || VA(o, `${s.amount}`) || VA(o, s.memo) || l;
|
|
4004
4017
|
});
|
|
4005
4018
|
}, $c = (A, e, n) => [...A].sort((a, r) => {
|
|
4006
4019
|
const i = e, o = (a[i] || "") > (r[i] || "");
|
|
@@ -8244,7 +8257,7 @@ const Zd = {
|
|
|
8244
8257
|
const n = Object.keys(Q).filter((a) => Number(a)).map((a) => ({
|
|
8245
8258
|
label: Kt[a],
|
|
8246
8259
|
value: Number(a),
|
|
8247
|
-
icon: /* @__PURE__ */ t(P, { name:
|
|
8260
|
+
icon: /* @__PURE__ */ t(P, { name: Fs[a] })
|
|
8248
8261
|
}));
|
|
8249
8262
|
e.push({
|
|
8250
8263
|
label: nA.account_type,
|
|
@@ -8257,9 +8270,9 @@ const Zd = {
|
|
|
8257
8270
|
}
|
|
8258
8271
|
if (A.account_type === Q.PROPERTY) {
|
|
8259
8272
|
const n = Object.keys(ti).filter((a) => Number(a)).map((a) => ({
|
|
8260
|
-
label:
|
|
8273
|
+
label: Us[a],
|
|
8261
8274
|
value: Number(a),
|
|
8262
|
-
icon: /* @__PURE__ */ t(P, { name:
|
|
8275
|
+
icon: /* @__PURE__ */ t(P, { name: js[a] })
|
|
8263
8276
|
}));
|
|
8264
8277
|
e.push({
|
|
8265
8278
|
label: nA.property_type,
|
|
@@ -8279,7 +8292,7 @@ const Zd = {
|
|
|
8279
8292
|
placeholder: H(nA.enter_value, n),
|
|
8280
8293
|
type: XA.Input,
|
|
8281
8294
|
validation: (r) => Mn(r) ? "" : nA.error_amount_is_invalid,
|
|
8282
|
-
valueFormatter: (r) => Mn(r) ?
|
|
8295
|
+
valueFormatter: (r) => Mn(r) ? Bs(r / 100) : r
|
|
8283
8296
|
});
|
|
8284
8297
|
}
|
|
8285
8298
|
return Au(A) && (e.push({
|
|
@@ -8303,7 +8316,7 @@ const Zd = {
|
|
|
8303
8316
|
type: XA.Date,
|
|
8304
8317
|
valueFormatter: (n) => H(
|
|
8305
8318
|
nA.day_of_every_month,
|
|
8306
|
-
|
|
8319
|
+
ks(n <= 31 ? n : new Date(n).getDate())
|
|
8307
8320
|
)
|
|
8308
8321
|
})), tu(A) && e.push({
|
|
8309
8322
|
label: nA.credit_limit,
|
|
@@ -11144,7 +11157,7 @@ class N1 {
|
|
|
11144
11157
|
if (r > -1) {
|
|
11145
11158
|
let i = Oe.Connected;
|
|
11146
11159
|
const o = this.members[r];
|
|
11147
|
-
ai.includes(o.connection_status) ? i = Oe.Error :
|
|
11160
|
+
ai.includes(o.connection_status) ? i = Oe.Error : Qs.includes(o.connection_status) ? i = Oe.Processing : ni.includes(o.connection_status) && (i = Oe.RequiresMfa), n.push({
|
|
11148
11161
|
...a,
|
|
11149
11162
|
memberName: o.name,
|
|
11150
11163
|
connectionStatus: i
|
|
@@ -12448,7 +12461,7 @@ const ya = {
|
|
|
12448
12461
|
MonthlySpendToIncomeComparison: "MonthlySpendToIncomeComparison"
|
|
12449
12462
|
}, ee = window?.app?.clientConfig?.microwidget_instance_id || "", Ir = {
|
|
12450
12463
|
INSIGHTS_MICRO_WIDGET: "/micro-insights-carousel"
|
|
12451
|
-
}, ji = (A) => `on${A}Click`, Wi = (A) => `on${A}View`, Yi = (A) => `on${A}ViewFirstTime`, Ea = (A) => A.replace(/([a-z])([A-Z])/g, "$1 $2"), Ch = () => Object.values(ya).reduce(
|
|
12464
|
+
}, ji = (A) => `on${A}Click`, Wi = (A) => `on${A}View`, Yi = (A) => `on${A}ViewFirstTime`, Ea = (A) => A.replace(/([a-z])([A-Z])/g, "$1 $2"), Ch = () => (console.log("constants > Analytics.ts > onBeatClickedEvents"), Object.values(ya).reduce(
|
|
12452
12465
|
(A, e) => ({
|
|
12453
12466
|
...A,
|
|
12454
12467
|
[ji(e)]: {
|
|
@@ -12459,7 +12472,7 @@ const ya = {
|
|
|
12459
12472
|
}
|
|
12460
12473
|
}),
|
|
12461
12474
|
{}
|
|
12462
|
-
), fh = () => Object.values(ya).reduce(
|
|
12475
|
+
)), fh = () => (console.log("constants > Analytics.ts > onBeatDisplayedEvents"), Object.values(ya).reduce(
|
|
12463
12476
|
(A, e) => ({
|
|
12464
12477
|
...A,
|
|
12465
12478
|
[Wi(e)]: {
|
|
@@ -12470,7 +12483,7 @@ const ya = {
|
|
|
12470
12483
|
}
|
|
12471
12484
|
}),
|
|
12472
12485
|
{}
|
|
12473
|
-
), vh = () => Object.values(ya).reduce(
|
|
12486
|
+
)), vh = () => (console.log("constants > Analytics.ts > onBeatDisplayedForFirstTimeEvents"), Object.values(ya).reduce(
|
|
12474
12487
|
(A, e) => ({
|
|
12475
12488
|
...A,
|
|
12476
12489
|
[Yi(e)]: {
|
|
@@ -12481,7 +12494,7 @@ const ya = {
|
|
|
12481
12494
|
}
|
|
12482
12495
|
}),
|
|
12483
12496
|
{}
|
|
12484
|
-
), fe = {
|
|
12497
|
+
)), fe = {
|
|
12485
12498
|
CARD: "Card",
|
|
12486
12499
|
CAROUSEL_CONTROL: "Carousel Control",
|
|
12487
12500
|
MICRO_WIDGET: "Micro Widget",
|
|
@@ -12588,7 +12601,7 @@ class ph {
|
|
|
12588
12601
|
initialize = async (e, n, a) => {
|
|
12589
12602
|
this.onAnalyticEvent = (r, i) => {
|
|
12590
12603
|
xr(r, i).then((o) => o).catch((o) => {
|
|
12591
|
-
throw console.log("InsightsMicroWidgetStore > onAnalyticEvent catch", o), o.status === 401 && a(), o;
|
|
12604
|
+
throw console.log("InsightsMicroWidgetStore > onAnalyticEvent catch", o), o.status === 401 && (console.log("should log user out"), a()), o;
|
|
12592
12605
|
});
|
|
12593
12606
|
}, this.onAnalyticPageView = (r, i) => {
|
|
12594
12607
|
Pr(r, i).then((o) => o).catch((o) => {
|
|
@@ -12611,7 +12624,7 @@ class mh {
|
|
|
12611
12624
|
this.copyStore = new gh(), this.insightsMicroWidgetStore = new ph(), bA(this);
|
|
12612
12625
|
}
|
|
12613
12626
|
initialize = async (e, n, a) => {
|
|
12614
|
-
await this.copyStore.initialize(e, n), await this.insightsMicroWidgetStore.initialize(e, n, a), this.session = await
|
|
12627
|
+
await this.copyStore.initialize(e, n), await this.insightsMicroWidgetStore.initialize(e, n, a), this.session = await Hs(e, n, "1.0.0", "Micro Insights Carousel"), tA(() => {
|
|
12615
12628
|
this.isInitialized = !0;
|
|
12616
12629
|
});
|
|
12617
12630
|
};
|
|
@@ -15004,9 +15017,9 @@ export {
|
|
|
15004
15017
|
V as ANALYTICS_EVENTS,
|
|
15005
15018
|
Lr as AccountApi,
|
|
15006
15019
|
li as AccountFilter,
|
|
15007
|
-
|
|
15020
|
+
Fs as AccountIcon,
|
|
15008
15021
|
N1 as AccountStore,
|
|
15009
|
-
|
|
15022
|
+
Xs as AccountSubType,
|
|
15010
15023
|
Q as AccountType,
|
|
15011
15024
|
Kt as AccountTypeName,
|
|
15012
15025
|
w7 as AccountsMiniWidget,
|
|
@@ -15015,7 +15028,7 @@ export {
|
|
|
15015
15028
|
wA as ActivityStatus,
|
|
15016
15029
|
EA as ActivityType,
|
|
15017
15030
|
od as AddAccountModal,
|
|
15018
|
-
|
|
15031
|
+
_s as AnalyticsApi,
|
|
15019
15032
|
M as ApiEndpoints,
|
|
15020
15033
|
mh as AppStore,
|
|
15021
15034
|
n7 as BarChart,
|
|
@@ -15071,7 +15084,7 @@ export {
|
|
|
15071
15084
|
Ft as InformationTooltip,
|
|
15072
15085
|
P7 as InsightsMicroWidget,
|
|
15073
15086
|
yh as InsightsMicroWidgetDataProvider,
|
|
15074
|
-
|
|
15087
|
+
Ys as IterationItemTypes,
|
|
15075
15088
|
e7 as LOADING_STATUS,
|
|
15076
15089
|
ui as LineChart,
|
|
15077
15090
|
Bc as ListItemWrapper,
|
|
@@ -15093,13 +15106,13 @@ export {
|
|
|
15093
15106
|
Ba as NotificationApi,
|
|
15094
15107
|
m7 as NotificationList,
|
|
15095
15108
|
zu as NotificationStore,
|
|
15096
|
-
|
|
15109
|
+
Gs as ORDINAL_DATE_FORMAT,
|
|
15097
15110
|
$8 as ORDINAL_MONTH_DAY_YEAR_FORMAT,
|
|
15098
15111
|
$n as PAYMENT_ACCOUNT_TYPES,
|
|
15099
|
-
|
|
15100
|
-
|
|
15112
|
+
Ws as PlanTypes,
|
|
15113
|
+
Qs as ProcessingStatuses,
|
|
15101
15114
|
ti as PropertyType,
|
|
15102
|
-
|
|
15115
|
+
Us as PropertyTypeName,
|
|
15103
15116
|
A7 as RECURRENCE_COPY,
|
|
15104
15117
|
_ as RecurrenceTypes,
|
|
15105
15118
|
g7 as RecurringActivityMiniWidget,
|
|
@@ -15115,7 +15128,7 @@ export {
|
|
|
15115
15128
|
x7 as SetUpDirectDepositBody,
|
|
15116
15129
|
O7 as SettingsDrawer,
|
|
15117
15130
|
r7 as SingleSegmentDonut,
|
|
15118
|
-
|
|
15131
|
+
Vs as Sizes,
|
|
15119
15132
|
N7 as SpendingMiniWidget,
|
|
15120
15133
|
M7 as SpendingWidget,
|
|
15121
15134
|
Ic as StackedLineChart,
|
|
@@ -15146,16 +15159,16 @@ export {
|
|
|
15146
15159
|
Ci as WidgetContainerProvider,
|
|
15147
15160
|
jh as ZeroStateCard,
|
|
15148
15161
|
Ji as ZeroStateIcon,
|
|
15149
|
-
|
|
15162
|
+
Hs as analyticsSession,
|
|
15150
15163
|
H as buildDynamicCopy,
|
|
15151
15164
|
Z8 as buildPluralCopy,
|
|
15152
15165
|
X as formatCurrency,
|
|
15153
15166
|
U as formatDate,
|
|
15154
|
-
|
|
15155
|
-
|
|
15167
|
+
ks as formatOrdinal,
|
|
15168
|
+
Bs as formatPercentage,
|
|
15156
15169
|
qi as getAccountBalanceDetails,
|
|
15157
15170
|
ru as getAccountDetailFields,
|
|
15158
|
-
|
|
15171
|
+
zs as getCurrencyCodes,
|
|
15159
15172
|
Me as getLocale,
|
|
15160
15173
|
p7 as getNotificationDetailRoute,
|
|
15161
15174
|
Mn as isValidNumber,
|