@feedmepos/mf-menu 0.32.76 → 0.32.77

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 (70) hide show
  1. package/dist/{App-D2pK798q.js → App-BHaFFKgj.js} +8 -8
  2. package/dist/{ApplyProduct.vue_vue_type_script_setup_true_lang-CHoFzx9k.js → ApplyProduct.vue_vue_type_script_setup_true_lang-DVEtgCqE.js} +3 -3
  3. package/dist/{ApplyProductDialog.vue_vue_type_script_setup_true_lang-DKmzpuS7.js → ApplyProductDialog.vue_vue_type_script_setup_true_lang-3uCD_k5b.js} +3 -3
  4. package/dist/{Catalog-Da2qmeW2.js → Catalog-DdV0gF_5.js} +6 -6
  5. package/dist/{Category-QRUzSOLZ.js → Category-B4u7nW_n.js} +4 -4
  6. package/dist/{Category-BXYjH0dH.js → Category-fkh6uy_X.js} +4 -4
  7. package/dist/{CookingGuide-CPI7qV9Z.js → CookingGuide-1BHECj2Q.js} +5 -5
  8. package/dist/{CustomAttributeChip.vue_vue_type_script_setup_true_lang-D-lfN4Xw.js → CustomAttributeChip.vue_vue_type_script_setup_true_lang-MYd4Yzd0.js} +1 -1
  9. package/dist/{Group-C4_-7vPz.js → Group-D8C1gd_3.js} +1 -1
  10. package/dist/{Group-C3bKVuCF.js → Group-DEIB_rHc.js} +3 -3
  11. package/dist/{Group.vue_vue_type_script_setup_true_lang-CltccIA5.js → Group.vue_vue_type_script_setup_true_lang-DfTwCDNq.js} +7 -7
  12. package/dist/{GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-DmZV1yCe.js → GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-CLrQ5top.js} +5 -5
  13. package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-CmbxGud_.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-BHudLX0K.js} +2672 -2665
  14. package/dist/{Ingredient-q8zKgNTY.js → Ingredient-CnKzPizo.js} +4 -4
  15. package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-CKaRVmyj.js → InventoryBinding.vue_vue_type_script_setup_true_lang-DuKTQfLa.js} +2 -2
  16. package/dist/{LinkProductSideSheet-h94g93ZW.js → LinkProductSideSheet-B0PciGSP.js} +4 -4
  17. package/dist/{MenuSetting-Juhf48gV.js → MenuSetting-D4lyi3VS.js} +7 -7
  18. package/dist/{OrderPacing-_4_iXa6e.js → OrderPacing-BchmVvhQ.js} +5 -5
  19. package/dist/{PrintRoute-BujMv7Zl.js → PrintRoute-ltS-wCjr.js} +5 -5
  20. package/dist/{Product-DnByb90X.js → Product-WZdmdoQr.js} +1 -1
  21. package/dist/{Product.vue_vue_type_script_setup_true_lang-BDL64d7Q.js → Product.vue_vue_type_script_setup_true_lang-BFqhhLvN.js} +14 -14
  22. package/dist/{ProductInternalTools-LMHxDc6R.js → ProductInternalTools-CeDden2S.js} +7 -7
  23. package/dist/{Products-qkRrsj1W.js → Products-DcLtwbRO.js} +43 -43
  24. package/dist/{Publish-aa8PbFqn.js → Publish-H3Liavuu.js} +4 -4
  25. package/dist/{Recipe-C5mMNuY_.js → Recipe-PL1QHaYe.js} +5 -5
  26. package/dist/{RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-DfcX0gDQ.js → RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-Czp_55oY.js} +1 -1
  27. package/dist/{RuleView.vue_vue_type_script_setup_true_lang-DJBV2o8C.js → RuleView.vue_vue_type_script_setup_true_lang-P6DLshs1.js} +791 -791
  28. package/dist/{Scheduler-Bp05_Qv6.js → Scheduler-CXoxVRBZ.js} +3 -3
  29. package/dist/{ServingSequence-Cs-ST8Oc.js → ServingSequence-YhME6BpW.js} +3 -3
  30. package/dist/{Setting-BnIq46pa.js → Setting-CI0xqqtI.js} +5 -5
  31. package/dist/{Subcategory-BAgZ5vsm.js → Subcategory-BHPtwuUq.js} +6 -6
  32. package/dist/{Takeaway-BIMtyXGB.js → Takeaway-BzT_Th8V.js} +4 -4
  33. package/dist/{Takeaway-DUd0KVAX.js → Takeaway-xwwcISfI.js} +1 -1
  34. package/dist/{Takeaway.vue_vue_type_script_setup_true_lang-Ch-0hq7k.js → Takeaway.vue_vue_type_script_setup_true_lang-Be9HV6dK.js} +5 -5
  35. package/dist/{TranslationFieldSection.vue_vue_type_script_setup_true_lang-BfqnNbPl.js → TranslationFieldSection.vue_vue_type_script_setup_true_lang-C1eTBdUl.js} +1 -1
  36. package/dist/{TranslationSideSheet.vue_vue_type_script_setup_true_lang-CbYBwX8e.js → TranslationSideSheet.vue_vue_type_script_setup_true_lang-CjlsCXDm.js} +2 -2
  37. package/dist/{TreeEditorOpenner.vue_vue_type_script_setup_true_lang-DzeQ5yJ6.js → TreeEditorOpenner.vue_vue_type_script_setup_true_lang-Cb-21rZW.js} +16 -16
  38. package/dist/{Unit-CLG2PrgL.js → Unit-ByhOcOYA.js} +2 -2
  39. package/dist/{Variant-Cy0JvleU.js → Variant-DHTF9Khv.js} +3 -3
  40. package/dist/{_id_-jplkA1eL.js → _id_-Baab0DQO.js} +10 -10
  41. package/dist/{app-30Z6mZbq.js → app-Cs8Id8Xm.js} +1 -1
  42. package/dist/{app-J9vFNODI.js → app-jJLYblaN.js} +32 -32
  43. package/dist/app.js +1 -1
  44. package/dist/apps/mf-menu/src/helper/itemCategories.d.ts +47 -13
  45. package/dist/assets/{override-menu-BxfuFlXS.js → linked-status-BSOqiFHd.js} +4 -4
  46. package/dist/assets/{menu-export-cv_rQBxw.js → menu-export-DYwNTsVD.js} +3 -3
  47. package/dist/assets/{linked-status-BffktJ2X.js → override-menu-hOWb-U8t.js} +4 -4
  48. package/dist/assets/{validate-menu-CBVSVrx9.js → validate-menu-DWZ_nQ9A.js} +3 -3
  49. package/dist/{catalog-Q6KsvtTp.js → catalog-AhHjSmxz.js} +1 -1
  50. package/dist/{catalogSetting-DR6N1dMx.js → catalogSetting-D1rTJ0IV.js} +1 -1
  51. package/dist/{currency-TzQJueZa.js → currency-CfklxgOo.js} +1 -1
  52. package/dist/{dayjs.min-CqRhbatW.js → dayjs.min-s8Pn5XhH.js} +2 -2
  53. package/dist/{discardConfirm-JZF5xM6V.js → discardConfirm-X1bjXonQ.js} +1 -1
  54. package/dist/{index-CUViEtmn.js → index-BFLrHA28.js} +5 -5
  55. package/dist/{index-BlsVC9Ep.js → index-CSBbHVWU.js} +71 -57
  56. package/dist/{index-DAkwVhKq.js → index-DF1e-d79.js} +6 -6
  57. package/dist/{index.vue_vue_type_script_setup_true_lang-CEZndQrA.js → index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js} +7 -7
  58. package/dist/{item-CqPMNjVQ.js → item-D0GMSEFc.js} +21 -21
  59. package/dist/{jszip.min-BAB8KFbL.js → jszip.min-CrG2EhWe.js} +167 -167
  60. package/dist/{linkProducts-CMKCTrne.js → linkProducts-DOtgB1M6.js} +4 -4
  61. package/dist/{memberPricing-Bv62STuu.js → memberPricing-DINEsVxj.js} +1 -1
  62. package/dist/{menu-wjZ0VHbh.js → menu-DobV0-S0.js} +1 -1
  63. package/dist/{menuV2-CwtrrHxb.js → menuV2-CzU77NoT.js} +93 -93
  64. package/dist/{order_pacing-3Un89bxb.js → order_pacing-Cg41OjXP.js} +5 -5
  65. package/dist/{priceTier-CRHLKied.js → priceTier-ByJqyA8e.js} +1 -1
  66. package/dist/{rules-B_ftcBV6.js → rules-DbQdfkh_.js} +3 -3
  67. package/dist/{scheduler-DYeWfbj0.js → scheduler-B-GZ_cxC.js} +5 -5
  68. package/dist/{toExcel-JddNv1bE.js → toExcel-Bq4sIMSZ.js} +2 -2
  69. package/dist/{unit-Y0iUG9B2.js → unit-BBPddYB3.js} +3 -3
  70. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as G, computed as y, h as f, withModifiers as O, ref as q, resolveComponent as h, createBlock as b, openBlock as c, unref as i, withCtx as _, createElementBlock as F, createVNode as p, Fragment as A, createElementVNode as s, renderList as J, toDisplayString as k, createCommentVNode as B } from "vue";
