@feedmepos/mf-inventory-portal 1.7.10 → 1.7.11-dev.0

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 (137) hide show
  1. package/dist/App-8RkTRU8A.js +1434 -0
  2. package/dist/{ApprovalView-4CriKmQs.js → ApprovalView-3pDiNOMO.js} +10 -10
  3. package/dist/{BindingsDialog-D5avj8DX.js → BindingsDialog-CEXDujwo.js} +2 -2
  4. package/dist/{BindingsPicker-B2JyOm_w.js → BindingsPicker-UfogQ71P.js} +2 -2
  5. package/dist/{BindingsTable-DJfkWc5P.js → BindingsTable-qxNINfoB.js} +4 -4
  6. package/dist/BulkReceiveRequestView-BOz0aMxF.js +2657 -0
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CRY1w8Uc.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-Dyy-mkOF.js} +1 -1
  8. package/dist/ClosingDraftView-DgLOKZZv.js +4656 -0
  9. package/dist/{ClosingHistoryView-Cy9fcVVb.js → ClosingHistoryView-BMcoewSW.js} +6 -6
  10. package/dist/{ClosingTemplateView-CFrmV6RZ.js → ClosingTemplateView-C85_eRfx.js} +17 -17
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-D_Y4h8g5.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-CIXV7TwL.js} +1 -1
  12. package/dist/{DefaultView-CyhHLBCD.js → DefaultView-BCPdBP97.js} +2 -2
  13. package/dist/{DeliveryOrderPrintPreview-BOzx-kfp.js → DeliveryOrderPrintPreview-DvKOE8bs.js} +8 -8
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-Wvxs_biL.js → EmailDialog.vue_vue_type_script_setup_true_lang-D0XF1ILm.js} +5072 -5067
  15. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-CWmS36Up.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-kTHffgJ0.js} +6 -6
  16. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CNGKBlwp.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-D6T3zCf3.js} +2 -2
  17. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CWqr4ICd.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-NuIzfwdk.js} +3 -3
  18. package/dist/{FmMultiselectDialog-JvuPIzZ9.js → FmMultiselectDialog-CE-n4_oS.js} +1 -1
  19. package/dist/{FmMultiselectDialog-A3tJaEBt.js → FmMultiselectDialog-DAJZwLbn.js} +2 -2
  20. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-FATEPxnN.js → FmUnitInput.vue_vue_type_script_setup_true_lang-BKfT_BMX.js} +6 -6
  21. package/dist/{ImportView-Jok6zpZ0.js → ImportView-CGgk98bu.js} +499 -496
  22. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-CxxVwj29.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-D19a-cBS.js} +1 -1
  23. package/dist/{IngredientGroupView-BB6OBLUK.js → IngredientGroupView-CQ-spqfv.js} +6 -6
  24. package/dist/{IngredientsView-DcGhQPOm.js → IngredientsView-BDuPrYSY.js} +19 -18
  25. package/dist/{IntegrationExplorerView-D8GhmHTT.js → IntegrationExplorerView-DXMTYLFQ.js} +5 -5
  26. package/dist/{IntegrationView-QMy0h7t-.js → IntegrationView-B6qaoyfJ.js} +15 -15
  27. package/dist/{InventoryBindingForm-CKvocLMW.js → InventoryBindingForm-Cj5DSxr7.js} +1 -1
  28. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-Bj4R7KQF.js +563 -0
  29. package/dist/{InventoryBindingSummary-C8eGVfFI.js → InventoryBindingSummary-DTdjcASy.js} +1 -1
  30. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-BplA_VhH.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-L_Mk0z6y.js} +1 -1
  31. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-BkvJ-zUb.js → PremiumBadge.vue_vue_type_script_setup_true_lang-BnjSVqIF.js} +1 -1
  32. package/dist/{ProductionView-DumThbF9.js → ProductionView-W2-oSNQn.js} +8 -8
  33. package/dist/{PublishView-Dz2d8J5W.js → PublishView-DEX148S9.js} +4 -4
  34. package/dist/{PurchaseOrderPrintPreview-BWuFnitC.js → PurchaseOrderPrintPreview-DN8TnmIP.js} +5 -5
  35. package/dist/{ReceiveRequestView-D3RFPv1X.js → ReceiveRequestView-C3ExFs2T.js} +15 -15
  36. package/dist/RecipeView-BYeKfM6_.js +3625 -0
  37. package/dist/{SettingsView-D7N5tJ1d.js → SettingsView-Bv0BdRhB.js} +5 -5
  38. package/dist/{SingleColumnLayout.vue_vue_type_script_setup_true_lang-DwrLsWX_.js → SingleColumnLayout.vue_vue_type_script_setup_true_lang-DpwneGOV.js} +39 -37
  39. package/dist/{StockView-Du9YBbV4.js → StockView-Cx2I8wc7.js} +22 -22
  40. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-Oj_EIBiV.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-D3AxBfTX.js} +1 -1
  41. package/dist/{SupplierView-C3g_atPq.js → SupplierView-n8tQo7GX.js} +13 -13
  42. package/dist/{SurchargeView-uumxAdLb.js → SurchargeView-BSq_i2LS.js} +7 -7
  43. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-DjpAimFP.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-DrVYEbqs.js} +2 -2
  44. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-BrDA6x40.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-DHbTvUSw.js} +1 -1
  45. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-DoeW6SAT.js → TransferDetails.vue_vue_type_script_setup_true_lang-AZjFZAHD.js} +1648 -1584
  46. package/dist/{TransferTemplateView-DLTlaG0Q.js → TransferTemplateView-D29atWbe.js} +21 -21
  47. package/dist/{UnitCostHistoryView-D7lguCzD.js → UnitCostHistoryView-Bc75dnSv.js} +5 -5
  48. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-B1ULmOk_.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-BL-N9tyu.js} +4 -4
  49. package/dist/{UnitView-CiWarwFw.js → UnitView-CP452QJB.js} +9 -9
  50. package/dist/{WarehouseView-D_viW3um.js → WarehouseView-hAFZ3OgC.js} +6 -6
  51. package/dist/{WastageTemplateView-BsGkTDVl.js → WastageTemplateView-BHoD95B4.js} +15 -15
  52. package/dist/api/changelog.d.ts +132 -0
  53. package/dist/api/purchase-order.d.ts +2 -0
  54. package/dist/{app-CmK8hghR.js → app-DMuIqNOV.js} +22057 -21089
  55. package/dist/app.d.ts +906 -15
  56. package/dist/app.js +1 -1
  57. package/dist/{closing-template-DgGSyate.js → closing-template-vfraoomZ.js} +1 -1
  58. package/dist/{date2-CQePW31N.js → date2-nHWr0vbq.js} +5 -5
  59. package/dist/{dayjs.min-lHU_s16T.js → dayjs.min-CWDZGPnC.js} +5 -5
  60. package/dist/{decimal-Q-0yK4sD.js → decimal-BRpZx0Ku.js} +2 -2
  61. package/dist/{defineDeepModel-DTWu03v1.js → defineDeepModel-Cpd1mYyq.js} +1 -1
  62. package/dist/{duplicate-template-BVN2zmVh.js → duplicate-template-D0SC2p3z.js} +1 -1
  63. package/dist/{feature-DskgoIu-.js → feature-_LWb4rW0.js} +2 -2
  64. package/dist/{format-time-from-id-DFIRpxdl.js → format-time-from-id-Dl3MwzI7.js} +1 -1
  65. package/dist/{format-unit-display-DnU4JEjD.js → format-unit-display-DWI0rLun.js} +27 -27
  66. package/dist/{import-export.helper-D7rPvGnr.js → import-export.helper-B0Y6WK3R.js} +6 -6
  67. package/dist/{index-CzKCjhD3.js → index-7XQuT32d.js} +1 -1
  68. package/dist/{index-Ck0KnOaw.js → index-BSnZJjFV.js} +3 -3
  69. package/dist/{index-N5G5c2tx.js → index-BpvlLCUv.js} +3306 -3232
  70. package/dist/{inventory-core-dart.default-B_ynwM9E.js → inventory-core-dart.default-DGcUQGOR.js} +1 -1
  71. package/dist/layout/SingleColumnLayout.vue.d.ts +1 -0
  72. package/dist/{lz-string-Dqta9kLv.js → lz-string-Lbge8hci.js} +1 -1
  73. package/dist/{netsuite-C6tsULzY.js → netsuite-CFXLrvd1.js} +3 -2
  74. package/dist/{number-B_a5obOf.js → number-B7y_oaIm.js} +3 -3
  75. package/dist/{predefined-templates-DQRYYpsy.js → predefined-templates-SX1B-fCF.js} +1 -1
  76. package/dist/{purchase-order-template-C85h_67x.js → purchase-order-template-qKmMGW-y.js} +1 -1
  77. package/dist/{recalculationUtils-B4_UwPtC.js → recalculationUtils-DdG6rZr1.js} +1 -1
  78. package/dist/{rules-CepJg59P.js → rules-DRizXY3Q.js} +2 -2
  79. package/dist/{stock-CXK2UPZu.js → stock-BAMK_7xp.js} +1 -1
  80. package/dist/{stock-Cz3EmZVG.js → stock-CAlt5MDT.js} +3 -3
  81. package/dist/stores/bulk-job.d.ts +13 -0
  82. package/dist/stores/inventory.d.ts +11 -2
  83. package/dist/style.css +1 -1
  84. package/dist/{supplier-CeTkaUn4.js → supplier-B34rnmVy.js} +2 -2
  85. package/dist/{surcharge-CZZH4mHP.js → surcharge-CMBDRIiD.js} +8 -8
  86. package/dist/tsconfig.app.tsbuildinfo +1 -1
  87. package/dist/{uom-rules-T1KgfW3u.js → uom-rules-DE4OV7iK.js} +1 -1
  88. package/dist/{use-ingredient-select-dialog-BwIL8Qbe.js → use-ingredient-select-dialog-4yUGH4g0.js} +2 -2
  89. package/dist/{use-inventory-binding-dialog-D41PpdND.js → use-inventory-binding-dialog-CY42PPSW.js} +2 -2
  90. package/dist/{use-template-enabled-locations-BMX79cCz.js → use-template-enabled-locations-BhYnNMZ_.js} +2 -2
  91. package/dist/{use-transfer-locations-DXULS6Qy.js → use-transfer-locations-agCdJKE0.js} +2 -2
  92. package/dist/{useHrmPermission-Cbo_q33w.js → useHrmPermission-BQxDr0db.js} +1 -1
  93. package/dist/{useNavigationMenu-DrDBMCyh.js → useNavigationMenu-Cm5dPWI-.js} +2 -2
  94. package/dist/{useSseClient-BBQaDkMe.js → useSseClient-DkX7GX1_.js} +1 -1
  95. package/dist/views/changelog/components/ChangelogDialog.vue.d.ts +19 -0
  96. package/dist/views/changelog/components/ChangelogFloatingButton.vue.d.ts +2 -0
  97. package/dist/views/changelog/components/ChangelogPanel.spec.d.ts +1 -0
  98. package/dist/views/changelog/components/ChangelogPanel.vue.d.ts +20 -0
  99. package/dist/views/changelog/composables/change-path.d.ts +10 -0
  100. package/dist/views/changelog/composables/commit-message.d.ts +9 -0
  101. package/dist/views/changelog/composables/commit-message.spec.d.ts +1 -0
  102. package/dist/views/changelog/composables/json-line-diff.d.ts +10 -0
  103. package/dist/views/changelog/composables/json-line-diff.spec.d.ts +1 -0
  104. package/dist/views/changelog/composables/use-changelog.d.ts +90 -0
  105. package/dist/views/changelog/composables/use-changelog.spec.d.ts +1 -0
  106. package/dist/views/changelog/composables/use-inventory-record-commits.d.ts +97 -0
  107. package/dist/views/changelog/composables/use-inventory-record-commits.spec.d.ts +1 -0
  108. package/dist/views/changelog/composables/use-snapshot-diff.d.ts +29 -0
  109. package/dist/views/changelog/composables/use-snapshot-diff.spec.d.ts +1 -0
  110. package/dist/views/changelog/composables/value-tree.d.ts +14 -0
  111. package/dist/views/changelog/composables/value-tree.spec.d.ts +1 -0
  112. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftOutdatedApproveWarning.spec.d.ts +1 -0
  113. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftOutdatedApproveWarning.vue.d.ts +24 -0
  114. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftSkuCell.spec.d.ts +1 -0
  115. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftSkuCell.vue.d.ts +23 -0
  116. package/dist/views/closing-draft/components/closing-draft-dialog/closing-draft-bridge.d.ts +4 -0
  117. package/dist/views/closing-draft/components/closing-draft-dialog/use-outdated-draft-items.d.ts +10 -0
  118. package/dist/views/closing-draft/components/closing-draft-dialog/use-outdated-draft-items.spec.d.ts +1 -0
  119. package/dist/views/import/helper/submit-rows.d.ts +13 -0
  120. package/dist/views/import/helper/submit-rows.spec.d.ts +1 -0
  121. package/dist/views/ingredients/components/inventory-binding/InventoryBindingForm.vue.d.ts +2 -0
  122. package/dist/views/ingredients/components/inventory-binding/RecipeBindingBreakdown.vue.d.ts +25 -0
  123. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.d.ts +34 -0
  124. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.spec.d.ts +1 -0
  125. package/dist/views/ingredients/components/inventory-binding/v2/InventoryBindingFormV2.vue.d.ts +2 -0
  126. package/dist/views/ingredients/components/inventory-binding/v2/components/InventoryRecipeBindingV2Field.vue.d.ts +4 -0
  127. package/dist/views/receive-request/components/email-dialog/EmailDialog.spec.d.ts +1 -0
  128. package/dist/views/receive-request/components/email-dialog/EmailDialogProps.d.ts +23 -9
  129. package/dist/views/recipe/composables/use-recipe-table.d.ts +11 -0
  130. package/dist/{vue-i18n-AIAscLzr.js → vue-i18n-CsKZo5u4.js} +271 -271
  131. package/dist/{xlsx.util-Bws7po4u.js → xlsx.util-Cy5DyLlu.js} +2 -2
  132. package/package.json +5 -3
  133. package/dist/App-CT5mXYl4.js +0 -311
  134. package/dist/BulkReceiveRequestView-C4r4B2n6.js +0 -2595
  135. package/dist/ClosingDraftView-C_JJDMNJ.js +0 -4496
  136. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-GcuRE825.js +0 -441
  137. package/dist/RecipeView-8KT5mjQG.js +0 -3584
@@ -1,441 +0,0 @@
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-CmK8hghR.js";
3
- import { a as h, c as ae } from "./number-B_a5obOf.js";
4
- import { u as ue } from "./use-inventory-binding-dialog-D41PpdND.js";
5
- import { b as $, c as A } from "./rules-CepJg59P.js";
6
- import { _ as me, c as ce, d as pe } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-FATEPxnN.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
- };