@feedmepos/mf-inventory-portal 1.7.9-dev.1 → 1.7.9

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 (117) hide show
  1. package/dist/App-wSwzHKiz.js +311 -0
  2. package/dist/{ApprovalView-DpkYimTU.js → ApprovalView-DRT6Qd2e.js} +9 -9
  3. package/dist/{BindingsDialog-9MteMW5_.js → BindingsDialog-CdAUadBI.js} +2 -2
  4. package/dist/{BindingsPicker-C3R1Iaci.js → BindingsPicker-BN_wX0N8.js} +2 -2
  5. package/dist/{BindingsTable-yWS4vjmz.js → BindingsTable-CK6m-C2K.js} +4 -4
  6. package/dist/BulkReceiveRequestView-BXs22T-g.js +2584 -0
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-DrehE0r3.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CFX666Wz.js} +1 -1
  8. package/dist/{ClosingDraftView-BO0eUpk7.js → ClosingDraftView-IffpT50J.js} +19 -19
  9. package/dist/{ClosingHistoryView-1Gu4B0qB.js → ClosingHistoryView-DrI5Qo6C.js} +5 -5
  10. package/dist/{ClosingTemplateView-CvAn5afN.js → ClosingTemplateView-DilRh_vH.js} +16 -16
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-CwWbC1oH.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-Dzaimy8_.js} +1 -1
  12. package/dist/{DefaultView-DeXxhLsq.js → DefaultView-DAud5FWQ.js} +2 -2
  13. package/dist/{DeliveryOrderPrintPreview-Bilzn1WS.js → DeliveryOrderPrintPreview-V-x1xvBl.js} +2 -2
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-C5xp1ceO.js → EmailDialog.vue_vue_type_script_setup_true_lang-KUJLmR7a.js} +5067 -5072
  15. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-DL5i2-tq.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-BStqqCMn.js} +6 -6
  16. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-Bq36-nnH.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BnHM1BX1.js} +2 -2
  17. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-D2l0nTi_.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-BPyrxPpe.js} +2 -2
  18. package/dist/{FmMultiselectDialog-COp24wS3.js → FmMultiselectDialog-BniqAG4j.js} +1 -1
  19. package/dist/{FmMultiselectDialog-CKQ1eFVZ.js → FmMultiselectDialog-C2PspPWe.js} +2 -2
  20. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-CN4ENCPZ.js → FmUnitInput.vue_vue_type_script_setup_true_lang-Bf3SW_Cs.js} +6 -6
  21. package/dist/{ImportView-CB3qjhvy.js → ImportView-DWRmu0QT.js} +6 -6
  22. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-CBxUyjH8.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-DY0kkryN.js} +1 -1
  23. package/dist/{IngredientGroupView-DuY6Gw5V.js → IngredientGroupView-C6VVdwdq.js} +5 -5
  24. package/dist/{IngredientsView-DxzyJE_h.js → IngredientsView-DuEBYiLy.js} +17 -18
  25. package/dist/{IntegrationExplorerView-Ma59NTHM.js → IntegrationExplorerView-DJh7dTAl.js} +4 -4
  26. package/dist/{IntegrationView-SBMEO_e9.js → IntegrationView-DsH2Hs1K.js} +925 -912
  27. package/dist/{InventoryBindingForm-CBFJRVNH.js → InventoryBindingForm-BACENuFH.js} +1 -1
  28. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-BlxNT4bV.js +441 -0
  29. package/dist/{InventoryBindingSummary-c5g-35nq.js → InventoryBindingSummary-BncS50eD.js} +1 -1
  30. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DEtNW2wJ.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-LzXw3Flm.js} +1 -1
  31. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-BInLhmxe.js → PremiumBadge.vue_vue_type_script_setup_true_lang-Dra4APix.js} +1 -1
  32. package/dist/{ProductionView-BlhsrkXW.js → ProductionView-CJ6Oi2ae.js} +7 -7
  33. package/dist/{PublishView-bMEZSiVN.js → PublishView-30yz5vFX.js} +3 -3
  34. package/dist/{PurchaseOrderPrintPreview-HvIFszQX.js → PurchaseOrderPrintPreview-CclxLcCT.js} +2 -2
  35. package/dist/{ReceiveRequestView-jwXYj2Wy.js → ReceiveRequestView-DIQeDhuy.js} +14 -14
  36. package/dist/RecipeView-D8DyqwP-.js +3584 -0
  37. package/dist/{SettingsView-BqELMK6p.js → SettingsView-Bfp1K782.js} +4 -4
  38. package/dist/{StockView-6xDfuSnV.js → StockView-BNqzu1Rt.js} +21 -21
  39. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-CBUZIEA5.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DFI2fuD0.js} +1 -1
  40. package/dist/{SupplierView-BwMl9JFO.js → SupplierView-Bnw_eUE1.js} +12 -12
  41. package/dist/{SurchargeView-AGXGqhxy.js → SurchargeView-B0VoAU4k.js} +6 -6
  42. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-DQSq3UGp.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-Cymvi3zl.js} +2 -2
  43. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-BBUG8N2w.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-DBQx6RAo.js} +1 -1
  44. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-BMrGsD-f.js → TransferDetails.vue_vue_type_script_setup_true_lang-BMpUm52g.js} +20 -20
  45. package/dist/{TransferTemplateView-DJYXlxpw.js → TransferTemplateView-BjfxrwzR.js} +20 -20
  46. package/dist/{UnitCostHistoryView-DRgWgXhB.js → UnitCostHistoryView-C3ffDyKS.js} +4 -4
  47. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-CR8a6DkX.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-VG2ecWER.js} +4 -4
  48. package/dist/{UnitView-mWUCF13E.js → UnitView-BaR_a9Kw.js} +8 -8
  49. package/dist/{WarehouseView-DY4_bxzS.js → WarehouseView-RQjCcteZ.js} +5 -5
  50. package/dist/{WastageTemplateView-D4YFC_zj.js → WastageTemplateView-D4z8zpwb.js} +14 -14
  51. package/dist/api/codemax.d.ts +5 -1
  52. package/dist/api/purchase-order.d.ts +0 -2
  53. package/dist/{app-DCSH6Br7.js → app-CyTU8N3H.js} +18885 -19657
  54. package/dist/app.d.ts +9 -888
  55. package/dist/app.js +1 -1
  56. package/dist/{closing-template-knrmn7Jq.js → closing-template-B2tB7sQC.js} +1 -1
  57. package/dist/{date2-m9Qq52B4.js → date2-DQH6DhKn.js} +5 -5
  58. package/dist/{dayjs.min-BX2fRC46.js → dayjs.min-BOciSc8b.js} +1 -1
  59. package/dist/{decimal-pgdYbjfw.js → decimal-yQvd_IOl.js} +2 -2
  60. package/dist/{defineDeepModel-C5kt7Waa.js → defineDeepModel-DXNMJH2I.js} +1 -1
  61. package/dist/{duplicate-template-B74iiBzz.js → duplicate-template-DO7WYSTm.js} +1 -1
  62. package/dist/{feature-CfkazbcV.js → feature-v0qFoj-w.js} +2 -2
  63. package/dist/{format-time-from-id-C1AIz8rq.js → format-time-from-id-BuBtGQBF.js} +1 -1
  64. package/dist/{format-unit-display-A-G-IaSa.js → format-unit-display-sljdJGi2.js} +27 -27
  65. package/dist/{import-export.helper-Dx6UODpr.js → import-export.helper-B72QRGIw.js} +6 -6
  66. package/dist/{index-uk9CA-G3.js → index-BCGkKprE.js} +33 -27
  67. package/dist/{index-DjKTLy_K.js → index-CU4Kuswf.js} +1 -1
  68. package/dist/{index-CiQiwzTH.js → index-TQcHaMrv.js} +3232 -3306
  69. package/dist/{inventory-core-dart.default-CMAgxo1z.js → inventory-core-dart.default-BgoK1eTS.js} +1 -1
  70. package/dist/{lz-string-DZI7eVks.js → lz-string-BjdS2wyT.js} +1 -1
  71. package/dist/{netsuite-CoajVOCj.js → netsuite-z7vVdCsZ.js} +2 -2
  72. package/dist/{number-qzibfxtV.js → number-CPj4E2k6.js} +3 -3
  73. package/dist/{predefined-templates-Bi2KN0S0.js → predefined-templates-Bhig3JBF.js} +1 -1
  74. package/dist/{purchase-order-template-q60hgvfd.js → purchase-order-template-CNDfnM86.js} +1 -1
  75. package/dist/{recalculationUtils-ThdsSQXA.js → recalculationUtils-CQNmwxc2.js} +1 -1
  76. package/dist/{rules-DkRl1mdI.js → rules-9N5HIcET.js} +2 -2
  77. package/dist/{stock-CDBl371n.js → stock-B7QJYZif.js} +3 -3
  78. package/dist/{stock-CfGnNgNm.js → stock-uZA1to9T.js} +1 -1
  79. package/dist/stores/bulk-job.d.ts +0 -13
  80. package/dist/style.css +1 -1
  81. package/dist/{supplier-m95t74cw.js → supplier-B8DQBfvr.js} +2 -2
  82. package/dist/{surcharge-D0KNDUtM.js → surcharge-DHf5QM_k.js} +8 -8
  83. package/dist/tsconfig.app.tsbuildinfo +1 -1
  84. package/dist/{uom-rules-DoC_viYg.js → uom-rules-IHu3f_dQ.js} +1 -1
  85. package/dist/{use-ingredient-select-dialog-DUDA6jkc.js → use-ingredient-select-dialog-Cd3IeQRi.js} +2 -2
  86. package/dist/{use-inventory-binding-dialog-DyZVwYRw.js → use-inventory-binding-dialog-BG0l9YPD.js} +2 -2
  87. package/dist/{use-template-enabled-locations-DU6ebPLW.js → use-template-enabled-locations-b39RUsFB.js} +2 -2
  88. package/dist/{use-transfer-locations-i4WVdQfZ.js → use-transfer-locations-BPzNKZEi.js} +2 -2
  89. package/dist/{useHrmPermission-D4dofQF9.js → useHrmPermission-BpoNpgJ-.js} +1 -1
  90. package/dist/{useNavigationMenu-BwZoEiX3.js → useNavigationMenu-CaG9YOud.js} +2 -2
  91. package/dist/{useSseClient-vOXEoq_d.js → useSseClient-B2KhM-LZ.js} +1 -1
  92. package/dist/views/ingredients/components/inventory-binding/InventoryBindingForm.vue.d.ts +0 -2
  93. package/dist/views/ingredients/components/inventory-binding/v2/InventoryBindingFormV2.vue.d.ts +0 -2
  94. package/dist/views/ingredients/components/inventory-binding/v2/components/InventoryRecipeBindingV2Field.vue.d.ts +0 -4
  95. package/dist/views/receive-request/components/email-dialog/EmailDialogProps.d.ts +9 -23
  96. package/dist/views/recipe/composables/use-recipe-table.d.ts +0 -11
  97. package/dist/{vue-i18n-CV9ieqUG.js → vue-i18n-DgJpgCMa.js} +501 -501
  98. package/dist/{xlsx.util-CfgV0r9W.js → xlsx.util-Bkd2A_If.js} +2 -2
  99. package/package.json +4 -4
  100. package/dist/App-DEdkuDaS.js +0 -1155
  101. package/dist/BulkReceiveRequestView-MYLE3mXl.js +0 -2646
  102. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-B-nEFGKA.js +0 -563
  103. package/dist/RecipeView-DKd5h85n.js +0 -3625
  104. package/dist/api/changelog.d.ts +0 -64
  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.vue.d.ts +0 -18
  108. package/dist/views/changelog/composables/change-path.d.ts +0 -10
  109. package/dist/views/changelog/composables/commit-message.d.ts +0 -9
  110. package/dist/views/changelog/composables/commit-message.spec.d.ts +0 -1
  111. package/dist/views/changelog/composables/json-line-diff.d.ts +0 -10
  112. package/dist/views/changelog/composables/json-line-diff.spec.d.ts +0 -1
  113. package/dist/views/changelog/composables/use-changelog.d.ts +0 -36
  114. package/dist/views/ingredients/components/inventory-binding/RecipeBindingBreakdown.vue.d.ts +0 -25
  115. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.d.ts +0 -34
  116. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.spec.d.ts +0 -1
  117. 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-B-nEFGKA.js";
