@feedmepos/mf-inventory-portal 1.7.12-dev.4 → 1.7.12

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 (127) hide show
  1. package/dist/App-CnYmvN66.js +311 -0
  2. package/dist/{ApprovalView-ByzE83J4.js → ApprovalView-DA9aRu-i.js} +9 -9
  3. package/dist/{BindingsDialog-CRz7DUI8.js → BindingsDialog-BEOtRW53.js} +2 -2
  4. package/dist/{BindingsPicker-BGEocwgg.js → BindingsPicker-CSyMNRwK.js} +2 -2
  5. package/dist/{BindingsTable-hnXgqHv-.js → BindingsTable-Dngf7YVT.js} +4 -4
  6. package/dist/BulkReceiveRequestView-ueRj_k7-.js +2595 -0
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CR4Rfawi.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-BF6iXbf2.js} +1 -1
  8. package/dist/{ClosingDraftView-CtARNdZD.js → ClosingDraftView-CxwnjpoD.js} +19 -19
  9. package/dist/{ClosingHistoryView-1GPfRzPI.js → ClosingHistoryView-CpzjcP-S.js} +5 -5
  10. package/dist/{ClosingTemplateView-CRDYkUnC.js → ClosingTemplateView-Cbz3WgzS.js} +16 -16
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang--Pl8ahzv.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-vZ1jrY-5.js} +1 -1
  12. package/dist/{DefaultView-Dkm69C-h.js → DefaultView-CD-wDNOZ.js} +2 -2
  13. package/dist/{DeliveryOrderPrintPreview-D3C7Mfti.js → DeliveryOrderPrintPreview-B_a61I3p.js} +2 -2
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-BLJK4TLU.js → EmailDialog.vue_vue_type_script_setup_true_lang-Bw3cyaZa.js} +4106 -4111
  15. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-COsbqYTt.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-YbLaL8WJ.js} +6 -6
  16. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CqJZdU1b.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DOdZdn5i.js} +2 -2
  17. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-IVoazKhD.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-wJ_p-Ld5.js} +2 -2
  18. package/dist/{FmMultiselectDialog-DyNULdDc.js → FmMultiselectDialog-DIzL6c9U.js} +1 -1
  19. package/dist/{FmMultiselectDialog-CcDje3Qo.js → FmMultiselectDialog-b0WH0SJC.js} +2 -2
  20. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-B4iKp8As.js → FmUnitInput.vue_vue_type_script_setup_true_lang-CCT3ROmh.js} +6 -6
  21. package/dist/{ImportView-Bo5_flTQ.js → ImportView-DRwh58Ys.js} +496 -499
  22. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-ojpfy2Ii.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-9RWiSk12.js} +1 -1
  23. package/dist/{IngredientGroupView-DwI_dzmA.js → IngredientGroupView-0G8ru_Mg.js} +5 -5
  24. package/dist/{IngredientsView-CZ1dUF0O.js → IngredientsView-CveyeIDT.js} +17 -18
  25. package/dist/{IntegrationExplorerView-C5vZlZBh.js → IntegrationExplorerView-Cs7BOfbi.js} +4 -4
  26. package/dist/{IntegrationView-D4HIODSv.js → IntegrationView-EM8QVxrX.js} +3507 -3460
  27. package/dist/{InventoryBindingForm-DN1cW0S7.js → InventoryBindingForm-CLoDLMUq.js} +1 -1
  28. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-CzKnqty8.js +441 -0
  29. package/dist/{InventoryBindingSummary-NKawlUi9.js → InventoryBindingSummary-C3_h9jB6.js} +1 -1
  30. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CSUy694_.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-sVLNX_Ju.js} +1 -1
  31. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-BXsQFkO3.js → PremiumBadge.vue_vue_type_script_setup_true_lang-DdtF7Ghs.js} +1 -1
  32. package/dist/{ProductionView-7k5Oox5D.js → ProductionView-BfPM2Uwr.js} +7 -7
  33. package/dist/{PublishView-BmHkV9UU.js → PublishView-CacyxkTH.js} +3 -3
  34. package/dist/{PurchaseOrderPrintPreview-B-TxDilP.js → PurchaseOrderPrintPreview-CO8Ft7Jt.js} +2 -2
  35. package/dist/{ReceiveRequestView-CSJHwpJk.js → ReceiveRequestView-DNygshBP.js} +14 -14
  36. package/dist/RecipeView-Da5pXK-k.js +3584 -0
  37. package/dist/{SettingsView-D7qk5anS.js → SettingsView-8JTt0Ri0.js} +4 -4
  38. package/dist/{StockView-CrSYJS-y.js → StockView-Dkcp8EeQ.js} +21 -21
  39. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-CIcAv3iV.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DEv0WzZE.js} +1 -1
  40. package/dist/{SupplierView-mspLWCeX.js → SupplierView-BFhZxnxG.js} +12 -12
  41. package/dist/{SurchargeView-JnM8h5T5.js → SurchargeView-EkT2b_46.js} +6 -6
  42. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-CsTY_Ixm.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-Bvt_VW9G.js} +2 -2
  43. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-nlr6Nrx1.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-DxCESF-e.js} +1 -1
  44. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-DVoH2PXF.js → TransferDetails.vue_vue_type_script_setup_true_lang-D1bdw7Bp.js} +1575 -1639
  45. package/dist/{TransferTemplateView-CfVvqBEw.js → TransferTemplateView-DmiaoBw3.js} +20 -20
  46. package/dist/{UnitCostHistoryView-D8hbU8E9.js → UnitCostHistoryView-DklfNkXP.js} +4 -4
  47. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-CVwO5FhL.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-DpPiPLhD.js} +4 -4
  48. package/dist/{UnitView-BU7iOhKk.js → UnitView-De_D6GEz.js} +8 -8
  49. package/dist/WarehouseView-DkfQ6t0t.js +1079 -0
  50. package/dist/{WastageTemplateView-CofGUoCL.js → WastageTemplateView-CRdzM2as.js} +14 -14
  51. package/dist/api/purchase-order.d.ts +0 -2
  52. package/dist/{app-CaVwxRtv.js → app-DX9D1w8l.js} +9137 -10054
  53. package/dist/app.d.ts +9 -908
  54. package/dist/app.js +1 -1
  55. package/dist/{closing-template-zk-8riyF.js → closing-template-qpRg_Az9.js} +1 -1
  56. package/dist/{date2-Da1yrXy2.js → date2-CZ7adCWH.js} +5 -5
  57. package/dist/{dayjs.min-DZDLiUUR.js → dayjs.min-3MdjqoXO.js} +1 -1
  58. package/dist/{decimal-BXr5jFCt.js → decimal-C1LKdLkQ.js} +2 -2
  59. package/dist/{defineDeepModel-B58ZSZ2-.js → defineDeepModel-DoDzh2b2.js} +1 -1
  60. package/dist/{duplicate-template-DB7BeIdr.js → duplicate-template-C9Le1Znd.js} +1 -1
  61. package/dist/{feature-CoiZLX8h.js → feature-BZyCqcEn.js} +2 -2
  62. package/dist/{format-time-from-id-Dk2sMpaD.js → format-time-from-id-AU__62uQ.js} +1 -1
  63. package/dist/{format-unit-display-IvpQg1Zz.js → format-unit-display-Dw-0qEj4.js} +27 -27
  64. package/dist/{import-export.helper-BkEbqxoN.js → import-export.helper-OGX7xcXn.js} +6 -6
  65. package/dist/{index-9BgqIon0.js → index-BMsjGqmL.js} +3 -3
  66. package/dist/{index-D8SmmnoO.js → index-D8dszMaZ.js} +3232 -3306
  67. package/dist/{index-Lsgo5RyK.js → index-DU65mxS4.js} +1 -1
  68. package/dist/{inventory-core-dart.default-I4pnD6mk.js → inventory-core-dart.default-C8gA6YiZ.js} +1 -1
  69. package/dist/{lz-string-DpMUoHOE.js → lz-string-BzBGfdiF.js} +1 -1
  70. package/dist/{netsuite-PtHEjkyJ.js → netsuite-CvV6-vXA.js} +1387 -1397
  71. package/dist/{number-BrslsQSR.js → number-BxmfHF3Y.js} +3 -3
  72. package/dist/{predefined-templates-BhmpuXal.js → predefined-templates-5u9eGHKJ.js} +1 -1
  73. package/dist/{purchase-order-template-DxbJKpHo.js → purchase-order-template-Qr5AMiU6.js} +1 -1
  74. package/dist/{recalculationUtils-5Kc541X6.js → recalculationUtils-2gL9pc0H.js} +1 -1
  75. package/dist/{rules-LmD1GbEX.js → rules-BPasrLXm.js} +2 -2
  76. package/dist/{stock-Bn5ZJ4l-.js → stock-CzIzVIbM.js} +1 -1
  77. package/dist/{stock-BhSrDwve.js → stock-yRjAx4ZH.js} +3 -3
  78. package/dist/stores/bulk-job.d.ts +0 -13
  79. package/dist/style.css +1 -1
  80. package/dist/{supplier-CN9kcBaa.js → supplier-DMTqpJg3.js} +2 -2
  81. package/dist/{surcharge-KXfzn-DG.js → surcharge-BeUZBYR1.js} +8 -8
  82. package/dist/tsconfig.app.tsbuildinfo +1 -1
  83. package/dist/{uom-rules-BLkhY22f.js → uom-rules-LihPxQ9x.js} +1 -1
  84. package/dist/{use-ingredient-select-dialog-BI10BAsU.js → use-ingredient-select-dialog-CxE1cAK-.js} +2 -2
  85. package/dist/{use-inventory-binding-dialog-U7gMV5AO.js → use-inventory-binding-dialog-BOx62zVs.js} +2 -2
  86. package/dist/{use-template-enabled-locations-ByqGD0Zl.js → use-template-enabled-locations-C8eeA9Sb.js} +2 -2
  87. package/dist/{use-transfer-locations-CjmdtOJn.js → use-transfer-locations-Dnxc410A.js} +2 -2
  88. package/dist/{useHrmPermission-BLPoqAqK.js → useHrmPermission-BdejOjVT.js} +1 -1
  89. package/dist/{useNavigationMenu-KC6IkTar.js → useNavigationMenu-9-UDO0Au.js} +2 -2
  90. package/dist/{useSseClient-Mg1vIf5l.js → useSseClient-CnNQR4iL.js} +1 -1
  91. package/dist/views/ingredients/components/inventory-binding/InventoryBindingForm.vue.d.ts +0 -2
  92. package/dist/views/ingredients/components/inventory-binding/v2/InventoryBindingFormV2.vue.d.ts +0 -2
  93. package/dist/views/ingredients/components/inventory-binding/v2/components/InventoryRecipeBindingV2Field.vue.d.ts +0 -4
  94. package/dist/views/receive-request/components/email-dialog/EmailDialogProps.d.ts +9 -23
  95. package/dist/views/recipe/composables/use-recipe-table.d.ts +0 -11
  96. package/dist/{vue-i18n-9MAnRv0c.js → vue-i18n-X-U3UMbs.js} +332 -332
  97. package/dist/{xlsx.util-Dlw4yUlp.js → xlsx.util-CE04FVCJ.js} +2 -2
  98. package/package.json +4 -4
  99. package/dist/App-BA0j7vXh.js +0 -1465
  100. package/dist/BulkReceiveRequestView-BePjklka.js +0 -2657
  101. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-78aK3g9R.js +0 -563
  102. package/dist/RecipeView-FQRnQku1.js +0 -3625
  103. package/dist/WarehouseView-7RlAD3Dp.js +0 -1082
  104. package/dist/api/changelog.d.ts +0 -132
  105. package/dist/views/changelog/components/ChangelogDialog.vue.d.ts +0 -19
  106. package/dist/views/changelog/components/ChangelogFloatingButton.vue.d.ts +0 -2
  107. package/dist/views/changelog/components/ChangelogPanel.spec.d.ts +0 -1
  108. package/dist/views/changelog/components/ChangelogPanel.vue.d.ts +0 -20
  109. package/dist/views/changelog/composables/change-path.d.ts +0 -10
  110. package/dist/views/changelog/composables/commit-message.d.ts +0 -9
  111. package/dist/views/changelog/composables/commit-message.spec.d.ts +0 -1
  112. package/dist/views/changelog/composables/json-line-diff.d.ts +0 -10
  113. package/dist/views/changelog/composables/json-line-diff.spec.d.ts +0 -1
  114. package/dist/views/changelog/composables/use-changelog.d.ts +0 -90
  115. package/dist/views/changelog/composables/use-changelog.spec.d.ts +0 -1
  116. package/dist/views/changelog/composables/use-inventory-record-commits.d.ts +0 -97
  117. package/dist/views/changelog/composables/use-inventory-record-commits.spec.d.ts +0 -1
  118. package/dist/views/changelog/composables/use-snapshot-diff.d.ts +0 -29
  119. package/dist/views/changelog/composables/use-snapshot-diff.spec.d.ts +0 -1
  120. package/dist/views/changelog/composables/value-tree.d.ts +0 -14
  121. package/dist/views/changelog/composables/value-tree.spec.d.ts +0 -1
  122. package/dist/views/import/helper/submit-rows.d.ts +0 -13
  123. package/dist/views/import/helper/submit-rows.spec.d.ts +0 -1
  124. package/dist/views/ingredients/components/inventory-binding/RecipeBindingBreakdown.vue.d.ts +0 -25
  125. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.d.ts +0 -34
  126. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.spec.d.ts +0 -1
  127. package/dist/views/receive-request/components/email-dialog/EmailDialog.spec.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./InventoryBindingForm.vue_vue_type_script_setup_true_lang-78aK3g9R.js";
