@mx-cartographer/experiences 9.4.6 → 9.4.7
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 +12 -0
- package/dist/core/types/Insights.d.ts +10 -9
- package/dist/core/types/InsightsInstanceSlotData.d.ts +8 -1
- package/dist/core/types/InsightsInstanceSlotData.es.js.map +1 -1
- package/dist/core/types/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/TransactionBlock/TransactionBlock.d.ts +3 -0
- package/dist/insights-v2/blocks/ComponentBlocks/TransactionBlock/TransactionBlock.es.js +29 -0
- package/dist/insights-v2/blocks/ComponentBlocks/TransactionBlock/TransactionBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/TransactionBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/index.d.ts +1 -0
- package/dist/insights-v2/index.es.js +42 -40
- package/dist/insights-v2/mappings/blocks.es.js +16 -14
- package/dist/insights-v2/mappings/blocks.es.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## [9.4.7] - 08-27-2026
|
|
2
|
+
|
|
3
|
+
- **ADDED** - `CategoryTransactionsBlock` component block supporting `SameHeaderDesign` variant for single fee and large transactions in Insights v2 (MEW2-3237)
|
|
4
|
+
- **ADDED** - `BlockType.CategoryTransactionsBlock` enum and `CategoryTransactionsBlockData` / `InsightTransaction` type definitions (MEW2-3237)
|
|
5
|
+
- **ADDED** - Storybook stories and unit tests for `CategoryTransactionsBlock` covering `FeeDetected` and `LargeTransaction` (MEW2-3237)
|
|
6
|
+
|
|
7
|
+
## [9.4.6] - 08-27-2026
|
|
8
|
+
|
|
9
|
+
- **ADDED** - Storybook "Client theme" toolbar dropdown to switch the active `ClientStyleProfile` fixture (e.g. Seattle Seahawks) across all stories via `getClientPaletteOptions` and `getClientTheme` (MEW2-9999)
|
|
10
|
+
- **ADDED** - `Common/Client Theme` story displaying palette swatches, corner radiuses, and typography to verify client style profiles in Storybook (MEW2-9999)
|
|
11
|
+
|
|
1
12
|
## [9.4.5] - 08-27-2026
|
|
2
13
|
|
|
3
14
|
- **ADDED** - Transaction History action block (part 1): chart-to-drilldown wiring. `BarchartBlock` and `DoubleBarChartBlock` now invoke `openChartDrilldown` on a bar click, forwarding the clicked column (`chartBarIndex`) and sub-series (`tabIndex`) to the shared insights-v2 action drawer so a tapped bar opens the matching transaction history slice (WEC-1701)
|
|
@@ -20,6 +31,7 @@
|
|
|
20
31
|
- **ADDED** - Filter selectable transactions for recurring creation to merchant-backed transactions or eligible merchantless bills and income (MEW-4051)
|
|
21
32
|
|
|
22
33
|
## [9.4.2] - 08-26-2026
|
|
34
|
+
|
|
23
35
|
- **ADDED** - Sub budget totals now roll up to parent budget total
|
|
24
36
|
- **ADDED** - Destructive cascade delete of sub-budgets when a parent budget is deleted
|
|
25
37
|
- **REMOVED** - Un-budgeted projected income line
|
|
@@ -73,15 +73,16 @@ export interface Footer {
|
|
|
73
73
|
account: string;
|
|
74
74
|
}
|
|
75
75
|
export declare const BlockType: {
|
|
76
|
-
AccountBlock:
|
|
77
|
-
BarChartBlock:
|
|
78
|
-
BudgetBlock:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
readonly AccountBlock: "AccountBlock";
|
|
77
|
+
readonly BarChartBlock: "BarChartBlock";
|
|
78
|
+
readonly BudgetBlock: "BudgetBlock";
|
|
79
|
+
readonly CategoryTransactionsBlock: "CategoryTransactionsBlock";
|
|
80
|
+
readonly ImageBlock: "ImageBlock";
|
|
81
|
+
readonly DonutChartBlock: "DonutChartBlock";
|
|
82
|
+
readonly DoubleBarChartBlock: "DoubleBarChartBlock";
|
|
83
|
+
readonly DoubleProgressBarBlock: "DoubleProgressBarBlock";
|
|
84
|
+
readonly StepChartBlock: "StepChartBlock";
|
|
85
|
+
readonly SVGImageBlock: "SVGImageBlock";
|
|
85
86
|
};
|
|
86
87
|
export type BlockType = keyof typeof BlockType;
|
|
87
88
|
export interface InstanceSlot {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DataSeries, Legends } from '../../core';
|
|
2
|
-
|
|
2
|
+
import { Transaction } from './Transaction';
|
|
3
|
+
export interface InsightsInstanceSlotData extends Partial<BarChartBlockData>, Partial<BudgetBlockData>, Partial<DonutChartBlockData>, Partial<DoubleProgressBarBlockData>, Partial<ImageBlockData>, Partial<AccountBlockData>, Partial<StepChartBlockData>, Partial<SVGImageBlockData>, Partial<CategoryTransactionsBlockData>, Partial<CommonProps> {
|
|
3
4
|
}
|
|
4
5
|
interface CommonProps {
|
|
5
6
|
amount?: number;
|
|
@@ -90,4 +91,10 @@ export interface BudgetBlockData {
|
|
|
90
91
|
export interface SVGImageBlockData {
|
|
91
92
|
isCIBC?: boolean;
|
|
92
93
|
}
|
|
94
|
+
export type InsightTransaction = Pick<Transaction, 'amount'> & Partial<Pick<Transaction, 'category_guid' | 'date' | 'description' | 'merchant_guid'>> & {
|
|
95
|
+
merchant_name?: string;
|
|
96
|
+
};
|
|
97
|
+
export interface CategoryTransactionsBlockData {
|
|
98
|
+
primary_transaction?: InsightTransaction;
|
|
99
|
+
}
|
|
93
100
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsightsInstanceSlotData.es.js","names":[],"sources":["../../../src/core/types/InsightsInstanceSlotData.ts"],"sourcesContent":["import type { DataSeries, Legends } from '../../core'\n\nexport interface InsightsInstanceSlotData\n extends\n Partial<BarChartBlockData>,\n Partial<BudgetBlockData>,\n Partial<DonutChartBlockData>,\n Partial<DoubleProgressBarBlockData>,\n Partial<ImageBlockData>,\n Partial<AccountBlockData>,\n Partial<StepChartBlockData>,\n Partial<SVGImageBlockData>,\n Partial<CommonProps> {}\n\n//when any of the type is used more than one times, we can use the common props\ninterface CommonProps {\n amount?: number\n legends?: (Legends | LegendProps)[]\n category_guid?: string\n data_series?: DataSeries | DataSet[]\n}\n\n//BarChart Block\nexport interface BarChartBlockData {\n average_amount?: number\n ariaLabel?: string\n}\n\n//DonutChart Block\ninterface Main {\n value: string\n value_type: string\n label: string\n}\nexport interface DonutChartBlockData {\n main: Main\n}\n\n//DoubleBarChart Block\n// TODO : This has to be revisited again to update the below types based on API response once we have the final shape of the data_series for double bar chart from BE\nexport interface LegendProps extends Legends {\n amount: number\n formattedAmount: string\n label: string\n color?: string\n}\n\nexport interface DataSet extends DataSeries {\n ariaLabelComparison: string\n ariaLabelMain: string\n comparison: number\n formattedComparison: string\n formattedMain: string\n label: string\n main: number\n}\n\n//DoubleProgressBar Block\n\ninterface DoubleProgressBarProps {\n label: string\n value: number\n}\nexport interface DoubleProgressBarBlockData {\n doubleProgressBar: {\n previous: DoubleProgressBarProps\n latest: DoubleProgressBarProps\n }\n}\n\n//Image Block\nexport interface ImageBlockData {\n image: string\n}\n\n//Account Block\nexport interface AccountBlockData {\n sub_text: string\n institution_guid?: string\n institution_name?: string\n icon_name?: string\n /** Header bar text (standard card), or the colored category strip label (deposit cards). */\n header_text?: string\n // Deposit variants (Unified Deposit, Unified Deposit Emergency Fund, Savings Account Deposit)\n /** Merchant guid — renders a real merchant logo in the deposit card when present. */\n merchant_guid?: string\n /** Merchant display name — logo alt text and the payer line under the amount. */\n merchant_name?: string\n /** Secondary label beside the amount, e.g. `On {date}, you saved` or `Balance as of MM/DD/YY`. */\n label?: string\n}\n\n// StepChart Block\nexport interface StepChartBlockData {\n completed_steps: number\n label_1: string\n label_2?: string\n}\n\n//Budgets Blocks\nexport enum BudgetTierType {\n LOW_BUDGET_TIER = 'LOW',\n MEDIUM_BUDGET_TIER = 'MEDIUM',\n OFF_TRACK_BUDGET_TIER = 'OFF_TRACK',\n}\n\nexport type BudgetTierValue = `${BudgetTierType}`\n\nexport interface BudgetLocalizedPayload {\n primary_text?: string\n amount_left_label?: string\n spent_label?: string\n budgeted_label?: string\n}\n\nexport interface BudgetBlockData {\n budget_percent: number\n budget_tier: BudgetTierValue\n category_guid?: string\n merchant_guid?: string\n spent_amount: number\n budgeted_amount: number\n localized_payload: BudgetLocalizedPayload\n}\n\nexport interface SVGImageBlockData {\n isCIBC?: boolean\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InsightsInstanceSlotData.es.js","names":[],"sources":["../../../src/core/types/InsightsInstanceSlotData.ts"],"sourcesContent":["import type { DataSeries, Legends } from '../../core'\nimport type { Transaction } from './Transaction'\n\nexport interface InsightsInstanceSlotData\n extends\n Partial<BarChartBlockData>,\n Partial<BudgetBlockData>,\n Partial<DonutChartBlockData>,\n Partial<DoubleProgressBarBlockData>,\n Partial<ImageBlockData>,\n Partial<AccountBlockData>,\n Partial<StepChartBlockData>,\n Partial<SVGImageBlockData>,\n Partial<CategoryTransactionsBlockData>,\n Partial<CommonProps> {}\n\n//when any of the type is used more than one times, we can use the common props\ninterface CommonProps {\n amount?: number\n legends?: (Legends | LegendProps)[]\n category_guid?: string\n data_series?: DataSeries | DataSet[]\n}\n\n//BarChart Block\nexport interface BarChartBlockData {\n average_amount?: number\n ariaLabel?: string\n}\n\n//DonutChart Block\ninterface Main {\n value: string\n value_type: string\n label: string\n}\nexport interface DonutChartBlockData {\n main: Main\n}\n\n//DoubleBarChart Block\n// TODO : This has to be revisited again to update the below types based on API response once we have the final shape of the data_series for double bar chart from BE\nexport interface LegendProps extends Legends {\n amount: number\n formattedAmount: string\n label: string\n color?: string\n}\n\nexport interface DataSet extends DataSeries {\n ariaLabelComparison: string\n ariaLabelMain: string\n comparison: number\n formattedComparison: string\n formattedMain: string\n label: string\n main: number\n}\n\n//DoubleProgressBar Block\n\ninterface DoubleProgressBarProps {\n label: string\n value: number\n}\nexport interface DoubleProgressBarBlockData {\n doubleProgressBar: {\n previous: DoubleProgressBarProps\n latest: DoubleProgressBarProps\n }\n}\n\n//Image Block\nexport interface ImageBlockData {\n image: string\n}\n\n//Account Block\nexport interface AccountBlockData {\n sub_text: string\n institution_guid?: string\n institution_name?: string\n icon_name?: string\n /** Header bar text (standard card), or the colored category strip label (deposit cards). */\n header_text?: string\n // Deposit variants (Unified Deposit, Unified Deposit Emergency Fund, Savings Account Deposit)\n /** Merchant guid — renders a real merchant logo in the deposit card when present. */\n merchant_guid?: string\n /** Merchant display name — logo alt text and the payer line under the amount. */\n merchant_name?: string\n /** Secondary label beside the amount, e.g. `On {date}, you saved` or `Balance as of MM/DD/YY`. */\n label?: string\n}\n\n// StepChart Block\nexport interface StepChartBlockData {\n completed_steps: number\n label_1: string\n label_2?: string\n}\n\n//Budgets Blocks\nexport enum BudgetTierType {\n LOW_BUDGET_TIER = 'LOW',\n MEDIUM_BUDGET_TIER = 'MEDIUM',\n OFF_TRACK_BUDGET_TIER = 'OFF_TRACK',\n}\n\nexport type BudgetTierValue = `${BudgetTierType}`\n\nexport interface BudgetLocalizedPayload {\n primary_text?: string\n amount_left_label?: string\n spent_label?: string\n budgeted_label?: string\n}\n\nexport interface BudgetBlockData {\n budget_percent: number\n budget_tier: BudgetTierValue\n category_guid?: string\n merchant_guid?: string\n spent_amount: number\n budgeted_amount: number\n localized_payload: BudgetLocalizedPayload\n}\n\nexport interface SVGImageBlockData {\n isCIBC?: boolean\n}\n\nexport type InsightTransaction = Pick<Transaction, 'amount'> &\n Partial<Pick<Transaction, 'category_guid' | 'date' | 'description' | 'merchant_guid'>> & {\n merchant_name?: string\n }\n\nexport interface CategoryTransactionsBlockData {\n primary_transaction?: InsightTransaction\n}\n"],"mappings":"AAsGA,IAAY,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,kBAAA,OACA,EAAA,qBAAA,UACA,EAAA,wBAAA;AACF,GAAA,CAAA,CAAA"}
|
|
@@ -36,3 +36,4 @@ export type { MiniWidgetProps, WidgetProps } from './Widgets';
|
|
|
36
36
|
export type { Holding } from './Holding';
|
|
37
37
|
export { Frequency, RecurrenceStatus, RecurrenceType, RepeatingType } from './RepeatingTransaction';
|
|
38
38
|
export type { Recurrence, RepeatingTransaction } from './RepeatingTransaction';
|
|
39
|
+
export type { CategoryTransactionsBlockData, InsightTransaction } from './InsightsInstanceSlotData';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { CategoryTransactionsBlockData } from '../../../../core/types/InsightsInstanceSlotData';
|
|
2
|
+
import { BlockProps } from '../../types';
|
|
3
|
+
export declare const CategoryTransactionsBlock: ({ payload, }: BlockProps<CategoryTransactionsBlockData>) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DATE_FORMATS_INTL as a, formatDate as i } from "../../../../core/constants/DateFormats.es.js";
|
|
2
|
+
import { formatCurrency as e } from "../../../../core/utils/NumberFormatting.es.js";
|
|
3
|
+
import { fromUnixUTC as n } from "../../../../core/utils/DateUtil.es.js";
|
|
4
|
+
import m from "../../../components/TransactionListCard.es.js";
|
|
5
|
+
import { MerchantLogo as s } from "@mxenabled/mxui";
|
|
6
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
7
|
+
var u = (t) => {
|
|
8
|
+
if (typeof t != "number" || Number.isNaN(t)) return "";
|
|
9
|
+
const r = n(t);
|
|
10
|
+
return Number.isNaN(r.getTime()) ? "" : i(r, a.FULL_MONTH_DAY);
|
|
11
|
+
}, T = ({ payload: t }) => {
|
|
12
|
+
const r = t.instance_slot_data.primary_transaction;
|
|
13
|
+
return r ? /* @__PURE__ */ o(m, { rows: [{
|
|
14
|
+
amount: e(r.amount, "0,0.00"),
|
|
15
|
+
leading: r.merchant_guid ? /* @__PURE__ */ o(s, {
|
|
16
|
+
alt: r.merchant_name || r.description || "",
|
|
17
|
+
categoryGuid: r.category_guid ?? "",
|
|
18
|
+
merchantGuid: r.merchant_guid,
|
|
19
|
+
size: 32
|
|
20
|
+
}) : void 0,
|
|
21
|
+
subtitle: u(r.date),
|
|
22
|
+
title: r.description ?? ""
|
|
23
|
+
}] }) : null;
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
T as CategoryTransactionsBlock
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=TransactionBlock.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionBlock.es.js","names":[],"sources":["../../../../../src/insights-v2/blocks/ComponentBlocks/TransactionBlock/TransactionBlock.tsx"],"sourcesContent":["import { MerchantLogo } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../../../core/constants'\nimport type { CategoryTransactionsBlockData } from '../../../../core/types/InsightsInstanceSlotData'\nimport { fromUnixUTC } from '../../../../core/utils/DateUtil'\nimport { formatCurrency } from '../../../../core/utils/NumberFormatting'\n\nimport TransactionListCard from '../../../components/TransactionListCard'\nimport type { BlockProps } from '../../types'\n\nconst formatTxnDate = (date?: number) => {\n if (typeof date !== 'number' || Number.isNaN(date)) return ''\n const parsed = fromUnixUTC(date)\n if (Number.isNaN(parsed.getTime())) return ''\n return formatDate(parsed, DATE_FORMATS_INTL.FULL_MONTH_DAY)\n}\n\nexport const CategoryTransactionsBlock = ({\n payload,\n}: BlockProps<CategoryTransactionsBlockData>) => {\n const tx = payload.instance_slot_data.primary_transaction\n if (!tx) return null\n\n return (\n <TransactionListCard\n rows={[\n {\n amount: formatCurrency(tx.amount, '0,0.00'),\n leading: tx.merchant_guid ? (\n <MerchantLogo\n alt={tx.merchant_name || tx.description || ''}\n categoryGuid={tx.category_guid ?? ''}\n merchantGuid={tx.merchant_guid}\n size={32}\n />\n ) : undefined,\n subtitle: formatTxnDate(tx.date),\n title: tx.description ?? '',\n },\n ]}\n />\n )\n}\n"],"mappings":";;;;;;AAUA,IAAM,IAAA,CAAiB,MAAkB;AACvC,MAAI,OAAO,KAAS,YAAY,OAAO,MAAM,CAAI,EAAG,QAAO;AAC3D,QAAM,IAAS,EAAY,CAAI;AAC/B,SAAI,OAAO,MAAM,EAAO,QAAQ,CAAC,IAAU,KACpC,EAAW,GAAQ,EAAkB,cAAc;AAC5D,GAEa,IAAA,CAA6B,EACxC,SAAA,EAAA,MAC+C;AAC/C,QAAM,IAAK,EAAQ,mBAAmB;AACtC,SAAK,IAGH,gBAAA,EAAC,GAAD,EACE,MAAM,CACJ;AAAA,IACE,QAAQ,EAAe,EAAG,QAAQ,QAAQ;AAAA,IAC1C,SAAS,EAAG,gBACV,gBAAA,EAAC,GAAD;AAAA,MACE,KAAK,EAAG,iBAAiB,EAAG,eAAe;AAAA,MAC3C,cAAc,EAAG,iBAAiB;AAAA,MAClC,cAAc,EAAG;AAAA,MACjB,MAAM;AAAA,IACP,CAAA,IACC;AAAA,IACJ,UAAU,EAAc,EAAG,IAAI;AAAA,IAC/B,OAAO,EAAG,eAAe;AAAA,EAC3B,CACF,EACD,CAAA,IAnBa;AAqBlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CategoryTransactionsBlock } from './TransactionBlock';
|
|
@@ -1,54 +1,56 @@
|
|
|
1
1
|
import { BAR_CHART_VARIANTS as o, barChartVariant as t, buildChartData as m, buildDataSeries as i } from "./blocks/ChartBlocks/BarchartBlock/utils.es.js";
|
|
2
2
|
import { BarchartBlock as p } from "./blocks/ChartBlocks/BarchartBlock/BarchartBlock.es.js";
|
|
3
3
|
import { DoubleBarChartBlock as e } from "./blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChartBlock.es.js";
|
|
4
|
-
import
|
|
4
|
+
import c from "./blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js";
|
|
5
5
|
import s from "./blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js";
|
|
6
6
|
import g from "./blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js";
|
|
7
|
-
import { BudgetBlock as
|
|
8
|
-
import
|
|
9
|
-
import k from "./components/
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import P from "./components/
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import V from "./components/
|
|
16
|
-
import E from "./components/
|
|
17
|
-
import _ from "./components/
|
|
18
|
-
import G from "./components/
|
|
19
|
-
import O from "./components/
|
|
20
|
-
import j from "./components/
|
|
21
|
-
import z from "./components/
|
|
22
|
-
import J from "./components/
|
|
23
|
-
import Q from "./components/
|
|
24
|
-
import X from "./components/
|
|
25
|
-
import Z from "./components/
|
|
7
|
+
import { BudgetBlock as B } from "./blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js";
|
|
8
|
+
import S from "./components/InsightTransactionRow.es.js";
|
|
9
|
+
import k from "./components/TransactionListCard.es.js";
|
|
10
|
+
import { CategoryTransactionsBlock as T } from "./blocks/ComponentBlocks/TransactionBlock/TransactionBlock.es.js";
|
|
11
|
+
import { SVGImageBlock as D } from "./blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js";
|
|
12
|
+
import P from "./components/AccountHeroCard.es.js";
|
|
13
|
+
import H from "./components/AmountPill.es.js";
|
|
14
|
+
import v from "./components/DesignateEmergencySavingsCard.es.js";
|
|
15
|
+
import V from "./components/BaseLayout.es.js";
|
|
16
|
+
import E from "./components/StatusMessageCard.es.js";
|
|
17
|
+
import _ from "./components/LogoTile.es.js";
|
|
18
|
+
import G from "./components/LogoClusterCard.es.js";
|
|
19
|
+
import O from "./components/MerchantHighlightCard.es.js";
|
|
20
|
+
import j from "./components/P2PLogoStack.es.js";
|
|
21
|
+
import z from "./components/SaveAnExtraCard.es.js";
|
|
22
|
+
import J from "./components/SavingsOpportunityCard.es.js";
|
|
23
|
+
import Q from "./components/StatusPill.es.js";
|
|
24
|
+
import X from "./components/SubscriptionHeroCard.es.js";
|
|
25
|
+
import Z from "./components/TransferLogoCard.es.js";
|
|
26
|
+
import rr from "./components/UpcomingBillCard.es.js";
|
|
26
27
|
export {
|
|
27
28
|
g as AccountBlock,
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
P as AccountHeroCard,
|
|
30
|
+
H as AmountPill,
|
|
30
31
|
o as BAR_CHART_VARIANTS,
|
|
31
32
|
p as BarchartBlock,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
V as BaseLayout,
|
|
34
|
+
B as BudgetBlock,
|
|
35
|
+
T as CategoryTransactionsBlock,
|
|
36
|
+
v as DesignateEmergencySavingsCard,
|
|
37
|
+
c as DonutChartBlock,
|
|
36
38
|
e as DoubleBarChartBlock,
|
|
37
39
|
s as DoubleProgressBarBlock,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
S as InsightTransactionRow,
|
|
41
|
+
G as LogoClusterCard,
|
|
42
|
+
_ as LogoTile,
|
|
43
|
+
O as MerchantHighlightCard,
|
|
44
|
+
j as P2PLogoStack,
|
|
45
|
+
D as SVGImageBlock,
|
|
46
|
+
z as SaveAnExtraCard,
|
|
47
|
+
J as SavingsOpportunityCard,
|
|
48
|
+
E as StatusMessageCard,
|
|
49
|
+
Q as StatusPill,
|
|
50
|
+
X as SubscriptionHeroCard,
|
|
51
|
+
k as TransactionListCard,
|
|
52
|
+
Z as TransferLogoCard,
|
|
53
|
+
rr as UpcomingBillCard,
|
|
52
54
|
t as barChartVariant,
|
|
53
55
|
m as buildChartData,
|
|
54
56
|
i as buildDataSeries
|
|
@@ -4,29 +4,31 @@ import t from "../blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js";
|
|
|
4
4
|
import c from "../blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js";
|
|
5
5
|
import l from "../blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js";
|
|
6
6
|
import { BudgetBlock as m } from "../blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js";
|
|
7
|
-
import a from "../blocks/
|
|
8
|
-
import
|
|
9
|
-
import e from "../blocks/
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
import { CategoryTransactionsBlock as a } from "../blocks/ComponentBlocks/TransactionBlock/TransactionBlock.es.js";
|
|
8
|
+
import B from "../blocks/ImageBlocks/ImageBlock.es.js";
|
|
9
|
+
import { SVGImageBlock as e } from "../blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js";
|
|
10
|
+
import i from "../blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js";
|
|
11
|
+
import { PlaceholderActionBlock as k } from "../blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock.es.js";
|
|
12
|
+
var p = (n) => {
|
|
13
|
+
}, v = { PlaceholderActionBlock: {
|
|
14
|
+
Component: k,
|
|
15
|
+
usePrepare: p,
|
|
15
16
|
title: "Action Block Layer Drilldown"
|
|
16
|
-
} },
|
|
17
|
+
} }, y = {
|
|
17
18
|
AccountBlock: l,
|
|
18
19
|
BarChartBlock: o,
|
|
19
20
|
BudgetBlock: m,
|
|
21
|
+
CategoryTransactionsBlock: a,
|
|
20
22
|
DonutChartBlock: t,
|
|
21
23
|
DoubleBarChartBlock: r,
|
|
22
24
|
DoubleProgressBarBlock: c,
|
|
23
|
-
ImageBlock:
|
|
24
|
-
StepChartBlock:
|
|
25
|
-
SVGImageBlock:
|
|
25
|
+
ImageBlock: B,
|
|
26
|
+
StepChartBlock: i,
|
|
27
|
+
SVGImageBlock: e
|
|
26
28
|
};
|
|
27
29
|
export {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
v as actionBlocks,
|
|
31
|
+
y as blocks
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
//# sourceMappingURL=blocks.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.es.js","names":[],"sources":["../../../src/insights-v2/mappings/blocks.ts"],"sourcesContent":["import {\n AccountBlock,\n BarchartBlock,\n BudgetBlock,\n DonutChartBlock,\n DoubleBarChartBlock,\n DoubleProgressBarBlock,\n SVGImageBlock,\n} from '../blocks'\nimport StepChartBlock from '../blocks/ChartBlocks/StepChartBlock'\nimport ImageBlock from '../blocks/ImageBlocks/ImageBlock'\n\nimport type { Beat, InsightsPayload } from '../../core'\nimport { PlaceholderActionBlock } from '../blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock'\n\n// Drilldown indexes are not passed down: action blocks read them from\n// InsightsV2Store (useInsightsV2Store().actionDrawer).\nexport interface ActionBlockProps {\n beat: Beat\n}\n\nconst noop = (_: ActionBlockProps) => {}\nexport interface ActionBlockEntry {\n Component: React.ComponentType<ActionBlockProps>\n usePrepare: (props: ActionBlockProps) => void // required; default to noop in each entry\n title: string\n}\n\n// Registry of drawer drilldowns, keyed by the `block` name the backend sends\n// on a beat's CTA. To add one: create a component taking ActionBlockProps,\n// read the clicked indexes from useInsightsV2Store().actionDrawer, and\n// register it here. Add\n// `usePrepare` when the block needs to load data before rendering.\nexport const actionBlocks = {\n PlaceholderActionBlock: {\n Component: PlaceholderActionBlock,\n usePrepare: noop,\n title: 'Action Block Layer Drilldown',\n },\n} as Record<string, ActionBlockEntry>\n\nexport const blocks = {\n AccountBlock: AccountBlock,\n BarChartBlock: BarchartBlock,\n BudgetBlock: BudgetBlock,\n DonutChartBlock: DonutChartBlock,\n DoubleBarChartBlock: DoubleBarChartBlock,\n DoubleProgressBarBlock: DoubleProgressBarBlock,\n ImageBlock: ImageBlock,\n StepChartBlock: StepChartBlock,\n SVGImageBlock: SVGImageBlock,\n} as Record<string, React.ComponentType<{ payload: InsightsPayload; beatGuid?: string }>>\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"blocks.es.js","names":[],"sources":["../../../src/insights-v2/mappings/blocks.ts"],"sourcesContent":["import {\n AccountBlock,\n BarchartBlock,\n BudgetBlock,\n CategoryTransactionsBlock,\n DonutChartBlock,\n DoubleBarChartBlock,\n DoubleProgressBarBlock,\n SVGImageBlock,\n} from '../blocks'\nimport StepChartBlock from '../blocks/ChartBlocks/StepChartBlock'\nimport ImageBlock from '../blocks/ImageBlocks/ImageBlock'\n\nimport type { Beat, InsightsPayload } from '../../core'\nimport { PlaceholderActionBlock } from '../blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock'\n\n// Drilldown indexes are not passed down: action blocks read them from\n// InsightsV2Store (useInsightsV2Store().actionDrawer).\nexport interface ActionBlockProps {\n beat: Beat\n}\n\nconst noop = (_: ActionBlockProps) => {}\nexport interface ActionBlockEntry {\n Component: React.ComponentType<ActionBlockProps>\n usePrepare: (props: ActionBlockProps) => void // required; default to noop in each entry\n title: string\n}\n\n// Registry of drawer drilldowns, keyed by the `block` name the backend sends\n// on a beat's CTA. To add one: create a component taking ActionBlockProps,\n// read the clicked indexes from useInsightsV2Store().actionDrawer, and\n// register it here. Add\n// `usePrepare` when the block needs to load data before rendering.\nexport const actionBlocks = {\n PlaceholderActionBlock: {\n Component: PlaceholderActionBlock,\n usePrepare: noop,\n title: 'Action Block Layer Drilldown',\n },\n} as Record<string, ActionBlockEntry>\n\nexport const blocks = {\n AccountBlock: AccountBlock,\n BarChartBlock: BarchartBlock,\n BudgetBlock: BudgetBlock,\n CategoryTransactionsBlock: CategoryTransactionsBlock,\n DonutChartBlock: DonutChartBlock,\n DoubleBarChartBlock: DoubleBarChartBlock,\n DoubleProgressBarBlock: DoubleProgressBarBlock,\n ImageBlock: ImageBlock,\n StepChartBlock: StepChartBlock,\n SVGImageBlock: SVGImageBlock,\n} as Record<string, React.ComponentType<{ payload: InsightsPayload; beatGuid?: string }>>\n"],"mappings":";;;;;;;;;;;AAsBA,IAAM,IAAA,CAAQ,MAAwB;AAAC,GAY1B,IAAe,EAC1B,wBAAwB;AAAA,EACtB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,OAAO;AACT,EACF,GAEa,IAAS;AAAA,EACN,cAAA;AAAA,EACd,eAAe;AAAA,EACF,aAAA;AAAA,EACc,2BAAA;AAAA,EACV,iBAAA;AAAA,EACI,qBAAA;AAAA,EACG,wBAAA;AAAA,EACZ,YAAA;AAAA,EACI,gBAAA;AAAA,EACD,eAAA;AACjB"}
|