@feedmepos/mf-connect 0.1.38-beta.9 → 0.1.38-beta.92

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 (161) hide show
  1. package/dist/{Analytic-3MN2saaU.js → Analytic-CWhVZ2N2.js} +31 -32
  2. package/dist/{App-Co8X5Wdy.js → App-BzHDZ550.js} +741 -728
  3. package/dist/AuditLogs-DjJOfxWr.js +2013 -0
  4. package/dist/{Bin-8a56ZDib.js → Bin-H9Mc0kOX.js} +10 -10
  5. package/dist/Broadcast-BlKv9pTl.js +266 -0
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BVXlfq31.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-Bfpr1EuT.js} +6 -6
  7. package/dist/{Card-B8_09LJu.js → Card-ByEYCMZi.js} +145 -140
  8. package/dist/Collections-BjlqpQR0.js +540 -0
  9. package/dist/Credit-DyBVTpfr.js +260 -0
  10. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-Du7fRSZC.js +128 -0
  11. package/dist/DateInput.vue_vue_type_script_setup_true_lang-BN4Q5Y3l.js +54 -0
  12. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-BUzUIIUW.js → DateRangeChip.vue_vue_type_script_setup_true_lang-eIoPtgO5.js} +1 -1
  13. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-DP50lRfA.js +3120 -0
  14. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-BCQxJpVP.js +351 -0
  15. package/dist/Experience-Cf6lxdu_.js +259 -0
  16. package/dist/{FileSaver.min-NlMItPOc.js → FileSaver.min-BIgeA5yw.js} +1 -1
  17. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js +129 -0
  18. package/dist/FmTableSelection.vue_vue_type_script_setup_true_lang-DzcUc0_w.js +52 -0
  19. package/dist/Game-CCgsa5as.js +330 -0
  20. package/dist/Grab-oIvB2uUc.js +300 -0
  21. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-rWUkV9gn.js → ImageInput.vue_vue_type_script_setup_true_lang-BuiY288K.js} +49 -48
  22. package/dist/{Index-DLF71mx_.js → Index--bmiSYq2.js} +54 -54
  23. package/dist/LocationPicker.vue_vue_type_script_setup_true_lang-BQMZvHq2.js +48 -0
  24. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CyGJxUol.js → LottieAnimation.vue_vue_type_script_setup_true_lang-Bj6wuosW.js} +1 -1
  25. package/dist/{MainLayout-B1aJoR95.js → MainLayout-DTva8da3.js} +1 -1
  26. package/dist/Marketing-D-5rvdRJ.js +236 -0
  27. package/dist/MarketingMaterialEdit-CZvsnFG5.js +1036 -0
  28. package/dist/{Member-Bkw4aqtv.js → Member-CxKA1iM1.js} +38 -37
  29. package/dist/{MemberList-a3PdVYB3.js → MemberList-CmBZ6w5v.js} +485 -489
  30. package/dist/{MemberTransactions-CPDBd-n3.js → MemberTransactions-Dc9uE1Jy.js} +1 -1
  31. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-pbN8pN1m.js → MessageInput.vue_vue_type_script_setup_true_lang-DiOsNoiJ.js} +10392 -9967
  32. package/dist/Mission-D9ruHJsQ.js +334 -0
  33. package/dist/{Overview-De97NDoe.js → Overview-B4eiwvqi.js} +34 -34
  34. package/dist/Point-MXmcuDtD.js +262 -0
  35. package/dist/Promotion-CBoCcEhJ.js +397 -0
  36. package/dist/{Queue-ISVZxCE2.js → Queue-if5Lji0q.js} +18 -18
  37. package/dist/{Record-2FMByNC6.js → Record-XLXvSqlF.js} +15 -14
  38. package/dist/Review-BKIkmxLd.js +621 -0
  39. package/dist/ReviewFacebookCallback-B6TIL_H7.js +243 -0
  40. package/dist/ReviewGoogleCallback-D3sQbfuc.js +213 -0
  41. package/dist/{Reward-DPRyQ37x.js → Reward-DaymLqOP.js} +16 -16
  42. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-Ba7-3bL-.js → RewardGroup.vue_vue_type_script_setup_true_lang-cGyeUFlK.js} +13 -14
  43. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-BOJdm376.js +1912 -0
  44. package/dist/Segment-o7srzt8o.js +1015 -0
  45. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-DZbyDVid.js → SelectItems.vue_vue_type_script_setup_true_lang-DnA83SVT.js} +23 -23
  46. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-ioMFYIwK.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-RKn_DhW0.js} +12 -12
  47. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-mzGtatEl.js +226 -0
  48. package/dist/Setting-Clbp5X2E.js +2039 -0
  49. package/dist/SettingAdvertisements-D9KTw00Q.js +264 -0
  50. package/dist/Store-DApDz7rO.js +1996 -0
  51. package/dist/StoreRewards-DTraNhDh.js +537 -0
  52. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-BusvWI37.js +1130 -0
  53. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-D5HOiiLG.js +7007 -0
  54. package/dist/{Tier-CwRj0oJ1.js → Tier-BWiO5an3.js} +562 -480
  55. package/dist/{Title-EII5OxSP.js → Title-Dur74Of5.js} +151 -149
  56. package/dist/{Transaction-1MTkAfej.js → Transaction-x3fZwXdy.js} +2 -2
  57. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-BlQVWQHJ.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-9XLlfUdp.js} +7 -7
  58. package/dist/Voucher-DH7x7NAS.js +421 -0
  59. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-CNn4GR2l.js +421 -0
  60. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-CTeGK4bk.js → ZodTextField.vue_vue_type_script_setup_true_lang-W-qWPW20.js} +2 -2
  61. package/dist/app-IRmnrMb8.js +59647 -0
  62. package/dist/app.js +1 -1
  63. package/dist/{business-DjnN-J4U.js → business-BZG7VHN8.js} +11 -8
  64. package/dist/campaign-BUvMmYOk.js +219 -0
  65. package/dist/campaign-BeRxvBzZ.js +254 -0
  66. package/dist/campaign.enum-BmFHrnub.js +26 -0
  67. package/dist/campaign.fn-B0sgTkC-.js +776 -0
  68. package/dist/{collectible.enum-r6N115Lu.js → collectible.enum-J0aolcpF.js} +1 -1
  69. package/dist/{collection.fn-CSsfVv26.js → collection.fn-BOhZm8S0.js} +2 -2
  70. package/dist/dto-CSNH3rWF.js +222 -0
  71. package/dist/duplicateCampaign-CAOL6p7n.js +51 -0
  72. package/dist/effect-DTL3F8d_.js +89 -0
  73. package/dist/{email-addresses-D8uheCCF.js → email-addresses-Bw8rSTHa.js} +2 -2
  74. package/dist/{export-Ver6WiX6.js → export-CY5VAxnU.js} +4 -4
  75. package/dist/{helper-Bg4xoFbh.js → helper-1sIKNm6C.js} +22 -7
  76. package/dist/{index-Dn_bmcns.js → index-BX_igCG6.js} +3 -3
  77. package/dist/index-B_-tEYD0.js +3625 -0
  78. package/dist/{index-BZZ4iF4-.js → index-BultP2zY.js} +23 -12
  79. package/dist/index-CAIsxBzT.js +48 -0
  80. package/dist/index-CVbL8J7-.js +85 -0
  81. package/dist/index-CuvNtC_M.js +61 -0
  82. package/dist/{index-D4JOeJJJ.js → index-D4Bx6J2q.js} +1 -1
  83. package/dist/{index-hJUxCNsF.js → index-DO2AYnVc.js} +1 -1
  84. package/dist/index-DPmqQmoC.js +30289 -0
  85. package/dist/{index-CNhr0_Zx.js → index-DoupH575.js} +617 -191
  86. package/dist/{index-Bb0CHeNx.js → index-DpXwZYX4.js} +3 -3
  87. package/dist/{index-BPQyQc4q.js → index-Gr5htFUW.js} +1 -1
  88. package/dist/index-KC-9_cY4.js +8910 -0
  89. package/dist/index-nMxh2OZ2.js +28900 -0
  90. package/dist/{index.esm2017-hK1Mi9yY.js → index.esm2017-0cVB_6L1.js} +122 -122
  91. package/dist/{loading-kIQFOTwH.js → loading-BUAN8WyV.js} +4 -3
  92. package/dist/{lodash-B5I3zXaY.js → lodash-C7OD0MNW.js} +1 -1
  93. package/dist/{membership--xR-HZoa.js → membership-CZkPkDiM.js} +38 -18
  94. package/dist/{moment-BWErdI6_.js → moment-D7p2TMB-.js} +6 -1
  95. package/dist/{money-c-ITXnlg.js → money-CdTox5sS.js} +1 -1
  96. package/dist/{number-DfZSBLOY.js → number-CxHO_EhJ.js} +1 -1
  97. package/dist/objectid-DL2GZe9v.js +145 -0
  98. package/dist/{campaign-BpJ1O6KS.js → plugins-BR4hQ6yY.js} +677 -699
  99. package/dist/remy-D_Deb3ue.js +13 -0
  100. package/dist/{reward-CE0ifMHS.js → reward-DWwwkcS3.js} +1 -1
  101. package/dist/{rule-DrjdmpaB.js → rule-CY_w8dsS.js} +505 -487
  102. package/dist/rule-builder-DMdUBkxB.js +102 -0
  103. package/dist/string-Gcy5IM_H.js +32 -0
  104. package/dist/style.css +11 -2
  105. package/dist/template-tuIzBpOC.js +188 -0
  106. package/dist/timezone-Dt3UFIE2.js +1156 -0
  107. package/dist/trigger-B9pWO76n.js +213 -0
  108. package/dist/useMarketingMaterialActions-C7XoKutU.js +96 -0
  109. package/dist/usePagination-Dvqiv0Ms.js +220 -0
  110. package/dist/{user-Cl3IotYV.js → user-DlrL0A8u.js} +15 -14
  111. package/dist/{vue-i18n-DKh0SMhL.js → vue-i18n-B2srUL0h.js} +449 -449
  112. package/dist/{xlsx-BDBzdOuM.js → xlsx-B9pnBbNc.js} +1 -1
  113. package/dist/{zod-Bg2FbC-D.js → zod-CO0ds3MB.js} +32 -31
  114. package/package.json +14 -6
  115. package/dist/AuditLogs-DTq6IAuc.js +0 -1887
  116. package/dist/Broadcast-UreS5Kiq.js +0 -227
  117. package/dist/Collections-B0I5ULxR.js +0 -465
  118. package/dist/Credit-B4Ad8DWP.js +0 -222
  119. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-DLnvDVgf.js +0 -108
  120. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-DjgACf9F.js +0 -2185
  121. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-y5JnuIev.js +0 -347
  122. package/dist/Experience-xO5KpTTm.js +0 -223
  123. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-d8rh38tD.js +0 -114
  124. package/dist/Game-ChgrVvz5.js +0 -278
  125. package/dist/Marketing-BlmRXSGl.js +0 -20073
  126. package/dist/Mission-B07wK0HX.js +0 -296
  127. package/dist/Point-Ckj9QIeH.js +0 -226
  128. package/dist/Promotion-aGNCOeRN.js +0 -289
  129. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-DWj-421v.js +0 -1751
  130. package/dist/Segment-CRMNJ11X.js +0 -882
  131. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-Cfp8XXdO.js +0 -147
  132. package/dist/Setting-c0FWRZsD.js +0 -1936
  133. package/dist/Store-Bm1_15s8.js +0 -1842
  134. package/dist/StoreRewards-BCQHHfay.js +0 -423
  135. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-CfTF2l-D.js +0 -1029
  136. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-rvhoxo0w.js +0 -139
  137. package/dist/Voucher-CYvjCb-v.js +0 -384
  138. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-63Jr71dJ.js +0 -419
  139. package/dist/_commonjsHelpers-BkfeUUK-.js +0 -28
  140. package/dist/app-BJLHk8ao.js +0 -33357
  141. package/dist/app-BzIk1ojT.js +0 -7086
  142. package/dist/campaign-BHNS5kXt.js +0 -96
  143. package/dist/campaign.enum-CJDWE_Om.js +0 -20
  144. package/dist/campaign.fn-C0HQE9uh.js +0 -758
  145. package/dist/dto-Byq51uVH.js +0 -214
  146. package/dist/effect-Do3yTM-_.js +0 -78
  147. package/dist/index-B1V9UnI9.js +0 -76
  148. package/dist/index-BM9CWjC6.js +0 -38
  149. package/dist/index-CsaQJMAR.js +0 -66
  150. package/dist/index-D6VxioBg.js +0 -30038
  151. package/dist/index-DGKlRWn3.js +0 -32260
  152. package/dist/index-DLKyOu7W.js +0 -8861
  153. package/dist/index-DyYF6HYL.js +0 -121
  154. package/dist/index-UXtH44XQ.js +0 -3120
  155. package/dist/objectid-DKbha9-x.js +0 -145
  156. package/dist/plugins-DtakupKW.js +0 -208
  157. package/dist/remy-vue-client-Cpppk9h-.js +0 -1693
  158. package/dist/rule-builder-B_hCyq3x.js +0 -89
  159. package/dist/template-WI4a-lFY.js +0 -190
  160. package/dist/trigger-DieDHht3.js +0 -144
  161. package/dist/usePagination-BeF5K3M7.js +0 -223
