@feedmepos/mf-connect 0.1.0-beta.20 → 0.1.0-beta.21

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 (82) hide show
  1. package/dist/{Analytic-CRdCf6rP.js → Analytic-CZ8gfj2V.js} +8 -8
  2. package/dist/{App-CJ9oNLV2.js → App-Da9h7lhI.js} +58 -57
  3. package/dist/{Broadcast-CatMmvNa.js → Broadcast-m6ehTw7F.js} +8 -8
  4. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CYs2Sl5w.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BTKA2Ygl.js} +8 -8
  5. package/dist/{Card-C3D59N5q.js → Card-DqZveZ44.js} +15 -15
  6. package/dist/{Collections-BuCo1O9x.js → Collections-XIY6SLgQ.js} +4 -4
  7. package/dist/{Credit-Babu5EE5.js → Credit-B6Yg3_al.js} +8 -8
  8. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-DWJw6H-M.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-D1gub9ZP.js} +27 -27
  9. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-DSEvgx4z.js → EffectSheet.vue_vue_type_style_index_0_lang-tRUwA8zh.js} +6 -6
  10. package/dist/{Experience-XMGv8EGx.js → Experience-CsoneWLZ.js} +8 -8
  11. package/dist/{Game-Cz7YHbx1.js → Game-B029f9yE.js} +8 -8
  12. package/dist/Index-B2LvLfrR.js +226 -0
  13. package/dist/{Marketing-8E28mxPt.js → Marketing-DUTyDRXu.js} +5 -5
  14. package/dist/{Member-4y7vThK4.js → Member-CATybMaC.js} +4 -4
  15. package/dist/{MemberList-DFoEZqv5.js → MemberList-DxvQ7DnC.js} +14 -14
  16. package/dist/{MemberTransactions-CEud4gEU.js → MemberTransactions-fEZyBY9P.js} +1 -1
  17. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-SVX4fpOu.js → MessageInput.vue_vue_type_script_setup_true_lang-BCCEsJZj.js} +2 -2
  18. package/dist/{Mission-ChRlRXfM.js → Mission-Cl3O0ULj.js} +8 -8
  19. package/dist/Overview-BVI2xGvT.js +1014 -0
  20. package/dist/{Point-CLIcUoCI.js → Point-DSVn47pK.js} +8 -8
  21. package/dist/{Promotion-BAimCBQb.js → Promotion-C4HyMpPg.js} +9 -9
  22. package/dist/Record-BSKXwUu2.js +187 -0
  23. package/dist/{Reward-xaALJ6xT.js → Reward-Cus20Wq5.js} +10 -10
  24. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-BbpCY-d1.js → RewardGroup.vue_vue_type_script_setup_true_lang-Dm6Vgx8-.js} +12 -12
  25. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-wncxK2In.js → RuleGroup.vue_vue_type_script_setup_true_lang-CqMCdTsv.js} +14 -14
  26. package/dist/{Segment-BbholIXr.js → Segment-DAHJ2FYV.js} +13 -13
  27. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-BiT1S0GE.js → SelectItems.vue_vue_type_script_setup_true_lang-DpkIgpqy.js} +2 -2
  28. package/dist/{Setting-CuZ3rq-3.js → Setting-D7dKlTiZ.js} +8 -8
  29. package/dist/{Store-C_BMTPfl.js → Store-DQdWn1Dw.js} +19 -19
  30. package/dist/{StoreRewards-D0W2z3Gq.js → StoreRewards-Cut9mJGn.js} +12 -12
  31. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-E-QcGATx.js → StoreTransactions.vue_vue_type_script_setup_true_lang-BQscw_Di.js} +10 -10
  32. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-C-ogUCbh.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-BVzz2Zkl.js} +1 -1
  33. package/dist/{Tier-BfST7Yfl.js → Tier-DGpNybHO.js} +15 -15
  34. package/dist/{Title-CEdQyyyg.js → Title-D5y8GEwE.js} +15 -15
  35. package/dist/{Transaction-CYbYZrpN.js → Transaction-CCnZouEv.js} +2 -2
  36. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-Bgdt5pzT.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-Cr9DV7hr.js} +6 -6
  37. package/dist/{Voucher-BGFUSHh3.js → Voucher-BJ6RC4SS.js} +11 -11
  38. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-jektdiG2.js → VoucherEditor.vue_vue_type_script_setup_true_lang-6751WdaT.js} +10 -10
  39. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-Cd752C-h.js → ZodTextField.vue_vue_type_script_setup_true_lang-aq-9V3Gc.js} +1 -1
  40. package/dist/{app-TsBYmI-P.js → app-D3chCumI.js} +31 -29
  41. package/dist/{app-DkwHJjXn.js → app-PfWyqx7U.js} +1 -1
  42. package/dist/app.js +1 -1
  43. package/dist/{business-ChsnaYdk.js → business-trsrJyHK.js} +1 -1
  44. package/dist/{campaign-PnS10H-F.js → campaign-B1rgdv77.js} +2 -2
  45. package/dist/{collectible.enum-BZIdjWua.js → collectible.enum-ZoD0ya1M.js} +1 -1
  46. package/dist/{collection.fn-9np7--Dl.js → collection.fn-CnQjdokW.js} +2 -2
  47. package/dist/{dto-IypAMCcg.js → dto-DuJumvC2.js} +9 -9
  48. package/dist/{effect-CCkvCD6X.js → effect-CFYktLyZ.js} +1 -1
  49. package/dist/{email-addresses-CMJLhz7p.js → email-addresses-BocLAqLt.js} +1 -1
  50. package/dist/{export-DkjOipRl.js → export-BDxbvd3c.js} +3 -3
  51. package/dist/{helper-Bu93Ya_g.js → helper-Bx6u7f_W.js} +1 -1
  52. package/dist/{index-JFWJNgz4.js → index-7QsBQpBM.js} +4 -4
  53. package/dist/{index-CUhBmJlv.js → index-AcoIUTDS.js} +51 -47
  54. package/dist/{index-Bzy8Sl5b.js → index-BAUe6Mqp.js} +1 -1
  55. package/dist/{index-DXAQcXA8.js → index-C20tnKDo.js} +1 -1
  56. package/dist/{index-Dx6gloTe.js → index-CDgSJNKm.js} +1 -1
  57. package/dist/{index-C-FIY2IU.js → index-CTnZ9dt0.js} +3 -3
  58. package/dist/{index-CBMl7QZF.js → index-CUMB0mpB.js} +3 -3
  59. package/dist/{index-BX1M0DCt.js → index-CsF6BSZU.js} +4 -4
  60. package/dist/{index-CZETB7DA.js → index-DwXHEi0X.js} +1 -1
  61. package/dist/{index-DLlCBYOm.js → index-ZXWgygOr.js} +2 -2
  62. package/dist/{index-BRaG-yBl.js → index-_v_LQTuR.js} +3 -3
  63. package/dist/{index-De3DoZV3.js → index-kLMiwwB-.js} +1 -1
  64. package/dist/{index-yNswuwm_.js → index-pRpTA8Kd.js} +1 -1
  65. package/dist/{index.esm2017-Df64qzkh.js → index.esm2017-DuOZ7nuk.js} +1 -1
  66. package/dist/{loading-CaxzDKHL.js → loading-BTEwnG5-.js} +4 -4
  67. package/dist/{membership-BArHVjNf.js → membership-DkH7qw6W.js} +3 -3
  68. package/dist/{money-B411u9Co.js → money-BfCdj0Ts.js} +1 -1
  69. package/dist/{number-Cqu4G1FZ.js → number-BKHcstZb.js} +1 -1
  70. package/dist/{objectid-O8aKbYqY.js → objectid-CumRza_j.js} +5 -5
  71. package/dist/{reward-ikGToGDQ.js → reward-DpR3xoxT.js} +1 -1
  72. package/dist/{rule-bi_56V_m.js → rule-Hb9_sJvP.js} +3 -3
  73. package/dist/{rule-builder-DqVWht9g.js → rule-builder-BhwlX4fv.js} +1 -1
  74. package/dist/style.css +1 -1
  75. package/dist/{template-CQVQWOPN.js → template-PkDFDppy.js} +4 -4
  76. package/dist/{trigger-BEOn5QSl.js → trigger-vLHrldAH.js} +4 -4
  77. package/dist/{vue-i18n-CVFB09Jw.js → vue-i18n-ComnFt3O.js} +2 -2
  78. package/dist/{xlsx-DA3tIqnW.js → xlsx-CsUJ1mq4.js} +1 -1
  79. package/package.json +1 -1
  80. package/dist/Index-CQ4S3D3g.js +0 -218
  81. package/dist/Overview-C2xrurYW.js +0 -879
  82. package/dist/Record-D9DGLK8k.js +0 -178