2
- import { A as d, B as X, i as Z, u as ee, b as te, _ as ne } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
2
+ import { A as d, B as X, i as Z, u as ee, b as te, _ as ne } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
3
3
  import { useI18n as ae, useAppLocale as oe, formatTimeOfDay as P } from "@feedmepos/mf-common";
4
4
  import { components as le, useDialog as se, useSnackbar as re } from "@feedmepos/ui-library";
5
5
  import { _ as ue } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
6
- import { _ as ce } from "./app-J9vFNODI.js";
7
- import { d as ie, _ as de, u as me, c as fe } from "./scheduler-DYeWfbj0.js";
6
+ import { _ as ce } from "./app-jJLYblaN.js";
7
+ import { d as ie, _ as de, u as me, c as fe } from "./scheduler-B-GZ_cxC.js";
8
8
  import { _ as pe } from "./PageLayout.vue_vue_type_script_setup_true_lang-BVmHMvKD.js";
9
9
  const ye = {
10
10
  class: "flex flex-1 justify-end"
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as J, ref as F, computed as E, resolveComponent as y, createElementBlock as h, openBlock as m, Fragment as x, renderSlot as ae, createVNode as l, unref as t, withCtx as f, createElementVNode as b, toDisplayString as U, onBeforeMount as oe, watch as D, watchEffect as se, h as T, getCurrentInstance as le, onMounted as re, createBlock as j, createCommentVNode as G, isRef as ie, normalizeClass as Q, renderList as ue } from "vue";
2
2
  import { useRouter as ce } from "vue-router";
3
- import { d as H, u as W, b as X, i as Z, g as I, h as M, _ as de, F as me } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
3
+ import { d as H, u as W, b as X, i as Z, g as I, h as M, _ as de, F as me } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
4
4
  import { useI18n as ee, ItemSelector as pe, useCoreStore as fe } from "@feedmepos/mf-common";
5
5
  import { useSnackbar as ne, components as K, useDialog as _e, FmButtonVariant as z, useBreakpoints as ve } from "@feedmepos/ui-library";
6
6
  import { _ as ge } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
7
- import { _ as he, R as ye } from "./app-J9vFNODI.js";
7
+ import { _ as he, R as ye } from "./app-jJLYblaN.js";
8
8
  import { c as be } from "./check-C9mY6LiX.js";
9
9
  import { _ as ke } from "./PageLayout.vue_vue_type_script_setup_true_lang-BVmHMvKD.js";
10
10
  import { u as xe } from "./search-BAPEUu1R.js";
11
- import { u as Se } from "./app-30Z6mZbq.js";
11
+ import { u as Se } from "./app-Cs8Id8Xm.js";
12
12
  import { c as Ce } from "./createComponentProgrammatically-Bt2rn1IQ.js";
