@mx-cartographer/experiences 9.4.68 → 9.4.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cashflow/context/hooks.d.ts +3 -0
  3. package/dist/common/utils/PostMessage.d.ts +5 -1
  4. package/dist/common/utils/PostMessage.es.js +26 -24
  5. package/dist/common/utils/PostMessage.es.js.map +1 -1
  6. package/dist/core/stores/CashflowStore.d.ts +3 -0
  7. package/dist/core/stores/CashflowStore.es.js +9 -0
  8. package/dist/core/stores/CashflowStore.es.js.map +1 -1
  9. package/dist/core/types/Insights.d.ts +17 -0
  10. package/dist/core/types/index.d.ts +1 -1
  11. package/dist/core/types/localization/InsightsFeedCopy.d.ts +15 -0
  12. package/dist/core/types/localization/index.d.ts +1 -1
  13. package/dist/insights-v2/actionBlocks/RecurringTransactionBlock/index.d.ts +1 -1
  14. package/dist/insights-v2/actionBlocks/RemainingCashBlock/RemainingCashBlock.d.ts +11 -0
  15. package/dist/insights-v2/actionBlocks/RemainingCashBlock/RemainingCashBlock.es.js +89 -0
  16. package/dist/insights-v2/actionBlocks/RemainingCashBlock/RemainingCashBlock.es.js.map +1 -0
  17. package/dist/insights-v2/actionBlocks/RemainingCashBlock/RemainingCashContent.d.ts +32 -0
  18. package/dist/insights-v2/actionBlocks/RemainingCashBlock/RemainingCashContent.es.js +169 -0
  19. package/dist/insights-v2/actionBlocks/RemainingCashBlock/RemainingCashContent.es.js.map +1 -0
  20. package/dist/insights-v2/actionBlocks/RemainingCashBlock/index.d.ts +1 -0
  21. package/dist/insights-v2/actionBlocks/RemainingCashBlock/layout.d.ts +27 -0
  22. package/dist/insights-v2/actionBlocks/RemainingCashBlock/layout.es.js +26 -0
  23. package/dist/insights-v2/actionBlocks/RemainingCashBlock/layout.es.js.map +1 -0
  24. package/dist/insights-v2/components/BaseLayout.es.js.map +1 -1
  25. package/dist/insights-v2/ctaActions/ctaConfig.d.ts +3 -2
  26. package/dist/insights-v2/ctaActions/ctaConfig.es.js.map +1 -1
  27. package/dist/insights-v2/ctaActions/ctaPostMessages.d.ts +16 -0
  28. package/dist/insights-v2/ctaActions/ctaPostMessages.es.js +51 -0
  29. package/dist/insights-v2/ctaActions/ctaPostMessages.es.js.map +1 -0
  30. package/dist/insights-v2/ctaActions/index.d.ts +1 -0
  31. package/dist/insights-v2/ctaActions/runCtaAction.d.ts +5 -1
  32. package/dist/insights-v2/ctaActions/runCtaAction.es.js +54 -51
  33. package/dist/insights-v2/ctaActions/runCtaAction.es.js.map +1 -1
  34. package/dist/insights-v2/ctaActions/types.d.ts +1 -1
  35. package/dist/insights-v2/mappings/actionBlocksKey.d.ts +1 -0
  36. package/dist/insights-v2/mappings/actionBlocksKey.es.js +2 -1
  37. package/dist/insights-v2/mappings/actionBlocksKey.es.js.map +1 -1
  38. package/dist/insights-v2/mappings/blocks.es.js +48 -42
  39. package/dist/insights-v2/mappings/blocks.es.js.map +1 -1
  40. package/package.json +1 -1
@@ -1,91 +1,97 @@
1
- import { ContactSupportActionBlock as i } from "../actionBlocks/ContactSupportActionBlock.es.js";
1
+ import { ContactSupportActionBlock as n } from "../actionBlocks/ContactSupportActionBlock.es.js";
2
2
  import { actionBlocksKey as r } from "./actionBlocksKey.es.js";