@@ -1,19 +1,19 @@
1
1
  import { defineComponent as j, ref as y, watch as X, onMounted as I, resolveComponent as x, openBlock as d, createBlock as A, withCtx as L, createVNode as h, unref as t, createElementVNode as i, createElementBlock as k, Fragment as $, renderList as D, computed as G, toDisplayString as O, isRef as T, createSlots as Y, createCommentVNode as V, createTextVNode as ee, reactive as te, onBeforeMount as ae } from "vue";
2
2
  import { _ as le } from "./campaign-CpzFl8Vr.js";
3
- import "./index-CBMl7QZF.js";
4
- import { F as ne, C as oe } from "./dto-IypAMCcg.js";
3
+ import "./index-CUMB0mpB.js";
4
+ import { F as ne, C as oe } from "./dto-DuJumvC2.js";
5
5
  import { useRouter as se } from "vue-router";
6
- import { c as R } from "./index-Dx6gloTe.js";
7
- import { _ as re } from "./ZodTextField.vue_vue_type_script_setup_true_lang-Cd752C-h.js";
6
+ import { c as R } from "./index-CDgSJNKm.js";
7
+ import { _ as re } from "./ZodTextField.vue_vue_type_script_setup_true_lang-aq-9V3Gc.js";
8
8
  import { Z as ie } from "./zod-Bg2FbC-D.js";
9
9
  import { J as ue } from "./JsonViewer-v8_C7l5N.js";
10
- import { u as ce } from "./loading-CaxzDKHL.js";
10
+ import { u as ce } from "./loading-BTEwnG5-.js";
11
11
  import { useSnackbar as me } from "@feedmepos/ui-library";
12
12
  import { u as de } from "./app-wDQR6dpb.js";
13
13
  import { g as pe } from "./object-qECH92oz.js";
