@feedmepos/mf-connect 0.1.98-beta.29 → 0.1.98-beta.30

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 (106) hide show
  1. package/dist/{App-C6SKcn3e.js → App-DUpK_Q7f.js} +8 -8
  2. package/dist/{AuditLogs-DLanmOme.js → AuditLogs-DWYbj4lo.js} +9 -9
  3. package/dist/{Bin-BwPh6VEN.js → Bin-DieOnDz0.js} +8 -8
  4. package/dist/{Broadcast-Bb8A3hT8.js → Broadcast-UQ-vMYLl.js} +11 -11
  5. package/dist/{CampaignAnalytic-DJdsyWVq.js → CampaignAnalytic-CfvtyBoa.js} +426 -426
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CJBuv8_e.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CuJWOZ3o.js} +6 -6
  7. package/dist/{Card-T39UgpKq.js → Card-Te7LGbdC.js} +18 -18
  8. package/dist/{Collections-BgXdN67W.js → Collections-C-QeTQej.js} +8 -8
  9. package/dist/{Credit-CAXuk9IA.js → Credit-B459_0Nt.js} +12 -12
  10. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-CtjUO-w-.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-Dp3i8kku.js} +31 -31
  11. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-DbIFBcTv.js → EffectSheet.vue_vue_type_style_index_0_lang-XgrUL64F.js} +6 -6
  12. package/dist/{Experience-a7VoQ3sI.js → Experience-BUiwaqiZ.js} +12 -12
  13. package/dist/{FileSaver.min-DRM39Joc.js → FileSaver.min-BBLnxnqN.js} +1 -1
  14. package/dist/{Game-Jnl9GQUL.js → Game-iOJbGiNe.js} +13 -13
  15. package/dist/{Grab-BVElbSqe.js → Grab-bC6BeXxc.js} +9 -9
  16. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-Bwe_y-ko.js → ImageInput.vue_vue_type_script_setup_true_lang-eiJJrTiu.js} +1 -1
  17. package/dist/{Index-CuJAHnS_.js → Index-Utb2MWAQ.js} +10 -10
  18. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-rO5tkpq-.js → LocationPicker.vue_vue_type_script_setup_true_lang-B7iWGh2L.js} +1 -1
  19. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-BJ1RH8SV.js → LottieAnimation.vue_vue_type_script_setup_true_lang-CppfUz1y.js} +1 -1
  20. package/dist/{LoyaltyDashboard-CoqplSHE.js → LoyaltyDashboard-BHSHnBpi.js} +7 -7
  21. package/dist/{MainLayout-BzSsNqGq.js → MainLayout-DMqkiGFT.js} +1 -1
  22. package/dist/{Marketing-DKYR_3sp.js → Marketing-DGfDqW7v.js} +4 -4
  23. package/dist/{MarketingMaterialEdit-B_G6n15A.js → MarketingMaterialEdit-p5QBPd83.js} +6 -6
  24. package/dist/{Member-CKlY8zlf.js → Member-C2KIOib-.js} +11 -11
  25. package/dist/{MemberList-BTUR8O72.js → MemberList-Esp9384f.js} +25 -25
  26. package/dist/{MemberTransactions-DzIE_P1B.js → MemberTransactions-CKYG04pY.js} +1 -1
  27. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-DcMfsgZ1.js → MessageInput.vue_vue_type_script_setup_true_lang-CItc3B3N.js} +9 -9
  28. package/dist/{Mission-1ncWxSdf.js → Mission-BlckuFfz.js} +13 -13
  29. package/dist/{Overview-D5sIMjvk.js → Overview-B5PSmDQr.js} +18 -18
  30. package/dist/{Overview-DrxddDK9.js → Overview-suva6hd8.js} +3 -3
  31. package/dist/{Point-DC52lE-_.js → Point-CVexYech.js} +12 -12
  32. package/dist/{Promotion-CRZPLyp7.js → Promotion-VW7rqIn-.js} +13 -13
  33. package/dist/{Queue-CxdUed2v.js → Queue-Dh4C5OO9.js} +10 -10
  34. package/dist/{Record-DlTP_5Lz.js → Record-CYGrQ_Cb.js} +9 -9
  35. package/dist/{Review-BEa_KPNl.js → Review-mxbjxTB1.js} +2 -2
  36. package/dist/{ReviewFacebookCallback-Ei_2galU.js → ReviewFacebookCallback-C-pSgxeh.js} +5 -5
  37. package/dist/{ReviewGoogleCallback-BlnsJGH_.js → ReviewGoogleCallback-CnNbGQdM.js} +5 -5
  38. package/dist/{Reward-kGTnxDld.js → Reward-CQ8AgV1m.js} +16 -16
  39. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-tLd1yQ-w.js → RewardGroup.vue_vue_type_script_setup_true_lang-DxaejEKe.js} +11 -11
  40. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-CaCtUBR-.js → RuleGroup.vue_vue_type_script_setup_true_lang-CxHheatc.js} +14 -14
  41. package/dist/{Segment-BY6wtjrW.js → Segment-Crm395ad.js} +24 -24
  42. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-DJHRvEFh.js → SelectItems.vue_vue_type_script_setup_true_lang-CnA8A--R.js} +2 -2
  43. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-Q1UBGIUL.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-Dd-mYmBN.js} +12 -12
  44. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-BNIIdyGx.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-DgkPQA3H.js} +4 -4
  45. package/dist/{Setting-JLxmUT-3.js → Setting-AKRWf4zD.js} +14 -14
  46. package/dist/{SettingAdvertisements-fnPJSM_M.js → SettingAdvertisements-DD9U8S6N.js} +12 -12
  47. package/dist/{Settings-DBfHai7E.js → Settings-D7c8sBA8.js} +5 -5
  48. package/dist/{Store-BImPOOCu.js → Store-BN3RP_u-.js} +21 -21
  49. package/dist/{StoreRewards-CzQrnnKE.js → StoreRewards-BXc96ZMM.js} +15 -15
  50. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-DE644ZhH.js → StoreTransactions.vue_vue_type_script_setup_true_lang-B76NSzNg.js} +20 -20
  51. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-yO4a7kHx.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-DnhMV2aq.js} +2 -2
  52. package/dist/{Tier-DnfoT21r.js → Tier-Bbktc4H8.js} +24 -24
  53. package/dist/{Title-C01c9r9E.js → Title-BU8pzF9c.js} +21 -21
  54. package/dist/{Transaction-E2WtTU1S.js → Transaction-B3_M0MMz.js} +2 -2
  55. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-B_b_EwJ4.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-DtFoQXUu.js} +6 -6
  56. package/dist/{Voucher-DHbSKWBZ.js → Voucher-CJruHWmd.js} +14 -14
  57. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-Vg5CUiP1.js → VoucherEditor.vue_vue_type_script_setup_true_lang-DzIQ_1Nb.js} +12 -12
  58. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-CMaT0y_u.js → ZodTextField.vue_vue_type_script_setup_true_lang-Lq5Z_Glg.js} +2 -2
  59. package/dist/{app-CM5BqaSH.js → app-CmK_zWVU.js} +60 -60
  60. package/dist/app.js +1 -1
  61. package/dist/{business-BvnASP7F.js → business-Br3Sboxg.js} +1 -1
  62. package/dist/{campaign-C6v_uFcy.js → campaign-53KorSW_.js} +2 -2
  63. package/dist/{campaign-5Lx-yf4V.js → campaign-Dz57HOfP.js} +7 -7
  64. package/dist/{campaign.fn-zKWtYRyl.js → campaign.fn-D-J5-IK0.js} +38 -38
  65. package/dist/{collection.fn-Dt2pbVyc.js → collection.fn-cEP4Vjv6.js} +2 -2
  66. package/dist/{duplicateCampaign-CLhjopho.js → duplicateCampaign-bBnEmbXg.js} +2 -2
  67. package/dist/{effect-WmiqUsqx.js → effect-RQs_nrvo.js} +1 -1
  68. package/dist/{email-addresses-Bp4P9l1W.js → email-addresses-CAX-uL1B.js} +2 -2
  69. package/dist/{export-BUeNaYcV.js → export-DSgRDjwv.js} +3 -3
  70. package/dist/{helper-DT4JOYil.js → helper-DlEUDhaf.js} +1 -1
  71. package/dist/{index-B9vP8FgY.js → index-BA0GllA8.js} +1 -1
  72. package/dist/{index-Cif2BYaH.js → index-BHdJaRRQ.js} +1 -1
  73. package/dist/{index-50OcBlYJ.js → index-BpXYj8xl.js} +6 -6
  74. package/dist/{index-9_3ZVwqb.js → index-CBvgQWbo.js} +1 -1
  75. package/dist/{index-CQwWjtRW.js → index-CHmtKN0J.js} +3 -3
  76. package/dist/{index-CLpsbDWv.js → index-CJ0Ofs8g.js} +1 -1
  77. package/dist/{index-DqosJEqz.js → index-CQ40sF6g.js} +2 -2
  78. package/dist/{index-OmxC3X1w.js → index-CbBnibrX.js} +2 -2
  79. package/dist/{index-c6Rje4su.js → index-Cm4hBY6K.js} +1 -1
  80. package/dist/{index-CHXZRu1p.js → index-D3obFXMZ.js} +1 -1
  81. package/dist/{index-CdOtbg_y.js → index-DJQCoy-g.js} +1 -1
  82. package/dist/{index-DFdzcoYH.js → index-DansV6RZ.js} +2 -2
  83. package/dist/{index-VZ-Z0Zrl.js → index-Dpyep_-G.js} +2 -2
  84. package/dist/{index-CSpG45P_.js → index-ZFdRmzK7.js} +1 -1
  85. package/dist/{index-FuKsDUKZ.js → index-fVWfEBZV.js} +6 -6
  86. package/dist/{index.esm2017-DUMZURZY.js → index.esm2017-GDYw3ujs.js} +1 -1
  87. package/dist/{loading-CBV3B-Wr.js → loading-CevzAqpQ.js} +1 -1
  88. package/dist/{lodash-I1sCbRfp.js → lodash-CcmP-ZWD.js} +1 -1
  89. package/dist/{membership-BM9sayIX.js → membership-CP-ZGC-Y.js} +2 -2
  90. package/dist/{money-xHXXFSJq.js → money-B_CYilsX.js} +1 -1
  91. package/dist/{number-Bh-Ef6_V.js → number-CqWVPhp0.js} +1 -1
  92. package/dist/{objectid-BeEZ-H9e.js → objectid-DkTaCd6K.js} +13 -13
  93. package/dist/{plugins-CxKwYiFZ.js → plugins-Br271boW.js} +3 -3
  94. package/dist/{reward-d1AoIumo.js → reward-CKQRdG-H.js} +1 -1
  95. package/dist/{rule-CthdjBtY.js → rule-D0Rv4CuV.js} +3 -3
  96. package/dist/{rule-builder-4aJCfmNr.js → rule-builder-BUn6UMwW.js} +1 -1
  97. package/dist/{template-DG0K5ImH.js → template-D5GB4cAl.js} +6 -6
  98. package/dist/{timezone-CL5ViijC.js → timezone-DqRsL54X.js} +1 -1
  99. package/dist/{trigger-CNIRXSVD.js → trigger-Ci92pTJU.js} +5 -5
  100. package/dist/{useMarketingMaterialActions-BCiSyQIs.js → useMarketingMaterialActions-C_mu-ac8.js} +3 -3
  101. package/dist/{usePagination-Dg7LLsT6.js → usePagination-CWQ2WXiM.js} +1 -1
  102. package/dist/{user-tT7haw6s.js → user-CeAfYeZW.js} +1 -1
  103. package/dist/{vue-i18n-DJ7dtCU4.js → vue-i18n-P_SZNhrt.js} +355 -355
  104. package/dist/{xlsx-DLWH8mFg.js → xlsx-CTo0cmDn.js} +1 -1
  105. package/dist/{zod-BxXuySeD.js → zod-CPa57Pxb.js} +1 -1
  106. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