13
13
  const qe = { class: "fm-typo-en-title-md-600" }, we = { class: "space-y-32 flex flex-col h-full" }, Ve = { class: "flex gap-8 items-center justify-start" }, Fe = /* @__PURE__ */ J({
14
14
  __name: "Form",
@@ -1,12 +1,12 @@
1
1
  import { defineComponent as ne, computed as p, ref as se, watch as ue, watchEffect as ie, resolveComponent as m, createElementBlock as M, openBlock as r, normalizeClass as H, createVNode as s, withCtx as c, createElementVNode as v, createBlock as g, createCommentVNode as y, unref as e, Fragment as D, renderList as $, createTextVNode as re, toDisplayString as F } from "vue";
2
- import { u as me, b as ce, F as de, i as pe, a as ve, k, d as T } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
2
+ import { u as me, b as ce, F as de, i as pe, a as ve, k, d as T } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
3
3
  import { useCoreStore as ge, useI18n as fe } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as _e, useDialog as be, FmButtonVariant as P, FmButtonColorThemeVariant as R, components as ye } from "@feedmepos/ui-library";
5
5
  import { _ as A } from "./FormItem.vue_vue_type_script_setup_true_lang-BmPAVphe.js";
6
- import { _ as ke } from "./RuleView.vue_vue_type_script_setup_true_lang-DJBV2o8C.js";
7
- import { _ as z, a as xe } from "./GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-DmZV1yCe.js";
8
- import { C as f, a as x } from "./catalogSetting-DR6N1dMx.js";
9
- import { C as Ce } from "./catalog-Q6KsvtTp.js";
6
+ import { _ as ke } from "./RuleView.vue_vue_type_script_setup_true_lang-P6DLshs1.js";
7
+ import { _ as z, a as xe } from "./GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-CLrQ5top.js";
8
+ import { C as f, a as x } from "./catalogSetting-D1rTJ0IV.js";
9
+ import { C as Ce } from "./catalog-AhHjSmxz.js";
10
10
  const Oe = {
11
11
  class: /* @__PURE__ */ H(["overflow-scroll", "flex-1", "xs:px-16 xs:py-16", "pt-16"])
12
12
  }, Se = {
@@ -2,18 +2,18 @@ import { defineComponent as A, ref as x, computed as V, watch as te, resolveComp
2
2
  import { useI18n as R } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as j, components as W, useDialog as X, FmButtonVariant as q, useBreakpoints as se, FmButtonColorThemeVariant as ie } from "@feedmepos/ui-library";
4
4
  import { _ as re } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
- import { b as P, i as Y, u as J, g as Z, h as ee, _ as ce } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
5
+ import { b as P, i as Y, u as J, g as Z, h as ee, _ as ce } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
6
6
  import { _ as ue } from "./PageLayout.vue_vue_type_script_setup_true_lang-BVmHMvKD.js";
7
- import { _ as me } from "./app-J9vFNODI.js";
7
+ import { _ as me } from "./app-jJLYblaN.js";
8
8
  import { c as de } from "./createForm-BoUQeZTd.js";
9
- import { u as pe } from "./discardConfirm-JZF5xM6V.js";
9
+ import { u as pe } from "./discardConfirm-X1bjXonQ.js";
10
10
  import { c as G } from "./object-DVUNCr7w.js";
11
- import { r as _e, u as ae } from "./rules-B_ftcBV6.js";
12
- import { _ as fe } from "./TranslationSideSheet.vue_vue_type_script_setup_true_lang-CbYBwX8e.js";
11
+ import { r as _e, u as ae } from "./rules-DbQdfkh_.js";
12
+ import { _ as fe } from "./TranslationSideSheet.vue_vue_type_script_setup_true_lang-CjlsCXDm.js";
13
13
  import { c as ve } from "./check-C9mY6LiX.js";
14
14
  import { g as H } from "./translation-fNx6yEpy.js";
15
15
  import { _ as ge } from "./TranslationViewChip.vue_vue_type_script_setup_true_lang-DiK3fi9J.js";
16
- import { a as ye } from "./menu-wjZ0VHbh.js";
16
+ import { a as ye } from "./menu-DobV0-S0.js";
17
17
  const be = {
18
18
  class: "fm-typo-en-title-md-600"
19
19
  }, he = {
@@ -1,12 +1,12 @@
1
1
  import { defineComponent as f, computed as y, ref as k, createBlock as i, openBlock as d, unref as a, withCtx as s, createElementVNode as t, toDisplayString as b, createCommentVNode as g, createVNode as m } from "vue";
2
- import { b as v, u as w, i as x, g as E, h as M } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
2
+ import { b as v, u as w, i as x, g as E, h as M } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
3
3
  import { useI18n as T } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as h } from "@feedmepos/ui-library";
5
5
  import { _ as V } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
6
6
  import { _ as C } from "./PageLayout.vue_vue_type_script_setup_true_lang-BVmHMvKD.js";
7
- import { _ as N } from "./Takeaway.vue_vue_type_script_setup_true_lang-Ch-0hq7k.js";
8
- import { T as S, l as L } from "./index-DAkwVhKq.js";
9
- import { a as O } from "./menu-wjZ0VHbh.js";
7
+ import { _ as N } from "./Takeaway.vue_vue_type_script_setup_true_lang-Be9HV6dK.js";
8
+ import { T as S, l as L } from "./index-DF1e-d79.js";
9
+ import { a as O } from "./menu-DobV0-S0.js";
10
10
  const U = { class: "flex-1 flex justify-between gap-8 pl-8" }, B = { class: "flex items-center" }, F = { class: "bg-fm-color-neutral-gray-100 rounded-md px-8 py-4" }, D = { class: "fm-typo-en-body-md-600 font-semibold" }, H = /* @__PURE__ */ f({
11
11
  __name: "Takeaway",
12
12
  setup(I) {
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./Takeaway.vue_vue_type_script_setup_true_lang-Ch-0hq7k.js";
1
+ import { _ as f } from "./Takeaway.vue_vue_type_script_setup_true_lang-Be9HV6dK.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,14 +1,14 @@
1
1
  import { getCurrentInstance as te, defineComponent as ne, computed as C, watch as oe, h as S, resolveComponent as E, createElementBlock as V, openBlock as w, Fragment as L, normalizeClass as D, createElementVNode as g, createVNode as I, unref as i, isRef as $, withCtx as O, renderList as ie, createBlock as j, createCommentVNode as q, toDisplayString as B, withModifiers as G } from "vue";
2
- import { b as J, i as Q, u as W, g as F, h as A, d as R, a as se, aq as H, _ as re } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
2
+ import { b as J, i as Q, u as W, g as F, h as A, d as R, a as se, aq as H, _ as re } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
3
3
  import { useI18n as X, useCoreStore as le } from "@feedmepos/mf-common";
4
4
  import { useDialog as ce, useSnackbar as Z, FmButtonVariant as N, components as de, useBreakpoints as ue } from "@feedmepos/ui-library";
5
- import { _ as me } from "./app-J9vFNODI.js";
6
- import { a as ye, l as ee, T as pe } from "./index-DAkwVhKq.js";
5
+ import { _ as me } from "./app-jJLYblaN.js";
6
+ import { a as ye, l as ee, T as pe } from "./index-DF1e-d79.js";
7
7
  import { _ as fe } from "./TranslationViewChip.vue_vue_type_script_setup_true_lang-DiK3fi9J.js";
8
8
  import { u as _e } from "./search-BAPEUu1R.js";
9
- import { f as z } from "./currency-TzQJueZa.js";
9
+ import { f as z } from "./currency-CfklxgOo.js";
10
10
  import { defineStore as ke } from "pinia";
11
- import { C as ve } from "./catalog-Q6KsvtTp.js";
11
+ import { C as ve } from "./catalog-AhHjSmxz.js";
12
12
  import { c as we } from "./createComponentProgrammatically-Bt2rn1IQ.js";
13
13
  function ge(b, _, l, u) {
14
14
  var y, p, k;
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as v, createElementBlock as d, openBlock as a, normalizeClass as b, toDisplayString as y, unref as u, resolveComponent as i, createVNode as _, createElementVNode as c, computed as h, createBlock as g, createCommentVNode as w, Fragment as k, renderList as x, withCtx as F } from "vue";
2
2
  import { useI18n as S } from "@feedmepos/mf-common";
3
3
  import { g as I, a as L } from "./translation-fNx6yEpy.js";
4
- import { u as N } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
4
+ import { u as N } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
5
5
  const C = /* @__PURE__ */ v({
6
6
  __name: "LocaleIconBadge",
7
7
  props: {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as z, ref as p, watch as L, computed as k, resolveComponent as v, createBlock as w, openBlock as f, unref as n, withCtx as _, createElementVNode as i, createVNode as r, toDisplayString as h, createElementBlock as x, createCommentVNode as F, Fragment as I, renderList as A } from "vue";
2
- import { l as S, u as q } from "./discardConfirm-JZF5xM6V.js";
2
+ import { l as S, u as q } from "./discardConfirm-X1bjXonQ.js";
3
3
  import { useI18n as G } from "@feedmepos/mf-common";
4
- import { _ as H, a as J, b as K, c as M } from "./TranslationFieldSection.vue_vue_type_script_setup_true_lang-BfqnNbPl.js";
4
+ import { _ as H, a as J, b as K, c as M } from "./TranslationFieldSection.vue_vue_type_script_setup_true_lang-C1eTBdUl.js";
5
5
  const P = { class: "fm-typo-en-title-md-600" }, Q = { class: "pt-8 space-y-24" }, R = { class: "flex flex-col gap-16 border p-16 rounded-lg" }, W = { class: "flex items-center gap-16" }, X = { class: "fm-typo-en-body-lg-600" }, Y = { class: "flex flex-col gap-32 pl-32" }, Z = {
6
6
  key: 0,
7
7
  class: "space-y-8"
@@ -1,38 +1,38 @@
1
1
  import { ref as te, computed as U, getCurrentInstance as In, render as Tn, defineComponent as ge, onMounted as Xe, resolveComponent as X, resolveDirective as on, createElementBlock as J, openBlock as A, Fragment as Se, createVNode as s, unref as e, withCtx as W, createElementVNode as G, createBlock as oe, createCommentVNode as Z, normalizeClass as $e, renderList as Ne, toDisplayString as _e, createTextVNode as xn, withDirectives as at, renderSlot as Be, watch as Me, h as Ie, isVNode as Sn, nextTick as gt, vShow as rn, withModifiers as Je, createSlots as En, onBeforeUnmount as Rt, watchEffect as Fn, onUnmounted as Vn, normalizeStyle as mt, mergeProps as $n, normalizeProps as Pn, guardReactiveProps as Dn, mergeModels as On, useModel as Mn, Teleport as Un, Transition as Rn, withKeys as An } from "vue";
2
- import { x as Nn, y as Ln, z as Gn, A as Kn, B as an, D as Ft, P as Bn, I as zn, G as jn, H as Yn, J as At, K as qn, M as Wn, N as ln, O as sn, Q as Hn, R as Nt, T as Lt, U as Gt, V as un, W as Vt, X as Xn, Y as Qn, Z as Jn, $ as Zn, a0 as eo, a1 as to, a2 as dn, a3 as Xt, a4 as cn, a5 as no, a6 as oo, a7 as ro, a8 as ao, a9 as mn, w as lo, aa as io, ab as qe, ac as so, ad as uo, ae as co } from "./item-CqPMNjVQ.js";
3
- import { a as mo, b as po, d as fo, _ as go, T as vo } from "./app-J9vFNODI.js";
4
- import { l as Ve, u as Kt } from "./discardConfirm-JZF5xM6V.js";
2
+ import { x as Nn, y as Ln, z as Gn, A as Kn, B as an, D as Ft, P as Bn, I as zn, G as jn, H as Yn, J as At, K as qn, M as Wn, N as ln, O as sn, Q as Hn, R as Nt, T as Lt, U as Gt, V as un, W as Vt, X as Xn, Y as Qn, Z as Jn, $ as Zn, a0 as eo, a1 as to, a2 as dn, a3 as Xt, a4 as cn, a5 as no, a6 as oo, a7 as ro, a8 as ao, a9 as mn, w as lo, aa as io, ab as qe, ac as so, ad as uo, ae as co } from "./item-D0GMSEFc.js";
3
+ import { a as mo, b as po, d as fo, _ as go, T as vo } from "./app-jJLYblaN.js";
4
+ import { l as Ve, u as Kt } from "./discardConfirm-X1bjXonQ.js";
5
5
  import { useI18n as he, useCoreStore as lt, CustomAttributesForm as pn } from "@feedmepos/mf-common";
6
6
  import { useDialog as Qe, useSnackbar as Ye, components as Ce, FmButtonVariant as Pe, FmButtonColorThemeVariant as Ae, useBreakpoints as bo, useDialogChild as fn } from "@feedmepos/ui-library";
7
- import { a as Te, g as Fe, h as xe, u as vt, i as Bt, b as bt, r as yo, F as et, j as ke, m as je, d as we, o as _o, k as ct, l as ho, I as ht, n as gn, s as kt, w as Qt, p as ko, q as wo, t as Jt, v as Co } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
7
+ import { a as Te, g as Fe, h as xe, u as vt, i as Bt, b as bt, r as yo, F as et, j as ke, m as je, d as we, o as _o, k as ct, l as ho, I as ht, n as gn, s as kt, w as Qt, p as ko, q as wo, t as Jt, v as Co } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
8
8
  import { defineStore as Io } from "pinia";
9
- import { _ as Ue, a as To } from "./RuleView.vue_vue_type_script_setup_true_lang-DJBV2o8C.js";
10
- import { u as ye, g as $t, m as xo } from "./menuV2-CwtrrHxb.js";
11
- import { g as So, s as Pt, _ as Eo, a as Fo, b as Vo, c as $o, d as Zt, e as Po } from "./index-BlsVC9Ep.js";
9
+ import { _ as Ue, a as To } from "./RuleView.vue_vue_type_script_setup_true_lang-P6DLshs1.js";
10
+ import { u as ye, g as $t, m as xo } from "./menuV2-CzU77NoT.js";
11
+ import { g as So, s as Pt, _ as Eo, a as Fo, b as Vo, c as $o, d as Zt, e as Po } from "./index-CSBbHVWU.js";
12
12
  import { useAppStore as vn, RemyButton as bn } from "@feedmepos/mf-remy-panel";
13
13
  import { _ as Ke } from "./FormItem.vue_vue_type_script_setup_true_lang-BmPAVphe.js";
14
14
  import { c as Do } from "./createComponentProgrammatically-Bt2rn1IQ.js";
15
15
  import { _ as Dt } from "./tooltip-B5BiPMx9.js";
16
16
  import { g as st } from "./translation-fNx6yEpy.js";
17
17
  import { _ as it } from "./_plugin-vue_export-helper-CHgC5LLL.js";
18
- import { _ as Ze, T as Oo, l as Mo } from "./index-DAkwVhKq.js";
19
- import { L as Ot } from "./LinkProductSideSheet-h94g93ZW.js";
18
+ import { _ as Ze, T as Oo, l as Mo } from "./index-DF1e-d79.js";
19
+ import { L as Ot } from "./LinkProductSideSheet-B0PciGSP.js";
20
20
  import { u as Uo } from "./search-BAPEUu1R.js";
21
21
  import { c as zt } from "./check-C9mY6LiX.js";
22
- import { f as ze } from "./currency-TzQJueZa.js";
23
- import { u as jt } from "./memberPricing-Bv62STuu.js";
22
+ import { f as ze } from "./currency-CfklxgOo.js";
23
+ import { u as jt } from "./memberPricing-DINEsVxj.js";
24
24
  import { c as Ro } from "./string-DpfFixWH.js";
25
25
  import { useInventoryStore as Ao, InventoryBindingSummary as No } from "@feedmepos/mf-inventory-portal";
26
- import { u as Lo } from "./priceTier-CRHLKied.js";
26
+ import { u as Lo } from "./priceTier-ByJqyA8e.js";
27
27
  import { d as Yt } from "./RuleConditionSelector.vue_vue_type_style_index_0_lang-CK8z7qA8.js";
28
- import { _ as Go } from "./ApplyProduct.vue_vue_type_script_setup_true_lang-CHoFzx9k.js";
28
+ import { _ as Go } from "./ApplyProduct.vue_vue_type_script_setup_true_lang-DVEtgCqE.js";
29
29
  import "./app-5fxKLAzS.js";
30
30
  /* empty css */
31
- import { a as Ko, u as Bo } from "./linkProducts-CMKCTrne.js";
31
+ import { a as Ko, u as Bo } from "./linkProducts-DOtgB1M6.js";
32
32
  import { c as pt } from "./object-DVUNCr7w.js";
33
33
  import { _ as zo } from "./TextChip.vue_vue_type_script_setup_true_lang-8frWuZFL.js";
34
34
  import { _ as en } from "./MenuSelector.vue_vue_type_script_setup_true_lang-K6Z0QJBl.js";
35
- import { _ as jo } from "./RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-DfcX0gDQ.js";
35
+ import { _ as jo } from "./RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-Czp_55oY.js";
36
36
  var tt = /* @__PURE__ */ ((i) => (i.PRIMARY = "primary", i.PLAIN = "plain", i))(tt || {}), Le = /* @__PURE__ */ ((i) => (i.CATEGORY = "view_list", i.ITEM = "fastfood", i.VARIANT = "lunch_dining", i.GROUP = "database", i.FOLDER = "folder", i))(Le || {});
37
37
  function wt(i, a) {
38
38
  return i <= 0 ? null : { label: a };
@@ -4233,7 +4233,7 @@ function wn() {
4233
4233
  const _ = {
4234
4234
  ...je.generator.initMenuV4Item(),
4235
4235
  category: V,
4236
- position: Fo(i.state.menu.modules.item),
4236
+ position: Fo(i.state.menu.modules.item, V),
4237
4237
  name: d
4238
4238
  };
4239
4239
  await i.updateMenu({
@@ -2,9 +2,9 @@ import { defineComponent as L, computed as d, ref as g, h as k, withModifiers as
2
2
  import { useI18n as E } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as K, components as R, useBreakpoints as D, FmButtonVariant as I } from "@feedmepos/ui-library";
4
4
  import { _ as q } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
- import { b as A, u as G, _ as H } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
5
+ import { b as A, u as G, _ as H } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
6
6
  import { _ as J } from "./PageLayout.vue_vue_type_script_setup_true_lang-BVmHMvKD.js";
7
- import { u as O, U as P } from "./unit-Y0iUG9B2.js";
7
+ import { u as O, U as P } from "./unit-BBPddYB3.js";
8
8
  const Q = {
9
9
  key: 0,
10
10
  class: "h-[600px]"
@@ -2,9 +2,9 @@ import { getCurrentInstance as A, defineComponent as T, computed as b, onMounted
2
2
  import { useI18n as N } from "@feedmepos/mf-common";
3
3
  import { useDialog as G, useSnackbar as D, FmButtonVariant as L, components as q, useBreakpoints as H } from "@feedmepos/ui-library";
4
4
  import { _ as J } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
- import { _ as Q } from "./app-J9vFNODI.js";
6
- import { b as K, i as O, u as P, g as W, h as X, _ as Z } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
7
- import { V as E } from "./index-CUViEtmn.js";
5
+ import { _ as Q } from "./app-jJLYblaN.js";
6
+ import { b as K, i as O, u as P, g as W, h as X, _ as Z } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
7
+ import { V as E } from "./index-BFLrHA28.js";
8
8
  import { _ as ee } from "./PageLayout.vue_vue_type_script_setup_true_lang-BVmHMvKD.js";
9
9
  import { _ as ae } from "./TranslationViewChip.vue_vue_type_script_setup_true_lang-DiK3fi9J.js";
10
10
  import { u as oe } from "./search-BAPEUu1R.js";
@@ -1,19 +1,19 @@
1
1
  import { defineComponent as F, computed as d, ref as p, watch as A, onMounted as H, resolveComponent as m, createElementBlock as K, openBlock as b, Fragment as W, createVNode as n, withCtx as u, createElementVNode as i, toDisplayString as M, unref as e, createBlock as R } from "vue";
2
- import { D as j } from "./dayjs.min-CqRhbatW.js";
2
+ import { D as j } from "./dayjs.min-s8Pn5XhH.js";
3
3
  import { useRoute as J, useRouter as Q } from "vue-router";
4
- import { _ as X, w as Z } from "./ImportProductDialog.vue_vue_type_script_setup_true_lang-CmbxGud_.js";
5
- import { b as ee, i as te, u as ae, m as oe, d as ne } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
4
+ import { _ as X, w as Z } from "./ImportProductDialog.vue_vue_type_script_setup_true_lang-BHudLX0K.js";
5
+ import { b as ee, i as te, u as ae, m as oe, d as ne } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
6
6
  import { useI18n as le } from "@feedmepos/mf-common";
7
7
  import { useSnackbar as se } from "@feedmepos/ui-library";
8
8
  import { _ as D } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
9
- import { L as V } from "./LinkProductSideSheet-h94g93ZW.js";
10
- import { _ as ue } from "./index-BlsVC9Ep.js";
9
+ import { L as V } from "./LinkProductSideSheet-B0PciGSP.js";
10
+ import { _ as ue } from "./index-CSBbHVWU.js";
11
11
  import { _ as re } from "./PageLayout.vue_vue_type_script_setup_true_lang-BVmHMvKD.js";
12
- import { u as ie } from "./linkProducts-CMKCTrne.js";
13
- import { a as me } from "./menu-wjZ0VHbh.js";
14
- import { m as ce } from "./toExcel-JddNv1bE.js";
15
- import { _ as de, u as pe, c as _e } from "./scheduler-DYeWfbj0.js";
16
- import { R as r } from "./app-J9vFNODI.js";
12
+ import { u as ie } from "./linkProducts-DOtgB1M6.js";
13
+ import { a as me } from "./menu-DobV0-S0.js";
14
+ import { m as ce } from "./toExcel-Bq4sIMSZ.js";
15
+ import { _ as de, u as pe, c as _e } from "./scheduler-B-GZ_cxC.js";
16
+ import { R as r } from "./app-jJLYblaN.js";
17
17
  const fe = { class: "px-12 py-8" }, ve = { class: "px-12 py-8" }, ge = { class: "flex ml-auto space-x-8" }, be = { class: "flex-1 flex flex-col overflow-hidden" }, Ge = /* @__PURE__ */ F({
18
18
  __name: "[id]",
19
19
  setup(ke) {
@@ -1,5 +1,5 @@
1
1
  import { defineStore as r } from "pinia";
2
- import { K as a, L as s, M as l } from "./index.vue_vue_type_script_setup_true_lang-CEZndQrA.js";
2
+ import { K as a, L as s, M as l } from "./index.vue_vue_type_script_setup_true_lang-DKMwA-UJ.js";
3
3
  const u = {
4
4
  async read() {
5
5
  return a(await s().get("/public-setting"));
@@ -1999,7 +1999,7 @@ const x = ({
1999
1999
  {
2000
2000
  path: "/product",
2001
2001
  name: "$menu-products",
2002
- component: G(Y(() => import("./Products-qkRrsj1W.js"))),
2002
+ component: G(Y(() => import("./Products-DcLtwbRO.js"))),
2003
2003
  meta: x({
2004
2004
  subject: j.Subject.Business.menu_item,
2005
2005
  i18nId: "menu.products.title"
@@ -2009,7 +2009,7 @@ const x = ({
2009
2009
  path: "/product-internal-tools",
2010
2010
  name: "$menu-product-internal-tools",
2011
2011
  component: G(
2012
- Y(() => import("./ProductInternalTools-LMHxDc6R.js"))
2012
+ Y(() => import("./ProductInternalTools-CeDden2S.js"))
2013
2013
  ),
2014
2014
  meta: {
2015
2015
  i18nId: "menu.productInternalTools.title",
@@ -2022,7 +2022,7 @@ const x = ({
2022
2022
  {
2023
2023
  path: "/category",
2024
2024
  name: "$menu-category",
2025
- component: G(Y(() => import("./Category-QRUzSOLZ.js"))),
2025
+ component: G(Y(() => import("./Category-B4u7nW_n.js"))),
2026
2026
  meta: x({
2027
2027
  subject: j.Subject.Business.menu_category,
2028
2028
  i18nId: "menu.category.title"
@@ -2031,7 +2031,7 @@ const x = ({
2031
2031
  {
2032
2032
  path: "/subcategory",
2033
2033
  name: "$menu-subcategory",
2034
- component: G(Y(() => import("./Subcategory-BAgZ5vsm.js"))),
2034
+ component: G(Y(() => import("./Subcategory-BHPtwuUq.js"))),
2035
2035
  meta: x({
2036
2036
  subject: j.Subject.Business.menu_subCategory,
2037
2037
  isNavItem: () => K.value,
@@ -2041,7 +2041,7 @@ const x = ({
2041
2041
  {
2042
2042
  path: "/group",
2043
2043
  name: "$menu-group",
2044
- component: G(Y(() => import("./Group-C3bKVuCF.js"))),
2044
+ component: G(Y(() => import("./Group-DEIB_rHc.js"))),
2045
2045
  meta: x({
2046
2046
  subject: j.Subject.Business.menu_group,
2047
2047
  i18nId: "menu.group.title"
@@ -2050,7 +2050,7 @@ const x = ({
2050
2050
  {
2051
2051
  path: "/takeaway",
2052
2052
  name: "$menu-takeaway",
2053
- component: G(Y(() => import("./Takeaway-BIMtyXGB.js"))),
2053
+ component: G(Y(() => import("./Takeaway-BzT_Th8V.js"))),
2054
2054
  meta: x({
2055
2055
  subject: j.Subject.Business.menu_takeaway,
2056
2056
  i18nId: "menu.takeaway.title"
@@ -2059,7 +2059,7 @@ const x = ({
2059
2059
  {
2060
2060
  path: "/scheduler",
2061
2061
  name: "$menu-scheduler",
2062
- component: G(Y(() => import("./Scheduler-Bp05_Qv6.js"))),
2062
+ component: G(Y(() => import("./Scheduler-CXoxVRBZ.js"))),
2063
2063
  meta: x({
2064
2064
  subject: j.Subject.Business.menu_scheduler,
2065
2065
  i18nId: "menu.scheduler.title"
@@ -2068,7 +2068,7 @@ const x = ({
2068
2068
  {
2069
2069
  path: "/variant",
2070
2070
  name: "$menu-variant",
2071
- component: G(Y(() => import("./Variant-Cy0JvleU.js"))),
2071
+ component: G(Y(() => import("./Variant-DHTF9Khv.js"))),
2072
2072
  meta: x({
2073
2073
  subject: j.Subject.Business.menu_variant,
2074
2074
  i18nId: "menu.variant.title"
@@ -2077,7 +2077,7 @@ const x = ({
2077
2077
  {
2078
2078
  path: "/order-pacing",
2079
2079
  name: "$menu-order-pacing",
2080
- component: G(Y(() => import("./OrderPacing-_4_iXa6e.js"))),
2080
+ component: G(Y(() => import("./OrderPacing-BchmVvhQ.js"))),
2081
2081
  meta: x({
2082
2082
  subject: j.Subject.Business.menu_servingSequence,
2083
2083
  isNavItem: () => K.value,
@@ -2087,7 +2087,7 @@ const x = ({
2087
2087
  {
2088
2088
  path: "/recipe",
2089
2089
  name: "$menu-recipe",
2090
- component: G(Y(() => import("./Recipe-C5mMNuY_.js"))),
2090
+ component: G(Y(() => import("./Recipe-PL1QHaYe.js"))),
2091
2091
  meta: x({
2092
2092
  subject: j.Subject.Business.menu_recipe,
2093
2093
  isNavItem: () => !K.value,
@@ -2097,7 +2097,7 @@ const x = ({
2097
2097
  {
2098
2098
  path: "/ingredient",
2099
2099
  name: "$menu-ingredient",
2100
- component: G(Y(() => import("./Ingredient-q8zKgNTY.js"))),
2100
+ component: G(Y(() => import("./Ingredient-CnKzPizo.js"))),
2101
2101
  meta: x({
2102
2102
  subject: j.Subject.Business.menu_ingredient,
2103
2103
  isNavItem: () => !K.value,
@@ -2107,7 +2107,7 @@ const x = ({
2107
2107
  {
2108
2108
  path: "/unit",
2109
2109
  name: "$menu-unit",
2110
- component: G(Y(() => import("./Unit-CLG2PrgL.js"))),
2110
+ component: G(Y(() => import("./Unit-ByhOcOYA.js"))),
2111
2111
  meta: x({
2112
2112
  subject: j.Subject.Business.menu_unit,
2113
2113
  isNavItem: () => !K.value,
@@ -2117,7 +2117,7 @@ const x = ({
2117
2117
  {
2118
2118
  path: "/cooking-guide",
2119
2119
  name: "$menu-cooking-guide",
2120
- component: G(Y(() => import("./CookingGuide-CPI7qV9Z.js"))),
2120
+ component: G(Y(() => import("./CookingGuide-1BHECj2Q.js"))),
2121
2121
  meta: x({
2122
2122
  subject: j.Subject.Business.menu_cookingGuide,
2123
2123
  i18nId: "menu.cooking_guide.title"
@@ -2126,7 +2126,7 @@ const x = ({
2126
2126
  {
2127
2127
  path: "/print-route",
2128
2128
  name: "$menu-print-route",
2129
- component: G(Y(() => import("./PrintRoute-BujMv7Zl.js"))),
2129
+ component: G(Y(() => import("./PrintRoute-ltS-wCjr.js"))),
2130
2130
  meta: x({
2131
2131
  subject: j.Subject.Business.menu_printRoute,
2132
2132
  i18nId: "menu.print_route.title"
@@ -2136,7 +2136,7 @@ const x = ({
2136
2136
  path: "/serving-sequence",
2137
2137
  name: "$menu-serving-sequence",
2138
2138
  component: G(
2139
- Y(() => import("./ServingSequence-Cs-ST8Oc.js"))
2139
+ Y(() => import("./ServingSequence-YhME6BpW.js"))
2140
2140
  ),
2141
2141
  meta: x({
2142
2142
  subject: j.Subject.Business.menu_servingSequence,
@@ -2147,7 +2147,7 @@ const x = ({
2147
2147
  {
2148
2148
  path: "/publish",
2149
2149
  name: "$menu-publish",
2150
- component: G(Y(() => import("./Publish-aa8PbFqn.js"))),
2150
+ component: G(Y(() => import("./Publish-H3Liavuu.js"))),
2151
2151
  meta: x({
2152
2152
  subject: j.Subject.Business.menu_publish,
2153
2153
  i18nId: "menu.publish.title"
@@ -2160,7 +2160,7 @@ const x = ({
2160
2160
  {
2161
2161
  path: "/setting",
2162
2162
  name: "$menu-menu-setting",
2163
- component: G(Y(() => import("./MenuSetting-Juhf48gV.js"))),
2163
+ component: G(Y(() => import("./MenuSetting-D4lyi3VS.js"))),
2164
2164
  meta: x({
2165
2165
  subject: j.Subject.Business.menu_settings,
2166
2166
  i18nId: "menu.menu_setting.title"
@@ -2174,7 +2174,7 @@ const x = ({
2174
2174
  {
2175
2175
  path: "/catalog",
2176
2176
  name: "$menu-catalog",
2177
- component: G(Y(() => import("./Catalog-Da2qmeW2.js"))),
2177
+ component: G(Y(() => import("./Catalog-DdV0gF_5.js"))),
2178
2178
  meta: x({
2179
2179
  subject: j.Subject.Business.menu_catalog,
2180
2180
  i18nId: "menu.catalog.title"
@@ -2182,7 +2182,7 @@ const x = ({
2182
2182
  },
2183
2183
  {
2184
2184
  path: "/catalog/edit/:id",
2185
- component: G(Y(() => import("./_id_-jplkA1eL.js"))),
2185
+ component: G(Y(() => import("./_id_-Baab0DQO.js"))),
2186
2186
  name: "$menu-catalog-edit",
2187
2187
  meta: x({
2188
2188
  subject: j.Subject.Business.menu_catalog,
@@ -2198,7 +2198,7 @@ const x = ({
2198
2198
  },
2199
2199
  {
2200
2200
  path: "/catalog/edit/:id/product",
2201
- component: G(Y(() => import("./Product-DnByb90X.js"))),
2201
+ component: G(Y(() => import("./Product-WZdmdoQr.js"))),
2202
2202
  name: "$menu-catalog-edit-product",
2203
2203
  meta: x({
2204
2204
  subject: j.Subject.Business.menu_catalog
@@ -2206,7 +2206,7 @@ const x = ({
2206
2206
  },
2207
2207
  {
2208
2208
  path: "/catalog/edit/:id/category",
2209
- component: G(Y(() => import("./Category-BXYjH0dH.js"))),
2209
+ component: G(Y(() => import("./Category-fkh6uy_X.js"))),
2210
2210
  name: "$menu-catalog-edit-category",
2211
2211
  meta: x({
2212
2212
  subject: j.Subject.Business.menu_catalog
@@ -2214,7 +2214,7 @@ const x = ({
2214
2214
  },
2215
2215
  {
2216
2216
  path: "/catalog/edit/:id/group",
2217
- component: G(Y(() => import("./Group-C4_-7vPz.js"))),
2217
+ component: G(Y(() => import("./Group-D8C1gd_3.js"))),
2218
2218
  name: "$menu-catalog-edit-group",
2219
2219
  meta: x({
2220
2220
  subject: j.Subject.Business.menu_catalog
@@ -2222,7 +2222,7 @@ const x = ({
2222
2222
  },
2223
2223
  {
2224
2224
  path: "/catalog/edit/:id/takeaway",
2225
- component: G(Y(() => import("./Takeaway-DUd0KVAX.js"))),
2225
+ component: G(Y(() => import("./Takeaway-xwwcISfI.js"))),
2226
2226
  name: "$menu-catalog-edit-takeaway",
2227
2227
  meta: x({
2228
2228
  subject: j.Subject.Business.menu_catalog
@@ -2230,7 +2230,7 @@ const x = ({
2230
2230
  },
2231
2231
  {
2232
2232
  path: "/catalog/edit/:id/setting",
2233
- component: G(Y(() => import("./Setting-BnIq46pa.js"))),
2233
+ component: G(Y(() => import("./Setting-CI0xqqtI.js"))),
2234
2234
  name: "$menu-catalog-edit-setting",
2235
2235
  meta: x({
2236
2236
  subject: j.Subject.Business.menu_catalog
@@ -2246,26 +2246,26 @@ ye.push({
2246
2246
  name: ((He = ye[0].children) == null ? void 0 : He[0].name) || ye[0].name
2247
2247
  }
2248
2248
  });
2249
- G(Y(() => import("./Catalog-Da2qmeW2.js"))), x({
2249
+ G(Y(() => import("./Catalog-DdV0gF_5.js"))), x({
2250
2250
  subject: j.Subject.Business.menu_catalog,
2251
2251
  isNavItem: !0,
2252
2252
  i18nId: "menu.catalog.title"
2253
- }), G(Y(() => import("./_id_-jplkA1eL.js"))), x({
2253
+ }), G(Y(() => import("./_id_-Baab0DQO.js"))), x({
2254
2254
  subject: j.Subject.Business.menu_catalog
2255
- }), G(Y(() => import("./Product-DnByb90X.js"))), x({
2255
+ }), G(Y(() => import("./Product-WZdmdoQr.js"))), x({
2256
2256
  subject: j.Subject.Business.menu_catalog
2257
- }), G(Y(() => import("./Category-BXYjH0dH.js"))), x({
2257
+ }), G(Y(() => import("./Category-fkh6uy_X.js"))), x({
2258
2258
  subject: j.Subject.Business.menu_catalog
2259
- }), G(Y(() => import("./Group-C4_-7vPz.js"))), x({
2259
+ }), G(Y(() => import("./Group-D8C1gd_3.js"))), x({
2260
2260
  subject: j.Subject.Business.menu_catalog
2261
- }), G(Y(() => import("./Takeaway-DUd0KVAX.js"))), x({
2261
+ }), G(Y(() => import("./Takeaway-xwwcISfI.js"))), x({
2262
2262
  subject: j.Subject.Business.menu_catalog
2263
- }), G(Y(() => import("./Setting-BnIq46pa.js"))), x({
2263
+ }), G(Y(() => import("./Setting-CI0xqqtI.js"))), x({
2264
2264
  subject: j.Subject.Business.menu_catalog
2265
2265
  });
2266
2266
  const Br = "treeEditorOpen", Er = () => {
2267
2267
  window.postMessage({ type: Br }, "*");
2268
- }, Pr = Y(() => import("./App-D2pK798q.js"));
2268
+ }, Pr = Y(() => import("./App-BHaFFKgj.js"));
2269
2269
  function Qr(e, a) {
2270
2270
  }
2271
2271
  const Xr = {
package/dist/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { F as e, i as r, j as o, o as t, r as i, u as p } from "./app-J9vFNODI.js";
1
+ import { F as e, i as r, j as o, o as t, r as i, u as p } from "./app-jJLYblaN.js";
2
2
  export {
3
3
  e as FmApp,
4
4
  r as i18nMessages,
@@ -20,23 +20,57 @@ export declare function getItemCategoryNames(categories: CategorizedItem[], item
20
20
  */
21
21
  export declare function getItemPositionFnByCurrentCategory(currentCategoryId: string | null): (item: FdoMenuV4Item) => number | null;
22
22
  /**
23
- * Position for a newly created item: strictly below every existing one, so the item sorts
24
- * to the TOP of whichever category it lands in.
23
+ * Position for a newly created item: its slot within the category it lands in, one past the
24
+ * highest already taken there, so items keep the order they were keyed in.
25
25
  *
26
- * Landing it last is unreachable. Every sort in the stack — `sortPosition` here, Dart
27
- * `sortByPositionCodeName` inside `overrideMenu`, and its Go port — appends the items whose
28
- * position is null AFTER all positioned ones, so no number can outrank a null, and most
29
- * items in a real menu carry no position at all. Sorting first IS reachable, so that is the
30
- * guarantee we make instead.
26
+ * The incremental counterpart of `withSheetOrderPosition`, which applies the same rule to a whole
27
+ * imported sheet. Both mean "the item's slot in this category", and a drag normalising a category
28
+ * to 1..n means the same thing, so all three paths write the same kind of number.
31
29
  *
32
- * Distinct descending values rather than a shared constant: the Dart sort behind the POS is
33
- * not stable, so items sharing a position have no defined order there.
30
+ * `max + 1`, not `items.length + 1`. Length breaks as soon as anything is deleted — positions
31
+ * 1,2,3 minus the middle one leaves 1,3 with a length of 2, and the next item would be handed 3
32
+ * and tie with the survivor. Tied positions have no defined order (the Dart sort behind the POS
33
+ * is not stable), so the new item could appear either side of it. Taking the max cannot collide.
34
34
  *
35
- * Negative values are safe end to end — `position` is an `optional double` in the entity
36
- * proto, the zod schema has no lower bound, and every sort compares it as a signed number.
37
- * A drag re-normalizes the affected category to 1..n, so the negatives are transient.
35
+ * Scoped to one category, because an item holds a separate position per category it belongs to —
36
+ * `item.position` for its main one, an `additionalCategories` entry for each of the rest. A max
37
+ * taken across the whole menu would still sort correctly but would drift away from the 1..n a
38
+ * drag writes.
39
+ *
40
+ * A null position means "never placed", so it does not contribute to the max. Those items sort
41
+ * AFTER every positioned one — `sortPosition` here, Dart `sortByPositionCodeName` inside
42
+ * `overrideMenu`, and its Go port all agree — so no number can rank a new item below them. New
43
+ * items therefore group above the never-placed ones, in the order they were entered. Landing
44
+ * them at the true end of a legacy category would mean renumbering it first; that is what a drag
45
+ * is for, and doing it on every add was rejected on ITS-000651 because a single addition to a
46
+ * long menu would then vanish off the bottom of the screen.
47
+ */
48
+ export declare function getNewItemPosition(items: FdoMenuV4Item[], categoryId: string | null): number;
49
+ /**
50
+ * Positions for an imported row: one slot in every category the item belongs to.
51
+ *
52
+ * The batch counterpart of `getNewItemPosition` — same rule, applied to a whole sheet at once
53
+ * instead of one item at a time, so the two agree on what a position means and manual additions
54
+ * carry straight on from where an import left off.
55
+ *
56
+ * Import is a full replace of the item module, not a merge: `MenuImport.deleteItem` drops every
57
+ * existing item whose `_id` is absent from the sheet. So the sheet row order is the intended
58
+ * order for rows that update an existing item just as much as for rows that create one, and a
59
+ * dense 1..n per category is safe — there is no unlisted item left behind to collide with.
60
+ *
61
+ * Every membership draws its own number, main and secondary alike. Stamping the main category's
62
+ * number onto each `additionalCategories` entry would tie with whichever item actually holds that
63
+ * number in the secondary category, and tied positions have no defined order (the Dart sort
64
+ * behind the POS is not stable). The sheet carries no column saying where an item should sit in a
65
+ * secondary category, so those memberships fall in the row order of the items that hold them.
66
+ *
67
+ * `takeNextPosition` hands out the next free slot in a category and is expected to have side
68
+ * effects — it is called once per membership, and the call order fixes the numbering.
69
+ *
70
+ * A useful side effect of all this: after any import every item in the sheet carries a position,
71
+ * so `getNewItemPosition` has a real max to build on rather than a category full of nulls.
38
72
  */
39
- export declare function getNewItemPosition(items: FdoMenuV4Item[]): number;
73
+ export declare function withSheetOrderPositions<T extends Pick<FdoMenuV4Item, "category" | "position" | "additionalCategories">>(item: T, takeNextPosition: (categoryId: string | null) => number): T;
40
74
  export declare function getUpdatedItemsWithNewPositions(items: FdoMenuV4Item[], currentCategoryId: string | null): ({
41
75
  position: number;
42
76
  _id: string;