@feedmepos/mf-inventory-portal 1.8.2 → 1.8.4

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 (107) hide show
  1. package/dist/{App-inZSGILI.js → App-D3M5J845.js} +500 -499
  2. package/dist/{ApprovalView-STzBhbF7.js → ApprovalView-f1BK8mpC.js} +9 -9
  3. package/dist/{BindingsDialog-DNGhoaax.js → BindingsDialog-BjtsiCpT.js} +2 -2
  4. package/dist/{BindingsPicker-B2JyJsYZ.js → BindingsPicker-B_KzuI5J.js} +2 -2
  5. package/dist/{BindingsTable-DC5b1Psj.js → BindingsTable-CJxrpwtE.js} +4 -4
  6. package/dist/{BulkReceiveRequestPage-DOCAhkVS.js → BulkReceiveRequestPage-BfP0QjXJ.js} +21 -21
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-BdtFSZnX.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-D3Fn65ik.js} +1 -1
  8. package/dist/{ClosingDraftView-Cm_slHt4.js → ClosingDraftView-CQ8mv1h0.js} +19 -19
  9. package/dist/{ClosingHistoryView-1EWta4_9.js → ClosingHistoryView-Cmk_O4OM.js} +7 -7
  10. package/dist/{ClosingTemplateView-B0ccD7-j.js → ClosingTemplateView-rRr7vaZP.js} +18 -18
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-CNVhKNUd.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-B2OZUWOp.js} +1 -1
  12. package/dist/{DefaultView-DWeyIHi_.js → DefaultView-BJT1dsVn.js} +2 -2
  13. package/dist/{DeliveryOrderPrintPreview-DNIvtuZt.js → DeliveryOrderPrintPreview-BlnEGw2s.js} +2 -2
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-CAEf3irc.js → EmailDialog.vue_vue_type_script_setup_true_lang-CnE74SRb.js} +6008 -6008
  15. package/dist/{FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-C-hjrYMV.js → FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-BQT2DRDZ.js} +1 -1
  16. package/dist/{FeatureCapabilityGate-ByVkWoR_.js → FeatureCapabilityGate-CLeBUPqJ.js} +2 -2
  17. package/dist/{FeaturePageGate.vue_vue_type_script_setup_true_lang-B1_zFifk.js → FeaturePageGate.vue_vue_type_script_setup_true_lang-BnvtvPyE.js} +1 -1
  18. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-BgWSlJwh.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-B3eFlWTV.js} +1 -1
  19. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-y_iF_8AX.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DTm9kWpO.js} +2 -2
  20. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-D53aH0aj.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CPZ7Z248.js} +28 -24
  21. package/dist/{FmMultiselectDialog-C4Gj_aUx.js → FmMultiselectDialog-C37sP7aE.js} +2 -2
  22. package/dist/{FmMultiselectDialog-CHS9T1rW.js → FmMultiselectDialog-Yc7ZTx9Z.js} +2 -2
  23. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-CD-IC4OA.js → FmUnitInput.vue_vue_type_script_setup_true_lang-RmUksUgh.js} +5 -5
  24. package/dist/{ImportView-79uwjQ_T.js → ImportView-DDu0ag6F.js} +7 -7
  25. package/dist/{IngredientsView-BEJii1uc.js → IngredientsView-DArSp8dy.js} +15 -15
  26. package/dist/{IntegrationExplorerView-D36uuSha.js → IntegrationExplorerView-DdMBfH_l.js} +6 -6
  27. package/dist/{IntegrationPlatformView-Cjy6bRju.js → IntegrationPlatformView-C9vcRSDu.js} +2 -2
  28. package/dist/{IntegrationView-CxxkO5kF.js → IntegrationView-DFttYsUc.js} +15 -15
  29. package/dist/{InventoryBindingForm-BUOyy4PC.js → InventoryBindingForm-CJ9U4imu.js} +1 -1
  30. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-D54A7vK_.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-Bbnlturc.js} +4 -4
  31. package/dist/{InventoryBindingSummary-B60fYDV4.js → InventoryBindingSummary-CdwGTwzO.js} +1 -1
  32. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DFCPnsum.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CxZ4mv8O.js} +2 -2
  33. package/dist/{ProductionRunDetailPage-DoJlY1Ea.js → ProductionRunDetailPage-N_EVrGwH.js} +4 -4
  34. package/dist/{ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-Cb7_AAJt.js → ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-DeqmU9US.js} +8 -8
  35. package/dist/{ProductionRunPage-D3imvpXH.js → ProductionRunPage-nyZZBkx9.js} +4 -4
  36. package/dist/PublishView-BsBlV0j0.js +282 -0
  37. package/dist/{PurchaseOrderPrintPreview-C2iDY7vR.js → PurchaseOrderPrintPreview-De9eWd1h.js} +2 -2
  38. package/dist/{ReceiveRequestView-DFIvBDab.js → ReceiveRequestView-CYT6KbOW.js} +13 -13
  39. package/dist/{RecipeView-tmBGDvX5.js → RecipeView-BVKdwnM_.js} +16 -16
  40. package/dist/{SettingsView-BxHLMLKl.js → SettingsView-6M7pbJc6.js} +7 -7
  41. package/dist/{StockView-CArMPI1D.js → StockView-YCu3uOOW.js} +21 -21
  42. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-B9sfEoNM.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DiRMH87t.js} +1 -1
  43. package/dist/{SupplierView-Blr_X4i4.js → SupplierView-_UIsXD47.js} +13 -13
  44. package/dist/{SurchargeView-q1yhY1oY.js → SurchargeView-DnAiHhHU.js} +7 -7
  45. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-BTo5_xn3.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-UwCJBrQq.js} +2 -2
  46. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CRlUiePl.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-BTNoBbtC.js} +1 -1
  47. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-BD9f6DVL.js +4970 -0
  48. package/dist/{TransferTemplateView-mYeXG-bN.js → TransferTemplateView-d9y3CmK-.js} +19 -19
  49. package/dist/{UnitCostHistoryView-BdokT9j3.js → UnitCostHistoryView-BAIpfIuw.js} +4 -4
  50. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-Dk_V6cfz.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-CWCEKyKA.js} +4 -4
  51. package/dist/{UnitView-Dn7y7c8y.js → UnitView-CWgQicXl.js} +7 -7
  52. package/dist/{WarehouseView-DkD0AMFa.js → WarehouseView-BsdG-jOn.js} +8 -8
  53. package/dist/{WastageTemplateView-CgLTuqSn.js → WastageTemplateView-BVhlP3DF.js} +15 -15
  54. package/dist/api/inventory.d.ts +22 -91
  55. package/dist/{app-DEDl7U52.js → app-Cr4FH31I.js} +3061 -3107
  56. package/dist/app.js +1 -1
  57. package/dist/{bulk-edit-simulation.helper-4SDsJjn-.js → bulk-edit-simulation.helper-CeuYrSMh.js} +2 -2
  58. package/dist/{closing-template-Bjup5FCS.js → closing-template-B9YjdhAy.js} +1 -1
  59. package/dist/components/FmInventoryTableToolbar.vue.d.ts +7 -0
  60. package/dist/{date2-Dk20uwtf.js → date2-CZc69BPC.js} +1 -1
  61. package/dist/{dayjs.min-oX50J0DH.js → dayjs.min-D_sstd4K.js} +1 -1
  62. package/dist/{decimal-v-odzABK.js → decimal-B73MjfBV.js} +2 -2
  63. package/dist/{defineDeepModel-IyD7GQIK.js → defineDeepModel-Cr9Mxz3r.js} +1 -1
  64. package/dist/{duplicate-template-BM_cVVXW.js → duplicate-template-BKLjvmaG.js} +1 -1
  65. package/dist/{feature-CueVnu9M.js → feature-CHV9ib4X.js} +2 -2
  66. package/dist/feature-flags/plan-tier.d.ts +0 -2
  67. package/dist/{format-time-from-id-CqV2fWas.js → format-time-from-id-C32aqqOJ.js} +1 -1
  68. package/dist/{format-unit-display-BRjd-dPg.js → format-unit-display-BgX8_jlj.js} +12 -12
  69. package/dist/{id-to-date-BhL3iWOY.js → id-to-date-CuavaAWQ.js} +1 -1
  70. package/dist/{import-export.helper-B45dByWv.js → import-export.helper-Ba2ZYDaH.js} +5 -5
  71. package/dist/{index-BeRwX80L.js → index-CAdYKEjA.js} +3 -3
  72. package/dist/{index-DU7zB5F4.js → index-D--FMOWQ.js} +1 -1
  73. package/dist/{index-BMrFNZzX.js → index-v6FKDpSE.js} +1 -1
  74. package/dist/{lz-string-8ndgpMge.js → lz-string-CExC3CZT.js} +1 -1
  75. package/dist/{netsuite-C9IQHbuv.js → netsuite-CbopA1V4.js} +2 -2
  76. package/dist/{netsuite-explorer-Dyvhkn4W.js → netsuite-explorer-DdtTx8AU.js} +1 -1
  77. package/dist/{predefined-templates-BpA67UsF.js → predefined-templates-PRFjqFoC.js} +1 -1
  78. package/dist/publish-versions-C-jpOfWT.js +87 -0
  79. package/dist/{purchase-order-template-Cz_vJs6G.js → purchase-order-template-zWo_CaUn.js} +1 -1
  80. package/dist/{recalculationUtils-BlBf-Zzl.js → recalculationUtils-CkuZGzDC.js} +1 -1
  81. package/dist/{row-action.enum-B4hLVB0n.js → row-action.enum-CzufCsIq.js} +1 -1
  82. package/dist/{rules-D1yABcU-.js → rules-BhBZpeQP.js} +3 -3
  83. package/dist/{stock-BZYEx2W6.js → stock-CW2zgozi.js} +2 -2
  84. package/dist/{stock-BYQeM6PC.js → stock-kaZI0jf0.js} +1 -1
  85. package/dist/stores/location.d.ts +0 -289
  86. package/dist/stores/publish-versions.d.ts +19 -0
  87. package/dist/stores/publish-versions.spec.d.ts +1 -0
  88. package/dist/{supplier-Bf-GKwqQ.js → supplier-DYsrLNHc.js} +2 -2
  89. package/dist/{surcharge-CgOySVXw.js → surcharge-BRzLOLyb.js} +1 -1
  90. package/dist/tsconfig.app.tsbuildinfo +1 -1
  91. package/dist/{uom-rules-MY96On4N.js → uom-rules-DOz-xiFN.js} +1 -1
  92. package/dist/{use-ingredient-select-dialog-C-6U8HZg.js → use-ingredient-select-dialog-DNUd9OGH.js} +2 -2
  93. package/dist/{use-inventory-binding-dialog-n47g88p1.js → use-inventory-binding-dialog-DK2M2jDk.js} +2 -2
  94. package/dist/{use-template-enabled-locations-BH4BNVrW.js → use-template-enabled-locations-9Fo5BhRb.js} +2 -2
  95. package/dist/{use-transfer-locations-BmSGdFzy.js → use-transfer-locations-7M4exW0U.js} +2 -2
  96. package/dist/{useHrmPermission-CUvMFQJw.js → useHrmPermission-Dqa4xP7d.js} +1 -1
  97. package/dist/{useNavigationMenu-n5qDCC-B.js → useNavigationMenu-DI-G8F0Q.js} +85 -65
  98. package/dist/{useSseClient-C7m0H8uC.js → useSseClient-D6dKoOA9.js} +1 -1
  99. package/dist/views/publish/PublishView.spec.d.ts +1 -0
  100. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-total-cost.d.ts +24 -0
  101. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-total-cost.spec.d.ts +1 -0
  102. package/dist/{vue-CZOq57to.js → vue-bLpl291d.js} +2 -2
  103. package/dist/{vue-i18n-CaPghuy6.js → vue-i18n-CU2O2Cv9.js} +168 -168
  104. package/dist/{xlsx.util-BZ5NcssA.js → xlsx.util-CWQ2jI6U.js} +2 -2
  105. package/package.json +3 -3
  106. package/dist/PublishView-D5K3D8An.js +0 -213
  107. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-D8F68NOi.js +0 -4953