3
3
  import { BarchartBlock as l } from "../blocks/ChartBlocks/BarchartBlock/BarchartBlock.es.js";
4
- import { DoubleBarChartBlock as n } from "../blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChartBlock.es.js";
5
- import m from "../blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js";
4
+ import { DoubleBarChartBlock as m } from "../blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChartBlock.es.js";
5
+ import _ from "../blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js";
6
6
  import p from "../blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js";
7
- import _ from "../blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js";
8
- import s from "../blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js";
9
- import k from "../blocks/ComponentBlocks/AccountSwitchBlock/AccountSwitchBlock.es.js";
7
+ import s from "../blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js";
8
+ import k from "../blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js";
9
+ import C from "../blocks/ComponentBlocks/AccountSwitchBlock/AccountSwitchBlock.es.js";
10
10
  import { BudgetBlock as B } from "../blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js";
11
- import C from "../blocks/ComponentBlocks/SaveExtraBlock/SaveExtraBlock.es.js";
12
- import { TransactionBlock as T } from "../blocks/ComponentBlocks/TransactionBlock/TransactionBlock.es.js";
13
- import u from "../blocks/ComponentBlocks/WithdrawalBlock/WithdrawalBlock.es.js";
14
- import f from "../blocks/ImageBlocks/ImageBlock.es.js";
15
- import { SVGImageBlock as A } from "../blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js";
16
- import { PlaceholderActionBlock as O } from "../actionBlocks/PlaceholderActionBlock.es.js";
11
+ import T from "../blocks/ComponentBlocks/SaveExtraBlock/SaveExtraBlock.es.js";
12
+ import { TransactionBlock as u } from "../blocks/ComponentBlocks/TransactionBlock/TransactionBlock.es.js";
13
+ import f from "../blocks/ComponentBlocks/WithdrawalBlock/WithdrawalBlock.es.js";
14
+ import A from "../blocks/ImageBlocks/ImageBlock.es.js";
15
+ import { SVGImageBlock as O } from "../blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js";
16
+ import { PlaceholderActionBlock as N } from "../actionBlocks/PlaceholderActionBlock.es.js";
17
17
  import { getMakeTransferDrawerTitle as b } from "../actionBlocks/MakeTransferActionBlock/layout.es.js";
18
- import { MakeTransferActionBlockLayer as N } from "../actionBlocks/MakeTransferActionBlock/MakeTransferActionBlockLayer.es.js";
19
- import { getDrawerHeaderTitle as h } from "../actionBlocks/TransactionHistoryBlock/utils.es.js";
20
- import { TransactionDetailsBlock as I } from "../actionBlocks/TransactionDetailsBlock/TransactionDetailsBlock.es.js";
18
+ import { MakeTransferActionBlockLayer as h } from "../actionBlocks/MakeTransferActionBlock/MakeTransferActionBlockLayer.es.js";
19
+ import { getDrawerHeaderTitle as I } from "../actionBlocks/TransactionHistoryBlock/utils.es.js";
20
+ import { TransactionDetailsBlock as g } from "../actionBlocks/TransactionDetailsBlock/TransactionDetailsBlock.es.js";
21
21
  import { useTransactionDetailsPrepare as a } from "../actionBlocks/TransactionDetailsBlock/useTransactionDetailsPrepare.es.js";
22
22
  import { TransactionHistoryBlock as L } from "../actionBlocks/TransactionHistoryBlock/TransactionHistoryBlock.es.js";
