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

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 (162) hide show
  1. package/dist/{Analytic-3MN2saaU.js → Analytic-Drbkm5By.js} +31 -32
  2. package/dist/{App-Co8X5Wdy.js → App-C0cdcG5i.js} +741 -728
  3. package/dist/AuditLogs-BZZLtf2u.js +2013 -0
  4. package/dist/{Bin-8a56ZDib.js → Bin-DRV5lRmj.js} +10 -10
  5. package/dist/Broadcast-C90FN2LB.js +266 -0
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BVXlfq31.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CsdxwjCn.js} +6 -6
  7. package/dist/{Card-B8_09LJu.js → Card-CWF84A1O.js} +145 -140
  8. package/dist/Collections-ja0gMaFf.js +540 -0
  9. package/dist/Credit-D8U2AJgq.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-YR62BvBG.js +3120 -0
  14. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-BVbhDMqH.js +351 -0
  15. package/dist/Experience-DDXLGizu.js +259 -0
  16. package/dist/{FileSaver.min-NlMItPOc.js → FileSaver.min-Dng61jiL.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-CMOilzsW.js +330 -0
  20. package/dist/Grab-tPVQB39R.js +300 -0
  21. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-rWUkV9gn.js → ImageInput.vue_vue_type_script_setup_true_lang-BbtEXO4b.js} +49 -48
  22. package/dist/{Index-DLF71mx_.js → Index-Ch7wiShF.js} +54 -54
  23. package/dist/LocationPicker.vue_vue_type_script_setup_true_lang-DLO0jj6Z.js +48 -0
  24. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CyGJxUol.js → LottieAnimation.vue_vue_type_script_setup_true_lang-CplyhUFF.js} +1 -1
  25. package/dist/{MainLayout-B1aJoR95.js → MainLayout-BMqnfxHh.js} +1 -1
  26. package/dist/Marketing-C0weDg-u.js +236 -0
  27. package/dist/MarketingMaterialEdit-BD-SyXVQ.js +1036 -0
  28. package/dist/{Member-Bkw4aqtv.js → Member-Bpf0amjr.js} +38 -37
  29. package/dist/{MemberList-a3PdVYB3.js → MemberList-cWYPEpL4.js} +485 -489
  30. package/dist/{MemberTransactions-CPDBd-n3.js → MemberTransactions-vzRUVwpO.js} +1 -1
  31. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-pbN8pN1m.js → MessageInput.vue_vue_type_script_setup_true_lang-DY3L9CvB.js} +10392 -9967
  32. package/dist/Mission-HRwIp1QY.js +334 -0
  33. package/dist/{Overview-De97NDoe.js → Overview-D9cfX4Kr.js} +34 -34
  34. package/dist/Point-Dz-Z0_m9.js +262 -0
  35. package/dist/Promotion-Csb0bdI6.js +397 -0
  36. package/dist/{Queue-ISVZxCE2.js → Queue-CAVKh9bK.js} +18 -18
  37. package/dist/{Record-2FMByNC6.js → Record-bPnIoHnT.js} +15 -14
  38. package/dist/Review-D2DfvLqJ.js +621 -0
  39. package/dist/ReviewFacebookCallback-CI7V3xbp.js +243 -0
  40. package/dist/ReviewGoogleCallback-LA2S8FLZ.js +213 -0
  41. package/dist/{Reward-DPRyQ37x.js → Reward-DdHF5Pr7.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-DyZhWnI4.js} +13 -14
  43. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-B0OSLJVN.js +1912 -0
  44. package/dist/Segment-DV1zcWF7.js +1015 -0
  45. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-DZbyDVid.js → SelectItems.vue_vue_type_script_setup_true_lang-Df1HE9sL.js} +23 -23
  46. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-ioMFYIwK.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-C0K9giqI.js} +12 -12
  47. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-CzJL8Xl0.js +226 -0
  48. package/dist/Setting-DZiZy8A5.js +2039 -0
  49. package/dist/SettingAdvertisements-Bb9shWVJ.js +264 -0
  50. package/dist/Store-mymtMyho.js +1996 -0
  51. package/dist/StoreRewards-jcjZfSv7.js +537 -0
  52. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-B-b5_TFL.js +1130 -0
  53. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-sCa1J_hq.js +7007 -0
  54. package/dist/{Tier-CwRj0oJ1.js → Tier-Ba6aHC3R.js} +562 -480
  55. package/dist/{Title-EII5OxSP.js → Title-C4uKD8E1.js} +151 -149
  56. package/dist/{Transaction-1MTkAfej.js → Transaction-Bf2uG6co.js} +2 -2
  57. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-BlQVWQHJ.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-C3ttU-bw.js} +7 -7
  58. package/dist/Voucher-Lsc2pKCk.js +421 -0
  59. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-MA7tsTm-.js +421 -0
  60. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-CTeGK4bk.js → ZodTextField.vue_vue_type_script_setup_true_lang-DEDavbCx.js} +2 -2
  61. package/dist/app-BRrGcz9U.js +59647 -0
  62. package/dist/app.js +1 -1
  63. package/dist/{business-DjnN-J4U.js → business-TBSvPv65.js} +11 -8
  64. package/dist/campaign-CL95CZkI.js +219 -0
  65. package/dist/campaign-DxcuYXB7.js +254 -0
  66. package/dist/campaign.enum-DRydaoy9.js +26 -0
  67. package/dist/campaign.fn-BsoUwQ5N.js +776 -0
  68. package/dist/{collectible.enum-r6N115Lu.js → collectible.enum-CpTbpumt.js} +1 -1
  69. package/dist/{collection.fn-CSsfVv26.js → collection.fn-BNrPdDIr.js} +2 -2
  70. package/dist/dto-BGrkIVqX.js +222 -0
  71. package/dist/duplicateCampaign-DBaFROXd.js +51 -0
  72. package/dist/effect-fonU-1xO.js +89 -0
  73. package/dist/{email-addresses-D8uheCCF.js → email-addresses-WeV5Gvxa.js} +2 -2
  74. package/dist/{export-Ver6WiX6.js → export-DDXf8yf_.js} +4 -4
  75. package/dist/{helper-Bg4xoFbh.js → helper-DwnzJKxo.js} +22 -7
  76. package/dist/index-10x-WMiS.js +30289 -0
  77. package/dist/index-9Wt89ReU.js +3625 -0
  78. package/dist/{index-Bb0CHeNx.js → index-Brh5FXQ7.js} +3 -3
  79. package/dist/index-BxxNZQUc.js +8910 -0
  80. package/dist/{index-hJUxCNsF.js → index-CDAMmPIn.js} +1 -1
  81. package/dist/{index-CNhr0_Zx.js → index-Cg1vzNzf.js} +617 -191
  82. package/dist/{index-BZZ4iF4-.js → index-Cl7QnFc4.js} +23 -12
  83. package/dist/index-CuvNtC_M.js +61 -0
  84. package/dist/{index-BPQyQc4q.js → index-Cvw-xFek.js} +1 -1
  85. package/dist/index-DCJ_r_e2.js +85 -0
  86. package/dist/{index-Dn_bmcns.js → index-DLG8B-TK.js} +3 -3
  87. package/dist/{index-D4JOeJJJ.js → index-DWhh_u0L.js} +1 -1
  88. package/dist/index-DsQJTvKe.js +28900 -0
  89. package/dist/index-oR7xhhIt.js +48 -0
  90. package/dist/{index.esm2017-hK1Mi9yY.js → index.esm2017-CFvohTUs.js} +122 -122
  91. package/dist/{loading-kIQFOTwH.js → loading-DiD8J1Jc.js} +4 -3
  92. package/dist/{lodash-B5I3zXaY.js → lodash-BJgKlNEt.js} +1 -1
  93. package/dist/{membership--xR-HZoa.js → membership-C8HuK9_K.js} +38 -18
  94. package/dist/{moment-BWErdI6_.js → moment-D7p2TMB-.js} +6 -1
  95. package/dist/{money-c-ITXnlg.js → money-DXl1-c0l.js} +1 -1
  96. package/dist/{number-DfZSBLOY.js → number-C6RGu6qp.js} +1 -1
  97. package/dist/objectid-8Boc1xMT.js +145 -0
  98. package/dist/{campaign-BpJ1O6KS.js → plugins-CxBcRdUi.js} +677 -699
  99. package/dist/remy-D_Deb3ue.js +13 -0
  100. package/dist/{reward-CE0ifMHS.js → reward-CEh2CA9Z.js} +1 -1
  101. package/dist/{rule-DrjdmpaB.js → rule-DEfU8NOO.js} +505 -487
  102. package/dist/rule-builder-BZIx2IzX.js +102 -0
  103. package/dist/string-Gcy5IM_H.js +32 -0
  104. package/dist/style.css +11 -2
  105. package/dist/template-Ba8NxY41.js +188 -0
  106. package/dist/timezone-DUqMvcwo.js +1156 -0
  107. package/dist/trigger-KQ-DPHv-.js +213 -0
  108. package/dist/useMarketingMaterialActions-DSI7Fpu9.js +96 -0
  109. package/dist/usePagination-BeTADCIt.js +220 -0
  110. package/dist/{user-Cl3IotYV.js → user-DN6_QE2j.js} +15 -14
  111. package/dist/vue-i18n-B4dOYJz4.js +2365 -0
  112. package/dist/{xlsx-BDBzdOuM.js → xlsx-BDFTkXYe.js} +1 -1
  113. package/dist/{zod-Bg2FbC-D.js → zod-B8WJKIxe.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
  162. package/dist/vue-i18n-DKh0SMhL.js +0 -2365
@@ -1,89 +0,0 @@
1
- import { n as i } from "./index-DLKyOu7W.js";
2
- function a(c, t) {
3
- let r = "", n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
4
- const e = n.length;
5
- for (let s = 0; s < c; s++)
6
- r += n.charAt(Math.floor(Math.random() * e));
7
- return r;
8
- }
9
- function p(c) {
10
- return !c.property && "rules" in c;
11
- }
12
- function l(c) {
13
- return "property" in c && !!c.property;
14
- }
15
- class o {
16
- static scaffoldGroup(t) {
17
- return {
18
- name: t ?? `g_${a(4)}`,
19
- rules: {},
20
- logic: ""
21
- };
22
- }
23
- static scaffoldEntry(t) {
24
- return {
25
- name: `r_${a(4)}`,
26
- property: t ?? "",
27
- conditions: {},
28
- negated: !1
29
- };
30
- }
31
- static constructEntry(t, r, n, e) {
32
- return {
33
- name: e ?? `e_${a(4)}`,
34
- property: t,
35
- conditions: {
36
- [r]: n
37
- },
38
- negated: !1
39
- };
40
- }
41
- static getLogic(t) {
42
- return (t.logic ?? "").includes("||") ? "||" : "&&";
43
- }
44
- static constructLogic(t, r) {
45
- const n = r ?? o.getLogic(t);
46
- return Object.entries(t.rules).map(([e, s]) => p(s) ? e : `${s.negated ? "!" : ""}${e}`).join(` ${n} `);
47
- }
48
- static setRuleToGroup(t, r, n) {
49
- let e = i.cloneDeep(t);
50
- return Object.keys(e.rules).length === 0 && (e = o.scaffoldGroup(e.name)), Array.isArray(r) ? r.forEach((s) => {
51
- e.rules[s.name] = s;
52
- }) : e.rules[r.name] = r, e.logic = o.constructLogic(e, n), e;
53
- }
54
- static removeEntry(t, r, n) {
55
- const e = i.cloneDeep(t);
56
- return delete e.rules[r], e.logic = o.constructLogic(e, n), e;
57
- }
58
- static constructRule(t) {
59
- switch (t.type) {
60
- case "timeframe": {
61
- const r = t.property, n = o.scaffoldGroup("timeframe"), e = [];
62
- return (t.start || t.end) && e.push(
63
- o.constructEntry(r, "_isBetween", {
64
- start: t.start || void 0,
65
- end: t.end || void 0
66
- })
67
- ), o.setRuleToGroup(n, e, "&&");
68
- }
69
- default:
70
- throw Error("invalid config type");
71
- }
72
- }
73
- static getRules(t) {
74
- return t && "rules" in t ? Object.values(t.rules) : [];
75
- }
76
- static simplify(t) {
77
- const [r] = Object.entries(t.conditions);
78
- return r[0], {
79
- property: t.property,
80
- operator: r[0],
81
- equator: r[1]
82
- };
83
- }
84
- }
85
- export {
86
- o as R,
87
- l as a,
88
- p as i
89
- };
@@ -1,190 +0,0 @@
1
- import { defineComponent as L, openBlock as r, createBlock as C, resolveDynamicComponent as D, unref as e, ref as E, computed as I, onMounted as j, resolveComponent as c, withCtx as d, createElementVNode as l, createElementBlock as w, createVNode as i, normalizeClass as h, createTextVNode as T, Fragment as S, renderList as N, toDisplayString as g, createCommentVNode as M } from "vue";
2
- import { u as P } from "./campaign-BHNS5kXt.js";
3
- import { useDialog as q } from "@feedmepos/ui-library";
4
- import { F as J } from "./index-CNhr0_Zx.js";
5
- import { C as A } from "./collection.fn-CSsfVv26.js";
6
- import { s as V } from "./index-CsaQJMAR.js";
7
- import { _ as G } from "./lodash-B5I3zXaY.js";
8
- import { C as H } from "./campaign-BpJ1O6KS.js";
9
- import { J as U } from "./JsonViewer-v8_C7l5N.js";
10
- const K = /* @__PURE__ */ L({
11
- __name: "CampaignChip",
12
- props: {
13
- type: { type: String, required: !0 }
14
- },
15
- setup(u) {
16
- const a = H[u.type];
17
- return (o, t) => (r(), C(D(e(a).chip())));
18
- }
19
- }), Q = { class: "flex flex-nowrap gap-x-2 grow h-full" }, R = {
20
- key: 0,
21
- class: "p-8 w-1/4"
22
- }, W = { class: "flex flex-col grow p-24" }, X = { class: "space-y-4" }, Y = { class: "fm-typo-en-title-sm-800" }, Z = { class: "grow pb-16 pr-16 pt-6 w-full max-h-[400px] overflow-y-auto" }, ee = { class: "gap-24 grid grid-cols-1 lg:grid-cols-2" }, te = { class: "gap-4 h-[22px] inline-flex items-center justify-center min-w-min rounded-md" }, ne = { class: "fm-typo-en-title-sm-800" }, oe = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, se = { class: "flex gap-4 items-end justify-end py-8" }, le = /* @__PURE__ */ L({
23
- __name: "TemplateDialog",
24
- props: {
25
- campaignType: {
26
- type: String,
27
- default: () => {
28
- }
29
- },
30
- onOk: {
31
- type: Function,
32
- required: !0
33
- }
34
- },
35
- setup(u) {
36
- const p = q(), a = P(), o = u, t = E({
37
- intention: null,
38
- template: null
39
- }), b = I(() => {
40
- const m = (a.templates ?? []).filter(
41
- () => !0
42
- //t.intention && t.intention.length > 0
43
- );
44
- return o.campaignType ? m.filter(
45
- (n) => {
46
- var y, f;
47
- return ((f = (y = n.defaultValue) == null ? void 0 : y.campaign) == null ? void 0 : f.type) === o.campaignType;
48
- }
49
- ) : t.value.intention === null ? G.sampleSize(m, 7) : m.filter(
50
- (n) => n.intention.includes(t.value.intention)
51
- );
52
- });
53
- j(async () => {
54
- await a.readTemplates();
55
- });
56
- function O() {
57
- o.onOk(void 0), p.close();
58
- }
59
- function $() {
60
- const m = t.value.template;
61
- o.onOk(a.templates.find((n) => n._id === m)), p.close();
62
- }
63
- return (m, n) => {
64
- const y = c("FmChip"), f = c("FmListItem"), z = c("FmList"), k = c("FmCard"), v = c("FmButton"), B = c("FmSpacer");
65
- return r(), C(k, { class: "h-[534px] max-w-6xl" }, {
66
- default: d(() => [
67
- l("div", Q, [
68
- o.campaignType ? M("", !0) : (r(), w("div", R, [
69
- i(z, null, {
70
- default: d(() => [
71
- i(f, {
72
- class: h([{
73
- "bg-fm-color-system-warning-100": e(t).intention === null
74
- }, "rounded-sm"]),
75
- onClick: n[0] || (n[0] = (s) => {
76
- e(t).intention = null, e(t).template = null;
77
- })
78
- }, {
79
- append: d(() => [
80
- i(y, {
81
- label: "Hot",
82
- variant: "critical"
83
- })
84
- ]),
85
- default: d(() => [
86
- n[2] || (n[2] = T(" Most popular "))
87
- ]),
88
- _: 1
89
- }, 8, ["class"]),
90
- (r(!0), w(S, null, N(e(J).options, (s, x) => (r(), C(f, {
91
- key: x,
92
- class: h(["rounded-sm", {
93
- "bg-fm-color-system-warning-100": e(t).intention === s
94
- }]),
95
- style: { padding: "8px 16px" },
96
- onClick: (_) => {
97
- e(t).intention = s, e(t).template = null;
98
- }
99
- }, {
100
- default: d(() => [
101
- T(g(e(V)(s)), 1)
102
- ]),
103
- _: 2
104
- }, 1032, ["class", "onClick"]))), 128))
105
- ]),
106
- _: 1
107
- })
108
- ])),
109
- l("div", W, [
110
- l("div", X, [
111
- l("div", Y, g(o.campaignType ? e(V)(
112
- `${e(A).formattedType(o.campaignType)} campaign`
113
- ) : "Template list"), 1),
114
- n[3] || (n[3] = l("div", { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, " Get started faster with templates that flex with your business. ", -1))
115
- ]),
116
- l("div", Z, [
117
- i(U, { json: e(b) }, null, 8, ["json"]),
118
- l("div", ee, [
119
- (r(!0), w(S, null, N(e(b), (s, x) => (r(), C(k, {
120
- key: x,
121
- variant: "outlined",
122
- class: h(["box-border cursor-pointer h-full p-16 scroll-p-4 space-y-8", {
123
- "bg-fm-color-system-warning-100 border-fm-color-primary border-2": e(t).template === s._id.toString()
124
- }]),
125
- onClick: (_) => e(t).template = s._id.toString()
126
- }, {
127
- default: d(() => {
128
- var _, F;
129
- return [
130
- l("div", te, [
131
- i(K, {
132
- type: (F = (_ = s.defaultValue) == null ? void 0 : _.campaign) == null ? void 0 : F.type
133
- }, null, 8, ["type"])
134
- ]),
135
- l("div", ne, g(s.name), 1),
136
- l("p", oe, g(s.description), 1)
137
- ];
138
- }),
139
- _: 2
140
- }, 1032, ["class", "onClick"]))), 128))
141
- ])
142
- ]),
143
- l("div", se, [
144
- i(v, {
145
- class: "sm:w-full xs:w-full",
146
- variant: "plain",
147
- label: "Custom Campaign",
148
- size: "md",
149
- onClick: O
150
- }),
151
- i(B, { class: "sm:hidden xs:hidden" }),
152
- i(v, {
153
- class: "sm:w-full xs:w-full",
154
- variant: "tertiary",
155
- label: "Cancel",
156
- size: "md",
157
- onClick: n[1] || (n[1] = (s) => e(p).close())
158
- }),
159
- i(v, {
160
- class: "sm:w-full xs:w-full",
161
- variant: "primary",
162
- label: "Start",
163
- size: "md",
164
- disabled: !e(t).template,
165
- onClick: $
166
- }, null, 8, ["disabled"])
167
- ])
168
- ])
169
- ])
170
- ]),
171
- _: 1
172
- });
173
- };
174
- }
175
- }), ye = (u, p) => ({
176
- open: async (a) => {
177
- p.open({
178
- title: "",
179
- dialogComponent: le,
180
- dialogComponentProps: {
181
- campaignType: u,
182
- onOk: async (o) => (console.debug(o, "selected template"), await a(o))
183
- },
184
- overlay: !0
185
- });
186
- }
187
- });
188
- export {
189
- ye as u
190
- };
@@ -1,144 +0,0 @@
1
- import { defineComponent as i, openBlock as m, createBlock as s, unref as n } from "vue";
2
- import "./index-DLKyOu7W.js";
3
- import { R as l } from "./rule-builder-B_hCyq3x.js";
4
- import { _ as p } from "./RuleGroup.vue_vue_type_script_setup_true_lang-DWj-421v.js";
5
- import { l as e, C as E } from "./index-UXtH44XQ.js";
6
- const O = /* @__PURE__ */ i({
7
- __name: "BillRuleGroup",
8
- props: {
9
- modelValue: {
10
- type: Object,
11
- default: () => {
12
- }
13
- }
14
- },
15
- emits: ["update:model-value"],
16
- setup(r, { emit: a }) {
17
- const o = a;
18
- return (c, u) => {
19
- var t;
20
- return m(), s(p, {
21
- "include-only": "bill",
22
- "trigger-type": "BILL_COMPLETED",
23
- "model-value": ((t = r.modelValue) == null ? void 0 : t.rules.g_bill) ?? n(l).scaffoldGroup("g_bill"),
24
- "onUpdate:modelValue": u[0] || (u[0] = (d) => o(
25
- "update:model-value",
26
- n(l).setRuleToGroup(
27
- r.modelValue ?? n(l).scaffoldGroup(),
28
- d,
29
- "&&"
30
- )
31
- ))
32
- }, null, 8, ["model-value"]);
33
- };
34
- }
35
- }), T = /* @__PURE__ */ i({
36
- __name: "FeedbackRuleGroup",
37
- props: {
38
- modelValue: {
39
- type: Object,
40
- default: () => {
41
- }
42
- }
43
- },
44
- emits: ["update:model-value"],
45
- setup(r, { emit: a }) {
46
- const o = a;
47
- return (c, u) => {
48
- var t;
49
- return m(), s(p, {
50
- "include-only": "feedback",
51
- "trigger-type": "FEEDBACK",
52
- "model-value": ((t = r.modelValue) == null ? void 0 : t.rules.g_feedback) ?? n(l).scaffoldGroup("g_feedback"),
53
- "onUpdate:modelValue": u[0] || (u[0] = (d) => o(
54
- "update:model-value",
55
- n(l).setRuleToGroup(
56
- r.modelValue ?? n(l).scaffoldGroup(),
57
- d,
58
- "&&"
59
- )
60
- ))
61
- }, null, 8, ["model-value"]);
62
- };
63
- }
64
- }), f = {
65
- [e.enum.BILL_COMPLETED]: {
66
- name: "Bill complete",
67
- description: "Reward customers upon the completion of their bill.",
68
- value: e.enum.BILL_COMPLETED,
69
- hidden: !1
70
- },
71
- [e.enum.FEEDBACK]: {
72
- name: "Feedback",
73
- description: "Reward customers for providing feedback.",
74
- value: e.enum.FEEDBACK,
75
- hidden: !1
76
- },
77
- [e.enum.GAME_COMPLETED]: {
78
- name: "Game complete",
79
- description: "Reward customers upon the completion of a game.",
80
- value: e.enum.GAME_COMPLETED,
81
- hidden: !1
82
- },
83
- [e.enum.MAKING_ORDER]: {
84
- name: "Making order",
85
- description: "Reward customers upon the creation of their order.",
86
- value: e.enum.MAKING_ORDER,
87
- hidden: !1
88
- },
89
- [e.enum.MEMBERSHIP_JOINED]: {
90
- name: "Member joined ",
91
- description: "Trigger rewards when customers join your membership program.",
92
- value: e.enum.MEMBERSHIP_JOINED,
93
- hidden: !1
94
- },
95
- [e.enum.SCHEDULE]: {
96
- name: "Schedule",
97
- description: "Set rewards to be triggered at specific times or dates.",
98
- value: e.enum.SCHEDULE,
99
- hidden: !1
100
- },
101
- [e.enum.SIMPLE_CLAIM]: {
102
- name: "Simple claim",
103
- description: "Activate rewards when customers claim an offer",
104
- value: e.enum.SIMPLE_CLAIM,
105
- hidden: !1
106
- },
107
- [e.enum.TIER_UPGRADED]: {
108
- name: "Tier upgrade",
109
- description: "Activate rewards when their membership tier gets upgraded.",
110
- value: e.enum.TIER_UPGRADED,
111
- hidden: !1
112
- },
113
- [e.enum.ISSUE_REWARD]: {
114
- name: "Issue reward",
115
- description: "Triggers whenever customer receives a reward in any kind.",
116
- value: e.enum.ISSUE_REWARD,
117
- hidden: !0
118
- }
119
- }, g = Object.fromEntries(
120
- [
121
- "VOUCHER",
122
- "PROMOTION",
123
- "POINT",
124
- "CREDIT",
125
- "MEMBERSHIP",
126
- "BROADCAST",
127
- "COIN",
128
- "REWARD_POOL",
129
- "GAME",
130
- "MISSION"
131
- ].map((r) => {
132
- const a = E[r];
133
- return [
134
- r,
135
- (a == null ? void 0 : a.map((o) => f[o]).filter((o) => !o.hidden)) ?? []
136
- ];
137
- })
138
- );
139
- export {
140
- g as T,
141
- O as _,
142
- f as a,
143
- T as b
144
- };
@@ -1,223 +0,0 @@
1
- import { defineComponent as M, ref as w, resolveComponent as C, openBlock as v, createBlock as F, withCtx as B, createVNode as c, createElementVNode as i, normalizeStyle as N, createElementBlock as S, Fragment as P, renderList as E, computed as h, onMounted as L, watch as R, unref as p, createCommentVNode as V, toDisplayString as x } from "vue";
2
- import { l as A } from "./lodash-B5I3zXaY.js";
3
- const T = ["id"], D = /* @__PURE__ */ M({
4
- __name: "FmTableSelection",
5
- props: {
6
- value: {},
7
- items: {}
8
- },
9
- emits: ["update:modelValue"],
10
- setup(f, { emit: g }) {
11
- const a = g, l = f, r = w(!1);
12
- return (d, u) => {
13
- const y = C("FmButton"), b = C("FmMenuItem"), o = C("FmMenu");
14
- return v(), F(o, {
15
- "max-height": 264,
16
- shift: "",
17
- onMenuChanged: u[0] || (u[0] = (n) => r.value = n)
18
- }, {
19
- "menu-button": B(() => {
20
- var n;
21
- return [
22
- c(y, {
23
- icon: r.value ? "expand_less" : "expand_more",
24
- label: (n = d.items.find((s) => s.value === l.value)) == null ? void 0 : n.label,
25
- "icon-position": "append",
26
- size: "md",
27
- variant: "tertiary"
28
- }, null, 8, ["icon", "label"])
29
- ];
30
- }),
31
- "menu-wrapper": B(({ maxHeight: n }) => [
32
- i("div", {
33
- id: `menu-wrapper-${n}`,
34
- style: N({ maxHeight: `${n}px` }),
35
- class: "bg-fm-color-neutral-white flex flex-col overflow-y-auto px-4 py-12 rounded-md shadow-light-300 w-[75px]"
36
- }, [
37
- (v(!0), S(P, null, E(d.items, (s) => (v(), F(b, {
38
- key: s.value,
39
- label: s.label,
40
- value: s.value,
41
- "model-value": s.value === l.value,
42
- "onUpdate:modelValue": (z) => a("update:modelValue", s.value)
43
- }, null, 8, ["label", "value", "model-value", "onUpdate:modelValue"]))), 128))
44
- ], 12, T)
45
- ]),
46
- _: 1
47
- });
48
- };
49
- }
50
- }), U = { class: "" }, O = {
51
- key: 0,
52
- class: "w-full flex flex-col gap-16 items-center py-16"
53
- }, j = {
54
- key: 1,
55
- class: "basis-72 bg-white flex items-center justify-between px-24 pt-6 border-t border-fm-color-border"
56
- }, W = { class: "flex gap-24 items-center justify-between xs:hidden xs:invisible" }, q = { class: "flex gap-8 items-center" }, G = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, H = { class: "flex gap-8 items-center" }, J = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-primary xs:mr-auto" }, K = { class: "flex gap-8" }, Y = /* @__PURE__ */ M({
57
- __name: "BaseTable",
58
- props: {
59
- rowData: {},
60
- columnDefs: {},
61
- loading: { type: Boolean, default: !1 },
62
- rowCount: { default: 0 },
63
- shrinkAt: { type: [Number, Boolean], default: !1 },
64
- pageCount: {},
65
- pageIndex: {},
66
- hideFooter: { type: Boolean, default: !1 },
67
- pageSize: {},
68
- pageSizeOptions: { default: () => [
69
- { label: "10", value: 10 },
70
- { label: "20", value: 20 },
71
- { label: "50", value: 50 }
72
- ] }
73
- },
74
- emits: ["sortChange", "rowClick", "pageChange"],
75
- setup(f, { emit: g }) {
76
- const a = f, l = g, r = h(() => a.pageIndex + 1), d = h(() => a.pageIndex * a.pageSize), u = h(
77
- () => Math.min(d.value + a.pageSize, a.rowCount || 0)
78
- ), y = h(() => a.pageIndex > 0), b = h(() => a.pageIndex < a.pageCount - 1), o = (e) => {
79
- l("sortChange", e);
80
- }, n = (e) => {
81
- l("rowClick", e);
82
- }, s = (e) => {
83
- l("pageChange", { pageIndex: e, pageSize: a.pageSize });
84
- }, z = (e) => {
85
- l("pageChange", { pageIndex: 0, pageSize: e });
86
- }, I = w(!1);
87
- return L(() => {
88
- R(
89
- () => a.loading,
90
- (e, t) => {
91
- t === !0 && e === !1 && (I.value = !0);
92
- }
93
- );
94
- }), (e, t) => {
95
- const $ = C("FmTable"), k = C("FmButton");
96
- return v(), S("div", U, [
97
- c($, {
98
- loading: e.loading,
99
- "row-data": e.rowData,
100
- "row-count": e.rowCount,
101
- "column-defs": e.columnDefs,
102
- "shrink-at": e.shrinkAt,
103
- "page-count": e.pageCount,
104
- "page-size": e.pageSize,
105
- "fetch-fn": void 0,
106
- "hide-footer": "",
107
- onSortChange: o,
108
- onRowClick: n
109
- }, null, 8, ["loading", "row-data", "row-count", "column-defs", "shrink-at", "page-count", "page-size"]),
110
- e.rowData.length == 0 && e.loading == !1 && p(I) ? (v(), S("div", O, t[5] || (t[5] = [
111
- i("div", { class: "fm-typo-en-body-lg-600" }, "No data found", -1),
112
- i("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, " No data to show at the current moment. ", -1)
113
- ]))) : V("", !0),
114
- e.hideFooter ? V("", !0) : (v(), S("div", j, [
115
- i("div", W, [
116
- i("div", q, [
117
- t[6] || (t[6] = i("span", { class: "fm-typo-en-body-lg-400 text-fm-color-typo-primary" }, " Items per page: ", -1)),
118
- c(D, {
119
- items: e.pageSizeOptions,
120
- value: e.pageSize,
121
- "onUpdate:modelValue": z
122
- }, null, 8, ["items", "value"])
123
- ]),
124
- i("span", G, x(p(d) + 1) + " - " + x(p(u)) + " of " + x(e.rowCount) + " items ", 1)
125
- ]),
126
- i("div", H, [
127
- c(D, {
128
- items: Array.from(Array(e.pageCount), (m, _) => ({
129
- label: (_ + 1).toString(),
130
- value: _ + 1
131
- })),
132
- value: p(r),
133
- "onUpdate:modelValue": t[0] || (t[0] = (m) => s(m - 1))
134
- }, null, 8, ["items", "value"]),
135
- i("span", J, " of " + x(e.pageCount) + " pages ", 1),
136
- i("div", K, [
137
- c(k, {
138
- disabled: !p(y),
139
- icon: "first_page",
140
- "icon-color": "neutral-black",
141
- variant: "tertiary",
142
- onClick: t[1] || (t[1] = (m) => s(0))
143
- }, null, 8, ["disabled"]),
144
- c(k, {
145
- disabled: !p(y),
146
- icon: "chevron_left",
147
- "icon-color": "neutral-black",
148
- variant: "tertiary",
149
- onClick: t[2] || (t[2] = (m) => s(e.pageIndex - 1))
150
- }, null, 8, ["disabled"]),
151
- c(k, {
152
- disabled: !p(b),
153
- icon: "chevron_right",
154
- "icon-color": "neutral-black",
155
- variant: "tertiary",
156
- onClick: t[3] || (t[3] = (m) => s(e.pageIndex + 1))
157
- }, null, 8, ["disabled"]),
158
- c(k, {
159
- disabled: !p(b),
160
- icon: "last_page",
161
- "icon-color": "neutral-black",
162
- variant: "tertiary",
163
- onClick: t[4] || (t[4] = (m) => s(e.pageCount - 1))
164
- }, null, 8, ["disabled"])
165
- ])
166
- ])
167
- ]))
168
- ]);
169
- };
170
- }
171
- });
172
- function Z(f, g = { key: "_id", descending: !0 }) {
173
- const a = w({
174
- pageCount: 0,
175
- searchValue: "",
176
- pageIndex: 0,
177
- totalRows: 0,
178
- isLoading: !1,
179
- pageSize: 10
180
- }), l = w(g), r = w([]), d = async (o) => {
181
- a.value.isLoading = !0, r.value = [];
182
- try {
183
- const n = await f({
184
- limit: o.pageSize || a.value.pageSize,
185
- skip: o.pageIndex ?? 0,
186
- sortBy: l.value.key,
187
- descending: l.value.descending,
188
- search: a.value.searchValue
189
- });
190
- r.value = n.resources, a.value.totalRows = n.meta.totalResources ?? 0, a.value.pageCount = n.meta.totalPages ?? 0, a.value.pageIndex = n.meta.skip ?? 0;
191
- } catch (n) {
192
- console.error("Error fetching data:", n);
193
- } finally {
194
- a.value.isLoading = !1;
195
- }
196
- }, u = A.debounce(async (o) => {
197
- a.value.pageSize = (o == null ? void 0 : o.pageSize) || a.value.pageSize, await d({
198
- pageSize: a.value.pageSize,
199
- pageIndex: (o == null ? void 0 : o.pageIndex) || 0
200
- });
201
- }, 200);
202
- return {
203
- tableMeta: a,
204
- rowData: r,
205
- sortBy: l,
206
- fetchData: d,
207
- debouncedFetchData: u,
208
- onSort: async (o) => {
209
- var n;
210
- console.log("sortState", (n = o[0]) == null ? void 0 : n.id), o.length ? (l.value = {
211
- key: o[0].id.startsWith("_") ? o[0].id : o[0].id.replace(new RegExp("_", "g"), "."),
212
- descending: o[0].desc
213
- }, console.log("sortBy", l.value)) : l.value = g, await u();
214
- },
215
- onSearch: () => {
216
- u({ pageIndex: 0, pageSize: a.value.pageSize });
217
- }
218
- };
219
- }
220
- export {
221
- Y as _,
222
- Z as u
223
- };