@feedmepos/mf-menu 0.31.32-prod → 0.31.33-beta.10

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 (101) hide show
  1. package/dist/{App-NHdXEdrJ.js → App-DLoBsgTh.js} +79 -33
  2. package/dist/{ApplyProduct.vue_vue_type_script_setup_true_lang-DoTx23iL.js → ApplyProduct.vue_vue_type_script_setup_true_lang-AdxIn_cb.js} +20 -20
  3. package/dist/{Catalog-B0fV6Yje.js → Catalog-CEvqDKD0.js} +80 -80
  4. package/dist/{Category-CJZs9I7F.js → Category-CPrXxkVI.js} +41 -41
  5. package/dist/{Category-CUKZ10xq.js → Category-CnsBFgvu.js} +37 -33
  6. package/dist/{CookingGuide-kVclP--T.js → CookingGuide-Day6eG7h.js} +66 -66
  7. package/dist/CustomAttributeChip.vue_vue_type_script_setup_true_lang-CzrjTv0X.js +113 -0
  8. package/dist/{Group-Bgkye2LL.js → Group-HAAm8its.js} +1 -1
  9. package/dist/{Group-CAS6o4Fo.js → Group-_G2GnGz-.js} +3 -3
  10. package/dist/Group.vue_vue_type_script_setup_true_lang-CTDR_kMg.js +686 -0
  11. package/dist/GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-KuT-w6bF.js +367 -0
  12. package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-RsDAGQ3o.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-DwXWiz77.js} +4982 -5081
  13. package/dist/{Ingredient-DpAPMsPZ.js → Ingredient-BerGQ0W3.js} +23 -23
  14. package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-MoApzjt6.js → InventoryBinding.vue_vue_type_script_setup_true_lang-Bf9GYRjF.js} +2 -2
  15. package/dist/LinkProductSideSheet-32r2l60j.js +297 -0
  16. package/dist/LinkProductSideSheet.vue_vue_type_style_index_0_scoped_97fa9d58_lang-DvG3mOom.js +8024 -0
  17. package/dist/{MenuSetting-CoqMT8Vh.js → MenuSetting-DmyEGemp.js} +20 -20
  18. package/dist/{PrintRoute-DyJil1Hl.js → PrintRoute-8gipiFdT.js} +99 -98
  19. package/dist/{Product-BPIUTn0_.js → Product-Cqvq9DAA.js} +1 -1
  20. package/dist/Product.vue_vue_type_script_setup_true_lang-DcMr8wkh.js +1578 -0
  21. package/dist/{ProductInternalTools-DXgWE6JU.js → ProductInternalTools--w7YOgx2.js} +17 -17
  22. package/dist/Products-BIRGYu47.js +283 -0
  23. package/dist/{Publish-DDzpmm72.js → Publish-BcbzhAa5.js} +3 -3
  24. package/dist/{Recipe-DHYzO0IS.js → Recipe-z1zhmblA.js} +13 -13
  25. package/dist/{Scheduler-DBad2mO3.js → Scheduler-Cv9Y5M6i.js} +7 -7
  26. package/dist/{ServingSequence-DC7raAtF.js → ServingSequence-DWFJD-1y.js} +24 -24
  27. package/dist/Setting-BgCssMcE.js +259 -0
  28. package/dist/{Subcategory-DHjc7WeF.js → Subcategory-D4BYtWMN.js} +10 -10
  29. package/dist/{Takeaway-CJRTaygj.js → Takeaway-126rJXs4.js} +9 -9
  30. package/dist/{Takeaway-CAIAHpA-.js → Takeaway-D-UZAzfn.js} +1 -1
  31. package/dist/{Takeaway.vue_vue_type_script_setup_true_lang-BNu9JjwH.js → Takeaway.vue_vue_type_script_setup_true_lang-CVsyWrTL.js} +12 -12
  32. package/dist/Thumbnail.vue_vue_type_script_setup_true_lang-szHjE_UD.js +431 -0
  33. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-CLNlU4BJ.js +5990 -0
  34. package/dist/{Unit-DSMSKE6_.js → Unit-7APP9HLD.js} +13 -13
  35. package/dist/{Variant-DMXxUWnj.js → Variant-lJW6pFqT.js} +14 -14
  36. package/dist/_id_-R-pHc7HA.js +202 -0
  37. package/dist/{app-D23N7tJ0.js → app-CAhJXoa3.js} +390 -377
  38. package/dist/{app-BTgdGTYz.js → app-DoJgznLl.js} +1 -1
  39. package/dist/app.js +1 -1
  40. package/dist/apps/mf-menu/src/app.d.ts +60 -1
  41. package/dist/apps/mf-menu/src/components/feature/PriceTier/LinkPriceTierSection.vue.d.ts +24 -0
  42. package/dist/apps/mf-menu/src/components/feature/PriceTier/PriceTierRuleEditor.vue.d.ts +30 -0
  43. package/dist/apps/mf-menu/src/components/feature/RestaurantAttributesSelector.vue.d.ts +33 -0
  44. package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/catalog.d.ts +2 -0
  45. package/dist/apps/mf-menu/src/components/feature/TreeEditor/store/menuV2.d.ts +80 -1
  46. package/dist/apps/mf-menu/src/composable/linkProducts.d.ts +1276 -0
  47. package/dist/apps/mf-menu/src/helper/import-export.d.ts +77 -0
  48. package/dist/apps/mf-menu/src/helper/menu.d.ts +77 -0
  49. package/dist/apps/mf-menu/src/helper/setting/catalogSetting.d.ts +11 -2
  50. package/dist/apps/mf-menu/src/manager/menu/item.d.ts +77 -0
  51. package/dist/apps/mf-menu/src/router/shared.d.ts +2 -1
  52. package/dist/apps/mf-menu/src/stores/manager/catalog.d.ts +2 -0
  53. package/dist/apps/mf-menu/src/stores/menu.d.ts +79 -0
  54. package/dist/apps/mf-menu/src/types/linkProducts.d.ts +21 -0
  55. package/dist/apps/mf-menu/src/views/PrintRoute/PrintDepartmentDialog.vue.d.ts +5 -3
  56. package/dist/apps/mf-menu/src/views/Publish/UpdateCatalogDialog.vue.d.ts +82 -0
  57. package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -1
  58. package/dist/assets/linked-status-BbJj0WW0.js +24 -0
  59. package/dist/assets/override-menu-CRaqJDr8.js +24 -0
  60. package/dist/assets/validate-menu-BQ2BFUmD.js +24 -0
  61. package/dist/{catalog-DcciqmWK.js → catalog-C1fna-Yk.js} +1 -1
  62. package/dist/catalogSetting-BKP36lej.js +71 -0
  63. package/dist/{category-bhqVqDzJ.js → category-DK_MXlvY.js} +5 -5
  64. package/dist/{currency-Clgvy00I.js → currency-D2fl1Bk0.js} +1 -1
  65. package/dist/{dayjs.min-DeSv8lfJ.js → dayjs.min-Bk9ZYtg9.js} +1 -1
  66. package/dist/{index-BHbYu_OM.js → index-BJ3_8aUL.js} +14 -14
  67. package/dist/{index-CTUaJyIh.js → index-CSuF-4Sa.js} +14 -14
  68. package/dist/{index-DZZJjEOs.js → index-Cc2J6T0N.js} +28 -28
  69. package/dist/index-D7yR1j9C.js +215 -0
  70. package/dist/{item-DH1xf2Sa.js → item-DX44khy2.js} +201 -199
  71. package/dist/{jszip.min-CMM2HN8J.js → jszip.min-Dbu7MIcI.js} +427 -427
  72. package/dist/{menu-Dx39P1vR.js → menu-DT5c-FqY.js} +4 -4
  73. package/dist/menu-D_Cckz_p.js +133287 -0
  74. package/dist/menuV2-DTBH_-tm.js +707 -0
  75. package/dist/mf-menu.css +1 -1
  76. package/dist/{priceTier-3M5cxSYX.js → priceTier-wLQ8p4bJ.js} +1 -1
  77. package/dist/{scheduler-BT3EJBK6.js → scheduler-D6UbXLXR.js} +36 -37
  78. package/dist/subcategory-DjN3X1BI.js +148 -0
  79. package/dist/{toExcel-BLoj4Wqb.js → toExcel-CWyoDcRd.js} +15 -15
  80. package/dist/{unit-BsNOQHvZ.js → unit-CLa8caCJ.js} +11 -10
  81. package/package.json +5 -5
  82. package/dist/CustomAttributeChip.vue_vue_type_script_setup_true_lang-RI_d10bz.js +0 -7949
  83. package/dist/FormItem.vue_vue_type_script_setup_true_lang-BmPAVphe.js +0 -26
  84. package/dist/Group.vue_vue_type_script_setup_true_lang-Bij0tGMP.js +0 -698
  85. package/dist/GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-CUa_0qzX.js +0 -206
  86. package/dist/LinkProductSideSheet-CEClo07H.js +0 -112
  87. package/dist/Product.vue_vue_type_script_setup_true_lang-fjFGg49e.js +0 -1560
  88. package/dist/Products-dWmgQ_di.js +0 -270
  89. package/dist/Setting-CPjvUYU9.js +0 -258
  90. package/dist/Thumbnail.vue_vue_type_script_setup_true_lang-DzQ8_6Bi.js +0 -71
  91. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-ZRv8Dg6x.js +0 -6149
  92. package/dist/_id_-CTq4qK7z.js +0 -200
  93. package/dist/apps/mf-menu/src/components/feature/LinkProduct/LinkProductSideSheet.vue.d.ts +0 -70
  94. package/dist/assets/linked-status-Cfc9wZst.js +0 -24
  95. package/dist/assets/override-menu-BNZggtO_.js +0 -24
  96. package/dist/assets/validate-menu-CPwUvy9F.js +0 -24
  97. package/dist/catalogSetting-D4iwoJLb.js +0 -65
  98. package/dist/index-Ce4v8o7D.js +0 -106
  99. package/dist/menu-DcGo3sn5.js +0 -108039
  100. package/dist/subcategory-B5atmACN.js +0 -817
  101. /package/dist/{apps/mf-menu/src/components → packages/shared/src/components/info}/CustomAttributeChip.vue.d.ts +0 -0
