@feedmepos/mf-connect 0.1.98-beta.15 → 0.1.98-beta.16

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 (138) hide show
  1. package/dist/App-DNXDhULP.js +4782 -0
  2. package/dist/AuditLogs-BNS27IJT.js +2013 -0
  3. package/dist/Bin-Dkjyrbz-.js +166 -0
  4. package/dist/Broadcast-B-fpjVzY.js +266 -0
  5. package/dist/CampaignTypeDialog.vue_vue_type_script_setup_true_lang-qBcG-vPM.js +120 -0
  6. package/dist/Card-BvVHO8kN.js +910 -0
  7. package/dist/ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js +97 -0
  8. package/dist/Collections-BLxPSOJl.js +540 -0
  9. package/dist/Credit-DU-stilH.js +260 -0
  10. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-Du7fRSZC.js +128 -0
  11. package/dist/DateRangeChip.vue_vue_type_script_setup_true_lang-eIoPtgO5.js +58 -0
  12. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-Bqnb00zk.js +3377 -0
  13. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-CTSfEq5N.js +351 -0
  14. package/dist/Experience-C3tB8hTp.js +259 -0
  15. package/dist/FileSaver.min-EIworvUf.js +74 -0
  16. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js +129 -0
  17. package/dist/FmTableSelection.vue_vue_type_script_setup_true_lang-DzcUc0_w.js +52 -0
  18. package/dist/Game-Dq1ms2fA.js +330 -0
  19. package/dist/Grab-DnSO2oLx.js +300 -0
  20. package/dist/ImageInput.vue_vue_type_script_setup_true_lang-n1r2bgOE.js +145 -0
  21. package/dist/Index-BFIHgW9W.js +259 -0
  22. package/dist/JsonViewer-v8_C7l5N.js +87 -0
  23. package/dist/LocationPicker.vue_vue_type_script_setup_true_lang-Do7CJZuh.js +48 -0
  24. package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-vpJmHgKM.js +18737 -0
  25. package/dist/LoyaltyDashboard-CcBogXzl.js +1082 -0
  26. package/dist/MainLayout-CPNiL_et.js +41 -0
  27. package/dist/Marketing-Bzb1VaVA.js +235 -0
  28. package/dist/MarketingMaterialEdit-8UQNx3mV.js +1035 -0
  29. package/dist/Member-Drb_NVrb.js +280 -0
  30. package/dist/MemberList-wa3JxCVr.js +1601 -0
  31. package/dist/MemberOverview-wL_ailso.js +58 -0
  32. package/dist/MemberTransactions-8qlm-T67.js +45 -0
  33. package/dist/MessageInput.vue_vue_type_script_setup_true_lang-BHicaUXs.js +60802 -0
  34. package/dist/Mission-DmWbQmOv.js +334 -0
  35. package/dist/Overview-COEFtf12.js +1079 -0
  36. package/dist/Overview-D7ki-aBA.js +969 -0
  37. package/dist/Point-B0W-BcPA.js +262 -0
  38. package/dist/Promotion-CY16SjmK.js +397 -0
  39. package/dist/Queue-hMur40Xc.js +260 -0
  40. package/dist/Record-Bj7GQP1r.js +342 -0
  41. package/dist/Review-Z1XD6bJK.js +45 -0
  42. package/dist/ReviewFacebookCallback-DirGtKLX.js +248 -0
  43. package/dist/ReviewGoogleCallback-CVC6741e.js +213 -0
  44. package/dist/Reward-DDB5Usau.js +442 -0
  45. package/dist/RewardGroup.vue_vue_type_script_setup_true_lang-B-OnKAbx.js +149 -0
  46. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-DDHM8NLi.js +1911 -0
  47. package/dist/Segment-Bl0k9fvJ.js +1014 -0
  48. package/dist/SelectItems.vue_vue_type_script_setup_true_lang-C33DPiN6.js +181 -0
  49. package/dist/SendCollectionSheet.vue_vue_type_script_setup_true_lang-YMpQ-IiW.js +188 -0
  50. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang--Rtf3gRa.js +226 -0
  51. package/dist/Setting-CpD98E2N.js +2047 -0
  52. package/dist/SettingAdvertisements-BZFQu_HI.js +264 -0
  53. package/dist/Settings-CRqlKNsc.js +228 -0
  54. package/dist/Store-CDG2_iqc.js +1996 -0
  55. package/dist/StoreRewards-DIU5hPXv.js +540 -0
  56. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-B82RH_ZC.js +1133 -0
  57. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-DKGCmk5y.js +7007 -0
  58. package/dist/Tier-BXgIdYDa.js +969 -0
  59. package/dist/Title-DgHxyV8p.js +566 -0
  60. package/dist/Transaction-iDacnm6Y.js +39 -0
  61. package/dist/UserRuleGroup.vue_vue_type_script_setup_true_lang-RUbR6pdK.js +130 -0
  62. package/dist/Voucher-C-I8JK4F.js +421 -0
  63. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-BUpYZxij.js +421 -0
  64. package/dist/ZodTextField.vue_vue_type_script_setup_true_lang-LhG5jJq3.js +56 -0
  65. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  66. package/dist/app-CyNzTZOx.js +59950 -0
  67. package/dist/app-wDQR6dpb.js +39 -0
  68. package/dist/app.js +7 -0
  69. package/dist/business-o_sAO_33.js +82 -0
  70. package/dist/campaign--IUcyI8h.js +219 -0
  71. package/dist/campaign-CpzFl8Vr.js +4 -0
  72. package/dist/campaign-zLKyql03.js +277 -0
  73. package/dist/campaign.enum-CEbNgaGZ.js +26 -0
  74. package/dist/campaign.fn-BVT0m6Uy.js +776 -0
  75. package/dist/collectible.enum-2y8KIQLL.js +19 -0
  76. package/dist/duplicateCampaign-DIzdQf0e.js +51 -0
  77. package/dist/effect-B6gKaH4T.js +89 -0
  78. package/dist/email-addresses-CO9GNnUN.js +705 -0
  79. package/dist/export-DdDpRFVg.js +97 -0
  80. package/dist/feedme.ico +0 -0
  81. package/dist/google-BQK68wbe.js +5 -0
  82. package/dist/helper-DqypCsTm.js +86 -0
  83. package/dist/index-BK0OmX3R.js +85 -0
  84. package/dist/index-Bc7JXl59.js +54 -0
  85. package/dist/index-BgiIGrLb.js +32 -0
  86. package/dist/index-C-TiT9bf.js +1157 -0
  87. package/dist/index-COXmoOd1.js +3678 -0
  88. package/dist/index-CT6uJJ9y.js +151 -0
  89. package/dist/index-Ci2gFCfD.js +61 -0
  90. package/dist/index-CtJ0MQQ1.js +3 -0
  91. package/dist/index-CuvNtC_M.js +61 -0
  92. package/dist/index-D41Xq5qY.js +8910 -0
  93. package/dist/index-DBD_e_yR.js +31 -0
  94. package/dist/index-DDpz9LmI.js +67 -0
  95. package/dist/index-Dh2apeby.js +2819 -0
  96. package/dist/index-DiDmMG_M.js +28900 -0
  97. package/dist/index-pjXQwa0j.js +30289 -0
  98. package/dist/index-vh86FiIQ.js +10 -0
  99. package/dist/index.esm2017-Cd4FhecE.js +3069 -0
  100. package/dist/loading-D-RglDMV.js +72 -0
  101. package/dist/lodash-cggYhL9V.js +3678 -0
  102. package/dist/membership-DTfMyKwP.js +255 -0
  103. package/dist/moment-D7p2TMB-.js +2583 -0
  104. package/dist/money-fGZfbdgV.js +15 -0
  105. package/dist/number-BOalh3ZH.js +12 -0
  106. package/dist/object-BYyQ0PZp.js +18 -0
  107. package/dist/objectId-dwaoBfJX.js +7 -0
  108. package/dist/objectid-zPJFVngY.js +145 -0
  109. package/dist/plugins-CbpvMMOJ.js +1788 -0
  110. package/dist/reward-DkVAHEq2.js +36 -0
  111. package/dist/rule-EzWg2u8d.js +1969 -0
  112. package/dist/string-Gcy5IM_H.js +32 -0
  113. package/dist/style.css +4 -0
  114. package/dist/template-BfVFq4on.js +188 -0
  115. package/dist/tier-BJDhpH6X.js +4 -0
  116. package/dist/tiers/tier=1.png +0 -0
  117. package/dist/tiers/tier=2.png +0 -0
  118. package/dist/tiers/tier=3.png +0 -0
  119. package/dist/tiers/tier=4.png +0 -0
  120. package/dist/titles/type=diamond.png +0 -0
  121. package/dist/titles/type=drinks.png +0 -0
  122. package/dist/titles/type=food.png +0 -0
  123. package/dist/titles/type=heart.png +0 -0
  124. package/dist/titles/type=medal.png +0 -0
  125. package/dist/titles/type=spend.png +0 -0
  126. package/dist/titles/type=thank-you.png +0 -0
  127. package/dist/titles/type=thumbs-up.png +0 -0
  128. package/dist/titles/type=years.png +0 -0
  129. package/dist/trigger-es-_uiSg.js +213 -0
  130. package/dist/tslib.es6-BCqqvLQ_.js +44 -0
  131. package/dist/type_drinks-D6jnpvwV.js +4 -0
  132. package/dist/useMarketingMaterialActions-CpiIKMmG.js +107 -0
  133. package/dist/usePagination-SYsXgU6x.js +220 -0
  134. package/dist/user-DUe40u3g.js +55 -0
  135. package/dist/vue-i18n-Dn9zxRuv.js +2365 -0
  136. package/dist/xlsx-DugGi7dB.js +15491 -0
  137. package/dist/zod-Dw8_B6RC.js +91 -0
  138. package/package.json +1 -1
