@feedmepos/mf-connect 0.1.98-beta.57 → 0.1.98-beta.59

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 (120) hide show
  1. package/dist/{App-BO2Eyrad.js → App-EPMWVhRl.js} +8 -8
  2. package/dist/{AuditLogs-CduIANMo.js → AuditLogs-DGfgg_B0.js} +11 -11
  3. package/dist/{Bin-QF11ntmi.js → Bin-CAoKk2Qu.js} +8 -8
  4. package/dist/{Broadcast-BTM4RQ69.js → Broadcast-DeaN6hHR.js} +11 -11
  5. package/dist/{CampaignAnalytic-ClDZaoE6.js → CampaignAnalytic-DVmErhEK.js} +510 -506
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-dZqVizdR.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BVdCt9UN.js} +6 -6
  7. package/dist/{Card-Q1UzqccH.js → Card-DEaJvF6q.js} +21 -21
  8. package/dist/{Collections-CJXgekb9.js → Collections-B_G2R-pT.js} +8 -8
  9. package/dist/{Credit--59mQFS2.js → Credit-Bxbo5feT.js} +12 -12
  10. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-DgX09eKJ.js → DateRangeChip.vue_vue_type_script_setup_true_lang-CbXXEb_b.js} +1 -1
  11. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-CHZ-Bb7m.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-CULi_DuX.js} +54 -55
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-BDn3DDAD.js → EffectSheet.vue_vue_type_style_index_0_lang-CqTVK4kx.js} +12 -12
  13. package/dist/{Experience-Co4JhNR2.js → Experience-C5n7DOny.js} +12 -12
  14. package/dist/{FileSaver.min-5YaSibh7.js → FileSaver.min-CmvwRmjQ.js} +1 -1
  15. package/dist/{Game-Clajtl0A.js → Game-CV2kGDYk.js} +13 -13
  16. package/dist/{GiftCardSetup-D8aAX5Hg.js → GiftCardSetup-Du0JaAOY.js} +9 -9
  17. package/dist/{Grab-f9NlRetE.js → Grab-D-tMg9Xk.js} +9 -9
  18. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-D1IrKRz8.js → ImageInput.vue_vue_type_script_setup_true_lang-BzOJjs_7.js} +1 -1
  19. package/dist/{Index-DkfGmK1a.js → Index-FgWeYPvB.js} +10 -10
  20. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-DnXFpSbG.js → LocationPicker.vue_vue_type_script_setup_true_lang-DZAi88YS.js} +1 -1
  21. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-DUvd2kQ3.js → LottieAnimation.vue_vue_type_script_setup_true_lang-BzWtxWET.js} +1 -1
  22. package/dist/{LoyaltyDashboard-Cv5WHOM5.js → LoyaltyDashboard-ovoxVpEh.js} +17 -17
  23. package/dist/{MainLayout-DPP0WH2J.js → MainLayout-DT2sd1UQ.js} +3 -3
  24. package/dist/{Marketing-DTzUSHMW.js → Marketing-B8eY1Mz8.js} +4 -4
  25. package/dist/{MarketingMaterialEdit-EQdRBYe_.js → MarketingMaterialEdit-9lMMK6wr.js} +6 -6
  26. package/dist/{Member-mmPtQpcJ.js → Member-BBQDC7qH.js} +7 -7
  27. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-CaykyGpo.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-BfqxFlWd.js} +23 -23
  28. package/dist/{MemberImportHistory-CosGWK6J.js → MemberImportHistory-2FCTkHkQ.js} +7 -7
  29. package/dist/{MemberList-B25FChyx.js → MemberList-BsxZ9Caq.js} +14 -14
  30. package/dist/{MemberTransactions-C1Iwr2PC.js → MemberTransactions-D1vVtuKx.js} +1 -1
  31. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-Dy76Hi7S.js → MessageInput.vue_vue_type_script_setup_true_lang-odhcQ_g1.js} +10 -10
  32. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-BjKY7d9t.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-ELm3_clS.js} +1 -1
  33. package/dist/{Mission-DBFYv752.js → Mission-C28mUqvH.js} +13 -13
  34. package/dist/{Overview-tQE2krzT.js → Overview-DeBS_7vN.js} +19 -19
  35. package/dist/{Overview-DkvQdk3p.js → Overview-DyogLHhx.js} +4 -4
  36. package/dist/{Point-DFGLdpqH.js → Point-Bv9593In.js} +12 -12
  37. package/dist/{Promotion-B0TPgTRJ.js → Promotion-BQfEbQkK.js} +13 -13
  38. package/dist/{Queue-Pai-jb9x.js → Queue-BsA_SIPG.js} +11 -11
  39. package/dist/{Record-BNOdMHa9.js → Record-CaNv-a5D.js} +9 -9
  40. package/dist/{Review-BUfQIAIP.js → Review-jKKOChip.js} +2 -2
  41. package/dist/{ReviewFacebookCallback-D6jfeakg.js → ReviewFacebookCallback-DRVDBPBQ.js} +5 -5
  42. package/dist/{ReviewGoogleCallback-Ctl8DNMj.js → ReviewGoogleCallback-BSUkwi1N.js} +5 -5
  43. package/dist/{Reward-Bfk-Yt4h.js → Reward-CLvkIAFR.js} +16 -16
  44. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-c48TxM6-.js → RewardGroup.vue_vue_type_script_setup_true_lang-C8We6wGX.js} +12 -12
  45. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-nJoAjC4P.js → RuleGroup.vue_vue_type_script_setup_true_lang-uYcE0jWt.js} +68 -75
  46. package/dist/{Segment-CzL0P-1e.js → Segment-DpRd1m-s.js} +24 -24
  47. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-DcMiX5P8.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-B8gyDyD2.js} +13 -13
  48. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-1ADUHq-4.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-BhMPpjCt.js} +4 -4
  49. package/dist/{Setting-B8dkbZ7G.js → Setting-d3jG5J7g.js} +14 -14
  50. package/dist/{SettingAdvertisements-z-Nx97_Q.js → SettingAdvertisements-D7oRdpHs.js} +12 -12
  51. package/dist/{Settings-Bj7Sgsxv.js → Settings-CEZAzSFA.js} +5 -5
  52. package/dist/{Store-BibnCePN.js → Store-Df7Oj7Dr.js} +25 -25
  53. package/dist/{StoreRewards-s_1EUC35.js → StoreRewards-DEQWavMf.js} +15 -15
  54. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-WqQHMVgu.js → StoreTransactions.vue_vue_type_script_setup_true_lang-BwDMj8_l.js} +24 -24
  55. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-Dh3A-USI.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-BSM-9-ni.js} +2 -2
  56. package/dist/{Tier-DSIHI9NJ.js → Tier-BsBHMN0i.js} +141 -144
  57. package/dist/{Title-Cl3K5L3e.js → Title-CUj_GhCA.js} +21 -21
  58. package/dist/{Transaction-CS0rtyng.js → Transaction-8Osuak54.js} +2 -2
  59. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-Z-8TTRPC.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-BoZzhVxU.js} +6 -6
  60. package/dist/{Voucher-CR_w7fqQ.js → Voucher-B9TFCpE0.js} +14 -14
  61. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-WsAmkz61.js → VoucherEditor.vue_vue_type_script_setup_true_lang-DqwrIEBF.js} +115 -121
  62. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-BBSyDPhQ.js → ZodTextField.vue_vue_type_script_setup_true_lang-BFqTGaiN.js} +2 -2
  63. package/dist/{app-xUS3J9z2.js → app-JaMrl1Q3.js} +24648 -24383
  64. package/dist/app.js +1 -1
  65. package/dist/{base.export-DK6-6AZL.js → base.export-C-XjeO_8.js} +2 -2
  66. package/dist/{business-DzXKekqM.js → business-qX066mkW.js} +1 -1
  67. package/dist/{campaign-BLRQqfj4.js → campaign-DAqkMrCh.js} +8 -8
  68. package/dist/{campaign-B6DZ0Vj0.js → campaign-DcxZvdiX.js} +2 -2
  69. package/dist/{campaign.enum-DGPxPvey.js → campaign.enum-qJ9W4VTb.js} +1 -1
  70. package/dist/{campaign.fn-DksaoBjs.js → campaign.fn-C_W3zAbu.js} +162 -162
  71. package/dist/{collectible.enum-J15b2Jl2.js → collectible.enum-cS4F2xlG.js} +1 -1
  72. package/dist/{collection.fn-CKReS8ra.js → collection.fn-BsC5X2cl.js} +2 -2
  73. package/dist/{currency-q6M_hk-7.js → currency-DS_9mv_r.js} +1 -1
  74. package/dist/{duplicateCampaign-CdvzdrHQ.js → duplicateCampaign-BLynLq03.js} +11 -11
  75. package/dist/{effect-CyAwjL7O.js → effect-eqhKpbLr.js} +1 -1
  76. package/dist/{email-addresses-BWcWQegr.js → email-addresses-w9Jhh9jb.js} +2 -2
  77. package/dist/{helper-DjKrL_4r.js → helper-DnJGcKGJ.js} +1 -1
  78. package/dist/{index-zbhhxeLU.js → index-3XuFPLyU.js} +7 -7
  79. package/dist/{index-BkqVgRzY.js → index-BUftE5lT.js} +1 -1
  80. package/dist/{index-CGtNEWtn.js → index-BfwzTOs6.js} +1 -1
  81. package/dist/{index-D9K94RyI.js → index-BjgdP3hm.js} +4 -5
  82. package/dist/{index-xgOeAWKf.js → index-Bou4dwLI.js} +1 -1
  83. package/dist/{index-DOLjFevA.js → index-BpAcxrzl.js} +1 -1
  84. package/dist/{index-DIjHN6qv.js → index-C2jIeb7J.js} +1 -1
  85. package/dist/{index-BRKM71-O.js → index-C3zKTv5Y.js} +3 -3
  86. package/dist/{index-DKZwHlaX.js → index-C7q0a9DM.js} +1 -1
  87. package/dist/{index-DunfF8Ht.js → index-C99Zc-Vi.js} +2 -2
  88. package/dist/{index-D4cliPZ8.js → index-CW90K2Di.js} +5 -5
  89. package/dist/{index-CuYqhHzD.js → index-CfL9lKtR.js} +2 -2
  90. package/dist/{index-DSqT-Q4v.js → index-DQu_MaSm.js} +1 -1
  91. package/dist/{index-gwKw1aNK.js → index-Db5_EuHB.js} +5 -5
  92. package/dist/{index-D1enMqka.js → index-DwvbwfkH.js} +3 -3
  93. package/dist/{index-DSpG12an.js → index-E53ZVbQF.js} +6 -6
  94. package/dist/{index-Cux9v7uP.js → index-iYcCV_pn.js} +3 -3
  95. package/dist/{index-B02qZDQl.js → index-vUdF4o96.js} +2 -2
  96. package/dist/{index.esm2017-BUXgQjc4.js → index.esm2017-fD_yn74v.js} +1 -1
  97. package/dist/{loading-JXWN1mlR.js → loading-D0ISq3i1.js} +1 -1
  98. package/dist/{lodash-BAs6aERf.js → lodash-DpkQx-iA.js} +1 -1
  99. package/dist/{member-import-C9T8InBc.js → member-import-BWHMGlEk.js} +1 -1
  100. package/dist/membership-DUGWL41O.js +274 -0
  101. package/dist/{money-JjwvMRyS.js → money-IiR3bJjv.js} +1 -1
  102. package/dist/{number-DN2HZqPg.js → number-DQj3ZaBn.js} +1 -1
  103. package/dist/{objectid-mKRbFu1z.js → objectid-0QTNkJtB.js} +7 -7
  104. package/dist/{plugins-BLbiKHAu.js → plugins-Dy6ENTEO.js} +3 -3
  105. package/dist/{reward-BxZGVpM2.js → reward-C44IabhB.js} +1 -1
  106. package/dist/{rule-CZafBeMP.js → rule-_e1tnZLU.js} +8 -8
  107. package/dist/style.css +1 -1
  108. package/dist/{template-C1a6vJYx.js → template-DTM6E2ym.js} +6 -6
  109. package/dist/{timezone-C6Gli671.js → timezone-DKvRUDVT.js} +1 -1
  110. package/dist/{transaction.fn-C4TR2679.js → transaction.fn-BOBilrwc.js} +1 -1
  111. package/dist/{trigger-CR-PIXPO.js → trigger-BOpVvQBM.js} +5 -5
  112. package/dist/{useMarketingMaterialActions-BgyP0DyO.js → useMarketingMaterialActions-B1TUZegb.js} +3 -3
  113. package/dist/{usePagination-CodnCuRS.js → usePagination-D2aiyXMK.js} +1 -1
  114. package/dist/{user-opdeV_ks.js → user-BgRV4fLO.js} +1 -1
  115. package/dist/{vue-i18n-CCRzsQae.js → vue-i18n-CA3hRpIg.js} +583 -583
  116. package/dist/{xlsx-UBnlo3Sn.js → xlsx-5tGMBewT.js} +440 -440
  117. package/dist/{zod-BEd8s7kE.js → zod-UhNNazW6.js} +1 -1
  118. package/package.json +3 -4
  119. package/dist/SelectItems.vue_vue_type_script_setup_true_lang-DK2ZbMVT.js +0 -181
  120. package/dist/membership-CdIORwnn.js +0 -255
