@feedmepos/mf-brand-app-builder 0.5.13-alpha → 0.5.14-alpha

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 (133) hide show
  1. package/dist/App-Xo6sYLKN.js +107 -0
  2. package/dist/{AssetsSettings-BrFOHUWK.js → AssetsSettings-GYv5Lgbv.js} +11 -11
  3. package/dist/BaDivider-Cp9gfB4r.js +10 -0
  4. package/dist/BuilderView-DbmdbQY9.js +9346 -0
  5. package/dist/{ButtonGroup-B3ba45VA.js → ButtonGroup-CbW3Lnxj.js} +2 -2
  6. package/dist/{CircularProgress-h90pbjU3.js → CircularProgress-DdblYCtV.js} +4 -4
  7. package/dist/ColorPicker-CD7uePb_.js +590 -0
  8. package/dist/HomeView-3aPMgIRl.js +10 -0
  9. package/dist/{Icon.vue_vue_type_style_index_0_lang-CVCHCcWR.js → Icon.vue_vue_type_style_index_0_lang-BcRjQndc.js} +2 -2
  10. package/dist/{ImageUpload-DxE1yPGA.js → ImageUpload-DbMJq_mi.js} +9 -9
  11. package/dist/{LinkButton-Cbch02ih.js → LinkButton-PteLpFYx.js} +44 -44
  12. package/dist/{ListRepeater-Btngd8M3.js → ListRepeater-QEdnv9ML.js} +2 -2
  13. package/dist/{ManagementSettings-de-TEfbe.js → ManagementSettings-A6ZjMlBQ.js} +3 -3
  14. package/dist/ProjectView-BWC0s0Bv.js +509 -0
  15. package/dist/{Select-CbQFoAzb.js → Select-C2r_c4vv.js} +2 -2
  16. package/dist/{SettingsView-DFAxZPug.js → SettingsView-BUGfoZhA.js} +2 -2
  17. package/dist/{StepperField-DrHM9EDn.js → StepperField-xVvcmxNx.js} +2 -2
  18. package/dist/{Switch-8mmNQUDo.js → Switch-uc_zN-mb.js} +2 -2
  19. package/dist/{TextAlign-BOC8ekaH.js → TextAlign-BSp1Xi7F.js} +2 -2
  20. package/dist/{TextDecorators-BJC4umDR.js → TextDecorators-1C54q7us.js} +4 -4
  21. package/dist/{TextField-BiVH5rLX.js → TextField-DfBJB6vQ.js} +2 -2
  22. package/dist/{TextStyleList-CuPE80Py.js → TextStyleList-Bef3irUx.js} +3 -3
  23. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  24. package/dist/{app-s4CdT1Jt.js → app-DVFhgbmV.js} +42 -33
  25. package/dist/app.js +1 -1
  26. package/dist/components/src/components/BranchList.vue.d.ts +1 -1
  27. package/dist/components/src/components/ButtonList.vue.d.ts +1 -1
  28. package/dist/components/src/components/CountrySwitcher.vue.d.ts +1 -1
  29. package/dist/components/src/components/Homepage.vue.d.ts +5 -3
  30. package/dist/components/src/components/ImageCarousel.vue.d.ts +1 -1
  31. package/dist/components/src/components/ImageDisplay.vue.d.ts +1 -1
  32. package/dist/components/src/components/Member/MemberAchievements.vue.d.ts +33 -0
  33. package/dist/components/src/components/Member/MemberButtonList.vue.d.ts +21 -0
  34. package/dist/components/src/components/Member/MemberCards.vue.d.ts +19 -0
  35. package/dist/components/src/components/Member/MemberSummary.vue.d.ts +24 -0
  36. package/dist/components/src/components/Member/TransactionList.vue.d.ts +5 -0
  37. package/dist/components/src/components/MemberCard.vue.d.ts +1 -1
  38. package/dist/components/src/components/NavigationBar.vue.d.ts +17 -0
  39. package/dist/components/src/components/OrderHistoryCard.vue.d.ts +1 -1
  40. package/dist/components/src/components/OrderMethod.vue.d.ts +1 -1
  41. package/dist/components/src/components/TextDisplay.vue.d.ts +1 -1
  42. package/dist/components/src/components/atoms/Button.vue.d.ts +4 -4
  43. package/dist/components/src/components/atoms/CircularProgress.vue.d.ts +1 -1
  44. package/dist/components/src/components/atoms/Container.vue.d.ts +4 -3
  45. package/dist/components/src/components/atoms/Divider.vue.d.ts +1 -1
  46. package/dist/components/src/components/atoms/Icon.vue.d.ts +1 -1
  47. package/dist/components/src/components/atoms/LinkSlot.vue.d.ts +4 -4
  48. package/dist/components/src/main.d.ts +10 -1
  49. package/dist/components/src/utils/date.d.ts +22 -0
  50. package/dist/components/src/views/OrderDetails.vue.d.ts +1 -1
  51. package/dist/components/src/views/_Credit.vue.d.ts +20 -0
  52. package/dist/components/src/views/_MemberProfile.vue.d.ts +39 -0
  53. package/dist/components/src/views/_Point.vue.d.ts +20 -0
  54. package/dist/components/src/views/_Referral.vue.d.ts +31 -0
  55. package/dist/components/src/views/_ReferralTutorial.vue.d.ts +23 -0
  56. package/dist/{image-C-MNSOjE.js → image-BTKrdsxd.js} +11 -11
  57. package/dist/index-CVTxYyKn.js +194 -0
  58. package/dist/{index-C4WOObjm.js → index-DIGmVQHT.js} +51 -51
  59. package/dist/{index-D2kxtvYi.js → index-H0Aroxdr.js} +1 -1
  60. package/dist/index-tAs8jqUd.js +1737 -0
  61. package/dist/main-DsKVTvvP.js +7980 -0
  62. package/dist/merchant/src/api/template/index.d.ts +2 -2
  63. package/dist/merchant/src/app.d.ts +1 -1
  64. package/dist/merchant/src/components/atoms/BaButtonGroup.vue.d.ts +1 -1
  65. package/dist/merchant/src/components/atoms/BaDivider.vue.d.ts +1 -1
  66. package/dist/merchant/src/components/editor/Editor.vue.d.ts +1 -1
  67. package/dist/merchant/src/components/editor/EditorFloatingToobar.vue.d.ts +1 -1
  68. package/dist/merchant/src/components/editor/toolbar/EditorToolbar.vue.d.ts +1 -1
  69. package/dist/merchant/src/components/element-sidebar/ElementSidebar.vue.d.ts +1 -1
  70. package/dist/merchant/src/components/inputs/ColorPicker.vue.d.ts +2 -1
  71. package/dist/merchant/src/components/inputs/ImageUpload.vue.d.ts +1 -1
  72. package/dist/merchant/src/components/inputs/TextAlign.vue.d.ts +1 -1
  73. package/dist/merchant/src/components/inputs/TextDecorators.vue.d.ts +1 -1
  74. package/dist/merchant/src/components/inputs/TextStyleList.vue.d.ts +1 -1
  75. package/dist/merchant/src/components/inspector/Inspector.vue.d.ts +1 -1
  76. package/dist/merchant/src/components/inspector/atoms/ConfigSection.vue.d.ts +3 -3
  77. package/dist/merchant/src/components/inspector/atoms/ConfigTab.vue.d.ts +3 -3
  78. package/dist/merchant/src/components/inspector/atoms/ConfigTabItem.vue.d.ts +3 -3
  79. package/dist/merchant/src/components/inspector/atoms/ConfigTabTitle.vue.d.ts +1 -1
  80. package/dist/merchant/src/components/navigation-sidebar/NavigationSidebar.vue.d.ts +1 -1
  81. package/dist/merchant/src/components/settings/AssetsSettings.vue.d.ts +1 -1
  82. package/dist/merchant/src/components/settings/ManagementSettings.vue.d.ts +1 -1
  83. package/dist/merchant/src/composables/useNode/index.d.ts +1 -1
  84. package/dist/merchant/src/node-configs/branch-list/props.d.ts +1 -0
  85. package/dist/merchant/src/node-configs/button-list/props.d.ts +1 -0
  86. package/dist/merchant/src/node-configs/carousel/props.d.ts +1 -0
  87. package/dist/merchant/src/node-configs/container/props.d.ts +28 -0
  88. package/dist/merchant/src/node-configs/display-image/props.d.ts +1 -0
  89. package/dist/merchant/src/node-configs/display-text/props.d.ts +1 -0
  90. package/dist/merchant/src/node-configs/member-achievements/mock-data.d.ts +15 -0
  91. package/dist/merchant/src/node-configs/member-achievements/props.d.ts +40 -0
  92. package/dist/merchant/src/node-configs/member-achievements/schema.d.ts +2 -0
  93. package/dist/merchant/src/node-configs/member-button-list/props.d.ts +31 -0
  94. package/dist/merchant/src/node-configs/member-button-list/schema.d.ts +2 -0
  95. package/dist/merchant/src/node-configs/member-card/props.d.ts +1 -0
  96. package/dist/merchant/src/node-configs/member-cards/mock-data.d.ts +3 -0
  97. package/dist/merchant/src/node-configs/member-cards/props.d.ts +24 -0
  98. package/dist/merchant/src/node-configs/member-cards/schema.d.ts +2 -0
  99. package/dist/merchant/src/node-configs/member-history/mock-data.d.ts +843 -0
  100. package/dist/merchant/src/node-configs/member-history/props.d.ts +1692 -0
  101. package/dist/merchant/src/node-configs/member-history/schema.d.ts +3 -0
  102. package/dist/merchant/src/node-configs/member-profile/props.d.ts +449 -0
  103. package/dist/merchant/src/node-configs/member-profile/schema.d.ts +2 -0
  104. package/dist/merchant/src/node-configs/member-referral/props.d.ts +98 -0
  105. package/dist/merchant/src/node-configs/member-referral/schema.d.ts +2 -0
  106. package/dist/merchant/src/node-configs/member-referral-tutorial/props.d.ts +8 -0
  107. package/dist/merchant/src/node-configs/member-referral-tutorial/schema.d.ts +2 -0
  108. package/dist/merchant/src/node-configs/member-summary/mock-data.d.ts +9 -0
  109. package/dist/merchant/src/node-configs/member-summary/props.d.ts +32 -0
  110. package/dist/merchant/src/node-configs/member-summary/schema.d.ts +2 -0
  111. package/dist/merchant/src/node-configs/mock-data.d.ts +5 -1
  112. package/dist/merchant/src/node-configs/order-history-card/props.d.ts +1 -0
  113. package/dist/merchant/src/node-configs/order-method/props.d.ts +1 -0
  114. package/dist/merchant/src/node-configs/props.d.ts +9 -1
  115. package/dist/merchant/src/node-configs/schema.d.ts +9 -1
  116. package/dist/merchant/src/stores/editor/index.d.ts +1 -1
  117. package/dist/merchant/src/stores/template/index.d.ts +85 -6
  118. package/dist/merchant/src/views/BuilderView.vue.d.ts +1 -1
  119. package/dist/merchant/src/views/HomeView.vue.d.ts +1 -1
  120. package/dist/merchant/src/views/ProjectView.vue.d.ts +2 -0
  121. package/dist/merchant/src/views/SettingsView.vue.d.ts +1 -1
  122. package/dist/merchant/src/views/views.d.ts +11 -0
  123. package/dist/package.json +5 -2
  124. package/dist/style.css +1 -1
  125. package/dist/{v4-ANoOI1Qw.js → v4-CKwdnpQf.js} +8 -8
  126. package/dist/views-Dd4l-D61.js +89 -0
  127. package/package.json +5 -2
  128. package/dist/App-Dx-zim3o.js +0 -99
  129. package/dist/BuilderView-qdOop6ed.js +0 -5498
  130. package/dist/ColorPicker-DAysa9fA.js +0 -22
  131. package/dist/index-C1ZVL1AH.js +0 -1729
  132. package/dist/index-WtAjKyig.js +0 -188
  133. package/dist/main-CZCjdYQJ.js +0 -6726