@@ -0,0 +1,41 @@
1
+ import { defineComponent as n, openBlock as o, createElementBlock as a, createVNode as c, unref as e, ref as m, resolveComponent as u, normalizeClass as _, createBlock as p, createCommentVNode as h, withDirectives as f, createElementVNode as d, vShow as w } from "vue";
2
+ import { _ as v, S as x } from "./LottieAnimation.vue_vue_type_script_setup_true_lang-vpJmHgKM.js";
3
+ import { u as r } from "./app-wDQR6dpb.js";
4
+ import { useRoute as g } from "vue-router";
5
+ const S = { class: "bg-white w-full flex min-h-[calc(100svh-56px)] items-center" }, V = /* @__PURE__ */ n({
6
+ __name: "Splash",
7
+ setup(l) {
8
+ return (s, t) => (o(), a("div", S, [
9
+ c(v, {
10
+ class: "flex-1",
11
+ json: e(x),
12
+ width: 100,
13
+ height: 100
14
+ }, null, 8, ["json"])
15
+ ]));
16
+ }
17
+ }), N = /* @__PURE__ */ n({
18
+ __name: "MainLayout",
19
+ setup(l) {
20
+ const s = g(), t = m(s.query.showHeader !== "false");
21
+ return (b, k) => {
22
+ const i = u("RouterView");
23
+ return o(), a("div", {
24
+ class: _([
25
+ "bg-fm-color-neutral-white w-full xs:overflow-y-scroll",
26
+ e(t) ? "min-h-[calc(100svh-56px)] xs:h-[calc(100svh-56px)]" : "min-h-screen"
27
+ ])
28
+ }, [
29
+ e(r)().isGlobalLoading == !0 ? (o(), p(V, { key: 0 })) : h("", !0),
30
+ f(d("div", null, [
31
+ c(i)
32
+ ], 512), [
33
+ [w, e(r)().isGlobalLoading == !1]
34
+ ])
35
+ ], 2);
36
+ };
37
+ }
38
+ });
39
+ export {
40
+ N as default
41
+ };
@@ -0,0 +1,235 @@
1
+ import { defineComponent as b, resolveComponent as v, openBlock as s, createBlock as N, unref as c, ref as f, watch as R, createElementBlock as d, createVNode as i, withCtx as S, createElementVNode as n, toDisplayString as w, withModifiers as T, createStaticVNode as U, computed as L, onMounted as P, nextTick as H, onUnmounted as V, Fragment as I, renderList as B, createCommentVNode as j } from "vue";
2
+ import { _ as D } from "./campaign-CpzFl8Vr.js";
3
+ import { u as M } from "./vue-i18n-Dn9zxRuv.js";
4
+ import { u as O, a as G, m as q } from "./useMarketingMaterialActions-CpiIKMmG.js";
5
+ import { useRouter as z } from "vue-router";
6
+ import "./index-CtJ0MQQ1.js";
7
+ import { R as K } from "./app-CyNzTZOx.js";
8
+ const Z = /* @__PURE__ */ b({
9
+ __name: "GenerateMaterialButton",
10
+ setup(l) {
11
+ const { t: r } = M(), u = O();
12
+ function a() {
13
+ u.activate({
14
+ command: "generateMarketingMaterial",
15
+ fullscreen: !0,
16
+ forceNewConversation: !0
17
+ });
18
+ }
19
+ return (t, e) => {
20
+ const m = v("FmButton");
21
+ return s(), N(m, {
22
+ label: c(r)("connect.marketing.emptyState.action"),
23
+ "prepend-icon": "wand_stars",
24
+ onClick: a
25
+ }, null, 8, ["label"]);
26
+ };
27
+ }
28
+ }), J = /* @__PURE__ */ b({
29
+ __name: "MarketingMaterialItemActionButton",
30
+ props: {
31
+ material: {}
32
+ },
33
+ emits: ["update:menuOpened"],
34
+ setup(l, { emit: r }) {
35
+ const u = l, a = r, { t } = M(), e = f(!1);
36
+ R(e, (x) => {
37
+ a("update:menuOpened", x);
38
+ });
39
+ const { shareMaterial: m, downloadMaterialImage: _, copyMaterialLink: p } = G();
40
+ async function C() {
41
+ e.value = !1, await m(u.material);
42
+ }
43
+ async function A() {
44
+ e.value = !1, await _(u.material.imageUrl);
45
+ }
46
+ async function h() {
47
+ e.value = !1, await p(u.material.imageUrl);
48
+ }
49
+ return (x, o) => {
50
+ const k = v("FmButton"), y = v("FmMenuItem"), F = v("FmMenu");
51
+ return s(), d("div", null, [
52
+ i(F, {
53
+ placement: "right-start",
54
+ shift: !0,
55
+ "model-value": e.value,
56
+ onMenuChanged: o[0] || (o[0] = (g) => e.value = g)
57
+ }, {
58
+ "menu-button": S(() => [
59
+ i(k, {
60
+ icon: "more_vert",
61
+ variant: "tertiary",
62
+ size: "md"
63
+ })
64
+ ]),
65
+ default: S(() => [
66
+ i(y, {
67
+ icon: "share",
68
+ label: c(t)("connect.marketing.actions.share"),
69
+ onClick: C
70
+ }, null, 8, ["label"]),
71
+ i(y, {
72
+ icon: "download",
73
+ label: c(t)("connect.marketing.actions.download"),
74
+ onClick: A
75
+ }, null, 8, ["label"]),
76
+ i(y, {
77
+ icon: "content_copy",
78
+ label: c(t)("connect.marketing.actions.copyLink"),
79
+ onClick: h
80
+ }, null, 8, ["label"])
81
+ ]),
82
+ _: 1
83
+ }, 8, ["model-value"])
84
+ ]);
85
+ };
86
+ }
87
+ }), Q = { class: "h-[205.5px] w-full overflow-hidden bg-fm-color-neutral-gray-100" }, W = ["src", "alt"], X = { class: "p-3" }, Y = { class: "flex items-start justify-between gap-2" }, ee = { class: "space-y-1 overflow-hidden" }, te = { class: "font-semibold text-sm text-gray-900 truncate" }, ne = { class: "text-xs text-gray-500 line-clamp-2" }, ae = {
88
+ key: 1,
89
+ class: "rounded-lg overflow-hidden border border-transparent fm-shadow-light-100 animate-pulse bg-white"
90
+ }, $ = /* @__PURE__ */ b({
91
+ __name: "MarketingMaterialItem",
92
+ props: {
93
+ material: {}
94
+ },
95
+ setup(l) {
96
+ const { t: r } = M(), u = z(), a = f(!1);
97
+ return (t, e) => l.material ? (s(), d("div", {
98
+ key: 0,
99
+ class: "group rounded-lg overflow-hidden cursor-pointer border border-transparent hover:border-blue-500 hover:bg-blue-50 transition-[border-color,background-color] fm-shadow-light-100 hover:fm-shadow-light-300",
100
+ onClick: e[2] || (e[2] = () => {
101
+ a.value || c(u).push({
102
+ name: c(K)["$connect-MARKETING_MATERIAL_EDIT"],
103
+ query: { id: l.material._id }
104
+ });
105
+ })
106
+ }, [
107
+ n("div", Q, [
108
+ n("img", {
109
+ src: l.material.imageUrl,
110
+ alt: c(r)("connect.marketing.title"),
111
+ class: "w-full h-full object-cover"
112
+ }, null, 8, W)
113
+ ]),
114
+ n("div", X, [
115
+ n("div", Y, [
116
+ n("div", ee, [
117
+ n("p", te, w(l.material.headline), 1),
118
+ n("p", ne, w(l.material.caption), 1)
119
+ ]),
120
+ i(J, {
121
+ material: l.material,
122
+ "onUpdate:menuOpened": e[0] || (e[0] = (m) => a.value = m),
123
+ onClick: e[1] || (e[1] = T(() => {
124
+ }, ["stop"]))
125
+ }, null, 8, ["material"])
126
+ ])
127
+ ])
128
+ ])) : (s(), d("div", ae, [...e[3] || (e[3] = [
129
+ U('<div class="h-[205.5px] w-full bg-fm-color-neutral-gray-100"></div><div class="p-3 space-y-2"><div class="h-[16px] w-3/4 rounded bg-fm-color-neutral-gray-100"></div><div class="h-12 w-full rounded bg-fm-color-neutral-gray-100"></div><div class="h-12 w-2/3 rounded bg-fm-color-neutral-gray-100"></div></div>', 2)
130
+ ])]));
131
+ }
132
+ }), oe = {
133
+ key: 0,
134
+ class: "px-24 xs:px-12 flex flex-col gap-y-16 py-24 xs:py-16"
135
+ }, le = { class: "fm-typo-en-title-sm-800 text-center" }, re = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary w-4/6 xs:w-full text-center" }, se = {
136
+ key: 1,
137
+ class: "px-24 xs:px-12 flex flex-col gap-y-24 xs:gap-y-16 pt-24 xs:pt-16"
138
+ }, ie = { class: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-16" }, E = 20, ve = /* @__PURE__ */ b({
139
+ __name: "Marketing",
140
+ setup(l) {
141
+ const { t: r } = M(), u = O(), a = f([]), t = f(!0), e = f(!0), m = f(null), _ = f(null);
142
+ let p = null;
143
+ const C = L(() => ({
144
+ label: r("connect.marketing.emptyState.action"),
145
+ value: "generate",
146
+ isPrimary: !0,
147
+ prependIcon: "wand_stars"
148
+ }));
149
+ function A(o) {
150
+ o === "generate" && u.activate({
151
+ command: "generateMarketingMaterial",
152
+ fullscreen: !0,
153
+ forceNewConversation: !0
154
+ });
155
+ }
156
+ async function h() {
157
+ const o = await q.listMarketingMaterials(
158
+ m.value,
159
+ E
160
+ );
161
+ a.value.push(...o.resources), m.value = o.meta.nextCursor, e.value = !!o.meta.nextCursor;
162
+ }
163
+ function x() {
164
+ p = new IntersectionObserver(
165
+ async ([o]) => {
166
+ if (!(!o.isIntersecting || !e.value || t.value)) {
167
+ t.value = !0;
168
+ try {
169
+ await h();
170
+ } catch {
171
+ } finally {
172
+ t.value = !1;
173
+ }
174
+ }
175
+ },
176
+ { rootMargin: "200px" }
177
+ ), _.value && p.observe(_.value);
178
+ }
179
+ return P(async () => {
180
+ try {
181
+ await h();
182
+ } catch {
183
+ } finally {
184
+ t.value = !1, await H(), x();
185
+ }
186
+ }), V(() => {
187
+ p == null || p.disconnect();
188
+ }), (o, k) => {
189
+ const y = v("FmPageHead"), F = v("FmCard");
190
+ return s(), d(I, null, [
191
+ i(y, {
192
+ title: c(r)("connect.marketing.title"),
193
+ actions: a.value.length > 0 ? [C.value] : [],
194
+ "onClick:action": A
195
+ }, null, 8, ["title", "actions"]),
196
+ !t.value && a.value.length === 0 ? (s(), d("div", oe, [
197
+ i(F, {
198
+ variant: "outlined",
199
+ class: "w-full justify-center items-center flex flex-col p-[24px] xs:p-16 gap-[24px] xs:gap-16"
200
+ }, {
201
+ default: S(() => [
202
+ k[0] || (k[0] = n("img", {
203
+ src: D,
204
+ class: "w-[150px]"
205
+ }, null, -1)),
206
+ n("p", le, w(c(r)("connect.marketing.emptyState.title")), 1),
207
+ n("p", re, w(c(r)("connect.marketing.emptyState.description")), 1),
208
+ i(Z)
209
+ ]),
210
+ _: 1
211
+ })
212
+ ])) : (s(), d("div", se, [
213
+ n("div", ie, [
214
+ (s(!0), d(I, null, B(a.value, (g) => (s(), N($, {
215
+ key: g._id,
216
+ material: g
217
+ }, null, 8, ["material"]))), 128)),
218
+ t.value ? (s(), d(I, { key: 0 }, B(E, (g) => i($, {
219
+ key: `skeleton-${g}`,
220
+ material: null
221
+ })), 64)) : j("", !0)
222
+ ]),
223
+ n("div", {
224
+ ref_key: "sentinel",
225
+ ref: _,
226
+ class: "h-1"
227
+ }, null, 512)
228
+ ]))
229
+ ], 64);
230
+ };
231
+ }
232
+ });
233
+ export {
234
+ ve as default
235
+ };