@feedmepos/mf-menu 0.31.40-beta.2 → 0.31.40-prod

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 (91) hide show
  1. package/dist/{App-CoKv0BFp.js → App-aWEH-ZEk.js} +9 -9
  2. package/dist/{ApplyProduct.vue_vue_type_script_setup_true_lang-B14Q0hS_.js → ApplyProduct.vue_vue_type_script_setup_true_lang-jJyinQZl.js} +3 -3
  3. package/dist/{Catalog-BRovMtuI.js → Catalog-BoFfFdn8.js} +9 -8
  4. package/dist/{Category-DytZqgIt.js → Category-CWYbb3Jn.js} +4 -4
  5. package/dist/{Category-CT8-B4zh.js → Category-DZ45uikR.js} +6 -6
  6. package/dist/{CookingGuide-Ct5qRLG0.js → CookingGuide-BU0PRWIQ.js} +4 -4
  7. package/dist/{CustomAttributeChip.vue_vue_type_script_setup_true_lang-D3R3TCba.js → CustomAttributeChip.vue_vue_type_script_setup_true_lang-Z5xsKDIE.js} +1 -1
  8. package/dist/FormSection.vue_vue_type_script_setup_true_lang-CO4YGYLB.js +50 -0
  9. package/dist/{Group-Dk1yQTTt.js → Group-BMQDeqiS.js} +1 -1
  10. package/dist/{Group-G_H8i5_8.js → Group-C0T_uknK.js} +3 -3
  11. package/dist/{Group.vue_vue_type_script_setup_true_lang-CoTdB2d5.js → Group.vue_vue_type_script_setup_true_lang-DyfmY6F1.js} +8 -8
  12. package/dist/GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-D6qro5w_.js +367 -0
  13. package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-BKx7uQtR.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-Dl-Wvt3D.js} +14 -13
  14. package/dist/{Ingredient-ChynYQq6.js → Ingredient-3lwDUQx_.js} +3 -3
  15. package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-DyaUxnMx.js → InventoryBinding.vue_vue_type_script_setup_true_lang-VLrrTkSC.js} +2 -2
  16. package/dist/LinkProductSideSheet-LDZjKX95.js +297 -0
  17. package/dist/{app-CiBqmBzO.js → LinkProductSideSheet.vue_vue_type_style_index_0_scoped_97fa9d58_lang-DvG3mOom.js} +2084 -2120
  18. package/dist/MenuSetting-AhutsCVy.js +185 -0
  19. package/dist/{PrintRoute-DwAZHUrQ.js → PrintRoute-DfJ-vUAb.js} +4 -4
  20. package/dist/{Product-Bx2NPQvC.js → Product-F4PoLm9v.js} +1 -1
  21. package/dist/{Product.vue_vue_type_script_setup_true_lang-od_O6x7E.js → Product.vue_vue_type_script_setup_true_lang-DT5gffpA.js} +465 -468
  22. package/dist/{ProductInternalTools-BOguHh06.js → ProductInternalTools-DSGU-OqU.js} +6 -6
  23. package/dist/{Products-DA2hOsxr.js → Products-COzW2Z4g.js} +85 -88
  24. package/dist/{Publish-WATQWkjh.js → Publish-CDXVWCk2.js} +3 -3
  25. package/dist/{Recipe-WPwGgur3.js → Recipe-BZx4wrcP.js} +4 -4
  26. package/dist/{Scheduler-Djjggrh2.js → Scheduler-wHCWSeU2.js} +3 -3
  27. package/dist/{ServingSequence-CryZJTWA.js → ServingSequence-BbYEhDYh.js} +3 -3
  28. package/dist/{Setting-BtLsmoqY.js → Setting-C9Tlw1Iy.js} +45 -44
  29. package/dist/{Subcategory-BvlYDquD.js → Subcategory-C8AwfrKb.js} +4 -4
  30. package/dist/{Takeaway-8khxlcKQ.js → Takeaway-DaEUn-yM.js} +4 -4
  31. package/dist/{Takeaway-BBvFxAlx.js → Takeaway-t1053wg2.js} +1 -1
  32. package/dist/{Takeaway.vue_vue_type_script_setup_true_lang-B8blN-yJ.js → Takeaway.vue_vue_type_script_setup_true_lang-7XycP5fU.js} +5 -5
  33. package/dist/{Thumbnail.vue_vue_type_script_setup_true_lang-CA9RlNkt.js → Thumbnail.vue_vue_type_script_setup_true_lang-B7oLH9cP.js} +95 -97
  34. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-Ci6iqOry.js +5998 -0
  35. package/dist/{Unit-Diu00sM2.js → Unit-CnqptGCz.js} +2 -2
  36. package/dist/{Variant-CO15W0wb.js → Variant-DiOYOwJs.js} +3 -3
  37. package/dist/{_id_-CxA_FzSG.js → _id_-BSfU16VO.js} +75 -78
  38. package/dist/{app-Blbof2Ga.js → app-Cou6qPF2.js} +1 -1
  39. package/dist/{app-5ESai6-B.js → app-Ddb81PNo.js} +278 -278
  40. package/dist/app.js +1 -1
  41. package/dist/apps/mf-menu/src/api/menu.d.ts +1 -2
  42. package/dist/apps/mf-menu/src/app.d.ts +0 -144
  43. package/dist/apps/mf-menu/src/components/feature/PriceTier/PriceTierRuleEditor.vue.d.ts +0 -36
  44. package/dist/apps/mf-menu/src/components/feature/RestaurantAttributesSelector.vue.d.ts +3 -9
  45. package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/useItemFormManagement.d.ts +9 -2
  46. package/dist/apps/mf-menu/src/components/feature/TreeEditor/store/menuV2.d.ts +4 -294
  47. package/dist/apps/mf-menu/src/composable/linkProducts.d.ts +0 -40
  48. package/dist/apps/mf-menu/src/helper/import-export.d.ts +0 -285
  49. package/dist/apps/mf-menu/src/helper/menu.d.ts +0 -285
  50. package/dist/apps/mf-menu/src/manager/menu/item.d.ts +0 -285
  51. package/dist/apps/mf-menu/src/stores/menu.d.ts +3 -293
  52. package/dist/apps/mf-menu/src/views/Publish/UpdateCatalogDialog.vue.d.ts +0 -166
  53. package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -1
  54. package/dist/assets/linked-status-B_crHhZH.js +24 -0
  55. package/dist/assets/override-menu-BmlCEpHH.js +24 -0
  56. package/dist/assets/validate-menu-CF-psoB-.js +24 -0
  57. package/dist/{catalog-CXjEQ80k.js → catalog-DSuJhsUb.js} +1 -1
  58. package/dist/{catalogSetting-aJSUDY_z.js → catalogSetting-C3gEw9ov.js} +1 -1
  59. package/dist/{category-TqQULuHq.js → category-CwWq3KCE.js} +1 -1
  60. package/dist/{currency-CRjh8ne7.js → currency-g45Sh-t6.js} +1 -1
  61. package/dist/{dayjs.min-MBmYgyRY.js → dayjs.min-g3eN5z-V.js} +1 -1
  62. package/dist/index-0Q5T9VZV.js +214 -0
  63. package/dist/{index-dkHuztwB.js → index-0yRUi7LL.js} +1 -1
  64. package/dist/{index-CzjFGFvP.js → index-BLQCYEc6.js} +8 -7
  65. package/dist/{index-B1NS2hBa.js → index-QsLFbxyG.js} +4 -4
  66. package/dist/{item-Dj14On9a.js → item-BvvQ9urP.js} +386 -386
  67. package/dist/{jszip.min-Be1afVon.js → jszip.min-DzdUiaR4.js} +353 -353
  68. package/dist/{menu-C0Xu-iTb.js → menu-DFNvhoNQ.js} +31149 -31298
  69. package/dist/{menu-kRDoPBjm.js → menu-QrVg2Ph7.js} +7 -7
  70. package/dist/{menuV2-D6Gmxd9X.js → menuV2-Ezf_jW40.js} +137 -142
  71. package/dist/mf-menu.css +1 -1
  72. package/dist/{priceTier-CJlFGOpm.js → priceTier-zENsn3P_.js} +1 -1
  73. package/dist/{scheduler-B11d6fJr.js → scheduler-BuwGSv6A.js} +8 -8
  74. package/dist/{subcategory-D6hTbHP-.js → subcategory-O3L_zCJA.js} +2 -2
  75. package/dist/{toExcel-BedErXvS.js → toExcel-CpRy_4nG.js} +2 -2
  76. package/dist/{unit-D5jDzsM2.js → unit-Ct_7Hfa2.js} +41 -42
  77. package/package.json +3 -3
  78. package/dist/GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-B_Yv8Thl.js +0 -399
  79. package/dist/LinkProductSideSheet-DsoPo7Q_.js +0 -361
  80. package/dist/MenuSetting-CDSc-56P.js +0 -618
  81. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-LVWB5CIa.js +0 -5994
  82. package/dist/apps/mf-menu/src/composable/attributes.d.ts +0 -26
  83. package/dist/apps/mf-menu/src/utils/array.d.ts +0 -1
  84. package/dist/apps/mf-menu/src/utils/customAttributes.d.ts +0 -12
  85. package/dist/apps/mf-menu/src/views/MenuSetting/LinkProductRuleGroups.vue.d.ts +0 -2
  86. package/dist/apps/mf-menu/src/views/MenuSetting/RuleGroupSideSheet.vue.d.ts +0 -176
  87. package/dist/assets/linked-status-x1efKEih.js +0 -13
  88. package/dist/assets/override-menu-D8d9BWzy.js +0 -13
  89. package/dist/assets/validate-menu-DUJ20GHx.js +0 -13
  90. package/dist/customAttributes-32VmzFKZ.js +0 -177
  91. package/dist/index-FzHOAFSW.js +0 -246