14
- import { u as ve } from "./campaign-PnS10H-F.js";
15
- import { u as fe } from "./membership-BArHVjNf.js";
16
- import { u as ye } from "./vue-i18n-CVFB09Jw.js";
14
+ import { u as ve } from "./campaign-B1rgdv77.js";
15
+ import { u as fe } from "./membership-DkH7qw6W.js";
16
+ import { u as ye } from "./vue-i18n-ComnFt3O.js";
17
17
  const ge = { class: "ml-32 flex flex-col" }, _e = /* @__PURE__ */ j({
18
18
  __name: "CampaignCard",
19
19
  props: {
@@ -1,16 +1,16 @@
1
- import { defineComponent as lt, ref as ne, h as Z, watch as ut, resolveComponent as Yt, openBlock as ie, createBlock as dt, unref as P, computed as Ve, onMounted as Xt, createElementBlock as $e, Fragment as Qt, createCommentVNode as He, createVNode as Zt, createElementVNode as en, nextTick as tn } from "vue";
1
+ import { defineComponent as lt, ref as ne, h as B, watch as ut, resolveComponent as Yt, openBlock as ie, createBlock as dt, unref as P, computed as Ve, onMounted as Xt, createElementBlock as $e, Fragment as Qt, createCommentVNode as He, createVNode as Zt, createElementVNode as en, nextTick as tn } from "vue";
2
2
  import { useRouter as nn, useRoute as ht, RouterView as rn } from "vue-router";
3
3
  import { useCoreStore as We, FeedMeAuth as sn } from "@feedmepos/mf-common";
4
4
  import { u as on } from "./app-wDQR6dpb.js";
5
- import { u as an } from "./business-ChsnaYdk.js";
6
- import "./index-yNswuwm_.js";
7
- import { components as ee, useSnackbar as cn, useDialog as ln } from "@feedmepos/ui-library";
8
- import { u as un } from "./vue-i18n-CVFB09Jw.js";
9
- import { R as f } from "./app-TsBYmI-P.js";
5
+ import { u as an } from "./business-trsrJyHK.js";
6
+ import "./index-pRpTA8Kd.js";
7
+ import { components as q, useSnackbar as cn, useDialog as ln } from "@feedmepos/ui-library";
8
+ import { u as un } from "./vue-i18n-ComnFt3O.js";
9
+ import { R as f } from "./app-D3chCumI.js";
10
10
  import { J as dn } from "./JsonViewer-v8_C7l5N.js";
11
- import { r as ye, L as hn, g as ft, i as fn, a as pn, _ as je, C as Ge, b as mn, S as z, c as w, d as j, E as Se, e as gn, f as pt, h as _n, j as vn, k as mt, l as g, m as In, F as Re, n as Tn, q as K, o as wn, p as yn, s as En, t as kn, u as bn } from "./index.esm2017-Df64qzkh.js";
11
+ import { r as ye, L as hn, g as ft, i as fn, a as pn, _ as je, C as Ge, b as mn, S as J, c as w, d as j, E as Se, e as gn, f as pt, h as _n, j as vn, k as mt, l as g, m as In, F as Re, n as Tn, q as Y, o as wn, p as yn, s as En, t as kn, u as bn } from "./index.esm2017-DuOZ7nuk.js";
12
12
  import { _ as Pe } from "./tslib.es6-BCqqvLQ_.js";
13
- import { S as Be, c as Sn } from "./index-CBMl7QZF.js";
13
+ import { S as Be, c as Sn } from "./index-CUMB0mpB.js";
14
14
  import { Y as Rn } from "./remy-vue-client-Cpppk9h-.js";
15
15
  const Pn = /* @__PURE__ */ lt({
16
16
  __name: "NavigationTab",
@@ -57,7 +57,7 @@ const Pn = /* @__PURE__ */ lt({
57
57
  {
58
58
  label: e("connect.navigation.point"),
59
59
  value: f["$connect-PROGRAM_POINT"],
60
- badge: () => Z(ee.FmPill, { variant: "premium" })
60
+ badge: () => B(q.FmPill, { variant: "premium" })
61
61
  },
62
62
  {
63
63
  label: e("connect.navigation.credit"),
@@ -66,7 +66,7 @@ const Pn = /* @__PURE__ */ lt({
66
66
  {
67
67
  label: e("connect.navigation.game"),
68
68
  value: f["$connect-PROGRAM_GAME"],
69
- badge: () => Z(ee.FmPill, { variant: "premium" })
69
+ badge: () => B(q.FmPill, { variant: "premium" })
70
70
  },
71
71
  {
72
72
  label: "Mission",
@@ -85,18 +85,19 @@ const Pn = /* @__PURE__ */ lt({
85
85
  {
86
86
  label: e("connect.navigation.segments"),
87
87
  value: f["$connect-LOYALTY_SEGMENT"],
88
- badge: () => Z(ee.FmPill, { variant: "premium" })
88
+ badge: () => B(q.FmPill, { variant: "premium" })
89
89
  },
90
90
  {
91
91
  label: e("connect.navigation.card"),
92
92
  value: f["$connect-LOYALTY_CARD"],
93
- badge: () => Z(ee.FmPill, { variant: "premium" })
93
+ badge: () => B(q.FmPill, { variant: "premium" })
94
94
  }
95
95
  ]
96
96
  },
97
97
  {
98
98
  label: e("connect.navigation.referral"),
99
- value: f["$connect-REFERRAL"]
99
+ value: f["$connect-REFERRAL"],
100
+ badge: () => B(q.FmPill, { variant: "premium" })
100
101
  },
101
102
  {
102
103
  label: e("connect.navigation.store"),
@@ -180,10 +181,10 @@ const On = gt, _t = new Se("auth", "Firebase", gt());
180
181
  */
181
182
  const ce = new hn("@firebase/auth");
182
183
  function Nn(n, ...e) {
183
- ce.logLevel <= mt.WARN && ce.warn(`Auth (${z}): ${n}`, ...e);
184
+ ce.logLevel <= mt.WARN && ce.warn(`Auth (${J}): ${n}`, ...e);
184
185
  }
185
186
  function re(n, ...e) {
186
- ce.logLevel <= mt.ERROR && ce.error(`Auth (${z}): ${n}`, ...e);
187
+ ce.logLevel <= mt.ERROR && ce.error(`Auth (${J}): ${n}`, ...e);
187
188
  }
188
189
  /**
189
190
  * @license
@@ -313,7 +314,7 @@ function Un() {
313
314
  * See the License for the specific language governing permissions and
314
315
  * limitations under the License.
315
316
  */
316
- class J {
317
+ class X {
317
318
  constructor(e, t) {
318
319
  this.shortDelay = e, this.longDelay = t, S(t > e, "Short delay should be less than long delay!"), this.isMobile = fn() || pn();
319
320
  }
@@ -503,7 +504,7 @@ const Dn = {
503
504
  * See the License for the specific language governing permissions and
504
505
  * limitations under the License.
505
506
  */
506
- const Fn = new J(3e4, 6e4);
507
+ const Fn = new X(3e4, 6e4);
507
508
  function fe(n, e) {
508
509
  return n.tenantId && !e.tenantId ? Object.assign(Object.assign({}, e), { tenantId: n.tenantId }) : e;
509
510
  }
@@ -513,7 +514,7 @@ async function G(n, e, t, i, r = {}) {
513
514
  i && (e === "GET" ? o = i : s = {
514
515
  body: JSON.stringify(i)
515
516
  });
516
- const c = K(Object.assign({ key: n.config.apiKey }, o)).slice(1), a = await n._getAdditionalHeaders();
517
+ const c = Y(Object.assign({ key: n.config.apiKey }, o)).slice(1), a = await n._getAdditionalHeaders();
517
518
  return a[
518
519
  "Content-Type"
519
520
  /* HttpHeader.CONTENT_TYPE */
@@ -630,7 +631,7 @@ async function Et(n, e) {
630
631
  * See the License for the specific language governing permissions and
631
632
  * limitations under the License.
632
633
  */
633
- function B(n) {
634
+ function z(n) {
634
635
  if (n)
635
636
  try {
636
637
  const e = new Date(Number(n));
@@ -651,9 +652,9 @@ async function $n(n, e = !1) {
651
652
  return {
652
653
  claims: r,
653
654
  token: i,
654
- authTime: B(Te(r.auth_time)),
655
- issuedAtTime: B(Te(r.iat)),
656
- expirationTime: B(Te(r.exp)),
655
+ authTime: z(Te(r.auth_time)),
656
+ issuedAtTime: z(Te(r.iat)),
657
+ expirationTime: z(Te(r.exp)),
657
658
  signInProvider: o || null,
658
659
  signInSecondFactor: (s == null ? void 0 : s.sign_in_second_factor) || null
659
660
  };
@@ -704,7 +705,7 @@ function ze(n) {
704
705
  * See the License for the specific language governing permissions and
705
706
  * limitations under the License.
706
707
  */
707
- async function q(n, e, t = !1) {
708
+ async function K(n, e, t = !1) {
708
709
  if (t)
709
710
  return e;
710
711
  try {
@@ -799,7 +800,7 @@ class ke {
799
800
  this.createdAt = e, this.lastLoginAt = t, this._initializeTime();
800
801
  }
801
802
  _initializeTime() {
802
- this.lastSignInTime = B(this.lastLoginAt), this.creationTime = B(this.createdAt);
803
+ this.lastSignInTime = z(this.lastLoginAt), this.creationTime = z(this.createdAt);
803
804
  }
804
805
  _copy(e) {
805
806
  this.createdAt = e.createdAt, this.lastLoginAt = e.lastLoginAt, this._initializeTime();
@@ -829,7 +830,7 @@ class ke {
829
830
  */
830
831
  async function le(n) {
831
832
  var e;
832
- const t = n.auth, i = await n.getIdToken(), r = await q(n, Et(t, { idToken: i }));
833
+ const t = n.auth, i = await n.getIdToken(), r = await K(n, Et(t, { idToken: i }));
833
834
  u(
834
835
  r == null ? void 0 : r.users.length,
835
836
  t,
@@ -890,7 +891,7 @@ function kt(n) {
890
891
  */
891
892
  async function Bn(n, e) {
892
893
  const t = await Tt(n, {}, async () => {
893
- const i = K({
894
+ const i = Y({
894
895
  grant_type: "refresh_token",
895
896
  refresh_token: e
896
897
  }).slice(1), { tokenApiHost: r, apiKey: s } = n.config, o = yt(n, r, "/v1/token", `key=${s}`), c = await n._getAdditionalHeaders();
@@ -1031,7 +1032,7 @@ class E {
1031
1032
  this.providerId = "firebase", this.proactiveRefresh = new Wn(this), this.reloadUserInfo = null, this.reloadListener = null, this.uid = t, this.auth = i, this.stsTokenManager = r, this.accessToken = r.accessToken, this.displayName = s.displayName || null, this.email = s.email || null, this.emailVerified = s.emailVerified || !1, this.phoneNumber = s.phoneNumber || null, this.photoURL = s.photoURL || null, this.isAnonymous = s.isAnonymous || !1, this.tenantId = s.tenantId || null, this.providerData = s.providerData ? [...s.providerData] : [], this.metadata = new ke(s.createdAt || void 0, s.lastLoginAt || void 0);
1032
1033
  }
1033
1034
  async getIdToken(e) {
1034
- const t = await q(this, this.stsTokenManager.getToken(this.auth, e));
1035
+ const t = await K(this, this.stsTokenManager.getToken(this.auth, e));
1035
1036
  return u(
1036
1037
  t,
1037
1038
  this.auth,
@@ -1082,7 +1083,7 @@ class E {
1082
1083
  if (w(this.auth.app))
1083
1084
  return Promise.reject(L(this.auth));
1084
1085
  const e = await this.getIdToken();
1085
- return await q(this, Vn(this.auth, { idToken: e })), this.stsTokenManager.clearRefreshToken(), this.auth.signOut();
1086
+ return await K(this, Vn(this.auth, { idToken: e })), this.stsTokenManager.clearRefreshToken(), this.auth.signOut();
1086
1087
  }
1087
1088
  toJSON() {
1088
1089
  return Object.assign(Object.assign({
@@ -1110,7 +1111,7 @@ class E {
1110
1111
  }
1111
1112
  static _fromJSON(e, t) {
1112
1113
  var i, r, s, o, c, a, l, d;
1113
- const h = (i = t.displayName) !== null && i !== void 0 ? i : void 0, _ = (r = t.email) !== null && r !== void 0 ? r : void 0, x = (s = t.phoneNumber) !== null && s !== void 0 ? s : void 0, M = (o = t.photoURL) !== null && o !== void 0 ? o : void 0, Q = (c = t.tenantId) !== null && c !== void 0 ? c : void 0, p = (a = t._redirectEventId) !== null && a !== void 0 ? a : void 0, m = (l = t.createdAt) !== null && l !== void 0 ? l : void 0, v = (d = t.lastLoginAt) !== null && d !== void 0 ? d : void 0, { uid: U, emailVerified: De, isAnonymous: Fe, providerData: ve, stsTokenManager: xe } = t;
1114
+ const h = (i = t.displayName) !== null && i !== void 0 ? i : void 0, _ = (r = t.email) !== null && r !== void 0 ? r : void 0, x = (s = t.phoneNumber) !== null && s !== void 0 ? s : void 0, M = (o = t.photoURL) !== null && o !== void 0 ? o : void 0, ee = (c = t.tenantId) !== null && c !== void 0 ? c : void 0, p = (a = t._redirectEventId) !== null && a !== void 0 ? a : void 0, m = (l = t.createdAt) !== null && l !== void 0 ? l : void 0, v = (d = t.lastLoginAt) !== null && d !== void 0 ? d : void 0, { uid: U, emailVerified: De, isAnonymous: Fe, providerData: ve, stsTokenManager: xe } = t;
1114
1115
  u(
1115
1116
  U && xe,
1116
1117
  e,
@@ -1133,7 +1134,7 @@ class E {
1133
1134
  e,
1134
1135
  "internal-error"
1135
1136
  /* AuthErrorCode.INTERNAL_ERROR */
1136
- ), R(x, e.name), R(M, e.name), R(Q, e.name), R(p, e.name), R(m, e.name), R(v, e.name);
1137
+ ), R(x, e.name), R(M, e.name), R(ee, e.name), R(p, e.name), R(m, e.name), R(v, e.name);
1137
1138
  const Ie = new E({
1138
1139
  uid: U,
1139
1140
  auth: e,
@@ -1143,7 +1144,7 @@ class E {
1143
1144
  isAnonymous: Fe,
1144
1145
  photoURL: M,
1145
1146
  phoneNumber: x,
1146
- tenantId: Q,
1147
+ tenantId: ee,
1147
1148
  stsTokenManager: Kt,
1148
1149
  createdAt: m,
1149
1150
  lastLoginAt: v
@@ -1458,7 +1459,7 @@ function Lt(n, e = []) {
1458
1459
  t = n;
1459
1460
  }
1460
1461
  const i = e.length ? e.join(",") : "FirebaseCore-web";
1461
- return `${t}/JsCore/${z}/${i}`;
1462
+ return `${t}/JsCore/${J}/${i}`;
1462
1463
  }
1463
1464
  /**
1464
1465
  * @license
@@ -2250,7 +2251,7 @@ class D extends Ut {
2250
2251
  e.pendingToken = this.pendingToken;
2251
2252
  else {
2252
2253
  const t = {};
2253
- this.idToken && (t.id_token = this.idToken), this.accessToken && (t.access_token = this.accessToken), this.secret && (t.oauth_token_secret = this.secret), t.providerId = this.providerId, this.nonce && !this.pendingToken && (t.nonce = this.nonce), e.postBody = K(t);
2254
+ this.idToken && (t.id_token = this.idToken), this.accessToken && (t.access_token = this.accessToken), this.secret && (t.oauth_token_secret = this.secret), t.providerId = this.providerId, this.nonce && !this.pendingToken && (t.nonce = this.nonce), e.postBody = Y(t);
2254
2255
  }
2255
2256
  return e;
2256
2257
  }
@@ -2324,7 +2325,7 @@ class Dt {
2324
2325
  * See the License for the specific language governing permissions and
2325
2326
  * limitations under the License.
2326
2327
  */
2327
- class Y extends Dt {
2328
+ class Q extends Dt {
2328
2329
  constructor() {
2329
2330
  super(...arguments), this.scopes = [];
2330
2331
  }
@@ -2359,7 +2360,7 @@ class Y extends Dt {
2359
2360
  * See the License for the specific language governing permissions and
2360
2361
  * limitations under the License.
2361
2362
  */
2362
- class A extends Y {
2363
+ class A extends Q {
2363
2364
  constructor() {
2364
2365
  super(
2365
2366
  "facebook.com"
@@ -2430,7 +2431,7 @@ A.PROVIDER_ID = "facebook.com";
2430
2431
  * See the License for the specific language governing permissions and
2431
2432
  * limitations under the License.
2432
2433
  */
2433
- class C extends Y {
2434
+ class C extends Q {
2434
2435
  constructor() {
2435
2436
  super(
2436
2437
  "google.com"
@@ -2506,7 +2507,7 @@ C.PROVIDER_ID = "google.com";
2506
2507
  * See the License for the specific language governing permissions and
2507
2508
  * limitations under the License.
2508
2509
  */
2509
- class O extends Y {
2510
+ class O extends Q {
2510
2511
  constructor() {
2511
2512
  super(
2512
2513
  "github.com"
@@ -2570,7 +2571,7 @@ O.PROVIDER_ID = "github.com";
2570
2571
  * See the License for the specific language governing permissions and
2571
2572
  * limitations under the License.
2572
2573
  */
2573
- class N extends Y {
2574
+ class N extends Q {
2574
2575
  constructor() {
2575
2576
  super(
2576
2577
  "twitter.com"
@@ -2706,7 +2707,7 @@ function Ft(n, e, t, i) {
2706
2707
  });
2707
2708
  }
2708
2709
  async function di(n, e, t = !1) {
2709
- const i = await q(n, e._linkToIdToken(n.auth, await n.getIdToken()), t);
2710
+ const i = await K(n, e._linkToIdToken(n.auth, await n.getIdToken()), t);
2710
2711
  return F._forOperation(n, "link", i);
2711
2712
  }
2712
2713
  /**
@@ -2731,7 +2732,7 @@ async function hi(n, e, t = !1) {
2731
2732
  return Promise.reject(L(i));
2732
2733
  const r = "reauthenticate";
2733
2734
  try {
2734
- const s = await q(n, Ft(i, r, e, n), t);
2735
+ const s = await K(n, Ft(i, r, e, n), t);
2735
2736
  u(
2736
2737
  s.idToken,
2737
2738
  i,
@@ -3321,7 +3322,7 @@ function Ri() {
3321
3322
  * limitations under the License.
3322
3323
  */
3323
3324
  const jt = "firebaseLocalStorageDb", Pi = 1, he = "firebaseLocalStorage", Gt = "fbase_key";
3324
- class X {
3325
+ class Z {
3325
3326
  constructor(e) {
3326
3327
  this.request = e;
3327
3328
  }
@@ -3340,7 +3341,7 @@ function _e(n, e) {
3340
3341
  }
3341
3342
  function Ai() {
3342
3343
  const n = indexedDB.deleteDatabase(jt);
3343
- return new X(n).toPromise();
3344
+ return new Z(n).toPromise();
3344
3345
  }
3345
3346
  function be() {
3346
3347
  const n = indexedDB.open(jt, Pi);
@@ -3365,15 +3366,15 @@ async function et(n, e, t) {
3365
3366
  [Gt]: e,
3366
3367
  value: t
3367
3368
  });
3368
- return new X(i).toPromise();
3369
+ return new Z(i).toPromise();
3369
3370
  }
3370
3371
  async function Ci(n, e) {
3371
- const t = _e(n, !1).get(e), i = await new X(t).toPromise();
3372
+ const t = _e(n, !1).get(e), i = await new Z(t).toPromise();
3372
3373
  return i === void 0 ? null : i.value;
3373
3374
  }
3374
3375
  function tt(n, e) {
3375
3376
  const t = _e(n, !0).delete(e);
3376
- return new X(t).toPromise();
3377
+ return new Z(t).toPromise();
3377
3378
  }
3378
3379
  const Oi = 800, Ni = 3;
3379
3380
  class Bt {
@@ -3491,7 +3492,7 @@ class Bt {
3491
3492
  async _poll() {
3492
3493
  const e = await this._withRetries((r) => {
3493
3494
  const s = _e(r, !1).getAll();
3494
- return new X(s).toPromise();
3495
+ return new Z(s).toPromise();
3495
3496
  });
3496
3497
  if (!e)
3497
3498
  return [];
@@ -3527,7 +3528,7 @@ class Bt {
3527
3528
  }
3528
3529
  Bt.type = "LOCAL";
3529
3530
  const Li = Bt;
3530
- new J(3e4, 6e4);
3531
+ new X(3e4, 6e4);
3531
3532
  /**
3532
3533
  * @license
3533
3534
  * Copyright 2021 Google LLC
@@ -3718,7 +3719,7 @@ class qt {
3718
3719
  * See the License for the specific language governing permissions and
3719
3720
  * limitations under the License.
3720
3721
  */
3721
- const xi = new J(2e3, 1e4);
3722
+ const xi = new X(2e3, 1e4);
3722
3723
  class V extends qt {
3723
3724
  constructor(e, t, i, r, s) {
3724
3725
  super(e, t, r, s), this.provider = i, this.authWindow = null, this.pollId = null, V.currentPopupAction && V.currentPopupAction.cancel(), V.currentPopupAction = this;
@@ -4026,7 +4027,7 @@ function Zi(n) {
4026
4027
  * See the License for the specific language governing permissions and
4027
4028
  * limitations under the License.
4028
4029
  */
4029
- const er = new J(3e4, 6e4);
4030
+ const er = new X(3e4, 6e4);
4030
4031
  function it() {
4031
4032
  const n = T().___jsl;
4032
4033
  if (n != null && n.H) {
@@ -4092,7 +4093,7 @@ function nr(n) {
4092
4093
  * See the License for the specific language governing permissions and
4093
4094
  * limitations under the License.
4094
4095
  */
4095
- const ir = new J(5e3, 15e3), rr = "__/auth/iframe", sr = "emulator/auth/iframe", or = {
4096
+ const ir = new X(5e3, 15e3), rr = "__/auth/iframe", sr = "emulator/auth/iframe", or = {
4096
4097
  style: {
4097
4098
  position: "absolute",
4098
4099
  top: "-100px",
@@ -4118,11 +4119,11 @@ function cr(n) {
4118
4119
  const t = e.emulator ? Ce(e, sr) : `https://${n.config.authDomain}/${rr}`, i = {
4119
4120
  apiKey: e.apiKey,
4120
4121
  appName: n.name,
4121
- v: z
4122
+ v: J
4122
4123
  }, r = ar.get(n.config.apiHost);
4123
4124
  r && (i.eid = r);
4124
4125
  const s = n._getFrameworks();
4125
- return s.length && (i.fw = s.join(",")), `${t}?${K(i).slice(1)}`;
4126
+ return s.length && (i.fw = s.join(",")), `${t}?${Y(i).slice(1)}`;
4126
4127
  }
4127
4128
  async function lr(n) {
4128
4129
  const e = await nr(n), t = T().gapi;
@@ -4257,7 +4258,7 @@ async function st(n, e, t, i, r, s) {
4257
4258
  appName: n.name,
4258
4259
  authType: t,
4259
4260
  redirectUrl: i,
4260
- v: z,
4261
+ v: J,
4261
4262
  eventId: r
4262
4263
  };
4263
4264
  if (e instanceof Dt) {
@@ -4265,7 +4266,7 @@ async function st(n, e, t, i, r, s) {
4265
4266
  for (const [d, h] of Object.entries({}))
4266
4267
  o[d] = h;
4267
4268
  }
4268
- if (e instanceof Y) {
4269
+ if (e instanceof Q) {
4269
4270
  const d = e.getScopes().filter((h) => h !== "");
4270
4271
  d.length > 0 && (o.scopes = d.join(","));
4271
4272
  }
@@ -4274,7 +4275,7 @@ async function st(n, e, t, i, r, s) {
4274
4275
  for (const d of Object.keys(c))
4275
4276
  c[d] === void 0 && delete c[d];
4276
4277
  const a = await n._getAppCheckToken(), l = a ? `#${Ir}=${encodeURIComponent(a)}` : "";
4277
- return `${Tr(n)}?${K(c).slice(1)}${l}`;
4278
+ return `${Tr(n)}?${Y(c).slice(1)}${l}`;
4278
4279
  }
4279
4280
  function Tr({ config: n }) {
4280
4281
  return n.emulator ? Ce(n, vr) : `https://${n.authDomain}/${_r}`;
@@ -4583,7 +4584,7 @@ const Mr = {
4583
4584
  const M = async () => {
4584
4585
  d.value = !1, await tn(), console.log("forceRerender"), Be.setBusinessId(l.value._id), await i.readPremium(), !a.value && h.value === "v2" ? e.registerSidebarComponent(Pn) : e.hideSidebarToggle(!0), await x(), a.value = !0, d.value = !0;
4585
4586
  };
4586
- async function Q() {
4587
+ async function ee() {
4587
4588
  var p;
4588
4589
  console.log("initRemyClient.."), await Rn.init({
4589
4590
  token: ((p = e.sessionUser.value) == null ? void 0 : p.token) || "",
@@ -4595,7 +4596,7 @@ const Mr = {
4595
4596
  const p = document.getElementsByClassName("app-header")[0], m = document.getElementsByClassName("app-sidebar")[0], v = document.getElementsByClassName("app-container")[0], U = document.getElementsByTagName("main")[0];
4596
4597
  p == null || p.classList.add("!hidden"), m == null || m.classList.add("!pt-0"), v == null || v.classList.add("!pt-0"), U == null || U.classList.add("!pt-0"), e.hideSidebarToggle(!0);
4597
4598
  }
4598
- l.value != null && (console.log("App mounted, forceRerender"), M()), Q();
4599
+ l.value != null && (console.log("App mounted, forceRerender"), M()), ee();
4599
4600
  }), ut(
4600
4601
  () => e.currentBusiness.value,
4601
4602
  async (p, m) => {
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as N, ref as h, computed as U, onMounted as j, resolveComponent as r, openBlock as l, createElementBlock as y, Fragment as b, createVNode as i, unref as t, createElementVNode as n, withCtx as v, renderList as E, createBlock as w, resolveDynamicComponent as H, toDisplayString as d, createCommentVNode as q, h as z } from "vue";
2
2
  import { _ as G } from "./campaign-CpzFl8Vr.js";
3
3
  import { useDialog as J, components as Q } from "@feedmepos/ui-library";
4
- import { u as W, p as X } from "./loading-CaxzDKHL.js";
5
- import { u as Y } from "./business-ChsnaYdk.js";
6
- import { u as Z } from "./campaign-PnS10H-F.js";
7
- import { g as B, a as A } from "./dto-IypAMCcg.js";
8
- import { u as ee } from "./vue-i18n-CVFB09Jw.js";
4
+ import { u as W, p as X } from "./loading-BTEwnG5-.js";
5
+ import { u as Y } from "./business-trsrJyHK.js";
6
+ import { u as Z } from "./campaign-B1rgdv77.js";
7
+ import { g as B, a as A } from "./dto-DuJumvC2.js";
8
+ import { u as ee } from "./vue-i18n-ComnFt3O.js";
9
9
  import { _ as te } from "./ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js";
10
- import { _ as ae } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-DWJw6H-M.js";
11
- import { u as oe } from "./template-CQVQWOPN.js";
12
- import { c as _ } from "./index-Dx6gloTe.js";
10
+ import { _ as ae } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-D1gub9ZP.js";
11
+ import { u as oe } from "./template-PkDFDppy.js";
12
+ import { c as _ } from "./index-CDgSJNKm.js";
13
13
  const ne = { class: "px-24 flex flex-col gap-y-16" }, se = { class: "flex items-center justify-between w-full" }, ce = { class: "flex gap-8 overflow-x-auto" }, ie = { class: "space-y-8" }, re = { class: "flex w-full gap-4 items-center" }, le = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, me = { class: "space-y-4" }, de = { class: "fm-typo-en-body-lg-600" }, pe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ue = { key: 0 }, fe = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-600" }, ge = { class: "flex flex-col gap-16 text-center" }, ye = { class: "fm-typo-en-title-sm-800" }, _e = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Re = /* @__PURE__ */ N({
14
14
  __name: "Broadcast",
15
15
  setup(he) {
@@ -1,13 +1,13 @@
1
- import { R as RuleOperator, _ } from "./index-DLlCBYOm.js";
2
- import { i as isRuleGroup } from "./rule-builder-DqVWht9g.js";
1
+ import { R as RuleOperator, _ } from "./index-ZXWgygOr.js";
2
+ import { i as isRuleGroup } from "./rule-builder-BhwlX4fv.js";
3
3
  import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, createElementVNode, createElementBlock, Fragment, renderList, createVNode, toDisplayString } from "vue";
4
4
  import { useDialog } from "@feedmepos/ui-library";
5
- import "./index-C-FIY2IU.js";
6
- import { a as F_RUNNABLE_CAMPAIGN_TYPE } from "./index-BX1M0DCt.js";
7
- import "./index-JFWJNgz4.js";
8
- import "./index-CUhBmJlv.js";
9
- import "./index-DXAQcXA8.js";
10
- import "./index-BRaG-yBl.js";
5
+ import "./index-CTnZ9dt0.js";
6
+ import { a as F_RUNNABLE_CAMPAIGN_TYPE } from "./index-CsF6BSZU.js";
7
+ import "./index-7QsBQpBM.js";
8
+ import "./index-AcoIUTDS.js";
9
+ import "./index-C20tnKDo.js";
10
+ import "./index-_v_LQTuR.js";
11
11
  function validateRule(data, r, date) {
12
12
  const rules = new RuleOperator(date ?? /* @__PURE__ */ new Date());
13
13
  function meetConditions(e) {
@@ -2,26 +2,26 @@ import { defineComponent as K, ref as f, computed as I, watch as re, onMounted a
2
2
  import { _ as ce } from "./campaign-CpzFl8Vr.js";
3
3
  import { h as te } from "./moment-BWErdI6_.js";
4
4
  import { useDialog as pe, components as fe } from "@feedmepos/ui-library";
5
- import { p as ge, u as Q, f as ae } from "./loading-CaxzDKHL.js";
5
+ import { p as ge, u as Q, f as ae } from "./loading-BTEwnG5-.js";
6
6
  import { u as be } from "./app-wDQR6dpb.js";
7
- import { u as X } from "./membership-BArHVjNf.js";
7
+ import { u as X } from "./membership-DkH7qw6W.js";
8
8
  import { _ as le } from "./CustomSelect.vue_vue_type_script_setup_true_lang-DLnvDVgf.js";
9
- import { m as J } from "./index-Bzy8Sl5b.js";
9
+ import { m as J } from "./index-BAUe6Mqp.js";
10
10
  import { _ as oe } from "./ImageInput.vue_vue_type_script_setup_true_lang-rWUkV9gn.js";
11
- import "./index-C-FIY2IU.js";
12
- import "./index-DLlCBYOm.js";
13
- import { k as ye } from "./index-BX1M0DCt.js";
14
- import "./index-JFWJNgz4.js";
15
- import "./index-CUhBmJlv.js";
16
- import "./index-DXAQcXA8.js";
17
- import "./index-BRaG-yBl.js";
18
- import { O as ve } from "./objectid-O8aKbYqY.js";
11
+ import "./index-CTnZ9dt0.js";
12
+ import "./index-ZXWgygOr.js";
13
+ import { k as ye } from "./index-CsF6BSZU.js";
14
+ import "./index-7QsBQpBM.js";
15
+ import "./index-AcoIUTDS.js";
16
+ import "./index-C20tnKDo.js";
17
+ import "./index-_v_LQTuR.js";
18
+ import { O as ve } from "./objectid-CumRza_j.js";
19
19
  import { a as xe } from "./object-qECH92oz.js";
20
- import { u as he } from "./business-ChsnaYdk.js";
21
- import { w as Ce } from "./xlsx-DA3tIqnW.js";
22
- import { e as _e, C as Se } from "./export-DkjOipRl.js";
20
+ import { u as he } from "./business-trsrJyHK.js";
21
+ import { w as Ce } from "./xlsx-CsUJ1mq4.js";
22
+ import { e as _e, C as Se } from "./export-BDxbvd3c.js";
23
23
  import { u as we, _ as Fe } from "./usePagination-BeF5K3M7.js";
24
- import { u as ke } from "./vue-i18n-CVFB09Jw.js";
24
+ import { u as ke } from "./vue-i18n-ComnFt3O.js";
25
25
  import { o as Ve } from "./objectId-dwaoBfJX.js";
26
26
  const $e = { class: "space-y-16" }, De = { class: "gap-16 grid grid-cols-2" }, Me = { class: "space-y-16" }, Ue = {
27
27
  key: 0,
@@ -4,14 +4,14 @@ var $ = (f, r, u) => te(f, typeof r != "symbol" ? r + "" : r, u);
4
4
  import { defineComponent as H, ref as p, computed as J, watch as O, resolveComponent as d, openBlock as y, createBlock as T, unref as o, isRef as K, withCtx as I, createElementVNode as b, createVNode as s, createElementBlock as R, Fragment as N, renderList as ae, createCommentVNode as P, onMounted as le, h as S } from "vue";
5
5
  import { h as j } from "./moment-BWErdI6_.js";
6
6
  import { components as G } from "@feedmepos/ui-library";
7
- import { u as Q, a as ne } from "./loading-CaxzDKHL.js";
7
+ import { u as Q, a as ne } from "./loading-BTEwnG5-.js";
8
8
  import { J as se } from "./JsonViewer-v8_C7l5N.js";
9
9
  import { u as re } from "./app-wDQR6dpb.js";
10
10
  import { useRoute as W, useRouter as ie } from "vue-router";
11
- import { c as A } from "./index-Dx6gloTe.js";
12
- import { u as z, w as de } from "./xlsx-DA3tIqnW.js";
11
+ import { c as A } from "./index-CDgSJNKm.js";
12
+ import { u as z, w as de } from "./xlsx-CsUJ1mq4.js";
13
13
  import { u as ue, _ as ce } from "./usePagination-BeF5K3M7.js";
14
- import { m as me } from "./index-Bzy8Sl5b.js";
14
+ import { m as me } from "./index-BAUe6Mqp.js";
15
15
  import { o as pe } from "./objectId-dwaoBfJX.js";
16
16
  const fe = { class: "space-y-16" }, ge = { class: "gap-16 grid grid-cols-2" }, be = { class: "flex items-center gap-8" }, Ce = /* @__PURE__ */ H({
17
17
  __name: "CreateCollectionSheet",
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as N, ref as S, computed as j, h as M, onMounted as A, resolveComponent as l, openBlock as c, createElementBlock as y, Fragment as h, createVNode as i, unref as a, createElementVNode as n, withCtx as C, renderList as H, createBlock as v, resolveDynamicComponent as q, toDisplayString as g, createCommentVNode as z } from "vue";
2
2
  import { _ as G } from "./campaign-CpzFl8Vr.js";
3
3
  import { useDialog as J, components as O } from "@feedmepos/ui-library";
4
- import { p as Q, u as W } from "./loading-CaxzDKHL.js";
5
- import { u as X } from "./business-ChsnaYdk.js";
6
- import { u as Y } from "./campaign-PnS10H-F.js";
7
- import { g as V, a as L } from "./dto-IypAMCcg.js";
8
- import { u as Z } from "./vue-i18n-CVFB09Jw.js";
4
+ import { p as Q, u as W } from "./loading-BTEwnG5-.js";
5
+ import { u as X } from "./business-trsrJyHK.js";
6
+ import { u as Y } from "./campaign-B1rgdv77.js";
7
+ import { g as V, a as L } from "./dto-DuJumvC2.js";
8
+ import { u as Z } from "./vue-i18n-ComnFt3O.js";
9
9
  import { _ as ee } from "./ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js";
10
- import { _ as oe } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-DWJw6H-M.js";
11
- import { u as te } from "./template-CQVQWOPN.js";
12
- import { c as _ } from "./index-Dx6gloTe.js";
10
+ import { _ as oe } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-D1gub9ZP.js";
11
+ import { u as te } from "./template-PkDFDppy.js";
12
+ import { c as _ } from "./index-CDgSJNKm.js";
13
13
  const ae = { class: "px-24 flex flex-col gap-y-16" }, ne = { class: "flex items-center justify-between w-full" }, re = { class: "flex gap-8 overflow-x-auto" }, se = { class: "space-y-8" }, ie = { class: "flex w-full gap-4 items-center" }, le = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ce = { class: "space-y-4" }, me = { class: "fm-typo-en-body-lg-600" }, de = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, pe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ue = { key: 0 }, Ve = /* @__PURE__ */ N({
14
14
  __name: "Credit",
15
15
  setup(fe) {