@feedmepos/mf-menu 0.32.62 → 0.32.63-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 (98) hide show
  1. package/dist/{App-CE4fZP2_.js → App-DhfTGlgM.js} +467 -462
  2. package/dist/{ApplyProduct.vue_vue_type_script_setup_true_lang-PpYjjdOP.js → ApplyProduct.vue_vue_type_script_setup_true_lang-C5-8qdJK.js} +3 -3
  3. package/dist/{ApplyProductDialog.vue_vue_type_script_setup_true_lang-C_JKiJRD.js → ApplyProductDialog.vue_vue_type_script_setup_true_lang-CXm-0H18.js} +8 -8
  4. package/dist/{Catalog-C2MyXkps.js → Catalog-WuZJfM6l.js} +78 -78
  5. package/dist/{Category-B7Uxbyug.js → Category-BeIo7XWY.js} +20 -20
  6. package/dist/{Category-BoV0MYQp.js → Category-D-cQQCPS.js} +19 -19
  7. package/dist/{CookingGuide-Bdyj8XMv.js → CookingGuide-B-yvD9ZA.js} +88 -88
  8. package/dist/{CustomAttributeChip.vue_vue_type_script_setup_true_lang-EDbgLHTU.js → CustomAttributeChip.vue_vue_type_script_setup_true_lang-2_yzXoa4.js} +1 -1
  9. package/dist/{Group-BuFbi0Z-.js → Group-13i5igrS.js} +5 -5
  10. package/dist/{Group-DYpxc5ui.js → Group-CY8lUzQG.js} +1 -1
  11. package/dist/{Group.vue_vue_type_script_setup_true_lang-B5Uw2Rzm.js → Group.vue_vue_type_script_setup_true_lang-DZhxy0tb.js} +95 -94
  12. package/dist/{GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-COYg8e7h.js → GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-CWqv-oUd.js} +13 -13
  13. package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-YY25YW4B.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-DTs4Vpdi.js} +219 -220
  14. package/dist/{Ingredient-Ddw06I0B.js → Ingredient-vrUOW6gk.js} +49 -49
  15. package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-CsWdL5Lz.js → InventoryBinding.vue_vue_type_script_setup_true_lang-xcVjRjqD.js} +2 -2
  16. package/dist/{LinkProductSideSheet-COAMZqOM.js → LinkProductSideSheet-DMbJG6wf.js} +8 -8
  17. package/dist/{MenuSetting--G1_lGoV.js → MenuSetting-Di2xwm00.js} +10 -10
  18. package/dist/{OrderPacing-DnvLJh5M.js → OrderPacing-CCe-IcGO.js} +28 -28
  19. package/dist/{PrintRoute-CP-3JGP3.js → PrintRoute-CcfObcHY.js} +27 -27
  20. package/dist/{Product-D-q15-Qw.js → Product-ChUVnMgG.js} +1 -1
  21. package/dist/{Product.vue_vue_type_script_setup_true_lang-BaOg60Q6.js → Product.vue_vue_type_script_setup_true_lang-C9Qp50hL.js} +153 -152
  22. package/dist/{ProductInternalTools-wYn0bzml.js → ProductInternalTools-D9HXhgo5.js} +80 -79
  23. package/dist/{Products-CxEsB-7l.js → Products-Bly2ktEC.js} +75 -74
  24. package/dist/{Publish-BCljLztW.js → Publish-C8ubb8Qf.js} +113 -113
  25. package/dist/{Recipe-DgfobgnQ.js → Recipe-BpMRLsyO.js} +32 -32
  26. package/dist/{RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-BgDVFKRI.js → RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-BD5OCDRn.js} +1 -1
  27. package/dist/{RuleView.vue_vue_type_script_setup_true_lang-DCbrAMxd.js → RuleView.vue_vue_type_script_setup_true_lang-Ba3djmX1.js} +474 -473
  28. package/dist/{Scheduler-C-LJs7Gl.js → Scheduler-CiB4b2Fn.js} +9 -9
  29. package/dist/{ServingSequence-BoaDRfsc.js → ServingSequence-BlcyW-dv.js} +18 -18
  30. package/dist/{Setting-BfFqBD9u.js → Setting-DqkL6YYU.js} +31 -31
  31. package/dist/{Subcategory-BsnC9ZSS.js → Subcategory-B4Jg_wtT.js} +43 -43
  32. package/dist/{Takeaway-PilRifJP.js → Takeaway-5G3f7jWT.js} +1 -1
  33. package/dist/{Takeaway-dSEAc70g.js → Takeaway-5rFPYYNA.js} +16 -16
  34. package/dist/{Takeaway.vue_vue_type_script_setup_true_lang-CgioM0sV.js → Takeaway.vue_vue_type_script_setup_true_lang-CVsOhg_E.js} +23 -23
  35. package/dist/{TranslationFieldSection.vue_vue_type_script_setup_true_lang-CHf3g1ia.js → TranslationFieldSection.vue_vue_type_script_setup_true_lang-CPqxA6JD.js} +1 -1
  36. package/dist/{TranslationSideSheet.vue_vue_type_script_setup_true_lang-A43XxqyC.js → TranslationSideSheet.vue_vue_type_script_setup_true_lang-yrNuTD-3.js} +8 -9
  37. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-T71R68sq.js +5836 -0
  38. package/dist/{Unit-DW1dFJas.js → Unit-CAkdmQLg.js} +2 -2
  39. package/dist/{Variant-CzLzrt2N.js → Variant-BbLQqbAK.js} +13 -13
  40. package/dist/{_id_-qfASfKMD.js → _id_-Dzacr40I.js} +13 -13
  41. package/dist/{app-BB33yKM6.js → app-4yWs09Fr.js} +495 -495
  42. package/dist/{app-CJnEQz-U.js → app-Deov1985.js} +3 -3
  43. package/dist/app.js +1 -1
  44. package/dist/apps/mf-menu/src/api/media.d.ts +161 -0
  45. package/dist/apps/mf-menu/src/app.d.ts +340 -0
  46. package/dist/apps/mf-menu/src/components/feature/CategoryManager/CategoriesSelector.vue.d.ts +1 -1
  47. package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/productImages.d.ts +150 -0
  48. package/dist/apps/mf-menu/src/components/feature/TreeEditor/image/CustomDimensionDialog.vue.d.ts +17 -0
  49. package/dist/apps/mf-menu/src/components/feature/TreeEditor/image/ImageUploadDialog.vue.d.ts +16 -1
  50. package/dist/apps/mf-menu/src/components/feature/TreeEditor/image/ManageImageDrawer.vue.d.ts +42 -0
  51. package/dist/apps/mf-menu/src/components/feature/TreeEditor/image/ProductImageField.vue.d.ts +75 -0
  52. package/dist/apps/mf-menu/src/components/feature/TreeEditor/image/RegenerateImageDialog.vue.d.ts +17 -0
  53. package/dist/apps/mf-menu/src/components/feature/TreeEditor/item/ProductDetail.vue.d.ts +3 -6
  54. package/dist/apps/mf-menu/src/components/feature/TreeEditor/store/menuV2.d.ts +1 -1
  55. package/dist/apps/mf-menu/src/composable/remyImageTarget.d.ts +5 -0
  56. package/dist/apps/mf-menu/src/helper/menu.d.ts +14 -1
  57. package/dist/apps/mf-menu/src/stores/menu.d.ts +1 -0
  58. package/dist/apps/mf-menu/src/types/rule.d.ts +2 -0
  59. package/dist/apps/mf-menu/src/views/Catalog/Edit/AddProductPopup/Form.vue.d.ts +3 -2
  60. package/dist/apps/mf-menu/src/views/Catalog/Edit/AddProductPopup/ProductDetail.vue.d.ts +8 -8
  61. package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -1
  62. package/dist/assets/{linked-status-VaVE9Pyh.js → linked-status-B2WLhKkV.js} +3 -3
  63. package/dist/assets/{menu-export-DD9Zt6XH.js → menu-export-Dcw5a_dN.js} +3 -3
  64. package/dist/assets/{override-menu-DZCgrhuF.js → override-menu-cBe2aMY6.js} +3 -3
  65. package/dist/assets/{validate-menu-BFsQlikL.js → validate-menu-BM-5GK85.js} +2 -2
  66. package/dist/{catalog-Cvn1ZMGp.js → catalog-DKygS2Cs.js} +6 -6
  67. package/dist/{catalogSetting-D2bOCGW7.js → catalogSetting-Bn2TplvM.js} +1 -1
  68. package/dist/currency-DXgNHtK8.js +7 -0
  69. package/dist/dayjs.min-DpX65tgj.js +7 -0
  70. package/dist/discardConfirm-DZwzKO-Q.js +3704 -0
  71. package/dist/{index-B2fxLO4K.js → index-B48KLyqg.js} +61 -61
  72. package/dist/{index-CizrxT_e.js → index-BEocaqRK.js} +30 -30
  73. package/dist/index-K-MBqJJo.js +222 -0
  74. package/dist/{index.vue_vue_type_script_setup_true_lang-gaRM4vfS.js → index.vue_vue_type_script_setup_true_lang-Nl505vPi.js} +44918 -51563
  75. package/dist/item-Da3ArD-G.js +13213 -0
  76. package/dist/{jszip.min-BXLegUsz.js → jszip.min-Cc2eR4Cq.js} +119 -119
  77. package/dist/linkProducts-GNuUxFEE.js +331 -0
  78. package/dist/{memberPricing-CizI1rUM.js → memberPricing-T-jr7tn1.js} +1 -1
  79. package/dist/{menu-BCed1YCE.js → menu-DSDRAil-.js} +1 -1
  80. package/dist/{menuV2-Bo9AHrdr.js → menuV2-fTlJdjxi.js} +162 -160
  81. package/dist/mf-menu.css +1 -1
  82. package/dist/{order_pacing-BkfQeNeC.js → order_pacing-Dgo1fySS.js} +17 -17
  83. package/dist/packages/shared/src/helpers/agentCode.d.ts +9 -0
  84. package/dist/{priceTier-rjuK-b6U.js → priceTier-aT_gIfrN.js} +3 -3
  85. package/dist/{rules-DHX_hK6G.js → rules-Cx2hkV20.js} +8 -8
  86. package/dist/{scheduler-BsfPbtM2.js → scheduler-Bd-q7yF8.js} +62 -62
  87. package/dist/{toExcel-DJHljg_L.js → toExcel-qfjR83qT.js} +2 -2
  88. package/dist/{unit-BxTWR1dZ.js → unit-n1T9grbM.js} +64 -64
  89. package/package.json +3 -3
  90. package/dist/Thumbnail.vue_vue_type_script_setup_true_lang-DGqao47l.js +0 -399
  91. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-DY1umres.js +0 -6058
  92. package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/thumbnailUpload.d.ts +0 -6
  93. package/dist/apps/mf-menu/src/components/feature/TreeEditor/image/ImageUploadForm.vue.d.ts +0 -38
  94. package/dist/currency-DQDsuXB5.js +0 -7
  95. package/dist/dayjs.min-CzUkrXIR.js +0 -7
  96. package/dist/discardConfirm-BHni0LNu.js +0 -28
  97. package/dist/index-CisutoS9.js +0 -156
  98. package/dist/item-DOHVD6CN.js +0 -9098
