@feedmepos/mf-inventory-portal 1.9.0-dev.1 → 1.9.0-dev.5

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 (114) hide show
  1. package/dist/{App-OAKZ4Qdf.js → App-DDALXIcF.js} +500 -499
  2. package/dist/{ApprovalView-DN0rWMUh.js → ApprovalView-BJVCW2q7.js} +9 -9
  3. package/dist/{BindingsDialog-BWpIeq6j.js → BindingsDialog-DDMJjWjv.js} +2 -2
  4. package/dist/{BindingsPicker-DRROpR8i.js → BindingsPicker-twbdYEAL.js} +2 -2
  5. package/dist/{BindingsTable-BFEoUCIT.js → BindingsTable-Cpx3vSvk.js} +4 -4
  6. package/dist/{BulkReceiveRequestPage-wnXszulg.js → BulkReceiveRequestPage-DD33ulSC.js} +21 -21
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-BtEblqcM.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CtHsMnkV.js} +1 -1
  8. package/dist/{ClosingDraftView-BRNRWXnj.js → ClosingDraftView-BUc5bGIU.js} +19 -19
  9. package/dist/{ClosingHistoryView-DWPINMVP.js → ClosingHistoryView-DPz6D5S2.js} +7 -7
  10. package/dist/ClosingTemplateView-DabFVZCc.js +2392 -0
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-cxhbnvht.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-izGh8Myj.js} +1 -1
  12. package/dist/{DefaultView-CTQ0-HzQ.js → DefaultView-DURO6g6_.js} +2 -2
  13. package/dist/{DeliveryOrderPrintPreview-gReWM4vq.js → DeliveryOrderPrintPreview-BJBheF-Y.js} +2 -2
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-IYcE8OSG.js → EmailDialog.vue_vue_type_script_setup_true_lang-BDZaoowM.js} +8430 -8430
  15. package/dist/{FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-CGkF-JhJ.js → FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-lABO5UTH.js} +1 -1
  16. package/dist/{FeatureCapabilityGate-Ce4_ozRL.js → FeatureCapabilityGate-4YBofjM5.js} +2 -2
  17. package/dist/{FeaturePageGate.vue_vue_type_script_setup_true_lang-DViz4hgB.js → FeaturePageGate.vue_vue_type_script_setup_true_lang-VwGbsXYy.js} +1 -1
  18. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-B6f-p8K7.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-CrYonFQ4.js} +1 -1
  19. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-C-6cGWEV.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-D0cZr3AO.js} +2 -2
  20. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-BALpSufj.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CvIVLMp-.js} +28 -24
  21. package/dist/{FmMultiselectDialog-CJLfLql2.js → FmMultiselectDialog-Cwd47xa5.js} +2 -2
  22. package/dist/{FmMultiselectDialog-B4Diosc4.js → FmMultiselectDialog-lXXaY5lK.js} +2 -2
  23. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-DuNzft4K.js → FmUnitInput.vue_vue_type_script_setup_true_lang-CqqOESle.js} +5 -5
  24. package/dist/{ImportView-DnYVbQ6I.js → ImportView-hEJUxq3v.js} +7 -7
  25. package/dist/{IngredientsView-COUJUWAb.js → IngredientsView-DEhTu1Jk.js} +15 -15
  26. package/dist/{IntegrationExplorerView-CgE2WN-x.js → IntegrationExplorerView-KpAJ2V3E.js} +6 -6
  27. package/dist/{IntegrationPlatformView-BtTv4P3n.js → IntegrationPlatformView-qrPYWqT5.js} +4472 -4425
  28. package/dist/{IntegrationView-D_YkXYOW.js → IntegrationView-BcZjB2Df.js} +15 -15
  29. package/dist/{InventoryBindingForm-B4HvjUs9.js → InventoryBindingForm-BVW5nyBI.js} +1 -1
  30. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-CjVc2mCE.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-ClC9JScP.js} +4 -4
  31. package/dist/{InventoryBindingSummary-CCFW8rw_.js → InventoryBindingSummary-karaxDWz.js} +1 -1
  32. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-PJMjcN03.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DC-dWx9K.js} +2 -2
  33. package/dist/{ProductionRunDetailPage-ChNKrpyj.js → ProductionRunDetailPage-CRoWs8GL.js} +4 -4
  34. package/dist/{ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-536rtKru.js → ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-lzagKc6P.js} +8 -8
  35. package/dist/{ProductionRunPage-FIUKUyDB.js → ProductionRunPage-DeEzvebS.js} +4 -4
  36. package/dist/PublishView-BG0YVyQ_.js +282 -0
  37. package/dist/{PurchaseOrderPrintPreview-C8-zlH52.js → PurchaseOrderPrintPreview-DZs6nzcB.js} +2 -2
  38. package/dist/{ReceiveRequestView-DIuftfMU.js → ReceiveRequestView-B5jmw3_m.js} +16 -16
  39. package/dist/{RecipeView-BKYAdx6j.js → RecipeView-D-u82Imb.js} +16 -16
  40. package/dist/{SettingsView-CZR-ELPO.js → SettingsView-CavH72Zf.js} +7 -7
  41. package/dist/{StockView-C-9o5zUV.js → StockView-Mbbag4gi.js} +21 -21
  42. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-Db4DrwQJ.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-I8S3lE8n.js} +1 -1
  43. package/dist/{SupplierView-CHX-eb1W.js → SupplierView-BKjQQMUB.js} +13 -13
  44. package/dist/{SurchargeView-D1y5BUvB.js → SurchargeView-tG9jxSHT.js} +7 -7
  45. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-DU2wYI2T.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-f3MH8VXz.js} +2 -2
  46. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-DKTWIz-E.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CVPc0HNQ.js} +1 -1
  47. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-BzJkA7ub.js +5002 -0
  48. package/dist/{TransferTemplateView-Bq7Euggq.js → TransferTemplateView-DUvgcoFR.js} +19 -19
  49. package/dist/{UnitCostHistoryView-CLpnjeEP.js → UnitCostHistoryView-DXFlnpzI.js} +4 -4
  50. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-CiWUAHMw.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-T4rShFa9.js} +4 -4
  51. package/dist/{UnitView-RxPdbO_C.js → UnitView-ChPy6-nH.js} +7 -7
  52. package/dist/{WarehouseView-Ba_77-lL.js → WarehouseView-B4rRtSI3.js} +8 -8
  53. package/dist/{WastageTemplateView-DRB3J1CD.js → WastageTemplateView-BWvFXjS6.js} +15 -15
  54. package/dist/api/inventory.d.ts +22 -91
  55. package/dist/api/purchase-order-template.d.ts +1 -1
  56. package/dist/{app-B2FciWDu.js → app-DMflhu6b.js} +7841 -7235
  57. package/dist/app.js +1 -1
  58. package/dist/{bulk-edit-simulation.helper-gZPNWgS7.js → bulk-edit-simulation.helper-DezcOq8o.js} +2 -2
  59. package/dist/{closing-template-L7d2nmhr.js → closing-template-BGERrbIQ.js} +1 -1
  60. package/dist/components/FmInventoryTableToolbar.vue.d.ts +7 -0
  61. package/dist/{date2--N7dpGRR.js → date2-DIxf2HSS.js} +1 -1
  62. package/dist/{dayjs.min-CFhuhXoi.js → dayjs.min-W80OrMgJ.js} +1 -1
  63. package/dist/{decimal-gywux_Ld.js → decimal-BTK7NAET.js} +2 -2
  64. package/dist/{defineDeepModel-B2EkoePs.js → defineDeepModel-DJ9LqqzR.js} +1 -1
  65. package/dist/{duplicate-template-t-iu60N3.js → duplicate-template-BC7pMF-s.js} +1 -1
  66. package/dist/feature-flags/plan-tier.d.ts +0 -2
  67. package/dist/{feature-CvQ6eKvB.js → feature-h3MFKUcz.js} +3 -3
  68. package/dist/{format-time-from-id-BVk3iOfV.js → format-time-from-id-DSAFHO8d.js} +1 -1
  69. package/dist/{format-unit-display-CLmFpKSI.js → format-unit-display-wiLcRFDI.js} +99 -101
  70. package/dist/{id-to-date-DKmIZp6I.js → id-to-date-Di8Eschw.js} +1 -1
  71. package/dist/{import-export.helper-qShUWqck.js → import-export.helper-avwvLBKD.js} +5 -5
  72. package/dist/{index-CJ1pZPwZ.js → index-C-uWBaU4.js} +3 -3
  73. package/dist/{index-CrUvC9l4.js → index-CXhgWYdX.js} +1 -1
  74. package/dist/{index-CoGFfqOs.js → index-CcmysfjG.js} +1 -1
  75. package/dist/{lz-string-mHxrGSbY.js → lz-string-MCnthIwP.js} +1 -1
  76. package/dist/{netsuite-BDcapEOO.js → netsuite-CsMFS8uH.js} +2522 -2505
  77. package/dist/{netsuite-explorer-FeiogpVF.js → netsuite-explorer-CLsdKVZp.js} +1 -1
  78. package/dist/{predefined-templates-CVAkYLi5.js → predefined-templates-B4URhizE.js} +1 -1
  79. package/dist/publish-versions-BGoX_gD4.js +87 -0
  80. package/dist/purchase-order-template-Cn2JQYD0.js +41 -0
  81. package/dist/{recalculationUtils-BuhlMBRB.js → recalculationUtils-sCuVobBd.js} +1 -1
  82. package/dist/{row-action.enum-b--87Y19.js → row-action.enum-BM2HgD4R.js} +1 -1
  83. package/dist/{rules-CFEKk1zY.js → rules-BaYKzbRv.js} +3 -3
  84. package/dist/{stock-Bet2VY1l.js → stock-B4uI5_D4.js} +2 -2
  85. package/dist/{stock-B4FZa2Ci.js → stock-BZMbxbyg.js} +1 -1
  86. package/dist/stores/inventory.in-flight.spec.d.ts +1 -0
  87. package/dist/stores/location.d.ts +0 -289
  88. package/dist/stores/publish-versions.d.ts +19 -0
  89. package/dist/stores/publish-versions.spec.d.ts +1 -0
  90. package/dist/{supplier-DX_LR2LR.js → supplier-B0dtsWm4.js} +2 -2
  91. package/dist/{surcharge-gnQZF_xQ.js → surcharge-Djbv5SzM.js} +1 -1
  92. package/dist/tsconfig.app.tsbuildinfo +1 -1
  93. package/dist/{uom-rules-B4qbIOqA.js → uom-rules-jR6owpw7.js} +1 -1
  94. package/dist/{use-ingredient-select-dialog-BE5IHSwH.js → use-ingredient-select-dialog-VfIKtgzP.js} +2 -2
  95. package/dist/{use-inventory-binding-dialog-B0xEQiLV.js → use-inventory-binding-dialog-BdgHGwC_.js} +2 -2
  96. package/dist/{use-template-enabled-locations-BvAG1cJF.js → use-template-enabled-locations-B1xMD71z.js} +2 -2
  97. package/dist/{use-transfer-locations-pyDvqZxC.js → use-transfer-locations-NrMDt6DD.js} +2 -2
  98. package/dist/{useHrmPermission-kFc2vRek.js → useHrmPermission-DT0o2-yP.js} +1 -1
  99. package/dist/{useNavigationMenu-C9-LqWKt.js → useNavigationMenu-CMjxTTiM.js} +86 -66
  100. package/dist/{useSseClient-CoafBOe-.js → useSseClient-D4n-A1ST.js} +1 -1
  101. package/dist/views/closing-template/components/closing-template-form/composables/use-closing-template-items.d.ts +5 -0
  102. package/dist/views/closing-template/components/closing-template-form/composables/use-closing-template-items.spec.d.ts +1 -0
  103. package/dist/views/publish/PublishView.spec.d.ts +1 -0
  104. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-total-cost.d.ts +24 -0
  105. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-total-cost.spec.d.ts +1 -0
  106. package/dist/views/transfer-template/composables/use-transfer-template-table.d.ts +3 -3
  107. package/dist/{vue-BMDdrHy_.js → vue-BOcyAWzp.js} +37 -30
  108. package/dist/{vue-i18n-Bkodg08l.js → vue-i18n-69kj_U4j.js} +261 -261
  109. package/dist/{xlsx.util-DOCqFSat.js → xlsx.util-CJm8uh4D.js} +2 -2
  110. package/package.json +4 -6
  111. package/dist/ClosingTemplateView-gqjNm3Wi.js +0 -2358
  112. package/dist/PublishView-JDX28AHk.js +0 -213
  113. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-eSgt3P6r.js +0 -4961
  114. package/dist/purchase-order-template-CrRp6r28.js +0 -41
