@feedmepos/mf-inventory-portal 1.8.0-dev.3 → 1.8.0-dev.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 (102) hide show
  1. package/dist/{App-DRXADP0k.js → App-FeJnwZme.js} +362 -374
  2. package/dist/{ApprovalView-hV1msz5Y.js → ApprovalView-Eo-cGWyA.js} +9 -9
  3. package/dist/{BindingsDialog-BX1Lopf0.js → BindingsDialog-DkjuXydb.js} +2 -2
  4. package/dist/{BindingsPicker-BNKW8-XY.js → BindingsPicker-DUOQcOlj.js} +2 -2
  5. package/dist/{BindingsTable-DiLDsL83.js → BindingsTable-CoDdU5xh.js} +4 -4
  6. package/dist/{BulkReceiveRequestView-oQh6kFLc.js → BulkReceiveRequestView-BGh8fbEX.js} +21 -22
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-BaMcGU-x.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CStISRqy.js} +1 -1
  8. package/dist/{ClosingDraftView-sgLoaSf4.js → ClosingDraftView-Cwnhrv5P.js} +20 -20
  9. package/dist/{ClosingHistoryView-BnE9HrzA.js → ClosingHistoryView-oHf77Lal.js} +5 -5
  10. package/dist/{ClosingTemplateView-BD3Pa11r.js → ClosingTemplateView-1P8J1vAn.js} +18 -18
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-DlbyxkMQ.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-BuEPaqQK.js} +1 -1
  12. package/dist/{DefaultView-CuzvVkfE.js → DefaultView-3Z8aVFSU.js} +5 -5
  13. package/dist/{DeliveryOrderPrintPreview-w-1aAOY1.js → DeliveryOrderPrintPreview-uT_e3Suw.js} +2 -2
  14. package/dist/{DeprecateSoonWarningDialog.vue_vue_type_script_setup_true_lang-Bp8bjDU1.js → DeprecateSoonWarningDialog.vue_vue_type_script_setup_true_lang-D_vmtZDZ.js} +1 -1
  15. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-CxD12Qct.js → EmailDialog.vue_vue_type_script_setup_true_lang-BCgnXxEi.js} +29 -30
  16. package/dist/FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-D-RzUmqA.js +81 -0
  17. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-BqCh_vTP.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-BlKpGdCx.js} +1 -1
  18. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CAXnmdUy.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DKkxn1J-.js} +2 -2
  19. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-NhOdW33O.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-dOXDST-E.js} +2 -2
  20. package/dist/{FmMultiselectDialog-BqZgHP8s.js → FmMultiselectDialog-C8uYx8rr.js} +1 -1
  21. package/dist/{FmMultiselectDialog-CULwA_hi.js → FmMultiselectDialog-DRxZAkcu.js} +2 -2
  22. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-CI3Y9kDl.js → FmUnitInput.vue_vue_type_script_setup_true_lang-DRSzQqVJ.js} +6 -6
  23. package/dist/{ImportView-DqQG673_.js → ImportView-Qigtf3ik.js} +6 -6
  24. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-DfvNUu80.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-B8PJeYrP.js} +1 -1
  25. package/dist/{IngredientGroupView-CyngKxPo.js → IngredientGroupView-RNYZLkQu.js} +7 -7
  26. package/dist/{IngredientsView-pzpP6oXT.js → IngredientsView-N9U7tdI_.js} +17 -17
  27. package/dist/{IntegrationExplorerView-C5aAhB6e.js → IntegrationExplorerView-CjmeGQ14.js} +4 -4
  28. package/dist/{IntegrationView-Bqun7nX0.js → IntegrationView-DAdpmuxx.js} +15 -15
  29. package/dist/{InventoryBindingForm-r_Ua1C4a.js → InventoryBindingForm-CAj3MurI.js} +1 -1
  30. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-CYDuu4kU.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-3pYuu62C.js} +5 -5
  31. package/dist/{InventoryBindingSummary-BQuZLohR.js → InventoryBindingSummary-B-1OBUdw.js} +1 -1
  32. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-7r-QcJdU.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CUYYEuW3.js} +1 -1
  33. package/dist/{ProductionRunDetailView-95fu_CfH.js → ProductionRunDetailView-eFvl8-By.js} +4 -4
  34. package/dist/{ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-CdOca1tV.js → ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-DaC7e4qS.js} +7 -7
  35. package/dist/{ProductionRunView-DIjor_Ix.js → ProductionRunView-C_NJJKLr.js} +3 -3
  36. package/dist/{PublishView-DYObyHQq.js → PublishView-BglAEkzU.js} +3 -3
  37. package/dist/{PurchaseOrderPrintPreview-C0jCmI9L.js → PurchaseOrderPrintPreview-BTF9ikpQ.js} +2 -2
  38. package/dist/{ReceiveRequestView-i7ibPfIE.js → ReceiveRequestView-BUvehG10.js} +15 -16
  39. package/dist/{RecipeView-C5VO7yr3.js → RecipeView-DO5-jgwh.js} +19 -20
  40. package/dist/{SettingsView-CdBloj9k.js → SettingsView-DRR86cHo.js} +10 -11
  41. package/dist/{StockView-g_6eJ62R.js → StockView-D1oEnbZp.js} +23 -24
  42. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-C1rKc7MA.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-CxU92-io.js} +1 -1
  43. package/dist/{SupplierView-DkYp_Frj.js → SupplierView-D68wz0-g.js} +14 -14
  44. package/dist/{SurchargeView-CfkV4Y3y.js → SurchargeView-Cw9rTw2h.js} +7 -7
  45. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-2MtN1p5t.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-Az-a1Dsp.js} +2 -2
  46. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CYMjKXq4.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-C-sxbacO.js} +1 -1
  47. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-D0zNr_vQ.js → TransferDetails.vue_vue_type_script_setup_true_lang-CsHfLaCv.js} +241 -242
  48. package/dist/{TransferTemplateView-Ne2gYUSn.js → TransferTemplateView-CHPJMjYC.js} +22 -23
  49. package/dist/{UnitCostHistoryView-Db0_otOb.js → UnitCostHistoryView-DM8OzWhe.js} +4 -4
  50. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-BzO1lq7j.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-DpwK5mFH.js} +4 -4
  51. package/dist/{UnitView-CiCeQ63i.js → UnitView-90uR-ZzQ.js} +8 -8
  52. package/dist/{WarehouseView-BcuJSOMF.js → WarehouseView-Bulg6Vac.js} +8 -8
  53. package/dist/{WastageTemplateView-CPQmtOKQ.js → WastageTemplateView-BmAHnnwm.js} +15 -15
  54. package/dist/{app-DqJp3dcI.js → app-Ccdgbe4f.js} +16 -16
  55. package/dist/app.js +1 -1
  56. package/dist/{closing-template-BNlgZviN.js → closing-template-DuBZxoXx.js} +1 -1
  57. package/dist/components/FeatureCapabilityBadge.vue.d.ts +1 -1
  58. package/dist/{date2-Ci7521dn.js → date2-IBrLdtni.js} +1 -1
  59. package/dist/{dayjs.min-Cyp32v4J.js → dayjs.min-DEkq-Hpp.js} +1 -1
  60. package/dist/{decimal-BGdm5R3A.js → decimal-g6jRdlSk.js} +2 -2
  61. package/dist/{defineDeepModel-B2cJ-rtd.js → defineDeepModel-P5a5Ffpn.js} +1 -1
  62. package/dist/{duplicate-template-By5WeKZ0.js → duplicate-template-Do8s80ei.js} +1 -1
  63. package/dist/{core-Js7d-3Pv.js → feature-ChVm5JED.js} +3296 -1860
  64. package/dist/feature-flags/core.d.ts +3 -2
  65. package/dist/feature-flags/portal-feature-catalog.d.ts +2 -5
  66. package/dist/feature-flags/premium-flags.spec.d.ts +1 -0
  67. package/dist/feature-flags/vue.d.ts +2 -0
  68. package/dist/{format-time-from-id-Q8C2P96H.js → format-time-from-id-BgbBOII7.js} +1 -1
  69. package/dist/{format-unit-display-CICrmm8r.js → format-unit-display-hSXy2iu6.js} +13 -13
  70. package/dist/{id-to-date-DeN5x0LR.js → id-to-date-DlGYysU8.js} +1 -1
  71. package/dist/{import-export.helper-BOTQWxr6.js → import-export.helper-LrZhiz2W.js} +28 -28
  72. package/dist/{index-BbbqCCfp.js → index-BTNJ1fk2.js} +3 -3
  73. package/dist/{index-Cxm3Sgfv.js → index-DCiNwlw2.js} +1 -1
  74. package/dist/{index-tCYhLCKP.js → index-DsOmtywr.js} +1 -1
  75. package/dist/{lz-string-Dy4Pg8mh.js → lz-string-DRuyjE9G.js} +1 -1
  76. package/dist/{netsuite-BaJjkDM8.js → netsuite-B6y8GZCP.js} +2 -2
  77. package/dist/{number-CB36d2PQ.js → number-Besn-1-5.js} +3 -3
  78. package/dist/{predefined-templates-DLm93Bpx.js → predefined-templates-D92mN_2S.js} +1 -1
  79. package/dist/{purchase-order-template-CDhn9ZIF.js → purchase-order-template-hvq2pfWx.js} +1 -1
  80. package/dist/{recalculationUtils-Cqvefakh.js → recalculationUtils-BlZR5O2G.js} +1 -1
  81. package/dist/{row-action.enum-NTfVmGY8.js → row-action.enum-R2bi3eAv.js} +1 -1
  82. package/dist/{rules-C8dfM84-.js → rules-DzwoRKUS.js} +2 -2
  83. package/dist/{stock-BGB0Siue.js → stock-Cq37EARQ.js} +3 -3
  84. package/dist/{stock-Qu5IiN2_.js → stock-oJqnUrtt.js} +1 -1
  85. package/dist/stores/feature.d.ts +1 -0
  86. package/dist/{supplier-CZdNOSMN.js → supplier-DtdwvcPr.js} +17 -17
  87. package/dist/{surcharge-Cm40oJvU.js → surcharge-CjdJGIsM.js} +1 -1
  88. package/dist/tsconfig.app.tsbuildinfo +1 -1
  89. package/dist/{uom-rules-L-IW4Nwk.js → uom-rules-BqPn_GoZ.js} +1 -1
  90. package/dist/{use-ingredient-select-dialog-B2TDVJM6.js → use-ingredient-select-dialog-0hRCj6Fu.js} +2 -2
  91. package/dist/{use-inventory-binding-dialog-BJ00hl5f.js → use-inventory-binding-dialog-BLRcIC1u.js} +2 -2
  92. package/dist/{use-template-enabled-locations-DYAPMvo9.js → use-template-enabled-locations-8ZfTj4YB.js} +2 -2
  93. package/dist/{use-transfer-locations-w-9tymYS.js → use-transfer-locations-BGS1EBEt.js} +2 -2
  94. package/dist/{useHrmPermission-BFCIo5sA.js → useHrmPermission-BcQ2KPD-.js} +1 -1
  95. package/dist/{useNavigationMenu-BPHAH5sJ.js → useNavigationMenu-DImtns81.js} +73 -71
  96. package/dist/{useSseClient-CWjRacRs.js → useSseClient-DPSFFVci.js} +1 -1
  97. package/dist/{vue-i18n-S4YQ9w6a.js → vue-i18n-DTyGIjTI.js} +1 -1
  98. package/dist/{xlsx.util-CP8_VajN.js → xlsx.util-CK9Lnq3Q.js} +2 -2
  99. package/package.json +6 -6
  100. package/dist/FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-CMoQKl_a.js +0 -308
  101. package/dist/feature-fG7d73oi.js +0 -371
  102. package/dist/index-Dqf27vLH.js +0 -841