@@ -1,26 +1,26 @@
1
- import { defineComponent as ae, ref as w, computed as V, resolveComponent as x, createBlock as Y, openBlock as k, unref as i, withCtx as p, createElementVNode as a, createVNode as l, createElementBlock as I, toDisplayString as S, Fragment as z, renderList as H, withModifiers as le, createCommentVNode as ce, createTextVNode as fe, h as R } from "vue";
1
+ import { defineComponent as ae, ref as w, computed as V, resolveComponent as x, createBlock as Y, openBlock as k, unref as i, withCtx as p, createElementVNode as a, createVNode as l, createElementBlock as I, toDisplayString as S, Fragment as z, renderList as H, withModifiers as le, createCommentVNode as ce, createTextVNode as fe, h as A } from "vue";
2
2
  import { useI18n as se } from "@feedmepos/mf-common";
3
3
  import { components as ue, useSnackbar as be, useDialog as ye } from "@feedmepos/ui-library";
4
4
  import { _ as ke } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
- import { _ as he } from "./app-D23N7tJ0.js";
6
- import { H as ee, I as me, J as re, G as oe, u as xe, O as Ce, D as we } from "./menu-DcGo3sn5.js";
5
+ import { _ as he } from "./app-CAhJXoa3.js";
6
+ import { H as ee, I as me, J as re, A as oe, u as xe, O as Ce, G as we } from "./menu-D_Cckz_p.js";
7
7
  import { d as Fe } from "./vuedraggable-CK8z7qA8.js";
8
8
  import { _ as Z } from "./FormSection.vue_vue_type_script_setup_true_lang-CO4YGYLB.js";
9
9
  import { u as pe } from "./discardConfirm-BHni0LNu.js";
10
- import { L as Ve } from "./LinkProductSideSheet-CEClo07H.js";
10
+ import { L as Ve } from "./LinkProductSideSheet-32r2l60j.js";
11
11
  import { _ as Se } from "./index.vue_vue_type_script_setup_true_lang-BgqsTzLI.js";
12
12
  import { _ as Ie } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
13
- const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = { class: "space-y-32" }, Ke = { class: "flex bg-fm-color-neutral-gray-100 border-b border-b-fm-color-neutral-gray-200" }, De = { class: "px-16 py-8 w-[40%]" }, Le = { class: "px-16 py-8 grow" }, Ne = { class: "px-16 py-8 w-[40%]" }, Ge = { class: "px-16 py-8 grow" }, Ue = { class: "space-y-16" }, Te = { class: "flex flex-wrap gap-8 overflow-hidden mb-8" }, Be = { class: "flex gap-8 items-center justify-start" }, Me = /* @__PURE__ */ ae({
13
+ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = { class: "space-y-32" }, Ke = { class: "flex bg-fm-color-neutral-gray-100 border-b border-b-fm-color-neutral-gray-200" }, Le = { class: "px-16 py-8 w-[40%]" }, Ne = { class: "px-16 py-8 grow" }, De = { class: "px-16 py-8 w-[40%]" }, Ge = { class: "px-16 py-8 grow" }, Ue = { class: "space-y-16" }, Te = { class: "flex flex-wrap gap-8 overflow-hidden mb-8" }, Be = { class: "flex gap-8 items-center justify-start" }, Me = /* @__PURE__ */ ae({
14
14
  __name: "CookingGuideStepDialog",
15
15
  emits: ["onComplete"],
16
- setup(L, { expose: g, emit: J }) {
16
+ setup(N, { expose: g, emit: J }) {
17
17
  const { t: u } = se();
18
18
  g({
19
19
  show: d,
20
20
  hide: $
21
21
  });
22
- const N = J;
23
- function D() {
22
+ const D = J;
23
+ function L() {
24
24
  return {
25
25
  id: "",
26
26
  variables: {},
@@ -29,18 +29,18 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
29
29
  }
30
30
  const C = w(!1), U = w(!1), E = w(void 0);
31
31
  function d(v) {
32
- U.value = !!v, E.value = v ? ee(v) : D(), m.value = ee(E.value), F.value = Object.entries(m.value.variables).map(
32
+ U.value = !!v, E.value = v ? ee(v) : L(), m.value = ee(E.value), F.value = Object.entries(m.value.variables).map(
33
33
  ([t, f]) => ({ key: t, value: f })
34
34
  ), C.value = !0;
35
35
  }
36
36
  function $() {
37
37
  C.value = !1;
38
38
  }
39
- const m = w(D()), F = w([]);
39
+ const m = w(L()), F = w([]);
40
40
  function X() {
41
41
  F.value.push({ key: "", value: "" });
42
42
  }
43
- function A(v) {
43
+ function R(v) {
44
44
  F.value.splice(v, 1);
45
45
  }
46
46
  function G(v) {
@@ -81,7 +81,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
81
81
  }
82
82
  );
83
83
  function T() {
84
- $(), N("onComplete", {
84
+ $(), D("onComplete", {
85
85
  ...m.value,
86
86
  variables: F.value.reduce((v, { key: t, value: f }) => ({ ...v, [t]: f }), {})
87
87
  });
@@ -147,14 +147,14 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
147
147
  default: p(() => [
148
148
  a("div", null, [
149
149
  a("div", Ke, [
150
- a("div", De, S(i(u)("menu.cooking_guide.step_dialog.sections.variables.columns.key")), 1),
151
- a("div", Le, S(i(u)("menu.cooking_guide.step_dialog.sections.variables.columns.value")), 1)
150
+ a("div", Le, S(i(u)("menu.cooking_guide.step_dialog.sections.variables.columns.key")), 1),
151
+ a("div", Ne, S(i(u)("menu.cooking_guide.step_dialog.sections.variables.columns.value")), 1)
152
152
  ]),
153
153
  (k(!0), I(z, null, H(F.value, (B, M) => (k(), I("div", {
154
154
  key: M,
155
155
  class: "flex items-center border-b border-b-fm-color-neutral-gray-100"
156
156
  }, [
157
- a("div", Ne, [
157
+ a("div", De, [
158
158
  l(_, {
159
159
  modelValue: F.value[M].key,
160
160
  "onUpdate:modelValue": (O) => F.value[M].key = O,
@@ -180,7 +180,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
180
180
  icon: "delete",
181
181
  variant: "tertiary",
182
182
  "text-color": "neutral-gray-400",
183
- onClick: () => A(M)
183
+ onClick: () => R(M)
184
184
  }, null, 8, ["onClick"])
185
185
  ]))), 128))
186
186
  ])
@@ -215,17 +215,17 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
215
215
  }, 8, ["modelValue", "header", "is-container", "is-container-props", "onOn:clickedAway"]);
216
216
  };
217
217
  }
218
- }), ze = { class: "w-[700px]" }, Re = { class: "flex bg-fm-color-neutral-gray-100" }, Ae = { class: "px-16 py-8 grow" }, Pe = { class: "px-16 py-8 w-[200px]" }, qe = { class: "px-16 py-8 w-[200px]" }, je = { class: "px-16 py-8 grow" }, Ye = { class: "px-16 py-8 w-[200px] flex flex-col gap-8" }, He = { class: "px-16 py-8 w-[200px] flex flex-col gap-8" }, Je = /* @__PURE__ */ ae({
218
+ }), ze = { class: "w-[700px]" }, Ae = { class: "flex bg-fm-color-neutral-gray-100" }, Re = { class: "px-16 py-8 grow" }, Pe = { class: "px-16 py-8 w-[200px]" }, qe = { class: "px-16 py-8 w-[200px]" }, je = { class: "px-16 py-8 grow" }, Ye = { class: "px-16 py-8 w-[200px] flex flex-col gap-8" }, He = { class: "px-16 py-8 w-[200px] flex flex-col gap-8" }, Je = /* @__PURE__ */ ae({
219
219
  __name: "CookingGuideStepOverrideDialog",
220
220
  emits: ["onComplete"],
221
- setup(L, { expose: g, emit: J }) {
221
+ setup(N, { expose: g, emit: J }) {
222
222
  const { t: u } = se();
223
223
  g({
224
224
  show: d,
225
225
  hide: $
226
226
  });
227
- const N = J;
228
- function D() {
227
+ const D = J;
228
+ function L() {
229
229
  return {
230
230
  productId: "",
231
231
  overrides: []
@@ -233,17 +233,17 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
233
233
  }
234
234
  const C = w(!1), U = w(""), E = w([]);
235
235
  function d(h) {
236
- U.value = h.itemName, E.value = h.steps, m.value = h.bindings ? ee(h.bindings) : D(), C.value = !0;
236
+ U.value = h.itemName, E.value = h.steps, m.value = h.bindings ? ee(h.bindings) : L(), C.value = !0;
237
237
  }
238
238
  function $() {
239
239
  C.value = !1;
240
240
  }
241
- const m = w(D()), F = V(() => m.value.overrides.reduce((h, n) => (h[n.id] = n, h), {}));
241
+ const m = w(L()), F = V(() => m.value.overrides.reduce((h, n) => (h[n.id] = n, h), {}));
242
242
  function X(h, n) {
243
243
  var s;
244
244
  return ((s = F.value[h]) == null ? void 0 : s.variables[n]) ?? "";
245
245
  }
246
- function A(h, n, s) {
246
+ function R(h, n, s) {
247
247
  const K = m.value.overrides.findIndex((T) => T.id === h);
248
248
  s ? K < 0 ? m.value.overrides.push({
249
249
  id: h,
@@ -251,7 +251,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
251
251
  }) : m.value.overrides[K].variables[n] = s : K >= 0 && (delete m.value.overrides[K].variables[n], Object.keys(m.value.overrides[K].variables).length || m.value.overrides.splice(K, 1));
252
252
  }
253
253
  function G() {
254
- $(), N("onComplete", m.value);
254
+ $(), D("onComplete", m.value);
255
255
  }
256
256
  return (h, n) => {
257
257
  const s = x("FmTextField"), K = x("FmSpacer"), T = x("FmButton"), v = x("FmDialog");
@@ -284,8 +284,8 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
284
284
  ]),
285
285
  default: p(() => [
286
286
  a("div", ze, [
287
- a("div", Re, [
288
- a("div", Ae, S(i(u)("menu.cooking_guide.step_override_dialog.columns.instructions")), 1),
287
+ a("div", Ae, [
288
+ a("div", Re, S(i(u)("menu.cooking_guide.step_override_dialog.columns.instructions")), 1),
289
289
  a("div", Pe, S(i(u)("menu.cooking_guide.step_override_dialog.columns.variables")), 1),
290
290
  a("div", qe, S(i(u)("menu.cooking_guide.step_override_dialog.columns.value")), 1)
291
291
  ]),
@@ -305,7 +305,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
305
305
  l(s, {
306
306
  "model-value": X(t.id, _.toString()),
307
307
  placeholder: f,
308
- "onUpdate:modelValue": (P) => A(t.id, _.toString(), P)
308
+ "onUpdate:modelValue": (P) => R(t.id, _.toString(), P)
309
309
  }, null, 8, ["model-value", "placeholder", "onUpdate:modelValue"])
310
310
  ]))), 128))
311
311
  ])
@@ -329,13 +329,13 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
329
329
  }
330
330
  },
331
331
  emits: ["onSave"],
332
- setup(L, { expose: g, emit: J }) {
333
- const u = L;
332
+ setup(N, { expose: g, emit: J }) {
333
+ const u = N;
334
334
  g({
335
335
  showModal: U,
336
336
  hideModal: E
337
337
  });
338
- function N() {
338
+ function D() {
339
339
  return {
340
340
  _id: "",
341
341
  name: "",
@@ -343,14 +343,14 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
343
343
  steps: []
344
344
  };
345
345
  }
346
- const D = w(!1), C = w(void 0);
346
+ const L = w(!1), C = w(void 0);
347
347
  function U(e) {
348
- C.value = e ? ee(e) : N(), d.value = ee(C.value), D.value = !0;
348
+ C.value = e ? ee(e) : D(), d.value = ee(C.value), L.value = !0;
349
349
  }
350
350
  function E() {
351
- D.value = !1;
351
+ L.value = !1;
352
352
  }
353
- const d = w(N()), $ = w();
353
+ const d = w(D()), $ = w();
354
354
  function m() {
355
355
  var e;
356
356
  (e = $.value) == null || e.show();
@@ -362,7 +362,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
362
362
  function X(e) {
363
363
  d.value.steps.splice(e, 1);
364
364
  }
365
- function A(e) {
365
+ function R(e) {
366
366
  if (!e.id)
367
367
  d.value.steps.push({ ...e, id: (/* @__PURE__ */ new Date()).toISOString() });
368
368
  else {
@@ -381,7 +381,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
381
381
  (r) => r.productId === e && r.combinationKey == o
382
382
  );
383
383
  }
384
- function n(e) {
384
+ function n({ items: e }) {
385
385
  const o = e.reduce((r, c) => (r[c._id] = r[c._id] ?? [], c.combinationKey && (r[c._id] = [...r[c._id], c.combinationKey]), r), {}), b = Object.entries(o).reduce(
386
386
  (r, [c, Q]) => {
387
387
  var te;
@@ -484,7 +484,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
484
484
  const _e = pe(
485
485
  () => !me.isEqual(C.value, d.value),
486
486
  () => {
487
- D.value = !1;
487
+ L.value = !1;
488
488
  }
489
489
  );
490
490
  function ve() {
@@ -494,8 +494,8 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
494
494
  const b = x("FmTextField"), r = x("FmButton"), c = x("FmCardSection"), Q = x("FmCard"), te = x("FmSpacer"), ne = x("FmSearch"), ie = x("FmSideSheet");
495
495
  return k(), I(z, null, [
496
496
  l(ie, {
497
- modelValue: D.value,
498
- "onUpdate:modelValue": o[4] || (o[4] = (y) => D.value = y),
497
+ modelValue: L.value,
498
+ "onUpdate:modelValue": o[4] || (o[4] = (y) => L.value = y),
499
499
  header: f.value,
500
500
  "max-width": 560,
501
501
  "is-container": i(ue).FmForm,
@@ -600,14 +600,14 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
600
600
  ]),
601
601
  _: 1
602
602
  }, 8, ["title"]),
603
- L.canApplyItems ? (k(), Y(Z, {
603
+ N.canApplyItems ? (k(), Y(Z, {
604
604
  key: 0,
605
605
  title: i(t)("menu.cooking_guide.dialog.sections.apply_product.title")
606
606
  }, {
607
607
  "append-title": p(() => [
608
608
  l(te),
609
609
  l(Ve, {
610
- "categorized-items": L.categorizedItems,
610
+ "categorized-items": N.categorizedItems,
611
611
  "initial-value": d.value.bindings.map((y) => ({
612
612
  _id: y.productId,
613
613
  combinationKey: y.combinationKey
@@ -678,7 +678,7 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
678
678
  l(Me, {
679
679
  ref_key: "cookingGuideStepDialogRef",
680
680
  ref: $,
681
- onOnComplete: A
681
+ onOnComplete: R
682
682
  }, null, 512),
683
683
  l(Je, {
684
684
  ref_key: "cookingGuideStepOverrideDialogRef",
@@ -689,25 +689,25 @@ const $e = { class: "flex items-center gap-8" }, Oe = { class: "grow" }, Ee = {
689
689
  };
690
690
  }
691
691
  });
692
- function ro(L) {
692
+ function ro(N) {
693
693
  return {
694
694
  module: oe.F_MENU_MODULE_V4_KEY.enum.cookingGuide,
695
695
  operation: re.F_OPERATION_TYPE.create,
696
- data: oe.FdoMenuCookingGuide.parse(L)
696
+ data: oe.FdoMenuCookingGuide.parse(N)
697
697
  };
698
698
  }
699
- function co(L) {
699
+ function co(N) {
700
700
  return {
701
701
  module: oe.F_MENU_MODULE_V4_KEY.enum.cookingGuide,
702
702
  operation: re.F_OPERATION_TYPE.update,
703
- data: oe.FdoMenuCookingGuide.parse(L)
703
+ data: oe.FdoMenuCookingGuide.parse(N)
704
704
  };
705
705
  }
706
- function mo(L) {
706
+ function mo(N) {
707
707
  return {
708
708
  module: oe.F_MENU_MODULE_V4_KEY.enum.cookingGuide,
709
709
  operation: re.F_OPERATION_TYPE.delete,
710
- data: L._id
710
+ data: N._id
711
711
  };
712
712
  }
713
713
  const po = {
@@ -724,7 +724,7 @@ const po = {
724
724
  class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
725
725
  }, Eo = /* @__PURE__ */ ae({
726
726
  __name: "CookingGuide",
727
- setup(L) {
727
+ setup(N) {
728
728
  const {
729
729
  t: g
730
730
  } = se(), J = V(() => [{
@@ -761,39 +761,39 @@ const po = {
761
761
  headerContentClass: "-mx-16"
762
762
  },
763
763
  enableSorting: !1,
764
- cell: (n) => R("div", {
764
+ cell: (n) => A("div", {
765
765
  class: "flex justify-end"
766
- }, [R(ue.FmButton, {
766
+ }, [A(ue.FmButton, {
767
767
  icon: "delete",
768
768
  textColor: "neutral-gray-400",
769
769
  variant: "tertiary",
770
770
  onClick: le(() => {
771
- A(n.row.original);
771
+ R(n.row.original);
772
772
  }, ["stop", "prevent"])
773
773
  })])
774
- }]), u = xe(), N = V(() => E.checkMenuIsLoading()), D = V(() => u.categorizedItems), C = V(() => u.state.menu.modules.cookingGuide), U = V(() => C.value.length > 0), E = Ce(we(be())), d = w();
774
+ }]), u = xe(), D = V(() => E.checkMenuIsLoading()), L = V(() => u.categorizedItems), C = V(() => u.state.menu.modules.cookingGuide), U = V(() => C.value.length > 0), E = Ce(we(be())), d = w();
775
775
  function $() {
776
776
  var n;
777
- N.value || (n = d.value) == null || n.showModal();
777
+ D.value || (n = d.value) == null || n.showModal();
778
778
  }
779
779
  function m(n) {
780
780
  var s;
781
- N.value || (s = d.value) == null || s.showModal(n);
781
+ D.value || (s = d.value) == null || s.showModal(n);
782
782
  }
783
783
  async function F(n) {
784
784
  const s = n._id ? co(n) : ro(n);
785
785
  await E.updateMenu(s, n.name);
786
786
  }
787
787
  const X = ye();
788
- async function A(n) {
789
- let s = [R("span", g("menu.cooking_guide.dialogs.remove.message.prefix")), R("span", {
788
+ async function R(n) {
789
+ let s = [A("span", g("menu.cooking_guide.dialogs.remove.message.prefix")), A("span", {
790
790
  class: "fm-typo-en-body-lg-600"
791
- }, n.name), R("span", "?")];
792
- n.bindings.length && (s = [R("span", g("menu.cooking_guide.dialogs.remove.message.products_using")), R("span", {
791
+ }, n.name), A("span", "?")];
792
+ n.bindings.length && (s = [A("span", g("menu.cooking_guide.dialogs.remove.message.products_using")), A("span", {
793
793
  class: "fm-typo-en-body-lg-600"
794
- }, n.bindings.length), R("span", g("menu.cooking_guide.dialogs.remove.message.products_count")), ...s]), X.open({
794
+ }, n.bindings.length), A("span", g("menu.cooking_guide.dialogs.remove.message.products_count")), ...s]), X.open({
795
795
  title: g("menu.cooking_guide.dialogs.remove.title"),
796
- contentComponent: R("div", s),
796
+ contentComponent: A("div", s),
797
797
  primaryActions: {
798
798
  text: g("menu.cooking_guide.actions.remove"),
799
799
  close: !0,
@@ -818,7 +818,7 @@ const po = {
818
818
  }, {
819
819
  "append-heading": p(() => [a("div", po, [U.value ? (k(), Y(ke, {
820
820
  key: 0,
821
- disabled: N.value,
821
+ disabled: D.value,
822
822
  icon: "add",
823
823
  label: i(g)("menu.cooking_guide.actions.add"),
824
824
  variant: "primary",
@@ -837,7 +837,7 @@ const po = {
837
837
  }, {
838
838
  default: p(() => [l(T, {
839
839
  "column-defs": J.value,
840
- loading: N.value,
840
+ loading: D.value,
841
841
  "page-size": C.value.length,
842
842
  "row-data": C.value,
843
843
  "search-value": G.value,
@@ -864,11 +864,11 @@ const po = {
864
864
  })), 1), a("div", bo, S(i(g)("menu.cooking_guide.table.columns.steps", {
865
865
  count: _.steps.length
866
866
  })), 1)])]), l(v, {
867
- disabled: N.value,
867
+ disabled: D.value,
868
868
  icon: "delete",
869
869
  variant: "tertiary",
870
870
  "text-color": "neutral-gray-400",
871
- onClick: le(() => A(_), ["stop"])
871
+ onClick: le(() => R(_), ["stop"])
872
872
  }, null, 8, ["disabled", "onClick"])]),
873
873
  _: 2
874
874
  }, 1032, ["label", "onClick"]))), 128))]),
@@ -884,7 +884,7 @@ const po = {
884
884
  }, null, 8, ["action", "subtitle", "title"])), l(uo, {
885
885
  ref_key: "cookingGuideDialogRef",
886
886
  ref: d,
887
- "categorized-items": D.value,
887
+ "categorized-items": L.value,
888
888
  onOnSave: F
889
889
  }, null, 8, ["categorized-items"])]),
890
890
  _: 1
@@ -0,0 +1,113 @@
1
+ import { defineComponent as S, computed as o, createBlock as v, openBlock as t, unref as c, withCtx as g, renderSlot as B, ref as A, resolveComponent as I, createElementBlock as a, createElementVNode as m, createCommentVNode as b, Fragment as f, renderList as C, toDisplayString as d, withModifiers as F } from "vue";
2
+ import { useI18n as V } from "@feedmepos/mf-common";
3
+ import { _ as M } from "./MenuSelector.vue_vue_type_script_setup_true_lang-K6Z0QJBl.js";
4
+ import { u as D } from "./menu-D_Cckz_p.js";
5
+ import { useBreakpoints as E } from "@feedmepos/ui-library";
6
+ import { _ as y } from "./TextChip.vue_vue_type_script_setup_true_lang-8frWuZFL.js";
7
+ const X = /* @__PURE__ */ S({
8
+ __name: "SchedulerSelector",
9
+ setup(k) {
10
+ const s = D(), { t: n } = V(), l = o({
11
+ get: () => s.state.currentSchedulerId || "",
12
+ set: (e) => s.selectScheduler(e)
13
+ }), _ = o(() => [
14
+ { label: n("menu.common.labels.summary"), value: "" },
15
+ ...s.schedulers.map((e) => ({
16
+ label: e.name,
17
+ value: e._id
18
+ }))
19
+ ]), h = o(() => {
20
+ var e;
21
+ return ((e = _.value.find((r) => r.value === l.value)) == null ? void 0 : e.label) || n("menu.common.labels.summary");
22
+ });
23
+ return (e, r) => (t(), v(M, {
24
+ modelValue: l.value,
25
+ "onUpdate:modelValue": r[0] || (r[0] = (u) => l.value = u),
26
+ items: _.value,
27
+ placeholder: c(n)("menu.common.labels.summary"),
28
+ "search-placeholder": c(n)("menu.common.actions.search"),
29
+ title: c(n)("menu.common.labels.scheduler_title", { label: h.value })
30
+ }, {
31
+ append: g(() => [
32
+ B(e.$slots, "append")
33
+ ]),
34
+ _: 3
35
+ }, 8, ["modelValue", "items", "placeholder", "search-placeholder", "title"]));
36
+ }
37
+ }), L = { class: "flex flex-wrap gap-8" }, N = { class: "py-12 px-16 space-y-12" }, O = { class: "fm-typo-en-body-md-600 text-fm-color-neutral-gray-600" }, T = { class: "flex flex-wrap gap-8" }, z = {
38
+ key: 0,
39
+ class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
40
+ }, U = { key: 0 }, q = {
41
+ key: 1,
42
+ class: "inline-block w-8"
43
+ }, G = { key: 0 }, H = { key: 1 }, Y = /* @__PURE__ */ S({
44
+ __name: "CustomAttributeChip",
45
+ props: {
46
+ customAttributes: {},
47
+ ellipsis: { type: Boolean, default: !0 }
48
+ },
49
+ setup(k) {
50
+ const s = k, { t: n } = V(), l = o(() => Object.values(s.customAttributes || {})), _ = E(), h = o(() => _.breakpoints.value.xs), e = o(() => s.ellipsis ? h.value ? 1 : 2 : 1 / 0), r = o(() => l.value.length <= e.value ? l.value : l.value.slice(0, e.value)), u = A(!0), $ = o(() => {
51
+ if (u.value) {
52
+ const i = r.value.join(", ");
53
+ return i.length > 20 ? i.slice(0, 20) + "..." : i;
54
+ }
55
+ return l.value.join(", ");
56
+ });
57
+ return (j, i) => {
58
+ const w = I("FmTooltip");
59
+ return h.value ? (t(), a(f, { key: 1 }, [
60
+ l.value.length > 0 ? (t(), a("p", z, [
61
+ m("span", null, d(c(n)("menu.product.table.columns.tagging")) + ": ", 1),
62
+ m("span", null, d($.value), 1),
63
+ u.value ? (t(), a("span", q)) : (t(), a("br", U)),
64
+ l.value.length > e.value ? (t(), a("span", {
65
+ key: 2,
66
+ class: "fm-typo-en-body-md-400 text-fm-color-primary cursor-pointer",
67
+ onClick: i[0] || (i[0] = F((p) => u.value = !u.value, ["stop", "prevent"]))
68
+ }, [
69
+ u.value ? (t(), a("span", G, d(c(n)("menu.product.table.tagging.expand", { count: l.value.length - e.value })), 1)) : (t(), a("span", H, d(c(n)("menu.product.table.tagging.collapse")), 1))
70
+ ])) : b("", !0)
71
+ ])) : b("", !0)
72
+ ], 64)) : (t(), v(w, {
73
+ key: 0,
74
+ class: "flex",
75
+ variant: "rich",
76
+ placement: "top",
77
+ "z-index": 50
78
+ }, {
79
+ content: g(() => [
80
+ m("div", N, [
81
+ m("p", O, d(c(n)("menu.product.table.tagging.all")), 1),
82
+ m("div", T, [
83
+ (t(!0), a(f, null, C(Object.entries(s.customAttributes || {}), ([p, x]) => (t(), v(y, {
84
+ key: x,
85
+ label: `${p}: ${x}`,
86
+ variant: "neutral"
87
+ }, null, 8, ["label"]))), 128))
88
+ ])
89
+ ])
90
+ ]),
91
+ default: g(() => [
92
+ m("div", L, [
93
+ (t(!0), a(f, null, C(r.value, (p) => (t(), v(y, {
94
+ key: p,
95
+ label: p,
96
+ variant: "neutral"
97
+ }, null, 8, ["label"]))), 128)),
98
+ l.value.length > e.value ? (t(), v(y, {
99
+ key: 0,
100
+ label: "...",
101
+ variant: "neutral"
102
+ })) : b("", !0)
103
+ ])
104
+ ]),
105
+ _: 1
106
+ }));
107
+ };
108
+ }
109
+ });
110
+ export {
111
+ Y as _,
112
+ X as a
113
+ };
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./Group.vue_vue_type_script_setup_true_lang-Bij0tGMP.js";
1
+ import { _ as f } from "./Group.vue_vue_type_script_setup_true_lang-CTDR_kMg.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -2,9 +2,9 @@ import { defineComponent as m, ref as p, createBlock as i, openBlock as d, unref
2
2
  import { useI18n as _ } from "@feedmepos/mf-common";
3
3
  import { _ as f } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
4
4
  import { _ as g } from "./PageLayout.vue_vue_type_script_setup_true_lang-2f0QfweQ.js";
5
- import { _ as y } from "./Group.vue_vue_type_script_setup_true_lang-Bij0tGMP.js";
6
- import { A as b } from "./item-DH1xf2Sa.js";
7
- import { a as h } from "./menu-Dx39P1vR.js";
5
+ import { _ as y } from "./Group.vue_vue_type_script_setup_true_lang-CTDR_kMg.js";
6
+ import { A as b } from "./item-DX44khy2.js";
7
+ import { a as h } from "./menu-DT5c-FqY.js";
8
8
  const v = { class: "flex-1 flex justify-between gap-8 pl-8" }, x = { class: "flex items-center" }, k = { class: "bg-fm-color-neutral-gray-100 rounded-md px-8 py-4" }, C = { class: "fm-typo-en-body-md-600 font-semibold" }, j = /* @__PURE__ */ m({
9
9
  __name: "Group",
10
10
  setup(N) {