@@ -0,0 +1,421 @@
1
+ import { defineComponent as B, ref as k, resolveComponent as g, openBlock as d, createBlock as F, withCtx as y, renderSlot as J, createVNode as m, createTextVNode as U, toDisplayString as f, createElementVNode as s, computed as N, createElementBlock as P, Fragment as w, renderList as K, unref as e, normalizeClass as Q, createCommentVNode as I, resolveDynamicComponent as H } from "vue";
2
+ import { u as G } from "./vue-i18n-B2srUL0h.js";
3
+ import { c as j } from "./index-nMxh2OZ2.js";
4
+ import { e as W, F as Y } from "./index-KC-9_cY4.js";
5
+ import { C as ee } from "./membership-CZkPkDiM.js";
6
+ import { Z as V } from "./zod-CO0ds3MB.js";
7
+ import { _ as te } from "./SelectItems.vue_vue_type_script_setup_true_lang-DnA83SVT.js";
8
+ import { u as le } from "./business-BZG7VHN8.js";
9
+ import { useCoreStore as oe } from "@feedmepos/mf-common";
10
+ import { _ as ne } from "./ZodTextField.vue_vue_type_script_setup_true_lang-W-qWPW20.js";
11
+ import { _ as ae } from "./ImageInput.vue_vue_type_script_setup_true_lang-BuiY288K.js";
12
+ import { _ as ie, a as se } from "./EffectSheet.vue_vue_type_style_index_0_lang-BCQxJpVP.js";
13
+ import { _ as me } from "./TargetLocationInput.vue_vue_type_script_setup_true_lang-D5HOiiLG.js";
14
+ import { i as re } from "./helper-1sIKNm6C.js";
15
+ const ue = { class: "flex justify-end gap-8 w-full" }, ce = /* @__PURE__ */ B({
16
+ __name: "MenuSheet",
17
+ props: {
18
+ modelValue: {},
19
+ filterItems: { type: Function }
20
+ },
21
+ emits: ["confirm"],
22
+ setup(o, { emit: T }) {
23
+ const C = k(), l = k(!1);
24
+ function t() {
25
+ var v;
26
+ (v = C.value) == null || v.onConfirm();
27
+ }
28
+ const u = T;
29
+ return (v, p) => {
30
+ const n = g("FmField"), _ = g("FmButton"), x = g("FmSideSheet");
31
+ return d(), F(x, {
32
+ modelValue: l.value,
33
+ "onUpdate:modelValue": p[1] || (p[1] = (b) => l.value = b),
34
+ title: "Select Items",
35
+ "close-button": !1,
36
+ "dismiss-away": !0,
37
+ "max-width": 560
38
+ }, {
39
+ "side-sheet-button": y(() => [
40
+ J(v.$slots, "side-sheet-button", {}, () => [
41
+ m(n, { class: "text-fm-color-typo-tertiary cursor-pointer" }, {
42
+ default: y(() => [
43
+ U(f(o.modelValue.length) + " item(s) selected ", 1)
44
+ ]),
45
+ _: 1
46
+ })
47
+ ])
48
+ ]),
49
+ "side-sheet-footer": y(() => [
50
+ s("div", ue, [
51
+ m(_, {
52
+ variant: "tertiary",
53
+ onClick: p[0] || (p[0] = (b) => l.value = !1),
54
+ label: "Cancel"
55
+ }),
56
+ m(_, {
57
+ variant: "primary",
58
+ onClick: t,
59
+ label: "Confirm"
60
+ })
61
+ ])
62
+ ]),
63
+ default: y(() => [
64
+ m(te, {
65
+ class: "h-full",
66
+ "max-height": 0,
67
+ ref_key: "selectItemRef",
68
+ ref: C,
69
+ "initial-value": o.modelValue,
70
+ "filter-items": o.filterItems,
71
+ "on-complete": (b) => {
72
+ u("confirm", b), l.value = !1;
73
+ }
74
+ }, null, 8, ["initial-value", "filter-items", "on-complete"])
75
+ ]),
76
+ _: 3
77
+ }, 8, ["modelValue"]);
78
+ };
79
+ }
80
+ }), de = { class: "space-y-24" }, pe = { class: "grid grid-cols-2 gap-16" }, fe = { class: "fm-typo-en-title-sm-800" }, ge = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, ye = { class: "space-y-16" }, be = { class: "fm-typo-en-body-lg-600" }, ve = { class: "fm-typo-en-body-lg-400" }, xe = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Ve = {
81
+ key: 0,
82
+ class: "xs:!block flex gap-16 items-center pt-8"
83
+ }, Oe = { class: "xs:py-4 text-center" }, Fe = { class: "fm-typo-en-body-lg-400" }, he = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Ce = {
84
+ key: 0,
85
+ class: "pt-8 space-y-8"
86
+ }, _e = { class: "flex items-center gap-16 xs:block xs:space-y-8 w-fit" }, Pe = { class: "xs:!block flex gap-16 items-center" }, Ie = { class: "xs:py-4 text-center" }, je = /* @__PURE__ */ B({
87
+ __name: "EarningOptionInput",
88
+ props: {
89
+ modelValue: {
90
+ type: Object
91
+ },
92
+ extras: {
93
+ type: Object
94
+ },
95
+ fixedType: {
96
+ type: Boolean
97
+ },
98
+ errorText: {
99
+ type: String
100
+ }
101
+ },
102
+ emits: ["update:model-value"],
103
+ setup(o, { emit: T }) {
104
+ var b, R, E;
105
+ const C = le(), { t: l } = G(), t = o, u = T, v = N(
106
+ () => [
107
+ {
108
+ label: l("connect.campaign.earningOption.type.PROPORTIONAL.label"),
109
+ sublabel: l("connect.campaign.earningOption.type.PROPORTIONAL.sublabel"),
110
+ value: "PROPORTIONAL"
111
+ },
112
+ {
113
+ label: l("connect.campaign.earningOption.type.FIXED.label"),
114
+ sublabel: l("connect.campaign.earningOption.type.FIXED.sublabel"),
115
+ value: "FIXED"
116
+ }
117
+ ].filter((a) => {
118
+ var i, h;
119
+ return t.fixedType || ((h = (i = t.extras) == null ? void 0 : i.campaign) == null ? void 0 : h.event.type) != "BILL_COMPLETED" ? a.value == "FIXED" : !0;
120
+ })
121
+ ), p = N(() => {
122
+ var i, h;
123
+ const a = t.extras && "configs" in t.extras ? t.extras.configs.type : (i = t.extras) == null ? void 0 : i.campaign.type;
124
+ return (((h = ee[a]) == null ? void 0 : h.name) || "reward").toLowerCase();
125
+ }), n = N(() => {
126
+ const a = W.safeParse(t.modelValue);
127
+ return a.success ? [] : a.error.errors;
128
+ });
129
+ function _(a) {
130
+ var i;
131
+ a != ((i = t.modelValue) == null ? void 0 : i.type) && u(
132
+ "update:model-value",
133
+ a === "FIXED" ? {
134
+ type: "FIXED",
135
+ amount: 1
136
+ } : {
137
+ type: "PROPORTIONAL",
138
+ amount: 1,
139
+ every: 1
140
+ }
141
+ );
142
+ }
143
+ const x = k(
144
+ ((b = t.modelValue) == null ? void 0 : b.type) === "PROPORTIONAL" && !!((E = (R = t.modelValue) == null ? void 0 : R.property) != null && E.length) || !1
145
+ );
146
+ return (a, i) => {
147
+ var D, $, X;
148
+ const h = g("FmCard"), S = g("FmStepperField"), A = g("FmRadio"), M = g("FmPill"), Z = g("FmButton"), q = g("FmRadioGroup"), z = g("FmHelperText");
149
+ return d(), P("div", de, [
150
+ s("div", pe, [
151
+ (d(!0), P(w, null, K(e(v), (r) => {
152
+ var O, c;
153
+ return d(), F(h, {
154
+ variant: "outlined",
155
+ class: Q(["p-16 space-y-8 h-full cursor-pointer select-none xs:col-span-2", {
156
+ "col-span-2": e(v).length == 1,
157
+ "border-fm-color-primary bg-fm-color-system-warning-100 hover:border-[var(--fm-color-system-orange-300)]": ((O = o.modelValue) == null ? void 0 : O.type) === r.value,
158
+ "hover:bg-fm-color-opacity-sm": ((c = o.modelValue) == null ? void 0 : c.type) != r.value
159
+ }]),
160
+ onClick: (L) => _(r.value),
161
+ key: r.value
162
+ }, {
163
+ default: y(() => [
164
+ s("div", fe, f(r.label), 1),
165
+ s("div", ge, f(r.sublabel), 1)
166
+ ]),
167
+ _: 2
168
+ }, 1032, ["class", "onClick"]);
169
+ }), 128))
170
+ ]),
171
+ s("div", ye, [
172
+ ((D = o.modelValue) == null ? void 0 : D.type) === "FIXED" ? (d(), F(S, {
173
+ key: 0,
174
+ label: e(l)("connect.campaign.earningOption.receiveLabel", { configName: e(p) }),
175
+ class: "flex-1",
176
+ "model-value": (($ = o.modelValue) == null ? void 0 : $.amount) ?? null,
177
+ "onUpdate:modelValue": i[0] || (i[0] = (r) => u("update:model-value", {
178
+ ...o.modelValue ?? { type: "FIXED" },
179
+ amount: r
180
+ }))
181
+ }, null, 8, ["label", "model-value"])) : ((X = o.modelValue) == null ? void 0 : X.type) === "PROPORTIONAL" ? (d(), P(w, { key: 1 }, [
182
+ s("div", be, f(e(l)("connect.campaign.earningOption.spendingType")), 1),
183
+ m(q, {
184
+ "model-value": e(x),
185
+ "onUpdate:modelValue": i[6] || (i[6] = (r) => {
186
+ e(x) != r && (u("update:model-value", {
187
+ ...o.modelValue ?? {
188
+ type: "PROPORTIONAL",
189
+ amount: 1,
190
+ every: 1
191
+ },
192
+ property: r ? [] : void 0,
193
+ every: 1
194
+ }), x.value = r);
195
+ })
196
+ }, {
197
+ default: y(() => [
198
+ m(A, {
199
+ label: e(l)("connect.campaign.earningOption.amountSpent.label"),
200
+ sublabel: e(l)("connect.campaign.earningOption.amountSpent.sublabel", { configName: e(p) }),
201
+ value: !1
202
+ }, {
203
+ label: y(() => {
204
+ var r, O;
205
+ return [
206
+ s("div", ve, f(e(l)("connect.campaign.earningOption.amountSpent.label")), 1),
207
+ s("div", xe, f(e(l)("connect.campaign.earningOption.amountSpent.sublabel", { configName: e(p) })), 1),
208
+ e(x) ? I("", !0) : (d(), P("div", Ve, [
209
+ m(S, {
210
+ label: e(l)("connect.campaign.earningOption.receiveLabel", { configName: e(p) }),
211
+ inputmode: "decimal",
212
+ class: "flex-1",
213
+ "model-value": ((r = o.modelValue) == null ? void 0 : r.amount) ?? null,
214
+ "onUpdate:modelValue": i[1] || (i[1] = (c) => u("update:model-value", {
215
+ ...o.modelValue ?? { type: "FIXED" },
216
+ amount: c
217
+ }))
218
+ }, null, 8, ["label", "model-value"]),
219
+ s("div", Oe, f(e(l)("connect.campaign.earningOption.forEvery")), 1),
220
+ m(S, {
221
+ label: e(l)("connect.campaign.earningOption.amountSpend", { currency: e(j.Config).getCountry().currency.symbol }),
222
+ class: "flex-1",
223
+ inputmode: "decimal",
224
+ "model-value": ((O = o.modelValue) == null ? void 0 : O.every) ?? null,
225
+ "onUpdate:modelValue": i[2] || (i[2] = (c) => u("update:model-value", {
226
+ ...o.modelValue,
227
+ every: c
228
+ }))
229
+ }, {
230
+ prepend: y(() => [
231
+ U(f(e(j.Config).getCountry().currency.symbol), 1)
232
+ ]),
233
+ _: 1
234
+ }, 8, ["label", "model-value"])
235
+ ]))
236
+ ];
237
+ }),
238
+ _: 1
239
+ }, 8, ["label", "sublabel"]),
240
+ m(A, {
241
+ label: e(l)("connect.campaign.earningOption.productBought.label"),
242
+ sublabel: e(l)("connect.campaign.earningOption.productBought.sublabel", { configName: e(p) }),
243
+ value: !0,
244
+ disabled: !e(C).isPremium
245
+ }, {
246
+ label: y(() => {
247
+ var r, O;
248
+ return [
249
+ s("div", Fe, [
250
+ U(f(e(l)("connect.campaign.earningOption.productBought.label")) + " ", 1),
251
+ m(M, { variant: "premium" })
252
+ ]),
253
+ s("div", he, f(e(l)("connect.campaign.earningOption.productBought.sublabel", { configName: e(p) })), 1),
254
+ e(x) ? (d(), P("div", Ce, [
255
+ s("div", _e, [
256
+ m(ce, {
257
+ "model-value": t.modelValue.property || [],
258
+ onConfirm: i[3] || (i[3] = (c) => u("update:model-value", {
259
+ ...o.modelValue,
260
+ property: c
261
+ }))
262
+ }, {
263
+ "side-sheet-button": y(() => {
264
+ var c, L;
265
+ return [
266
+ m(Z, {
267
+ label: (c = t.modelValue.property) != null && c.length ? e(l)("connect.campaign.earningOption.productsSelected", { count: (L = t.modelValue.property) == null ? void 0 : L.length }) : e(l)("connect.campaign.earningOption.selectProduct"),
268
+ icon: "link",
269
+ variant: "secondary"
270
+ }, null, 8, ["label"])
271
+ ];
272
+ }),
273
+ _: 1
274
+ }, 8, ["model-value"])
275
+ ]),
276
+ s("div", Pe, [
277
+ m(S, {
278
+ inputmode: "decimal",
279
+ label: e(l)("connect.campaign.earningOption.receiveLabel", { configName: e(p) }),
280
+ class: "flex-1",
281
+ "model-value": ((r = o.modelValue) == null ? void 0 : r.amount) ?? null,
282
+ "onUpdate:modelValue": i[4] || (i[4] = (c) => u("update:model-value", {
283
+ ...o.modelValue ?? { type: "FIXED" },
284
+ amount: c
285
+ }))
286
+ }, null, 8, ["label", "model-value"]),
287
+ s("div", Ie, f(e(l)("connect.campaign.earningOption.forEvery")), 1),
288
+ m(S, {
289
+ label: e(l)("connect.campaign.earningOption.itemPurchased"),
290
+ class: "flex-1",
291
+ "model-value": ((O = o.modelValue) == null ? void 0 : O.every) ?? null,
292
+ inputmode: "numeric",
293
+ "max-fraction-digits": 0,
294
+ "onUpdate:modelValue": i[5] || (i[5] = (c) => u("update:model-value", {
295
+ ...o.modelValue,
296
+ every: c
297
+ }))
298
+ }, null, 8, ["label", "model-value"])
299
+ ])
300
+ ])) : I("", !0)
301
+ ];
302
+ }),
303
+ _: 1
304
+ }, 8, ["label", "sublabel", "disabled"])
305
+ ]),
306
+ _: 1
307
+ }, 8, ["model-value"])
308
+ ], 64)) : I("", !0)
309
+ ]),
310
+ o.errorText || e(n).length > 0 ? (d(), F(z, {
311
+ key: 0,
312
+ class: "!mt-4",
313
+ text: o.errorText || e(V).helperText(e(n), ""),
314
+ state: "error"
315
+ }, null, 8, ["text"])) : I("", !0)
316
+ ]);
317
+ };
318
+ }
319
+ }), Te = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary flex items-center justify-between" }, Ge = /* @__PURE__ */ B({
320
+ __name: "VoucherEditor",
321
+ props: {
322
+ modelValue: {
323
+ type: Object
324
+ },
325
+ rewardImage: {
326
+ type: Object
327
+ }
328
+ },
329
+ emits: ["update:model-value", "update:reward-image"],
330
+ setup(o, { emit: T }) {
331
+ const { t: C } = G(), t = k(
332
+ o.modelValue ?? re("VOUCHER", {
333
+ business: oe().currentBusiness.value._id,
334
+ name: ""
335
+ })
336
+ ), u = Y, v = T;
337
+ return (p, n) => {
338
+ var b, R, E;
339
+ const _ = g("FmTextarea"), x = g("FmHelperText");
340
+ return d(), P(w, null, [
341
+ m(ne, {
342
+ modelValue: e(t).name,
343
+ "onUpdate:modelValue": n[0] || (n[0] = (a) => e(t).name = a),
344
+ label: "Voucher name",
345
+ schema: e(V).typeAtPath(e(u), "name", [e(t).type])
346
+ }, null, 8, ["modelValue", "schema"]),
347
+ m(_, {
348
+ class: "!mb-[-16px]",
349
+ modelValue: e(t).description,
350
+ "onUpdate:modelValue": n[1] || (n[1] = (a) => e(t).description = a),
351
+ rules: [e(V).ruleAtPath(e(u), "description", [e(t).type])]
352
+ }, {
353
+ label: y(() => [
354
+ (d(), F(H(
355
+ e(V).toInputLabel(
356
+ e(V).typeAtPath(e(u), "description", [e(t).type]),
357
+ "Voucher description"
358
+ )
359
+ )))
360
+ ]),
361
+ _: 1
362
+ }, 8, ["modelValue", "rules"]),
363
+ s("div", Te, [
364
+ n[6] || (n[6] = s("div", null, "Voucher description should not exceed 200 characters.", -1)),
365
+ s("div", null, f(((b = e(t).description) == null ? void 0 : b.length) ?? 0) + "/200", 1)
366
+ ]),
367
+ m(ae, {
368
+ class: "w-1/2 xs:w-2/3",
369
+ "aspect-ratio": "16/9",
370
+ file: o.rewardImage ?? void 0,
371
+ thumbnail: e(t).image ?? void 0,
372
+ "onUpdate:file": n[2] || (n[2] = async (a) => {
373
+ v("update:reward-image", a), a || (e(t).image = null);
374
+ })
375
+ }, {
376
+ label: y(() => [
377
+ (d(), F(H(
378
+ e(V).toInputLabel(
379
+ e(V).typeAtPath(e(u), "image", [e(t).type]),
380
+ "Voucher image"
381
+ )
382
+ )))
383
+ ]),
384
+ _: 1
385
+ }, 8, ["file", "thumbnail"]),
386
+ n[7] || (n[7] = s("div", { class: "fm-typo-en-title-sm-800" }, "Discount", -1)),
387
+ m(ie, {
388
+ "model-value": e(t).extras.effect,
389
+ "onUpdate:modelValue": n[3] || (n[3] = (a) => e(t).extras.effect = a)
390
+ }, null, 8, ["model-value"]),
391
+ e(t).extras.effect == null ? (d(), F(x, {
392
+ key: 0,
393
+ class: "!mt-8",
394
+ text: e(C)("connect.campaign.common.effect_required"),
395
+ state: "error"
396
+ }, null, 8, ["text"])) : I("", !0),
397
+ n[8] || (n[8] = s("div", { class: "fm-typo-en-title-sm-800 !mb-[-8px]" }, "Usage configuration", -1)),
398
+ m(se, {
399
+ "model-value": e(t).options,
400
+ "no-campaign": e(t).noCampaign,
401
+ "onUpdate:modelValue": n[4] || (n[4] = (a) => e(t).options = a),
402
+ schema: e(V).typeAtPath(e(u), "options", ["VOUCHER"])
403
+ }, null, 8, ["model-value", "no-campaign", "schema"]),
404
+ n[9] || (n[9] = s("div", { class: "fm-typo-en-title-sm-800 !mb-[-8px]" }, "Availability", -1)),
405
+ e(t).type === "VOUCHER" ? (d(), F(me, {
406
+ key: 1,
407
+ "model-value": ((E = (R = e(t).extras) == null ? void 0 : R.targetLocation) == null ? void 0 : E.map(String)) ?? null,
408
+ type: "select",
409
+ "onUpdate:modelValue": n[5] || (n[5] = (a) => {
410
+ e(t).extras.targetLocation = a;
411
+ }),
412
+ rules: [e(V).ruleAtPath(e(u), "extras.targetLocation")]
413
+ }, null, 8, ["model-value", "rules"])) : I("", !0)
414
+ ], 64);
415
+ };
416
+ }
417
+ });
418
+ export {
419
+ je as _,
420
+ Ge as a
421
+ };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as f, useAttrs as y, resolveComponent as b, openBlock as l, createBlock as v, mergeProps as x, unref as t, createSlots as g, withCtx as h, createElementVNode as a, toDisplayString as n, renderSlot as k, createElementBlock as F, createCommentVNode as S } from "vue";
2
- import { Z as d } from "./zod-Bg2FbC-D.js";
3
- import { u as V } from "./vue-i18n-DKh0SMhL.js";
2
+ import { Z as d } from "./zod-CO0ds3MB.js";
3
+ import { u as V } from "./vue-i18n-B2srUL0h.js";
4
4
  const B = { class: "fm-typo-en-body-lg-400 flex gap-4 text-fm-color-typo-primary items-center" }, C = {
5
5
  key: 0,
6
6
  class: "text-fm-color-typo-tertiary"