@@ -1,12 +1,12 @@
1
1
  import { defineComponent as Z, ref as v, computed as $, resolveComponent as G, createElementBlock as c, openBlock as r, createElementVNode as s, createVNode as I, unref as h, createCommentVNode as T, normalizeClass as E, toDisplayString as U, createStaticVNode as B, Fragment as P, renderList as R, createBlock as oe, withCtx as A } from "vue";
2
- import { J as O, F as ne } from "./jszip.min-Be1afVon.js";
3
- import { G as le, u as ie, I as D, a0 as re, $ as ce, K as de, M as me, N as ue } from "./menu-C0Xu-iTb.js";
2
+ import { J as O, F as ne } from "./jszip.min-DzdUiaR4.js";
3
+ import { G as le, u as ie, I as D, a0 as re, $ as ce, K as de, M as me, N as ue } from "./menu-DFNvhoNQ.js";
4
4
  import { useI18n as ge } from "@feedmepos/mf-common";
5
5
  import { FmButtonVariant as z, useSnackbar as V, useDialog as pe, FmButtonColorThemeVariant as S } from "@feedmepos/ui-library";
6
6
  import { _ as fe } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
7
- import { u as he, a as ye } from "./menu-kRDoPBjm.js";
8
- import { a as be } from "./Product.vue_vue_type_script_setup_true_lang-od_O6x7E.js";
9
- import { v as ve, w as _e } from "./item-Dj14On9a.js";
7
+ import { u as he, a as ye } from "./menu-QrVg2Ph7.js";
8
+ import { a as be } from "./Product.vue_vue_type_script_setup_true_lang-DT5gffpA.js";
9
+ import { v as ve, w as _e } from "./item-BvvQ9urP.js";
10
10
  const we = { class: "h-full flex flex-col" }, xe = { class: "flex items-center justify-between p-16 border-b border-gray-200" }, Ie = { class: "flex gap-8" }, ke = { class: "border-b border-gray-200" }, Ce = { class: "flex" }, Ue = { class: "flex-1 overflow-hidden" }, je = {
11
11
  key: 0,
12
12
  class: "h-full flex flex-col"
@@ -151,7 +151,7 @@ const we = { class: "h-full flex flex-col" }, xe = { class: "flex items-center j
151
151
  };
152
152
  }