@@ -1,30 +1,39 @@
1
- import { defineAsyncComponent as L, defineComponent as dr, getCurrentInstance as ct, markRaw as nt, watch as Re, watchEffect as ne, reactive as Ie, onMounted as yr, onUnmounted as vn, ref as z, isRef as pt, h as mt, inject as qe, computed as me, provide as gn, toRef as hn, onBeforeUnmount as bn, nextTick as $n, triggerRef as Te, isReactive as Dt, createTextVNode as _n, resolveComponent as wn } from "vue";
1
+ import { defineAsyncComponent as L, defineComponent as dr, getCurrentInstance as ct, markRaw as nt, watch as Re, watchEffect as ne, reactive as Ie, onMounted as yr, onUnmounted as vn, h as pt, ref as z, inject as qe, computed as me, provide as gn, toRef as hn, onBeforeUnmount as bn, isRef as mt, createTextVNode as $n, resolveComponent as _n, nextTick as wn, triggerRef as Te, isReactive as Dt } from "vue";
2
2
  const vo = [
3
- // {
4
- // path: '/',
5
- // name: 'home',
6
- // component: HomeView,
7
- // },
8
3
  {
9
- path: "/builder",
4
+ path: "/",
5
+ name: "home",
6
+ component: L(() => import("./HomeView-3aPMgIRl.js"))
7
+ },
8
+ {
9
+ path: "/projects",
10
+ name: "projects",
11
+ component: L(() => import("./ProjectView-BWC0s0Bv.js"))
12
+ },
13
+ {
14
+ path: "/builder/:templateId(.*)*",
10
15
  name: "builder",
11
- component: L(() => import("./BuilderView-qdOop6ed.js"))
16
+ component: L(() => import("./BuilderView-DbmdbQY9.js"))
12
17
  },
13
18
  {
14
19
  path: "/settings",
15
20
  name: "settings",
16
- component: L(() => import("./SettingsView-DFAxZPug.js")),
21
+ component: L(() => import("./SettingsView-BUGfoZhA.js")),
17
22
  redirect: { name: "settings-assets" },
18
23
  children: [
19
24
  {
20
25
  path: "assets",
21
26
  name: "settings-assets",
22
- component: L(() => import("./AssetsSettings-BrFOHUWK.js"))
27
+ component: L(
28
+ () => import("./AssetsSettings-GYv5Lgbv.js")
29
+ )
23
30
  },
24
31
  {
25
32
  path: "management",
26
33
  name: "settings-management",
27
- component: L(() => import("./ManagementSettings-de-TEfbe.js"))
34
+ component: L(
35
+ () => import("./ManagementSettings-A6ZjMlBQ.js")
36
+ )
28
37
  }
29
38
  ]
30
39
  },
@@ -3764,7 +3773,7 @@ var Rl = (e, t) => {
3764
3773
  t.ledger.count("errors", (f) => f.type === "error");
3765
3774
  const n = z(!!t.ledger.value("errors"));
3766
3775
  let s = !1;
3767
- $n(() => {
3776
+ wn(() => {
3768
3777
  s = !0;
3769
3778
  });
3770
3779
  const i = Ie(
@@ -3951,9 +3960,9 @@ var Rl = (e, t) => {
3951
3960
  f.props && E(f.props);
3952
3961
  }
3953
3962
  t.props.definition && j(t.props.definition), t.on("added-props", ({ payload: f }) => E(f)), t.on("input", ({ payload: f }) => {
3954
- t.type !== "input" && !pt(f) && !Dt(f) ? u.value = dt(f) : (u.value = f, Te(u));
3963
+ t.type !== "input" && !mt(f) && !Dt(f) ? u.value = dt(f) : (u.value = f, Te(u));
3955
3964
  }), t.on("commitRaw", ({ payload: f }) => {
3956
- t.type !== "input" && !pt(f) && !Dt(f) ? w.value = u.value = dt(f) : (w.value = u.value = f, Te(w)), t.emit("modelUpdated");
3965
+ t.type !== "input" && !mt(f) && !Dt(f) ? w.value = u.value = dt(f) : (w.value = u.value = f, Te(w)), t.emit("modelUpdated");
3957
3966
  }), t.on("commit", ({ payload: f }) => {
3958
3967
  var k;
3959
3968
  if ((!p.state.dirty || p.dirtyBehavior === "compare") && t.isCreated && s)
@@ -4041,7 +4050,7 @@ function zl(e, t) {
4041
4050
  const n = e.split(".");
4042
4051
  return ne(() => {
4043
4052
  r.value = Nt(
4044
- pt(t) ? t.value : t,
4053
+ mt(t) ? t.value : t,
4045
4054
  n
4046
4055
  );
4047
4056
  }), r;
@@ -4178,11 +4187,11 @@ function ur(e, t, r) {
4178
4187
  return c() ? _(p) : S && S(p);
4179
4188
  if (m && (!c || c())) {
4180
4189
  if (m === "text" && _)
4181
- return _n(String(_()));
4190
+ return $n(String(_()));
4182
4191
  if (m === "slot" && _)
4183
4192
  return _(p);
4184
- const E = w ? wn(m) : m, R = _ != null && _.slot ? l(_, p) : null;
4185
- return mt(
4193
+ const E = w ? _n(m) : m, R = _ != null && _.slot ? l(_, p) : null;
4194
+ return pt(
4186
4195
  E,
4187
4196
  d(),
4188
4197
  R || (_ ? _(p) : [])
@@ -4347,7 +4356,7 @@ function Yl(e, t) {
4347
4356
  if (r.props.definition || W(600, r), r.props.definition.component)
4348
4357
  return () => {
4349
4358
  var y;
4350
- return mt(
4359
+ return pt(
4351
4360
  (y = r.props.definition) == null ? void 0 : y.component,
4352
4361
  {
4353
4362
  context: r.context
@@ -4373,7 +4382,7 @@ function Yl(e, t) {
4373
4382
  function o() {
4374
4383
  r.emit("mounted");
4375
4384
  }
4376
- return t.expose({ node: r }), () => mt(
4385
+ return t.expose({ node: r }), () => pt(
4377
4386
  pn,
4378
4387
  {
4379
4388
  schema: n.value,
@@ -4665,22 +4674,22 @@ const go = (e) => {
4665
4674
  Xl,
4666
4675
  Vt({
4667
4676
  inputs: {
4668
- BaTextField: B(L(() => import("./TextField-BiVH5rLX.js"))),
4669
- BaStepperField: B(L(() => import("./StepperField-DrHM9EDn.js")), { props: ["suffix", "disabled"] }),
4670
- BaColorPicker: B(L(() => import("./ColorPicker-DAysa9fA.js"))),
4671
- BaSelect: B(L(() => import("./Select-CbQFoAzb.js")), { props: ["selectItems"] }),
4672
- BaListRepeater: B(L(() => import("./ListRepeater-Btngd8M3.js"))),
4673
- BaTextStyleList: B(L(() => import("./TextStyleList-CuPE80Py.js"))),
4674
- BaTextAlign: B(L(() => import("./TextAlign-BOC8ekaH.js"))),
4675
- BaTextDecorators: B(L(() => import("./TextDecorators-BJC4umDR.js"))),
4676
- BaImageUpload: B(L(() => import("./ImageUpload-DxE1yPGA.js"))),
4677
- BaLinkButton: B(L(() => import("./LinkButton-Cbch02ih.js"))),
4678
- BaSwitch: B(L(() => import("./Switch-8mmNQUDo.js"))),
4679
- BaButtonGroup: B(L(() => import("./ButtonGroup-B3ba45VA.js")), { props: ["groupItems"] })
4677
+ BaTextField: B(L(() => import("./TextField-DfBJB6vQ.js"))),
4678
+ BaStepperField: B(L(() => import("./StepperField-xVvcmxNx.js")), { props: ["suffix", "disabled"] }),
4679
+ BaColorPicker: B(L(() => import("./ColorPicker-CD7uePb_.js"))),
4680
+ BaSelect: B(L(() => import("./Select-C2r_c4vv.js")), { props: ["selectItems"] }),
4681
+ BaListRepeater: B(L(() => import("./ListRepeater-QEdnv9ML.js"))),
4682
+ BaTextStyleList: B(L(() => import("./TextStyleList-Bef3irUx.js"))),
4683
+ BaTextAlign: B(L(() => import("./TextAlign-BSp1Xi7F.js"))),
4684
+ BaTextDecorators: B(L(() => import("./TextDecorators-1C54q7us.js"))),
4685
+ BaImageUpload: B(L(() => import("./ImageUpload-DbMJq_mi.js"))),
4686
+ BaLinkButton: B(L(() => import("./LinkButton-PteLpFYx.js"))),
4687
+ BaSwitch: B(L(() => import("./Switch-uc_zN-mb.js"))),
4688
+ BaButtonGroup: B(L(() => import("./ButtonGroup-CbW3Lnxj.js")), { props: ["groupItems"] })
4680
4689
  }
4681
4690
  })
4682
4691
  );
4683
- }, ho = L(() => import("./App-Dx-zim3o.js"));
4692
+ }, ho = L(() => import("./App-Xo6sYLKN.js"));
4684
4693
  export {
4685
4694
  dn as F,
4686
4695
  pn as a,
package/dist/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "vue";
2
- import { b as p, c as s, r as t } from "./app-s4CdT1Jt.js";
2
+ import { b as p, c as s, r as t } from "./app-DVFhgbmV.js";
3
3
  export {
4
4
  p as FmApp,
5
5
  s as FormKitPlugin,
@@ -11,5 +11,5 @@ declare const _default: import("vue").DefineComponent<IBranchListProps, {}, {},
11
11
  click: () => any;
12
12
  }, string, import("vue").PublicProps, Readonly<IBranchListProps> & Readonly<{
13
13
  onClick?: (() => any) | undefined;
14
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
15
  export default _default;
@@ -15,5 +15,5 @@ declare const _default: import("vue").DefineComponent<IButtonListProps, {}, {},
15
15
  linkClick: (linkTo: ILink) => any;
16
16
  }, string, import("vue").PublicProps, Readonly<IButtonListProps> & Readonly<{
17
17
  onLinkClick?: ((linkTo: ILink) => any) | undefined;
18
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
18
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
19
  export default _default;
@@ -8,5 +8,5 @@ declare const _default: import("vue").DefineComponent<ITextDisplayProps, {}, {},
8
8
  switchCountry: () => any;
9
9
  }, string, import("vue").PublicProps, Readonly<ITextDisplayProps> & Readonly<{
10
10
  onSwitchCountry?: (() => any) | undefined;
11
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
12
  export default _default;
@@ -5,12 +5,14 @@ interface IHomepageProps {
5
5
  paddingLeft?: string;
6
6
  paddingRight?: string;
7
7
  backgroundColor?: string;
8
+ hideCountrySwitcher?: boolean;
9
+ showNavigationBar?: boolean;
8
10
  }
9
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<IHomepageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IHomepageProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>, {
10
- default?(_: {}): any;
11
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<IHomepageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IHomepageProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
12
+ default?: ((props: {}) => any) | undefined;
11
13
  }>;
12
14
  export default _default;
13
- type __VLS_WithTemplateSlots<T, S> = T & {
15
+ type __VLS_WithSlots<T, S> = T & {
14
16
  new (): {
15
17
  $slots: S;
16
18
  };
@@ -16,5 +16,5 @@ declare const _default: import("vue").DefineComponent<IImageCarousel, {}, {}, {}
16
16
  linkClick: (linkTo: ILink) => any;
17
17
  }, string, import("vue").PublicProps, Readonly<IImageCarousel> & Readonly<{
18
18
  onLinkClick?: ((linkTo: ILink) => any) | undefined;
19
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
20
  export default _default;
@@ -11,5 +11,5 @@ declare const _default: import("vue").DefineComponent<IImageDisplayProps, {}, {}
11
11
  linkClick: (linkTo: ILink) => any;
12
12
  }, string, import("vue").PublicProps, Readonly<IImageDisplayProps> & Readonly<{
13
13
  onLinkClick?: ((linkTo: ILink) => any) | undefined;
14
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
15
  export default _default;
@@ -0,0 +1,33 @@
1
+ import { type IContainerProps } from '../atoms/Container.vue';
2
+ import type { ILink } from '../atoms/LinkSlot.vue';
3
+ interface IMembershipCardData {
4
+ memberImage: string;
5
+ memberName: string;
6
+ memberTierImageURL: string;
7
+ memberTierName: string;
8
+ memberCredit: number;
9
+ memberPoints: number;
10
+ memberTitles: string[];
11
+ memberCurrentTierTotal: number;
12
+ memberPointToNextTier: number;
13
+ membership: any;
14
+ }
15
+ interface IMemberAchievementProps {
16
+ containerStyles: IContainerProps;
17
+ data: IMembershipCardData | null;
18
+ showTier: boolean;
19
+ tierColor: string;
20
+ showTitle: boolean;
21
+ titleColor: string;
22
+ buttonTextColor: string;
23
+ buttonFillColor: string;
24
+ }
25
+ declare const _default: import("vue").DefineComponent<IMemberAchievementProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
26
+ linkClick: (link: ILink) => any;
27
+ }, string, import("vue").PublicProps, Readonly<IMemberAchievementProps> & Readonly<{
28
+ onLinkClick?: ((link: ILink) => any) | undefined;
29
+ }>, {
30
+ showTier: boolean;
31
+ showTitle: boolean;
32
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
33
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import { type IContainerProps } from '../atoms/Container.vue';
2
+ import { type ILink } from '../atoms/LinkSlot.vue';
3
+ interface IListItem {
4
+ label: string;
5
+ imageUrl: string;
6
+ iconName: string;
7
+ linkTo: ILink;
8
+ }
9
+ interface IButtonListProps {
10
+ containerStyles: IContainerProps;
11
+ items: IListItem[];
12
+ itemsPerRow: number;
13
+ iconColor: string;
14
+ textColor: string;
15
+ }
16
+ declare const _default: import("vue").DefineComponent<IButtonListProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
+ linkClick: (linkTo: ILink) => any;
18
+ }, string, import("vue").PublicProps, Readonly<IButtonListProps> & Readonly<{
19
+ onLinkClick?: ((linkTo: ILink) => any) | undefined;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { type IContainerProps } from '../atoms/Container.vue';
2
+ import type { ILink } from '../atoms/LinkSlot.vue';
3
+ interface IMembershipCardData {
4
+ cards: any[];
5
+ }
6
+ interface IMemberCardsProps {
7
+ containerStyles: IContainerProps;
8
+ cardFillColor: string;
9
+ cardTextColor: string;
10
+ data: IMembershipCardData | null;
11
+ authLoading: boolean;
12
+ signedIn: boolean;
13
+ }
14
+ declare const _default: import("vue").DefineComponent<IMemberCardsProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
15
+ linkClick: (link: ILink) => any;
16
+ }, string, import("vue").PublicProps, Readonly<IMemberCardsProps> & Readonly<{
17
+ onLinkClick?: ((link: ILink) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import { type IContainerProps } from '../atoms/Container.vue';
2
+ interface IMembershipSummaryData {
3
+ memberImage: string;
4
+ memberName: string;
5
+ memberPhone: string;
6
+ memberTierName: string | null;
7
+ memberPoints: number;
8
+ memberCurrentTierTotal: number;
9
+ memberPointToNextTier: number;
10
+ }
11
+ interface IMembershipSummaryProps {
12
+ containerStyles: IContainerProps;
13
+ data: IMembershipSummaryData | null;
14
+ thumbnailColorFillColor: string;
15
+ thumbnailTextColor: string;
16
+ textColor: string;
17
+ qrCodeColor: string;
18
+ }
19
+ declare const _default: import("vue").DefineComponent<IMembershipSummaryProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
20
+ openMemberQr: () => any;
21
+ }, string, import("vue").PublicProps, Readonly<IMembershipSummaryProps> & Readonly<{
22
+ onOpenMemberQr?: (() => any) | undefined;
23
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ export default _default;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ transactions: any[];
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ export default _default;
@@ -34,5 +34,5 @@ declare const _default: import("vue").DefineComponent<IMembershipCardProps, {},
34
34
  onOpenMemberQr?: (() => any) | undefined;
35
35
  }>, {
36
36
  showMemberQr: boolean;
37
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
38
  export default _default;
@@ -0,0 +1,17 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ className?: string;
4
+ };
5
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
6
+ back: () => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onBack?: (() => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
10
+ default?: ((props: {}) => any) | undefined;
11
+ }>;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -18,5 +18,5 @@ declare const _default: import("vue").DefineComponent<IOrderHistoryCardProps, {}
18
18
  }, string, import("vue").PublicProps, Readonly<IOrderHistoryCardProps> & Readonly<{
19
19
  onSignIn?: (() => any) | undefined;
20
20
  onOrderClicked?: ((orderId: string) => any) | undefined;
21
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
21
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  export default _default;
@@ -22,5 +22,5 @@ declare const _default: import("vue").DefineComponent<ITextDisplayProps, {}, {},
22
22
  onQrOrder?: (() => any) | undefined;
23
23
  onDelivery?: (() => any) | undefined;
24
24
  onPickup?: (() => any) | undefined;
25
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
25
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
26
  export default _default;
@@ -17,5 +17,5 @@ interface ITextDisplayProps {
17
17
  };
18
18
  };
19
19
  }
20
- declare const _default: import("vue").DefineComponent<ITextDisplayProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ITextDisplayProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
20
+ declare const _default: import("vue").DefineComponent<ITextDisplayProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ITextDisplayProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
21
  export default _default;
@@ -6,17 +6,17 @@ export interface IButtonProps {
6
6
  textColor?: string;
7
7
  iconColor?: string;
8
8
  }
9
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<IButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IButtonProps> & Readonly<{}>, {
9
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<IButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IButtonProps> & Readonly<{}>, {
10
10
  type: string;
11
11
  textColor: string;
12
12
  prependIcon: string;
13
13
  appendIcon: string;
14
14
  buttonColor: string;
15
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLButtonElement>, {
16
- default?(_: {}): any;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
16
+ default?: ((props: {}) => any) | undefined;
17
17
  }>;
18
18
  export default _default;
19
- type __VLS_WithTemplateSlots<T, S> = T & {
19
+ type __VLS_WithSlots<T, S> = T & {
20
20
  new (): {
21
21
  $slots: S;
22
22
  };
@@ -7,5 +7,5 @@ declare const _default: import("vue").DefineComponent<FmCircularProgressProps, {
7
7
  size: "md" | "lg" | "xxl" | "xl";
8
8
  color: string;
9
9
  indeterminate: boolean;
10
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
11
  export default _default;
@@ -7,6 +7,7 @@ export interface IContainerProps {
7
7
  marginBottom: string;
8
8
  marginLeft: string;
9
9
  marginRight: string;
10
+ background?: string;
10
11
  backgroundColor: string;
11
12
  borderRadius: string;
12
13
  borderWidth: string;
@@ -14,11 +15,11 @@ export interface IContainerProps {
14
15
  height: string;
15
16
  boxShadow: string;
16
17
  }
17
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<Partial<IContainerProps>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Partial<IContainerProps>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>, {
18
- default?(_: {}): any;
18
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Partial<IContainerProps>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Partial<IContainerProps>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
19
+ default?: ((props: {}) => any) | undefined;
19
20
  }>;
20
21
  export default _default;
21
- type __VLS_WithTemplateSlots<T, S> = T & {
22
+ type __VLS_WithSlots<T, S> = T & {
22
23
  new (): {
23
24
  $slots: S;
24
25
  };
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDivElement>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -4,5 +4,5 @@ interface IIconProps {
4
4
  }
5
5
  declare const _default: import("vue").DefineComponent<IIconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IIconProps> & Readonly<{}>, {
6
6
  filled: boolean;
7
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLSpanElement>;
7
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
8
  export default _default;
@@ -5,15 +5,15 @@ export interface ILink {
5
5
  interface ILinkSlotProps {
6
6
  linkTo: ILink;
7
7
  }
8
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<ILinkSlotProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ILinkSlotProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
9
9
  linkClick: (linkTo: ILink) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<ILinkSlotProps> & Readonly<{
11
11
  onLinkClick?: ((linkTo: ILink) => any) | undefined;
12
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>, {
13
- default?(_: {}): any;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
13
+ default?: ((props: {}) => any) | undefined;
14
14
  }>;
15
15
  export default _default;
16
- type __VLS_WithTemplateSlots<T, S> = T & {
16
+ type __VLS_WithSlots<T, S> = T & {
17
17
  new (): {
18
18
  $slots: S;
19
19
  };
@@ -16,4 +16,13 @@ import Button from './components/atoms/Button.vue';
16
16
  import OrderTypeChip from './components/atoms/OrderTypeChip.vue';
17
17
  import LinkSlot from './components/atoms/LinkSlot.vue';
18
18
  import OrderDetails from './views/OrderDetails.vue';
19
- export { Homepage, TextDisplay, ButtonList, Container, Icon, ImageDisplay, ImageCarousel, MemberCard, CircularProgress, Divider, OrderMethod, Button, BranchList, OrderHistoryCard, OrderTypeChip, OrderDetails, LinkSlot, CountrySwitcher };
19
+ import MemberSummary from './components/Member/MemberSummary.vue';
20
+ import MemberCards from './components/Member/MemberCards.vue';
21
+ import MemberAchievements from './components/Member/MemberAchievements.vue';
22
+ import MemberButtonList from './components/Member/MemberButtonList.vue';
23
+ import _MemberProfile from './views/_MemberProfile.vue';
24
+ import _Referral from './views/_Referral.vue';
25
+ import _ReferralTutorial from './views/_ReferralTutorial.vue';
26
+ import _Credit from './views/_Credit.vue';
27
+ import _Point from './views/_Point.vue';
28
+ export { Homepage, TextDisplay, ButtonList, Container, Icon, ImageDisplay, ImageCarousel, MemberCard, CircularProgress, Divider, OrderMethod, Button, BranchList, OrderHistoryCard, OrderTypeChip, OrderDetails, LinkSlot, CountrySwitcher, Homepage as MemberHomepage, MemberSummary, MemberCards, MemberAchievements, MemberButtonList, _MemberProfile, _Credit, _Point, _ReferralTutorial, _Referral, };
@@ -0,0 +1,22 @@
1
+ export declare const DateUtil: {
2
+ formatDateTime: (dateTime: string | Date | null | undefined) => string | undefined;
3
+ getStartEndFromDurations: (current: string, durations: {
4
+ start: string;
5
+ end: string;
6
+ }[]) => {
7
+ start: string;
8
+ end: string;
9
+ };
10
+ formatterBuilder: (date: string, format?: string, fromFormat?: string) => {
11
+ showWeekday: () => any;
12
+ showDay: () => any;
13
+ showMonth: () => any;
14
+ showYear: () => any;
15
+ showHour: ({ is24Hour }: {
16
+ is24Hour: boolean;
17
+ }) => any;
18
+ withComma: () => any;
19
+ build: () => string;
20
+ };
21
+ objectIdToDate: (id: string) => Date;
22
+ };
@@ -5,5 +5,5 @@ declare const _default: import("vue").DefineComponent<IOrderDetailsProps, {}, {}
5
5
  back: () => any;
6
6
  }, string, import("vue").PublicProps, Readonly<IOrderDetailsProps> & Readonly<{
7
7
  onBack?: (() => any) | undefined;
8
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
8
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
9
  export default _default;
@@ -0,0 +1,20 @@
1
+ type IHistoryPageData = {
2
+ member: any;
3
+ transactions: any[];
4
+ amount: number;
5
+ amountExpiring: number;
6
+ isLoading: boolean;
7
+ isCompleted: boolean;
8
+ };
9
+ interface IHistoryPageProps {
10
+ data: IHistoryPageData | null;
11
+ designStyle: number;
12
+ }
13
+ declare const _default: import("vue").DefineComponent<IHistoryPageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
+ back: () => any;
15
+ "view-all": () => any;
16
+ }, string, import("vue").PublicProps, Readonly<IHistoryPageProps> & Readonly<{
17
+ onBack?: (() => any) | undefined;
18
+ "onView-all"?: (() => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,39 @@
1
+ interface MemberProfileProps {
2
+ memberState: {
3
+ currentTier: any;
4
+ expToNextTier: number;
5
+ tierIndex: number;
6
+ member: {
7
+ point: {
8
+ balance: number;
9
+ };
10
+ };
11
+ membership: any;
12
+ referral: any;
13
+ } | null;
14
+ User: {
15
+ state: {
16
+ feedmeUser: any | null;
17
+ };
18
+ };
19
+ }
20
+ declare const _default: import("vue").DefineComponent<MemberProfileProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
21
+ back: () => any;
22
+ "sign-in": () => any;
23
+ logout: () => any;
24
+ "show-member-q-r": () => any;
25
+ "join-member": () => any;
26
+ "invite-friends": () => any;
27
+ "account-settings": () => any;
28
+ "member-details": () => any;
29
+ }, string, import("vue").PublicProps, Readonly<MemberProfileProps> & Readonly<{
30
+ onBack?: (() => any) | undefined;
31
+ "onSign-in"?: (() => any) | undefined;
32
+ onLogout?: (() => any) | undefined;
33
+ "onShow-member-q-r"?: (() => any) | undefined;
34
+ "onJoin-member"?: (() => any) | undefined;
35
+ "onInvite-friends"?: (() => any) | undefined;
36
+ "onAccount-settings"?: (() => any) | undefined;
37
+ "onMember-details"?: (() => any) | undefined;
38
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ export default _default;
@@ -0,0 +1,20 @@
1
+ type IHistoryPageData = {
2
+ member: any;
3
+ transactions: any[];
4
+ amount: number;
5
+ amountExpiring: number;
6
+ isLoading: boolean;
7
+ isCompleted: boolean;
8
+ };
9
+ interface IHistoryPageProps {
10
+ data: IHistoryPageData | null;
11
+ designStyle: number;
12
+ }
13
+ declare const _default: import("vue").DefineComponent<IHistoryPageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
+ back: () => any;
15
+ "view-all": () => any;
16
+ }, string, import("vue").PublicProps, Readonly<IHistoryPageProps> & Readonly<{
17
+ onBack?: (() => any) | undefined;
18
+ "onView-all"?: (() => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,31 @@
1
+ type __VLS_Props = {
2
+ data: {
3
+ member: any;
4
+ referral: any;
5
+ submittingReferrerCode?: boolean;
6
+ submitReferrerCodeError?: string;
7
+ } | null;
8
+ };
9
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
+ back: () => any;
11
+ "copy-code": (code: string) => any;
12
+ "share-code": (code: string) => any;
13
+ "submit-code": (code: string) => any;
14
+ "invite-history": () => any;
15
+ "how-it-works": () => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onBack?: (() => any) | undefined;
18
+ "onCopy-code"?: ((code: string) => any) | undefined;
19
+ "onShare-code"?: ((code: string) => any) | undefined;
20
+ "onSubmit-code"?: ((code: string) => any) | undefined;
21
+ "onInvite-history"?: (() => any) | undefined;
22
+ "onHow-it-works"?: (() => any) | undefined;
23
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
24
+ default?: ((props: {}) => any) | undefined;
25
+ }>;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };