@feedmepos/mf-menu 0.32.17 → 0.32.18-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/App-Cfl37TTw.js +152661 -0
  2. package/dist/{Catalog-ChlP8Cid.js → Catalog-Yxsb-D33.js} +47 -52
  3. package/dist/{Category-CHs96ibF.js → Category-0vJH8Ct0.js} +86 -92
  4. package/dist/{Category-B1tAJpNd.js → Category-qp0wI14I.js} +25 -26
  5. package/dist/{CookingGuide-mEvca-0v.js → CookingGuide-EpAr5F5U.js} +139 -143
  6. package/dist/{CustomAttributeChip.vue_vue_type_script_setup_true_lang-Bk26jQI7.js → CustomAttributeChip.vue_vue_type_script_setup_true_lang-CkyD0sdI.js} +14 -16
  7. package/dist/{Group-Ye2IIY52.js → Group-B3W9iSbO.js} +5 -5
  8. package/dist/{Group-Co2Vf4Lw.js → Group-DLCh0fDU.js} +1 -1
  9. package/dist/{Group.vue_vue_type_script_setup_true_lang-BcxSbvJS.js → Group.vue_vue_type_script_setup_true_lang-Bzy_hXDv.js} +176 -186
  10. package/dist/{GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-D1f8VG-n.js → GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-BFaAXp7r.js} +81 -88
  11. package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-Jv6iJlg9.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-CxP8lDD0.js} +2502 -2508
  12. package/dist/{Ingredient-BgnW8sWo.js → Ingredient-CVLMr_YB.js} +102 -105
  13. package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-8ziHcUiK.js → InventoryBinding.vue_vue_type_script_setup_true_lang-CdTC5ykI.js} +1058 -1059
  14. package/dist/{MenuSetting-GEngjeC8.js → MenuSetting-Blpi1vSd.js} +58 -61
  15. package/dist/{PrintRoute-BSlUQT7g.js → PrintRoute-BS7PPPkE.js} +49 -52
  16. package/dist/{Product-DNg_BUuV.js → Product-DDeNKQ7u.js} +1 -1
  17. package/dist/{Product.vue_vue_type_script_setup_true_lang-Cehy2oy-.js → Product.vue_vue_type_script_setup_true_lang-rmv8m4_D.js} +286 -298
  18. package/dist/{ProductInternalTools-B5A67yxH.js → ProductInternalTools-CVuothk9.js} +45 -46
  19. package/dist/{Products-DCsxmTPB.js → Products-BIvsHKEt.js} +111 -116
  20. package/dist/{Publish-Cst0Ll6T.js → Publish-CDADU3Pp.js} +154 -159
  21. package/dist/{Recipe-DupS3SQT.js → Recipe-CMhW7e_z.js} +40 -43
  22. package/dist/{Scheduler-BcThU1M6.js → Scheduler-BpxunKBV.js} +7 -7
  23. package/dist/{ServingSequence-CT3THBH6.js → ServingSequence-BQVuYyAB.js} +54 -58
  24. package/dist/{Setting-Dxh8E3no.js → Setting-Dj0yyP37.js} +63 -66
  25. package/dist/{Subcategory-DhJEzofz.js → Subcategory-BH4DDZM4.js} +72 -76
  26. package/dist/{Takeaway-DSC7U4Jk.js → Takeaway-CGJBZ_sJ.js} +1 -1
  27. package/dist/{Takeaway-B8BSSKNj.js → Takeaway-DifOudVE.js} +20 -21
  28. package/dist/{Takeaway.vue_vue_type_script_setup_true_lang-BLpiJlk2.js → Takeaway.vue_vue_type_script_setup_true_lang-D-R5_S5G.js} +59 -64
  29. package/dist/{Unit-joU7vZZu.js → Unit-DXDox2Ut.js} +8 -8
  30. package/dist/{Variant-D8YjRJ6N.js → Variant-DbJVwgm5.js} +75 -78
  31. package/dist/{_id_-Bd9uo1WW.js → _id_-RFYwWjbM.js} +34 -38
  32. package/dist/{app-BNrAos5Z.js → app-Z0KWH9-d.js} +74 -335
  33. package/dist/app.js +4 -5
  34. package/dist/apps/mf-menu/src/app.d.ts +1 -2
  35. package/dist/apps/mf-menu/src/helper/import-export-utils.d.ts +1 -0
  36. package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -1
  37. package/dist/assets/{linked-status-DbjzbFTw.js → linked-status-CkmoJAm-.js} +2 -2
  38. package/dist/assets/{menu-export-D_oNY_wi.js → menu-export-DcINiK28.js} +3 -3
  39. package/dist/assets/{override-menu-CIU7U1_4.js → override-menu-PUKiu-df.js} +2 -2
  40. package/dist/assets/{validate-menu-kuOxuwG9.js → validate-menu-CcqiRhNT.js} +2 -2
  41. package/dist/{catalogSetting-BHgsBDTl.js → catalogSetting-Bf66H-j7.js} +1 -1
  42. package/dist/dayjs.min-DNPTnUFp.js +6 -0
  43. package/dist/{jszip.min-7SsHzD5O.js → jszip.min-CO2_Gf69.js} +545 -545
  44. package/dist/{menu-Cd4NbFVq.js → menu-Brxar171.js} +1 -1
  45. package/dist/mf-menu.css +1 -1
  46. package/dist/{scheduler-B6OokVIA.js → scheduler-CqdIiE8G.js} +56 -60
  47. package/dist/{toExcel-BZkbXlHv.js → toExcel-CRJIU0NC.js} +2 -2
  48. package/dist/{unit-D6QOkMoM.js → unit-wYPYkm33.js} +98 -105
  49. package/package.json +1 -1
  50. package/dist/App-BiSEuDkd.js +0 -13484
  51. package/dist/ApplyProduct.vue_vue_type_script_setup_true_lang-C_SjdLpO.js +0 -161
  52. package/dist/FormItem.vue_vue_type_script_setup_true_lang-BmPAVphe.js +0 -26
  53. package/dist/LinkProductSideSheet-DFDYEUBh.js +0 -687
  54. package/dist/MenuSelector.vue_vue_type_script_setup_true_lang-K6Z0QJBl.js +0 -69
  55. package/dist/RuleView.vue_vue_type_script_setup_true_lang-BeesK2ym.js +0 -3285
  56. package/dist/TextChip.vue_vue_type_script_setup_true_lang-8frWuZFL.js +0 -20
  57. package/dist/Thumbnail.vue_vue_type_script_setup_true_lang-C3qXnZlz.js +0 -399
  58. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-CMe76XvZ.js +0 -6011
  59. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  60. package/dist/app-5fxKLAzS.js +0 -8163
  61. package/dist/app-nTzkERJW.js +0 -68
  62. package/dist/catalog-BO2nXwe5.js +0 -199
  63. package/dist/category-CuG3DsGL.js +0 -156
  64. package/dist/check-C9mY6LiX.js +0 -9
  65. package/dist/createComponentProgrammatically-Bt2rn1IQ.js +0 -11
  66. package/dist/currency-DxC5zyZB.js +0 -7
  67. package/dist/dayjs.min-BvFUSPWD.js +0 -6
  68. package/dist/discardConfirm-BHni0LNu.js +0 -28
  69. package/dist/index-B0nhvuxR.js +0 -273
  70. package/dist/index-C2zPvt64.js +0 -239
  71. package/dist/index-C36JQix-.js +0 -246
  72. package/dist/index-CisutoS9.js +0 -156
  73. package/dist/index.vue_vue_type_script_setup_true_lang-DCBYExNb.js +0 -109064
  74. package/dist/item-K01xd1Z0.js +0 -6868
  75. package/dist/menuV2-DKE-xanq.js +0 -1052
  76. package/dist/object-DVUNCr7w.js +0 -16
  77. package/dist/priceTier-Beavb91W.js +0 -87
  78. package/dist/search-BAPEUu1R.js +0 -15
  79. package/dist/string-DpfFixWH.js +0 -4
  80. package/dist/subcategory-DnslmmRD.js +0 -148
  81. package/dist/tooltip-B5BiPMx9.js +0 -32
  82. package/dist/vuedraggable-CK8z7qA8.js +0 -1728
@@ -1,20 +0,0 @@
1
- import { defineComponent as i, computed as r, createElementBlock as s, openBlock as m, normalizeClass as p, toDisplayString as d } from "vue";
2
- const f = /* @__PURE__ */ i({
3
- __name: "TextChip",
4
- props: {
5
- label: {},
6
- variant: {},
7
- border: { type: Boolean },
8
- bold: { type: Boolean, default: !0 },
9
- size: { default: "md" }
10
- },
11
- setup(o) {
12
- const e = o, n = r(() => e.variant === "warning" ? "primary" : "typo-" + e.variant), t = r(() => e.variant === "neutral" ? "neutral-gray-100" : "system-" + e.variant + "-100"), a = r(() => e.size === "xs" ? "text-[8px] tracking-wide leading-[10px] no-underline" : e.size === "sm" ? e.bold ? "fm-typo-en-body-sm-600" : "fm-typo-en-body-sm-400" : e.bold ? "fm-typo-en-body-md-600" : "fm-typo-en-body-md-400");
13
- return (l, u) => (m(), s("span", {
14
- class: p(`inline-block fm-corner-radius-md px-4 py-[2px] ${a.value} text-fm-color-${n.value} bg-fm-color-${t.value} text-nowrap max-w-full ${e.border ? "border border-fm-color-neutral-gray-400" : ""}`)
15
- }, d(l.label), 3));
16
- }
17
- });
18
- export {
19
- f as _
20
- };
@@ -1,399 +0,0 @@
1
- import { computed as d, defineComponent as x, ref as F, resolveComponent as b, createElementBlock as L, openBlock as w, normalizeClass as R, createVNode as K, normalizeStyle as $, withCtx as B, createBlock as U, createCommentVNode as j } from "vue";
2
- import { A as h, M as E, G as C, Q as O, al as Y, u as y, a as G } from "./index.vue_vue_type_script_setup_true_lang-DCBYExNb.js";
3
- import { u as S } from "./menuV2-DKE-xanq.js";
4
- import { C as v, h as N } from "./catalog-BO2nXwe5.js";
5
- import { useSnackbar as P, useDialog as z } from "@feedmepos/ui-library";
6
- import { a as T } from "./LinkProductSideSheet-DFDYEUBh.js";
7
- import { useI18n as Q } from "@feedmepos/mf-common";
8
- function q() {
9
- const t = S(), o = d(() => t.categorizedRawMenuItems.filter((u) => u.items.length > 0)), i = d(() => {
10
- const u = t.currentCatalog;
11
- return u ? v.getItemAvailable(u).map((n) => ({ _id: n })) : [];
12
- });
13
- async function c(u) {
14
- const n = t.currentCatalog;
15
- if (!n) return;
16
- const a = new Set(u), r = t.state.menu.modules.item.map((l) => l._id).reduce(
17
- (l, m) => {
18
- const f = n.override.items[m];
19
- return l[m] = N(
20
- m,
21
- f,
22
- a.has(m),
23
- t.version === h.F_MENU_VERSION.enum.v3
24
- ), l;
25
- },
26
- {}
27
- ), s = {
28
- ...n,
29
- override: {
30
- ...n.override,
31
- items: r
32
- },
33
- /**
34
- * linkItemRules and items under override are two ways to manage linked items under catalog,
35
- * if we changed items under override, we should clear linkItemRules to avoid conflict.
36
- */
37
- linkItemRules: null
38
- };
39
- await t.updateMenu({
40
- module: h.F_MENU_MODULE_V4_KEY.enum.catalog,
41
- operation: E.F_OPERATION_TYPE.update,
42
- data: s
43
- });
44
- }
45
- async function g(u) {
46
- await A(u, !0);
47
- }
48
- async function p(u) {
49
- await A(u, !1);
50
- }
51
- async function _(u) {
52
- const n = t.currentCatalog;
53
- if (!n) return;
54
- const a = {
55
- ...n,
56
- linkItemRules: u
57
- };
58
- await t.updateMenu({
59
- module: h.F_MENU_MODULE_V4_KEY.enum.catalog,
60
- operation: E.F_OPERATION_TYPE.update,
61
- data: a
62
- });
63
- }
64
- return {
65
- linkableItems: o,
66
- currentItems: i,
67
- applyProduct: c,
68
- addProduct: g,
69
- removeProduct: p,
70
- saveLinkItemRules: _
71
- };
72
- }
73
- async function A(t, o) {
74
- var u;
75
- const i = S(), c = i.currentCatalog;
76
- if (!c || t.length === 0) return;
77
- const g = i.version === h.F_MENU_VERSION.enum.v3, p = t.reduce(
78
- (n, a) => {
79
- const e = c.override.items[a];
80
- return n[a] = N(a, e, o, g), n;
81
- },
82
- {}
83
- ), _ = {
84
- ...c,
85
- override: {
86
- ...c.override,
87
- items: {
88
- ...((u = c.override) == null ? void 0 : u.items) || {},
89
- ...p
90
- }
91
- }
92
- };
93
- await i.updateMenu({
94
- module: h.F_MENU_MODULE_V4_KEY.enum.catalog,
95
- operation: E.F_OPERATION_TYPE.update,
96
- data: _
97
- });
98
- }
99
- function H() {
100
- const t = S(), o = P(), i = z(), c = C(o), g = O(c), p = d(() => {
101
- const n = t.categorizedRawMenuItems, a = new Set(
102
- t.currentCatalog ? v.getItemAvailable(t.currentCatalog) : t.state.menu.modules.item.map((e) => e._id)
103
- );
104
- return n.map((e) => ({
105
- ...e,
106
- items: e.items.filter((r) => a.has(r._id))
107
- })).filter((e) => e.items.length > 0);
108
- }), _ = d(() => {
109
- var r;
110
- const n = t.currentScheduler;
111
- if (!n) return [];
112
- const a = t.currentCatalog, e = a ? ((r = a.override.scheduler[n._id]) == null ? void 0 : r.items) ?? [] : n.items;
113
- return [
114
- ...new Set(e.filter((s) => s.orderFrom != h.F_ORDER_FROM.enum.NONE).map((s) => s._id))
115
- ].map((s) => ({ _id: s }));
116
- });
117
- async function u(n) {
118
- const a = t.currentScheduler;
119
- if (!a) return;
120
- const e = t.currentCatalog;
121
- if (e && t.rules.scheduler.override) {
122
- const r = new v(
123
- e,
124
- t,
125
- g.updateMenu,
126
- i
127
- );
128
- r.overrideCatalogSchedulerItems(n, a._id), await t.updateMenu({
129
- module: h.F_MENU_MODULE_V4_KEY.enum.catalog,
130
- operation: E.F_OPERATION_TYPE.update,
131
- data: r.getCatalog()
132
- });
133
- } else {
134
- const r = n.reduce(
135
- (l, m) => {
136
- const f = a.items.filter((I) => I._id == m) ?? [];
137
- return l = l.concat(
138
- Y(m, f, (I) => ({
139
- ...I,
140
- orderFrom: null
141
- }))
142
- ), l;
143
- },
144
- []
145
- ), s = {
146
- ...a,
147
- items: r
148
- };
149
- await t.updateMenu({
150
- module: h.F_MENU_MODULE_V4_KEY.enum.scheduler,
151
- operation: E.F_OPERATION_TYPE.update,
152
- data: s
153
- });
154
- }
155
- }
156
- return {
157
- linkableItems: p,
158
- currentItems: _,
159
- applyProduct: u
160
- };
161
- }
162
- const J = () => {
163
- const t = y(), o = P(), i = C(o), c = O(i), g = d(() => t.categorizedRawMenuItems.filter((n) => n.items.length > 0)), p = d(() => {
164
- const n = t.currentCatalog;
165
- return n ? v.getItemAvailable(n).map((a) => ({ _id: a })) : [];
166
- });
167
- async function _(n) {
168
- const a = t.currentCatalog;
169
- if (!a) return;
170
- const e = new Set(n), s = t.state.menu.modules.item.map((m) => m._id).reduce(
171
- (m, f) => {
172
- const I = a.override.items[f];
173
- return m[f] = N(
174
- f,
175
- I,
176
- e.has(f),
177
- t.version === G.F_MENU_VERSION.v3
178
- ), m;
179
- },
180
- {}
181
- ), l = {
182
- ...a,
183
- override: { ...a.override, items: s },
184
- /**
185
- * linkItemRules and items under override are two ways to manage linked items under catalog,
186
- * if we changed items under override, we should clear linkItemRules to avoid conflict.
187
- */
188
- linkItemRules: null
189
- };
190
- await c.updateMenu(
191
- {
192
- module: h.F_MENU_MODULE_V4_KEY.enum.catalog,
193
- operation: E.F_OPERATION_TYPE.update,
194
- data: l
195
- },
196
- l.name
197
- );
198
- }
199
- async function u(n) {
200
- const a = t.currentCatalog;
201
- if (!a) return;
202
- const e = {
203
- ...a,
204
- linkItemRules: n
205
- };
206
- await c.updateMenu(
207
- {
208
- module: h.F_MENU_MODULE_V4_KEY.enum.catalog,
209
- operation: E.F_OPERATION_TYPE.update,
210
- data: e
211
- },
212
- e.name
213
- );
214
- }
215
- return {
216
- linkableItems: g,
217
- currentItems: p,
218
- applyProduct: _,
219
- saveLinkItemRules: u
220
- };
221
- }, W = () => {
222
- const t = y(), o = P(), i = z(), c = C(o), g = O(c), p = d(() => {
223
- const n = t.categorizedRawMenuItems, a = new Set(
224
- t.currentCatalog ? v.getItemAvailable(t.currentCatalog) : t.state.menu.modules.item.map((e) => e._id)
225
- );
226
- return n.map((e) => ({
227
- ...e,
228
- items: e.items.filter((r) => a.has(r._id))
229
- })).filter((e) => e.items.length > 0);
230
- }), _ = d(() => {
231
- var r;
232
- const n = t.currentScheduler;
233
- if (!n) return [];
234
- const a = t.currentCatalog, e = a ? ((r = a.override.scheduler[n._id]) == null ? void 0 : r.items) ?? [] : n.items;
235
- return [
236
- ...new Set(e.filter((s) => s.orderFrom != h.F_ORDER_FROM.enum.NONE).map((s) => s._id))
237
- ].map((s) => ({ _id: s }));
238
- });
239
- async function u(n) {
240
- const a = t.currentScheduler;
241
- if (!a) return;
242
- const e = t.currentCatalog;
243
- if (e && t.rules.scheduler.override) {
244
- const r = new v(e, t, g.updateMenu, i);
245
- r.overrideCatalogSchedulerItems(n, a._id), await r.update();
246
- } else {
247
- const r = n.reduce(
248
- (l, m) => {
249
- const f = a.items.filter((I) => I._id == m) ?? [];
250
- return l = l.concat(
251
- Y(m, f, (I) => ({
252
- ...I,
253
- orderFrom: null
254
- }))
255
- ), l;
256
- },
257
- []
258
- ), s = {
259
- ...a,
260
- items: r
261
- };
262
- await g.updateMenu(
263
- {
264
- module: h.F_MENU_MODULE_V4_KEY.enum.scheduler,
265
- operation: E.F_OPERATION_TYPE.update,
266
- data: s
267
- },
268
- s.name
269
- );
270
- }
271
- }
272
- return {
273
- linkableItems: p,
274
- currentItems: _,
275
- applyProduct: u
276
- };
277
- };
278
- function se(t) {
279
- const o = {
280
- // Under FdoMenuV4Category _id is string, but here we need null for Addon, so we bypass the type checking
281
- // @ts-ignore
282
- _id: null,
283
- name: "Addon",
284
- position: 0
285
- };
286
- if (!t) {
287
- const e = y(), r = d(() => e.state.menu.modules.item ?? []), s = d(() => {
288
- var M;
289
- return ((M = e.currentCatalog) == null ? void 0 : M.linkItemRules) ?? null;
290
- }), l = W(), m = J(), f = d(() => !e.state.currentSchedulerId), I = (M) => {
291
- if (M.mode === T.Rules)
292
- m.saveLinkItemRules(M.linkItemRules);
293
- else {
294
- const k = M.items.map((V) => V._id);
295
- f.value ? m.applyProduct(k) : l.applyProduct(k);
296
- }
297
- }, D = d(() => [o, ...e.state.menu.modules.category ?? []]);
298
- return {
299
- menuItems: r,
300
- categories: D,
301
- linkItemRules: s,
302
- catalogManager: m,
303
- schedulerManager: l,
304
- noScheduler: f,
305
- handleSubmit: I
306
- };
307
- }
308
- const i = S(), c = d(() => i.state.menu.modules.item ?? []), g = d(() => {
309
- var e;
310
- return ((e = i.currentCatalog) == null ? void 0 : e.linkItemRules) ?? null;
311
- }), p = H(), _ = q(), u = d(() => !i.state.currentSchedulerId), n = (e) => {
312
- if (e.mode === T.Rules)
313
- _.saveLinkItemRules(e.linkItemRules);
314
- else {
315
- const r = e.items.map((s) => s._id);
316
- u.value ? _.applyProduct(r) : p.applyProduct(r);
317
- }
318
- }, a = d(() => [o, ...i.state.menu.modules.category ?? []]);
319
- return {
320
- menuItems: c,
321
- categories: a,
322
- linkItemRules: g,
323
- catalogManager: _,
324
- schedulerManager: p,
325
- noScheduler: u,
326
- handleSubmit: n
327
- };
328
- }
329
- const X = ["alt", "src", "crossorigin"], ue = /* @__PURE__ */ x({
330
- __name: "Thumbnail",
331
- props: {
332
- src: {},
333
- alt: {},
334
- className: {},
335
- size: {},
336
- crossorigin: { type: Boolean, default: !0 }
337
- },
338
- setup(t) {
339
- const o = t, { t: i } = Q(), c = F(!1), g = F(!o.src), p = () => {
340
- c.value = !1, g.value = !0;
341
- }, _ = () => {
342
- c.value = !0, g.value = !0;
343
- }, u = d(() => o.alt ? i("menu.thumbnail.alt.with_name", { name: o.alt }) : i("menu.thumbnail.alt.default")), n = d(() => typeof o.size == "number" ? {
344
- width: o.size,
345
- height: o.size
346
- } : {
347
- width: o.size.width,
348
- height: o.size.height
349
- }), a = d(() => {
350
- if (!o.src) return null;
351
- if (o.crossorigin) {
352
- const e = o.src.includes("?") ? "&" : "?";
353
- return `${o.src}${e}_cors=${Date.now()}`;
354
- }
355
- return o.src;
356
- });
357
- return (e, r) => {
358
- const s = b("fm-icon"), l = b("fm-card");
359
- return w(), L("div", {
360
- class: R([e.className, "flex items-center justify-center"])
361
- }, [
362
- K(l, {
363
- class: R(["flex items-center justify-center", "rounded-md"]),
364
- style: $({ width: `${n.value.width}px`, height: `${n.value.height}px` }),
365
- variant: "outlined"
366
- }, {
367
- default: B(() => [
368
- a.value && !c.value ? (w(), L("img", {
369
- key: 0,
370
- alt: u.value,
371
- class: R(["w-full h-full", "object-cover", g.value ? "" : "hidden"]),
372
- src: a.value,
373
- crossorigin: o.crossorigin ? "anonymous" : void 0,
374
- onError: _,
375
- onLoad: p
376
- }, null, 42, X)) : (w(), U(s, {
377
- key: 1,
378
- color: "neutral-gray-300",
379
- name: "image",
380
- outline: ""
381
- })),
382
- g.value ? j("", !0) : (w(), U(s, {
383
- key: 2,
384
- class: "animate-spin",
385
- name: "progress_activity",
386
- spin: ""
387
- }))
388
- ]),
389
- _: 1
390
- }, 8, ["style"])
391
- ], 2);
392
- };
393
- }
394
- });
395
- export {
396
- ue as _,
397
- q as a,
398
- se as u
399
- };