@@ -1,14 +1,14 @@
1
- import { defineComponent as j, computed as O, resolveComponent as S, openBlock as r, createBlock as g, withCtx as L, createElementBlock as p, createCommentVNode as b, createElementVNode as a, toDisplayString as u, normalizeClass as H, unref as n, Fragment as E, normalizeStyle as de, createTextVNode as xe, renderList as Z, createVNode as P, ref as Y, onMounted as ke } from "vue";
2
- import { u as ve } from "./vue-i18n-CCRzsQae.js";
1
+ import { defineComponent as z, computed as P, resolveComponent as S, openBlock as r, createBlock as x, withCtx as D, createElementBlock as d, createCommentVNode as v, createElementVNode as s, toDisplayString as u, normalizeClass as K, unref as o, Fragment as L, normalizeStyle as ye, createTextVNode as xe, renderList as ee, createVNode as $, ref as Q, onMounted as ke } from "vue";
2
+ import { u as he } from "./vue-i18n-CA3hRpIg.js";
3
3
  import { useCoreStore as we } from "@feedmepos/mf-common";
4
- import { c as U } from "./index-DunfF8Ht.js";
5
- import { u as Re } from "./loading-JXWN1mlR.js";
6
- import { s as Me, a as _e } from "./campaign-BLRQqfj4.js";
7
- import { C as pe } from "./timezone-C6Gli671.js";
4
+ import { c as U } from "./index-C99Zc-Vi.js";
5
+ import { u as Re } from "./loading-D0ISq3i1.js";
6
+ import { s as Me, a as _e } from "./campaign-DAqkMrCh.js";
7
+ import { C as be } from "./timezone-DKvRUDVT.js";
8
8
  import { h as Se } from "./moment-D7p2TMB-.js";
9
9
  import { s as Ce } from "./index-CuvNtC_M.js";
10
- import { T as Ie } from "./transaction.fn-C4TR2679.js";
11
- import { _ as ee } from "./MetricInfoTooltip.vue_vue_type_script_setup_true_lang-BjKY7d9t.js";
10
+ import { T as Ie } from "./transaction.fn-BOBilrwc.js";
11
+ import { _ as te } from "./MetricInfoTooltip.vue_vue_type_script_setup_true_lang-ELm3_clS.js";
12
12
  import { useRoute as $e, useRouter as Pe } from "vue-router";