@@ -1,5 +1,5 @@
1
1
  import { computed as o } from "vue";
2
- import { u } from "./netsuite-BDcapEOO.js";
2
+ import { u } from "./netsuite-CsMFS8uH.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-B2FciWDu.js";
3
- import { a as A } from "./FmMultiselectDialog-CJLfLql2.js";
2
+ import { a as b } from "./app-DMflhu6b.js";
3
+ import { a as A } from "./FmMultiselectDialog-Cwd47xa5.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-CJLfLql2.js";
2
- import { a as S } from "./app-B2FciWDu.js";
1
+ import { a as y } from "./FmMultiselectDialog-Cwd47xa5.js";
2
+ import { a as S } from "./app-DMflhu6b.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-CJLfLql2.js";
2
- import { u as S } from "./app-B2FciWDu.js";
1
+ import { a as A } from "./FmMultiselectDialog-Cwd47xa5.js";
2
+ import { u as S } from "./app-DMflhu6b.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, a3 as w, a5 as R } from "./app-B2FciWDu.js";
2
- import { u as E } from "./supplier-DX_LR2LR.js";
1
+ import { u as g, r as l, a3 as w, a5 as R } from "./app-DMflhu6b.js";
2
+ import { u as E } from "./supplier-B0dtsWm4.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 { ae as n } from "./app-B2FciWDu.js";
2
+ import { ae as n } from "./app-DMflhu6b.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, af as O, ag as A, ae as U } from "./app-B2FciWDu.js";
3
- import { useCoreStore as b, useI18n as L } from "@feedmepos/mf-common";
4
- import { u as y, I as E, e as g } from "./feature-CvQ6eKvB.js";
5
- import { e as G, g as v, d as M, f as H } from "./vue-BMDdrHy_.js";
6
- import { _ as K } from "./FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-CGkF-JhJ.js";
7
- const h = [
1
+ import { computed as R, h as p } from "vue";
2
+ import { components as U } from "@feedmepos/ui-library";
3
+ import { R as e, a as L, af as y, ag as G, ae as M } from "./app-DMflhu6b.js";
4
+ import { useCoreStore as H, useI18n as K } from "@feedmepos/mf-common";
5
+ import { u as F } from "./publish-versions-BGoX_gD4.js";
6
+ import { u as k, I as E, e as f } from "./feature-h3MFKUcz.js";
7
+ import { e as V, g as _, d as B, f as D } from "./vue-BOcyAWzp.js";
8
+ import { _ as w } from "./FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-lABO5UTH.js";
9
+ const C = [
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
- ], F = Object.fromEntries(
144
- h.map((o) => {
145
- var u;
146
- const s = v(o.featureKey ?? "");
145
+ ], W = Object.fromEntries(
146
+ C.map((s) => {
147
+ var d;
148
+ const o = _(s.featureKey ?? "");
147
149
  return [
148
- o.route,
149
- M({
150
- key: o.route,
151
- minimumTier: o.tier,
152
- release: o.release ?? ((u = s == null ? void 0 : s.definition) == null ? void 0 : u.release),
153
- flagKeys: s == null ? void 0 : s.flagKeys
150
+ s.route,
151
+ B({
152
+ key: s.route,
153
+ minimumTier: s.tier,
154
+ release: s.release ?? ((d = o == null ? void 0 : o.definition) == null ? void 0 : d.release),
155
+ flagKeys: o == null ? void 0 : o.flagKeys
154
156
  })
155
157
  ];
156
158
  })
157
159
  );
158
- function k(o) {
159
- return h.find((s) => s.route === o) ?? null;
160
+ function Q(s) {
161
+ return C.find((o) => o.route === s) ?? null;
160
162
  }
161
- function B(o) {
162
- return o ? F[o] ?? null : null;
163
+ function Y(s) {
164
+ return s ? W[s] ?? null : null;
163
165
  }
164
- function q(o, s) {
165
- const u = B(o);
166
- return u ? G(u, s) : { enabled: !0, disabled: !1, stage: "ga", eligible: !0 };
166
+ function te(s, o) {
167
+ const d = Y(s);
168
+ return d ? V(d, o) : { enabled: !0, disabled: !1, stage: "ga", eligible: !0 };
167
169
  }
168
- const D = A.reduce(
169
- (o, s) => {
170
- var u;
171
- return s.name && (o[s.name] = (u = s.meta) == null ? void 0 : u.validationManifest), o;
170
+ const x = G.reduce(
171
+ (s, o) => {
172
+ var d;
173
+ return o.name && (s[o.name] = (d = o.meta) == null ? void 0 : d.validationManifest), s;
172
174
  },
173
175
  {}
174
176
  );
175
- function x() {
176
- const o = b(), s = y(), { t: u } = L(), a = (t) => O(t, u), _ = R(
177
+ function re() {
178
+ const s = H(), o = k(), d = L(), I = F(), { t: m } = K(), a = (r) => y(r, m), N = R(
177
179
  () => {
178
- var t;
179
- return ((t = o.sessionUser.value) == null ? void 0 : t.permissions) ?? [];
180
+ var r;
181
+ return ((r = s.sessionUser.value) == null ? void 0 : r.permissions) ?? [];
180
182
  }
181
- ), N = (t = []) => t.length === 0 ? !0 : U(t, _.value).granted, n = (t) => {
182
- const r = D[t];
183
- return N(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
- }, I = (t) => t.filter((r) => !r.hide).map((r) => r.children ? { ...r, children: I(r.children) } : r).filter((r) => !r.children || r.children.length > 0), m = (t) => t.map((r) => {
188
- const { hide: d, children: i, ...l } = r, T = { ...l };
189
- return i && (T.children = m(i)), T;
190
- }), S = (t) => t.map((r) => {
191
- const d = r.value, i = k(d), l = v((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
+ ), P = (r = []) => r.length === 0 ? !0 : M(r, N.value).granted, n = (r) => {
184
+ const t = x[r];
185
+ return P(t == null ? void 0 : t.requiredCaslPermissions);
186
+ }, c = (r) => {
187
+ var t;
188
+ return ((t = o.flags.find((u) => u.name === r)) == null ? void 0 : t.beta) !== !1 && !o.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: u, children: i, ...l } = t, T = { ...l };
191
+ return i && (T.children = g(i)), T;
192
+ }), v = (r) => r.map((t) => {
193
+ const u = t.value, i = Q(u), l = _((i == null ? void 0 : i.featureKey) ?? ""), T = l == null ? void 0 : l.category, A = i && (i.tier === "premium" || T === "beta" || l != null && l.deprecateSoon) ? () => p(w, {
192
194
  tier: i.tier,
193
195
  category: T,
194
196
  deprecateSoon: l == null ? void 0 : l.deprecateSoon,
195
197
  featureKey: i.featureKey
196
198
  }) : void 0;
197
199
  return {
198
- ...r,
199
- badge: C,
200
- children: r.children ? S(r.children) : void 0
200
+ ...t,
201
+ badge: A,
202
+ children: t.children ? v(t.children) : void 0
201
203
  };
202
- }), p = 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: () => p(U.FmCircularProgress, { size: "md" }) };
208
+ const u = I.outdatedCount(d.state.inventory.updatedAt);
209
+ return u > 0 ? {
210
+ ...t,
211
+ badge: () => p(
212
+ "span",
213
+ {
214
+ title: `${u} 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
+ u > 99 ? "99+" : String(u)
218
+ )
219
+ } : t;
220
+ }), h = R(() => {
221
+ var u;
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: m("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) || H("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 x() {
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(g.Costing) && !s.isModuleEnabled(g.Costing)
244
+ hide: !n(e.UNIT_COST_HISTORY) || o.isModuleBeta(f.Costing) && !o.isModuleEnabled(f.Costing)
227
245
  }
228
246
  ]
229
247
  },
230
248
  {
231
- label: u("inventory.closing.title"),
249
+ label: m("inventory.closing.title"),
232
250
  children: [
233
251
  {
234
252
  label: a(e.CLOSING_HISTORY),
@@ -263,7 +281,7 @@ function x() {
263
281
  hide: !n(e.UNIT)
264
282
  },
265
283
  {
266
- label: u("inventory.transfer.title"),
284
+ label: m("inventory.transfer.title"),
267
285
  children: [
268
286
  {
269
287
  label: a(e.RECEIVE_REQUEST),
@@ -322,25 +340,27 @@ function x() {
322
340
  value: e.SETTINGS,
323
341
  hide: !n(e.SETTINGS)
324
342
  }
325
- ], r = S(m(I(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 ((u = s.currentBusiness.value) == null ? void 0 : u.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
- }), f = R(() => {
330
- function t(d) {
331
- for (const i of d)
348
+ ) : t;
349
+ }), b = R(() => {
350
+ function r(u) {
351
+ for (const i of u)
332
352
  if (i.children && i.children.length > 0) {
333
- const l = t(i.children);
353
+ const l = r(i.children);
334
354
  if (l) return l;
335
355
  } else if (i.value)
336
356
  return i.value;
337
357
  }
338
- return t(p.value) ?? null;
358
+ return r(h.value) ?? null;
339
359
  });
340
- return { menuItems: p, firstAccessibleRouteName: f };
360
+ return { menuItems: h, firstAccessibleRouteName: b };
341
361
  }
342
362
  export {
343
- q as e,
344
- h as n,
345
- x as u
363
+ te as e,
364
+ C as n,
365
+ re as u
346
366
  };
@@ -1,4 +1,4 @@
1
- import { d as se } from "./app-B2FciWDu.js";
1
+ import { d as se } from "./app-DMflhu6b.js";
2
2
  import { useCoreStore as ne } from "@feedmepos/mf-common";
3
3
  const re = se((e, t) => ({
4
4
  getSubscribeUrl(s, r, a) {
@@ -23,3 +23,8 @@ export declare function templateItemActiveLabels(item: FdoClosingTemplateItem):
23
23
  * not allowed (never disable the last enabled unit).
24
24
  */
25
25
  export declare function toggleTemplateItemUnit(item: FdoClosingTemplateItem, chip: UnitChip): FdoClosingTemplateItem | null;
26
+ /**
27
+ * Enable or disable every unit in `ids` at once. When disabling would leave no
28
+ * unit enabled, the base unit stays on.
29
+ */
30
+ export declare function setTemplateItemUnits(item: FdoClosingTemplateItem, ids: string[], enabled: boolean): FdoClosingTemplateItem;
@@ -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
+ };
@@ -1020,7 +1020,7 @@ export declare const useTransferTemplateTable: import("pinia").StoreDefinition<"
1020
1020
  name: string;
1021
1021
  }[]>;
1022
1022
  loading: import("vue").Ref<boolean, boolean>;
1023
- fetchTemplates: () => Promise<void>;
1023
+ fetchTemplates: (signal?: AbortSignal) => Promise<void>;
1024
1024
  loadTemplate: (templateId: string) => Promise<void>;
1025
1025
  }, "loading" | "columnDefs" | "templates">>, Pick<{
1026
1026
  columnDefs: ColumnDef<{
@@ -2042,7 +2042,7 @@ export declare const useTransferTemplateTable: import("pinia").StoreDefinition<"
2042
2042
  name: string;
2043
2043
  }[]>;
2044
2044
  loading: import("vue").Ref<boolean, boolean>;
2045
- fetchTemplates: () => Promise<void>;
2045
+ fetchTemplates: (signal?: AbortSignal) => Promise<void>;
2046
2046
  loadTemplate: (templateId: string) => Promise<void>;
2047
2047
  }, never>, Pick<{
2048
2048
  columnDefs: ColumnDef<{
@@ -3064,6 +3064,6 @@ export declare const useTransferTemplateTable: import("pinia").StoreDefinition<"
3064
3064
  name: string;
3065
3065
  }[]>;
3066
3066
  loading: import("vue").Ref<boolean, boolean>;
3067
- fetchTemplates: () => Promise<void>;
3067
+ fetchTemplates: (signal?: AbortSignal) => Promise<void>;
3068
3068
  loadTemplate: (templateId: string) => Promise<void>;
3069
3069
  }, "loadTemplate" | "fetchTemplates">>;
@@ -1,16 +1,16 @@
1
- import { computed as i, unref as p, toValue as y } from "vue";
2
- import { u as s } from "./feature-CvQ6eKvB.js";
1
+ import { computed as l, unref as p, toValue as y } from "vue";
2
+ import { u as s } from "./feature-h3MFKUcz.js";
3
3
  import { useCoreStore as b } from "@feedmepos/mf-common";
4
- import { u as g } from "./app-B2FciWDu.js";
5
- function S(t) {
4
+ import { u as d } from "./app-DMflhu6b.js";
5
+ function F(t) {
6
6
  return t;
7
7
  }
8
- function d(t, r) {
8
+ function g(t, r) {
9
9
  var n;
10
- const e = t.release ?? { stage: "ga" }, a = (n = t.flagKeys) != null && n.length ? t.flagKeys.some(r.isFlagOn) : t.minimumTier !== "premium" || r.premium === !0, o = e.stage === "ga" || e.stage === "beta", l = a && o, u = a ? e.stage === "off" ? "This feature is not currently available." : void 0 : `Requires the ${t.minimumTier} plan.`;
10
+ const e = t.release ?? { stage: "ga" }, a = (n = t.flagKeys) != null && n.length ? t.flagKeys.some(r.isFlagOn) : t.minimumTier !== "premium" || r.premium === !0, o = e.stage === "ga" || e.stage === "beta", i = a && o, u = a ? e.stage === "off" ? "This feature is not currently available." : void 0 : `Requires the ${t.minimumTier} plan.`;
11
11
  return {
12
- enabled: l,
13
- disabled: !l,
12
+ enabled: i,
13
+ disabled: !i,
14
14
  stage: e.stage,
15
15
  eligible: o,
16
16
  reason: u
@@ -80,6 +80,13 @@ const v = [
80
80
  flagKeys: ["inventory_receive_request_beta"],
81
81
  controls: "Purchase / Transfer in (New) navigation and bulk receive page."
82
82
  },
83
+ {
84
+ key: "create-order-dialog-v2",
85
+ label: "Create Order Dialog V2",
86
+ category: "beta",
87
+ flagKeys: ["inventory_portal_purchase_order_create_v2"],
88
+ controls: "Sidebar create order dialog replacing the Create transfer dialog."
89
+ },
83
90
  {
84
91
  key: "surcharge",
85
92
  label: "Surcharge",
@@ -212,53 +219,53 @@ const v = [
212
219
  function c(t) {
213
220
  return m.find((r) => r.key === t);
214
221
  }
215
- function T(t) {
222
+ function C(t) {
216
223
  return m.filter((r) => {
217
224
  var e;
218
225
  return (e = r.flagKeys) == null ? void 0 : e.includes(t);
219
226
  });
220
227
  }
221
228
  function k(t) {
222
- const r = _(), e = i(() => {
229
+ const r = _(), e = l(() => {
223
230
  const a = p(t);
224
- return a ? d(a, r.value) : { enabled: !0, disabled: !1, stage: "ga", eligible: !0 };
231
+ return a ? g(a, r.value) : { enabled: !0, disabled: !1, stage: "ga", eligible: !0 };
225
232
  });
226
233
  return {
227
234
  result: e,
228
- enabled: i(() => e.value.enabled),
229
- disabled: i(() => e.value.disabled),
230
- stage: i(() => e.value.stage),
231
- eligible: i(() => e.value.eligible),
232
- reason: i(() => e.value.reason)
235
+ enabled: l(() => e.value.enabled),
236
+ disabled: l(() => e.value.disabled),
237
+ stage: l(() => e.value.stage),
238
+ eligible: l(() => e.value.eligible),
239
+ reason: l(() => e.value.reason)
233
240
  };
234
241
  }
235
242
  function _() {
236
- const t = s(), r = b(), e = g();
237
- return i(() => {
243
+ const t = s(), r = b(), e = d();
244
+ return l(() => {
238
245
  var a, o;
239
246
  return {
240
- isFlagOn: (l) => t.isFlagOn(l),
247
+ isFlagOn: (i) => t.isFlagOn(i),
241
248
  premium: t.premium,
242
249
  businessId: (a = r.currentBusiness.value) == null ? void 0 : a._id,
243
250
  locationId: (o = e._currentLocation) == null ? void 0 : o.doc._id
244
251
  };
245
252
  });
246
253
  }
247
- function C(t) {
248
- const r = s(), e = g(), a = i(() => c(y(t))), o = k(i(() => {
254
+ function T(t) {
255
+ const r = s(), e = d(), a = l(() => c(y(t))), o = k(l(() => {
249
256
  var n;
250
257
  return ((n = a.value) == null ? void 0 : n.definition) ?? null;
251
- })), l = i(() => {
258
+ })), i = l(() => {
252
259
  var n;
253
260
  return ((n = e._currentLocation) == null ? void 0 : n.dbName) ?? null;
254
261
  });
255
262
  return {
256
- state: i(() => {
263
+ state: l(() => {
257
264
  const n = r.loadState;
258
- return !l.value || n.dbName !== l.value ? "loading" : n.status === "error" ? "error" : n.status !== "ready" ? "loading" : a.value ? o.enabled.value ? "enabled" : a.value.category === "premium" ? "upgrade" : "unavailable" : "unavailable";
265
+ return !i.value || n.dbName !== i.value ? "loading" : n.status === "error" ? "error" : n.status !== "ready" ? "loading" : a.value ? o.enabled.value ? "enabled" : a.value.category === "premium" ? "upgrade" : "unavailable" : "unavailable";
259
266
  }),
260
267
  feature: a,
261
- dbName: l,
268
+ dbName: i,
262
269
  result: o.result,
263
270
  retry: () => r.retryLoad()
264
271
  };
@@ -268,7 +275,7 @@ function w(t) {
268
275
  const r = (a = c(t)) == null ? void 0 : a.definition;
269
276
  if (!r) return { enabled: !1, disabled: !0, stage: "off", eligible: !1 };
270
277
  const e = s();
271
- return d(r, {
278
+ return g(r, {
272
279
  isFlagOn: (o) => e.isFlagOn(o),
273
280
  premium: e.premium
274
281
  });
@@ -279,11 +286,11 @@ function K(t) {
279
286
  return (a = e == null ? void 0 : e.flagKeys) != null && a.length ? e.flagKeys.some((o) => r.isFlagOn(o)) : (e == null ? void 0 : e.category) !== "premium" || r.premium;
280
287
  }
281
288
  export {
282
- T as a,
283
- C as b,
289
+ C as a,
290
+ T as b,
284
291
  k as c,
285
- S as d,
286
- d as e,
292
+ F as d,
293
+ g as e,
287
294
  w as f,
288
295
  c as g,
289
296
  K as i,