@@ -0,0 +1,222 @@
1
+ import { defineComponent as v, resolveComponent as p, createBlock as m, openBlock as i, Teleport as k, createVNode as y, Transition as A, withCtx as g, createCommentVNode as b, withKeys as I, normalizeStyle as P, normalizeClass as f, createElementVNode as h, renderSlot as S, createElementBlock as x, toDisplayString as $, Fragment as z, renderList as N, computed as d, unref as U, ref as C } from "vue";
2
+ import { _ as B } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
+ import { useI18n as F } from "@feedmepos/mf-common";
4
+ const V = {
5
+ class: /* @__PURE__ */ f([
6
+ "flex items-center",
7
+ "px-24 pt-16 pb-8",
8
+ "border-b border-fm-color-neutral-gray-100",
9
+ "space-x-4"
10
+ ])
11
+ }, j = { class: "fm-typo-en-title-sm-600 mr-auto" }, D = {
12
+ class: /* @__PURE__ */ f(["flex flex-col", "flex-1 overflow-scroll", "w-full", "px-24"])
13
+ }, X = /* @__PURE__ */ v({
14
+ __name: "FullScreenForm",
15
+ props: {
16
+ show: { type: Boolean },
17
+ title: {},
18
+ primaryAction: {},
19
+ secondaryActions: {},
20
+ zIndex: { default: 50 }
21
+ },
22
+ emits: ["onPrimary", "onCancel"],
23
+ setup(r, { emit: e }) {
24
+ const n = e, l = () => {
25
+ n("onPrimary");
26
+ }, s = () => {
27
+ n("onCancel");
28
+ };
29
+ return (t, a) => {
30
+ const c = p("fm-button"), o = p("fm-form");
31
+ return i(), m(k, { to: "body" }, [
32
+ y(A, { name: "fade" }, {
33
+ default: g(() => [
34
+ t.show ? (i(), m(o, {
35
+ key: 0,
36
+ "blame-form-child-on-validation-failed": "",
37
+ class: f(["fixed inset-0", "flex flex-col", "w-screen h-dvh", "bg-fm-color-neutral-white"]),
38
+ style: P({ zIndex: t.zIndex }),
39
+ tabindex: "-1",
40
+ onValidationSuccess: l,
41
+ onKeyup: I(s, ["esc"])
42
+ }, {
43
+ default: g(() => [
44
+ h("div", V, [
45
+ h("p", j, $(t.title), 1),
46
+ S(t.$slots, "append-title", {}, void 0, !0),
47
+ (i(!0), x(z, null, N(t.secondaryActions, (u) => (i(), m(c, {
48
+ label: u.label,
49
+ variant: "tertiary",
50
+ onClick: u.click
51
+ }, null, 8, ["label", "onClick"]))), 256)),
52
+ y(c, {
53
+ label: t.primaryAction.label,
54
+ type: "submit",
55
+ variant: "primary"
56
+ }, null, 8, ["label"])
57
+ ]),
58
+ h("div", D, [
59
+ S(t.$slots, "default", {}, void 0, !0)
60
+ ])
61
+ ]),
62
+ _: 3
63
+ }, 8, ["style"])) : b("", !0)
64
+ ]),
65
+ _: 3
66
+ })
67
+ ]);
68
+ };
69
+ }
70
+ }), ne = /* @__PURE__ */ B(X, [["__scopeId", "data-v-5b5c7179"]]), le = /* @__PURE__ */ v({
71
+ __name: "PriceTierNotice",
72
+ props: {
73
+ menuStore: {}
74
+ },
75
+ setup(r) {
76
+ const e = r, n = d(() => {
77
+ var t, a;
78
+ return ((t = e.menuStore.currentCatalog) == null ? void 0 : t.priceTierRules) ?? ((a = e.menuStore.currentCatalog) == null ? void 0 : a.usePriceTiers) ?? [];
79
+ }), l = d(() => {
80
+ var t;
81
+ return e.menuStore.isV4 && e.menuStore.currentCatalog && !e.menuStore.currentScheduler && ((t = n.value) == null ? void 0 : t.length) > 0;
82
+ }), { t: s } = F();
83
+ return (t, a) => {
84
+ var o;
85
+ const c = p("FmSnackbar");
86
+ return l.value ? (i(), m(c, {
87
+ key: 0,
88
+ "z-index": 0,
89
+ class: "!max-w-full",
90
+ title: U(s)("menu.price_tier.price_group_description", { group: (o = n.value) == null ? void 0 : o.join(", ") })
91
+ }, null, 8, ["title"])) : b("", !0);
92
+ };
93
+ }
94
+ }), K = ["alt", "src", "crossorigin"], se = /* @__PURE__ */ v({
95
+ __name: "Thumbnail",
96
+ props: {
97
+ src: {},
98
+ alt: {},
99
+ className: {},
100
+ size: {},
101
+ crossorigin: { type: Boolean, default: !0 }
102
+ },
103
+ setup(r) {
104
+ const e = r, { t: n } = F(), l = C(!1), s = C(!e.src), t = () => {
105
+ l.value = !1, s.value = !0;
106
+ }, a = () => {
107
+ l.value = !0, s.value = !0;
108
+ }, c = d(() => e.alt ? n("menu.thumbnail.alt.with_name", { name: e.alt }) : n("menu.thumbnail.alt.default")), o = d(() => typeof e.size == "number" ? {
109
+ width: e.size,
110
+ height: e.size
111
+ } : {
112
+ width: e.size.width,
113
+ height: e.size.height
114
+ }), u = d(() => {
115
+ if (!e.src) return null;
116
+ if (e.crossorigin) {
117
+ const _ = e.src.includes("?") ? "&" : "?";
118
+ return `${e.src}${_}_cors=${Date.now()}`;
119
+ }
120
+ return e.src;
121
+ });
122
+ return (_, Z) => {
123
+ const w = p("fm-icon"), R = p("fm-card");
124
+ return i(), x("div", {
125
+ class: f([_.className, "flex items-center justify-center"])
126
+ }, [
127
+ y(R, {
128
+ class: f(["flex items-center justify-center", "rounded-md"]),
129
+ style: P({ width: `${o.value.width}px`, height: `${o.value.height}px` }),
130
+ variant: "outlined"
131
+ }, {
132
+ default: g(() => [
133
+ u.value && !l.value ? (i(), x("img", {
134
+ key: 0,
135
+ alt: c.value,
136
+ class: f(["w-full h-full", "object-cover", s.value ? "" : "hidden"]),
137
+ src: u.value,
138
+ crossorigin: e.crossorigin ? "anonymous" : void 0,
139
+ onError: a,
140
+ onLoad: t
141
+ }, null, 42, K)) : (i(), m(w, {
142
+ key: 1,
143
+ color: "neutral-gray-300",
144
+ name: "image",
145
+ outline: ""
146
+ })),
147
+ s.value ? b("", !0) : (i(), m(w, {
148
+ key: 2,
149
+ class: "animate-spin",
150
+ name: "progress_activity",
151
+ spin: ""
152
+ }))
153
+ ]),
154
+ _: 1
155
+ }, 8, ["style"])
156
+ ], 2);
157
+ };
158
+ }
159
+ }), G = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu"), H = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu"), M = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u"), O = /[^\p{L}\d]+/giu, L = "$1\0$2", E = "";
160
+ function T(r) {
161
+ let e = r.trim();
162
+ e = e.replace(G, L).replace(H, L), e = e.replace(O, "\0");
163
+ let n = 0, l = e.length;
164
+ for (; e.charAt(n) === "\0"; )
165
+ n++;
166
+ if (n === l)
167
+ return [];
168
+ for (; e.charAt(l - 1) === "\0"; )
169
+ l--;
170
+ return e.slice(n, l).split(/\0/g);
171
+ }
172
+ function W(r) {
173
+ const e = T(r);
174
+ for (let n = 0; n < e.length; n++) {
175
+ const l = e[n], s = M.exec(l);
176
+ if (s) {
177
+ const t = s.index + (s[1] ?? s[2]).length;
178
+ e.splice(n, 1, l.slice(0, t), l.slice(t));
179
+ }
180
+ }
181
+ return e;
182
+ }
183
+ function ae(r, e) {
184
+ const [n, l, s] = Y(r, e), t = q(e == null ? void 0 : e.locale), a = J(e == null ? void 0 : e.locale), c = Q(t, a);
185
+ return n + l.map((o, u) => u === 0 ? c(o) : t(o)).join((e == null ? void 0 : e.delimiter) ?? " ") + s;
186
+ }
187
+ function q(r) {
188
+ return r === !1 ? (e) => e.toLowerCase() : (e) => e.toLocaleLowerCase(r);
189
+ }
190
+ function J(r) {
191
+ return r === !1 ? (e) => e.toUpperCase() : (e) => e.toLocaleUpperCase(r);
192
+ }
193
+ function Q(r, e) {
194
+ return (n) => `${e(n[0])}${r(n.slice(1))}`;
195
+ }
196
+ function Y(r, e = {}) {
197
+ const n = e.split ?? (e.separateNumbers ? W : T), l = e.prefixCharacters ?? E, s = e.suffixCharacters ?? E;
198
+ let t = 0, a = r.length;
199
+ for (; t < r.length; ) {
200
+ const c = r.charAt(t);
201
+ if (!l.includes(c))
202
+ break;
203
+ t++;
204
+ }
205
+ for (; a > t; ) {
206
+ const c = a - 1, o = r.charAt(c);
207
+ if (!s.includes(o))
208
+ break;
209
+ a = c;
210
+ }
211
+ return [
212
+ r.slice(0, t),
213
+ n(r.slice(t, a)),
214
+ r.slice(a)
215
+ ];
216
+ }
217
+ export {
218
+ ne as F,
219
+ le as _,
220
+ se as a,
221
+ ae as s
222
+ };