13
13
  const Oe = {
14
14
  state: "populated",
@@ -49,7 +49,7 @@ const Oe = {
49
49
  breakdowns: [],
50
50
  outcomes: [],
51
51
  metrics: []
52
- }, Ee = {
52
+ }, Be = {
53
53
  state: "populated",
54
54
  reportRangeLabel: "Unavailable",
55
55
  funnel: [],
@@ -59,7 +59,7 @@ const Oe = {
59
59
  breakdowns: [],
60
60
  outcomes: [],
61
61
  metrics: []
62
- }, Be = {
62
+ }, Ee = {
63
63
  state: "populated",
64
64
  reportRangeLabel: "Unavailable",
65
65
  funnel: [],
@@ -69,7 +69,7 @@ const Oe = {
69
69
  breakdowns: [],
70
70
  outcomes: [],
71
71
  metrics: []
72
- }, Te = {
72
+ }, Ve = {
73
73
  state: "populated",
74
74
  reportRangeLabel: "Unavailable",
75
75
  funnel: [],
@@ -79,7 +79,7 @@ const Oe = {
79
79
  breakdowns: [],
80
80
  outcomes: [],
81
81
  metrics: []
82
- }, Ne = {
82
+ }, Te = {
83
83
  state: "populated",
84
84
  reportRangeLabel: "Unavailable",
85
85
  funnel: [],
@@ -89,7 +89,7 @@ const Oe = {
89
89
  breakdowns: [],
90
90
  outcomes: [],
91
91
  metrics: []
92
- }, Ve = {
92
+ }, Ne = {
93
93
  VOUCHER: {
94
94
  label: "Voucher",
95
95
  icon: "confirmation_number",
@@ -112,33 +112,33 @@ const Oe = {
112
112
  label: "Game",
113
113
  icon: "sports_esports",
114
114
  objective: "Member engagement",
115
- report: Ee
115
+ report: Be
116
116
  },
117
117
  COIN: {
118
118
  label: "Point",
119
119
  icon: "stars",
120
120
  objective: "Member engagement",
121
- report: Be
121
+ report: Ee
122
122
  },
123
123
  POINT: {
124
124
  label: "Experience",
125
125
  icon: "trending_up",
126
126
  objective: "Member engagement",
127
- report: Te
127
+ report: Ve
128
128
  },
129
129
  CREDIT: {
130
130
  label: "Credit",
131
131
  icon: "account_balance_wallet",
132
132
  objective: "Member engagement",
133
- report: Ne
133
+ report: Te
134
134
  }
135
135
  };
136
136
  function Ue(t) {
137
- return Ve[t];
137
+ return Ne[t];
138
138
  }
139
139
  function _(t, l, e = l) {
140
- const s = t ?? 0;
141
- return `${s.toLocaleString()} ${s === 1 ? e : l}`;
140
+ const a = t ?? 0;
141
+ return `${a.toLocaleString()} ${a === 1 ? e : l}`;
142
142
  }
143
143
  function m(t) {
144
144
  return (t ?? 0).toLocaleString();
@@ -153,12 +153,13 @@ function B(t, l) {
153
153
  const e = l ?? 0;
154
154
  return e ? Math.round((t ?? 0) / e * 1e3) / 10 : 0;
155
155
  }
156
- function V(t) {
156
+ function N(t) {
157
157
  const l = Se(t);
158
158
  return l.isValid() ? l.format("D MMM YYYY") : t;
159
159
  }
160
- function Fe(t, l, e) {
161
- const { metrics: s, scope: i } = l, h = l.redemptionBreakdown ?? {
160
+ function Ae(t, l, e) {
161
+ var h;
162
+ const { metrics: a, scope: i } = l, b = a.rewardValueBasis === "FACE_VALUE", p = b ? "Redeemed Face Value" : "Reward Value Used", g = l.redemptionBreakdown ?? {
162
163
  member: {
163
164
  redeemedMembers: 0,
164
165
  redeemedVouchers: 0,
@@ -170,34 +171,34 @@ function Fe(t, l, e) {
170
171
  voucherUses: 0,
171
172
  completedBills: 0
172
173
  }
173
- }, { member: d, guest: v } = h, o = B(
174
- d.redeemedMembers,
175
- s.distributedMembers
176
- ), w = B(
177
- s.redeemedVouchers,
178
- s.distributedVouchers
179
- ), c = s.completedBills === 0 ? 0 : s.rewardValueUsed / s.completedBills, C = s.completedBills === 0 ? 0 : s.exactSales / s.completedBills, y = B(
180
- s.expiredUnusedVouchers,
181
- s.distributedVouchers
174
+ }, { member: n, guest: k } = g, c = B(
175
+ n.redeemedMembers,
176
+ a.distributedMembers
177
+ ), C = B(
178
+ a.redeemedVouchers,
179
+ a.distributedVouchers
180
+ ), y = a.completedBills == null ? null : a.completedBills === 0 ? 0 : a.rewardValueUsed / a.completedBills, E = a.completedBills == null || a.exactSales == null ? null : a.completedBills === 0 ? 0 : a.exactSales / a.completedBills, M = B(
181
+ a.expiredUnusedVouchers,
182
+ a.distributedVouchers
182
183
  );
183
184
  return {
184
185
  ...t,
185
- reportRangeLabel: i.startDate && i.endDate ? `${V(i.startDate)} – ${V(i.endDate)}` : "Unavailable",
186
+ reportRangeLabel: i.startDate && i.endDate ? `${N(i.startDate)} – ${N(i.endDate)}` : "Unavailable",
186
187
  audienceLabel: void 0,
187
188
  funnelHeadline: {
188
189
  key: "voucherUtilization",
189
190
  label: "Redemption rate",
190
- value: `${w}%`,
191
+ value: `${C}%`,
191
192
  helper: "Distinct redeemed vouchers divided by distributed vouchers"
192
193
  },
193
- funnelSummary: `${m(s.redeemedVouchers)} of ${m(
194
- s.distributedVouchers
194
+ funnelSummary: `${m(a.redeemedVouchers)} of ${m(
195
+ a.distributedVouchers
195
196
  )} distributed vouchers redeemed. ${_(
196
- d.voucherUses,
197
+ n.voucherUses,
197
198
  "member voucher uses",
198
199
  "member voucher use"
199
200
  )} and ${_(
200
- v.voucherUses,
201
+ k.voucherUses,
201
202
  "guest voucher uses",
202
203
  "guest voucher use"
203
204
  )}.`,
@@ -207,36 +208,36 @@ function Fe(t, l, e) {
207
208
  key: "distributed",
208
209
  label: "Distributed",
209
210
  membersLabel: _(
210
- s.distributedMembers,
211
+ a.distributedMembers,
211
212
  "members",
212
213
  "member"
213
214
  ),
214
215
  unitsLabel: _(
215
- s.distributedVouchers,
216
+ a.distributedVouchers,
216
217
  "vouchers",
217
218
  "voucher"
218
219
  ),
219
- valueLabel: R(s.distributedFixedValue),
220
+ valueLabel: R(a.distributedFixedValue),
220
221
  helper: "Unique members who received at least one voucher"
221
222
  },
222
223
  {
223
224
  key: "redeemed",
224
225
  label: "Redeemed",
225
- membersLabel: _(d.redeemedMembers, "members", "member"),
226
+ membersLabel: _(n.redeemedMembers, "members", "member"),
226
227
  unitsLabel: _(
227
- d.voucherUses,
228
+ n.voucherUses,
228
229
  "voucher uses",
229
230
  "voucher use"
230
231
  ),
231
- ratePct: o,
232
- rateLabel: `${o}% of distributed members`,
232
+ ratePct: c,
233
+ rateLabel: `${c}% of distributed members`,
233
234
  helper: "Distinct identified members who used the voucher"
234
235
  },
235
236
  {
236
237
  key: "completedBills",
237
238
  label: "Completed bills",
238
- primaryLabel: _(
239
- d.completedBills,
239
+ primaryLabel: n.completedBills == null ? "Unavailable" : _(
240
+ n.completedBills,
240
241
  "completed bills",
241
242
  "completed bill"
242
243
  ),
@@ -250,12 +251,12 @@ function Fe(t, l, e) {
250
251
  key: "guestRedeemed",
251
252
  label: "Redeemed",
252
253
  primaryLabel: _(
253
- v.voucherUses,
254
+ k.voucherUses,
254
255
  "voucher uses",
255
256
  "voucher use"
256
257
  ),
257
258
  unitsLabel: _(
258
- v.redeemedVouchers,
259
+ k.redeemedVouchers,
259
260
  "redeemed vouchers",
260
261
  "redeemed voucher"
261
262
  ),
@@ -264,8 +265,8 @@ function Fe(t, l, e) {
264
265
  {
265
266
  key: "guestCompletedBills",
266
267
  label: "Completed bills",
267
- primaryLabel: _(
268
- v.completedBills,
268
+ primaryLabel: k.completedBills == null ? "Unavailable" : _(
269
+ k.completedBills,
269
270
  "completed bills",
270
271
  "completed bill"
271
272
  ),
@@ -277,31 +278,31 @@ function Fe(t, l, e) {
277
278
  {
278
279
  key: "distributedMembers",
279
280
  label: "Distributed Members",
280
- value: (s.distributedMembers ?? 0).toLocaleString(),
281
- sub: _(s.distributedVouchers, "vouchers")
281
+ value: (a.distributedMembers ?? 0).toLocaleString(),
282
+ sub: _(a.distributedVouchers, "vouchers")
282
283
  },
283
284
  {
284
285
  key: "redemptionRate",
285
286
  label: "Redemption Rate",
286
- value: `${w}%`,
287
+ value: `${C}%`,
287
288
  sub: "of distributed vouchers"
288
289
  },
289
290
  {
290
- key: "exactSales",
291
- label: "Exact Sales",
292
- value: R(s.exactSales),
293
- sub: _(s.completedBills, "completed bills")
291
+ key: b ? "paymentVoucherUses" : "exactSales",
292
+ label: b ? "Payment Voucher Uses" : "Exact Sales",
293
+ value: b ? m(a.voucherUses) : R(a.exactSales),
294
+ sub: b ? "Recorded voucher redemptions" : a.completedBills == null ? "Bill attribution unavailable" : _(a.completedBills, "completed bills")
294
295
  },
295
296
  {
296
297
  key: "rewardValueUsed",
297
- label: "Reward Value Used",
298
- value: R(s.rewardValueUsed),
299
- sub: "voucher discount used"
298
+ label: p,
299
+ value: R(a.rewardValueUsed),
300
+ sub: b ? "Voucher uses × configured face value" : "voucher discount used"
300
301
  },
301
302
  {
302
303
  key: "unusedVoucherValue",
303
304
  label: "Unused Voucher Value",
304
- value: R(s.unusedVoucherValue),
305
+ value: R(a.unusedVoucherValue),
305
306
  sub: "issued, not yet redeemed"
306
307
  }
307
308
  ],
@@ -313,89 +314,92 @@ function Fe(t, l, e) {
313
314
  "Voucher uses",
314
315
  "Completed bills",
315
316
  "Exact sales",
316
- "Reward value used"
317
+ b ? "Redeemed face value" : "Reward value used"
317
318
  ],
318
- rows: l.performanceDetails.map((I) => ({
319
- name: I.restaurantName,
320
- cells: [
321
- I.redeemedMembers.toLocaleString(),
322
- I.voucherUses.toLocaleString(),
323
- I.completedBills.toLocaleString(),
324
- R(I.exactSales),
325
- R(I.rewardValueUsed)
326
- ]
327
- }))
319
+ rows: l.performanceDetails.map((A) => {
320
+ var ae;
321
+ return {
322
+ name: A.restaurantName,
323
+ cells: [
324
+ A.redeemedMembers.toLocaleString(),
325
+ A.voucherUses.toLocaleString(),
326
+ ((ae = A.completedBills) == null ? void 0 : ae.toLocaleString()) ?? "—",
327
+ R(A.exactSales),
328
+ R(A.rewardValueUsed)
329
+ ]
330
+ };
331
+ })
328
332
  },
329
333
  outcomes: [
330
334
  {
331
335
  key: "exactSales",
332
336
  label: "Exact Sales",
333
- value: R(s.exactSales)
337
+ value: R(a.exactSales)
334
338
  },
335
339
  {
336
340
  key: "attributedBills",
337
341
  label: "Attributed Bills",
338
- value: s.completedBills.toLocaleString()
342
+ value: ((h = a.completedBills) == null ? void 0 : h.toLocaleString()) ?? "—"
339
343
  },
340
344
  {
341
345
  key: "rewardValueUsed",
342
- label: "Reward Value Used",
343
- value: R(s.rewardValueUsed)
346
+ label: p,
347
+ value: R(a.rewardValueUsed)
344
348
  },
345
349
  {
346
350
  key: "averageBillValue",
347
351
  label: "Average Bill Value",
348
- value: R(C)
352
+ value: R(E)
349
353
  }
350
354
  ],
351
355
  metrics: [
352
356
  {
353
357
  key: "memberRedemptionRate",
354
358
  label: "Member Redemption Rate",
355
- value: `${o}%`,
359
+ value: `${c}%`,
356
360
  helper: "Redeemed members ÷ distributed members"
357
361
  },
358
362
  {
359
363
  key: "voucherUtilizationRate",
360
364
  label: "Voucher Utilization Rate",
361
- value: `${w}%`,
365
+ value: `${C}%`,
362
366
  helper: "Redeemed vouchers ÷ distributed vouchers"
363
367
  },
364
368
  {
365
369
  key: "averageDiscountPerBill",
366
370
  label: "Average Discount per Bill",
367
- value: R(c),
371
+ value: R(y),
368
372
  helper: "Reward value used ÷ completed bills"
369
373
  },
370
374
  {
371
375
  key: "averageBillValue",
372
376
  label: "Average Bill Value",
373
- value: R(C),
377
+ value: R(E),
374
378
  helper: "Exact sales ÷ completed bills"
375
379
  },
376
380
  {
377
381
  key: "breakageRate",
378
382
  label: "Breakage Rate to date",
379
- value: `${y}%`,
383
+ value: `${M}%`,
380
384
  helper: "Expired unused vouchers ÷ distributed vouchers"
381
385
  }
382
386
  ]
383
387
  };
384
388
  }
385
- function Ae(t, l) {
386
- const { metrics: e, scope: s } = l, i = B(
389
+ function Fe(t, l) {
390
+ const { metrics: e, scope: a } = l, i = B(
387
391
  e.memberBills,
388
392
  e.attributedBills
389
- ), h = B(
393
+ ), b = B(
390
394
  e.nonMemberBills,
391
395
  e.attributedBills
392
- ), d = B(
396
+ ), p = B(
393
397
  e.memberSales,
394
398
  e.exactSales
395
- ), v = e.attributedBills ? e.promotionValueUsed / e.attributedBills : 0, o = e.attributedBills ? e.exactSales / e.attributedBills : 0;
399
+ ), g = e.attributedBills ? e.promotionValueUsed / e.attributedBills : 0, n = e.attributedBills ? e.exactSales / e.attributedBills : 0;
396
400
  return {
397
401
  ...t,
398
- reportRangeLabel: s.startDate && s.endDate ? `${V(s.startDate)} – ${V(s.endDate)}` : "Unavailable",
402
+ reportRangeLabel: a.startDate && a.endDate ? `${N(a.startDate)} – ${N(a.endDate)}` : "Unavailable",
399
403
  audienceLabel: void 0,
400
404
  funnel: [],
401
405
  cards: [],
@@ -407,9 +411,9 @@ function Ae(t, l) {
407
411
  memberSales: R(e.memberSales),
408
412
  nonMemberSales: R(e.nonMemberSales),
409
413
  memberBillSharePct: i,
410
- nonMemberBillSharePct: h,
411
- memberSalesSharePct: d,
412
- summary: `Members account for ${i}% of attributed bills and ${d}% of attributed sales.`
414
+ nonMemberBillSharePct: b,
415
+ memberSalesSharePct: p,
416
+ summary: `Members account for ${i}% of attributed bills and ${p}% of attributed sales.`
413
417
  },
414
418
  breakdown: {
415
419
  dimension: "Outlet",
@@ -421,15 +425,15 @@ function Ae(t, l) {
421
425
  "Exact sales",
422
426
  "Promotion value used"
423
427
  ],
424
- rows: l.performanceDetails.map((w) => ({
425
- name: w.restaurantName,
428
+ rows: l.performanceDetails.map((k) => ({
429
+ name: k.restaurantName,
426
430
  cells: [
427
- m(w.appliedMembers),
428
- m(w.memberBills),
429
- m(w.nonMemberBills),
430
- m(w.attributedBills),
431
- R(w.exactSales),
432
- R(w.promotionValueUsed)
431
+ m(k.appliedMembers),
432
+ m(k.memberBills),
433
+ m(k.nonMemberBills),
434
+ m(k.attributedBills),
435
+ R(k.exactSales),
436
+ R(k.promotionValueUsed)
433
437
  ]
434
438
  }))
435
439
  },
@@ -452,7 +456,7 @@ function Ae(t, l) {
452
456
  {
453
457
  key: "averageBillValue",
454
458
  label: "Average Bill Value",
455
- value: R(o)
459
+ value: R(n)
456
460
  }
457
461
  ],
458
462
  metrics: [
@@ -465,38 +469,38 @@ function Ae(t, l) {
465
469
  {
466
470
  key: "nonMemberApplicationShare",
467
471
  label: "Non-member Application Share",
468
- value: `${h}%`,
472
+ value: `${b}%`,
469
473
  helper: "Non-member bills ÷ attributed bills"
470
474
  },
471
475
  {
472
476
  key: "memberSalesShare",
473
477
  label: "Member Sales Share",
474
- value: `${d}%`,
478
+ value: `${p}%`,
475
479
  helper: "Member sales ÷ exact sales"
476
480
  },
477
481
  {
478
482
  key: "averageDiscountPerBill",
479
483
  label: "Average Discount per Bill",
480
- value: R(v),
484
+ value: R(g),
481
485
  helper: "Promotion value used ÷ attributed bills"
482
486
  },
483
487
  {
484
488
  key: "averageBillValue",
485
489
  label: "Average Bill Value",
486
- value: R(o),
490
+ value: R(n),
487
491
  helper: "Exact sales ÷ attributed bills"
488
492
  }
489
493
  ]
490
494
  };
491
495
  }
492
496
  function qe(t, l) {
493
- const { metrics: e, scope: s } = l, i = e.participants ? e.stampsEarned / e.participants : 0, h = Math.max(
497
+ const { metrics: e, scope: a } = l, i = e.participants ? e.stampsEarned / e.participants : 0, b = Math.max(
494
498
  e.completionEvents - e.completedMembers,
495
499
  0
496
500
  );
497
501
  return {
498
502
  ...t,
499
- reportRangeLabel: s.startDate && s.endDate ? `${V(s.startDate)} – ${V(s.endDate)}` : "Unavailable",
503
+ reportRangeLabel: a.startDate && a.endDate ? `${N(a.startDate)} – ${N(a.endDate)}` : "Unavailable",
500
504
  funnel: [],
501
505
  cards: [
502
506
  {
@@ -547,13 +551,13 @@ function qe(t, l) {
547
551
  "Issue transactions",
548
552
  "Quantity issued"
549
553
  ],
550
- rows: l.rewards.map((d) => ({
551
- name: d.rewardName,
554
+ rows: l.rewards.map((p) => ({
555
+ name: p.rewardName,
552
556
  cells: [
553
- d.rewardType,
554
- m(d.recipients),
555
- m(d.issuanceTransactions),
556
- m(d.quantityIssued)
557
+ p.rewardType,
558
+ m(p.recipients),
559
+ m(p.issuanceTransactions),
560
+ m(p.quantityIssued)
557
561
  ]
558
562
  }))
559
563
  }
@@ -564,12 +568,12 @@ function qe(t, l) {
564
568
  breakdown: {
565
569
  dimension: "Outlet",
566
570
  columns: ["Participants", "Stamps earned", "Completion events"],
567
- rows: l.performanceDetails.map((d) => ({
568
- name: d.restaurantName || "Unattributed / online",
571
+ rows: l.performanceDetails.map((p) => ({
572
+ name: p.restaurantName || "Unattributed / online",
569
573
  cells: [
570
- m(d.participants),
571
- m(d.stampsEarned),
572
- m(d.completionEvents)
574
+ m(p.participants),
575
+ m(p.stampsEarned),
576
+ m(p.completionEvents)
573
577
  ]
574
578
  }))
575
579
  }
@@ -611,20 +615,20 @@ function qe(t, l) {
611
615
  {
612
616
  key: "repeatCompletionEvents",
613
617
  label: "Repeat Completion Events",
614
- value: m(h),
618
+ value: m(b),
615
619
  helper: "Completion events beyond the first completion per member"
616
620
  }
617
621
  ]
618
622
  };
619
623
  }
620
624
  function je(t, l) {
621
- const { metrics: e, scope: s } = l, i = B(e.players, e.tokenRecipients), h = B(e.plays, e.tokensIssued), d = B(
625
+ const { metrics: e, scope: a } = l, i = B(e.players, e.tokenRecipients), b = B(e.plays, e.tokensIssued), p = B(
622
626
  e.rewardRecipients,
623
627
  e.players
624
- ), v = e.players ? e.plays / e.players : 0;
628
+ ), g = e.players ? e.plays / e.players : 0;
625
629
  return {
626
630
  ...t,
627
- reportRangeLabel: s.startDate && s.endDate ? `${V(s.startDate)} – ${V(s.endDate)}` : "Unavailable",
631
+ reportRangeLabel: a.startDate && a.endDate ? `${N(a.startDate)} – ${N(a.endDate)}` : "Unavailable",
628
632
  audienceLabel: void 0,
629
633
  funnel: [
630
634
  {
@@ -632,7 +636,7 @@ function je(t, l) {
632
636
  label: "Token recipients",
633
637
  membersLabel: _(e.tokenRecipients, "members"),
634
638
  unitsLabel: _(e.tokensIssued, "tokens"),
635
- extra: `${m(e.plays)} plays · ${h}% token utilization`,
639
+ extra: `${m(e.plays)} plays · ${b}% token utilization`,
636
640
  helper: "Distinct members who received at least one game token"
637
641
  },
638
642
  {
@@ -652,8 +656,8 @@ function je(t, l) {
652
656
  e.rewardIssueTransactions,
653
657
  "reward issue transactions"
654
658
  ),
655
- ratePct: d,
656
- rateLabel: `${d}% of players`,
659
+ ratePct: p,
660
+ rateLabel: `${p}% of players`,
657
661
  helper: "Distinct players receiving at least one Reward Pool reward"
658
662
  }
659
663
  ],
@@ -697,13 +701,13 @@ function je(t, l) {
697
701
  "Issue transactions",
698
702
  "Quantity issued"
699
703
  ],
700
- rows: l.rewards.map((o) => ({
701
- name: o.rewardName || "Unnamed reward",
704
+ rows: l.rewards.map((n) => ({
705
+ name: n.rewardName || "Unnamed reward",
702
706
  cells: [
703
- o.rewardType,
704
- m(o.recipients),
705
- m(o.issuanceTransactions),
706
- m(o.quantityIssued)
707
+ n.rewardType,
708
+ m(n.recipients),
709
+ m(n.issuanceTransactions),
710
+ m(n.quantityIssued)
707
711
  ]
708
712
  }))
709
713
  }
@@ -714,11 +718,11 @@ function je(t, l) {
714
718
  breakdown: {
715
719
  dimension: "Outlet",
716
720
  columns: ["Recipients", "Tokens issued"],
717
- rows: l.tokenDistributionDetails.map((o) => ({
718
- name: o.restaurantName || "Unattributed / online",
721
+ rows: l.tokenDistributionDetails.map((n) => ({
722
+ name: n.restaurantName || "Unattributed / online",
719
723
  cells: [
720
- m(o.recipients),
721
- m(o.tokensIssued)
724
+ m(n.recipients),
725
+ m(n.tokensIssued)
722
726
  ]
723
727
  }))
724
728
  }
@@ -746,19 +750,19 @@ function je(t, l) {
746
750
  {
747
751
  key: "tokenUtilizationRate",
748
752
  label: "Token Utilization Rate",
749
- value: `${h}%`,
753
+ value: `${b}%`,
750
754
  helper: "Plays ÷ tokens issued"
751
755
  },
752
756
  {
753
757
  key: "rewardRecipientRate",
754
758
  label: "Reward Recipient Rate",
755
- value: `${d}%`,
759
+ value: `${p}%`,
756
760
  helper: "Reward recipients ÷ players"
757
761
  },
758
762
  {
759
763
  key: "averagePlaysPerPlayer",
760
764
  label: "Average Plays per Player",
761
- value: v.toLocaleString("en-MY", {
765
+ value: g.toLocaleString("en-MY", {
762
766
  maximumFractionDigits: 2
763
767
  }),
764
768
  helper: "Plays ÷ players"
@@ -767,68 +771,68 @@ function je(t, l) {
767
771
  };
768
772
  }
769
773
  const ze = "Members can appear under more than one source, so total share may add to more than 100%.";
770
- function J(t, l) {
774
+ function W(t, l) {
771
775
  return l ? R(t ?? 0) : m(t);
772
776
  }
773
- function W(t, l) {
777
+ function Z(t, l) {
774
778
  return t[l] ?? 0;
775
779
  }
776
- function ae(t, l, e) {
777
- const { metrics: s, scope: i } = l, h = s.recipients ? W(s, e.quantityKey) / s.recipients : 0, d = s.issuanceTransactions ? W(s, e.quantityKey) / s.issuanceTransactions : 0, v = [
780
+ function re(t, l, e) {
781
+ const { metrics: a, scope: i } = l, b = a.recipients ? Z(a, e.quantityKey) / a.recipients : 0, p = a.issuanceTransactions ? Z(a, e.quantityKey) / a.issuanceTransactions : 0, g = [
778
782
  "Recipients",
779
783
  ...e.includeSourceRecipientShare ? ["Recipient share"] : [],
780
784
  "Issuance transactions",
781
785
  e.quantityLabel
782
- ], o = l.sourceDetails.map((c) => ({
786
+ ], n = l.sourceDetails.map((c) => ({
783
787
  name: c.source ? Ce(Ie.getReason(c.source)) : "Unknown",
784
788
  cells: [
785
789
  m(c.recipients),
786
- ...e.includeSourceRecipientShare ? [`${B(c.recipients, s.recipients)}%`] : [],
790
+ ...e.includeSourceRecipientShare ? [`${B(c.recipients, a.recipients)}%`] : [],
787
791
  m(c.issuanceTransactions),
788
- J(
789
- W(c, e.quantityKey),
792
+ W(
793
+ Z(c, e.quantityKey),
790
794
  e.currency
791
795
  )
792
796
  ]
793
- })), w = [
797
+ })), k = [
794
798
  {
795
799
  key: "averagePerRecipient",
796
800
  label: `Average ${e.quantityName} per Recipient`,
797
- value: J(h, e.currency),
801
+ value: W(b, e.currency),
798
802
  helper: `${e.quantityLabel} ÷ recipients`
799
803
  },
800
804
  {
801
805
  key: "averagePerIssue",
802
806
  label: `Average ${e.quantityName} per Issue`,
803
- value: J(d, e.currency),
807
+ value: W(p, e.currency),
804
808
  helper: `${e.quantityLabel} ÷ issuance transactions`
805
809
  }
806
810
  ];
807
811
  return {
808
812
  ...t,
809
- reportRangeLabel: i.startDate && i.endDate ? `${V(i.startDate)} – ${V(i.endDate)}` : "Unavailable",
813
+ reportRangeLabel: i.startDate && i.endDate ? `${N(i.startDate)} – ${N(i.endDate)}` : "Unavailable",
810
814
  audienceLabel: void 0,
811
815
  funnel: [],
812
816
  cards: [
813
817
  {
814
818
  key: "recipients",
815
819
  label: `${e.label} Recipients`,
816
- value: m(s.recipients),
820
+ value: m(a.recipients),
817
821
  sub: "members",
818
822
  helper: `Distinct members receiving ${e.quantityName.toLowerCase()}`
819
823
  },
820
824
  {
821
825
  key: "issuanceTransactions",
822
826
  label: "Issuance Transactions",
823
- value: m(s.issuanceTransactions),
827
+ value: m(a.issuanceTransactions),
824
828
  sub: "transactions",
825
829
  helper: "Count of issuance transactions directly attributed to this campaign"
826
830
  },
827
831
  {
828
832
  key: e.quantityKey,
829
833
  label: e.quantityLabel.replace(/^./, (c) => c.toUpperCase()),
830
- value: J(
831
- W(s, e.quantityKey),
834
+ value: W(
835
+ Z(a, e.quantityKey),
832
836
  e.currency
833
837
  ),
834
838
  sub: e.quantityUnit,
@@ -844,8 +848,8 @@ function ae(t, l, e) {
844
848
  ...e.includeSourceRecipientShare ? { note: ze } : {},
845
849
  breakdown: {
846
850
  dimension: "Source",
847
- columns: v,
848
- rows: o
851
+ columns: g,
852
+ rows: n
849
853
  }
850
854
  },
851
855
  {
@@ -863,8 +867,8 @@ function ae(t, l, e) {
863
867
  cells: [
864
868
  m(c.recipients),
865
869
  m(c.issuanceTransactions),
866
- J(
867
- W(c, e.quantityKey),
870
+ W(
871
+ Z(c, e.quantityKey),
868
872
  e.currency
869
873
  )
870
874
  ]
@@ -873,11 +877,11 @@ function ae(t, l, e) {
873
877
  }
874
878
  ],
875
879
  outcomes: [],
876
- metrics: w
880
+ metrics: k
877
881
  };
878
882
  }
879
883
  function Ge(t, l) {
880
- return ae(t, l, {
884
+ return re(t, l, {
881
885
  label: "Point",
882
886
  quantityName: "Points",
883
887
  quantityLabel: "Points issued",
@@ -888,7 +892,7 @@ function Ge(t, l) {
888
892
  });
889
893
  }
890
894
  function He(t, l) {
891
- return ae(t, l, {
895
+ return re(t, l, {
892
896
  label: "Experience",
893
897
  quantityName: "Experience",
894
898
  quantityLabel: "Experience issued",
@@ -899,7 +903,7 @@ function He(t, l) {
899
903
  });
900
904
  }
901
905
  function Ke(t, l) {
902
- return ae(t, l, {
906
+ return re(t, l, {
903
907
  label: "Credit",
904
908
  quantityName: "Credit",
905
909
  quantityLabel: "Credit issued",
@@ -911,7 +915,7 @@ function Ke(t, l) {
911
915
  }
912
916
  function Ye(t) {
913
917
  if (!(t != null && t.categories.length)) return [];
914
- const l = {
918
+ const l = t.rewardValueBasis === "FACE_VALUE" ? "Redeemed face value" : "Reward value used", e = {
915
919
  key: "members",
916
920
  label: "Distributed members vs Redeemed members",
917
921
  categories: t.categories,
@@ -920,18 +924,18 @@ function Ye(t) {
920
924
  { label: "Redeemed members", values: t.redeemedMembers }
921
925
  ]
922
926
  };
923
- return t.distributedValue == null ? [l] : [
924
- l,
927
+ return t.distributedValue == null ? [e] : [
928
+ e,
925
929
  {
926
930
  key: "value",
927
- label: "Distributed voucher value vs Reward value used",
931
+ label: t.rewardValueBasis === "FACE_VALUE" ? "Distributed voucher value vs Redeemed face value" : "Distributed voucher value vs Reward value used",
928
932
  categories: t.categories,
929
933
  series: [
930
934
  {
931
935
  label: "Distributed voucher value",
932
936
  values: t.distributedValue
933
937
  },
934
- { label: "Reward value used", values: t.rewardValueUsed }
938
+ { label: l, values: t.rewardValueUsed }
935
939
  ]
936
940
  }
937
941
  ];
@@ -944,7 +948,7 @@ function Qe(t) {
944
948
  },
945
949
  ...t.columns.map((l, e) => ({
946
950
  header: l,
947
- accessorFn: (s) => s.cells[e] ?? ""
951
+ accessorFn: (a) => a.cells[e] ?? ""
948
952
  }))
949
953
  ];
950
954
  }
@@ -954,7 +958,7 @@ const Xe = {
954
958
  }, Je = { class: "fm-typo-en-body-sm-600 text-fm-color-primary uppercase" }, We = { class: "flex items-center gap-12 mb-12 flex-wrap" }, Ze = { class: "fm-typo-en-title-lg-800 text-fm-color-typo-primary m-0" }, et = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary flex flex-wrap gap-x-16 gap-y-4" }, tt = {
955
959
  key: 1,
956
960
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4"
957
- }, at = /* @__PURE__ */ j({
961
+ }, at = /* @__PURE__ */ z({
958
962
  __name: "CampaignAnalyticHeader",
959
963
  props: {
960
964
  campaignName: {},
@@ -968,119 +972,119 @@ const Xe = {
968
972
  demo: { type: Boolean }
969
973
  },
970
974
  setup(t) {
971
- const l = t, { t: e } = ve(), s = O(() => l.status ? {
975
+ const l = t, { t: e } = he(), a = P(() => l.status ? {
972
976
  active: "text-fm-color-typo-success bg-fm-color-system-success-100",
973
977
  upcoming: "text-fm-color-typo-info bg-fm-color-system-info-100",
974
978
  expired: "text-fm-color-typo-error bg-fm-color-system-error-100"
975
979
  }[l.status] : "");
976
- return (i, h) => {
977
- const d = S("FmIcon"), v = S("FmChip"), o = S("FmCard");
978
- return r(), g(o, {
980
+ return (i, b) => {
981
+ const p = S("FmIcon"), g = S("FmChip"), n = S("FmCard");
982
+ return r(), x(n, {
979
983
  variant: "outlined",
980
984
  class: "p-24"
981
985
  }, {
982
- default: L(() => [
983
- t.mechanicLabel ? (r(), p("div", Xe, [
984
- t.icon ? (r(), g(d, {
986
+ default: D(() => [
987
+ t.mechanicLabel ? (r(), d("div", Xe, [
988
+ t.icon ? (r(), x(p, {
985
989
  key: 0,
986
990
  name: t.icon,
987
991
  outline: "",
988
992
  size: "sm",
989
993
  class: "!text-fm-color-primary"
990
- }, null, 8, ["name"])) : b("", !0),
991
- a("span", Je, u(t.objective ? `${t.mechanicLabel} · ${t.objective}` : t.mechanicLabel), 1)
992
- ])) : b("", !0),
993
- a("div", We, [
994
- a("h1", Ze, u(t.campaignName), 1),
995
- t.status ? (r(), g(v, {
994
+ }, null, 8, ["name"])) : v("", !0),
995
+ s("span", Je, u(t.objective ? `${t.mechanicLabel} · ${t.objective}` : t.mechanicLabel), 1)
996
+ ])) : v("", !0),
997
+ s("div", We, [
998
+ s("h1", Ze, u(t.campaignName), 1),
999
+ t.status ? (r(), x(g, {
996
1000
  key: 0,
997
- class: H(n(s)),
998
- label: n(e)(`connect.campaign.common.status.${t.status}`),
1001
+ class: K(o(a)),
1002
+ label: o(e)(`connect.campaign.common.status.${t.status}`),
999
1003
  compact: ""
1000
- }, null, 8, ["class", "label"])) : b("", !0),
1001
- t.demo ? (r(), g(v, {
1004
+ }, null, 8, ["class", "label"])) : v("", !0),
1005
+ t.demo ? (r(), x(g, {
1002
1006
  key: 1,
1003
1007
  class: "!text-fm-color-typo-warning !bg-fm-color-system-warning-100",
1004
1008
  compact: "",
1005
1009
  label: "Demo data"
1006
- })) : b("", !0)
1010
+ })) : v("", !0)
1007
1011
  ]),
1008
- a("div", et, [
1009
- a("span", null, u(t.datesLabel), 1),
1010
- t.reportRangeLabel ? (r(), p(E, { key: 0 }, [
1011
- h[0] || (h[0] = a("span", { class: "text-fm-color-typo-disabled" }, "·", -1)),
1012
- a("span", null, "Reporting: " + u(t.reportRangeLabel), 1)
1013
- ], 64)) : b("", !0)
1012
+ s("div", et, [
1013
+ s("span", null, u(t.datesLabel), 1),
1014
+ t.reportRangeLabel ? (r(), d(L, { key: 0 }, [
1015
+ b[0] || (b[0] = s("span", { class: "text-fm-color-typo-disabled" }, "·", -1)),
1016
+ s("span", null, "Reporting: " + u(t.reportRangeLabel), 1)
1017
+ ], 64)) : v("", !0)
1014
1018
  ]),
1015
- t.audienceLabel ? (r(), p("div", tt, " Audience: " + u(t.audienceLabel), 1)) : b("", !0)
1019
+ t.audienceLabel ? (r(), d("div", tt, " Audience: " + u(t.audienceLabel), 1)) : v("", !0)
1016
1020
  ]),
1017
1021
  _: 1
1018
1022
  });
1019
1023
  };
1020
1024
  }
1021
- }), st = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16" }, rt = { class: "min-w-0" }, lt = { class: "fm-typo-en-title-sm-800 mt-8" }, nt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, ot = { class: "min-w-0" }, it = { class: "fm-typo-en-title-sm-800 mt-8" }, ct = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16 mt-16" }, mt = { class: "min-w-0" }, ut = { class: "fm-typo-en-title-sm-800 mt-8" }, dt = { class: "min-w-0" }, pt = { class: "fm-typo-en-title-sm-800 mt-8" }, yt = ["aria-label"], bt = { class: "flex h-12 overflow-hidden rounded-xxxl bg-fm-color-neutral-gray-100" }, vt = { class: "flex justify-between gap-16 mt-8 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, ft = { class: "mt-16 pt-12 border-t border-fm-color-neutral-gray-100 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, ht = /* @__PURE__ */ j({
1025
+ }), st = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16" }, rt = { class: "min-w-0" }, lt = { class: "fm-typo-en-title-sm-800 mt-8" }, nt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, ot = { class: "min-w-0" }, it = { class: "fm-typo-en-title-sm-800 mt-8" }, ct = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16 mt-16" }, mt = { class: "min-w-0" }, ut = { class: "fm-typo-en-title-sm-800 mt-8" }, dt = { class: "min-w-0" }, pt = { class: "fm-typo-en-title-sm-800 mt-8" }, yt = ["aria-label"], bt = { class: "flex h-12 overflow-hidden rounded-xxxl bg-fm-color-neutral-gray-100" }, vt = { class: "flex justify-between gap-16 mt-8 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, ft = { class: "mt-16 pt-12 border-t border-fm-color-neutral-gray-100 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, ht = /* @__PURE__ */ z({
1022
1026
  __name: "PromotionApplicationMix",
1023
1027
  props: {
1024
1028
  mix: {}
1025
1029
  },
1026
1030
  setup(t) {
1027
1031
  return (l, e) => {
1028
- const s = S("FmCard");
1029
- return r(), g(s, {
1032
+ const a = S("FmCard");
1033
+ return r(), x(a, {
1030
1034
  variant: "outlined",
1031
1035
  class: "p-24"
1032
1036
  }, {
1033
- default: L(() => [
1034
- e[4] || (e[4] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Customer mix ", -1)),
1035
- e[5] || (e[5] = a("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4 mb-16" }, " Completed bills attributed to this promotion ", -1)),
1036
- a("div", st, [
1037
- a("div", rt, [
1038
- e[0] || (e[0] = a("div", { class: "flex items-center gap-8" }, [
1039
- a("div", { class: "w-8 h-8 rounded-sm bg-fm-color-primary" }),
1040
- a("span", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Member bills ")
1037
+ default: D(() => [
1038
+ e[4] || (e[4] = s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Customer mix ", -1)),
1039
+ e[5] || (e[5] = s("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4 mb-16" }, " Completed bills attributed to this promotion ", -1)),
1040
+ s("div", st, [
1041
+ s("div", rt, [
1042
+ e[0] || (e[0] = s("div", { class: "flex items-center gap-8" }, [
1043
+ s("div", { class: "w-8 h-8 rounded-sm bg-fm-color-primary" }),
1044
+ s("span", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Member bills ")
1041
1045
  ], -1)),
1042
- a("div", lt, u(t.mix.memberBills), 1),
1043
- a("div", nt, u(t.mix.appliedMembers) + " applied members ", 1)
1046
+ s("div", lt, u(t.mix.memberBills), 1),
1047
+ s("div", nt, u(t.mix.appliedMembers) + " applied members ", 1)
1044
1048
  ]),
1045
- a("div", ot, [
1046
- e[1] || (e[1] = a("div", { class: "flex items-center gap-8" }, [
1047
- a("div", { class: "w-8 h-8 rounded-sm bg-fm-color-neutral-gray-200" }),
1048
- a("span", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Non-member bills ")
1049
+ s("div", ot, [
1050
+ e[1] || (e[1] = s("div", { class: "flex items-center gap-8" }, [
1051
+ s("div", { class: "w-8 h-8 rounded-sm bg-fm-color-neutral-gray-200" }),
1052
+ s("span", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Non-member bills ")
1049
1053
  ], -1)),
1050
- a("div", it, u(t.mix.nonMemberBills), 1)
1054
+ s("div", it, u(t.mix.nonMemberBills), 1)
1051
1055
  ])
1052
1056
  ]),
1053
- a("div", ct, [
1054
- a("div", mt, [
1055
- e[2] || (e[2] = a("div", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Member sales ", -1)),
1056
- a("div", ut, u(t.mix.memberSales), 1)
1057
+ s("div", ct, [
1058
+ s("div", mt, [
1059
+ e[2] || (e[2] = s("div", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Member sales ", -1)),
1060
+ s("div", ut, u(t.mix.memberSales), 1)
1057
1061
  ]),
1058
- a("div", dt, [
1059
- e[3] || (e[3] = a("div", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Non-member sales ", -1)),
1060
- a("div", pt, u(t.mix.nonMemberSales), 1)
1062
+ s("div", dt, [
1063
+ e[3] || (e[3] = s("div", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Non-member sales ", -1)),
1064
+ s("div", pt, u(t.mix.nonMemberSales), 1)
1061
1065
  ])
1062
1066
  ]),
1063
- a("div", {
1067
+ s("div", {
1064
1068
  class: "mt-24",
1065
1069
  role: "img",
1066
1070
  "aria-label": t.mix.summary
1067
1071
  }, [
1068
- a("div", bt, [
1069
- a("div", {
1072
+ s("div", bt, [
1073
+ s("div", {
1070
1074
  class: "h-full bg-fm-color-primary",
1071
- style: de({ width: t.mix.memberBillSharePct + "%" })
1075
+ style: ye({ width: t.mix.memberBillSharePct + "%" })
1072
1076
  }, null, 4),
1073
- a("div", {
1077
+ s("div", {
1074
1078
  class: "h-full bg-fm-color-neutral-gray-200",
1075
- style: de({ width: t.mix.nonMemberBillSharePct + "%" })
1079
+ style: ye({ width: t.mix.nonMemberBillSharePct + "%" })
1076
1080
  }, null, 4)
1077
1081
  ]),
1078
- a("div", vt, [
1079
- a("span", null, "Members " + u(t.mix.memberBillSharePct) + "%", 1),
1080
- a("span", null, "Non-members " + u(t.mix.nonMemberBillSharePct) + "%", 1)
1082
+ s("div", vt, [
1083
+ s("span", null, "Members " + u(t.mix.memberBillSharePct) + "%", 1),
1084
+ s("span", null, "Non-members " + u(t.mix.nonMemberBillSharePct) + "%", 1)
1081
1085
  ])
1082
1086
  ], 8, yt),
1083
- a("div", ft, u(t.mix.summary), 1)
1087
+ s("div", ft, u(t.mix.summary), 1)
1084
1088
  ]),
1085
1089
  _: 1
1086
1090
  });
@@ -1107,19 +1111,19 @@ const Xe = {
1107
1111
  }, Dt = { class: "fm-typo-en-title-sm-800 text-fm-color-typo-primary mt-8" }, Lt = {
1108
1112
  key: 0,
1109
1113
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1110
- }, Et = {
1114
+ }, Bt = {
1111
1115
  key: 1,
1112
1116
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1113
- }, Bt = {
1117
+ }, Et = {
1114
1118
  key: 2,
1115
1119
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1116
- }, Tt = {
1120
+ }, Vt = {
1117
1121
  key: 3,
1118
1122
  class: "mt-8"
1119
- }, Nt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, Vt = {
1123
+ }, Tt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, Nt = {
1120
1124
  key: 0,
1121
1125
  class: "flex items-center justify-center px-4 xs:py-4"
1122
- }, Ut = /* @__PURE__ */ j({
1126
+ }, Ut = /* @__PURE__ */ z({
1123
1127
  __name: "CampaignFunnel",
1124
1128
  props: {
1125
1129
  stages: {},
@@ -1130,11 +1134,11 @@ const Xe = {
1130
1134
  secondaryStages: {}
1131
1135
  },
1132
1136
  setup(t) {
1133
- const l = t, e = O(() => {
1134
- var s;
1137
+ const l = t, e = P(() => {
1138
+ var a;
1135
1139
  return [
1136
1140
  { label: l.primaryLabel, stages: l.stages, offset: !1 },
1137
- ...(s = l.secondaryStages) != null && s.length ? [
1141
+ ...(a = l.secondaryStages) != null && a.length ? [
1138
1142
  {
1139
1143
  label: l.secondaryLabel,
1140
1144
  stages: l.secondaryStages,
@@ -1143,74 +1147,74 @@ const Xe = {
1143
1147
  ] : []
1144
1148
  ];
1145
1149
  });
1146
- return (s, i) => {
1147
- const h = S("FmProgressBar"), d = S("FmIcon"), v = S("FmCard");
1148
- return r(), g(v, {
1150
+ return (a, i) => {
1151
+ const b = S("FmProgressBar"), p = S("FmIcon"), g = S("FmCard");
1152
+ return r(), x(g, {
1149
1153
  variant: "outlined",
1150
1154
  class: "p-24"
1151
1155
  }, {
1152
- default: L(() => [
1153
- i[0] || (i[0] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Campaign funnel ", -1)),
1154
- i[1] || (i[1] = a("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, " Campaign activity at each stage ", -1)),
1155
- t.headline ? (r(), p("div", gt, [
1156
- a("div", xt, [
1157
- a("span", kt, u(t.headline.value), 1),
1158
- a("span", wt, [
1156
+ default: D(() => [
1157
+ i[0] || (i[0] = s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Campaign funnel ", -1)),
1158
+ i[1] || (i[1] = s("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, " Campaign activity at each stage ", -1)),
1159
+ t.headline ? (r(), d("div", gt, [
1160
+ s("div", xt, [
1161
+ s("span", kt, u(t.headline.value), 1),
1162
+ s("span", wt, [
1159
1163
  xe(u(t.headline.label) + " ", 1),
1160
- t.headline.helper ? (r(), g(ee, {
1164
+ t.headline.helper ? (r(), x(te, {
1161
1165
  key: 0,
1162
1166
  description: t.headline.helper
1163
- }, null, 8, ["description"])) : b("", !0)
1167
+ }, null, 8, ["description"])) : v("", !0)
1164
1168
  ])
1165
1169
  ]),
1166
- t.summary ? (r(), p("div", Rt, u(t.summary), 1)) : b("", !0)
1167
- ])) : b("", !0),
1168
- (r(!0), p(E, null, Z(n(e), (o, w) => (r(), p("div", {
1169
- key: o.label ?? w,
1170
- class: H(["flex flex-col", w ? "mt-16 pt-16 border-t border-fm-color-neutral-gray-100" : "mt-16"])
1170
+ t.summary ? (r(), d("div", Rt, u(t.summary), 1)) : v("", !0)
1171
+ ])) : v("", !0),
1172
+ (r(!0), d(L, null, ee(o(e), (n, k) => (r(), d("div", {
1173
+ key: n.label ?? k,
1174
+ class: K(["flex flex-col", k ? "mt-16 pt-16 border-t border-fm-color-neutral-gray-100" : "mt-16"])
1171
1175
  }, [
1172
- o.label ? (r(), p("div", Mt, [
1173
- o.offset ? (r(), p("div", _t)) : b("", !0),
1174
- a("div", {
1175
- class: H(["fm-typo-en-body-sm-600 text-fm-color-typo-secondary mb-8", o.offset ? "flex-[2]" : "flex-1"])
1176
- }, u(o.label), 3)
1177
- ])) : b("", !0),
1178
- a("div", St, [
1179
- o.offset ? (r(), p("div", Ct)) : b("", !0),
1180
- (r(!0), p(E, null, Z(o.stages, (c, C) => (r(), p("div", {
1176
+ n.label ? (r(), d("div", Mt, [
1177
+ n.offset ? (r(), d("div", _t)) : v("", !0),
1178
+ s("div", {
1179
+ class: K(["fm-typo-en-body-sm-600 text-fm-color-typo-secondary mb-8", n.offset ? "flex-[2]" : "flex-1"])
1180
+ }, u(n.label), 3)
1181
+ ])) : v("", !0),
1182
+ s("div", St, [
1183
+ n.offset ? (r(), d("div", Ct)) : v("", !0),
1184
+ (r(!0), d(L, null, ee(n.stages, (c, C) => (r(), d("div", {
1181
1185
  key: c.key,
1182
1186
  class: "flex xs:flex-col flex-1 min-w-0 items-stretch"
1183
1187
  }, [
1184
- a("div", It, [
1185
- a("div", $t, [
1186
- a("span", Pt, u(c.label), 1),
1187
- c.helper ? (r(), g(ee, {
1188
+ s("div", It, [
1189
+ s("div", $t, [
1190
+ s("span", Pt, u(c.label), 1),
1191
+ c.helper ? (r(), x(te, {
1188
1192
  key: 0,
1189
1193
  description: c.helper
1190
- }, null, 8, ["description"])) : b("", !0)
1194
+ }, null, 8, ["description"])) : v("", !0)
1191
1195
  ]),
1192
- c.notSupported ? (r(), p("div", Ot, u(c.helper), 1)) : (r(), p(E, { key: 1 }, [
1193
- a("div", Dt, u(c.primaryLabel ?? c.membersLabel ?? "—"), 1),
1194
- c.unitsLabel ? (r(), p("div", Lt, u(c.unitsLabel), 1)) : b("", !0),
1195
- c.valueLabel ? (r(), p("div", Et, u(c.valueLabel), 1)) : b("", !0),
1196
- c.extra ? (r(), p("div", Bt, u(c.extra), 1)) : b("", !0),
1197
- c.ratePct !== void 0 ? (r(), p("div", Tt, [
1198
- P(h, {
1196
+ c.notSupported ? (r(), d("div", Ot, u(c.helper), 1)) : (r(), d(L, { key: 1 }, [
1197
+ s("div", Dt, u(c.primaryLabel ?? c.membersLabel ?? "—"), 1),
1198
+ c.unitsLabel ? (r(), d("div", Lt, u(c.unitsLabel), 1)) : v("", !0),
1199
+ c.valueLabel ? (r(), d("div", Bt, u(c.valueLabel), 1)) : v("", !0),
1200
+ c.extra ? (r(), d("div", Et, u(c.extra), 1)) : v("", !0),
1201
+ c.ratePct !== void 0 ? (r(), d("div", Vt, [
1202
+ $(b, {
1199
1203
  value: c.ratePct,
1200
1204
  color: "primary",
1201
1205
  size: "sm"
1202
1206
  }, null, 8, ["value"]),
1203
- a("div", Nt, u(c.rateLabel), 1)
1204
- ])) : b("", !0)
1207
+ s("div", Tt, u(c.rateLabel), 1)
1208
+ ])) : v("", !0)
1205
1209
  ], 64))
1206
1210
  ]),
1207
- C < o.stages.length - 1 ? (r(), p("div", Vt, [
1208
- P(d, {
1211
+ C < n.stages.length - 1 ? (r(), d("div", Nt, [
1212
+ $(p, {
1209
1213
  name: "chevron_right",
1210
1214
  size: "sm",
1211
1215
  class: "text-fm-color-neutral-gray-300 xs:rotate-90"
1212
1216
  })
1213
- ])) : b("", !0)
1217
+ ])) : v("", !0)
1214
1218
  ]))), 128))
1215
1219
  ])
1216
1220
  ], 2))), 128))
@@ -1219,38 +1223,38 @@ const Xe = {
1219
1223
  });
1220
1224
  };
1221
1225
  }
1222
- }), Ft = { class: "grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] xs:grid-cols-1 gap-16" }, At = { class: "flex items-center gap-8" }, qt = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary flex-1 min-w-0 truncate" }, jt = {
1226
+ }), At = { class: "grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] xs:grid-cols-1 gap-16" }, Ft = { class: "flex items-center gap-8" }, qt = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary flex-1 min-w-0 truncate" }, jt = {
1223
1227
  key: 0,
1224
1228
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1225
- }, te = /* @__PURE__ */ j({
1229
+ }, se = /* @__PURE__ */ z({
1226
1230
  __name: "CampaignMetricCards",
1227
1231
  props: {
1228
1232
  cards: {}
1229
1233
  },
1230
1234
  setup(t) {
1231
1235
  return (l, e) => {
1232
- const s = S("FmCard");
1233
- return r(), p("section", Ft, [
1234
- (r(!0), p(E, null, Z(t.cards, (i) => (r(), g(s, {
1236
+ const a = S("FmCard");
1237
+ return r(), d("section", At, [
1238
+ (r(!0), d(L, null, ee(t.cards, (i) => (r(), x(a, {
1235
1239
  key: i.key,
1236
1240
  variant: "outlined",
1237
1241
  class: "flex flex-col gap-4 p-16 min-w-0 overflow-hidden"
1238
1242
  }, {
1239
- default: L(() => [
1240
- a("div", At, [
1241
- a("span", qt, u(i.label), 1),
1242
- i.helper ? (r(), g(ee, {
1243
+ default: D(() => [
1244
+ s("div", Ft, [
1245
+ s("span", qt, u(i.label), 1),
1246
+ i.helper ? (r(), x(te, {
1243
1247
  key: 0,
1244
1248
  description: i.helper
1245
- }, null, 8, ["description"])) : b("", !0)
1249
+ }, null, 8, ["description"])) : v("", !0)
1246
1250
  ]),
1247
- a("div", {
1248
- class: H([
1251
+ s("div", {
1252
+ class: K([
1249
1253
  "fm-typo-en-title-sm-800 truncate",
1250
1254
  i.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1251
1255
  ])
1252
1256
  }, u(i.value), 3),
1253
- i.sub ? (r(), p("div", jt, u(i.sub), 1)) : b("", !0)
1257
+ i.sub ? (r(), d("div", jt, u(i.sub), 1)) : v("", !0)
1254
1258
  ]),
1255
1259
  _: 2
1256
1260
  }, 1024))), 128))
@@ -1260,56 +1264,56 @@ const Xe = {
1260
1264
  }), zt = { class: "flex items-center justify-between gap-12 flex-wrap mb-16 xs:flex-col xs:items-start" }, Gt = {
1261
1265
  key: 0,
1262
1266
  class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary mb-12"
1263
- }, Ht = /* @__PURE__ */ j({
1267
+ }, Ht = /* @__PURE__ */ z({
1264
1268
  __name: "CampaignTrendChart",
1265
1269
  props: {
1266
1270
  modes: {}
1267
1271
  },
1268
1272
  setup(t) {
1269
- var w;
1270
- const l = t, e = ["#FF7823", "#B2B3B6"], s = Y(((w = l.modes[0]) == null ? void 0 : w.key) ?? ""), i = O(
1273
+ var k;
1274
+ const l = t, e = ["#FF7823", "#B2B3B6"], a = Q(((k = l.modes[0]) == null ? void 0 : k.key) ?? ""), i = P(
1271
1275
  () => l.modes.map((c) => ({ label: c.label, value: c.key }))
1272
- ), h = O(
1273
- () => i.value.find((c) => c.value === s.value) ?? null
1274
- ), d = O(
1275
- () => l.modes.find((c) => c.key === s.value) ?? l.modes[0]
1276
- ), v = O(
1276
+ ), b = P(
1277
+ () => i.value.find((c) => c.value === a.value) ?? null
1278
+ ), p = P(
1279
+ () => l.modes.find((c) => c.key === a.value) ?? l.modes[0]
1280
+ ), g = P(
1277
1281
  () => {
1278
1282
  var c;
1279
- return (((c = d.value) == null ? void 0 : c.series) ?? []).map((C, y) => ({
1283
+ return (((c = p.value) == null ? void 0 : c.series) ?? []).map((C, y) => ({
1280
1284
  label: C.label,
1281
1285
  data: C.values,
1282
1286
  color: e[y] ?? e[e.length - 1],
1283
1287
  dash: y > 0
1284
1288
  }));
1285
1289
  }
1286
- ), o = { display: !0 };
1290
+ ), n = { display: !0 };
1287
1291
  return (c, C) => {
1288
- const y = S("FmButtonGroup"), I = S("FmLineChart"), M = S("FmCard");
1289
- return r(), g(M, {
1292
+ const y = S("FmButtonGroup"), E = S("FmLineChart"), M = S("FmCard");
1293
+ return r(), x(M, {
1290
1294
  variant: "outlined",
1291
1295
  class: "p-24"
1292
1296
  }, {
1293
- default: L(() => [
1294
- a("div", zt, [
1295
- C[1] || (C[1] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Funnel trend ", -1)),
1296
- t.modes.length > 1 ? (r(), g(y, {
1297
+ default: D(() => [
1298
+ s("div", zt, [
1299
+ C[1] || (C[1] = s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Funnel trend ", -1)),
1300
+ t.modes.length > 1 ? (r(), x(y, {
1297
1301
  key: 0,
1298
- items: n(i),
1299
- "model-value": n(h),
1300
- "onUpdate:modelValue": C[0] || (C[0] = (x) => s.value = x.value)
1301
- }, null, 8, ["items", "model-value"])) : b("", !0)
1302
+ items: o(i),
1303
+ "model-value": o(b),
1304
+ "onUpdate:modelValue": C[0] || (C[0] = (h) => a.value = h.value)
1305
+ }, null, 8, ["items", "model-value"])) : v("", !0)
1302
1306
  ]),
1303
- n(d) ? (r(), p("div", Gt, u(n(d).label), 1)) : b("", !0),
1304
- n(d) ? (r(), g(I, {
1307
+ o(p) ? (r(), d("div", Gt, u(o(p).label), 1)) : v("", !0),
1308
+ o(p) ? (r(), x(E, {
1305
1309
  key: 1,
1306
- datasets: n(v),
1307
- "x-axis": { categories: n(d).categories },
1308
- "x-cfg": o,
1309
- "y-cfg": o,
1310
+ datasets: o(g),
1311
+ "x-axis": { categories: o(p).categories },
1312
+ "x-cfg": n,
1313
+ "y-cfg": n,
1310
1314
  legend: { display: !0 },
1311
1315
  height: "150px"
1312
- }, null, 8, ["datasets", "x-axis"])) : b("", !0)
1316
+ }, null, 8, ["datasets", "x-axis"])) : v("", !0)
1313
1317
  ]),
1314
1318
  _: 1
1315
1319
  });
@@ -1324,7 +1328,7 @@ const Xe = {
1324
1328
  }, Jt = {
1325
1329
  key: 2,
1326
1330
  class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary mt-8"
1327
- }, ye = /* @__PURE__ */ j({
1331
+ }, ve = /* @__PURE__ */ z({
1328
1332
  __name: "CampaignBreakdownTable",
1329
1333
  props: {
1330
1334
  breakdown: {},
@@ -1333,30 +1337,30 @@ const Xe = {
1333
1337
  note: {}
1334
1338
  },
1335
1339
  setup(t) {
1336
- const l = t, e = O(
1340
+ const l = t, e = P(
1337
1341
  () => l.breakdown ? Qe(l.breakdown) : []
1338
1342
  );
1339
- return (s, i) => {
1340
- const h = S("FmTable"), d = S("FmCard");
1341
- return r(), g(d, {
1343
+ return (a, i) => {
1344
+ const b = S("FmTable"), p = S("FmCard");
1345
+ return r(), x(p, {
1342
1346
  variant: "outlined",
1343
1347
  class: "p-24"
1344
1348
  }, {
1345
- default: L(() => {
1346
- var v;
1349
+ default: D(() => {
1350
+ var g;
1347
1351
  return [
1348
- a("div", Kt, u(t.title), 1),
1349
- (v = t.breakdown) != null && v.rows.length ? (r(), p(E, { key: 0 }, [
1350
- a("div", Yt, " By " + u(t.breakdown.dimension), 1),
1351
- t.note ? (r(), p("div", Qt, u(t.note), 1)) : b("", !0),
1352
- P(h, {
1352
+ s("div", Kt, u(t.title), 1),
1353
+ (g = t.breakdown) != null && g.rows.length ? (r(), d(L, { key: 0 }, [
1354
+ s("div", Yt, " By " + u(t.breakdown.dimension), 1),
1355
+ t.note ? (r(), d("div", Qt, u(t.note), 1)) : v("", !0),
1356
+ $(b, {
1353
1357
  class: "mt-12",
1354
1358
  "row-data": t.breakdown.rows,
1355
- "column-defs": n(e),
1359
+ "column-defs": o(e),
1356
1360
  "column-filter": [],
1357
1361
  "hide-footer": ""
1358
1362
  }, null, 8, ["row-data", "column-defs"])
1359
- ], 64)) : t.breakdown ? (r(), p("div", Xt, u(t.emptyMessage), 1)) : (r(), p("div", Jt, " No breakdown dimension is available for this campaign. "))
1363
+ ], 64)) : t.breakdown ? (r(), d("div", Xt, u(t.emptyMessage), 1)) : (r(), d("div", Jt, " No breakdown dimension is available for this campaign. "))
1360
1364
  ];
1361
1365
  }),
1362
1366
  _: 1
@@ -1372,7 +1376,7 @@ const Xe = {
1372
1376
  }, ta = { class: "flex items-center gap-8" }, aa = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary flex-1 min-w-0 truncate" }, sa = {
1373
1377
  key: 1,
1374
1378
  class: "flex items-center justify-between gap-12 py-8 border-b border-fm-color-neutral-gray-100"
1375
- }, ra = { class: "flex items-center gap-8 min-w-0" }, la = { class: "fm-typo-en-body-md-400 text-fm-color-typo-primary truncate" }, be = /* @__PURE__ */ j({
1379
+ }, ra = { class: "flex items-center gap-8 min-w-0" }, la = { class: "fm-typo-en-body-md-400 text-fm-color-typo-primary truncate" }, fe = /* @__PURE__ */ z({
1376
1380
  __name: "CampaignMetricList",
1377
1381
  props: {
1378
1382
  title: {},
@@ -1382,44 +1386,44 @@ const Xe = {
1382
1386
  },
1383
1387
  setup(t) {
1384
1388
  return (l, e) => {
1385
- const s = S("FmCard");
1386
- return r(), g(s, {
1389
+ const a = S("FmCard");
1390
+ return r(), x(a, {
1387
1391
  variant: "outlined",
1388
1392
  class: "p-24"
1389
1393
  }, {
1390
- default: L(() => [
1391
- a("div", Wt, u(t.title), 1),
1392
- t.caption ? (r(), p("div", Zt, u(t.caption), 1)) : b("", !0),
1393
- a("div", {
1394
- class: H(["grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] xs:grid-cols-1", t.variant === "tile" ? "gap-16" : "gap-x-16"])
1394
+ default: D(() => [
1395
+ s("div", Wt, u(t.title), 1),
1396
+ t.caption ? (r(), d("div", Zt, u(t.caption), 1)) : v("", !0),
1397
+ s("div", {
1398
+ class: K(["grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] xs:grid-cols-1", t.variant === "tile" ? "gap-16" : "gap-x-16"])
1395
1399
  }, [
1396
- (r(!0), p(E, null, Z(t.items, (i) => (r(), p(E, {
1400
+ (r(!0), d(L, null, ee(t.items, (i) => (r(), d(L, {
1397
1401
  key: i.key
1398
1402
  }, [
1399
- t.variant === "tile" ? (r(), p("div", ea, [
1400
- a("div", ta, [
1401
- a("span", aa, u(i.label), 1),
1402
- i.helper ? (r(), g(ee, {
1403
+ t.variant === "tile" ? (r(), d("div", ea, [
1404
+ s("div", ta, [
1405
+ s("span", aa, u(i.label), 1),
1406
+ i.helper ? (r(), x(te, {
1403
1407
  key: 0,
1404
1408
  description: i.helper
1405
- }, null, 8, ["description"])) : b("", !0)
1409
+ }, null, 8, ["description"])) : v("", !0)
1406
1410
  ]),
1407
- a("div", {
1408
- class: H([
1411
+ s("div", {
1412
+ class: K([
1409
1413
  "fm-typo-en-body-lg-600 mt-4 truncate",
1410
1414
  i.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1411
1415
  ])
1412
1416
  }, u(i.value), 3)
1413
- ])) : (r(), p("div", sa, [
1414
- a("div", ra, [
1415
- a("span", la, u(i.label), 1),
1416
- i.helper ? (r(), g(ee, {
1417
+ ])) : (r(), d("div", sa, [
1418
+ s("div", ra, [
1419
+ s("span", la, u(i.label), 1),
1420
+ i.helper ? (r(), x(te, {
1417
1421
  key: 0,
1418
1422
  description: i.helper
1419
- }, null, 8, ["description"])) : b("", !0)
1423
+ }, null, 8, ["description"])) : v("", !0)
1420
1424
  ]),
1421
- a("span", {
1422
- class: H([
1425
+ s("span", {
1426
+ class: K([
1423
1427
  "fm-typo-en-body-md-600 whitespace-nowrap",
1424
1428
  i.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1425
1429
  ])
@@ -1438,45 +1442,45 @@ const Xe = {
1438
1442
  }, ua = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, da = {
1439
1443
  key: 1,
1440
1444
  class: "flex flex-col gap-12"
1441
- }, _a = /* @__PURE__ */ j({
1445
+ }, _a = /* @__PURE__ */ z({
1442
1446
  __name: "CampaignAnalytic",
1443
1447
  setup(t) {
1444
- const { t: l } = ve(), e = $e(), s = Pe(), { global: i, minor: h } = Re, d = we(), v = Y(), o = Y(), w = Y(), c = Y(!1), C = Y(!1), y = O(() => {
1445
- var D;
1446
- return (D = v.value) == null ? void 0 : D.campaign;
1447
- }), I = O(
1448
+ const { t: l } = he(), e = $e(), a = Pe(), { global: i, minor: b } = Re, p = we(), g = Q(), n = Q(), k = Q(), c = Q(!1), C = Q(!1), y = P(() => {
1449
+ var O;
1450
+ return (O = g.value) == null ? void 0 : O.campaign;
1451
+ }), E = P(
1448
1452
  () => y.value ? Ue(y.value.type) : void 0
1449
- ), M = O(() => {
1450
- var D;
1451
- return (D = I.value) == null ? void 0 : D.report;
1452
- }), x = O(() => {
1453
- var D, k, z, G, T, N, F, $, f, A, q, Q, X;
1454
- return M.value && ((D = y.value) == null ? void 0 : D.type) === "COIN" ? Ge(
1453
+ ), M = P(() => {
1454
+ var O;
1455
+ return (O = E.value) == null ? void 0 : O.report;
1456
+ }), h = P(() => {
1457
+ var O, w, G, H, V, T, F, I, f, q, j, X, J;
1458
+ return M.value && ((O = y.value) == null ? void 0 : O.type) === "COIN" ? Ge(
1455
1459
  M.value,
1456
- ((k = o.value) == null ? void 0 : k.type) === "COIN" ? o.value : ne()
1457
- ) : M.value && ((z = y.value) == null ? void 0 : z.type) === "POINT" ? He(
1460
+ ((w = n.value) == null ? void 0 : w.type) === "COIN" ? n.value : ie()
1461
+ ) : M.value && ((G = y.value) == null ? void 0 : G.type) === "POINT" ? He(
1458
1462
  M.value,
1459
- ((G = o.value) == null ? void 0 : G.type) === "POINT" ? o.value : oe()
1460
- ) : M.value && ((T = y.value) == null ? void 0 : T.type) === "CREDIT" ? Ke(
1463
+ ((H = n.value) == null ? void 0 : H.type) === "POINT" ? n.value : ce()
1464
+ ) : M.value && ((V = y.value) == null ? void 0 : V.type) === "CREDIT" ? Ke(
1461
1465
  M.value,
1462
- ((N = o.value) == null ? void 0 : N.type) === "CREDIT" ? o.value : ie()
1466
+ ((T = n.value) == null ? void 0 : T.type) === "CREDIT" ? n.value : me()
1463
1467
  ) : M.value && ((F = y.value) == null ? void 0 : F.type) === "GAME" ? je(
1464
1468
  M.value,
1465
- (($ = o.value) == null ? void 0 : $.type) === "GAME" ? o.value : le()
1469
+ ((I = n.value) == null ? void 0 : I.type) === "GAME" ? n.value : oe()
1466
1470
  ) : M.value && ((f = y.value) == null ? void 0 : f.type) === "MISSION" ? qe(
1467
1471
  M.value,
1468
- ((A = o.value) == null ? void 0 : A.type) === "MISSION" ? o.value : re()
1469
- ) : M.value && ((q = y.value) == null ? void 0 : q.type) === "PROMOTION" ? Ae(
1472
+ ((q = n.value) == null ? void 0 : q.type) === "MISSION" ? n.value : ne()
1473
+ ) : M.value && ((j = y.value) == null ? void 0 : j.type) === "PROMOTION" ? Fe(
1470
1474
  M.value,
1471
- ((Q = o.value) == null ? void 0 : Q.type) === "PROMOTION" ? o.value : se()
1472
- ) : M.value && ((X = o.value) == null ? void 0 : X.type) === "VOUCHER" ? Fe(
1475
+ ((X = n.value) == null ? void 0 : X.type) === "PROMOTION" ? n.value : le()
1476
+ ) : M.value && ((J = n.value) == null ? void 0 : J.type) === "VOUCHER" ? Ae(
1473
1477
  M.value,
1474
- o.value,
1475
- w.value
1478
+ n.value,
1479
+ k.value
1476
1480
  ) : M.value;
1477
- }), fe = O(
1481
+ }), A = P(
1478
1482
  () => y.value ? l(Me(y.value.timeframeOptions)) : ""
1479
- ), he = O(
1483
+ ), ae = P(
1480
1484
  () => y.value && y.value.type !== "MEMBERSHIP" ? _e(y.value) : void 0
1481
1485
  );
1482
1486
  function ge() {
@@ -1512,7 +1516,7 @@ const Xe = {
1512
1516
  performanceDetails: []
1513
1517
  };
1514
1518
  }
1515
- function se() {
1519
+ function le() {
1516
1520
  return {
1517
1521
  type: "PROMOTION",
1518
1522
  scope: { startDate: "", endDate: "" },
@@ -1529,7 +1533,7 @@ const Xe = {
1529
1533
  performanceDetails: []
1530
1534
  };
1531
1535
  }
1532
- function re() {
1536
+ function ne() {
1533
1537
  return {
1534
1538
  type: "MISSION",
1535
1539
  scope: { startDate: "", endDate: "" },
@@ -1546,7 +1550,7 @@ const Xe = {
1546
1550
  performanceDetails: []
1547
1551
  };
1548
1552
  }
1549
- function le() {
1553
+ function oe() {
1550
1554
  return {
1551
1555
  type: "GAME",
1552
1556
  scope: { startDate: "", endDate: "" },
@@ -1562,7 +1566,7 @@ const Xe = {
1562
1566
  tokenDistributionDetails: []
1563
1567
  };
1564
1568
  }
1565
- function ne() {
1569
+ function ie() {
1566
1570
  return {
1567
1571
  type: "COIN",
1568
1572
  scope: { startDate: "", endDate: "" },
@@ -1575,7 +1579,7 @@ const Xe = {
1575
1579
  performanceDetails: []
1576
1580
  };
1577
1581
  }
1578
- function oe() {
1582
+ function ce() {
1579
1583
  return {
1580
1584
  type: "POINT",
1581
1585
  scope: { startDate: "", endDate: "" },
@@ -1588,7 +1592,7 @@ const Xe = {
1588
1592
  performanceDetails: []
1589
1593
  };
1590
1594
  }
1591
- function ie() {
1595
+ function me() {
1592
1596
  return {
1593
1597
  type: "CREDIT",
1594
1598
  scope: { startDate: "", endDate: "" },
@@ -1602,220 +1606,220 @@ const Xe = {
1602
1606
  };
1603
1607
  }
1604
1608
  return ke(async () => {
1605
- var D, k, z, G, T, N, F;
1609
+ var O, w, G, H, V, T, F;
1606
1610
  try {
1607
1611
  await i(async () => {
1608
- var A, q;
1609
- v.value = await U.readById(e.params.id);
1612
+ var q, j;
1613
+ g.value = await U.readById(e.params.id);
1610
1614
  const f = e.meta.campaignType;
1611
- C.value = !!f && ((q = (A = v.value) == null ? void 0 : A.campaign) == null ? void 0 : q.type) !== f;
1615
+ C.value = !!f && ((j = (q = g.value) == null ? void 0 : q.campaign) == null ? void 0 : j.type) !== f;
1612
1616
  });
1613
- const $ = {
1614
- timezone: pe[d.currentCountry.value || "MY"] ?? pe.MY
1617
+ const I = {
1618
+ timezone: be[p.currentCountry.value || "MY"] ?? be.MY
1615
1619
  };
1616
- ((D = v.value) == null ? void 0 : D.campaign.type) === "VOUCHER" ? (o.value = ge(), await Promise.all([
1617
- h(
1620
+ ((O = g.value) == null ? void 0 : O.campaign.type) === "VOUCHER" ? (n.value = ge(), await Promise.all([
1621
+ b(
1618
1622
  () => U.readAnalyticsOverview(e.params.id, {
1619
- ...$
1623
+ ...I
1620
1624
  })
1621
1625
  ).then((f) => {
1622
- f.type === "VOUCHER" && (o.value = f);
1626
+ f.type === "VOUCHER" && (n.value = f);
1623
1627
  }).catch(() => {
1624
1628
  }),
1625
- h(
1626
- () => U.readAnalyticsTrend(e.params.id, $)
1627
- ).then((f) => w.value = f).catch(() => {
1629
+ b(
1630
+ () => U.readAnalyticsTrend(e.params.id, I)
1631
+ ).then((f) => k.value = f).catch(() => {
1628
1632
  })
1629
- ])) : ((k = v.value) == null ? void 0 : k.campaign.type) === "PROMOTION" ? (o.value = se(), await h(
1630
- () => U.readAnalyticsOverview(e.params.id, $)
1633
+ ])) : ((w = g.value) == null ? void 0 : w.campaign.type) === "PROMOTION" ? (n.value = le(), await b(
1634
+ () => U.readAnalyticsOverview(e.params.id, I)
1631
1635
  ).then((f) => {
1632
- f.type === "PROMOTION" && (o.value = f);
1636
+ f.type === "PROMOTION" && (n.value = f);
1633
1637
  }).catch(() => {
1634
- })) : ((z = v.value) == null ? void 0 : z.campaign.type) === "MISSION" ? (o.value = re(), await h(
1635
- () => U.readAnalyticsOverview(e.params.id, $)
1638
+ })) : ((G = g.value) == null ? void 0 : G.campaign.type) === "MISSION" ? (n.value = ne(), await b(
1639
+ () => U.readAnalyticsOverview(e.params.id, I)
1636
1640
  ).then((f) => {
1637
- f.type === "MISSION" && (o.value = f);
1641
+ f.type === "MISSION" && (n.value = f);
1638
1642
  }).catch(() => {
1639
- })) : ((G = v.value) == null ? void 0 : G.campaign.type) === "GAME" ? (o.value = le(), await h(
1640
- () => U.readAnalyticsOverview(e.params.id, $)
1643
+ })) : ((H = g.value) == null ? void 0 : H.campaign.type) === "GAME" ? (n.value = oe(), await b(
1644
+ () => U.readAnalyticsOverview(e.params.id, I)
1641
1645
  ).then((f) => {
1642
- f.type === "GAME" && (o.value = f);
1646
+ f.type === "GAME" && (n.value = f);
1643
1647
  }).catch(() => {
1644
- })) : ((T = v.value) == null ? void 0 : T.campaign.type) === "COIN" ? (o.value = ne(), await h(
1645
- () => U.readAnalyticsOverview(e.params.id, $)
1648
+ })) : ((V = g.value) == null ? void 0 : V.campaign.type) === "COIN" ? (n.value = ie(), await b(
1649
+ () => U.readAnalyticsOverview(e.params.id, I)
1646
1650
  ).then((f) => {
1647
- f.type === "COIN" && (o.value = f);
1651
+ f.type === "COIN" && (n.value = f);
1648
1652
  }).catch(() => {
1649
- })) : ((N = v.value) == null ? void 0 : N.campaign.type) === "POINT" ? (o.value = oe(), await h(
1650
- () => U.readAnalyticsOverview(e.params.id, $)
1653
+ })) : ((T = g.value) == null ? void 0 : T.campaign.type) === "POINT" ? (n.value = ce(), await b(
1654
+ () => U.readAnalyticsOverview(e.params.id, I)
1651
1655
  ).then((f) => {
1652
- f.type === "POINT" && (o.value = f);
1656
+ f.type === "POINT" && (n.value = f);
1653
1657
  }).catch(() => {
1654
- })) : ((F = v.value) == null ? void 0 : F.campaign.type) === "CREDIT" && (o.value = ie(), await h(
1655
- () => U.readAnalyticsOverview(e.params.id, $)
1658
+ })) : ((F = g.value) == null ? void 0 : F.campaign.type) === "CREDIT" && (n.value = me(), await b(
1659
+ () => U.readAnalyticsOverview(e.params.id, I)
1656
1660
  ).then((f) => {
1657
- f.type === "CREDIT" && (o.value = f);
1661
+ f.type === "CREDIT" && (n.value = f);
1658
1662
  }).catch(() => {
1659
1663
  }));
1660
1664
  } catch {
1661
1665
  c.value = !0;
1662
1666
  }
1663
- }), (D, k) => {
1664
- var F, $, f, A, q, Q, X, ce, me, ue;
1665
- const z = S("FmPill"), G = S("FmPageHead"), T = S("FmIcon"), N = S("FmCard");
1666
- return r(), p(E, null, [
1667
- P(G, {
1667
+ }), (O, w) => {
1668
+ var F, I, f, q, j, X, J, ue, de, pe;
1669
+ const G = S("FmPill"), H = S("FmPageHead"), V = S("FmIcon"), T = S("FmCard");
1670
+ return r(), d(L, null, [
1671
+ $(H, {
1668
1672
  title: "Campaign analytic",
1669
1673
  "back-button": !0,
1670
- "onClick:back": k[0] || (k[0] = (K) => n(s).back())
1674
+ "onClick:back": w[0] || (w[0] = (Y) => o(a).back())
1671
1675
  }, {
1672
- title: L(() => [
1673
- a("div", na, [
1674
- k[1] || (k[1] = a("span", { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2" }, " Campaign analytic ", -1)),
1675
- P(z, { variant: "beta" })
1676
+ title: D(() => [
1677
+ s("div", na, [
1678
+ w[1] || (w[1] = s("span", { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2" }, " Campaign analytic ", -1)),
1679
+ $(G, { variant: "beta" })
1676
1680
  ])
1677
1681
  ]),
1678
1682
  _: 1
1679
1683
  }),
1680
- a("div", oa, [
1681
- n(c) ? (r(), g(N, {
1684
+ s("div", oa, [
1685
+ o(c) ? (r(), x(T, {
1682
1686
  key: 0,
1683
1687
  variant: "outlined",
1684
1688
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
1685
1689
  }, {
1686
- default: L(() => [
1687
- P(T, {
1690
+ default: D(() => [
1691
+ $(V, {
1688
1692
  name: "error",
1689
1693
  outline: "",
1690
1694
  size: "lg",
1691
1695
  class: "text-fm-color-neutral-gray-300"
1692
1696
  }),
1693
- k[2] || (k[2] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Could not load this campaign ", -1)),
1694
- k[3] || (k[3] = a("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, " The campaign may have been deleted, or the link is no longer valid. ", -1))
1697
+ w[2] || (w[2] = s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Could not load this campaign ", -1)),
1698
+ w[3] || (w[3] = s("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, " The campaign may have been deleted, or the link is no longer valid. ", -1))
1695
1699
  ]),
1696
1700
  _: 1
1697
- })) : n(y) ? (r(), p(E, { key: 1 }, [
1698
- P(at, {
1699
- "campaign-name": n(y).name,
1700
- "dates-label": n(fe),
1701
- status: n(he),
1702
- "mechanic-label": (F = n(I)) == null ? void 0 : F.label,
1703
- icon: ($ = n(I)) == null ? void 0 : $.icon,
1704
- objective: (f = n(I)) == null ? void 0 : f.objective,
1705
- "report-range-label": (A = n(x)) == null ? void 0 : A.reportRangeLabel,
1706
- "audience-label": (q = n(x)) == null ? void 0 : q.audienceLabel
1701
+ })) : o(y) ? (r(), d(L, { key: 1 }, [
1702
+ $(at, {
1703
+ "campaign-name": o(y).name,
1704
+ "dates-label": o(A),
1705
+ status: o(ae),
1706
+ "mechanic-label": (F = o(E)) == null ? void 0 : F.label,
1707
+ icon: (I = o(E)) == null ? void 0 : I.icon,
1708
+ objective: (f = o(E)) == null ? void 0 : f.objective,
1709
+ "report-range-label": (q = o(h)) == null ? void 0 : q.reportRangeLabel,
1710
+ "audience-label": (j = o(h)) == null ? void 0 : j.audienceLabel
1707
1711
  }, null, 8, ["campaign-name", "dates-label", "status", "mechanic-label", "icon", "objective", "report-range-label", "audience-label"]),
1708
- n(C) ? (r(), g(N, {
1712
+ o(C) ? (r(), x(T, {
1709
1713
  key: 0,
1710
1714
  variant: "outlined",
1711
1715
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
1712
1716
  }, {
1713
- default: L(() => [
1714
- P(T, {
1717
+ default: D(() => [
1718
+ $(V, {
1715
1719
  name: "wrong_location",
1716
1720
  outline: "",
1717
1721
  size: "lg",
1718
1722
  class: "text-fm-color-neutral-gray-300"
1719
1723
  }),
1720
- k[4] || (k[4] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " This campaign does not belong here ", -1)),
1721
- a("div", ia, " It is a " + u(n(y).type) + " campaign. Open it from its own campaign list to see the right report. ", 1)
1724
+ w[4] || (w[4] = s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " This campaign does not belong here ", -1)),
1725
+ s("div", ia, " It is a " + u(o(y).type) + " campaign. Open it from its own campaign list to see the right report. ", 1)
1722
1726
  ]),
1723
1727
  _: 1
1724
- })) : n(I) ? ((Q = n(M)) == null ? void 0 : Q.state) === "empty" ? (r(), g(N, {
1728
+ })) : o(E) ? ((X = o(M)) == null ? void 0 : X.state) === "empty" ? (r(), x(T, {
1725
1729
  key: 2,
1726
1730
  variant: "outlined",
1727
1731
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
1728
1732
  }, {
1729
- default: L(() => [
1730
- P(T, {
1733
+ default: D(() => [
1734
+ $(V, {
1731
1735
  name: "inbox",
1732
1736
  outline: "",
1733
1737
  size: "lg",
1734
1738
  class: "text-fm-color-neutral-gray-300"
1735
1739
  }),
1736
- k[6] || (k[6] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Campaign activity has not started ", -1)),
1737
- k[7] || (k[7] = a("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, " Performance data will appear after members enter the campaign. ", -1))
1740
+ w[6] || (w[6] = s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Campaign activity has not started ", -1)),
1741
+ w[7] || (w[7] = s("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, " Performance data will appear after members enter the campaign. ", -1))
1738
1742
  ]),
1739
1743
  _: 1
1740
- })) : n(x) ? (r(), p(E, { key: 3 }, [
1741
- n(y).type === "COIN" || n(y).type === "POINT" || n(y).type === "CREDIT" ? (r(), p("section", ma, [
1742
- a("div", null, [
1743
- a("div", ua, u((X = n(I)) == null ? void 0 : X.label) + " distribution summary ", 1)
1744
+ })) : o(h) ? (r(), d(L, { key: 3 }, [
1745
+ o(y).type === "COIN" || o(y).type === "POINT" || o(y).type === "CREDIT" ? (r(), d("section", ma, [
1746
+ s("div", null, [
1747
+ s("div", ua, u((J = o(E)) == null ? void 0 : J.label) + " distribution summary ", 1)
1744
1748
  ]),
1745
- P(te, {
1746
- cards: n(x).cards
1749
+ $(se, {
1750
+ cards: o(h).cards
1747
1751
  }, null, 8, ["cards"])
1748
- ])) : b("", !0),
1749
- n(y).type === "MISSION" ? (r(), p("section", da, [
1750
- k[8] || (k[8] = a("div", null, [
1751
- a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Mission participation and completion "),
1752
- a("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, " Campaign-lifetime member activity and completion ")
1752
+ ])) : v("", !0),
1753
+ o(y).type === "MISSION" ? (r(), d("section", da, [
1754
+ w[8] || (w[8] = s("div", null, [
1755
+ s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Mission participation and completion "),
1756
+ s("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, " Campaign-lifetime member activity and completion ")
1753
1757
  ], -1)),
1754
- P(te, {
1755
- cards: n(x).cards
1758
+ $(se, {
1759
+ cards: o(h).cards
1756
1760
  }, null, 8, ["cards"])
1757
- ])) : b("", !0),
1758
- n(x).applicationMix ? (r(), g(ht, {
1761
+ ])) : v("", !0),
1762
+ o(h).applicationMix ? (r(), x(ht, {
1759
1763
  key: 2,
1760
- mix: n(x).applicationMix
1761
- }, null, 8, ["mix"])) : n(y).type !== "MISSION" && n(x).funnel.length ? (r(), g(Ut, {
1764
+ mix: o(h).applicationMix
1765
+ }, null, 8, ["mix"])) : o(y).type !== "MISSION" && o(h).funnel.length ? (r(), x(Ut, {
1762
1766
  key: 3,
1763
- stages: n(x).funnel,
1764
- headline: n(x).funnelHeadline,
1765
- summary: n(x).funnelSummary,
1766
- "primary-label": n(x).funnelPrimaryLabel,
1767
- "secondary-stages": (ce = n(x).funnelSecondary) == null ? void 0 : ce.stages,
1768
- "secondary-label": (me = n(x).funnelSecondary) == null ? void 0 : me.label
1769
- }, null, 8, ["stages", "headline", "summary", "primary-label", "secondary-stages", "secondary-label"])) : b("", !0),
1770
- n(y).type !== "MISSION" && n(y).type !== "COIN" && n(y).type !== "POINT" && n(y).type !== "CREDIT" && n(x).cards.length ? (r(), g(te, {
1767
+ stages: o(h).funnel,
1768
+ headline: o(h).funnelHeadline,
1769
+ summary: o(h).funnelSummary,
1770
+ "primary-label": o(h).funnelPrimaryLabel,
1771
+ "secondary-stages": (ue = o(h).funnelSecondary) == null ? void 0 : ue.stages,
1772
+ "secondary-label": (de = o(h).funnelSecondary) == null ? void 0 : de.label
1773
+ }, null, 8, ["stages", "headline", "summary", "primary-label", "secondary-stages", "secondary-label"])) : v("", !0),
1774
+ o(y).type !== "MISSION" && o(y).type !== "COIN" && o(y).type !== "POINT" && o(y).type !== "CREDIT" && o(h).cards.length ? (r(), x(se, {
1771
1775
  key: 4,
1772
- cards: n(x).cards
1773
- }, null, 8, ["cards"])) : b("", !0),
1774
- n(x).trend.length ? (r(), g(Ht, {
1776
+ cards: o(h).cards
1777
+ }, null, 8, ["cards"])) : v("", !0),
1778
+ o(h).trend.length ? (r(), x(Ht, {
1775
1779
  key: 5,
1776
- modes: n(x).trend
1777
- }, null, 8, ["modes"])) : b("", !0),
1778
- (ue = n(x).breakdowns) != null && ue.length ? (r(!0), p(E, { key: 6 }, Z(n(x).breakdowns, (K) => (r(), g(ye, {
1779
- key: K.title,
1780
- breakdown: K.breakdown,
1781
- title: K.title,
1782
- "empty-message": K.emptyMessage,
1783
- note: K.note
1784
- }, null, 8, ["breakdown", "title", "empty-message", "note"]))), 128)) : (r(), g(ye, {
1780
+ modes: o(h).trend
1781
+ }, null, 8, ["modes"])) : v("", !0),
1782
+ (pe = o(h).breakdowns) != null && pe.length ? (r(!0), d(L, { key: 6 }, ee(o(h).breakdowns, (Y) => (r(), x(ve, {
1783
+ key: Y.title,
1784
+ breakdown: Y.breakdown,
1785
+ title: Y.title,
1786
+ "empty-message": Y.emptyMessage,
1787
+ note: Y.note
1788
+ }, null, 8, ["breakdown", "title", "empty-message", "note"]))), 128)) : (r(), x(ve, {
1785
1789
  key: 7,
1786
- breakdown: n(x).breakdown
1790
+ breakdown: o(h).breakdown
1787
1791
  }, null, 8, ["breakdown"])),
1788
- n(x).outcomes.length ? (r(), g(be, {
1792
+ o(h).outcomes.length ? (r(), x(fe, {
1789
1793
  key: 8,
1790
- title: n(y).type === "MISSION" || n(y).type === "GAME" ? "Reward activity" : "Business outcome",
1791
- caption: n(y).type === "MISSION" || n(y).type === "GAME" ? "Reward issuance attributed to this campaign" : "Financial and loyalty outcomes attributed to this campaign",
1792
- items: n(x).outcomes,
1794
+ title: o(y).type === "MISSION" || o(y).type === "GAME" ? "Reward activity" : "Business outcome",
1795
+ caption: o(y).type === "MISSION" || o(y).type === "GAME" ? "Reward issuance attributed to this campaign" : "Financial and loyalty outcomes attributed to this campaign",
1796
+ items: o(h).outcomes,
1793
1797
  variant: "tile"
1794
- }, null, 8, ["title", "caption", "items"])) : b("", !0),
1795
- P(be, {
1798
+ }, null, 8, ["title", "caption", "items"])) : v("", !0),
1799
+ $(fe, {
1796
1800
  title: "Metric definitions",
1797
1801
  caption: "Hover a metric for its denominator and attribution method",
1798
- items: n(x).metrics,
1802
+ items: o(h).metrics,
1799
1803
  variant: "row"
1800
1804
  }, null, 8, ["items"])
1801
- ], 64)) : b("", !0) : (r(), g(N, {
1805
+ ], 64)) : v("", !0) : (r(), x(T, {
1802
1806
  key: 1,
1803
1807
  variant: "outlined",
1804
1808
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
1805
1809
  }, {
1806
- default: L(() => [
1807
- P(T, {
1810
+ default: D(() => [
1811
+ $(V, {
1808
1812
  name: "query_stats",
1809
1813
  outline: "",
1810
1814
  size: "lg",
1811
1815
  class: "text-fm-color-neutral-gray-300"
1812
1816
  }),
1813
- k[5] || (k[5] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Analytic is not available for this campaign type ", -1)),
1814
- a("div", ca, " Reporting has not been defined for " + u(n(y).type) + " campaigns yet. ", 1)
1817
+ w[5] || (w[5] = s("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Analytic is not available for this campaign type ", -1)),
1818
+ s("div", ca, " Reporting has not been defined for " + u(o(y).type) + " campaigns yet. ", 1)
1815
1819
  ]),
1816
1820
  _: 1
1817
1821
  }))
1818
- ], 64)) : b("", !0)
1822
+ ], 64)) : v("", !0)
1819
1823
  ])
1820
1824
  ], 64);
1821
1825
  };