@@ -1,15 +1,16 @@
1
- import { type InventoryPlanTier } from './plan-tier';
1
+ import type { InventoryPlanTier } from './plan-tier';
2
2
  export interface FeatureDefinition<Key extends string = string> {
3
3
  key: Key;
4
4
  minimumTier: InventoryPlanTier;
5
5
  release?: FeatureRelease;
6
+ flagKeys?: readonly string[];
6
7
  }
7
8
  export type ReleaseStage = 'off' | 'beta' | 'ga';
8
9
  export interface FeatureRelease {
9
10
  stage: ReleaseStage;
10
11
  }
11
12
  export interface FeatureEvaluationContext {
12
- planTier: InventoryPlanTier;
13
+ isFlagOn: (flagKey: string) => boolean;
13
14
  businessId?: string;
14
15
  locationId?: string;
15
16
  }
@@ -14,11 +14,8 @@ export interface PortalFeatureCatalogueEntry {
14
14
  flagKeys?: readonly string[];
15
15
  definition?: FeatureDefinition;
16
16
  }
17
- /**
18
- * Product classification for every portal feature currently controlled by a
19
- * feature flag. Keep this independent of the vendor flag names so that rollout
20
- * mechanisms can change without touching component code.
21
- */
22
17
  export declare const portalFeatureCatalogue: readonly PortalFeatureCatalogueEntry[];