23
- import { useRecurringTransactionPrepare as S } from "../actionBlocks/RecurringTransactionBlock/useRecurringTransactionPrepare.es.js";
24
- import { RecurringTransactionBlock as d } from "../actionBlocks/RecurringTransactionBlock/RecurringTransactionBlock.es.js";
25
- import { TransactionListBlock as g } from "../actionBlocks/TransactionListBlock/TransactionListBlock.es.js";
23
+ import { useRecurringTransactionPrepare as i } from "../actionBlocks/RecurringTransactionBlock/useRecurringTransactionPrepare.es.js";
24
+ import { RecurringTransactionBlock as S } from "../actionBlocks/RecurringTransactionBlock/RecurringTransactionBlock.es.js";
25
+ import { TransactionListBlock as d } from "../actionBlocks/TransactionListBlock/TransactionListBlock.es.js";
26
+ import { RemainingCashBlock as R } from "../actionBlocks/RemainingCashBlock/RemainingCashBlock.es.js";
26
27
  var e = (t) => {
27
28
  }, P = /* @__PURE__ */ new Set([
28
29
  "",
29
30
  "null",
30
31
  "undefined"
31
- ]), ro = (t) => {
32
+ ]), eo = (t) => {
32
33
  const o = t?.trim().toLowerCase();
33
34
  return !!o && !P.has(o);
34
- }, to = {
35
+ }, ao = {
35
36
  [r.PLACEHOLDER_ACTION_BLOCK]: {
36
- Component: O,
37
+ Component: N,
37
38
  usePrepare: e,
38
39
  title: () => "Action Block Layer Drilldown"
39
40
  },
40
41
  [r.MAKE_TRANSFER_ACTION_BLOCK]: {
41
- Component: N,
42
+ Component: h,
42
43
  usePrepare: e,
43
44
  title: b
44
45
  },
45
46
  [r.TRANSCATION_HISTORY_ACTION_BLOCK]: {
46
47
  Component: L,
47
48
  usePrepare: e,
48
- title: h
49
+ title: I
49
50
  },
50
51
  [r.TRANSACTION_DETAILS_ACTION_BLOCK]: {
51
- Component: I,
52
+ Component: g,
52
53
  usePrepare: a,
53
54
  title: () => "Transaction Details"
54
55
  },
55
56
  [r.RECURRING_TRANSACTION_ACTION_BLOCK]: {
56
- Component: d,
57
- usePrepare: S,
57
+ Component: S,
58
+ usePrepare: i,
58
59
  title: (t, o) => o.recurring?.expense_details ?? ""
59
60
  },
61
+ [r.REMAINING_CASH_ACTION_BLOCK]: {
62
+ Component: R,
63
+ usePrepare: i,
64
+ title: (t, o) => o.insights_feed?.remaining_cash?.title ?? ""
65
+ },
60
66
  [r.CONTACT_SUPPORT_ACTION_BLOCK]: {
61
- Component: i,
67
+ Component: n,
62
68
  usePrepare: e,
63
69
  title: (t, o) => o.help?.request_support ?? ""
64
70
  },
65
71
  [r.TRANSACTION_LIST_ACTION_BLOCK]: {
66
- Component: g,
72
+ Component: d,
67
73
  usePrepare: a,
68
74
  title: (t, o, c) => c?.insights_payload?.title ?? ""
69
75
  }
70
- }, eo = {
71
- account_block: s,
72
- account_switch_block: k,
76
+ }, io = {
77
+ account_block: k,
78
+ account_switch_block: C,
73
79
  bar_chart_block: l,
74
80
  budget_block: B,
75
81
  donut_chart_block: p,
76
- double_bar_chart_block: n,
77
- double_progress_bar_block: _,
78
- image_block: f,
79
- save_extra_block: C,
80
- step_chart_block: m,
81
- svg_image_block: A,
82
- withdrawal_block: u,
83
- transaction_block: T
82
+ double_bar_chart_block: m,
83
+ double_progress_bar_block: s,
84
+ image_block: A,
85
+ save_extra_block: T,
86
+ step_chart_block: _,
87
+ svg_image_block: O,
88
+ withdrawal_block: f,
89
+ transaction_block: u
84
90
  };
85
91
  export {
86
- to as actionBlocks,
87
- eo as blocks,
88
- ro as hasDrawerBlock
92
+ ao as actionBlocks,
93
+ io as blocks,
94
+ eo as hasDrawerBlock
89
95
  };
90
96
 