1
+ import { _ as f } from "./InventoryBindingForm.vue_vue_type_script_setup_true_lang-BlxNT4bV.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-CyTU8N3H.js";
3
+ import { a as h, c as ae } from "./number-CPj4E2k6.js";
4
+ import { u as ue } from "./use-inventory-binding-dialog-BG0l9YPD.js";
5
+ import { b as $, c as A } from "./rules-9N5HIcET.js";
6
+ import { _ as me, c as ce, d as pe } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-Bf3SW_Cs.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-DCSH6Br7.js";
4
+ import { F as r } from "./app-CyTU8N3H.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-qzibfxtV.js";
2
+ import { c as s } from "./number-CPj4E2k6.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-DCSH6Br7.js";
1
+ import { m as F, u as f } from "./app-CyTU8N3H.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-DwrLsWX_.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-DCSH6Br7.js";
5
- import { _ as Ee } from "./ChangeLocationComponent.vue_vue_type_script_setup_true_lang-DrehE0r3.js";
4
+ import { m as Be, u as be, a as xe } from "./app-CyTU8N3H.js";
5
+ import { _ as Ee } from "./ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CFX666Wz.js";
6
6
  import { useI18n as Ae } from "@feedmepos/mf-common";
7
- import { c as ke } from "./inventory-core-dart.default-CMAgxo1z.js";
8
- import { u as Pe } from "./stock-CDBl371n.js";
9
- import { a as Re } from "./FmMultiselectDialog-CKQ1eFVZ.js";
10
- import { e as qe, _ as Me } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-CN4ENCPZ.js";
11
- import { u as Le } from "./stock-CfGnNgNm.js";
7
+ import { c as ke } from "./inventory-core-dart.default-BgoK1eTS.js";
8
+ import { u as Pe } from "./stock-B7QJYZif.js";
9
+ import { a as Re } from "./FmMultiselectDialog-C2PspPWe.js";
10
+ import { e as qe, _ as Me } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-Bf3SW_Cs.js";
11
+ import { u as Le } from "./stock-uZA1to9T.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-DCSH6Br7.js";
2
+ import { u as E, a as K, x as j } from "./app-CyTU8N3H.js";
3
3
  import { u as G, _ as J } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DwrLsWX_.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-CV9ieqUG.js";