18
+ /** Flags a Premium plan switches on, regardless of their rollout state. */
19
+ export declare const PREMIUM_FLAG_KEYS: ReadonlySet<string>;
23
20
  export declare function getPortalFeature(key: string): PortalFeatureCatalogueEntry | undefined;
24
21
  export declare function getPortalFeatureForFlag(flagKey: string): PortalFeatureCatalogueEntry | undefined;
@@ -0,0 +1 @@
1
+ export {};
@@ -12,3 +12,5 @@ export interface UseFeatureResult {
12
12
  export declare function useFeature(feature: MaybeRef<FeatureDefinition | null>): UseFeatureResult;
13
13
  /** Provides the current actor context to the headless evaluator. */
14
14
  export declare function useFeatureEvaluationContext(): ComputedRef<FeatureEvaluationContext>;
15
+ /** A premium plan switches the capability flags on, so the flag alone decides access. */
16
+ export declare function isPortalFeatureFlagOn(featureKey: string | undefined): boolean;
@@ -1,4 +1,4 @@
1
- import { h as n } from "./date2-Ci7521dn.js";
1
+ import { h as n } from "./date2-IBrLdtni.js";
2
2
  function d(r) {
3
3
  const t = a(r);
4
4
  return t === null ? "" : n(t);
@@ -1,24 +1,24 @@
1
1
  import { components as ce, useDialogChild as Pe, useSnackbar as de, useDialog as Me, FmButtonVariant as te } from "@feedmepos/ui-library";
2
2
  import { defineStore as pe } from "pinia";
3
3
  import { F as xe } from "./form-mode.enum-BKiNVH6A.js";
4
- import { u as fe } from "./purchase-order-template-CDhn9ZIF.js";
4
+ import { u as fe } from "./purchase-order-template-hvq2pfWx.js";
5
5
  import { ref as I, h as oe, defineComponent as ye, resolveComponent as W, createElementBlock as F, openBlock as O, createElementVNode as N, createCommentVNode as J, normalizeClass as Z, createTextVNode as Be, toDisplayString as q, unref as B, createVNode as z, withCtx as me, Fragment as Y, renderList as ae, onMounted as Le, computed as H, watch as Qe, createSlots as Ue, createBlock as re } from "vue";
6
- import { a as X, c as ve, r as L, u as ie, m as qe, k as _e, s as Ve, R as we } from "./app-DqJp3dcI.js";
6
+ import { a as X, c as ve, r as L, u as ie, m as qe, k as _e, s as Ve, R as we } from "./app-Ccdgbe4f.js";
7
7
  import { useRouter as He } from "vue-router";
8
- import { a as ze } from "./FmMultiselectDialog-CULwA_hi.js";
9
- import { D as ne, R as U } from "./row-action.enum-NTfVmGY8.js";
8
+ import { a as ze } from "./FmMultiselectDialog-DRxZAkcu.js";
9
+ import { D as ne, R as U } from "./row-action.enum-R2bi3eAv.js";
10
10
  import { c as je } from "./component-BmLAdDiY.js";
11
- import { f as Ye } from "./format-time-from-id-Q8C2P96H.js";
11
+ import { f as Ye } from "./format-time-from-id-BgbBOII7.js";
12
12
  import { useI18n as he, useCoreStore as Ie } from "@feedmepos/mf-common";
13
- import { t as K, a as Ce, d as Oe, s as Ae, r as Ke } from "./xlsx.util-CP8_VajN.js";
13
+ import { t as K, a as Ce, d as Oe, s as Ae, r as Ke } from "./xlsx.util-CK9Lnq3Q.js";
14
14
  import { F as Ge } from "./FmDroppableField-J0tG_U3w.js";
15
- import { a as G, c as We, t as se, g as ue } from "./number-CB36d2PQ.js";
16
- import { f as Je } from "./date2-Ci7521dn.js";
17
- import { u as ge } from "./supplier-CZdNOSMN.js";
18
- import { a as Ze, B as Xe } from "./rules-C8dfM84-.js";
19
- import { u as Te } from "./netsuite-BaJjkDM8.js";
20
- import { u as et } from "./duplicate-template-By5WeKZ0.js";
21
- import { u as tt } from "./vue-i18n-S4YQ9w6a.js";
15
+ import { a as G, c as We, t as se, g as ue } from "./number-Besn-1-5.js";
16
+ import { f as Je } from "./date2-IBrLdtni.js";
17
+ import { u as ge } from "./supplier-DtdwvcPr.js";
18
+ import { a as Ze, B as Xe } from "./rules-DzwoRKUS.js";
19
+ import { u as Te } from "./netsuite-B6y8GZCP.js";
20
+ import { u as et } from "./duplicate-template-Do8s80ei.js";
21
+ import { u as tt } from "./vue-i18n-DTyGIjTI.js";
22
22
  function De(n) {
23
23
  const e = X(), o = n.sku, d = e.skuById[o._id];
24
24
  if (d.unit._id !== o.unit._id) return !0;
@@ -1,4 +1,4 @@
1
- import { d as p, u as F } from "./app-DqJp3dcI.js";
1
+ import { d as p, u as F } from "./app-Ccdgbe4f.js";
2
2
  import { useCoreStore as y } from "@feedmepos/mf-common";
3
3
  import { ref as v } from "vue";
4
4
  const l = p((e, r) => {
@@ -1,10 +1,10 @@
1
- import { a as w, t as H, f as T } from "./number-CB36d2PQ.js";
2
- import { useFeatureStore as P } from "./feature-fG7d73oi.js";
1
+ import { a as w, t as H, f as T } from "./number-Besn-1-5.js";
2
+ import { u as P } from "./feature-ChVm5JED.js";
3
3
  import { useCoreStore as y } from "@feedmepos/mf-common";
4
- import { a as g, g as k, m as j, e as S } from "./app-DqJp3dcI.js";
5
- import { b as N, d as $, s as I } from "./xlsx.util-CP8_VajN.js";
6
- import { f as _ } from "./date2-Ci7521dn.js";
7
- import { I as O } from "./rules-C8dfM84-.js";
4
+ import { a as g, g as k, m as j, e as S } from "./app-Ccdgbe4f.js";
5
+ import { b as N, d as $, s as I } from "./xlsx.util-CK9Lnq3Q.js";
6
+ import { f as _ } from "./date2-IBrLdtni.js";
7
+ import { I as O } from "./rules-DzwoRKUS.js";
8
8
  function U() {
9
9
  return {
10
10
  low: 6,
@@ -28,14 +28,14 @@ function A(e) {
28
28
  for (const r of i) {
29
29
  const n = r.indexOf(":");
30
30
  if (n > 0) {
31
- const m = r.substring(0, n).trim(), a = r.substring(n + 1).trim();
32
- m && a && (t[m] = a);
31
+ const u = r.substring(0, n).trim(), a = r.substring(n + 1).trim();
32
+ u && a && (t[u] = a);
33
33
  }
34
34
  }
35
35
  return Object.keys(t).length > 0 ? t : void 0;
36
36
  }
37
37
  function V(e) {
38
- var i, r, n, m, a;
38
+ var i, r, n, u, a;
39
39
  return {
40
40
  code: e.code,
41
41
  name: e.name,
@@ -44,7 +44,7 @@ function V(e) {
44
44
  measurementName: ((i = e.unit.measurements.find((c) => c.id === e.trackingMeasurement)) == null ? void 0 : i.abbrev) ?? e.unit.abbrev,
45
45
  valuationMethod: e.valuation ?? "WAVG",
46
46
  pricePerUnit: (r = e.defaultCost) != null && r.costPerUnit ? +w((n = e.defaultCost) == null ? void 0 : n.costPerUnit) : 0,
47
- thresholdLow: ((m = e.thresholds) == null ? void 0 : m.low) ?? U().low,
47
+ thresholdLow: ((u = e.thresholds) == null ? void 0 : u.low) ?? U().low,
48
48
  thresholdMid: ((a = e.thresholds) == null ? void 0 : a.mid) ?? U().mid,
49
49
  customAttributes: B(e.customAttributes)
50
50
  };
@@ -97,14 +97,14 @@ function E() {
97
97
  }), e;
98
98
  }
99
99
  function X(e) {
100
- const t = g(), i = (e ?? t.skus).map(V), n = y().currentBusiness.value, m = E(), a = [
100
+ const t = g(), i = (e ?? t.skus).map(V), n = y().currentBusiness.value, u = E(), a = [
101
101
  ["Business name:", n == null ? void 0 : n.name],
102
102
  ["Business ID:", n == null ? void 0 : n._id],
103
103
  ["Menu version", n == null ? void 0 : n.menuVersion],
104
104
  [],
105
- m.map((s) => s.name),
106
- ...i.map((s) => m.map((d) => s[d.id]))
107
- ], c = m.map((s) => `system:${s.id}`), l = N(a, c), o = `${n == null ? void 0 : n.name} ingredients (${_(/* @__PURE__ */ new Date())}).xlsx`;
105
+ u.map((s) => s.name),
106
+ ...i.map((s) => u.map((d) => s[d.id]))
107
+ ], c = u.map((s) => `system:${s.id}`), l = N(a, c), o = `${n == null ? void 0 : n.name} ingredients (${_(/* @__PURE__ */ new Date())}).xlsx`;
108
108
  return $(l, o), o;
109
109
  }
110
110
  function Z() {
@@ -114,8 +114,8 @@ function Z() {
114
114
  ["Menu version", t == null ? void 0 : t.menuVersion],
115
115
  [],
116
116
  i.map((c) => c.name)
117
- ], n = i.map((c) => `system:${c.id}`), m = N(r, n), a = "FeedMe ingredients template.xlsx";
118
- return $(m, a), a;
117
+ ], n = i.map((c) => `system:${c.id}`), u = N(r, n), a = "FeedMe ingredients template.xlsx";
118
+ return $(u, a), a;
119
119
  }
120
120
  function L(e) {
121
121
  const [
@@ -123,7 +123,7 @@ function L(e) {
123
123
  i,
124
124
  r,
125
125
  n,
126
- m,
126
+ u,
127
127
  a,
128
128
  ...c
129
129
  ] = I(e);
@@ -148,27 +148,27 @@ function L(e) {
148
148
  }
149
149
  function R(e, t, i, { ignoreErrors: r = !1 } = {}) {
150
150
  var M;
151
- const m = g().units, a = new Array(), c = i.filter((u) => u.data.code === e.code);
151
+ const u = g().units, a = new Array(), c = i.filter((m) => m.data.code === e.code);
152
152
  c.length > 1 && a.push(
153
- `Code ${e.code} is already used in row ${c.map((u) => u.index + 6).join()}.`
153
+ `Code ${e.code} is already used in row ${c.map((m) => m.index + 6).join()}.`
154
154
  );
155
- const l = m.find((u) => {
155
+ const l = u.find((m) => {
156
156
  var x, C;
157
- return u.abbrev === e.baseUnit && ((x = u.name) == null ? void 0 : x.trim()) === ((C = e.unit) == null ? void 0 : C.trim());
158
- }), o = l == null ? void 0 : l.measurements.find((u) => u.abbrev === e.measurementName);
157
+ return m.abbrev === e.baseUnit && ((x = m.name) == null ? void 0 : x.trim()) === ((C = e.unit) == null ? void 0 : C.trim());
158
+ }), o = l == null ? void 0 : l.measurements.find((m) => m.abbrev === e.measurementName);
159
159
  if (!l)
160
160
  a.push(`Cannot find unit with symbol ${e.baseUnit}.`);
161
161
  else if (e.baseUnit !== e.measurementName && !o) {
162
- const u = `Cannot find measurement symbol ${e.measurementName || "[empty]"} for unit symbol ${e.baseUnit}.`;
163
- a.push(u);
162
+ const m = `Cannot find measurement symbol ${e.measurementName || "[empty]"} for unit symbol ${e.baseUnit}.`;
163
+ a.push(m);
164
164
  }
165
165
  const s = S.options.find(
166
- (u) => u === e.valuationMethod
166
+ (m) => m === e.valuationMethod
167
167
  );
168
168
  e.valuationMethod && !s && a.push(
169
169
  `Expected valuation method to be one of ${S.options.join()} but got ${e.valuationMethod} instead.`
170
170
  );
171
- const p = y().currentCountry.value, h = (u) => `${u}`.length && O()(u) === !0, f = h(`${e.pricePerUnit}`) === !0 ? {
171
+ const p = y().currentCountry.value, h = (m) => `${m}`.length && O()(m) === !0, f = h(`${e.pricePerUnit}`) === !0 ? {
172
172
  costPerUnit: {
173
173
  ...H(Number(e.pricePerUnit) || 0, T(Number(e.pricePerUnit) || 0)),
174
174
  currency: ((M = k(p)) == null ? void 0 : M.currency) ?? "MYR"
@@ -183,7 +183,7 @@ function R(e, t, i, { ignoreErrors: r = !1 } = {}) {
183
183
  sku: {
184
184
  code: e.code,
185
185
  name: e.name,
186
- unit: l ?? m.find((u) => u) ?? D,
186
+ unit: l ?? u.find((m) => m) ?? D,
187
187
  trackingMeasurement: o == null ? void 0 : o.id,
188
188
  valuation: s,
189
189
  defaultCost: f,
@@ -196,7 +196,7 @@ function R(e, t, i, { ignoreErrors: r = !1 } = {}) {
196
196
  }
197
197
  function ee(e) {
198
198
  try {
199
- const t = L(e).filter((o) => o.data.code), r = g().skus, n = j(r, "code"), m = t.filter((o) => !n[o.data.code]), a = t.filter((o) => n[o.data.code]), c = m.map(
199
+ const t = L(e).filter((o) => o.data.code), r = g().skus, n = j(r, "code"), u = t.filter((o) => !n[o.data.code]), a = t.filter((o) => n[o.data.code]), c = u.map(
200
200
  (o) => R(o.data, o.index, t)
201
201
  ), l = a.map((o) => {
202
202
  const s = R(o.data, o.index, t), d = n[o.data.code];
@@ -1,9 +1,9 @@
1
1
  import { ref as v, computed as f } from "vue";
2
- import { u as w } from "./netsuite-BaJjkDM8.js";
3
- import { A as L, a as p, u as y, d as k, G as h } from "./app-DqJp3dcI.js";
2
+ import { u as w } from "./netsuite-B6y8GZCP.js";
3
+ import { A as L, a as p, u as y, d as k, G as h } from "./app-Ccdgbe4f.js";
4
4
  import { useSnackbar as B } from "@feedmepos/ui-library";
5
5
  import { useCoreStore as E } from "@feedmepos/mf-common";
6
- import { useFeatureStore as S } from "./feature-fG7d73oi.js";
6
+ import { u as S } from "./feature-ChVm5JED.js";
7
7
  function C() {
8
8
  return {
9
9
  setting: {
@@ -1,4 +1,4 @@
1
- import { y as L, aw as V, ax as je, ay as X, ap as Bl, a1 as Ar, az as Te, aA as Yt, aB as Wt } from "./app-DqJp3dcI.js";
1
+ import { y as L, aw as V, ax as je, ay as X, ap as Bl, a1 as Ar, az as Te, aA as Yt, aB as Wt } from "./app-Ccdgbe4f.js";
2
2
  import { d as wl, _ as zl } from "./dinero-DMLEtkS9.js";
3
3
  function Ul(t, e) {
4
4
  for (var r = 0; r < e.length; r++) {
@@ -1,4 +1,4 @@
1
- import { y as h } from "./app-DqJp3dcI.js";
1
+ import { y as h } from "./app-Ccdgbe4f.js";
2
2
  var a = { exports: {} };
3
3
  function x(r, s = 100, u = {}) {
4
4
  if (typeof r != "function")
@@ -1,4 +1,4 @@
1
- import { y as O } from "./app-DqJp3dcI.js";
1
+ import { y as O } from "./app-Ccdgbe4f.js";
2
2
  var j = { exports: {} };
3
3
  (function(_) {
4
4
  var S = function() {
@@ -1,8 +1,8 @@
1
- import { y as s_, a1 as vi, D as i, ae as u_, af as o_, ag as a_, ah as c_, ai as Ti, aj as d_, C as at, ak as bi, a0 as Ys, al as ru, am as nc, an as Oe, ao as Le, N as De, w as oe, ap as Er, B as Bt, aq as Js, Z as Ye, e as zn, ar as ic, as as l_, at as f_, au as m_, a3 as su, a9 as p_, d as g_, j as h_, s as Wa, a as __, u as Ei } from "./app-DqJp3dcI.js";
1
+ import { y as s_, a1 as vi, D as i, ae as u_, af as o_, ag as a_, ah as c_, ai as Ti, aj as d_, C as at, ak as bi, a0 as Ys, al as ru, am as nc, an as Oe, ao as Le, N as De, w as oe, ap as Er, B as Bt, aq as Js, Z as Ye, e as zn, ar as ic, as as l_, at as f_, au as m_, a3 as su, a9 as p_, d as g_, j as h_, s as Wa, a as __, u as Ei } from "./app-Ccdgbe4f.js";
2
2
  import { useCoreStore as Cn } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as I_ } from "@feedmepos/ui-library";
4
4
  import { defineComponent as y_, ref as Zs, computed as An, resolveComponent as Kn, createBlock as zs, openBlock as _t, withCtx as ut, createElementVNode as ge, createElementBlock as Qt, createVNode as At, createTextVNode as ot, toDisplayString as Ue, Fragment as vr, createCommentVNode as Dn, renderList as v_, unref as qa, h as E_ } from "vue";
5
- import { useFeatureStore as b_ } from "./feature-fG7d73oi.js";
5
+ import { u as b_ } from "./feature-ChVm5JED.js";
6
6
  var br = { exports: {} };
7
7
  /**
8
8
  * @license
@@ -1,6 +1,6 @@
1
- import { w as o } from "./app-DqJp3dcI.js";
2
- import { F as l } from "./decimal-BGdm5R3A.js";
3
- import "./dayjs.min-Cyp32v4J.js";
1
+ import { w as o } from "./app-Ccdgbe4f.js";
2
+ import { F as l } from "./decimal-g6jRdlSk.js";
3
+ import "./dayjs.min-DEkq-Hpp.js";
4
4
  function g(n, t) {
5
5
  return o.convertPrecision({
6
6
  value: n,
@@ -1,4 +1,4 @@
1
- import { d as qn, j as Wn, y as zn } from "./app-DqJp3dcI.js";
1
+ import { d as qn, j as Wn, y as zn } from "./app-Ccdgbe4f.js";
2
2
  import { defineStore as Vn } from "pinia";
3
3
  import { ref as mt, computed as Kn } from "vue";
4
4
  import { useCoreStore as Yn } from "@feedmepos/mf-common";
@@ -1,4 +1,4 @@
1
- import { d as s } from "./app-DqJp3dcI.js";
1
+ import { d as s } from "./app-Ccdgbe4f.js";
2
2
  import { useCoreStore as c } from "@feedmepos/mf-common";
3
3
  const u = s((n, a) => {
4
4
  function o() {
@@ -1,4 +1,4 @@
1
- import { B as p } from "./app-DqJp3dcI.js";
1
+ import { B as p } from "./app-Ccdgbe4f.js";
2
2
  function l(s) {
3
3
  return Math.floor(s.getTime() / 1e3) * 1e3;
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import { h as r } from "vue";
2
- import { a as o } from "./FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-CMoQKl_a.js";
2
+ import { a as o } from "./FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-D-RzUmqA.js";
3
3
  var e = /* @__PURE__ */ ((t) => (t.Add = "Add", t.Create = "Create", t.Print = "Print", t.PrintCustom = "PrintCustom", t.PrintPdf = "PrintPdf", t.Export = "Export", t.Update = "Update", t.Details = "Details", t.Edit = "Edit", t.Delete = "Delete", t.Publish = "Publish", t.Duplicate = "Duplicate", t.Email = "Email", t))(e || {});
4
4
  const i = {
5
5
  Add: {
@@ -1,5 +1,5 @@
1
- import { c as f, a as u, g as d, b as m } from "./number-CB36d2PQ.js";
2
- import { c as b, d as p } from "./date2-Ci7521dn.js";
1
+ import { c as f, a as u, g as d, b as m } from "./number-Besn-1-5.js";
2
+ import { c as b, d as p } from "./date2-IBrLdtni.js";
3
3
  function M() {
4
4
  return function(e) {
5
5
  return !!e || "Required";
@@ -1,7 +1,7 @@
1
- import { u as i } from "./stock-Qu5IiN2_.js";
2
- import { a as s, Y as p } from "./app-DqJp3dcI.js";
1
+ import { u as i } from "./stock-oJqnUrtt.js";
2
+ import { a as s, Y as p } from "./app-Ccdgbe4f.js";
3
3
  import { computed as k, ref as B } from "vue";
4
- import { c as d } from "./number-CB36d2PQ.js";
4
+ import { c as d } from "./number-Besn-1-5.js";
5
5
  function m() {
6
6
  return {
7
7
  stockBalance: {
@@ -1,4 +1,4 @@
1
- import { d as m, u as $ } from "./app-DqJp3dcI.js";
1
+ import { d as m, u as $ } from "./app-Ccdgbe4f.js";
2
2
  import { useCoreStore as B } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as y } from "@feedmepos/ui-library";
4
4
  const N = m((r, a) => {
@@ -75,6 +75,7 @@ export declare const useFeatureStore: () => {
75
75
  expiredAt: string;
76
76
  }[];
77
77
  hasPlanTier(minimum: InventoryPlanTier): boolean;
78
+ isFlagOn(flag: string): boolean;
78
79
  readonly enablePoTemplate: boolean;
79
80
  readonly enableClosingTemplate: boolean;
80
81
  readonly enableWastageTemplate: boolean;
@@ -1,51 +1,51 @@
1
- import { d as b, u, m as v, n as w, o as $ } from "./app-DqJp3dcI.js";
2
- import { useFeatureStore as S } from "./feature-fG7d73oi.js";
1
+ import { d as b, u, m as v, n as w, o as $ } from "./app-Ccdgbe4f.js";
2
+ import { u as S } from "./feature-ChVm5JED.js";
3
3
  import { useCoreStore as c } from "@feedmepos/mf-common";
4
4
  import { defineStore as f } from "pinia";
5
5
  import { ref as l, computed as d } from "vue";
6
- const i = b((a, s) => {
6
+ const i = b((p, s) => {
7
7
  function n() {
8
8
  var o;
9
- const t = c(), r = u(), p = S().businessSupplierOnly, y = `business_${((o = t.currentBusiness.value) == null ? void 0 : o._id) ?? ""}`, m = r.currentLocation.dbName;
10
- return p ? y : m;
9
+ const t = c(), r = u(), a = S().businessSupplierOnly, y = `business_${((o = t.currentBusiness.value) == null ? void 0 : o._id) ?? ""}`, m = r.currentLocation.dbName;
10
+ return a ? y : m;
11
11
  }
12
12
  return {
13
13
  async readSuppliers() {
14
- const t = n(), r = `${a.inventoryBackendUrl}/${t}/supplier`;
14
+ const t = n(), r = `${p.inventoryBackendUrl}/${t}/supplier`;
15
15
  return await s.get(r);
16
16
  },
17
17
  async readLocationSuppliers() {
18
- const r = u().currentLocation.dbName, e = `${a.inventoryBackendUrl}/${r}/supplier`;
18
+ const r = u().currentLocation.dbName, e = `${p.inventoryBackendUrl}/${r}/supplier`;
19
19
  return await s.get(e);
20
20
  },
21
21
  async readSuppliersByDbName(t) {
22
- const r = `${a.inventoryBackendUrl}/${t}/supplier`;
22
+ const r = `${p.inventoryBackendUrl}/${t}/supplier`;
23
23
  return await s.get(r);
24
24
  },
25
25
  async readBusinessSuppliers() {
26
- var p;
27
- const r = `business_${((p = c().currentBusiness.value) == null ? void 0 : p._id) ?? ""}`, e = `${a.inventoryBackendUrl}/${r}/supplier`;
26
+ var a;
27
+ const r = `business_${((a = c().currentBusiness.value) == null ? void 0 : a._id) ?? ""}`, e = `${p.inventoryBackendUrl}/${r}/supplier`;
28
28
  return await s.get(e);
29
29
  },
30
30
  async createSupplier(t) {
31
- const r = n(), e = `${a.inventoryBackendUrl}/${r}/supplier`;
31
+ const r = n(), e = `${p.inventoryBackendUrl}/${r}/supplier`;
32
32
  return await s.post(e, t);
33
33
  },
34
34
  async importSuppliers(t) {
35
- const r = n(), e = `${a.inventoryBackendUrl}/${r}/supplier/import`;
35
+ const r = n(), e = `${p.inventoryBackendUrl}/${r}/supplier/import`;
36
36
  return await s.post(e, t);
37
37
  },
38
38
  async updateSupplier(t) {
39
- const r = n(), e = `${a.inventoryBackendUrl}/${r}/supplier`;
39
+ const r = n(), e = `${p.inventoryBackendUrl}/${r}/supplier`;
40
40
  return await s.put(e, t);
41
41
  },
42
42
  async deleteSupplier(t) {
43
- const r = n(), e = `${a.inventoryBackendUrl}/${r}/supplier`;
43
+ const r = n(), e = `${p.inventoryBackendUrl}/${r}/supplier`;
44
44
  return await s.delete(e, t);
45
45
  }
46
46
  };
47
47
  }), g = f("supplier", () => {
48
- const a = S(), s = l(new Array()), n = l(new Array()), t = d(() => a.businessSupplierOnly ? n.value : [...s.value, ...n.value]), r = d(() => v(t.value, "_id"));
48
+ const p = S(), s = l(new Array()), n = l(new Array()), t = d(() => p.businessSupplierOnly ? n.value : [...s.value, ...n.value]), r = d(() => v(t.value, "_id"));
49
49
  return {
50
50
  async readSuppliers() {
51
51
  const e = i();
@@ -67,8 +67,8 @@ const i = b((a, s) => {
67
67
  const e = w();
68
68
  try {
69
69
  await this.readSuppliers();
70
- } catch (p) {
71
- throw p instanceof $ || e.error("Error at reading suppliers"), p;
70
+ } catch (a) {
71
+ throw a instanceof $ || e.error("Error at reading suppliers"), a;
72
72
  }
73
73
  },
74
74
  suppliers: t,
@@ -1,5 +1,5 @@
1
1
  import { ref as d } from "vue";
2
- import { d as w, j as g } from "./app-DqJp3dcI.js";
2
+ import { d as w, j as g } from "./app-Ccdgbe4f.js";
3
3
  import { useCoreStore as h } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as y } from "@feedmepos/ui-library";
5
5
  const p = w((s, r) => {