- import { defineComponent as q, resolveComponent as _, openBlock as n, createBlock as f, withCtx as P, createElementBlock as b, createCommentVNode as v, createElementVNode as a, toDisplayString as d, resolveDynamicComponent as ve, Fragment as L, normalizeStyle as me, renderList as Z, createVNode as I, normalizeClass as J, ref as G, computed as E, unref as o, onMounted as fe } from "vue";
2
- import { u as he } from "./vue-i18n-DJ7dtCU4.js";
3
- import { useCoreStore as ge } from "@feedmepos/mf-common";
4
- import { c as V } from "./index-Cif2BYaH.js";
5
- import { u as xe } from "./loading-CBV3B-Wr.js";
6
- import { s as ke, b as we } from "./campaign-5Lx-yf4V.js";
7
- import { C as ue } from "./timezone-CL5ViijC.js";
8
- import { h as Re } from "./moment-D7p2TMB-.js";
9
- import { _ as W } from "./MetricInfoTooltip.vue_vue_type_script_setup_true_lang-Bg_0YlwG.js";
10
- import { useRoute as Me, useRouter as _e } from "vue-router";
11
- const Se = {
1
+ import { defineComponent as j, resolveComponent as _, openBlock as r, createBlock as h, withCtx as P, createElementBlock as v, createCommentVNode as f, createElementVNode as a, toDisplayString as u, resolveDynamicComponent as fe, Fragment as E, normalizeStyle as me, renderList as ee, createVNode as I, normalizeClass as W, ref as H, computed as $, unref as n, onMounted as he } from "vue";
2
+ import { u as ge } from "./vue-i18n-P_SZNhrt.js";
3
+ import { useCoreStore as xe } from "@feedmepos/mf-common";
4
+ import { c as V } from "./index-BHdJaRRQ.js";
5
+ import { u as ke } from "./loading-CevzAqpQ.js";
6
+ import { s as we, b as Re } from "./campaign-Dz57HOfP.js";
7
+ import { C as ue } from "./timezone-DqRsL54X.js";
8
+ import { h as Me } from "./moment-D7p2TMB-.js";
9
+ import { _ as Z } from "./MetricInfoTooltip.vue_vue_type_script_setup_true_lang-Bg_0YlwG.js";
10
+ import { useRoute as _e, useRouter as Se } from "vue-router";
11
+ const Ie = {
12
12
  state: "populated",
13
13
  reportRangeLabel: "Unavailable",
14
14
  funnel: [],
@@ -17,7 +17,7 @@ const Se = {
17
17
  breakdown: null,
18
18
  outcomes: [],
19
19
  metrics: []
20
- }, Ie = {
20
+ }, Ce = {
21
21
  state: "populated",
22
22
  reportRangeLabel: "Unavailable",
23
23
  funnel: [],
@@ -37,7 +37,7 @@ const Se = {
37
37
  },
38
38
  outcomes: [],
39
39
  metrics: []
40
- }, Ce = {
40
+ }, Oe = {
41
41
  state: "populated",
42
42
  reportRangeLabel: "Unavailable",
43
43
  funnel: [],
@@ -47,7 +47,7 @@ const Se = {
47
47
  breakdowns: [],
48
48
  outcomes: [],
49
49
  metrics: []
50
- }, Oe = {
50
+ }, Pe = {
51
51
  state: "populated",
52
52
  reportRangeLabel: "Unavailable",
53
53
  funnel: [],
@@ -57,7 +57,7 @@ const Se = {
57
57
  breakdowns: [],
58
58
  outcomes: [],
59
59
  metrics: []
60
- }, Pe = {
60
+ }, De = {
61
61
  state: "populated",
62
62
  reportRangeLabel: "Unavailable",
63
63
  funnel: [],
@@ -67,7 +67,7 @@ const Se = {
67
67
  breakdowns: [],
68
68
  outcomes: [],
69
69
  metrics: []
70
- }, De = {
70
+ }, $e = {
71
71
  state: "populated",
72
72
  reportRangeLabel: "Unavailable",
73
73
  funnel: [],
@@ -77,7 +77,7 @@ const Se = {
77
77
  breakdowns: [],
78
78
  outcomes: [],
79
79
  metrics: []
80
- }, $e = {
80
+ }, Ee = {
81
81
  state: "populated",
82
82
  reportRangeLabel: "Unavailable",
83
83
  funnel: [],
@@ -87,55 +87,55 @@ const Se = {
87
87
  breakdowns: [],
88
88
  outcomes: [],
89
89
  metrics: []
90
- }, Ee = {
90
+ }, Le = {
91
91
  VOUCHER: {
92
92
  label: "Voucher",
93
93
  icon: "confirmation_number",
94
94
  objective: "Reactivation",
95
- report: Se
95
+ report: Ie
96
96
  },
97
97
  PROMOTION: {
98
98
  label: "Promotion",
99
99
  icon: "percent",
100
100
  objective: "Purchase conversion",
101
- report: Ie
101
+ report: Ce
102
102
  },
103
103
  MISSION: {
104
104
  label: "Mission",
105
105
  icon: "flag",
106
106
  objective: "Member engagement",
107
- report: Ce
107
+ report: Oe
108
108
  },
109
109
  GAME: {
110
110
  label: "Game",
111
111
  icon: "sports_esports",
112
112
  objective: "Member engagement",
113
- report: Oe
113
+ report: Pe
114
114
  },
115
115
  COIN: {
116
116
  label: "Point",
117
117
  icon: "stars",
118
118
  objective: "Member engagement",
119
- report: Pe
119
+ report: De
120
120
  },
121
121
  POINT: {
122
122
  label: "Experience",
123
123
  icon: "trending_up",
124
124
  objective: "Member engagement",
125
- report: De
125
+ report: $e
126
126
  },
127
127
  CREDIT: {
128
128
  label: "Credit",
129
129
  icon: "account_balance_wallet",
130
130
  objective: "Member engagement",
131
- report: $e
131
+ report: Ee
132
132
  }
133
133
  };
134
- function Le(t) {
135
- return Ee[t];
134
+ function Te(t) {
135
+ return Le[t];
136
136
  }
137
- function C(t, i) {
138
- return `${(t ?? 0).toLocaleString()} ${i}`;
137
+ function C(t, l) {
138
+ return `${(t ?? 0).toLocaleString()} ${l}`;
139
139
  }
140
140
  function m(t) {
141
141
  return (t ?? 0).toLocaleString();
@@ -146,28 +146,28 @@ function w(t) {
146
146
  maximumFractionDigits: 2
147
147
  })}`;
148
148
  }
149
- function D(t, i) {
150
- const e = i ?? 0;
149
+ function D(t, l) {
150
+ const e = l ?? 0;
151
151
  return e ? Math.round((t ?? 0) / e * 1e3) / 10 : 0;
152
152
  }
153
153
  function N(t) {
154
- const i = Re(t);
155
- return i.isValid() ? i.format("D MMM YYYY") : t;
154
+ const l = Me(t);
155
+ return l.isValid() ? l.format("D MMM YYYY") : t;
156
156
  }
157
- function Te(t, i, e) {
158
- const { metrics: s, scope: l } = i, h = D(
157
+ function Be(t, l, e) {
158
+ const { metrics: s, scope: i } = l, y = D(
159
159
  s.redeemedMembers,
160
160
  s.distributedMembers
161
- ), r = D(
161
+ ), o = D(
162
162
  s.redeemedVouchers,
163
163
  s.distributedVouchers
164
- ), c = s.completedBills === 0 ? 0 : s.rewardValueUsed / s.completedBills, x = s.completedBills === 0 ? 0 : s.exactSales / s.completedBills, R = D(
164
+ ), g = s.completedBills === 0 ? 0 : s.rewardValueUsed / s.completedBills, c = s.completedBills === 0 ? 0 : s.exactSales / s.completedBills, R = D(
165
165
  s.expiredUnusedVouchers,
166
166
  s.distributedVouchers
167
167
  );
168
168
  return {
169
169
  ...t,
170
- reportRangeLabel: l.startDate && l.endDate ? `${N(l.startDate)} – ${N(l.endDate)}` : "Unavailable",
170
+ reportRangeLabel: i.startDate && i.endDate ? `${N(i.startDate)} – ${N(i.endDate)}` : "Unavailable",
171
171
  audienceLabel: void 0,
172
172
  funnel: [
173
173
  {
@@ -183,8 +183,8 @@ function Te(t, i, e) {
183
183
  label: "Redeemed",
184
184
  membersLabel: C(s.redeemedMembers, "members"),
185
185
  unitsLabel: C(s.voucherUses, "voucher uses"),
186
- ratePct: h,
187
- rateLabel: `${h}% of distributed members`,
186
+ ratePct: y,
187
+ rateLabel: `${y}% of distributed members`,
188
188
  helper: "Distinct identified members who used the voucher"
189
189
  },
190
190
  {
@@ -205,7 +205,7 @@ function Te(t, i, e) {
205
205
  {
206
206
  key: "redemptionRate",
207
207
  label: "Redemption Rate",
208
- value: `${h}%`,
208
+ value: `${y}%`,
209
209
  sub: "of distributed members"
210
210
  },
211
211
  {
@@ -227,7 +227,7 @@ function Te(t, i, e) {
227
227
  sub: "issued, not yet redeemed"
228
228
  }
229
229
  ],
230
- trend: qe(e),
230
+ trend: je(e),
231
231
  breakdown: {
232
232
  dimension: "Outlet",
233
233
  columns: [
@@ -237,7 +237,7 @@ function Te(t, i, e) {
237
237
  "Exact sales",
238
238
  "Reward value used"
239
239
  ],
240
- rows: i.performanceDetails.map((p) => ({
240
+ rows: l.performanceDetails.map((p) => ({
241
241
  name: p.restaurantName,
242
242
  cells: [
243
243
  p.redeemedMembers.toLocaleString(),
@@ -267,32 +267,32 @@ function Te(t, i, e) {
267
267
  {
268
268
  key: "averageBillValue",
269
269
  label: "Average Bill Value",
270
- value: w(x)
270
+ value: w(c)
271
271
  }
272
272
  ],
273
273
  metrics: [
274
274
  {
275
275
  key: "memberRedemptionRate",
276
276
  label: "Member Redemption Rate",
277
- value: `${h}%`,
277
+ value: `${y}%`,
278
278
  helper: "Redeemed members ÷ distributed members"
279
279
  },
280
280
  {
281
281
  key: "voucherUtilizationRate",
282
282
  label: "Voucher Utilization Rate",
283
- value: `${r}%`,
283
+ value: `${o}%`,
284
284
  helper: "Redeemed vouchers ÷ distributed vouchers"
285
285
  },
286
286
  {
287
287
  key: "averageDiscountPerBill",
288
288
  label: "Average Discount per Bill",
289
- value: w(c),
289
+ value: w(g),
290
290
  helper: "Reward value used ÷ completed bills"
291
291
  },
292
292
  {
293
293
  key: "averageBillValue",
294
294
  label: "Average Bill Value",
295
- value: w(x),
295
+ value: w(c),
296
296
  helper: "Exact sales ÷ completed bills"
297
297
  },
298
298
  {
@@ -304,17 +304,17 @@ function Te(t, i, e) {
304
304
  ]
305
305
  };
306
306
  }
307
- function Be(t, i) {
308
- const { metrics: e, scope: s } = i, l = D(
307
+ function Ne(t, l) {
308
+ const { metrics: e, scope: s } = l, i = D(
309
309
  e.memberBills,
310
310
  e.attributedBills
311
- ), h = D(
311
+ ), y = D(
312
312
  e.nonMemberBills,
313
313
  e.attributedBills
314
- ), r = D(
314
+ ), o = D(
315
315
  e.memberSales,
316
316
  e.exactSales
317
- ), c = e.attributedBills ? e.promotionValueUsed / e.attributedBills : 0, x = e.attributedBills ? e.exactSales / e.attributedBills : 0;
317
+ ), g = e.attributedBills ? e.promotionValueUsed / e.attributedBills : 0, c = e.attributedBills ? e.exactSales / e.attributedBills : 0;
318
318
  return {
319
319
  ...t,
320
320
  reportRangeLabel: s.startDate && s.endDate ? `${N(s.startDate)} – ${N(s.endDate)}` : "Unavailable",
@@ -328,10 +328,10 @@ function Be(t, i) {
328
328
  nonMemberBills: m(e.nonMemberBills),
329
329
  memberSales: w(e.memberSales),
330
330
  nonMemberSales: w(e.nonMemberSales),
331
- memberBillSharePct: l,
332
- nonMemberBillSharePct: h,
333
- memberSalesSharePct: r,
334
- summary: `Members account for ${l}% of attributed bills and ${r}% of attributed sales.`
331
+ memberBillSharePct: i,
332
+ nonMemberBillSharePct: y,
333
+ memberSalesSharePct: o,
334
+ summary: `Members account for ${i}% of attributed bills and ${o}% of attributed sales.`
335
335
  },
336
336
  breakdown: {
337
337
  dimension: "Outlet",
@@ -343,7 +343,7 @@ function Be(t, i) {
343
343
  "Exact sales",
344
344
  "Promotion value used"
345
345
  ],
346
- rows: i.performanceDetails.map((R) => ({
346
+ rows: l.performanceDetails.map((R) => ({
347
347
  name: R.restaurantName,
348
348
  cells: [
349
349
  m(R.appliedMembers),
@@ -374,45 +374,45 @@ function Be(t, i) {
374
374
  {
375
375
  key: "averageBillValue",
376
376
  label: "Average Bill Value",
377
- value: w(x)
377
+ value: w(c)
378
378
  }
379
379
  ],
380
380
  metrics: [
381
381
  {
382
382
  key: "memberApplicationShare",
383
383
  label: "Member Application Share",
384
- value: `${l}%`,
384
+ value: `${i}%`,
385
385
  helper: "Member bills ÷ attributed bills"
386
386
  },
387
387
  {
388
388
  key: "nonMemberApplicationShare",
389
389
  label: "Non-member Application Share",
390
- value: `${h}%`,
390
+ value: `${y}%`,
391
391
  helper: "Non-member bills ÷ attributed bills"
392
392
  },
393
393
  {
394
394
  key: "memberSalesShare",
395
395
  label: "Member Sales Share",
396
- value: `${r}%`,
396
+ value: `${o}%`,
397
397
  helper: "Member sales ÷ exact sales"
398
398
  },
399
399
  {
400
400
  key: "averageDiscountPerBill",
401
401
  label: "Average Discount per Bill",
402
- value: w(c),
402
+ value: w(g),
403
403
  helper: "Promotion value used ÷ attributed bills"
404
404
  },
405
405
  {
406
406
  key: "averageBillValue",
407
407
  label: "Average Bill Value",
408
- value: w(x),
408
+ value: w(c),
409
409
  helper: "Exact sales ÷ attributed bills"
410
410
  }
411
411
  ]
412
412
  };
413
413
  }
414
- function Ne(t, i) {
415
- const { metrics: e, scope: s } = i, l = e.participants ? e.stampsEarned / e.participants : 0, h = Math.max(
414
+ function Ve(t, l) {
415
+ const { metrics: e, scope: s } = l, i = e.participants ? e.stampsEarned / e.participants : 0, y = Math.max(
416
416
  e.completionEvents - e.completedMembers,
417
417
  0
418
418
  );
@@ -469,13 +469,13 @@ function Ne(t, i) {
469
469
  "Issue transactions",
470
470
  "Quantity issued"
471
471
  ],
472
- rows: i.rewards.map((r) => ({
473
- name: r.rewardName,
472
+ rows: l.rewards.map((o) => ({
473
+ name: o.rewardName,
474
474
  cells: [
475
- r.rewardType,
476
- m(r.recipients),
477
- m(r.issuanceTransactions),
478
- m(r.quantityIssued)
475
+ o.rewardType,
476
+ m(o.recipients),
477
+ m(o.issuanceTransactions),
478
+ m(o.quantityIssued)
479
479
  ]
480
480
  }))
481
481
  }
@@ -486,12 +486,12 @@ function Ne(t, i) {
486
486
  breakdown: {
487
487
  dimension: "Outlet",
488
488
  columns: ["Participants", "Stamps earned", "Completion events"],
489
- rows: i.performanceDetails.map((r) => ({
490
- name: r.restaurantName || "Unattributed / online",
489
+ rows: l.performanceDetails.map((o) => ({
490
+ name: o.restaurantName || "Unattributed / online",
491
491
  cells: [
492
- m(r.participants),
493
- m(r.stampsEarned),
494
- m(r.completionEvents)
492
+ m(o.participants),
493
+ m(o.stampsEarned),
494
+ m(o.completionEvents)
495
495
  ]
496
496
  }))
497
497
  }
@@ -525,7 +525,7 @@ function Ne(t, i) {
525
525
  {
526
526
  key: "averageStampsPerParticipant",
527
527
  label: "Average Stamps per Participant",
528
- value: l.toLocaleString("en-MY", {
528
+ value: i.toLocaleString("en-MY", {
529
529
  maximumFractionDigits: 2
530
530
  }),
531
531
  helper: "Stamps earned ÷ participants"
@@ -533,17 +533,17 @@ function Ne(t, i) {
533
533
  {
534
534
  key: "repeatCompletionEvents",
535
535
  label: "Repeat Completion Events",
536
- value: m(h),
536
+ value: m(y),
537
537
  helper: "Completion events beyond the first completion per member"
538
538
  }
539
539
  ]
540
540
  };
541
541
  }
542
- function Ve(t, i) {
543
- const { metrics: e, scope: s } = i, l = D(e.players, e.tokenRecipients), h = D(e.plays, e.tokensIssued), r = D(
542
+ function Ue(t, l) {
543
+ const { metrics: e, scope: s } = l, i = D(e.players, e.tokenRecipients), y = D(e.plays, e.tokensIssued), o = D(
544
544
  e.rewardRecipients,
545
545
  e.players
546
- ), c = e.players ? e.plays / e.players : 0;
546
+ ), g = e.players ? e.plays / e.players : 0;
547
547
  return {
548
548
  ...t,
549
549
  reportRangeLabel: s.startDate && s.endDate ? `${N(s.startDate)} – ${N(s.endDate)}` : "Unavailable",
@@ -554,7 +554,7 @@ function Ve(t, i) {
554
554
  label: "Token recipients",
555
555
  membersLabel: C(e.tokenRecipients, "members"),
556
556
  unitsLabel: C(e.tokensIssued, "tokens"),
557
- extra: `${m(e.plays)} plays · ${h}% token utilization`,
557
+ extra: `${m(e.plays)} plays · ${y}% token utilization`,
558
558
  helper: "Distinct members who received at least one game token"
559
559
  },
560
560
  {
@@ -562,8 +562,8 @@ function Ve(t, i) {
562
562
  label: "Players",
563
563
  membersLabel: C(e.players, "members"),
564
564
  unitsLabel: C(e.plays, "plays"),
565
- ratePct: l,
566
- rateLabel: `${l}% of token recipients`,
565
+ ratePct: i,
566
+ rateLabel: `${i}% of token recipients`,
567
567
  helper: "Distinct members who consumed at least one game token"
568
568
  },
569
569
  {
@@ -574,8 +574,8 @@ function Ve(t, i) {
574
574
  e.rewardIssueTransactions,
575
575
  "reward issue transactions"
576
576
  ),
577
- ratePct: r,
578
- rateLabel: `${r}% of players`,
577
+ ratePct: o,
578
+ rateLabel: `${o}% of players`,
579
579
  helper: "Distinct players receiving at least one Reward Pool reward"
580
580
  }
581
581
  ],
@@ -619,13 +619,13 @@ function Ve(t, i) {
619
619
  "Issue transactions",
620
620
  "Quantity issued"
621
621
  ],
622
- rows: i.rewards.map((x) => ({
623
- name: x.rewardName || "Unnamed reward",
622
+ rows: l.rewards.map((c) => ({
623
+ name: c.rewardName || "Unnamed reward",
624
624
  cells: [
625
- x.rewardType,
626
- m(x.recipients),
627
- m(x.issuanceTransactions),
628
- m(x.quantityIssued)
625
+ c.rewardType,
626
+ m(c.recipients),
627
+ m(c.issuanceTransactions),
628
+ m(c.quantityIssued)
629
629
  ]
630
630
  }))
631
631
  }
@@ -636,11 +636,11 @@ function Ve(t, i) {
636
636
  breakdown: {
637
637
  dimension: "Outlet",
638
638
  columns: ["Recipients", "Tokens issued"],
639
- rows: i.tokenDistributionDetails.map((x) => ({
640
- name: x.restaurantName || "Unattributed / online",
639
+ rows: l.tokenDistributionDetails.map((c) => ({
640
+ name: c.restaurantName || "Unattributed / online",
641
641
  cells: [
642
- m(x.recipients),
643
- m(x.tokensIssued)
642
+ m(c.recipients),
643
+ m(c.tokensIssued)
644
644
  ]
645
645
  }))
646
646
  }
@@ -662,25 +662,25 @@ function Ve(t, i) {
662
662
  {
663
663
  key: "playerRate",
664
664
  label: "Player Rate",
665
- value: `${l}%`,
665
+ value: `${i}%`,
666
666
  helper: "Players ÷ token recipients"
667
667
  },
668
668
  {
669
669
  key: "tokenUtilizationRate",
670
670
  label: "Token Utilization Rate",
671
- value: `${h}%`,
671
+ value: `${y}%`,
672
672
  helper: "Plays ÷ tokens issued"
673
673
  },
674
674
  {
675
675
  key: "rewardRecipientRate",
676
676
  label: "Reward Recipient Rate",
677
- value: `${r}%`,
677
+ value: `${o}%`,
678
678
  helper: "Reward recipients ÷ players"
679
679
  },
680
680
  {
681
681
  key: "averagePlaysPerPlayer",
682
682
  label: "Average Plays per Player",
683
- value: c.toLocaleString("en-MY", {
683
+ value: g.toLocaleString("en-MY", {
684
684
  maximumFractionDigits: 2
685
685
  }),
686
686
  helper: "Plays ÷ players"
@@ -688,26 +688,26 @@ function Ve(t, i) {
688
688
  ]
689
689
  };
690
690
  }
691
- function Q(t, i) {
692
- return i ? w(t ?? 0) : m(t);
691
+ function X(t, l) {
692
+ return l ? w(t ?? 0) : m(t);
693
693
  }
694
- function X(t, i) {
695
- return t[i] ?? 0;
694
+ function J(t, l) {
695
+ return t[l] ?? 0;
696
696
  }
697
- function ae(t, i, e) {
698
- const { metrics: s, scope: l } = i, h = s.recipients ? X(s, e.quantityKey) / s.recipients : 0, r = s.issuanceTransactions ? X(s, e.quantityKey) / s.issuanceTransactions : 0, c = [
697
+ function ae(t, l, e) {
698
+ const { metrics: s, scope: i } = l, y = s.recipients ? J(s, e.quantityKey) / s.recipients : 0, o = s.issuanceTransactions ? J(s, e.quantityKey) / s.issuanceTransactions : 0, g = [
699
699
  "Recipients",
700
700
  ...e.includeSourceRecipientShare ? ["Recipient share"] : [],
701
701
  "Issuance transactions",
702
702
  e.quantityLabel
703
- ], x = i.sourceDetails.map((p) => ({
703
+ ], c = l.sourceDetails.map((p) => ({
704
704
  name: p.source || "Unknown",
705
705
  cells: [
706
706
  m(p.recipients),
707
707
  ...e.includeSourceRecipientShare ? [`${D(p.recipients, s.recipients)}%`] : [],
708
708
  m(p.issuanceTransactions),
709
- Q(
710
- X(p, e.quantityKey),
709
+ X(
710
+ J(p, e.quantityKey),
711
711
  e.currency
712
712
  )
713
713
  ]
@@ -715,13 +715,13 @@ function ae(t, i, e) {
715
715
  {
716
716
  key: "averagePerRecipient",
717
717
  label: `Average ${e.quantityName} per Recipient`,
718
- value: Q(h, e.currency),
718
+ value: X(y, e.currency),
719
719
  helper: `${e.quantityLabel} ÷ recipients`
720
720
  },
721
721
  {
722
722
  key: "averagePerIssue",
723
723
  label: `Average ${e.quantityName} per Issue`,
724
- value: Q(r, e.currency),
724
+ value: X(o, e.currency),
725
725
  helper: `${e.quantityLabel} ÷ issuance transactions`
726
726
  }
727
727
  ];
@@ -732,7 +732,7 @@ function ae(t, i, e) {
732
732
  helper: "Source recipients ÷ total recipients"
733
733
  }), {
734
734
  ...t,
735
- reportRangeLabel: l.startDate && l.endDate ? `${N(l.startDate)} – ${N(l.endDate)}` : "Unavailable",
735
+ reportRangeLabel: i.startDate && i.endDate ? `${N(i.startDate)} – ${N(i.endDate)}` : "Unavailable",
736
736
  audienceLabel: void 0,
737
737
  funnel: [],
738
738
  cards: [
@@ -752,8 +752,8 @@ function ae(t, i, e) {
752
752
  {
753
753
  key: e.quantityKey,
754
754
  label: e.quantityLabel.replace(/^./, (p) => p.toUpperCase()),
755
- value: Q(
756
- X(s, e.quantityKey),
755
+ value: X(
756
+ J(s, e.quantityKey),
757
757
  e.currency
758
758
  ),
759
759
  sub: e.quantityUnit
@@ -767,8 +767,8 @@ function ae(t, i, e) {
767
767
  emptyMessage: "No source activity was recorded for this campaign.",
768
768
  breakdown: {
769
769
  dimension: "Source",
770
- columns: c,
771
- rows: x
770
+ columns: g,
771
+ rows: c
772
772
  }
773
773
  },
774
774
  {
@@ -781,13 +781,13 @@ function ae(t, i, e) {
781
781
  "Issuance transactions",
782
782
  e.quantityLabel
783
783
  ],
784
- rows: i.performanceDetails.map((p) => ({
784
+ rows: l.performanceDetails.map((p) => ({
785
785
  name: p.restaurantName || "Unattributed / online",
786
786
  cells: [
787
787
  m(p.recipients),
788
788
  m(p.issuanceTransactions),
789
- Q(
790
- X(p, e.quantityKey),
789
+ X(
790
+ J(p, e.quantityKey),
791
791
  e.currency
792
792
  )
793
793
  ]
@@ -799,8 +799,8 @@ function ae(t, i, e) {
799
799
  metrics: R
800
800
  };
801
801
  }
802
- function Ue(t, i) {
803
- return ae(t, i, {
802
+ function Fe(t, l) {
803
+ return ae(t, l, {
804
804
  label: "Point",
805
805
  quantityName: "Points",
806
806
  quantityLabel: "Points issued",
@@ -810,8 +810,8 @@ function Ue(t, i) {
810
810
  includeSourceRecipientShare: !0
811
811
  });
812
812
  }
813
- function Fe(t, i) {
814
- return ae(t, i, {
813
+ function Ae(t, l) {
814
+ return ae(t, l, {
815
815
  label: "Experience",
816
816
  quantityName: "Experience",
817
817
  quantityLabel: "Experience issued",
@@ -821,8 +821,8 @@ function Fe(t, i) {
821
821
  includeSourceRecipientShare: !0
822
822
  });
823
823
  }
824
- function Ae(t, i) {
825
- return ae(t, i, {
824
+ function qe(t, l) {
825
+ return ae(t, l, {
826
826
  label: "Credit",
827
827
  quantityName: "Credit",
828
828
  quantityLabel: "Credit issued",
@@ -832,9 +832,9 @@ function Ae(t, i) {
832
832
  includeSourceRecipientShare: !1
833
833
  });
834
834
  }
835
- function qe(t) {
835
+ function je(t) {
836
836
  if (!(t != null && t.categories.length)) return [];
837
- const i = {
837
+ const l = {
838
838
  key: "members",
839
839
  label: "Distributed members vs Redeemed members",
840
840
  categories: t.categories,
@@ -843,8 +843,8 @@ function qe(t) {
843
843
  { label: "Redeemed members", values: t.redeemedMembers }
844
844
  ]
845
845
  };
846
- return t.distributedValue == null ? [i] : [
847
- i,
846
+ return t.distributedValue == null ? [l] : [
847
+ l,
848
848
  {
849
849
  key: "value",
850
850
  label: "Distributed voucher value vs Reward value used",
@@ -859,25 +859,25 @@ function qe(t) {
859
859
  }
860
860
  ];
861
861
  }
862
- function je(t) {
862
+ function ze(t) {
863
863
  return [
864
864
  {
865
865
  header: t.dimension,
866
- accessorFn: (i) => i.name
866
+ accessorFn: (l) => l.name
867
867
  },
868
- ...t.columns.map((i, e) => ({
869
- header: i,
868
+ ...t.columns.map((l, e) => ({
869
+ header: l,
870
870
  accessorFn: (s) => s.cells[e] ?? ""
871
871
  }))
872
872
  ];
873
873
  }
874
- const ze = {
874
+ const Ge = {
875
875
  key: 0,
876
876
  class: "flex items-center gap-8 mb-8"
877
- }, Ge = { class: "fm-typo-en-body-sm-600 text-fm-color-primary uppercase" }, He = { class: "flex items-center gap-12 mb-12 flex-wrap" }, Ke = { class: "fm-typo-en-title-lg-800 text-fm-color-typo-primary m-0" }, Ye = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary flex flex-wrap gap-x-16 gap-y-4" }, Qe = {
877
+ }, He = { class: "fm-typo-en-body-sm-600 text-fm-color-primary uppercase" }, Ke = { class: "flex items-center gap-12 mb-12 flex-wrap" }, Ye = { class: "fm-typo-en-title-lg-800 text-fm-color-typo-primary m-0" }, Qe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary flex flex-wrap gap-x-16 gap-y-4" }, Xe = {
878
878
  key: 1,
879
879
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4"
880
- }, Xe = /* @__PURE__ */ q({
880
+ }, Je = /* @__PURE__ */ j({
881
881
  __name: "CampaignAnalyticHeader",
882
882
  props: {
883
883
  campaignName: {},
@@ -891,86 +891,86 @@ const ze = {
891
891
  demo: { type: Boolean }
892
892
  },
893
893
  setup(t) {
894
- return (i, e) => {
895
- const s = _("FmIcon"), l = _("FmChip"), h = _("FmCard");
896
- return n(), f(h, {
894
+ return (l, e) => {
895
+ const s = _("FmIcon"), i = _("FmChip"), y = _("FmCard");
896
+ return r(), h(y, {
897
897
  variant: "outlined",
898
898
  class: "p-24"
899
899
  }, {
900
900
  default: P(() => [
901
- t.mechanicLabel ? (n(), b("div", ze, [
902
- t.icon ? (n(), f(s, {
901
+ t.mechanicLabel ? (r(), v("div", Ge, [
902
+ t.icon ? (r(), h(s, {
903
903
  key: 0,
904
904
  name: t.icon,
905
905
  outline: "",
906
906
  size: "sm",
907
907
  class: "!text-fm-color-primary"
908
- }, null, 8, ["name"])) : v("", !0),
909
- a("span", Ge, d(t.objective ? `${t.mechanicLabel} · ${t.objective}` : t.mechanicLabel), 1)
910
- ])) : v("", !0),
911
- a("div", He, [
912
- a("h1", Ke, d(t.campaignName), 1),
913
- t.statusChip ? (n(), f(ve(t.statusChip), { key: 0 })) : v("", !0),
914
- t.demo ? (n(), f(l, {
908
+ }, null, 8, ["name"])) : f("", !0),
909
+ a("span", He, u(t.objective ? `${t.mechanicLabel} · ${t.objective}` : t.mechanicLabel), 1)
910
+ ])) : f("", !0),
911
+ a("div", Ke, [
912
+ a("h1", Ye, u(t.campaignName), 1),
913
+ t.statusChip ? (r(), h(fe(t.statusChip), { key: 0 })) : f("", !0),
914
+ t.demo ? (r(), h(i, {
915
915
  key: 1,
916
916
  class: "!text-fm-color-typo-warning !bg-fm-color-system-warning-100",
917
917
  compact: "",
918
918
  label: "Demo data"
919
- })) : v("", !0)
919
+ })) : f("", !0)
920
920
  ]),
921
- a("div", Ye, [
922
- a("span", null, d(t.datesLabel), 1),
923
- t.reportRangeLabel ? (n(), b(L, { key: 0 }, [
921
+ a("div", Qe, [
922
+ a("span", null, u(t.datesLabel), 1),
923
+ t.reportRangeLabel ? (r(), v(E, { key: 0 }, [
924
924
  e[0] || (e[0] = a("span", { class: "text-fm-color-typo-disabled" }, "·", -1)),
925
- a("span", null, "Reporting: " + d(t.reportRangeLabel), 1)
926
- ], 64)) : v("", !0)
925
+ a("span", null, "Reporting: " + u(t.reportRangeLabel), 1)
926
+ ], 64)) : f("", !0)
927
927
  ]),
928
- t.audienceLabel ? (n(), b("div", Qe, " Audience: " + d(t.audienceLabel), 1)) : v("", !0)
928
+ t.audienceLabel ? (r(), v("div", Xe, " Audience: " + u(t.audienceLabel), 1)) : f("", !0)
929
929
  ]),
930
930
  _: 1
931
931
  });
932
932
  };
933
933
  }
934
- }), Je = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16" }, We = { class: "min-w-0" }, Ze = { class: "fm-typo-en-title-sm-800 mt-8" }, et = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, tt = { class: "min-w-0" }, at = { class: "fm-typo-en-title-sm-800 mt-8" }, st = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16 mt-16" }, rt = { class: "min-w-0" }, lt = { class: "fm-typo-en-title-sm-800 mt-8" }, nt = { class: "min-w-0" }, it = { class: "fm-typo-en-title-sm-800 mt-8" }, ot = ["aria-label"], ct = { class: "flex h-12 overflow-hidden rounded-xxxl bg-fm-color-neutral-gray-100" }, mt = { class: "flex justify-between gap-16 mt-8 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, ut = { class: "mt-16 pt-12 border-t border-fm-color-neutral-gray-100 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, dt = /* @__PURE__ */ q({
934
+ }), We = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16" }, Ze = { class: "min-w-0" }, et = { class: "fm-typo-en-title-sm-800 mt-8" }, tt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, at = { class: "min-w-0" }, st = { class: "fm-typo-en-title-sm-800 mt-8" }, rt = { class: "grid grid-cols-2 xs:grid-cols-1 gap-16 mt-16" }, lt = { class: "min-w-0" }, nt = { class: "fm-typo-en-title-sm-800 mt-8" }, it = { class: "min-w-0" }, ot = { class: "fm-typo-en-title-sm-800 mt-8" }, ct = ["aria-label"], mt = { class: "flex h-12 overflow-hidden rounded-xxxl bg-fm-color-neutral-gray-100" }, ut = { class: "flex justify-between gap-16 mt-8 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, dt = { class: "mt-16 pt-12 border-t border-fm-color-neutral-gray-100 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, pt = /* @__PURE__ */ j({
935
935
  __name: "PromotionApplicationMix",
936
936
  props: {
937
937
  mix: {}
938
938
  },
939
939
  setup(t) {
940
- return (i, e) => {
940
+ return (l, e) => {
941
941
  const s = _("FmCard");
942
- return n(), f(s, {
942
+ return r(), h(s, {
943
943
  variant: "outlined",
944
944
  class: "p-24"
945
945
  }, {
946
946
  default: P(() => [
947
947
  e[4] || (e[4] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Customer mix ", -1)),
948
948
  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)),
949
- a("div", Je, [
950
- a("div", We, [
949
+ a("div", We, [
950
+ a("div", Ze, [
951
951
  e[0] || (e[0] = a("div", { class: "flex items-center gap-8" }, [
952
952
  a("div", { class: "w-8 h-8 rounded-sm bg-fm-color-primary" }),
953
953
  a("span", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Member bills ")
954
954
  ], -1)),
955
- a("div", Ze, d(t.mix.memberBills), 1),
956
- a("div", et, d(t.mix.appliedMembers) + " applied members ", 1)
955
+ a("div", et, u(t.mix.memberBills), 1),
956
+ a("div", tt, u(t.mix.appliedMembers) + " applied members ", 1)
957
957
  ]),
958
- a("div", tt, [
958
+ a("div", at, [
959
959
  e[1] || (e[1] = a("div", { class: "flex items-center gap-8" }, [
960
960
  a("div", { class: "w-8 h-8 rounded-sm bg-fm-color-neutral-gray-200" }),
961
961
  a("span", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Non-member bills ")
962
962
  ], -1)),
963
- a("div", at, d(t.mix.nonMemberBills), 1)
963
+ a("div", st, u(t.mix.nonMemberBills), 1)
964
964
  ])
965
965
  ]),
966
- a("div", st, [
967
- a("div", rt, [
966
+ a("div", rt, [
967
+ a("div", lt, [
968
968
  e[2] || (e[2] = a("div", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Member sales ", -1)),
969
- a("div", lt, d(t.mix.memberSales), 1)
969
+ a("div", nt, u(t.mix.memberSales), 1)
970
970
  ]),
971
- a("div", nt, [
971
+ a("div", it, [
972
972
  e[3] || (e[3] = a("div", { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary" }, " Non-member sales ", -1)),
973
- a("div", it, d(t.mix.nonMemberSales), 1)
973
+ a("div", ot, u(t.mix.nonMemberSales), 1)
974
974
  ])
975
975
  ]),
976
976
  a("div", {
@@ -978,7 +978,7 @@ const ze = {
978
978
  role: "img",
979
979
  "aria-label": t.mix.summary
980
980
  }, [
981
- a("div", ct, [
981
+ a("div", mt, [
982
982
  a("div", {
983
983
  class: "h-full bg-fm-color-primary",
984
984
  style: me({ width: t.mix.memberBillSharePct + "%" })
@@ -988,85 +988,85 @@ const ze = {
988
988
  style: me({ width: t.mix.nonMemberBillSharePct + "%" })
989
989
  }, null, 4)
990
990
  ]),
991
- a("div", mt, [
992
- a("span", null, "Members " + d(t.mix.memberBillSharePct) + "%", 1),
993
- a("span", null, "Non-members " + d(t.mix.nonMemberBillSharePct) + "%", 1)
991
+ a("div", ut, [
992
+ a("span", null, "Members " + u(t.mix.memberBillSharePct) + "%", 1),
993
+ a("span", null, "Non-members " + u(t.mix.nonMemberBillSharePct) + "%", 1)
994
994
  ])
995
- ], 8, ot),
996
- a("div", ut, d(t.mix.summary), 1)
995
+ ], 8, ct),
996
+ a("div", dt, u(t.mix.summary), 1)
997
997
  ]),
998
998
  _: 1
999
999
  });
1000
1000
  };
1001
1001
  }
1002
- }), pt = { class: "flex xs:flex-col items-stretch" }, yt = { class: "flex-1 min-w-0 px-16 xs:px-4 xs:py-12" }, bt = { class: "flex items-center gap-4" }, vt = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-tertiary" }, ft = {
1002
+ }), yt = { class: "flex xs:flex-col items-stretch" }, bt = { class: "flex-1 min-w-0 px-16 xs:px-4 xs:py-12" }, vt = { class: "flex items-center gap-4" }, ft = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-tertiary" }, ht = {
1003
1003
  key: 0,
1004
1004
  class: "fm-typo-en-body-md-400 text-fm-color-typo-disabled italic mt-8"
1005
- }, ht = { class: "fm-typo-en-title-sm-800 text-fm-color-typo-primary mt-8" }, gt = {
1005
+ }, gt = { class: "fm-typo-en-title-sm-800 text-fm-color-typo-primary mt-8" }, xt = {
1006
1006
  key: 0,
1007
1007
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1008
- }, xt = {
1008
+ }, kt = {
1009
1009
  key: 1,
1010
1010
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1011
- }, kt = {
1011
+ }, wt = {
1012
1012
  key: 2,
1013
1013
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1014
- }, wt = {
1014
+ }, Rt = {
1015
1015
  key: 3,
1016
1016
  class: "mt-8"
1017
- }, Rt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, Mt = {
1017
+ }, Mt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, _t = {
1018
1018
  key: 0,
1019
1019
  class: "flex items-center justify-center px-4 xs:py-4"
1020
- }, _t = /* @__PURE__ */ q({
1020
+ }, St = /* @__PURE__ */ j({
1021
1021
  __name: "CampaignFunnel",
1022
1022
  props: {
1023
1023
  stages: {}
1024
1024
  },
1025
1025
  setup(t) {
1026
- return (i, e) => {
1027
- const s = _("FmProgressBar"), l = _("FmIcon"), h = _("FmCard");
1028
- return n(), f(h, {
1026
+ return (l, e) => {
1027
+ const s = _("FmProgressBar"), i = _("FmIcon"), y = _("FmCard");
1028
+ return r(), h(y, {
1029
1029
  variant: "outlined",
1030
1030
  class: "p-24"
1031
1031
  }, {
1032
1032
  default: P(() => [
1033
1033
  e[0] || (e[0] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Campaign funnel ", -1)),
1034
1034
  e[1] || (e[1] = a("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4 mb-16" }, " Campaign activity at each stage ", -1)),
1035
- a("div", pt, [
1036
- (n(!0), b(L, null, Z(t.stages, (r, c) => (n(), b("div", {
1037
- key: r.key,
1035
+ a("div", yt, [
1036
+ (r(!0), v(E, null, ee(t.stages, (o, g) => (r(), v("div", {
1037
+ key: o.key,
1038
1038
  class: "flex xs:flex-col flex-1 min-w-0 items-stretch"
1039
1039
  }, [
1040
- a("div", yt, [
1041
- a("div", bt, [
1042
- a("span", vt, d(r.label), 1),
1043
- r.helper ? (n(), f(W, {
1040
+ a("div", bt, [
1041
+ a("div", vt, [
1042
+ a("span", ft, u(o.label), 1),
1043
+ o.helper ? (r(), h(Z, {
1044
1044
  key: 0,
1045
- description: r.helper
1046
- }, null, 8, ["description"])) : v("", !0)
1045
+ description: o.helper
1046
+ }, null, 8, ["description"])) : f("", !0)
1047
1047
  ]),
1048
- r.notSupported ? (n(), b("div", ft, d(r.helper), 1)) : (n(), b(L, { key: 1 }, [
1049
- a("div", ht, d(r.primaryLabel ?? r.membersLabel ?? "—"), 1),
1050
- r.unitsLabel ? (n(), b("div", gt, d(r.unitsLabel), 1)) : v("", !0),
1051
- r.valueLabel ? (n(), b("div", xt, d(r.valueLabel), 1)) : v("", !0),
1052
- r.extra ? (n(), b("div", kt, d(r.extra), 1)) : v("", !0),
1053
- r.ratePct !== void 0 ? (n(), b("div", wt, [
1048
+ o.notSupported ? (r(), v("div", ht, u(o.helper), 1)) : (r(), v(E, { key: 1 }, [
1049
+ a("div", gt, u(o.primaryLabel ?? o.membersLabel ?? "—"), 1),
1050
+ o.unitsLabel ? (r(), v("div", xt, u(o.unitsLabel), 1)) : f("", !0),
1051
+ o.valueLabel ? (r(), v("div", kt, u(o.valueLabel), 1)) : f("", !0),
1052
+ o.extra ? (r(), v("div", wt, u(o.extra), 1)) : f("", !0),
1053
+ o.ratePct !== void 0 ? (r(), v("div", Rt, [
1054
1054
  I(s, {
1055
- value: r.ratePct,
1055
+ value: o.ratePct,
1056
1056
  color: "primary",
1057
1057
  size: "sm"
1058
1058
  }, null, 8, ["value"]),
1059
- a("div", Rt, d(r.rateLabel), 1)
1060
- ])) : v("", !0)
1059
+ a("div", Mt, u(o.rateLabel), 1)
1060
+ ])) : f("", !0)
1061
1061
  ], 64))
1062
1062
  ]),
1063
- c < t.stages.length - 1 ? (n(), b("div", Mt, [
1064
- I(l, {
1063
+ g < t.stages.length - 1 ? (r(), v("div", _t, [
1064
+ I(i, {
1065
1065
  name: "chevron_right",
1066
1066
  size: "sm",
1067
1067
  class: "text-fm-color-neutral-gray-300 xs:rotate-90"
1068
1068
  })
1069
- ])) : v("", !0)
1069
+ ])) : f("", !0)
1070
1070
  ]))), 128))
1071
1071
  ])
1072
1072
  ]),
@@ -1074,109 +1074,109 @@ const ze = {
1074
1074
  });
1075
1075
  };
1076
1076
  }
1077
- }), St = { class: "grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] xs:grid-cols-1 gap-16" }, It = { class: "flex items-center gap-8" }, Ct = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary flex-1 min-w-0 truncate" }, Ot = {
1077
+ }), It = { class: "grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] xs:grid-cols-1 gap-16" }, Ct = { class: "flex items-center gap-8" }, Ot = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary flex-1 min-w-0 truncate" }, Pt = {
1078
1078
  key: 0,
1079
1079
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
1080
- }, te = /* @__PURE__ */ q({
1080
+ }, te = /* @__PURE__ */ j({
1081
1081
  __name: "CampaignMetricCards",
1082
1082
  props: {
1083
1083
  cards: {}
1084
1084
  },
1085
1085
  setup(t) {
1086
- return (i, e) => {
1086
+ return (l, e) => {
1087
1087
  const s = _("FmCard");
1088
- return n(), b("section", St, [
1089
- (n(!0), b(L, null, Z(t.cards, (l) => (n(), f(s, {
1090
- key: l.key,
1088
+ return r(), v("section", It, [
1089
+ (r(!0), v(E, null, ee(t.cards, (i) => (r(), h(s, {
1090
+ key: i.key,
1091
1091
  variant: "outlined",
1092
1092
  class: "flex flex-col gap-4 p-16 min-w-0 overflow-hidden"
1093
1093
  }, {
1094
1094
  default: P(() => [
1095
- a("div", It, [
1096
- a("span", Ct, d(l.label), 1),
1097
- l.helper ? (n(), f(W, {
1095
+ a("div", Ct, [
1096
+ a("span", Ot, u(i.label), 1),
1097
+ i.helper ? (r(), h(Z, {
1098
1098
  key: 0,
1099
- description: l.helper
1100
- }, null, 8, ["description"])) : v("", !0)
1099
+ description: i.helper
1100
+ }, null, 8, ["description"])) : f("", !0)
1101
1101
  ]),
1102
1102
  a("div", {
1103
- class: J([
1103
+ class: W([
1104
1104
  "fm-typo-en-title-sm-800 truncate",
1105
- l.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1105
+ i.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1106
1106
  ])
1107
- }, d(l.value), 3),
1108
- l.sub ? (n(), b("div", Ot, d(l.sub), 1)) : v("", !0)
1107
+ }, u(i.value), 3),
1108
+ i.sub ? (r(), v("div", Pt, u(i.sub), 1)) : f("", !0)
1109
1109
  ]),
1110
1110
  _: 2
1111
1111
  }, 1024))), 128))
1112
1112
  ]);
1113
1113
  };
1114
1114
  }
1115
- }), Pt = { class: "flex items-center justify-between gap-12 flex-wrap mb-16 xs:flex-col xs:items-start" }, Dt = {
1115
+ }), Dt = { class: "flex items-center justify-between gap-12 flex-wrap mb-16 xs:flex-col xs:items-start" }, $t = {
1116
1116
  key: 0,
1117
1117
  class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary mb-12"
1118
- }, $t = /* @__PURE__ */ q({
1118
+ }, Et = /* @__PURE__ */ j({
1119
1119
  __name: "CampaignTrendChart",
1120
1120
  props: {
1121
1121
  modes: {}
1122
1122
  },
1123
1123
  setup(t) {
1124
1124
  var R;
1125
- const i = t, e = ["#FF7823", "#B2B3B6"], s = G(((R = i.modes[0]) == null ? void 0 : R.key) ?? ""), l = E(
1126
- () => i.modes.map((p) => ({ label: p.label, value: p.key }))
1127
- ), h = E(
1128
- () => l.value.find((p) => p.value === s.value) ?? null
1129
- ), r = E(
1130
- () => i.modes.find((p) => p.key === s.value) ?? i.modes[0]
1131
- ), c = E(
1125
+ const l = t, e = ["#FF7823", "#B2B3B6"], s = H(((R = l.modes[0]) == null ? void 0 : R.key) ?? ""), i = $(
1126
+ () => l.modes.map((p) => ({ label: p.label, value: p.key }))
1127
+ ), y = $(
1128
+ () => i.value.find((p) => p.value === s.value) ?? null
1129
+ ), o = $(
1130
+ () => l.modes.find((p) => p.key === s.value) ?? l.modes[0]
1131
+ ), g = $(
1132
1132
  () => {
1133
1133
  var p;
1134
- return (((p = r.value) == null ? void 0 : p.series) ?? []).map((u, $) => ({
1135
- label: u.label,
1136
- data: u.values,
1137
- color: e[$] ?? e[e.length - 1],
1138
- dash: $ > 0
1134
+ return (((p = o.value) == null ? void 0 : p.series) ?? []).map((L, d) => ({
1135
+ label: L.label,
1136
+ data: L.values,
1137
+ color: e[d] ?? e[e.length - 1],
1138
+ dash: d > 0
1139
1139
  }));
1140
1140
  }
1141
- ), x = { display: !0 };
1142
- return (p, u) => {
1143
- const $ = _("FmButtonGroup"), M = _("FmLineChart"), k = _("FmCard");
1144
- return n(), f(k, {
1141
+ ), c = { display: !0 };
1142
+ return (p, L) => {
1143
+ const d = _("FmButtonGroup"), U = _("FmLineChart"), M = _("FmCard");
1144
+ return r(), h(M, {
1145
1145
  variant: "outlined",
1146
1146
  class: "p-24"
1147
1147
  }, {
1148
1148
  default: P(() => [
1149
- a("div", Pt, [
1150
- u[1] || (u[1] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Funnel trend ", -1)),
1151
- t.modes.length > 1 ? (n(), f($, {
1149
+ a("div", Dt, [
1150
+ L[1] || (L[1] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Funnel trend ", -1)),
1151
+ t.modes.length > 1 ? (r(), h(d, {
1152
1152
  key: 0,
1153
- items: o(l),
1154
- "model-value": o(h),
1155
- "onUpdate:modelValue": u[0] || (u[0] = (ee) => s.value = ee.value)
1156
- }, null, 8, ["items", "model-value"])) : v("", !0)
1153
+ items: n(i),
1154
+ "model-value": n(y),
1155
+ "onUpdate:modelValue": L[0] || (L[0] = (k) => s.value = k.value)
1156
+ }, null, 8, ["items", "model-value"])) : f("", !0)
1157
1157
  ]),
1158
- o(r) ? (n(), b("div", Dt, d(o(r).label), 1)) : v("", !0),
1159
- o(r) ? (n(), f(M, {
1158
+ n(o) ? (r(), v("div", $t, u(n(o).label), 1)) : f("", !0),
1159
+ n(o) ? (r(), h(U, {
1160
1160
  key: 1,
1161
- datasets: o(c),
1162
- "x-axis": { categories: o(r).categories },
1163
- "x-cfg": x,
1164
- "y-cfg": x,
1161
+ datasets: n(g),
1162
+ "x-axis": { categories: n(o).categories },
1163
+ "x-cfg": c,
1164
+ "y-cfg": c,
1165
1165
  legend: { display: !0 },
1166
1166
  height: "150px"
1167
- }, null, 8, ["datasets", "x-axis"])) : v("", !0)
1167
+ }, null, 8, ["datasets", "x-axis"])) : f("", !0)
1168
1168
  ]),
1169
1169
  _: 1
1170
1170
  });
1171
1171
  };
1172
1172
  }
1173
- }), Et = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Lt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4 mb-12" }, Tt = {
1173
+ }), Lt = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Tt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4 mb-12" }, Bt = {
1174
1174
  key: 1,
1175
1175
  class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary mt-8"
1176
- }, Bt = {
1176
+ }, Nt = {
1177
1177
  key: 2,
1178
1178
  class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary mt-8"
1179
- }, de = /* @__PURE__ */ q({
1179
+ }, de = /* @__PURE__ */ j({
1180
1180
  __name: "CampaignBreakdownTable",
1181
1181
  props: {
1182
1182
  breakdown: {},
@@ -1184,44 +1184,44 @@ const ze = {
1184
1184
  emptyMessage: { default: "No outlet activity was recorded for this campaign." }
1185
1185
  },
1186
1186
  setup(t) {
1187
- const i = t, e = E(
1188
- () => i.breakdown ? je(i.breakdown) : []
1187
+ const l = t, e = $(
1188
+ () => l.breakdown ? ze(l.breakdown) : []
1189
1189
  );
1190
- return (s, l) => {
1191
- const h = _("FmTable"), r = _("FmCard");
1192
- return n(), f(r, {
1190
+ return (s, i) => {
1191
+ const y = _("FmTable"), o = _("FmCard");
1192
+ return r(), h(o, {
1193
1193
  variant: "outlined",
1194
1194
  class: "p-24"
1195
1195
  }, {
1196
1196
  default: P(() => {
1197
- var c;
1197
+ var g;
1198
1198
  return [
1199
- a("div", Et, d(t.title), 1),
1200
- (c = t.breakdown) != null && c.rows.length ? (n(), b(L, { key: 0 }, [
1201
- a("div", Lt, " By " + d(t.breakdown.dimension), 1),
1202
- I(h, {
1199
+ a("div", Lt, u(t.title), 1),
1200
+ (g = t.breakdown) != null && g.rows.length ? (r(), v(E, { key: 0 }, [
1201
+ a("div", Tt, " By " + u(t.breakdown.dimension), 1),
1202
+ I(y, {
1203
1203
  "row-data": t.breakdown.rows,
1204
- "column-defs": o(e),
1204
+ "column-defs": n(e),
1205
1205
  "column-filter": [],
1206
1206
  "hide-footer": ""
1207
1207
  }, null, 8, ["row-data", "column-defs"])
1208
- ], 64)) : t.breakdown ? (n(), b("div", Tt, d(t.emptyMessage), 1)) : (n(), b("div", Bt, " No breakdown dimension is available for this campaign. "))
1208
+ ], 64)) : t.breakdown ? (r(), v("div", Bt, u(t.emptyMessage), 1)) : (r(), v("div", Nt, " No breakdown dimension is available for this campaign. "))
1209
1209
  ];
1210
1210
  }),
1211
1211
  _: 1
1212
1212
  });
1213
1213
  };
1214
1214
  }
1215
- }), Nt = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Vt = {
1215
+ }), Vt = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Ut = {
1216
1216
  key: 0,
1217
1217
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4 mb-12"
1218
- }, Ut = {
1218
+ }, Ft = {
1219
1219
  key: 0,
1220
1220
  class: "px-16 py-12 rounded-lg bg-fm-color-neutral-gray-100 min-w-0"
1221
- }, Ft = { class: "flex items-center gap-8" }, At = { class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary flex-1 min-w-0 truncate" }, qt = {
1221
+ }, 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 = {
1222
1222
  key: 1,
1223
1223
  class: "flex items-center justify-between gap-12 py-8 border-b border-fm-color-neutral-gray-100"
1224
- }, jt = { class: "flex items-center gap-8 min-w-0" }, zt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-primary truncate" }, pe = /* @__PURE__ */ q({
1224
+ }, zt = { class: "flex items-center gap-8 min-w-0" }, Gt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-primary truncate" }, pe = /* @__PURE__ */ j({
1225
1225
  __name: "CampaignMetricList",
1226
1226
  props: {
1227
1227
  title: {},
@@ -1230,49 +1230,49 @@ const ze = {
1230
1230
  variant: { default: "tile" }
1231
1231
  },
1232
1232
  setup(t) {
1233
- return (i, e) => {
1233
+ return (l, e) => {
1234
1234
  const s = _("FmCard");
1235
- return n(), f(s, {
1235
+ return r(), h(s, {
1236
1236
  variant: "outlined",
1237
1237
  class: "p-24"
1238
1238
  }, {
1239
1239
  default: P(() => [
1240
- a("div", Nt, d(t.title), 1),
1241
- t.caption ? (n(), b("div", Vt, d(t.caption), 1)) : v("", !0),
1240
+ a("div", Vt, u(t.title), 1),
1241
+ t.caption ? (r(), v("div", Ut, u(t.caption), 1)) : f("", !0),
1242
1242
  a("div", {
1243
- class: J(["grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] xs:grid-cols-1", t.variant === "tile" ? "gap-16" : "gap-x-16"])
1243
+ class: W(["grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] xs:grid-cols-1", t.variant === "tile" ? "gap-16" : "gap-x-16"])
1244
1244
  }, [
1245
- (n(!0), b(L, null, Z(t.items, (l) => (n(), b(L, {
1246
- key: l.key
1245
+ (r(!0), v(E, null, ee(t.items, (i) => (r(), v(E, {
1246
+ key: i.key
1247
1247
  }, [
1248
- t.variant === "tile" ? (n(), b("div", Ut, [
1249
- a("div", Ft, [
1250
- a("span", At, d(l.label), 1),
1251
- l.helper ? (n(), f(W, {
1248
+ t.variant === "tile" ? (r(), v("div", Ft, [
1249
+ a("div", At, [
1250
+ a("span", qt, u(i.label), 1),
1251
+ i.helper ? (r(), h(Z, {
1252
1252
  key: 0,
1253
- description: l.helper
1254
- }, null, 8, ["description"])) : v("", !0)
1253
+ description: i.helper
1254
+ }, null, 8, ["description"])) : f("", !0)
1255
1255
  ]),
1256
1256
  a("div", {
1257
- class: J([
1257
+ class: W([
1258
1258
  "fm-typo-en-body-lg-600 mt-4 truncate",
1259
- l.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1259
+ i.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1260
1260
  ])
1261
- }, d(l.value), 3)
1262
- ])) : (n(), b("div", qt, [
1263
- a("div", jt, [
1264
- a("span", zt, d(l.label), 1),
1265
- l.helper ? (n(), f(W, {
1261
+ }, u(i.value), 3)
1262
+ ])) : (r(), v("div", jt, [
1263
+ a("div", zt, [
1264
+ a("span", Gt, u(i.label), 1),
1265
+ i.helper ? (r(), h(Z, {
1266
1266
  key: 0,
1267
- description: l.helper
1268
- }, null, 8, ["description"])) : v("", !0)
1267
+ description: i.helper
1268
+ }, null, 8, ["description"])) : f("", !0)
1269
1269
  ]),
1270
1270
  a("span", {
1271
- class: J([
1271
+ class: W([
1272
1272
  "fm-typo-en-body-md-600 whitespace-nowrap",
1273
- l.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1273
+ i.unavailable ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
1274
1274
  ])
1275
- }, d(l.value), 3)
1275
+ }, u(i.value), 3)
1276
1276
  ]))
1277
1277
  ], 64))), 128))
1278
1278
  ], 2)
@@ -1281,54 +1281,54 @@ const ze = {
1281
1281
  });
1282
1282
  };
1283
1283
  }
1284
- }), Gt = { class: "flex items-center gap-8" }, Ht = { class: "px-24 flex flex-col gap-16 pb-24" }, Kt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Yt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Qt = {
1284
+ }), Ht = { class: "flex items-center gap-8" }, Kt = { class: "px-24 flex flex-col gap-16 pb-24" }, Yt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Qt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Xt = {
1285
1285
  key: 0,
1286
1286
  class: "flex flex-col gap-12"
1287
- }, Xt = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Jt = {
1287
+ }, Jt = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Wt = {
1288
1288
  key: 1,
1289
1289
  class: "flex flex-col gap-12"
1290
- }, oa = /* @__PURE__ */ q({
1290
+ }, ca = /* @__PURE__ */ j({
1291
1291
  __name: "CampaignAnalytic",
1292
1292
  setup(t) {
1293
- const { t: i } = he(), e = Me(), s = _e(), { global: l } = xe, h = ge(), r = G(), c = G(), x = G(), R = G(!1), p = G(!1), u = E(() => {
1293
+ const { t: l } = ge(), e = _e(), s = Se(), { global: i, minor: y } = ke, o = xe(), g = H(), c = H(), R = H(), p = H(!1), L = H(!1), d = $(() => {
1294
1294
  var O;
1295
- return (O = r.value) == null ? void 0 : O.campaign;
1296
- }), $ = E(
1297
- () => u.value ? Le(u.value.type) : void 0
1298
- ), M = E(() => {
1295
+ return (O = g.value) == null ? void 0 : O.campaign;
1296
+ }), U = $(
1297
+ () => d.value ? Te(d.value.type) : void 0
1298
+ ), M = $(() => {
1299
1299
  var O;
1300
- return (O = $.value) == null ? void 0 : O.report;
1301
- }), k = E(() => {
1302
- var O, g, j, z, T, B, U, S, y, F, A, H, K;
1303
- return M.value && ((O = u.value) == null ? void 0 : O.type) === "COIN" ? Ue(
1300
+ return (O = U.value) == null ? void 0 : O.report;
1301
+ }), k = $(() => {
1302
+ var O, x, z, G, T, B, F, S, b, A, q, K, Y;
1303
+ return M.value && ((O = d.value) == null ? void 0 : O.type) === "COIN" ? Fe(
1304
1304
  M.value,
1305
- ((g = c.value) == null ? void 0 : g.type) === "COIN" ? c.value : ne()
1306
- ) : M.value && ((j = u.value) == null ? void 0 : j.type) === "POINT" ? Fe(
1305
+ ((x = c.value) == null ? void 0 : x.type) === "COIN" ? c.value : ne()
1306
+ ) : M.value && ((z = d.value) == null ? void 0 : z.type) === "POINT" ? Ae(
1307
1307
  M.value,
1308
- ((z = c.value) == null ? void 0 : z.type) === "POINT" ? c.value : ie()
1309
- ) : M.value && ((T = u.value) == null ? void 0 : T.type) === "CREDIT" ? Ae(
1308
+ ((G = c.value) == null ? void 0 : G.type) === "POINT" ? c.value : ie()
1309
+ ) : M.value && ((T = d.value) == null ? void 0 : T.type) === "CREDIT" ? qe(
1310
1310
  M.value,
1311
1311
  ((B = c.value) == null ? void 0 : B.type) === "CREDIT" ? c.value : oe()
1312
- ) : M.value && ((U = u.value) == null ? void 0 : U.type) === "GAME" ? Ve(
1312
+ ) : M.value && ((F = d.value) == null ? void 0 : F.type) === "GAME" ? Ue(
1313
1313
  M.value,
1314
1314
  ((S = c.value) == null ? void 0 : S.type) === "GAME" ? c.value : le()
1315
- ) : M.value && ((y = u.value) == null ? void 0 : y.type) === "MISSION" ? Ne(
1315
+ ) : M.value && ((b = d.value) == null ? void 0 : b.type) === "MISSION" ? Ve(
1316
1316
  M.value,
1317
- ((F = c.value) == null ? void 0 : F.type) === "MISSION" ? c.value : re()
1318
- ) : M.value && ((A = u.value) == null ? void 0 : A.type) === "PROMOTION" ? Be(
1317
+ ((A = c.value) == null ? void 0 : A.type) === "MISSION" ? c.value : re()
1318
+ ) : M.value && ((q = d.value) == null ? void 0 : q.type) === "PROMOTION" ? Ne(
1319
1319
  M.value,
1320
- ((H = c.value) == null ? void 0 : H.type) === "PROMOTION" ? c.value : se()
1321
- ) : M.value && ((K = c.value) == null ? void 0 : K.type) === "VOUCHER" ? Te(
1320
+ ((K = c.value) == null ? void 0 : K.type) === "PROMOTION" ? c.value : se()
1321
+ ) : M.value && ((Y = c.value) == null ? void 0 : Y.type) === "VOUCHER" ? Be(
1322
1322
  M.value,
1323
1323
  c.value,
1324
- x.value
1324
+ R.value
1325
1325
  ) : M.value;
1326
- }), ee = E(
1327
- () => u.value ? i(ke(u.value.timeframeOptions)) : ""
1328
- ), ye = E(
1329
- () => u.value && u.value.type !== "MEMBERSHIP" ? we(u.value) : void 0
1326
+ }), ye = $(
1327
+ () => d.value ? l(we(d.value.timeframeOptions)) : ""
1328
+ ), be = $(
1329
+ () => d.value && d.value.type !== "MEMBERSHIP" ? Re(d.value) : void 0
1330
1330
  );
1331
- function be() {
1331
+ function ve() {
1332
1332
  return {
1333
1333
  type: "VOUCHER",
1334
1334
  scope: { startDate: "", endDate: "" },
@@ -1437,84 +1437,84 @@ const ze = {
1437
1437
  performanceDetails: []
1438
1438
  };
1439
1439
  }
1440
- return fe(async () => {
1441
- var O, g, j, z, T, B, U;
1440
+ return he(async () => {
1441
+ var O, x, z, G, T, B, F;
1442
1442
  try {
1443
- await l(async () => {
1444
- var F, A;
1445
- r.value = await V.readById(e.params.id);
1446
- const y = e.meta.campaignType;
1447
- p.value = !!y && ((A = (F = r.value) == null ? void 0 : F.campaign) == null ? void 0 : A.type) !== y;
1443
+ await i(async () => {
1444
+ var A, q;
1445
+ g.value = await V.readById(e.params.id);
1446
+ const b = e.meta.campaignType;
1447
+ L.value = !!b && ((q = (A = g.value) == null ? void 0 : A.campaign) == null ? void 0 : q.type) !== b;
1448
1448
  });
1449
1449
  const S = {
1450
- timezone: ue[h.currentCountry.value || "MY"] ?? ue.MY
1450
+ timezone: ue[o.currentCountry.value || "MY"] ?? ue.MY
1451
1451
  };
1452
- ((O = r.value) == null ? void 0 : O.campaign.type) === "VOUCHER" ? (c.value = be(), await Promise.all([
1453
- l(
1452
+ ((O = g.value) == null ? void 0 : O.campaign.type) === "VOUCHER" ? (c.value = ve(), await Promise.all([
1453
+ y(
1454
1454
  () => V.readAnalyticsOverview(e.params.id, {
1455
1455
  ...S
1456
1456
  })
1457
- ).then((y) => {
1458
- y.type === "VOUCHER" && (c.value = y);
1457
+ ).then((b) => {
1458
+ b.type === "VOUCHER" && (c.value = b);
1459
1459
  }).catch(() => {
1460
1460
  }),
1461
- l(
1461
+ y(
1462
1462
  () => V.readAnalyticsTrend(e.params.id, S)
1463
- ).then((y) => x.value = y).catch(() => {
1463
+ ).then((b) => R.value = b).catch(() => {
1464
1464
  })
1465
- ])) : ((g = r.value) == null ? void 0 : g.campaign.type) === "PROMOTION" ? (c.value = se(), await l(
1465
+ ])) : ((x = g.value) == null ? void 0 : x.campaign.type) === "PROMOTION" ? (c.value = se(), await y(
1466
1466
  () => V.readAnalyticsOverview(e.params.id, S)
1467
- ).then((y) => {
1468
- y.type === "PROMOTION" && (c.value = y);
1467
+ ).then((b) => {
1468
+ b.type === "PROMOTION" && (c.value = b);
1469
1469
  }).catch(() => {
1470
- })) : ((j = r.value) == null ? void 0 : j.campaign.type) === "MISSION" ? (c.value = re(), await l(
1470
+ })) : ((z = g.value) == null ? void 0 : z.campaign.type) === "MISSION" ? (c.value = re(), await y(
1471
1471
  () => V.readAnalyticsOverview(e.params.id, S)
1472
- ).then((y) => {
1473
- y.type === "MISSION" && (c.value = y);
1472
+ ).then((b) => {
1473
+ b.type === "MISSION" && (c.value = b);
1474
1474
  }).catch(() => {
1475
- })) : ((z = r.value) == null ? void 0 : z.campaign.type) === "GAME" ? (c.value = le(), await l(
1475
+ })) : ((G = g.value) == null ? void 0 : G.campaign.type) === "GAME" ? (c.value = le(), await y(
1476
1476
  () => V.readAnalyticsOverview(e.params.id, S)
1477
- ).then((y) => {
1478
- y.type === "GAME" && (c.value = y);
1477
+ ).then((b) => {
1478
+ b.type === "GAME" && (c.value = b);
1479
1479
  }).catch(() => {
1480
- })) : ((T = r.value) == null ? void 0 : T.campaign.type) === "COIN" ? (c.value = ne(), await l(
1480
+ })) : ((T = g.value) == null ? void 0 : T.campaign.type) === "COIN" ? (c.value = ne(), await y(
1481
1481
  () => V.readAnalyticsOverview(e.params.id, S)
1482
- ).then((y) => {
1483
- y.type === "COIN" && (c.value = y);
1482
+ ).then((b) => {
1483
+ b.type === "COIN" && (c.value = b);
1484
1484
  }).catch(() => {
1485
- })) : ((B = r.value) == null ? void 0 : B.campaign.type) === "POINT" ? (c.value = ie(), await l(
1485
+ })) : ((B = g.value) == null ? void 0 : B.campaign.type) === "POINT" ? (c.value = ie(), await y(
1486
1486
  () => V.readAnalyticsOverview(e.params.id, S)
1487
- ).then((y) => {
1488
- y.type === "POINT" && (c.value = y);
1487
+ ).then((b) => {
1488
+ b.type === "POINT" && (c.value = b);
1489
1489
  }).catch(() => {
1490
- })) : ((U = r.value) == null ? void 0 : U.campaign.type) === "CREDIT" && (c.value = oe(), await l(
1490
+ })) : ((F = g.value) == null ? void 0 : F.campaign.type) === "CREDIT" && (c.value = oe(), await y(
1491
1491
  () => V.readAnalyticsOverview(e.params.id, S)
1492
- ).then((y) => {
1493
- y.type === "CREDIT" && (c.value = y);
1492
+ ).then((b) => {
1493
+ b.type === "CREDIT" && (c.value = b);
1494
1494
  }).catch(() => {
1495
1495
  }));
1496
1496
  } catch {
1497
- R.value = !0;
1497
+ p.value = !0;
1498
1498
  }
1499
- }), (O, g) => {
1500
- var U, S, y, F, A, H, K, ce;
1501
- const j = _("FmPill"), z = _("FmPageHead"), T = _("FmIcon"), B = _("FmCard");
1502
- return n(), b(L, null, [
1503
- I(z, {
1499
+ }), (O, x) => {
1500
+ var F, S, b, A, q, K, Y, ce;
1501
+ const z = _("FmPill"), G = _("FmPageHead"), T = _("FmIcon"), B = _("FmCard");
1502
+ return r(), v(E, null, [
1503
+ I(G, {
1504
1504
  title: "Campaign analytic",
1505
1505
  "back-button": !0,
1506
- "onClick:back": g[0] || (g[0] = (Y) => o(s).back())
1506
+ "onClick:back": x[0] || (x[0] = (Q) => n(s).back())
1507
1507
  }, {
1508
1508
  title: P(() => [
1509
- a("div", Gt, [
1510
- g[1] || (g[1] = a("span", { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2" }, " Campaign analytic ", -1)),
1511
- I(j, { variant: "beta" })
1509
+ a("div", Ht, [
1510
+ x[1] || (x[1] = a("span", { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2" }, " Campaign analytic ", -1)),
1511
+ I(z, { variant: "beta" })
1512
1512
  ])
1513
1513
  ]),
1514
1514
  _: 1
1515
1515
  }),
1516
- a("div", Ht, [
1517
- o(R) ? (n(), f(B, {
1516
+ a("div", Kt, [
1517
+ n(p) ? (r(), h(B, {
1518
1518
  key: 0,
1519
1519
  variant: "outlined",
1520
1520
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
@@ -1526,22 +1526,22 @@ const ze = {
1526
1526
  size: "lg",
1527
1527
  class: "text-fm-color-neutral-gray-300"
1528
1528
  }),
1529
- g[2] || (g[2] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Could not load this campaign ", -1)),
1530
- g[3] || (g[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))
1529
+ x[2] || (x[2] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Could not load this campaign ", -1)),
1530
+ x[3] || (x[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))
1531
1531
  ]),
1532
1532
  _: 1
1533
- })) : o(u) ? (n(), b(L, { key: 1 }, [
1534
- I(Xe, {
1535
- "campaign-name": o(u).name,
1536
- "dates-label": o(ee),
1537
- "status-chip": o(ye),
1538
- "mechanic-label": (U = o($)) == null ? void 0 : U.label,
1539
- icon: (S = o($)) == null ? void 0 : S.icon,
1540
- objective: (y = o($)) == null ? void 0 : y.objective,
1541
- "report-range-label": (F = o(k)) == null ? void 0 : F.reportRangeLabel,
1542
- "audience-label": (A = o(k)) == null ? void 0 : A.audienceLabel
1533
+ })) : n(d) ? (r(), v(E, { key: 1 }, [
1534
+ I(Je, {
1535
+ "campaign-name": n(d).name,
1536
+ "dates-label": n(ye),
1537
+ "status-chip": n(be),
1538
+ "mechanic-label": (F = n(U)) == null ? void 0 : F.label,
1539
+ icon: (S = n(U)) == null ? void 0 : S.icon,
1540
+ objective: (b = n(U)) == null ? void 0 : b.objective,
1541
+ "report-range-label": (A = n(k)) == null ? void 0 : A.reportRangeLabel,
1542
+ "audience-label": (q = n(k)) == null ? void 0 : q.audienceLabel
1543
1543
  }, null, 8, ["campaign-name", "dates-label", "status-chip", "mechanic-label", "icon", "objective", "report-range-label", "audience-label"]),
1544
- o(p) ? (n(), f(B, {
1544
+ n(L) ? (r(), h(B, {
1545
1545
  key: 0,
1546
1546
  variant: "outlined",
1547
1547
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
@@ -1553,11 +1553,11 @@ const ze = {
1553
1553
  size: "lg",
1554
1554
  class: "text-fm-color-neutral-gray-300"
1555
1555
  }),
1556
- g[4] || (g[4] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " This campaign does not belong here ", -1)),
1557
- a("div", Kt, " It is a " + d(o(u).type) + " campaign. Open it from its own campaign list to see the right report. ", 1)
1556
+ x[4] || (x[4] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " This campaign does not belong here ", -1)),
1557
+ a("div", Yt, " It is a " + u(n(d).type) + " campaign. Open it from its own campaign list to see the right report. ", 1)
1558
1558
  ]),
1559
1559
  _: 1
1560
- })) : o($) ? ((H = o(M)) == null ? void 0 : H.state) === "empty" ? (n(), f(B, {
1560
+ })) : n(U) ? ((K = n(M)) == null ? void 0 : K.state) === "empty" ? (r(), h(B, {
1561
1561
  key: 2,
1562
1562
  variant: "outlined",
1563
1563
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
@@ -1569,66 +1569,66 @@ const ze = {
1569
1569
  size: "lg",
1570
1570
  class: "text-fm-color-neutral-gray-300"
1571
1571
  }),
1572
- g[6] || (g[6] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Campaign activity has not started ", -1)),
1573
- g[7] || (g[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))
1572
+ x[6] || (x[6] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Campaign activity has not started ", -1)),
1573
+ x[7] || (x[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))
1574
1574
  ]),
1575
1575
  _: 1
1576
- })) : o(k) ? (n(), b(L, { key: 3 }, [
1577
- o(u).type === "COIN" || o(u).type === "POINT" || o(u).type === "CREDIT" ? (n(), b("section", Qt, [
1576
+ })) : n(k) ? (r(), v(E, { key: 3 }, [
1577
+ n(d).type === "COIN" || n(d).type === "POINT" || n(d).type === "CREDIT" ? (r(), v("section", Xt, [
1578
1578
  a("div", null, [
1579
- a("div", Xt, d((K = o($)) == null ? void 0 : K.label) + " distribution summary ", 1)
1579
+ a("div", Jt, u((Y = n(U)) == null ? void 0 : Y.label) + " distribution summary ", 1)
1580
1580
  ]),
1581
1581
  I(te, {
1582
- cards: o(k).cards
1582
+ cards: n(k).cards
1583
1583
  }, null, 8, ["cards"])
1584
- ])) : v("", !0),
1585
- o(u).type === "MISSION" ? (n(), b("section", Jt, [
1586
- g[8] || (g[8] = a("div", null, [
1584
+ ])) : f("", !0),
1585
+ n(d).type === "MISSION" ? (r(), v("section", Wt, [
1586
+ x[8] || (x[8] = a("div", null, [
1587
1587
  a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Mission participation and completion "),
1588
1588
  a("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary mt-4" }, " Campaign-lifetime member activity and completion ")
1589
1589
  ], -1)),
1590
1590
  I(te, {
1591
- cards: o(k).cards
1591
+ cards: n(k).cards
1592
1592
  }, null, 8, ["cards"])
1593
- ])) : v("", !0),
1594
- o(k).applicationMix ? (n(), f(dt, {
1593
+ ])) : f("", !0),
1594
+ n(k).applicationMix ? (r(), h(pt, {
1595
1595
  key: 2,
1596
- mix: o(k).applicationMix
1597
- }, null, 8, ["mix"])) : o(u).type !== "MISSION" && o(k).funnel.length ? (n(), f(_t, {
1596
+ mix: n(k).applicationMix
1597
+ }, null, 8, ["mix"])) : n(d).type !== "MISSION" && n(k).funnel.length ? (r(), h(St, {
1598
1598
  key: 3,
1599
- stages: o(k).funnel
1600
- }, null, 8, ["stages"])) : v("", !0),
1601
- o(u).type !== "MISSION" && o(u).type !== "COIN" && o(u).type !== "POINT" && o(u).type !== "CREDIT" && o(k).cards.length ? (n(), f(te, {
1599
+ stages: n(k).funnel
1600
+ }, null, 8, ["stages"])) : f("", !0),
1601
+ n(d).type !== "MISSION" && n(d).type !== "COIN" && n(d).type !== "POINT" && n(d).type !== "CREDIT" && n(k).cards.length ? (r(), h(te, {
1602
1602
  key: 4,
1603
- cards: o(k).cards
1604
- }, null, 8, ["cards"])) : v("", !0),
1605
- o(k).trend.length ? (n(), f($t, {
1603
+ cards: n(k).cards
1604
+ }, null, 8, ["cards"])) : f("", !0),
1605
+ n(k).trend.length ? (r(), h(Et, {
1606
1606
  key: 5,
1607
- modes: o(k).trend
1608
- }, null, 8, ["modes"])) : v("", !0),
1609
- (ce = o(k).breakdowns) != null && ce.length ? (n(!0), b(L, { key: 6 }, Z(o(k).breakdowns, (Y) => (n(), f(de, {
1610
- key: Y.title,
1611
- breakdown: Y.breakdown,
1612
- title: Y.title,
1613
- "empty-message": Y.emptyMessage
1614
- }, null, 8, ["breakdown", "title", "empty-message"]))), 128)) : (n(), f(de, {
1607
+ modes: n(k).trend
1608
+ }, null, 8, ["modes"])) : f("", !0),
1609
+ (ce = n(k).breakdowns) != null && ce.length ? (r(!0), v(E, { key: 6 }, ee(n(k).breakdowns, (Q) => (r(), h(de, {
1610
+ key: Q.title,
1611
+ breakdown: Q.breakdown,
1612
+ title: Q.title,
1613
+ "empty-message": Q.emptyMessage
1614
+ }, null, 8, ["breakdown", "title", "empty-message"]))), 128)) : (r(), h(de, {
1615
1615
  key: 7,
1616
- breakdown: o(k).breakdown
1616
+ breakdown: n(k).breakdown
1617
1617
  }, null, 8, ["breakdown"])),
1618
- o(k).outcomes.length ? (n(), f(pe, {
1618
+ n(k).outcomes.length ? (r(), h(pe, {
1619
1619
  key: 8,
1620
- title: o(u).type === "MISSION" || o(u).type === "GAME" ? "Reward activity" : "Business outcome",
1621
- caption: o(u).type === "MISSION" || o(u).type === "GAME" ? "Reward issuance attributed to this campaign" : "Financial and loyalty outcomes attributed to this campaign",
1622
- items: o(k).outcomes,
1620
+ title: n(d).type === "MISSION" || n(d).type === "GAME" ? "Reward activity" : "Business outcome",
1621
+ caption: n(d).type === "MISSION" || n(d).type === "GAME" ? "Reward issuance attributed to this campaign" : "Financial and loyalty outcomes attributed to this campaign",
1622
+ items: n(k).outcomes,
1623
1623
  variant: "tile"
1624
- }, null, 8, ["title", "caption", "items"])) : v("", !0),
1624
+ }, null, 8, ["title", "caption", "items"])) : f("", !0),
1625
1625
  I(pe, {
1626
1626
  title: "Metric definitions",
1627
1627
  caption: "Hover a metric for its denominator and attribution method",
1628
- items: o(k).metrics,
1628
+ items: n(k).metrics,
1629
1629
  variant: "row"
1630
1630
  }, null, 8, ["items"])
1631
- ], 64)) : v("", !0) : (n(), f(B, {
1631
+ ], 64)) : f("", !0) : (r(), h(B, {
1632
1632
  key: 1,
1633
1633
  variant: "outlined",
1634
1634
  class: "flex flex-col items-center justify-center text-center py-80 px-40 gap-8"
@@ -1640,17 +1640,17 @@ const ze = {
1640
1640
  size: "lg",
1641
1641
  class: "text-fm-color-neutral-gray-300"
1642
1642
  }),
1643
- g[5] || (g[5] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Analytic is not available for this campaign type ", -1)),
1644
- a("div", Yt, " Reporting has not been defined for " + d(o(u).type) + " campaigns yet. ", 1)
1643
+ x[5] || (x[5] = a("div", { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, " Analytic is not available for this campaign type ", -1)),
1644
+ a("div", Qt, " Reporting has not been defined for " + u(n(d).type) + " campaigns yet. ", 1)
1645
1645
  ]),
1646
1646
  _: 1
1647
1647
  }))
1648
- ], 64)) : v("", !0)
1648
+ ], 64)) : f("", !0)
1649
1649
  ])
1650
1650
  ], 64);
1651
1651
  };
1652
1652
  }
1653
1653
  });
1654
1654
  export {
1655
- oa as default
1655
+ ca as default
1656
1656
  };