@@ -1,5 +1,5 @@
1
1
  import { computed as o } from "vue";
2
- import { u } from "./netsuite-C9IQHbuv.js";
2
+ import { u } from "./netsuite-CbopA1V4.js";
3
3
  function i(e) {
4
4
  const t = (n) => !!n && n.toLocaleLowerCase().includes("inactive");
5
5
  return t(e.name) || t(e.abbrev);
@@ -1,6 +1,6 @@
1
1
  import { defineStore as S } from "pinia";
2
- import { a as b } from "./app-DEDl7U52.js";
3
- import { a as A } from "./FmMultiselectDialog-C4Gj_aUx.js";
2
+ import { a as b } from "./app-Cr4FH31I.js";
3
+ import { a as A } from "./FmMultiselectDialog-C37sP7aE.js";
4
4
  import { useDialog as I } from "@feedmepos/ui-library";
5
5
  import { useI18n as D } from "@feedmepos/mf-common";
6
6
  const w = S(
@@ -1,5 +1,5 @@
1
- import { a as y } from "./FmMultiselectDialog-C4Gj_aUx.js";
2
- import { a as S } from "./app-DEDl7U52.js";
1
+ import { a as y } from "./FmMultiselectDialog-C37sP7aE.js";
2
+ import { a as S } from "./app-Cr4FH31I.js";
3
3
  import { useDialog as E } from "@feedmepos/ui-library";
4
4
  function w() {
5
5
  const c = S(), g = E();
@@ -1,5 +1,5 @@
1
- import { a as A } from "./FmMultiselectDialog-C4Gj_aUx.js";
2
- import { u as S } from "./app-DEDl7U52.js";
1
+ import { a as A } from "./FmMultiselectDialog-C37sP7aE.js";
2
+ import { u as S } from "./app-Cr4FH31I.js";
3
3
  import { useI18n as w, useCoreStore as i, useCustomAttributes as _ } from "@feedmepos/mf-common";
4
4
  import { useDialog as C, components as p } from "@feedmepos/ui-library";
5
5
  import { computed as r, h as c } from "vue";
@@ -1,5 +1,5 @@
1
- import { u as g, r as l, a1 as w, a4 as R } from "./app-DEDl7U52.js";
2
- import { u as E } from "./supplier-Bf-GKwqQ.js";
1
+ import { u as g, r as l, a1 as w, a4 as R } from "./app-Cr4FH31I.js";
2
+ import { u as E } from "./supplier-DYsrLNHc.js";
3
3
  import { computed as u } from "vue";
4
4
  function d(n) {
5
5
  const c = R.safeParse(n);
@@ -1,5 +1,5 @@
1
1
  import { computed as p, toValue as o } from "vue";
2
- import { ad as n } from "./app-DEDl7U52.js";
2
+ import { ad as n } from "./app-Cr4FH31I.js";
3
3
  import { useCoreStore as c } from "@feedmepos/mf-common";
4
4
  function g(t, i = "all") {
5
5
  const m = c();
@@ -1,10 +1,12 @@
1
- import { computed as R, h as P } from "vue";
2
- import { R as e, ae as O, af as A, ad as U } from "./app-DEDl7U52.js";
3
- import { useCoreStore as b, useI18n as L } from "@feedmepos/mf-common";
4
- import { u as y, I as E, e as v } from "./feature-CueVnu9M.js";
5
- import { e as G, g, d as M, f as F, i as H } from "./vue-CZOq57to.js";
6
- import { _ as K } from "./FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-C-hjrYMV.js";
7
- const h = [
1
+ import { computed as T, h as R } from "vue";
2
+ import { components as U } from "@feedmepos/ui-library";
3
+ import { R as e, a as y, ae as L, af as G, ad as M } from "./app-Cr4FH31I.js";
4
+ import { useCoreStore as F, useI18n as H } from "@feedmepos/mf-common";
5
+ import { u as K } from "./publish-versions-C-jpOfWT.js";
6
+ import { u as k, I as E, e as f } from "./feature-CHV9ib4X.js";
7
+ import { e as V, g as _, d as B, f as D, i as w } from "./vue-bLpl291d.js";
8
+ import { _ as W } from "./FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-BQT2DRDZ.js";
9
+ const P = [
8
10
  {
9
11
  route: e.STOCK,
10
12
  module: "Stock",
@@ -140,80 +142,96 @@ const h = [
140
142
  tier: "standard",
141
143
  description: "Inspect and manage integration records and synchronization."
142
144
  }
143
- ], k = Object.fromEntries(
144
- h.map((o) => {
145
- var u;
146
- const s = g(o.featureKey ?? "");
145
+ ], Q = Object.fromEntries(
146
+ P.map((o) => {
147
+ var d;
148
+ const s = _(o.featureKey ?? "");
147
149
  return [
148
150
  o.route,
149
- M({
151
+ B({
150
152
  key: o.route,
151
153
  minimumTier: o.tier,
152
- release: o.release ?? ((u = s == null ? void 0 : s.definition) == null ? void 0 : u.release),
154
+ release: o.release ?? ((d = s == null ? void 0 : s.definition) == null ? void 0 : d.release),
153
155
  flagKeys: s == null ? void 0 : s.flagKeys
154
156
  })
155
157
  ];
156
158
  })
157
159
  );
158
- function B(o) {
159
- return h.find((s) => s.route === o) ?? null;
160
+ function Y(o) {
161
+ return P.find((s) => s.route === o) ?? null;
160
162
  }
161
- function D(o) {
162
- return o ? k[o] ?? null : null;
163
+ function x(o) {
164
+ return o ? Q[o] ?? null : null;
163
165
  }
164
- function x(o, s) {
165
- const u = D(o);
166
- return u ? G(u, s) : { enabled: !0, disabled: !1, stage: "ga", eligible: !0 };
166
+ function re(o, s) {
167
+ const d = x(o);
168
+ return d ? V(d, s) : { enabled: !0, disabled: !1, stage: "ga", eligible: !0 };
167
169
  }
168
- const V = A.reduce(
170
+ const j = G.reduce(
169
171
  (o, s) => {
170
- var u;
171
- return s.name && (o[s.name] = (u = s.meta) == null ? void 0 : u.validationManifest), o;
172
+ var d;
173
+ return s.name && (o[s.name] = (d = s.meta) == null ? void 0 : d.validationManifest), o;
172
174
  },
173
175
  {}
174
176
  );
175
- function z() {
176
- const o = b(), s = y(), { t: u } = L(), a = (t) => O(t, u), _ = R(
177
+ function ae() {
178
+ const o = F(), s = k(), d = y(), I = K(), { t: p } = H(), a = (r) => L(r, p), C = T(
177
179
  () => {
178
- var t;
179
- return ((t = o.sessionUser.value) == null ? void 0 : t.permissions) ?? [];
180
+ var r;
181
+ return ((r = o.sessionUser.value) == null ? void 0 : r.permissions) ?? [];
180
182
  }
181
- ), f = (t = []) => t.length === 0 ? !0 : U(t, _.value).granted, n = (t) => {
182
- const r = V[t];
183
- return f(r == null ? void 0 : r.requiredCaslPermissions);
184
- }, c = (t) => {
185
- var r;
186
- return ((r = s.flags.find((d) => d.name === t)) == null ? void 0 : r.beta) !== !1 && !s.isFlagOn(t);
187
- }, m = (t) => t.filter((r) => !r.hide).map((r) => r.children ? { ...r, children: m(r.children) } : r).filter((r) => !r.children || r.children.length > 0), I = (t) => t.map((r) => {
188
- const { hide: d, children: i, ...l } = r, T = { ...l };
189
- return i && (T.children = I(i)), T;
190
- }), p = (t) => t.map((r) => {
191
- const d = r.value, i = B(d), l = g((i == null ? void 0 : i.featureKey) ?? ""), T = l == null ? void 0 : l.category, C = i && (i.tier === "premium" || T === "beta" || l != null && l.deprecateSoon) ? () => P(K, {
183
+ ), N = (r = []) => r.length === 0 ? !0 : M(r, C.value).granted, n = (r) => {
184
+ const t = j[r];
185
+ return N(t == null ? void 0 : t.requiredCaslPermissions);
186
+ }, c = (r) => {
187
+ var t;
188
+ return ((t = s.flags.find((l) => l.name === r)) == null ? void 0 : t.beta) !== !1 && !s.isFlagOn(r);
189
+ }, S = (r) => r.filter((t) => !t.hide).map((t) => t.children ? { ...t, children: S(t.children) } : t).filter((t) => !t.children || t.children.length > 0), g = (r) => r.map((t) => {
190
+ const { hide: l, children: i, ...u } = t, m = { ...u };
191
+ return i && (m.children = g(i)), m;
192
+ }), v = (r) => r.map((t) => {
193
+ const l = t.value, i = Y(l), u = _((i == null ? void 0 : i.featureKey) ?? ""), m = u == null ? void 0 : u.category, A = i && (i.tier === "premium" || m === "beta" || u != null && u.deprecateSoon) ? () => R(W, {
192
194
  tier: i.tier,
193
- category: T,
194
- deprecateSoon: l == null ? void 0 : l.deprecateSoon,
195
+ category: m,
196
+ deprecateSoon: u == null ? void 0 : u.deprecateSoon,
195
197
  featureKey: i.featureKey
196
198
  }) : void 0;
197
199
  return {
198
- ...r,
199
- badge: C,
200
- children: r.children ? p(r.children) : void 0
200
+ ...t,
201
+ badge: A,
202
+ children: t.children ? v(t.children) : void 0
201
203
  };
202
- }), S = R(() => {
203
- var d;
204
- const t = [
204
+ }), O = (r) => r.map((t) => {
205
+ if (t.value !== e.PUBLISH) return t;
206
+ if (I.loadingAll)
207
+ return { ...t, badge: () => R(U.FmCircularProgress, { size: "md" }) };
208
+ const l = I.outdatedCount(d.state.inventory.updatedAt);
209
+ return l > 0 ? {
210
+ ...t,
211
+ badge: () => R(
212
+ "span",
213
+ {
214
+ title: `${l} locations outdated`,
215
+ class: "inline-flex items-center justify-center min-w-[20px] h-[20px] px-[6px] rounded-full bg-fm-color-system-warning-400 text-white fm-typo-en-body-sm-600"
216
+ },
217
+ l > 99 ? "99+" : String(l)
218
+ )
219
+ } : t;
220
+ }), h = T(() => {
221
+ var l;
222
+ const r = [
205
223
  {
206
224
  label: a(e.STOCK),
207
225
  children: [
208
226
  {
209
- label: u("inventory.stock.stock_balance.title"),
227
+ label: p("inventory.stock.stock_balance.title"),
210
228
  value: e.STOCK,
211
229
  hide: !n(e.STOCK)
212
230
  },
213
231
  {
214
232
  label: a(e.PRODUCTION_RUN),
215
233
  value: e.PRODUCTION_RUN,
216
- hide: !n(e.PRODUCTION_RUN) || F("production-runs").disabled
234
+ hide: !n(e.PRODUCTION_RUN) || D("production-runs").disabled
217
235
  },
218
236
  {
219
237
  label: a(e.WASTAGE_TEMPLATE),
@@ -223,12 +241,12 @@ function z() {
223
241
  {
224
242
  label: a(e.UNIT_COST_HISTORY),
225
243
  value: e.UNIT_COST_HISTORY,
226
- hide: !n(e.UNIT_COST_HISTORY) || s.isModuleBeta(v.Costing) && !s.isModuleEnabled(v.Costing)
244
+ hide: !n(e.UNIT_COST_HISTORY) || s.isModuleBeta(f.Costing) && !s.isModuleEnabled(f.Costing)
227
245
  }
228
246
  ]
229
247
  },
230
248
  {
231
- label: u("inventory.closing.title"),
249
+ label: p("inventory.closing.title"),
232
250
  children: [
233
251
  {
234
252
  label: a(e.CLOSING_HISTORY),
@@ -263,7 +281,7 @@ function z() {
263
281
  hide: !n(e.UNIT)
264
282
  },
265
283
  {
266
- label: u("inventory.transfer.title"),
284
+ label: p("inventory.transfer.title"),
267
285
  children: [
268
286
  {
269
287
  label: a(e.RECEIVE_REQUEST),
@@ -288,7 +306,7 @@ function z() {
288
306
  {
289
307
  label: a(e.TRANSFER_TEMPLATE),
290
308
  value: e.TRANSFER_TEMPLATE,
291
- hide: !n(e.TRANSFER_TEMPLATE) || c(E.inventory_portal_must_use_transfer_template) && !H("purchase-order-template")
309
+ hide: !n(e.TRANSFER_TEMPLATE) || c(E.inventory_portal_must_use_transfer_template) && !w("purchase-order-template")
292
310
  }
293
311
  ]
294
312
  },
@@ -322,25 +340,27 @@ function z() {
322
340
  value: e.SETTINGS,
323
341
  hide: !n(e.SETTINGS)
324
342
  }
325
- ], r = p(I(m(t)));
326
- return ((d = o.currentBusiness.value) == null ? void 0 : d.menuVersion) === "v3" ? r.filter(
343
+ ], t = O(
344
+ v(g(S(r)))
345
+ );
346
+ return ((l = o.currentBusiness.value) == null ? void 0 : l.menuVersion) === "v3" ? t.filter(
327
347
  (i) => i.value !== e.INGREDIENTS && i.value !== e.RECIPE && i.value !== e.UNIT && i.value !== e.PUBLISH
328
- ) : r;
329
- }), N = R(() => {
330
- function t(d) {
331
- for (const i of d)
348
+ ) : t;
349
+ }), b = T(() => {
350
+ function r(l) {
351
+ for (const i of l)
332
352
  if (i.children && i.children.length > 0) {
333
- const l = t(i.children);
334
- if (l) return l;
353
+ const u = r(i.children);
354
+ if (u) return u;
335
355
  } else if (i.value)
336
356
  return i.value;
337
357
  }
338
- return t(S.value) ?? null;
358
+ return r(h.value) ?? null;
339
359
  });
340
- return { menuItems: S, firstAccessibleRouteName: N };
360
+ return { menuItems: h, firstAccessibleRouteName: b };
341
361
  }
342
362
  export {
343
- x as e,
344
- h as n,
345
- z as u
363
+ re as e,
364
+ P as n,
365
+ ae as u
346
366
  };
@@ -1,4 +1,4 @@
1
- import { d as se } from "./app-DEDl7U52.js";
1
+ import { d as se } from "./app-Cr4FH31I.js";
2
2
  import { useCoreStore as ne } from "@feedmepos/mf-common";
3
3
  const re = se((e, t) => ({
4
4
  getSubscribeUrl(s, r, a) {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import { type Ref } from 'vue';
2
+ import type { PurchaseOrderFormController, PurchaseOrderFormState } from '@feedmepos/inventory-core-dart';
3
+ import type { FdoDinero } from '@feedmepos/mf-common';
4
+ /**
5
+ * The form total (the "Total cost" footer of the transfer form) as display text, without currency.
6
+ *
7
+ * `controller.getTotalCosts()` reads the Dart controller state, which Vue cannot track. A bare call
8
+ * in a template only refreshes when the component that owns that template renders again. The
9
+ * footer sits in the slot of `FeatureCapabilityGate`, a child component that has no other
10
+ * dependency, so the bare call rendered once and kept its first value (0.00).
11
+ *
12
+ * `use-purchase-order-form-controller` calls `triggerRef(state)` after every change of an item,
13
+ * quantity, cost or supplier. This composable recomputes the text on each of those, so the footer
14
+ * always renders a ref that changes.
15
+ */
16
+ export declare function useTransferTotalCost(options: {
17
+ controller: Ref<PurchaseOrderFormController>;
18
+ state: Ref<PurchaseOrderFormState>;
19
+ /** Currency code that the total is formatted with. */
20
+ getCurrency: () => FdoDinero['currency'];
21
+ }): {
22
+ totalCostText: Ref<string, string>;
23
+ hasTotalCost: Ref<boolean, boolean>;
24
+ };
@@ -1,7 +1,7 @@
1
1
  import { computed as l, unref as y, toValue as b } from "vue";
2
- import { u as s } from "./feature-CueVnu9M.js";
2
+ import { u as s } from "./feature-CHV9ib4X.js";
3
3
  import { useCoreStore as f } from "@feedmepos/mf-common";
4
- import { u as g } from "./app-DEDl7U52.js";
4
+ import { u as g } from "./app-Cr4FH31I.js";
5
5
  function T(t) {
6
6
  return t;
7
7
  }