@feedmepos/mf-menu 1.0.1-dev.2 → 1.0.1-dev.3

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 (58) hide show
  1. package/dist/{App-CdIN4s5n.js → App-DEoljb3M.js} +546 -533
  2. package/dist/{BindingTable.vue_vue_type_script_setup_true_lang-CoHlJwpz.js → BindingTable.vue_vue_type_script_setup_true_lang-DACfW6SY.js} +1 -1
  3. package/dist/{Catalog-DjAubC9s.js → Catalog-B6mXH-Ez.js} +4 -4
  4. package/dist/{CatalogBinding-5JNRTbyZ.js → CatalogBinding-CZbbxQCa.js} +3 -3
  5. package/dist/{CatalogEditTabs.vue_vue_type_script_setup_true_lang-BorOjk1k.js → CatalogEditTabs.vue_vue_type_script_setup_true_lang-CFjBkgkl.js} +3 -3
  6. package/dist/{CatalogEditor.vue_vue_type_script_setup_true_lang-CkF7O_V-.js → CatalogEditor.vue_vue_type_script_setup_true_lang-owNQUf8y.js} +6 -6
  7. package/dist/{CatalogLinkProductAction.vue_vue_type_script_setup_true_lang-3fL43MuR.js → CatalogLinkProductAction.vue_vue_type_script_setup_true_lang-DJLjbLGK.js} +3 -3
  8. package/dist/{Category-COug7fz8.js → Category-B37n9Row.js} +2 -2
  9. package/dist/{Category-BbiN4hd7.js → Category-DHGrowud.js} +5 -5
  10. package/dist/{CategoryList.vue_vue_type_script_setup_true_lang-B_9aPMIN.js → CategoryList.vue_vue_type_script_setup_true_lang-_Ux8uXwn.js} +92 -91
  11. package/dist/{CookingGuide-Dg7kuF6l.js → CookingGuide-4i1KsBxo.js} +262 -256
  12. package/dist/{Group-BRpmTqyT.js → Group-DVB_G6lM.js} +5 -5
  13. package/dist/{Group-C-hwlkgJ.js → Group-N5_9GK2v.js} +2 -2
  14. package/dist/{GroupList.vue_vue_type_script_setup_true_lang-DowoJ3WM.js → GroupList.vue_vue_type_script_setup_true_lang-BDWyiP8J.js} +5 -5
  15. package/dist/{Ingredient-BQYnARdC.js → Ingredient-C-puVgJK.js} +3 -3
  16. package/dist/{LinkProductSideSheet.vue_vue_type_script_setup_true_lang-CgTDkHle.js → LinkProductSideSheet.vue_vue_type_script_setup_true_lang-ChDd6vJd.js} +1 -1
  17. package/dist/{MenuSetting-DsdM2_OW.js → MenuSetting-QhU37DTL.js} +3 -3
  18. package/dist/{OrderPacing-5x2YH-_l.js → OrderPacing-COY_HJ8I.js} +96 -93
  19. package/dist/{OrderPacingFields.vue_vue_type_script_setup_true_lang-DVGJjpiM.js → OrderPacingFields.vue_vue_type_script_setup_true_lang-BAbojJnz.js} +1 -1
  20. package/dist/{Preview-AdgGTYlQ.js → Preview-DrbsRznu.js} +1 -1
  21. package/dist/{PriceTierNotice.vue_vue_type_script_setup_true_lang-vmxVZ2ya.js → PriceTierNotice.vue_vue_type_script_setup_true_lang-BTJwvrlT.js} +1 -1
  22. package/dist/{PrintRoute-COkCv4gf.js → PrintRoute-DVJAvYq-.js} +158 -152
  23. package/dist/{Product-BJFb_J4h.js → Product-ClT1oFVA.js} +4 -4
  24. package/dist/{ProductEditorHost.vue_vue_type_script_setup_true_lang-Tpp8MBYS.js → ProductEditorHost.vue_vue_type_script_setup_true_lang-B4qpB-yA.js} +2 -2
  25. package/dist/{ProductGroupCreateSheet.vue_vue_type_script_setup_true_lang-C25Pwqme.js → ProductGroupCreateSheet.vue_vue_type_script_setup_true_lang-BWZwFal7.js} +3 -3
  26. package/dist/{ProductImageEditorDialog.vue_vue_type_script_setup_true_lang-BMAtAK9D.js → ProductImageEditorDialog.vue_vue_type_script_setup_true_lang-yZSYrcYe.js} +1 -1
  27. package/dist/{ProductInlineCreateHost.vue_vue_type_script_setup_true_lang-Dl4Zr5tx.js → ProductInlineCreateHost.vue_vue_type_script_setup_true_lang-3SaYTgCI.js} +1181 -1174
  28. package/dist/ProductInternalTools-DRcfn5DE.js +2147 -0
  29. package/dist/{ProductInventoryDialog-C3ruRWU5.js → ProductInventoryDialog-i48yqlp_.js} +1 -1
  30. package/dist/{ProductInventoryDialog.vue_vue_type_script_setup_true_lang-MpdIixqI.js → ProductInventoryDialog.vue_vue_type_script_setup_true_lang-C7z4BHKp.js} +1 -1
  31. package/dist/{ProductList.vue_vue_type_script_setup_true_lang-9_ohgfqE.js → ProductList.vue_vue_type_script_setup_true_lang-DkIwQeby.js} +1990 -1967
  32. package/dist/{ProductVariantTranslationSheet.vue_vue_type_script_setup_true_lang-Ctbz-8cd.js → ProductVariantTranslationSheet.vue_vue_type_script_setup_true_lang-Dr0r1hYM.js} +1 -1
  33. package/dist/{Products-DMrjQFfu.js → Products-B4yaF9Y5.js} +3 -3
  34. package/dist/{Publish-f6g0dIao.js → Publish-D8pKpnju.js} +3 -3
  35. package/dist/{Recipe-p-wxadSN.js → Recipe-Cz4s5W4k.js} +3 -3
  36. package/dist/{Scheduler-CtebRafn.js → Scheduler-xE_rjFjJ.js} +3 -3
  37. package/dist/{ServingSequence-CEd4ywOQ.js → ServingSequence-BjD1Xn6Q.js} +103 -97
  38. package/dist/{Setting-bPKadRu-.js → Setting-BrD0NB_a.js} +6 -6
  39. package/dist/{Subcategory-DBCnIP0b.js → Subcategory-wbHw1iCU.js} +141 -129
  40. package/dist/{Takeaway-VBkdW1DM.js → Takeaway-CIqSThUQ.js} +5 -5
  41. package/dist/{Takeaway-GNRHR5kN.js → Takeaway-DM7weBPk.js} +2 -2
  42. package/dist/{TakeawayList.vue_vue_type_script_setup_true_lang-DvX3k0Jg.js → TakeawayList.vue_vue_type_script_setup_true_lang-HZP5jmAy.js} +117 -111
  43. package/dist/{TreeEditorOpenner.vue_vue_type_script_setup_true_lang-D1qaEVUu.js → TreeEditorOpenner.vue_vue_type_script_setup_true_lang-CLeJxNfG.js} +6 -6
  44. package/dist/{Unit-DbGKIprZ.js → Unit-RHuHWCCg.js} +2 -2
  45. package/dist/{Variant-_edSAKif.js → Variant-MA-mdYxx.js} +114 -108
  46. package/dist/{_id_-BNVtBV3q.js → _id_-CO1c1eIn.js} +3 -3
  47. package/dist/{app-BlTv5xag.js → app-DnIyFwTs.js} +420 -406
  48. package/dist/app.js +1 -1
  49. package/dist/apps/mf-menu/src/router/shared.d.ts +33 -0
  50. package/dist/apps/mf-menu/src/sdk/import-export.d.ts +8 -2
  51. package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -1
  52. package/dist/assets/{menu-compute-BzchkTYh.js → menu-compute-BYzYhsd6.js} +2 -2
  53. package/dist/assets/{validate-menu-CTV_cJNG.js → validate-menu-oaYEuMiz.js} +2 -2
  54. package/dist/mf-menu.css +1 -1
  55. package/dist/{provide-dbE6Qt1z.js → provide-UZbVvMqZ.js} +56729 -55678
  56. package/dist/{useActionFeedback-CdY_C_HX.js → useActionFeedback-CfPMryOm.js} +1 -1
  57. package/package.json +1 -1
  58. package/dist/ProductInternalTools-thlSvqbA.js +0 -2906