91
97
  //# 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 AccountSwitchBlock,\n BarchartBlock,\n BudgetBlock,\n DonutChartBlock,\n DoubleBarChartBlock,\n DoubleProgressBarBlock,\n SaveExtraBlock,\n SVGImageBlock,\n WithdrawalBlock,\n TransactionBlock,\n} from '../blocks'\nimport StepChartBlock from '../blocks/ChartBlocks/StepChartBlock'\nimport ImageBlock from '../blocks/ImageBlocks/ImageBlock'\n\nimport type { Beat, GlobalCopy, InsightsPayload } from '../../core'\nimport { ContactSupportActionBlock } from '../actionBlocks/ContactSupportActionBlock'\nimport { PlaceholderActionBlock } from '../actionBlocks/PlaceholderActionBlock'\nimport { MakeTransferActionBlockLayer } from '../actionBlocks/MakeTransferActionBlock/MakeTransferActionBlockLayer'\nimport { getMakeTransferDrawerTitle } from '../actionBlocks/MakeTransferActionBlock/layout'\nimport { TransactionHistoryBlock } from '../actionBlocks/TransactionHistoryBlock/TransactionHistoryBlock'\nimport { getDrawerHeaderTitle } from '../actionBlocks/TransactionHistoryBlock/utils'\nimport {\n TransactionDetailsBlock,\n useTransactionDetailsPrepare,\n} from '../actionBlocks/TransactionDetailsBlock'\nimport {\n RecurringTransactionBlock,\n useRecurringTransactionPrepare,\n} from '../actionBlocks/RecurringTransactionBlock'\nimport { TransactionListBlock } from '../actionBlocks/TransactionListBlock'\n// Keys live in ./actionBlocksKey (imported directly by chart blocks/tests too) to avoid a\n// circular import between this module and the chart blocks — see that file for details.\nimport { actionBlocksKey } from './actionBlocksKey'\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) => {}\n\n// A CTA opens a drawer only when it carries a real `block`. The backend may send\n// an empty/absent block (or the literal strings \"null\"/\"undefined\") for CTAs\n// that trigger something else (e.g. a postMessage) instead of a drilldown.\nconst NON_BLOCK_VALUES = new Set(['', 'null', 'undefined'])\nexport const hasDrawerBlock = (block?: string | null): boolean => {\n const normalized = block?.trim().toLowerCase()\n return !!normalized && !NON_BLOCK_VALUES.has(normalized)\n}\n\nexport interface ActionBlockEntry {\n Component: React.ComponentType<ActionBlockProps>\n usePrepare: (props: ActionBlockProps) => void // required; default to noop in each entry\n // Resolves the drawer title from the clicked CTA's variant + copy, with the beat available\n // for blocks that title from beat fields (e.g. transaction-list reads insights_payload.title).\n // Falls back to the CTA label when the resolver returns an empty string / is absent.\n title?: (variant: string | null | undefined, copy: GlobalCopy, beat?: Beat) => 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.\n\nexport const actionBlocks = {\n [actionBlocksKey.PLACEHOLDER_ACTION_BLOCK]: {\n Component: PlaceholderActionBlock,\n usePrepare: noop,\n title: () => 'Action Block Layer Drilldown',\n },\n [actionBlocksKey.MAKE_TRANSFER_ACTION_BLOCK]: {\n Component: MakeTransferActionBlockLayer,\n usePrepare: noop,\n title: getMakeTransferDrawerTitle,\n },\n [actionBlocksKey.TRANSCATION_HISTORY_ACTION_BLOCK]: {\n Component: TransactionHistoryBlock,\n usePrepare: noop,\n title: getDrawerHeaderTitle,\n },\n [actionBlocksKey.TRANSACTION_DETAILS_ACTION_BLOCK]: {\n Component: TransactionDetailsBlock,\n usePrepare: useTransactionDetailsPrepare,\n title: () => 'Transaction Details',\n },\n // Expense Details for one recurring subscription. Which subscription a beat names is resolved in\n // `RecurringTransactionBlock/subscriptionBeats.ts`, not through this registry.\n [actionBlocksKey.RECURRING_TRANSACTION_ACTION_BLOCK]: {\n Component: RecurringTransactionBlock,\n usePrepare: useRecurringTransactionPrepare,\n title: (_variant, copy) => copy.recurring?.expense_details ?? '',\n },\n // The block renders its own drawer (the help module's RequestSupport) on top of the action\n // drawer, so the action drawer's title is the CTA label.\n [actionBlocksKey.CONTACT_SUPPORT_ACTION_BLOCK]: {\n Component: ContactSupportActionBlock,\n usePrepare: noop,\n title: (_variant, copy) => copy.help?.request_support ?? '',\n },\n [actionBlocksKey.TRANSACTION_LIST_ACTION_BLOCK]: {\n Component: TransactionListBlock,\n usePrepare: useTransactionDetailsPrepare,\n title: (_variant, _copy, beat) => beat?.insights_payload?.title ?? '',\n },\n} as Record<string, ActionBlockEntry>\n\nexport const blocks = {\n account_block: AccountBlock,\n account_switch_block: AccountSwitchBlock,\n bar_chart_block: BarchartBlock,\n budget_block: BudgetBlock,\n donut_chart_block: DonutChartBlock,\n double_bar_chart_block: DoubleBarChartBlock,\n double_progress_bar_block: DoubleProgressBarBlock,\n image_block: ImageBlock,\n save_extra_block: SaveExtraBlock,\n step_chart_block: StepChartBlock,\n svg_image_block: SVGImageBlock,\n withdrawal_block: WithdrawalBlock,\n transaction_block: TransactionBlock,\n} as Record<string, React.ComponentType<{ payload: InsightsPayload; beatGuid?: string }>>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,IAAM,IAAA,CAAQ,MAAwB;AAAC,GAKjC,IAAmB,oBAAI,IAAI;AAAA,EAAC;AAAA,EAAI;AAAA,EAAQ;AAAW,CAAC,GAC7C,KAAA,CAAkB,MAAmC;AAChE,QAAM,IAAa,GAAO,KAAK,EAAE,YAAY;AAC7C,SAAO,CAAC,CAAC,KAAc,CAAC,EAAiB,IAAI,CAAU;AACzD,GAiBa,KAAe;AAAA,EACzB,CAAA,EAAgB,wBAAA,GAA2B;AAAA,IAC1C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,MAAa;AAAA,EACf;AAAA,EACC,CAAA,EAAgB,0BAAA,GAA6B;AAAA,IAC5C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACC,CAAA,EAAgB,gCAAA,GAAmC;AAAA,IAClD,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACC,CAAA,EAAgB,gCAAA,GAAmC;AAAA,IAClD,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,MAAa;AAAA,EACf;AAAA,EAGC,CAAA,EAAgB,kCAAA,GAAqC;AAAA,IACpD,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,CAAQ,GAAU,MAAS,EAAK,WAAW,mBAAmB;AAAA,EAChE;AAAA,EAGC,CAAA,EAAgB,4BAAA,GAA+B;AAAA,IAC9C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,CAAQ,GAAU,MAAS,EAAK,MAAM,mBAAmB;AAAA,EAC3D;AAAA,EACC,CAAA,EAAgB,6BAAA,GAAgC;AAAA,IAC/C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,CAAQ,GAAU,GAAO,MAAS,GAAM,kBAAkB,SAAS;AAAA,EACrE;AACF,GAEa,KAAS;AAAA,EACpB,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,2BAA2B;AAAA,EAC3B,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AACrB"}