6
- import { b as k } from "./date2-m9Qq52B4.js";
5
+ import { u as X } from "./vue-i18n-DgJpgCMa.js";
6
+ import { a as k } from "./date2-DQH6DhKn.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 { T as y } from "./app-DCSH6Br7.js";
4
- import { L as C } from "./lz-string-DZI7eVks.js";
3
+ import { T as y } from "./app-CyTU8N3H.js";
4
+ import { L as C } from "./lz-string-BjdS2wyT.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" }, T = { class: "address" }, F = { 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-DCSH6Br7.js";
3
- import { i as ae } from "./FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-DL5i2-tq.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-BMrGsD-f.js";
5
- import { a as ne, d as Fe } from "./number-qzibfxtV.js";
6
- import { i as Me } from "./PremiumBadge.vue_vue_type_script_setup_true_lang-BInLhmxe.js";
7
- import { d as se } from "./dayjs.min-BX2fRC46.js";
8
- import { e as Ve } from "./UnitDisplayControl.vue_vue_type_script_setup_true_lang-CR8a6DkX.js";
2
+ import { D as P, u as Ce } from "./app-CyTU8N3H.js";
3
+ import { i as ae } from "./FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-BStqqCMn.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-BMpUm52g.js";
5
+ import { a as ne, d as Fe } from "./number-CPj4E2k6.js";
6
+ import { i as Me } from "./PremiumBadge.vue_vue_type_script_setup_true_lang-Dra4APix.js";
7
+ import { d as se } from "./dayjs.min-BOciSc8b.js";
8
+ import { e as Ve } from "./UnitDisplayControl.vue_vue_type_script_setup_true_lang-VG2ecWER.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-DwrLsWX_.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-C5xp1ceO.js";
12
+ import { _ as Ie, a as je, b as Ke } from "./EmailDialog.vue_vue_type_script_setup_true_lang-KUJLmR7a.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-CfkazbcV.js";
15
- import { _ as Je } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-D2l0nTi_.js";
14
+ import { u as Qe } from "./feature-v0qFoj-w.js";
15
+ import { _ as Je } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-BPyrxPpe.js";
16
16
  import { useI18n as Xe } from "@feedmepos/mf-common";
17
- import { _ as Ge } from "./CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-CwWbC1oH.js";
17
+ import { _ as Ge } from "./CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-Dzaimy8_.js";
18
18
  import { P as We, J as Ze } from "./app-C39bYJmq.js";
19
- import { u as Be } from "./netsuite-CoajVOCj.js";
20
- import { f as et } from "./predefined-templates-Bi2KN0S0.js";
21
- import "./inventory-core-dart.default-CMAgxo1z.js";
19
+ import { u as Be } from "./netsuite-z7vVdCsZ.js";
20
+ import { f as et } from "./predefined-templates-Bhig3JBF.js";
21
+ import "./inventory-core-dart.default-BgoK1eTS.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"