@@ -2,7 +2,7 @@ import { defineComponent as D, computed as P, ref as U, resolveComponent as k, o
2
2
  import { a as j, _ as x, b as z } from "./TranslationLanguageSelector.vue_vue_type_script_setup_true_lang-BJZ6VcrT.js";
3
3
  import { useI18n as M } from "@feedmepos/mf-common";
4
4
  import { useDialog as T } from "@feedmepos/ui-library";
5
- import { u as q } from "./provide-dbE6Qt1z.js";
5
+ import { u as q } from "./provide-UZbVvMqZ.js";
6
6
  const G = { class: "fm-typo-en-title-md-600" }, H = {
7
7
  key: 0,
8
8
  class: "pt-8 space-y-24"
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as w, ref as V, computed as C, resolveComponent as A, openBlock as _, createBlock as y, unref as t, withCtx as f, createElementVNode as p, toDisplayString as M, createVNode as l, createElementBlock as B, Fragment as $, createCommentVNode as x } from "vue";
2
- import { _ as L } from "./ProductList.vue_vue_type_script_setup_true_lang-9_ohgfqE.js";
2
+ import { _ as L } from "./ProductList.vue_vue_type_script_setup_true_lang-DkIwQeby.js";
3
3
  import { useI18n as S } from "@feedmepos/mf-common";
4
4
  import { components as m } from "@feedmepos/ui-library";
5
- import { u as U } from "./useActionFeedback-CdY_C_HX.js";
6
- import { b as j, u as D, a as z } from "./provide-dbE6Qt1z.js";
5
+ import { u as U } from "./useActionFeedback-CfPMryOm.js";
6
+ import { b as j, u as D, a as z } from "./provide-UZbVvMqZ.js";
7
7
  const H = { class: "flex justify-end gap-8" }, O = /* @__PURE__ */ w({
8
8
  __name: "V3ToV4MigrationConfirmDialog",
9
9
  props: {
@@ -3,10 +3,10 @@ import { useRouter as bt } from "vue-router";
3
3
  import { useI18n as Ce } from "@feedmepos/mf-common";
4
4
  import { useDialog as vt, components as se } from "@feedmepos/ui-library";
5
5
  import { _ as De } from "./index.vue_vue_type_script_setup_true_lang-CGPDazqs.js";
6
- import { _ as gt } from "./app-BlTv5xag.js";
6
+ import { _ as gt } from "./app-DnIyFwTs.js";
7
7
  import { _ as _t } from "./PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js";
8
- import { b as Fe, u as me, a as ft } from "./provide-dbE6Qt1z.js";
9
- import { u as yt } from "./useActionFeedback-CdY_C_HX.js";
8
+ import { b as Fe, u as me, a as ft } from "./provide-UZbVvMqZ.js";
9
+ import { u as yt } from "./useActionFeedback-CfPMryOm.js";
10
10
  const kt = ["aria-valuenow"], wt = /* @__PURE__ */ ae({
11
11
  __name: "ProgressBar",
12
12
  props: {
@@ -3,11 +3,11 @@ import { useI18n as ke } from "@feedmepos/mf-common";
3
3
  import { useDialog as _e, components as G, FmButtonVariant as we } from "@feedmepos/ui-library";
4
4
  import { _ as he } from "./index.vue_vue_type_script_setup_true_lang-CGPDazqs.js";
5
5
  import { _ as xe } from "./BindingLinkDialog.vue_vue_type_script_setup_true_lang-BZVQRyRI.js";
6
- import { _ as H } from "./BindingTable.vue_vue_type_script_setup_true_lang-CoHlJwpz.js";
6
+ import { _ as H } from "./BindingTable.vue_vue_type_script_setup_true_lang-DACfW6SY.js";
7
7
  import { _ as Ce } from "./PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js";
8
8
  import { _ as Fe } from "./ListCountTag.vue_vue_type_script_setup_true_lang-0bjk8Aly.js";
9
- import { u as Be } from "./useActionFeedback-CdY_C_HX.js";
10
- import { b as Se, u as Ve, a as Ae } from "./provide-dbE6Qt1z.js";
9
+ import { u as Be } from "./useActionFeedback-CfPMryOm.js";
10
+ import { b as Se, u as Ve, a as Ae } from "./provide-UZbVvMqZ.js";
11
11
  const Ue = {
12
12
  key: 0,
13
13
  class: "flex-1 flex justify-between gap-8 pl-8"
@@ -2,11 +2,11 @@ import { defineComponent as le, computed as T, ref as X, shallowRef as Y, h as R
2
2
  import { useI18n as Ve, formatTimeOfDay as Z } from "@feedmepos/mf-common";
3
3
  import { useDialog as Le, components as ee, FmButtonVariant as Se } from "@feedmepos/ui-library";
4
4
  import { _ as Ue } from "./index.vue_vue_type_script_setup_true_lang-CGPDazqs.js";
5
- import { _ as Pe } from "./LinkProductSideSheet.vue_vue_type_script_setup_true_lang-CgTDkHle.js";
5
+ import { _ as Pe } from "./LinkProductSideSheet.vue_vue_type_script_setup_true_lang-ChDd6vJd.js";
6
6
  import { _ as $ } from "./FormSection.vue_vue_type_script_setup_true_lang-pY-_msnM.js";
7
7
  import { _ as Te } from "./PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js";
8
- import { u as Ie } from "./useActionFeedback-CdY_C_HX.js";
9
- import { b as $e, u as Me, a as De } from "./provide-dbE6Qt1z.js";
8
+ import { u as Ie } from "./useActionFeedback-CfPMryOm.js";
9
+ import { b as $e, u as Me, a as De } from "./provide-UZbVvMqZ.js";
10
10
  const Ae = {
11
11
  key: 0,
12
12
  class: "flex flex-1 justify-end"
@@ -1,41 +1,41 @@
1
- import { defineComponent as j, computed as c, ref as se, shallowRef as M, h as N, withModifiers as le, onUnmounted as oe, resolveComponent as _, openBlock as m, createBlock as y, unref as n, withCtx as h, createElementBlock as F, toDisplayString as B, Fragment as ue, createElementVNode as k, createVNode as v, createCommentVNode as C } from "vue";
2
- import { useI18n as ie, ItemSelector as re } from "@feedmepos/mf-common";
3
- import { useDialog as ce, components as K, FmButtonVariant as de } from "@feedmepos/ui-library";
4
- import { _ as me } from "./index.vue_vue_type_script_setup_true_lang-CGPDazqs.js";
5
- import { _ as ve } from "./PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js";
6
- import { u as pe } from "./useActionFeedback-CdY_C_HX.js";
7
- import { b as ge, u as U, a as _e } from "./provide-dbE6Qt1z.js";
8
- const fe = {
1
+ import { defineComponent as T, computed as c, ref as le, shallowRef as B, h as K, withModifiers as oe, onUnmounted as ue, resolveComponent as _, openBlock as m, createBlock as y, unref as n, withCtx as h, createElementBlock as C, toDisplayString as U, Fragment as re, createElementVNode as k, createVNode as v, createCommentVNode as I } from "vue";
2
+ import { useI18n as ie, ItemSelector as ce } from "@feedmepos/mf-common";
3
+ import { useDialog as de, components as j, FmButtonVariant as me } from "@feedmepos/ui-library";
4
+ import { _ as ve } from "./index.vue_vue_type_script_setup_true_lang-CGPDazqs.js";
5
+ import { _ as pe } from "./PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js";
6
+ import { u as ge } from "./useActionFeedback-CfPMryOm.js";
7
+ import { b as _e, u as A, a as fe } from "./provide-UZbVvMqZ.js";
8
+ const be = {
9
9
  key: 0,
10
10
  class: "flex-1 flex justify-end gap-8 pl-8"
11
- }, be = {
11
+ }, he = {
12
12
  key: 0,
13
13
  role: "alert",
14
14
  class: "text-fm-color-typo-secondary"
15
- }, he = { class: "flex justify-end items-center" }, ke = { class: "w-[320px]" }, ye = { class: "fm-typo-en-title-md-600" }, qe = { class: "space-y-32 flex flex-col h-full" }, Se = { class: "flex gap-8 items-center justify-start" }, we = /* @__PURE__ */ j({
15
+ }, ke = { class: "flex justify-end items-center" }, ye = { class: "w-[320px]" }, qe = { class: "fm-typo-en-title-md-600" }, Se = { class: "space-y-32 flex flex-col h-full" }, we = { class: "flex gap-8 items-center justify-start" }, xe = /* @__PURE__ */ T({
16
16
  __name: "ServingSequenceList",
17
17
  props: {
18
18
  sdk: {}
19
19
  },
20
- setup(I) {
21
- const u = I, { t } = ie(), q = ge(), A = ce(), { run: S } = pe(), p = U(
22
- u.sdk.servingSequence.list
20
+ setup(V) {
21
+ const r = V, { t } = ie(), q = _e(), L = de(), { run: S } = ge(), p = A(
22
+ r.sdk.servingSequence.list
23
23
  ), l = c(
24
24
  () => p.value.status === "ready" ? p.value.value : null
25
- ), V = c(() => {
25
+ ), z = c(() => {
26
26
  var e;
27
27
  return ((e = l.value) == null ? void 0 : e.query) ?? "";
28
- }), T = c(() => {
28
+ }), P = c(() => {
29
29
  var e;
30
30
  return [...((e = l.value) == null ? void 0 : e.rows) ?? []];
31
- }), g = se(!1), z = U(
32
- u.sdk.linkProduct.catalogue
33
- ), L = c(
34
- () => z.value.status === "ready" ? z.value.value : null
35
- ), P = c(
31
+ }), g = le(!1), D = A(
32
+ r.sdk.linkProduct.catalogue
33
+ ), R = c(
34
+ () => D.value.status === "ready" ? D.value.value : null
35
+ ), $ = c(
36
36
  () => {
37
37
  var e;
38
- return (((e = L.value) == null ? void 0 : e.groups) ?? []).map((a) => ({
38
+ return (((e = R.value) == null ? void 0 : e.groups) ?? []).map((a) => ({
39
39
  id: a.id,
40
40
  name: a.name,
41
41
  items: a.products.map((s) => ({
@@ -59,21 +59,21 @@ const fe = {
59
59
  }))
60
60
  }));
61
61
  }
62
- ), R = [], $ = c(
62
+ ), O = [], G = c(
63
63
  () => {
64
64
  var e;
65
- return ((e = r.value) == null ? void 0 : e.linkedItems) ?? R;
65
+ return ((e = i.value) == null ? void 0 : e.linkedItems) ?? O;
66
66
  }
67
- ), O = c(
67
+ ), Q = c(
68
68
  () => {
69
69
  const e = {};
70
- for (const a of $.value)
70
+ for (const a of G.value)
71
71
  e[a._id] = [...e[a._id] ?? [], a];
72
72
  return e;
73
73
  }
74
74
  );
75
- function G(e) {
76
- i.value.setLinkedItems(
75
+ function H(e) {
76
+ u.value.setLinkedItems(
77
77
  Object.values(e).flat().map((a) => ({
78
78
  _id: a._id,
79
79
  combinationKey: a.combinationKey ?? null,
@@ -81,44 +81,44 @@ const fe = {
81
81
  }))
82
82
  );
83
83
  }
84
- const i = M(
85
- u.sdk.servingSequence.editor()
86
- ), f = M(
87
- i.value.get()
84
+ const u = B(
85
+ r.sdk.servingSequence.editor()
86
+ ), f = B(
87
+ u.value.get()
88
88
  );
89
- let w = i.value.subscribe((e) => {
89
+ let w = u.value.subscribe((e) => {
90
90
  f.value = e;
91
91
  });
92
- const r = c(
92
+ const i = c(
93
93
  () => f.value.status === "ready" ? f.value.value : null
94
94
  );
95
- function D(e) {
96
- w(), i.value.dispose(), i.value = u.sdk.servingSequence.editor(e), f.value = i.value.get(), w = i.value.subscribe((a) => {
95
+ function N(e) {
96
+ w(), u.value.dispose(), u.value = r.sdk.servingSequence.editor(e), f.value = u.value.get(), w = u.value.subscribe((a) => {
97
97
  f.value = a;
98
98
  });
99
99
  }
100
100
  function E() {
101
101
  var e;
102
- ((e = l.value) == null ? void 0 : e.create.state) === "allowed" && (D(), g.value = !0);
102
+ ((e = l.value) == null ? void 0 : e.create.state) === "allowed" && (N(), g.value = !0);
103
103
  }
104
- function Q(e) {
105
- D(e.id), g.value = !0;
104
+ function J(e) {
105
+ N(e.id), g.value = !0;
106
106
  }
107
- async function H() {
107
+ async function W() {
108
108
  var s;
109
- const e = ((s = r.value) == null ? void 0 : s.name.trim()) ?? "";
110
- (await S(() => i.value.submit(), {
109
+ const e = ((s = i.value) == null ? void 0 : s.name.trim()) ?? "";
110
+ (await S(() => u.value.submit(), {
111
111
  showLoading: () => {
112
112
  var d;
113
- return ((d = r.value) == null ? void 0 : d.status) === "submitting";
113
+ return ((d = i.value) == null ? void 0 : d.status) === "submitting";
114
114
  },
115
115
  successMessage: t("menu.serving_sequence.form.saved", {
116
116
  name: e || t("menu.serving_sequence.title")
117
117
  })
118
118
  })).kind === "success" && (g.value = !1);
119
119
  }
120
- function J(e) {
121
- e.remove.state === "allowed" && A.open({
120
+ function X(e) {
121
+ e.remove.state === "allowed" && L.open({
122
122
  title: t("menu.serving_sequence.delete.title"),
123
123
  message: t("menu.serving_sequence.delete.message", {
124
124
  name: e.name
@@ -126,29 +126,29 @@ const fe = {
126
126
  primaryActions: {
127
127
  text: t("menu.serving_sequence.delete.confirm"),
128
128
  close: !0,
129
- variant: de.Destructive
129
+ variant: me.Destructive
130
130
  },
131
131
  secondaryActions: {
132
132
  text: t("menu.common.actions.cancel"),
133
133
  close: !0
134
134
  }
135
135
  }).onPrimary(async () => {
136
- await S(() => u.sdk.servingSequence.remove(e.id), {
136
+ await S(() => r.sdk.servingSequence.remove(e.id), {
137
137
  successMessage: t("menu.serving_sequence.delete.success", {
138
138
  name: e.name
139
139
  })
140
140
  });
141
141
  });
142
142
  }
143
- const W = c(() => {
143
+ const Y = c(() => {
144
144
  var e;
145
145
  return ((e = l.value) == null ? void 0 : e.reorder.state) === "allowed";
146
146
  });
147
- function X(e) {
147
+ function Z(e) {
148
148
  var s;
149
149
  if (((s = l.value) == null ? void 0 : s.reorder.state) !== "allowed") return;
150
150
  const a = e.map((d) => d.id);
151
- a.length && S(() => u.sdk.servingSequence.reorder(a), {
151
+ a.length && S(() => r.sdk.servingSequence.reorder(a), {
152
152
  // The only one of this module's success messages that takes no entity
153
153
  // `{name}`: legacy fed the shared `{name} saved` template the module's own
154
154
  // plural noun for a rearrange, so the toast reads "sequences saved" rather
@@ -161,7 +161,7 @@ const fe = {
161
161
  successMessage: t("menu.serving_sequence.reorder.success")
162
162
  });
163
163
  }
164
- const Y = c(() => [
164
+ const ee = c(() => [
165
165
  {
166
166
  accessorKey: "name",
167
167
  header: () => t("menu.serving_sequence.columns.name"),
@@ -192,90 +192,90 @@ const fe = {
192
192
  // right edge (`ServingSequence.vue:176-192`). Both are reproduced; the
193
193
  // accessible name is the one deliberate addition, owned by the new app
194
194
  // (legacy's control is icon-only and unnamed).
195
- cell: (e) => N("div", { class: "w-full flex justify-end items-center" }, [
196
- N(K.FmButton, {
195
+ cell: (e) => K("div", { class: "w-full flex justify-end items-center" }, [
196
+ K(j.FmButton, {
197
197
  prependIcon: "delete",
198
198
  variant: "tertiary",
199
199
  textColor: "neutral-gray-400",
200
200
  disabled: e.row.original.remove.state !== "allowed",
201
201
  "aria-label": t("menu.common.actions.delete"),
202
- onClick: le(
203
- () => J(e.row.original),
202
+ onClick: oe(
203
+ () => X(e.row.original),
204
204
  ["stop", "prevent"]
205
205
  )
206
206
  })
207
207
  ])
208
208
  }
209
209
  ]);
210
- return oe(() => {
211
- w(), i.value.dispose(), u.sdk.servingSequence.search("");
210
+ return ue(() => {
211
+ w(), u.value.dispose(), r.sdk.servingSequence.search("");
212
212
  }), (e, a) => {
213
- const s = _("FmButton"), d = _("FmCircularProgress"), Z = _("FmSearch"), ee = _("FmTable"), te = _("FmTextField"), ae = _("FmSideSheet");
214
- return m(), y(ve, {
213
+ const s = _("FmButton"), d = _("FmCircularProgress"), te = _("FmSearch"), ae = _("FmTable"), ne = _("FmTextField"), se = _("FmSideSheet");
214
+ return m(), y(pe, {
215
215
  "data-visual-root": "serveSequence",
216
216
  heading: n(t)("menu.serving_sequence.title")
217
217
  }, {
218
218
  "append-heading": h(() => [
219
- n(p).status === "ready" && l.value ? (m(), F("div", fe, [
219
+ n(p).status === "ready" && l.value ? (m(), C("div", be, [
220
220
  l.value.totalCount > 0 ? (m(), y(s, {
221
221
  key: 0,
222
222
  disabled: l.value.create.state !== "allowed",
223
223
  label: n(t)("menu.serving_sequence.add"),
224
224
  "prepend-icon": "add",
225
225
  onClick: E
226
- }, null, 8, ["disabled", "label"])) : C("", !0)
227
- ])) : C("", !0)
226
+ }, null, 8, ["disabled", "label"])) : I("", !0)
227
+ ])) : I("", !0)
228
228
  ]),
229
229
  default: h(() => [
230
- n(p).status === "error" ? (m(), F("p", be, B(n(q)(n(p).error.message)), 1)) : n(p).status === "loading" ? (m(), y(d, { key: 1 })) : l.value && l.value.rows.length === 0 && !V.value ? (m(), y(n(me), {
230
+ n(p).status === "error" ? (m(), C("p", he, U(n(q)(n(p).error.message)), 1)) : n(p).status === "loading" ? (m(), y(d, { key: 1 })) : l.value && l.value.rows.length === 0 && !z.value ? (m(), y(n(ve), {
231
231
  key: 2,
232
232
  action: { text: n(t)("menu.serving_sequence.add"), callback: E },
233
233
  title: n(t)("menu.serving_sequence.empty.title"),
234
234
  subtitle: n(t)("menu.serving_sequence.empty.subtitle")
235
- }, null, 8, ["action", "title", "subtitle"])) : l.value ? (m(), F(ue, { key: 3 }, [
236
- k("div", he, [
237
- k("div", ke, [
238
- v(Z, {
235
+ }, null, 8, ["action", "title", "subtitle"])) : l.value ? (m(), C(re, { key: 3 }, [
236
+ k("div", ke, [
237
+ k("div", ye, [
238
+ v(te, {
239
239
  autofocus: "",
240
240
  class: "mb-8",
241
- "model-value": V.value,
241
+ "model-value": z.value,
242
242
  placeholder: n(t)("menu.serving_sequence.search.placeholder"),
243
- "onUpdate:modelValue": u.sdk.servingSequence.search
243
+ "onUpdate:modelValue": r.sdk.servingSequence.search
244
244
  }, null, 8, ["model-value", "placeholder", "onUpdate:modelValue"])
245
245
  ])
246
246
  ]),
247
- v(ee, {
248
- "column-defs": Y.value,
247
+ v(ae, {
248
+ "column-defs": ee.value,
249
249
  "hide-footer": "",
250
250
  "page-size": l.value.rows.length,
251
251
  "pin-header-row": "",
252
- "row-data": T.value,
252
+ "row-data": P.value,
253
253
  "shrink-at": !1,
254
- draggable: W.value,
255
- onRowClick: a[0] || (a[0] = (o) => Q(o.original)),
256
- onDndChanged: X
254
+ draggable: Y.value,
255
+ onRowClick: a[0] || (a[0] = (o) => J(o.original)),
256
+ onDndChanged: Z
257
257
  }, null, 8, ["column-defs", "page-size", "row-data", "draggable"])
258
- ], 64)) : C("", !0),
259
- v(ae, {
258
+ ], 64)) : I("", !0),
259
+ v(se, {
260
260
  modelValue: g.value,
261
261
  "onUpdate:modelValue": a[3] || (a[3] = (o) => g.value = o),
262
- "is-container": n(K).FmForm,
263
- "is-container-props": { onValidationSuccess: H },
262
+ "is-container": n(j).FmForm,
263
+ "is-container-props": { onValidationSuccess: W },
264
264
  "max-width": 560
265
265
  }, {
266
266
  "side-sheet-header": h(() => {
267
267
  var o;
268
268
  return [
269
- k("p", ye, B(((o = r.value) == null ? void 0 : o.mode) === "update" ? n(t)("menu.serving_sequence.update") : n(t)("menu.serving_sequence.add")), 1)
269
+ k("p", qe, U(((o = i.value) == null ? void 0 : o.mode) === "update" ? n(t)("menu.serving_sequence.update") : n(t)("menu.serving_sequence.add")), 1)
270
270
  ];
271
271
  }),
272
272
  "side-sheet-footer": h(() => {
273
273
  var o, b;
274
274
  return [
275
- k("div", Se, [
275
+ k("div", we, [
276
276
  v(s, {
277
- disabled: ((o = r.value) == null ? void 0 : o.submit.state) !== "allowed",
278
- label: ((b = r.value) == null ? void 0 : b.mode) === "update" ? n(t)("menu.serving_sequence.update") : n(t)("menu.serving_sequence.add"),
277
+ disabled: ((o = i.value) == null ? void 0 : o.submit.state) !== "allowed",
278
+ label: ((b = i.value) == null ? void 0 : b.mode) === "update" ? n(t)("menu.serving_sequence.update") : n(t)("menu.serving_sequence.add"),
279
279
  size: "lg",
280
280
  type: "submit",
281
281
  variant: "primary"
@@ -292,23 +292,29 @@ const fe = {
292
292
  default: h(() => {
293
293
  var o, b, x;
294
294
  return [
295
- k("div", qe, [
296
- v(te, {
295
+ k("div", Se, [
296
+ v(ne, {
297
297
  autofocus: "",
298
- "helper-state": (o = r.value) != null && o.nameIssue ? "error" : "none",
299
- "helper-text": (b = r.value) != null && b.nameIssue ? n(q)(r.value.nameIssue) : "",
298
+ rules: [
299
+ (F) => {
300
+ const M = u.value.validateName(String(F ?? ""));
301
+ return M ? n(q)(M) : !0;
302
+ }
303
+ ],
304
+ "helper-state": (o = i.value) != null && o.nameIssue ? "error" : "none",
305
+ "helper-text": (b = i.value) != null && b.nameIssue ? n(q)(i.value.nameIssue) : "",
300
306
  label: n(t)("menu.serving_sequence.columns.name"),
301
- "model-value": ((x = r.value) == null ? void 0 : x.name) ?? "",
307
+ "model-value": ((x = i.value) == null ? void 0 : x.name) ?? "",
302
308
  placeholder: n(t)("menu.common.labels.enter_name"),
303
- "onUpdate:modelValue": a[1] || (a[1] = (ne) => i.value.setName(ne))
304
- }, null, 8, ["helper-state", "helper-text", "label", "model-value", "placeholder"]),
305
- v(n(re), {
306
- "categorized-items": P.value,
307
- data: O.value,
309
+ "onUpdate:modelValue": a[1] || (a[1] = (F) => u.value.setName(F))
310
+ }, null, 8, ["rules", "helper-state", "helper-text", "label", "model-value", "placeholder"]),
311
+ v(n(ce), {
312
+ "categorized-items": $.value,
313
+ data: Q.value,
308
314
  class: "flex-1",
309
315
  "select-variant": "",
310
316
  "show-variant": "",
311
- "onUpdate:data": G
317
+ "onUpdate:data": H
312
318
  }, null, 8, ["categorized-items", "data"])
313
319
  ])
314
320
  ];
@@ -320,11 +326,11 @@ const fe = {
320
326
  }, 8, ["heading"]);
321
327
  };
322
328
  }
323
- }), Ee = /* @__PURE__ */ j({
329
+ }), Ee = /* @__PURE__ */ T({
324
330
  __name: "ServingSequence",
325
- setup(I) {
326
- const u = _e();
327
- return (t, q) => (m(), y(we, { sdk: n(u) }, null, 8, ["sdk"]));
331
+ setup(V) {
332
+ const r = fe();
333
+ return (t, q) => (m(), y(xe, { sdk: n(r) }, null, 8, ["sdk"]));
328
334
  }
329
335
  });
330
336
  export {
@@ -2,13 +2,13 @@ import { defineComponent as y, computed as N, onUnmounted as R, resolveComponent
2
2
  import { RouterLink as I, useRouter as T, useRoute as W } from "vue-router";
3
3
  import { useI18n as E } from "@feedmepos/mf-common";
4
4
  import { _ as S } from "./FormItem.vue_vue_type_script_setup_true_lang-C2S6QCyR.js";
5
- import { _ as O } from "./CatalogLinkProductAction.vue_vue_type_script_setup_true_lang-3fL43MuR.js";
5
+ import { _ as O } from "./CatalogLinkProductAction.vue_vue_type_script_setup_true_lang-DJLjbLGK.js";
6
6
  import { _ as j } from "./PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js";
7
- import { u as D } from "./useActionFeedback-CdY_C_HX.js";
8
- import { R as V } from "./app-BlTv5xag.js";
9
- import { a as $, u as P } from "./provide-dbE6Qt1z.js";
10
- import { _ as q } from "./CatalogEditTabs.vue_vue_type_script_setup_true_lang-BorOjk1k.js";
11
- import { _ as z } from "./CatalogEditor.vue_vue_type_script_setup_true_lang-CkF7O_V-.js";
7
+ import { u as D } from "./useActionFeedback-CfPMryOm.js";
8
+ import { R as V } from "./app-DnIyFwTs.js";
9
+ import { a as $, u as P } from "./provide-UZbVvMqZ.js";
10
+ import { _ as q } from "./CatalogEditTabs.vue_vue_type_script_setup_true_lang-CFjBkgkl.js";
11
+ import { _ as z } from "./CatalogEditor.vue_vue_type_script_setup_true_lang-owNQUf8y.js";
12
12
  const H = {
13
13
  key: 0,
14
14
  class: "max-w-[752px] pt-16 space-y-32"