1
+ {"version":3,"file":"blocks.es.js","names":[],"sources":["../../../src/insights-v2/mappings/blocks.ts"],"sourcesContent":["import {\n AccountBlock,\n AccountSwitchBlock,\n BarchartBlock,\n BudgetBlock,\n DonutChartBlock,\n DoubleBarChartBlock,\n DoubleProgressBarBlock,\n SaveExtraBlock,\n SVGImageBlock,\n WithdrawalBlock,\n TransactionBlock,\n} from '../blocks'\nimport StepChartBlock from '../blocks/ChartBlocks/StepChartBlock'\nimport ImageBlock from '../blocks/ImageBlocks/ImageBlock'\n\nimport type { Beat, GlobalCopy, InsightsPayload } from '../../core'\nimport { ContactSupportActionBlock } from '../actionBlocks/ContactSupportActionBlock'\nimport { PlaceholderActionBlock } from '../actionBlocks/PlaceholderActionBlock'\nimport { MakeTransferActionBlockLayer } from '../actionBlocks/MakeTransferActionBlock/MakeTransferActionBlockLayer'\nimport { getMakeTransferDrawerTitle } from '../actionBlocks/MakeTransferActionBlock/layout'\nimport { TransactionHistoryBlock } from '../actionBlocks/TransactionHistoryBlock/TransactionHistoryBlock'\nimport { getDrawerHeaderTitle } from '../actionBlocks/TransactionHistoryBlock/utils'\nimport {\n TransactionDetailsBlock,\n useTransactionDetailsPrepare,\n} from '../actionBlocks/TransactionDetailsBlock'\nimport {\n RecurringTransactionBlock,\n useRecurringTransactionPrepare,\n} from '../actionBlocks/RecurringTransactionBlock'\nimport { TransactionListBlock } from '../actionBlocks/TransactionListBlock'\nimport { RemainingCashBlock } from '../actionBlocks/RemainingCashBlock'\n// Keys live in ./actionBlocksKey (imported directly by chart blocks/tests too) to avoid a\n// circular import between this module and the chart blocks — see that file for details.\nimport { actionBlocksKey } from './actionBlocksKey'\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) => {}\n\n// A CTA opens a drawer only when it carries a real `block`. The backend may send\n// an empty/absent block (or the literal strings \"null\"/\"undefined\") for CTAs\n// that trigger something else (e.g. a postMessage) instead of a drilldown.\nconst NON_BLOCK_VALUES = new Set(['', 'null', 'undefined'])\nexport const hasDrawerBlock = (block?: string | null): boolean => {\n const normalized = block?.trim().toLowerCase()\n return !!normalized && !NON_BLOCK_VALUES.has(normalized)\n}\n\nexport interface ActionBlockEntry {\n Component: React.ComponentType<ActionBlockProps>\n usePrepare: (props: ActionBlockProps) => void // required; default to noop in each entry\n // Resolves the drawer title from the clicked CTA's variant + copy, with the beat available\n // for blocks that title from beat fields (e.g. transaction-list reads insights_payload.title).\n // Falls back to the CTA label when the resolver returns an empty string / is absent.\n title?: (variant: string | null | undefined, copy: GlobalCopy, beat?: Beat) => 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.\n\nexport const actionBlocks = {\n [actionBlocksKey.PLACEHOLDER_ACTION_BLOCK]: {\n Component: PlaceholderActionBlock,\n usePrepare: noop,\n title: () => 'Action Block Layer Drilldown',\n },\n [actionBlocksKey.MAKE_TRANSFER_ACTION_BLOCK]: {\n Component: MakeTransferActionBlockLayer,\n usePrepare: noop,\n title: getMakeTransferDrawerTitle,\n },\n [actionBlocksKey.TRANSCATION_HISTORY_ACTION_BLOCK]: {\n Component: TransactionHistoryBlock,\n usePrepare: noop,\n title: getDrawerHeaderTitle,\n },\n [actionBlocksKey.TRANSACTION_DETAILS_ACTION_BLOCK]: {\n Component: TransactionDetailsBlock,\n usePrepare: useTransactionDetailsPrepare,\n title: () => 'Transaction Details',\n },\n // Expense Details for one recurring subscription. Which subscription a beat names is resolved in\n // `RecurringTransactionBlock/subscriptionBeats.ts`, not through this registry.\n [actionBlocksKey.RECURRING_TRANSACTION_ACTION_BLOCK]: {\n Component: RecurringTransactionBlock,\n usePrepare: useRecurringTransactionPrepare,\n title: (_variant, copy) => copy.recurring?.expense_details ?? '',\n },\n // Remaining Cash for the Payday Cash Left Over Status beat. Store-driven: reuses the recurring\n // loader, which also loads accounts and categories, so CashflowStore's computeds are ready.\n [actionBlocksKey.REMAINING_CASH_ACTION_BLOCK]: {\n Component: RemainingCashBlock,\n usePrepare: useRecurringTransactionPrepare,\n title: (_variant, copy) => copy.insights_feed?.remaining_cash?.title ?? '',\n },\n // The block renders its own drawer (the help module's RequestSupport) on top of the action\n // drawer, so the action drawer's title is the CTA label.\n [actionBlocksKey.CONTACT_SUPPORT_ACTION_BLOCK]: {\n Component: ContactSupportActionBlock,\n usePrepare: noop,\n title: (_variant, copy) => copy.help?.request_support ?? '',\n },\n [actionBlocksKey.TRANSACTION_LIST_ACTION_BLOCK]: {\n Component: TransactionListBlock,\n usePrepare: useTransactionDetailsPrepare,\n title: (_variant, _copy, beat) => beat?.insights_payload?.title ?? '',\n },\n} as Record<string, ActionBlockEntry>\n\nexport const blocks = {\n account_block: AccountBlock,\n account_switch_block: AccountSwitchBlock,\n bar_chart_block: BarchartBlock,\n budget_block: BudgetBlock,\n donut_chart_block: DonutChartBlock,\n double_bar_chart_block: DoubleBarChartBlock,\n double_progress_bar_block: DoubleProgressBarBlock,\n image_block: ImageBlock,\n save_extra_block: SaveExtraBlock,\n step_chart_block: StepChartBlock,\n svg_image_block: SVGImageBlock,\n withdrawal_block: WithdrawalBlock,\n transaction_block: TransactionBlock,\n} as Record<string, React.ComponentType<{ payload: InsightsPayload; beatGuid?: string }>>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,IAAM,IAAA,CAAQ,MAAwB;AAAC,GAKjC,IAAmB,oBAAI,IAAI;AAAA,EAAC;AAAA,EAAI;AAAA,EAAQ;AAAW,CAAC,GAC7C,KAAA,CAAkB,MAAmC;AAChE,QAAM,IAAa,GAAO,KAAK,EAAE,YAAY;AAC7C,SAAO,CAAC,CAAC,KAAc,CAAC,EAAiB,IAAI,CAAU;AACzD,GAiBa,KAAe;AAAA,EACzB,CAAA,EAAgB,wBAAA,GAA2B;AAAA,IAC1C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,MAAa;AAAA,EACf;AAAA,EACC,CAAA,EAAgB,0BAAA,GAA6B;AAAA,IAC5C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACC,CAAA,EAAgB,gCAAA,GAAmC;AAAA,IAClD,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACC,CAAA,EAAgB,gCAAA,GAAmC;AAAA,IAClD,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,MAAa;AAAA,EACf;AAAA,EAGC,CAAA,EAAgB,kCAAA,GAAqC;AAAA,IACpD,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,CAAQ,GAAU,MAAS,EAAK,WAAW,mBAAmB;AAAA,EAChE;AAAA,EAGC,CAAA,EAAgB,2BAAA,GAA8B;AAAA,IAC7C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,CAAQ,GAAU,MAAS,EAAK,eAAe,gBAAgB,SAAS;AAAA,EAC1E;AAAA,EAGC,CAAA,EAAgB,4BAAA,GAA+B;AAAA,IAC9C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,CAAQ,GAAU,MAAS,EAAK,MAAM,mBAAmB;AAAA,EAC3D;AAAA,EACC,CAAA,EAAgB,6BAAA,GAAgC;AAAA,IAC/C,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAA,CAAQ,GAAU,GAAO,MAAS,GAAM,kBAAkB,SAAS;AAAA,EACrE;AACF,GAEa,KAAS;AAAA,EACpB,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,2BAA2B;AAAA,EAC3B,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AACrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/experiences",
3
- "version": "9.4.68",
3
+ "version": "9.4.70",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",