153
153
  });
154
- var Je = { firebase: { storageBucket: "image.feedmedev.cc" } };
154
+ var Je = { firebase: { storageBucket: "image.feedme.cc" } };
155
155
  const He = {
156
156
  key: 0,
157
157
  class: "h-screen"
@@ -1,21 +1,21 @@
1
- import { defineComponent as Y, computed as v, ref as G, resolveComponent as w, createBlock as y, openBlock as p, unref as e, withCtx as d, createElementVNode as u, toDisplayString as O, createVNode as o, createCommentVNode as j, createElementBlock as N, Fragment as B } from "vue";
2
- import { D as S } from "./dayjs.min-MBmYgyRY.js";
3
- import { M as oe, w as ne } from "./ImportProductDialog.vue_vue_type_script_setup_true_lang-BKx7uQtR.js";
4
- import { J as ae, F as re } from "./jszip.min-Be1afVon.js";
5
- import { u as J, G as Z, B as P, e as A, A as K, D as se, H as R, I as z } from "./menu-C0Xu-iTb.js";
6
- import { useCoreStore as ie, useI18n as le } from "@feedmepos/mf-common";
7
- import { useDialog as Q, useDialogChild as ue, useSnackbar as W, useBreakpoints as ce, FmButtonVariant as $, FmButtonColorThemeVariant as x } from "@feedmepos/ui-library";
1
+ import { defineComponent as Y, computed as v, ref as q, resolveComponent as w, createBlock as y, openBlock as p, unref as e, withCtx as d, createElementVNode as u, toDisplayString as G, createVNode as o, createCommentVNode as O, createElementBlock as H, Fragment as N } from "vue";
2
+ import { D as S } from "./dayjs.min-g3eN5z-V.js";
3
+ import { M as te, w as oe } from "./ImportProductDialog.vue_vue_type_script_setup_true_lang-Dl-Wvt3D.js";
4
+ import { J as ne, F as ae } from "./jszip.min-DzdUiaR4.js";
5
+ import { u as j, G as J, B, e as P, A as Z, D as re, H as A, I as R } from "./menu-DFNvhoNQ.js";
6
+ import { useCoreStore as se, useI18n as ie } from "@feedmepos/mf-common";
7
+ import { useDialog as K, useDialogChild as le, useSnackbar as Q, useBreakpoints as ue, FmButtonVariant as $, FmButtonColorThemeVariant as x } from "@feedmepos/ui-library";
8
8
  import { _ as V } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
9
- import { _ as me, a as L } from "./BottomSheetMenuItem.vue_vue_type_script_setup_true_lang-DhrXKy3b.js";
10
- import { _ as de } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
11
- import { u as pe, a as fe } from "./menu-kRDoPBjm.js";
12
- import { u as _e } from "./item-Dj14On9a.js";
13
- import { _ as U, a as ve } from "./Product.vue_vue_type_script_setup_true_lang-od_O6x7E.js";
14
- import { L as q } from "./LinkProductSideSheet-DsoPo7Q_.js";
15
- import { _ as ge } from "./TreeEditorOpenner.vue_vue_type_script_setup_true_lang-LVWB5CIa.js";
16
- import { u as be } from "./Thumbnail.vue_vue_type_script_setup_true_lang-CA9RlNkt.js";
17
- import { m as ye } from "./toExcel-BedErXvS.js";
18
- const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "flex justify-end gap-8" }, he = /* @__PURE__ */ Y({
9
+ import { _ as me, a as z } from "./BottomSheetMenuItem.vue_vue_type_script_setup_true_lang-DhrXKy3b.js";
10
+ import { _ as ce } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
11
+ import { u as de, a as pe } from "./menu-QrVg2Ph7.js";
12
+ import { u as fe } from "./item-BvvQ9urP.js";
13
+ import { _ as L, a as _e } from "./Product.vue_vue_type_script_setup_true_lang-DT5gffpA.js";
14
+ import { L as U } from "./LinkProductSideSheet-LDZjKX95.js";
15
+ import { _ as ve } from "./TreeEditorOpenner.vue_vue_type_script_setup_true_lang-Ci6iqOry.js";
16
+ import { u as ge } from "./Thumbnail.vue_vue_type_script_setup_true_lang-B7oLH9cP.js";
17
+ import { m as be } from "./toExcel-CpRy_4nG.js";
18
+ const ye = { class: "space-y-24 mb-24" }, ke = ["innerHTML"], xe = { class: "flex justify-end gap-8" }, Me = /* @__PURE__ */ Y({
19
19
  __name: "ConfirmActionDialog",
20
20
  props: {
21
21
  description: {},
@@ -23,17 +23,17 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
23
23
  message: { default: "To confirm your action, type <b>[[value]]</b> in the text field." }
24
24
  },
25
25
  setup(F) {
26
- const t = F, M = v(() => t.message.replace("[[value]]", t.value)), n = G(""), h = Q(), { emitAction: k } = ue();
26
+ const t = F, M = v(() => t.message.replace("[[value]]", t.value)), n = q(""), h = K(), { emitAction: k } = le();
27
27
  return (s, i) => {
28
- const f = w("FmTextField"), c = w("FmButton"), g = w("FmForm");
28
+ const f = w("FmTextField"), m = w("FmButton"), g = w("FmForm");
29
29
  return p(), y(g, {
30
30
  "on-validation-success": () => e(k)("primary"),
31
31
  "blame-form-child-on-validation-failed": ""
32
32
  }, {
33
33
  default: d(() => [
34
- u("div", ke, [
35
- u("div", null, O(s.description), 1),
36
- u("div", { innerHTML: M.value }, null, 8, xe),
34
+ u("div", ye, [
35
+ u("div", null, G(s.description), 1),
36
+ u("div", { innerHTML: M.value }, null, 8, ke),
37
37
  u("div", null, [
38
38
  o(f, {
39
39
  modelValue: n.value,
@@ -46,13 +46,13 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
46
46
  rules: [(l) => l === s.value || "Value does not match"]
47
47
  }, null, 8, ["modelValue", "placeholder", "rules"])
48
48
  ]),
49
- u("div", Me, [
50
- o(c, {
49
+ u("div", xe, [
50
+ o(m, {
51
51
  label: "Cancel",
52
52
  variant: "secondary",
53
53
  onClick: i[2] || (i[2] = (l) => e(h).close())
54
54
  }),
55
- o(c, {
55
+ o(m, {
56
56
  label: "Confirm",
57
57
  type: "submit"
58
58
  })
@@ -63,14 +63,14 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
63
63
  }, 8, ["on-validation-success"]);
64
64
  };
65
65
  }
66
- }), Se = /* @__PURE__ */ Y({
66
+ }), he = /* @__PURE__ */ Y({
67
67
  __name: "Migrate",
68
68
  setup(F) {
69
- const t = J(), M = ie(), n = W(), { minor: h } = Z(n), k = G(!1), s = Q();
69
+ const t = j(), M = se(), n = Q(), { minor: h } = J(n), k = q(!1), s = K();
70
70
  async function i() {
71
71
  f.value || k.value || s.open({
72
72
  title: "Migrate to new version",
73
- contentComponent: he,
73
+ contentComponent: Me,
74
74
  contentComponentProps: {
75
75
  value: "MIGRATE",
76
76
  description: "Do you want to migrate to new version? Once migrate it will unable to revert to the older version."
@@ -92,14 +92,14 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
92
92
  });
93
93
  }
94
94
  const f = v(() => {
95
- const c = M.restaurants.value;
96
- if (!c.length) return "Required at least one restaurant to migrate";
97
- const g = c.filter((b) => !b.posVersion || !P.Pos.canUse({ feature: A.F_FEATURE.enum.menuV4, posVersion: b.posVersion }));
98
- return g.length ? `Upgrade POS to V${P.Pos.minVersionToUse(A.F_FEATURE.enum.menuV4)} to use new menu: ${g.map((b) => b.profile.name).join(", ")}` : null;
95
+ const m = M.restaurants.value;
96
+ if (!m.length) return "Required at least one restaurant to migrate";
97
+ const g = m.filter((b) => !b.posVersion || !B.Pos.canUse({ feature: P.F_FEATURE.enum.menuV4, posVersion: b.posVersion }));
98
+ return g.length ? `Upgrade POS to V${B.Pos.minVersionToUse(P.F_FEATURE.enum.menuV4)} to use new menu: ${g.map((b) => b.profile.name).join(", ")}` : null;
99
99
  });
100
- return v(() => f.value ? f.value : "Migrate your menu to new version to enjoy more features. Content of new menu will remain the same as current."), (c, g) => {
100
+ return v(() => f.value ? f.value : "Migrate your menu to new version to enjoy more features. Content of new menu will remain the same as current."), (m, g) => {
101
101
  const l = w("FmSnackbar");
102
- return !f.value && e(t).version !== e(K.F_MENU_VERSION).enum.v4 ? (p(), y(l, {
102
+ return !f.value && e(t).version !== e(Z.F_MENU_VERSION).enum.v4 ? (p(), y(l, {
103
103
  key: 0,
104
104
  class: "!max-w-full",
105
105
  title: "New version of menu is out now!",
@@ -108,42 +108,42 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
108
108
  action: "Migrate",
109
109
  "z-index": 0,
110
110
  onOnAction: i
111
- })) : j("", !0);
111
+ })) : O("", !0);
112
112
  };
113
113
  }
114
- }), we = { class: "flex-1 flex justify-between gap-8 pl-8" }, Ce = { class: "flex items-center" }, Fe = { class: "bg-fm-color-neutral-gray-100 rounded-md px-8 py-4" }, $e = { class: "fm-typo-en-body-md-600 font-semibold" }, Ve = { class: "flex gap-8" }, je = /* @__PURE__ */ Y({
114
+ }), Se = { class: "flex-1 flex justify-between gap-8 pl-8" }, we = { class: "flex items-center" }, Ce = { class: "bg-fm-color-neutral-gray-100 rounded-md px-8 py-4" }, Fe = { class: "fm-typo-en-body-md-600 font-semibold" }, $e = { class: "flex gap-8" }, Oe = /* @__PURE__ */ Y({
115
115
  __name: "Products",
116
116
  setup(F) {
117
- const { t } = le(), M = Z(W()), n = J(), h = v(() => n.rules.item), k = _e(), s = v(() => !n.state.currentSchedulerId), { selectedCategories: i } = pe(), f = v(() => ({
118
- ...se.menuV4ToV3(R(n.state.menu)),
117
+ const { t } = ie(), M = J(Q()), n = j(), h = v(() => n.rules.item), k = fe(), s = v(() => !n.state.currentSchedulerId), { selectedCategories: i } = de(), f = v(() => ({
118
+ ...re.menuV4ToV3(A(n.state.menu)),
119
119
  _id: n.state.menu._id,
120
120
  _rev: n.state.menu._rev
121
- })), c = v(() => {
122
- const m = z.flatten(i.value.map((a) => a.items));
123
- return z.uniqBy(m, (a) => a._id).length;
121
+ })), m = v(() => {
122
+ const c = R.flatten(i.value.map((a) => a.items));
123
+ return R.uniqBy(c, (a) => a._id).length;
124
124
  });
125
- async function g(m, a) {
126
- const _ = new ae();
127
- for (let C = 0; C < m.length; C++) {
128
- const te = await m[C].xlsx.writeBuffer();
129
- _.file(`${a[C]}.xlsx`, te);
125
+ async function g(c, a) {
126
+ const _ = new ne();
127
+ for (let C = 0; C < c.length; C++) {
128
+ const ee = await c[C].xlsx.writeBuffer();
129
+ _.file(`${a[C]}.xlsx`, ee);
130
130
  }
131
131
  const r = await _.generateAsync({ type: "blob" });
132
- re.saveAs(r, `books_${S().format("DD-MM-YYYY_HH-mm")}.zip`);
132
+ ae.saveAs(r, `books_${S().format("DD-MM-YYYY_HH-mm")}.zip`);
133
133
  }
134
134
  async function l() {
135
135
  await M.minor(
136
136
  async () => {
137
- if (await n.readMenu(), n.version === K.F_MENU_VERSION.enum.v4) {
138
- const m = R(n.state.menu), a = new oe(m).exportToExcel(), _ = [
137
+ if (await n.readMenu(), n.version === Z.F_MENU_VERSION.enum.v4) {
138
+ const c = A(n.state.menu), a = new te(c).exportToExcel(), _ = [
139
139
  `menu_${S().format("DD-MM-YYYY_HH-mm")}`,
140
140
  `addonGroup_${S().format("DD-MM-YYYY_HH-mm")}`,
141
141
  `itemLinkedAddon${S().format("DD-MM-YYYY_HH-mm")}`
142
142
  ];
143
143
  g(a, _);
144
144
  } else {
145
- const m = ye(f.value), a = `menu_${S().format("DD-MM-YYYY_HH-mm")}`;
146
- await ne(m, `${a}.xlsx`, {
145
+ const c = be(f.value), a = `menu_${S().format("DD-MM-YYYY_HH-mm")}`;
146
+ await oe(c, `${a}.xlsx`, {
147
147
  bookType: "xlsx",
148
148
  bookSST: !1,
149
149
  type: "array"
@@ -155,38 +155,37 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
155
155
  }
156
156
  const {
157
157
  menuItems: b,
158
- categories: E,
159
- linkItemRules: D,
160
- handleSubmit: T,
161
- catalogManager: I,
162
- schedulerManager: H
163
- } = be(!1), X = ce(), ee = v(() => X.breakpoints.value.xs);
164
- return fe().resetOnMount(), (m, a) => {
158
+ linkItemRules: E,
159
+ handleSubmit: D,
160
+ catalogManager: T,
161
+ schedulerManager: I
162
+ } = ge(!1), W = ue(), X = v(() => W.breakpoints.value.xs);
163
+ return pe().resetOnMount(), (c, a) => {
165
164
  const _ = w("fm-button");
166
- return p(), y(de, {
165
+ return p(), y(ce, {
167
166
  heading: e(t)("menu.products.title")
168
167
  }, {
169
168
  default: d(() => [
170
- o(Se),
171
- o(ve)
169
+ o(he),
170
+ o(_e)
172
171
  ]),
173
172
  "append-heading": d(() => [
174
- u("div", we, [
175
- u("div", Ce, [
176
- u("div", Fe, [
177
- u("p", $e, O(c.value), 1)
173
+ u("div", Se, [
174
+ u("div", we, [
175
+ u("div", Ce, [
176
+ u("p", Fe, G(m.value), 1)
178
177
  ])
179
178
  ]),
180
- u("div", Ve, [
181
- ee.value ? (p(), y(U, { key: 1 }, {
179
+ u("div", $e, [
180
+ X.value ? (p(), y(L, { key: 1 }, {
182
181
  default: d(({ trigger: r }) => [
183
182
  o(me, null, {
184
183
  default: d(() => [
185
- o(L, {
184
+ o(z, {
186
185
  label: e(t)("menu.products.actions.export"),
187
186
  onClick: l
188
187
  }, null, 8, ["label"]),
189
- o(L, {
188
+ o(z, {
190
189
  label: e(t)("menu.products.actions.import"),
191
190
  onClick: r
192
191
  }, null, 8, ["label", "onClick"])
@@ -195,8 +194,8 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
195
194
  }, 1024)
196
195
  ]),
197
196
  _: 1
198
- })) : (p(), N(B, { key: 0 }, [
199
- o(ge, null, {
197
+ })) : (p(), H(N, { key: 0 }, [
198
+ o(ve, null, {
200
199
  default: d(({ trigger: r }) => [
201
200
  o(_, {
202
201
  label: e(t)("menu.tree_editor.title"),
@@ -215,7 +214,7 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
215
214
  label: e(t)("menu.products.actions.export"),
216
215
  onClick: l
217
216
  }, null, 8, ["bg-color", "text-color", "variant", "label"]),
218
- o(U, null, {
217
+ o(L, null, {
219
218
  default: d(({ trigger: r }) => [
220
219
  o(_, {
221
220
  "bg-color": e(x).NeutralGray100,
@@ -228,22 +227,21 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
228
227
  _: 1
229
228
  })
230
229
  ], 64)),
231
- c.value > 0 ? (p(), N(B, { key: 2 }, [
230
+ m.value > 0 ? (p(), H(N, { key: 2 }, [
232
231
  h.value.create ? (p(), y(V, {
233
232
  key: 0,
234
233
  label: e(t)("menu.products.actions.add"),
235
234
  "prepend-icon": "add",
236
235
  onClick: a[0] || (a[0] = (r) => e(k).create(null))
237
- }, null, 8, ["label"])) : s.value ? (p(), y(q, {
236
+ }, null, 8, ["label"])) : s.value ? (p(), y(U, {
238
237
  key: 1,
239
- "categorized-items": e(I).linkableItems.value,
240
- "initial-value": e(I).currentItems.value,
238
+ "categorized-items": e(T).linkableItems.value,
239
+ "initial-value": e(T).currentItems.value,
241
240
  "show-variant": !1,
242
241
  "menu-items": e(b),
243
- categories: e(E),
244
- "link-item-rules": e(D),
242
+ "link-item-rules": e(E),
245
243
  "no-scheduler": s.value,
246
- onSubmit: e(T)
244
+ onSubmit: e(D)
247
245
  }, {
248
246
  default: d(({ trigger: r }) => [
249
247
  o(V, {
@@ -253,16 +251,15 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
253
251
  }, null, 8, ["label", "onClick"])
254
252
  ]),
255
253
  _: 1
256
- }, 8, ["categorized-items", "initial-value", "menu-items", "categories", "link-item-rules", "no-scheduler", "onSubmit"])) : (p(), y(q, {
254
+ }, 8, ["categorized-items", "initial-value", "menu-items", "link-item-rules", "no-scheduler", "onSubmit"])) : (p(), y(U, {
257
255
  key: 2,
258
- "categorized-items": e(H).linkableItems.value,
259
- "initial-value": e(H).currentItems.value,
256
+ "categorized-items": e(I).linkableItems.value,
257
+ "initial-value": e(I).currentItems.value,
260
258
  "show-variant": !1,
261
259
  "menu-items": e(b),
262
- categories: e(E),
263
- "link-item-rules": e(D),
260
+ "link-item-rules": e(E),
264
261
  "no-scheduler": s.value,
265
- onSubmit: e(T)
262
+ onSubmit: e(D)
266
263
  }, {
267
264
  default: d(({ trigger: r }) => [
268
265
  o(V, {
@@ -271,8 +268,8 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
271
268
  }, null, 8, ["label", "onClick"])
272
269
  ]),
273
270
  _: 1
274
- }, 8, ["categorized-items", "initial-value", "menu-items", "categories", "link-item-rules", "no-scheduler", "onSubmit"]))
275
- ], 64)) : j("", !0)
271
+ }, 8, ["categorized-items", "initial-value", "menu-items", "link-item-rules", "no-scheduler", "onSubmit"]))
272
+ ], 64)) : O("", !0)
276
273
  ])
277
274
  ])
278
275
  ]),
@@ -282,5 +279,5 @@ const ke = { class: "space-y-24 mb-24" }, xe = ["innerHTML"], Me = { class: "fle
282
279
  }
283
280
  });
284
281
  export {
285
- je as default
282
+ Oe as default
286
283
  };
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as K, ref as I, computed as S, onMounted as ne, resolveComponent as C, createElementBlock as R, openBlock as h, createVNode as n, createElementVNode as o, toDisplayString as F, unref as i, Fragment as E, renderList as j, createBlock as O, withCtx as L, createCommentVNode as ue, withModifiers as z, h as H } from "vue";
2
- import { D as X } from "./dayjs.min-MBmYgyRY.js";
2
+ import { D as X } from "./dayjs.min-g3eN5z-V.js";
3
3
  import { useRouter as ie } from "vue-router";
4
- import { B as re, e as ce, G as Z, a8 as de, H as J, I as me, u as pe, A as ge, a0 as ve } from "./menu-C0Xu-iTb.js";
4
+ import { B as re, e as ce, G as Z, a8 as de, H as J, I as me, u as pe, A as ge, a0 as ve } from "./menu-DFNvhoNQ.js";
5
5
  import { useI18n as Y, useCoreStore as be, RestaurantSelector as fe } from "@feedmepos/mf-common";
6
6
  import { useSnackbar as ee, useDialogChild as _e, useDialog as he, components as Q } from "@feedmepos/ui-library";
7
7
  import { _ as ye } from "./TextChip.vue_vue_type_script_setup_true_lang-8frWuZFL.js";
8
- import { _ as Ce } from "./app-5ESai6-B.js";
8
+ import { _ as Ce } from "./app-Ddb81PNo.js";
9
9
  import { a as ke, w as we } from "./tooltip-B5BiPMx9.js";
10
10
  import { u as xe } from "./discardConfirm-BHni0LNu.js";
11
11
  import { _ as Ve } from "./index.vue_vue_type_script_setup_true_lang-BgqsTzLI.js";
@@ -2,15 +2,15 @@ import { defineComponent as z, computed as h, ref as w, reactive as Q, watch as
2
2
  import { useI18n as U } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as A, components as j, useDialog as ne, FmButtonVariant as G, useBreakpoints as oe } from "@feedmepos/ui-library";
4
4
  import { _ as ae } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
- import { _ as le } from "./app-5ESai6-B.js";
6
- import { O as q, G as $, H as ie, D as P, I as se, e as Y, J as I, A as T, u as H } from "./menu-C0Xu-iTb.js";
5
+ import { _ as le } from "./app-Ddb81PNo.js";
6
+ import { O as q, G as $, H as ie, D as P, I as se, e as Y, J as I, A as T, u as H } from "./menu-DFNvhoNQ.js";
7
7
  import { _ as re } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
8
8
  import { _ as ce } from "./index.vue_vue_type_script_setup_true_lang-BgqsTzLI.js";
9
9
  import { defineStore as ue } from "pinia";
10
- import { _ as B, g as me } from "./InventoryBinding.vue_vue_type_script_setup_true_lang-DyaUxnMx.js";
10
+ import { _ as B, g as me } from "./InventoryBinding.vue_vue_type_script_setup_true_lang-VLrrTkSC.js";
11
11
  import { u as de } from "./discardConfirm-BHni0LNu.js";
12
12
  import { c as pe } from "./check-C9mY6LiX.js";
13
- import "./unit-D5jDzsM2.js";
13
+ import "./unit-Ct_7Hfa2.js";
14
14
  import { c as fe } from "./createComponentProgrammatically-Bt2rn1IQ.js";
15
15
  const _e = { class: "fm-typo-en-title-md-600" }, ve = { class: "pt-8 space-y-40" }, ye = { class: "flex flex-row gap-16" }, ge = { class: "flex gap-8 items-center justify-start" }, be = /* @__PURE__ */ z({
16
16
  __name: "Form",
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as N, computed as y, h as c, withModifiers as U, ref as V, resolveComponent as _, createBlock as k, openBlock as d, unref as m, withCtx as h, createElementBlock as D, createVNode as f, Fragment as H, createElementVNode as l, renderList as T, toDisplayString as S, createCommentVNode as I } from "vue";
2
- import { A as i, O as W, u as G, G as Q } from "./menu-C0Xu-iTb.js";
2
+ import { A as i, O as W, u as G, G as Q } from "./menu-DFNvhoNQ.js";
3
3
  import { useI18n as J } from "@feedmepos/mf-common";
4
4
  import { components as X, useDialog as Z, useSnackbar as ee } from "@feedmepos/ui-library";
5
5
  import { _ as te } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
6
- import { _ as ne } from "./app-5ESai6-B.js";
7
- import { d as ae, _ as oe, u as se, c as le } from "./scheduler-B11d6fJr.js";
6
+ import { _ as ne } from "./app-Ddb81PNo.js";
7
+ import { d as ae, _ as oe, u as se, c as le } from "./scheduler-BuwGSv6A.js";
8
8
  import { _ as re } from "./index.vue_vue_type_script_setup_true_lang-BgqsTzLI.js";
9
9
  import { _ as ue } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
10
10
  const ce = {
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as J, ref as L, computed as O, resolveComponent as h, createElementBlock as g, openBlock as d, Fragment as x, renderSlot as ae, createVNode as l, unref as t, withCtx as m, createElementVNode as y, toDisplayString as z, onBeforeMount as oe, watch as F, watchEffect as se, h as $, getCurrentInstance as le, onMounted as re, createBlock as j, createCommentVNode as G, isRef as ie, normalizeClass as Q, renderList as ue } from "vue";
2
2
  import { useRouter as ce } from "vue-router";
3
- import { H, u as W, G as X, O as Z, J as I, A as S } from "./menu-C0Xu-iTb.js";
3
+ import { H, u as W, G as X, O as Z, J as I, A as S } from "./menu-DFNvhoNQ.js";
4
4
  import { useI18n as ee, ItemSelector as de, useCoreStore as me } from "@feedmepos/mf-common";
5
5
  import { useSnackbar as ne, components as Y, useDialog as pe, FmButtonVariant as A, useBreakpoints as _e } from "@feedmepos/ui-library";
6
6
  import { _ as fe } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
7
- import { _ as ge, R as ve } from "./app-5ESai6-B.js";
7
+ import { _ as ge, R as ve } from "./app-Ddb81PNo.js";
8
8
  import { _ as he } from "./index.vue_vue_type_script_setup_true_lang-BgqsTzLI.js";
9
9
  import { c as ye } from "./check-C9mY6LiX.js";
10
10
  import { _ as be } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
11
11
  import { u as ke } from "./search-BAPEUu1R.js";
12
- import { u as xe } from "./app-Blbof2Ga.js";
12
+ import { u as xe } from "./app-Cou6qPF2.js";
13
13
  import { c as Se } from "./createComponentProgrammatically-Bt2rn1IQ.js";
14
14
  const Ce = { class: "fm-typo-en-title-md-600" }, qe = { class: "space-y-32 flex flex-col h-full" }, Ee = { class: "flex gap-8 items-center justify-start" }, Ve = /* @__PURE__ */ J({
15
15
  __name: "Form",