1
+ import { _ as f } from "./InventoryBindingForm.vue_vue_type_script_setup_true_lang-CzKnqty8.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -0,0 +1,441 @@
1
+ import { defineComponent as oe, computed as x, reactive as te, resolveComponent as B, createElementBlock as c, openBlock as d, createVNode as u, createElementVNode as n, createCommentVNode as v, withCtx as I, createBlock as w, toDisplayString as p, unref as i, Fragment as U, renderList as G, nextTick as le } from "vue";
2
+ import { a as ie, t as se, v as de, F as re } from "./app-DX9D1w8l.js";
3
+ import { a as h, c as ae } from "./number-BxmfHF3Y.js";
4
+ import { u as ue } from "./use-inventory-binding-dialog-BOx62zVs.js";
5
+ import { b as $, c as A } from "./rules-BPasrLXm.js";
6
+ import { _ as me, c as ce, d as pe } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-CCT3ROmh.js";
7
+ import { useI18n as ye } from "@feedmepos/mf-common";
8
+ const fe = { class: "flex flex-col gap-24" }, ve = { class: "flex flex-col gap-16" }, be = { class: "flex items-center" }, _e = { class: "flex-1 fm-typo-en-title-sm-600" }, xe = { class: "flex flex-col" }, ge = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, he = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Ve = { class: "flex flex-col w-full border-b border-fm-color-neutral-gray-100" }, ke = {
9
+ class: "flex items-center",
10
+ style: { "min-height": "48px" }
11
+ }, Be = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, Ie = { class: "flex flex-col" }, we = { class: "line-clamp-1" }, Fe = { class: "w-[200px]" }, Ue = {
12
+ key: 0,
13
+ class: "w-[52px]"
14
+ }, Ce = {
15
+ key: 0,
16
+ class: "flex gap-4 text-fm-color-system-error-400 fm-typo-en-body-sm-400 px-8"
17
+ }, Ee = {
18
+ key: 0,
19
+ class: "flex flex-col gap-16"
20
+ }, Ge = { class: "flex items-center" }, Ae = { class: "flex-1 fm-typo-en-title-sm-600" }, Re = { class: "flex flex-col" }, Se = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, Pe = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Te = { class: "flex flex-col w-full border-b border-fm-color-neutral-gray-100" }, Me = {
21
+ key: 0,
22
+ class: "flex gap-4 text-fm-color-system-error-400 fm-typo-en-body-sm-400"
23
+ }, Ne = {
24
+ class: "flex items-center",
25
+ style: { "min-height": "48px" }
26
+ }, $e = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, ze = { class: "flex flex-col" }, De = { class: "w-[200px]" }, Ke = {
27
+ key: 0,
28
+ class: "w-[52px]"
29
+ }, je = { class: "flex flex-col gap-16" }, Le = { class: "flex items-center" }, Oe = { class: "flex-1 fm-typo-en-title-sm-600" }, Ye = { class: "flex flex-col" }, We = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, qe = { class: "flex-1 fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, He = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary w-[150px] px-16" }, Je = {
30
+ key: 0,
31
+ class: "flex flex-col border-b border-fm-color-neutral-gray-100"
32
+ }, Qe = {
33
+ class: "flex items-center w-full",
34
+ style: { "min-height": "48px" }
35
+ }, Xe = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12 text-fm-color-typo-secondary line-clamp-1" }, Ze = {
36
+ key: 0,
37
+ class: "w-[52px]"
38
+ }, en = { class: "flex gap-4 text-fm-color-system-error-400 fm-typo-en-body-sm-400 px-12 pb-4" }, nn = {
39
+ key: 1,
40
+ class: "flex flex-col border-b border-fm-color-neutral-gray-100"
41
+ }, on = {
42
+ class: "flex items-center w-full",
43
+ style: { "min-height": "48px" }
44
+ }, tn = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, ln = { class: "line-clamp-1 w-full" }, sn = { class: "w-[150px]" }, dn = {
45
+ key: 0,
46
+ class: "w-[52px]"
47
+ }, rn = { class: "flex flex-col px-12 pb-4" }, vn = /* @__PURE__ */ oe({
48
+ __name: "InventoryBindingForm",
49
+ props: {
50
+ id: {},
51
+ modelValue: { default: () => [] },
52
+ excludeBindingId: {},
53
+ rules: { default: () => [] },
54
+ iframeMode: { type: Boolean },
55
+ disabled: { type: Boolean },
56
+ readonly: { type: Boolean },
57
+ enableIngredientGroup: { type: Boolean }
58
+ },
59
+ emits: ["update:modelValue", "click:pick-inventory-bindings"],
60
+ setup(z, { emit: D }) {
61
+ const { t: m } = ye(), g = ie(), R = x(() => g.recipeById), V = x(() => g.skuById), K = x(() => g.skuGroupById), s = z, b = D, S = x(() => se({
62
+ parentId: s.id,
63
+ bindings: s.modelValue,
64
+ recipes: g.recipes.map((t) => t._id === s.id ? {
65
+ ...t,
66
+ contains: s.modelValue
67
+ } : t),
68
+ skus: g.skus.map((t) => t._id === s.id ? {
69
+ ...t,
70
+ convert: {
71
+ inventoryBindings: s.modelValue
72
+ }
73
+ } : t),
74
+ skuGroups: g.skuGroups
75
+ }).inventoryBindings.filter((t) => "error" in t && t.error).map((t) => t).filter((t) => t.reason === de.enum.circularDependency)), C = x(
76
+ () => new Set(S.value.map((e) => {
77
+ var l;
78
+ return (l = e.bindingPaths[0]) == null ? void 0 : l.id;
79
+ }))
80
+ ), j = x(() => s.modelValue.filter((e) => e.type === "RECIPE")), { promptIngredientsBinding: L, promptRecipesBinding: O, promptIngredientGroupsBinding: Y } = ue();
81
+ async function W() {
82
+ if (s.iframeMode) {
83
+ b("click:pick-inventory-bindings", "RECIPE");
84
+ return;
85
+ }
86
+ O(
87
+ s.modelValue,
88
+ (e) => b("update:modelValue", e),
89
+ s.id ? [s.id] : []
90
+ );
91
+ }
92
+ const q = x(() => s.modelValue.filter((e) => e.type === "SKU_GROUP"));
93
+ async function H() {
94
+ Y(
95
+ s.modelValue,
96
+ (e) => b("update:modelValue", e),
97
+ s.id ? [s.id] : []
98
+ );
99
+ }
100
+ const P = x(() => s.modelValue.filter((e) => e.type === "SKU") ?? []);
101
+ async function J() {
102
+ if (s.iframeMode) {
103
+ b("click:pick-inventory-bindings", "SKU");
104
+ return;
105
+ }
106
+ L(
107
+ s.modelValue,
108
+ (e) => b("update:modelValue", e),
109
+ s.excludeBindingId,
110
+ s.id ? [s.id] : []
111
+ );
112
+ }
113
+ function T(e, l, t) {
114
+ const a = +l;
115
+ let f = t;
116
+ l.length > 0 && isFinite(a) ? f = t.map((y) => (y.id !== e || (y.amount = ae(a)), y)) : f = t.map((y) => (y.id !== e || (y.amount = { amount: 0, precision: 0 }), y)), b("update:modelValue", f);
117
+ }
118
+ function F(e, l) {
119
+ const t = l.filter((a) => a.id !== e);
120
+ b("update:modelValue", t);
121
+ }
122
+ function M(e) {
123
+ var t, a;
124
+ if (e.type !== re.enum.SKU)
125
+ throw new Error("Non-SKU binding does not have unit");
126
+ if (!((t = V.value[e.id]) == null ? void 0 : t.unit))
127
+ throw new Error(`Cannot find ingredient: ${e.id}`);
128
+ return (a = V.value[e.id]) == null ? void 0 : a.unit;
129
+ }
130
+ function Q(e) {
131
+ return !V.value[e.id];
132
+ }
133
+ function X(e) {
134
+ return { amount: e.amount, measurement: e.measurement };
135
+ }
136
+ function Z(e, l, t) {
137
+ const a = t.map((f) => f.id !== e ? f : {
138
+ ...f,
139
+ amount: l.amount,
140
+ measurement: l.measurement
141
+ });
142
+ b("update:modelValue", a);
143
+ }
144
+ const N = te({});
145
+ function ee(e) {
146
+ return N[e.id] ?? {
147
+ modelValue: {
148
+ amount: e.amount,
149
+ measurement: e.measurement
150
+ },
151
+ amountAsString: h(e.amount)
152
+ };
153
+ }
154
+ function ne(e, l) {
155
+ le(() => {
156
+ N[e.id] = {
157
+ modelValue: {
158
+ amount: e.amount,
159
+ measurement: e.measurement
160
+ },
161
+ amountAsString: l
162
+ };
163
+ });
164
+ }
165
+ return (e, l) => {
166
+ const t = B("FmFormGroup"), a = B("FmButton"), f = B("FmTooltip"), y = B("FmTextField"), E = B("FmIcon");
167
+ return d(), c("div", fe, [
168
+ u(t, {
169
+ disabled: e.disabled,
170
+ "model-value": e.modelValue,
171
+ rules: [
172
+ ...e.rules,
173
+ () => S.value.length ? "There is a binding error in your configuration" : !0
174
+ ]
175
+ }, {
176
+ label: I(() => l[0] || (l[0] = [
177
+ n("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Define the inventory bindings for this recipe or ingredient. ", -1)
178
+ ])),
179
+ _: 1
180
+ }, 8, ["disabled", "model-value", "rules"]),
181
+ n("div", ve, [
182
+ n("div", be, [
183
+ n("div", _e, p(i(m)("inventory.inventoryBindings.recipe")), 1),
184
+ e.readonly ? v("", !0) : (d(), w(a, {
185
+ key: 0,
186
+ variant: "secondary",
187
+ "text-color": "primary",
188
+ "border-color": "primary",
189
+ label: i(m)("inventory.inventoryBindings.linkRecipe"),
190
+ "prepend-icon": "link",
191
+ onClick: W
192
+ }, null, 8, ["label"]))
193
+ ]),
194
+ n("div", xe, [
195
+ n("div", ge, [
196
+ n("div", he, p(i(m)("inventory.inventoryBindings.recipe")), 1),
197
+ l[1] || (l[1] = n("div", { class: "w-[200px]" }, null, -1)),
198
+ l[2] || (l[2] = n("div", { class: "w-[52px]" }, null, -1))
199
+ ]),
200
+ (d(!0), c(U, null, G(j.value, (o) => (d(), w(t, {
201
+ key: o.id,
202
+ disabled: e.disabled,
203
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
204
+ rules: [i($)(0), i(A)(-1)]
205
+ }, {
206
+ default: I(({ invalid: k }) => {
207
+ var _;
208
+ return [
209
+ n("div", Ve, [
210
+ n("div", ke, [
211
+ n("div", Be, [
212
+ n("div", Ie, [
213
+ u(f, {
214
+ zIndex: 51,
215
+ variant: "plain",
216
+ placement: "top",
217
+ content: (_ = R.value[o.id]) == null ? void 0 : _.name
218
+ }, {
219
+ default: I(() => {
220
+ var r;
221
+ return [
222
+ n("span", we, p((r = R.value[o.id]) == null ? void 0 : r.name), 1)
223
+ ];
224
+ }),
225
+ _: 2
226
+ }, 1032, ["content"])
227
+ ])
228
+ ]),
229
+ n("div", Fe, [
230
+ u(y, {
231
+ class: "w-full",
232
+ disabled: e.disabled,
233
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
234
+ "onUpdate:modelValue": (r) => T(o.id, r, e.modelValue),
235
+ invalid: k
236
+ }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue", "invalid"])
237
+ ]),
238
+ e.readonly ? v("", !0) : (d(), c("div", Ue, [
239
+ u(a, {
240
+ disabled: e.disabled,
241
+ type: "button",
242
+ variant: "plain",
243
+ icon: "delete",
244
+ "icon-color": "#000000",
245
+ onClick: (r) => F(o.id, e.modelValue)
246
+ }, null, 8, ["disabled", "onClick"])
247
+ ]))
248
+ ]),
249
+ C.value.has(o.id) ? (d(), c("div", Ce, [
250
+ u(E, {
251
+ name: "error",
252
+ color: "system-error-300",
253
+ size: "sm"
254
+ }),
255
+ n("div", null, p(i(m)("inventory.inventoryBindings.circularError")), 1)
256
+ ])) : v("", !0)
257
+ ])
258
+ ];
259
+ }),
260
+ _: 2
261
+ }, 1032, ["disabled", "modelValue", "rules"]))), 128))
262
+ ])
263
+ ]),
264
+ e.enableIngredientGroup ? (d(), c("div", Ee, [
265
+ n("div", Ge, [
266
+ n("div", Ae, p(i(m)("inventory.inventoryBindings.ingredientGroup")), 1),
267
+ e.readonly ? v("", !0) : (d(), w(a, {
268
+ key: 0,
269
+ variant: "secondary",
270
+ "text-color": "primary",
271
+ "border-color": "primary",
272
+ label: i(m)("inventory.inventoryBindings.linkIngredientGroup"),
273
+ "prepend-icon": "link",
274
+ onClick: H
275
+ }, null, 8, ["label"]))
276
+ ]),
277
+ n("div", Re, [
278
+ n("div", Se, [
279
+ n("div", Pe, p(i(m)("inventory.inventoryBindings.ingredientGroup")), 1),
280
+ l[3] || (l[3] = n("div", { class: "w-[200px]" }, null, -1)),
281
+ l[4] || (l[4] = n("div", { class: "w-[52px]" }, null, -1))
282
+ ]),
283
+ (d(!0), c(U, null, G(q.value, (o) => (d(), w(t, {
284
+ key: o.id,
285
+ disabled: e.disabled,
286
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
287
+ rules: [i($)(0), i(A)(0)]
288
+ }, {
289
+ default: I(({ invalid: k }) => {
290
+ var _;
291
+ return [
292
+ n("div", Te, [
293
+ C.value.has(o.id) ? (d(), c("div", Me, [
294
+ u(E, {
295
+ name: "error",
296
+ color: "system-error-300",
297
+ size: "sm"
298
+ }),
299
+ n("div", null, p(i(m)("inventory.inventoryBindings.circularError")), 1)
300
+ ])) : v("", !0),
301
+ n("div", Ne, [
302
+ n("div", $e, [
303
+ n("div", ze, p((_ = K.value[o.id]) == null ? void 0 : _.name), 1)
304
+ ]),
305
+ n("div", De, [
306
+ u(y, {
307
+ class: "w-full",
308
+ disabled: e.disabled,
309
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
310
+ "onUpdate:modelValue": (r) => T(o.id, r, e.modelValue),
311
+ invalid: k
312
+ }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue", "invalid"])
313
+ ]),
314
+ e.readonly ? v("", !0) : (d(), c("div", Ke, [
315
+ u(a, {
316
+ disabled: e.disabled,
317
+ type: "button",
318
+ variant: "plain",
319
+ icon: "delete",
320
+ "icon-color": "#000000",
321
+ onClick: (r) => F(o.id, e.modelValue)
322
+ }, null, 8, ["disabled", "onClick"])
323
+ ]))
324
+ ])
325
+ ])
326
+ ];
327
+ }),
328
+ _: 2
329
+ }, 1032, ["disabled", "modelValue", "rules"]))), 128))
330
+ ])
331
+ ])) : v("", !0),
332
+ n("div", je, [
333
+ n("div", Le, [
334
+ n("div", Oe, p(i(m)("inventory.inventoryBindings.ingredient")), 1),
335
+ e.readonly ? v("", !0) : (d(), w(a, {
336
+ key: 0,
337
+ variant: "secondary",
338
+ "text-color": "primary",
339
+ "border-color": "primary",
340
+ label: i(m)("inventory.inventoryBindings.linkIngredient"),
341
+ "prepend-icon": "link",
342
+ onClick: J
343
+ }, null, 8, ["label"]))
344
+ ]),
345
+ n("div", Ye, [
346
+ n("div", We, [
347
+ n("div", qe, p(i(m)("inventory.inventoryBindings.ingredient")), 1),
348
+ n("div", He, p(i(m)("inventory.inventoryBindings.amount")), 1),
349
+ l[5] || (l[5] = n("div", { class: "w-[52px]" }, null, -1))
350
+ ]),
351
+ (d(!0), c(U, null, G(P.value, (o, k) => {
352
+ var _;
353
+ return d(), c(U, {
354
+ key: o.id
355
+ }, [
356
+ Q(o) ? (d(), c("div", Je, [
357
+ n("div", Qe, [
358
+ n("div", Xe, p(o.id), 1),
359
+ e.readonly ? v("", !0) : (d(), c("div", Ze, [
360
+ u(a, {
361
+ disabled: e.disabled,
362
+ type: "button",
363
+ variant: "tertiary",
364
+ icon: "delete",
365
+ onClick: (r) => F(o.id, e.modelValue)
366
+ }, null, 8, ["disabled", "onClick"])
367
+ ]))
368
+ ]),
369
+ n("div", en, [
370
+ u(E, {
371
+ name: "error",
372
+ color: "system-error-300",
373
+ size: "sm"
374
+ }),
375
+ n("div", null, p(i(m)("inventory.inventoryBindings.missingIngredient")), 1)
376
+ ])
377
+ ])) : (d(), c("div", nn, [
378
+ n("div", on, [
379
+ n("div", tn, [
380
+ u(f, {
381
+ zIndex: 51,
382
+ variant: "plain",
383
+ placement: "top",
384
+ content: (_ = V.value[o.id]) == null ? void 0 : _.name
385
+ }, {
386
+ default: I(() => {
387
+ var r;
388
+ return [
389
+ n("span", ln, p((r = V.value[o.id]) == null ? void 0 : r.name), 1)
390
+ ];
391
+ }),
392
+ _: 2
393
+ }, 1032, ["content"])
394
+ ]),
395
+ n("div", sn, [
396
+ u(me, {
397
+ "model-value": X(o),
398
+ "onUpdate:modelValue": (r) => r && Z(o.id, r, e.modelValue),
399
+ "onUpdate:amount": (r) => ne(o, r),
400
+ unit: M(o),
401
+ placement: k === P.value.length - 1 ? "top" : "bottom",
402
+ "convert-amount-on-change-unit": "",
403
+ disabled: e.readonly
404
+ }, null, 8, ["model-value", "onUpdate:modelValue", "onUpdate:amount", "unit", "placement", "disabled"])
405
+ ]),
406
+ e.readonly ? v("", !0) : (d(), c("div", dn, [
407
+ u(a, {
408
+ disabled: e.disabled,
409
+ type: "button",
410
+ variant: "tertiary",
411
+ icon: "delete",
412
+ onClick: (r) => F(o.id, e.modelValue)
413
+ }, null, 8, ["disabled", "onClick"])
414
+ ]))
415
+ ]),
416
+ n("div", rn, [
417
+ u(t, {
418
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
419
+ rules: [i(A)(0)]
420
+ }, null, 8, ["modelValue", "rules"]),
421
+ u(t, {
422
+ modelValue: ee(o),
423
+ rules: [
424
+ i(ce)(),
425
+ i(pe)(M(o)),
426
+ () => C.value.has(o.id) ? i(m)("inventory.inventoryBindings.invalidWarning") : !0
427
+ ]
428
+ }, null, 8, ["modelValue", "rules"])
429
+ ])
430
+ ]))
431
+ ], 64);
432
+ }), 128))
433
+ ])
434
+ ])
435
+ ]);
436
+ };
437
+ }
438
+ });
439
+ export {
440
+ vn as _
441
+ };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as l, resolveComponent as m, createBlock as c, openBlock as d, h as g } from "vue";
2
2
  import { useI18n as p } from "@feedmepos/mf-common";
3
3
  import { components as u } from "@feedmepos/ui-library";
4
- import { F as r } from "./app-CaVwxRtv.js";
4
+ import { F as r } from "./app-DX9D1w8l.js";
5
5
  const w = /* @__PURE__ */ l({
6
6
  __name: "InventoryBindingSummary",
7
7
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as V, computed as w, ref as h, watch as u, resolveComponent as i, createBlock as F, openBlock as g, withCtx as d, createVNode as A, createElementVNode as k, normalizeClass as K } from "vue";
2
- import { c as s } from "./number-BrslsQSR.js";
2
+ import { c as s } from "./number-BxmfHF3Y.js";
3
3
  const _ = ["value", "disabled"], C = /* @__PURE__ */ V({
4
4
  __name: "NumberPrecisionInput",
5
5
  props: {
@@ -1,4 +1,4 @@
1
- import { d as F, u as f } from "./app-CaVwxRtv.js";
1
+ import { m as F, u as f } from "./app-DX9D1w8l.js";
2
2
  import { useCoreStore as v } from "@feedmepos/mf-common";
3
3
  import { ref as _, defineComponent as h, resolveComponent as l, createElementBlock as y, openBlock as g, renderSlot as k, createVNode as p, withCtx as S } from "vue";
4
4
  const m = F((e, t) => {
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as ce, ref as F, createElementBlock as c, openBlock as r, createElementVNode as t, createBlock as V, createTextVNode as G, toDisplayString as a, normalizeClass as ue, Teleport as Ce, createCommentVNode as P, Fragment as q, normalizeStyle as $e, renderList as U, computed as _, watch as ie, resolveComponent as j, withCtx as K, createVNode as M, onMounted as Se, h as E, reactive as Ie, withDirectives as Fe, vModelText as De, unref as Ne } from "vue";
2
2
  import { _ as Te } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DpwneGOV.js";
3
3
  import { useDialog as ve, useSnackbar as ge, components as se } from "@feedmepos/ui-library";
4
- import { d as Be, u as be, a as xe } from "./app-CaVwxRtv.js";
5
- import { _ as Ee } from "./ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CR4Rfawi.js";
4
+ import { m as Be, u as be, a as xe } from "./app-DX9D1w8l.js";
5
+ import { _ as Ee } from "./ChangeLocationComponent.vue_vue_type_script_setup_true_lang-BF6iXbf2.js";
6
6
  import { useI18n as Ae } from "@feedmepos/mf-common";
7
- import { c as ke } from "./inventory-core-dart.default-I4pnD6mk.js";
8
- import { u as Pe } from "./stock-BhSrDwve.js";
9
- import { a as Re } from "./FmMultiselectDialog-CcDje3Qo.js";
10
- import { e as qe, _ as Me } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-B4iKp8As.js";
11
- import { u as Le } from "./stock-Bn5ZJ4l-.js";
7
+ import { c as ke } from "./inventory-core-dart.default-C8gA6YiZ.js";
8
+ import { u as Pe } from "./stock-yRjAx4ZH.js";
9
+ import { a as Re } from "./FmMultiselectDialog-b0WH0SJC.js";
10
+ import { e as qe, _ as Me } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-CCT3ROmh.js";
11
+ import { u as Le } from "./stock-CzIzVIbM.js";
12
12
  const he = Be((Q, w) => {
13
13
  const y = be(), u = () => `${Q.inventoryBackendUrl}/${y.currentLocationDBName}/production`;
14
14
  return {
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as D, ref as A, computed as s, watch as H, resolveComponent as c, createBlock as S, openBlock as x, unref as l, createSlots as Y, withCtx as h, createElementVNode as N, normalizeClass as U, createVNode as m, normalizeStyle as $, Teleport as q, h as p } from "vue";
2
- import { u as E, a as K, x as j } from "./app-CaVwxRtv.js";
2
+ import { u as E, a as K, x as j } from "./app-DX9D1w8l.js";
3
3
  import { u as G, _ as J } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DpwneGOV.js";
4
4
  import { useBreakpoints as O, useDialog as Q, useSnackbar as R, components as I } from "@feedmepos/ui-library";
5
- import { u as X } from "./vue-i18n-9MAnRv0c.js";
6
- import { b as k } from "./date2-Da1yrXy2.js";
5
+ import { u as X } from "./vue-i18n-X-U3UMbs.js";
6
+ import { a as k } from "./date2-CZ7adCWH.js";
7
7
  const se = /* @__PURE__ */ D({
8
8
  __name: "PublishView",
9
9
  setup(Z) {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as b, computed as x, ref as f, onMounted as g, createElementBlock as n, openBlock as o, createElementVNode as t, toDisplayString as e, normalizeStyle as w, createTextVNode as u, createCommentVNode as v, Fragment as i, renderList as p } from "vue";
2
2
  import { useRoute as k } from "vue-router";
3
- import { U as y } from "./app-CaVwxRtv.js";
4
- import { L as C } from "./lz-string-DpMUoHOE.js";
3
+ import { U as y } from "./app-DX9D1w8l.js";
4
+ import { L as C } from "./lz-string-BzBGfdiF.js";
5
5
  import { _ as N } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
6
  const R = { class: "purchase-box" }, A = { valign: "bottom" }, E = { class: "title" }, P = { class: "text-right" }, D = { class: "header" }, O = { class: "sub-header" }, S = { class: "caption" }, F = { class: "address" }, T = { class: "text-right" }, L = {
7
7
  key: 0,
@@ -1,24 +1,24 @@
1
1
  import { defineComponent as Se, computed as d, ref as O, watch as ee, resolveComponent as De, createBlock as E, openBlock as y, unref as r, withCtx as q, createElementVNode as f, normalizeClass as xe, createVNode as u, normalizeStyle as Re, createElementBlock as Oe, createCommentVNode as te, toDisplayString as Ee, Teleport as Pe, normalizeProps as re, mergeProps as N, guardReactiveProps as Te, isRef as ke } from "vue";
2
- import { D as P, u as Ce } from "./app-CaVwxRtv.js";
3
- import { i as ae } from "./FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-COsbqYTt.js";
4
- import { u as we, P as U, a as qe, _ as Ne, g as Ue } from "./TransferDetails.vue_vue_type_script_setup_true_lang-DVoH2PXF.js";
5
- import { a as ne, d as Fe } from "./number-BrslsQSR.js";
6
- import { i as Me } from "./PremiumBadge.vue_vue_type_script_setup_true_lang-BXsQFkO3.js";
7
- import { d as se } from "./dayjs.min-DZDLiUUR.js";
8
- import { e as Ve } from "./UnitDisplayControl.vue_vue_type_script_setup_true_lang-CVwO5FhL.js";
2
+ import { D as P, u as Ce } from "./app-DX9D1w8l.js";
3
+ import { i as ae } from "./FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-YbLaL8WJ.js";
4
+ import { u as we, P as U, a as qe, _ as Ne, g as Ue } from "./TransferDetails.vue_vue_type_script_setup_true_lang-D1bdw7Bp.js";
5
+ import { a as ne, d as Fe } from "./number-BxmfHF3Y.js";
6
+ import { i as Me } from "./PremiumBadge.vue_vue_type_script_setup_true_lang-DdtF7Ghs.js";
7
+ import { d as se } from "./dayjs.min-3MdjqoXO.js";
8
+ import { e as Ve } from "./UnitDisplayControl.vue_vue_type_script_setup_true_lang-DpPiPLhD.js";
9
9
  import { u as $e } from "./useTabStorage-BkIVScW_.js";
10
10
  import { u as Ae, _ as Ye } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DpwneGOV.js";
11
11
  import { useSnackbar as He, useBreakpoints as ze } from "@feedmepos/ui-library";
12
- import { _ as Ie, a as je, b as Ke } from "./EmailDialog.vue_vue_type_script_setup_true_lang-BLJK4TLU.js";
12
+ import { _ as Ie, a as je, b as Ke } from "./EmailDialog.vue_vue_type_script_setup_true_lang-Bw3cyaZa.js";
13
13
  import { _ as Le, F as T } from "./TableActionableRow.vue_vue_type_script_setup_true_lang-DAMpuZ1X.js";
14
- import { u as Qe } from "./feature-CoiZLX8h.js";
15
- import { _ as Je } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-IVoazKhD.js";
14
+ import { u as Qe } from "./feature-BZyCqcEn.js";
15
+ import { _ as Je } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-wJ_p-Ld5.js";
16
16
  import { useI18n as Xe } from "@feedmepos/mf-common";
17
- import { _ as Ge } from "./CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang--Pl8ahzv.js";
17
+ import { _ as Ge } from "./CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-vZ1jrY-5.js";
18
18
  import { P as We, J as Ze } from "./app-C39bYJmq.js";
19
- import { u as Be } from "./netsuite-PtHEjkyJ.js";
20
- import { f as et } from "./predefined-templates-BhmpuXal.js";
21
- import "./inventory-core-dart.default-I4pnD6mk.js";
19
+ import { u as Be } from "./netsuite-CvV6-vXA.js";
20
+ import { f as et } from "./predefined-templates-5u9eGHKJ.js";
21
+ import "./inventory-core-dart.default-C8gA6YiZ.js";
22
22
  const tt = { class: "flex flex-col py-8" }, rt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, at = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary line-clamp-1" }, nt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-primary line-clamp-1" }, st = {
23
23
  key: 0,
24
24
  class: "fm-typo-en-body-md-400 text-fm-color-typo-primary line-clamp-1"