@feedmepos/mf-inventory-portal 1.8.0-dev.3 → 1.8.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 (133) hide show
  1. package/dist/App-DEbWEOwe.js +1537 -0
  2. package/dist/{ApprovalView-hV1msz5Y.js → ApprovalView-BEnYHIlU.js} +9 -9
  3. package/dist/{BindingsDialog-BX1Lopf0.js → BindingsDialog-CJVkMoBS.js} +2 -2
  4. package/dist/{BindingsPicker-BNKW8-XY.js → BindingsPicker-CX9o-xdQ.js} +2 -2
  5. package/dist/{BindingsTable-DiLDsL83.js → BindingsTable-Cil4LJ7l.js} +4 -4
  6. package/dist/{BulkReceiveRequestView-oQh6kFLc.js → BulkReceiveRequestView-DYEc2jPw.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-DoAv2mHA.js} +1 -1
  8. package/dist/{ClosingDraftView-sgLoaSf4.js → ClosingDraftView-Bz94Iejf.js} +20 -20
  9. package/dist/{ClosingHistoryView-BnE9HrzA.js → ClosingHistoryView-B479Y-mH.js} +5 -5
  10. package/dist/{ClosingTemplateView-BD3Pa11r.js → ClosingTemplateView-F_nx43n6.js} +18 -18
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-DlbyxkMQ.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-DddYGHxQ.js} +1 -1
  12. package/dist/{DefaultView-CuzvVkfE.js → DefaultView-CkZOl0ov.js} +5 -5
  13. package/dist/{DeliveryOrderPrintPreview-w-1aAOY1.js → DeliveryOrderPrintPreview-BJEpwAX6.js} +2 -2
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-CxD12Qct.js → EmailDialog.vue_vue_type_script_setup_true_lang-BW988AoC.js} +29 -30
  15. package/dist/{FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-CMoQKl_a.js → FeatureCapabilityBadge.vue_vue_type_script_setup_true_lang-Izn-hTjK.js} +107 -118
  16. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-BqCh_vTP.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-CoUWxHlj.js} +1 -1
  17. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CAXnmdUy.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-Ci81xTbl.js} +2 -2
  18. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-NhOdW33O.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CnaHTAUZ.js} +2 -2
  19. package/dist/{FmMultiselectDialog-CULwA_hi.js → FmMultiselectDialog-BE8BlO6_.js} +2 -2
  20. package/dist/FmMultiselectDialog-COKgBmPZ.js +123 -0
  21. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-CI3Y9kDl.js → FmUnitInput.vue_vue_type_script_setup_true_lang-BQHd3NjM.js} +6 -6
  22. package/dist/ImportView-Crb_yrNb.js +1291 -0
  23. package/dist/{IngredientsView-pzpP6oXT.js → IngredientsView-lDypeR4c.js} +34 -35
  24. package/dist/{IntegrationExplorerView-C5aAhB6e.js → IntegrationExplorerView-DgOFGj7H.js} +4 -4
  25. package/dist/{IntegrationView-Bqun7nX0.js → IntegrationView-0sbjINo5.js} +973 -974
  26. package/dist/{InventoryBindingForm-r_Ua1C4a.js → InventoryBindingForm-BhyrjIXJ.js} +1 -1
  27. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-KCz_BQ6T.js +472 -0
  28. package/dist/{InventoryBindingSummary-BQuZLohR.js → InventoryBindingSummary-CsfNKd1r.js} +1 -1
  29. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-7r-QcJdU.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-C32OoIBz.js} +1 -1
  30. package/dist/{ProductionRunDetailView-95fu_CfH.js → ProductionRunDetailView-BxbDtGMo.js} +4 -4
  31. package/dist/{ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-CdOca1tV.js → ProductionRunLifecycleDialogs.vue_vue_type_script_setup_true_lang-BdJVvwSP.js} +9 -9
  32. package/dist/{ProductionRunView-DIjor_Ix.js → ProductionRunView-CJhNEIzT.js} +3 -3
  33. package/dist/{PublishView-DYObyHQq.js → PublishView-vkt6-D6P.js} +3 -3
  34. package/dist/{PurchaseOrderPrintPreview-C0jCmI9L.js → PurchaseOrderPrintPreview-25dHfVKp.js} +2 -2
  35. package/dist/{ReceiveRequestView-i7ibPfIE.js → ReceiveRequestView-BO4Z2dZu.js} +15 -16
  36. package/dist/RecipeView-B_AE7QQv.js +3428 -0
  37. package/dist/{SettingsView-CdBloj9k.js → SettingsView-qTUvQCuu.js} +163 -168
  38. package/dist/{StockView-g_6eJ62R.js → StockView-yh6qkYUS.js} +269 -270
  39. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-C1rKc7MA.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-Cn_fx9qG.js} +1 -1
  40. package/dist/{SupplierView-DkYp_Frj.js → SupplierView-Dqzu1Bvh.js} +14 -14
  41. package/dist/{SurchargeView-CfkV4Y3y.js → SurchargeView-CDosn36c.js} +7 -7
  42. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-2MtN1p5t.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-DZ3Gdlp9.js} +2 -2
  43. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CYMjKXq4.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CWoh2FqQ.js} +1 -1
  44. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-D0zNr_vQ.js → TransferDetails.vue_vue_type_script_setup_true_lang-BtjKnIwf.js} +867 -844
  45. package/dist/{TransferTemplateView-Ne2gYUSn.js → TransferTemplateView-fDZcC9i4.js} +22 -23
  46. package/dist/{UnitCostHistoryView-Db0_otOb.js → UnitCostHistoryView-CmTTIXAp.js} +4 -4
  47. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-BzO1lq7j.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-DZihCM0T.js} +4 -4
  48. package/dist/{UnitView-CiCeQ63i.js → UnitView-BTx59sFK.js} +8 -8
  49. package/dist/{WarehouseView-BcuJSOMF.js → WarehouseView-BIFe08FJ.js} +8 -8
  50. package/dist/{WastageTemplateView-CPQmtOKQ.js → WastageTemplateView-B_oJqm0_.js} +15 -15
  51. package/dist/api/feature-flags.d.ts +2 -0
  52. package/dist/api/license.d.ts +0 -2
  53. package/dist/{app-DqJp3dcI.js → app-DyEvx3Em.js} +1628 -1817
  54. package/dist/app.d.ts +0 -150
  55. package/dist/app.js +1 -1
  56. package/dist/{closing-template-BNlgZviN.js → closing-template-FgcLy4RT.js} +1 -1
  57. package/dist/components/FeatureCapabilityBadge.vue.d.ts +1 -1
  58. package/dist/{date2-Ci7521dn.js → date2-Rv4IwT9a.js} +1 -1
  59. package/dist/{dayjs.min-Cyp32v4J.js → dayjs.min-DOq1QM_M.js} +1 -1
  60. package/dist/{decimal-BGdm5R3A.js → decimal-7vA05AaD.js} +2 -2
  61. package/dist/{defineDeepModel-B2cJ-rtd.js → defineDeepModel-22Md2SKY.js} +1 -1
  62. package/dist/{duplicate-template-By5WeKZ0.js → duplicate-template-D2tjCY7C.js} +1 -1
  63. package/dist/{core-Js7d-3Pv.js → feature-BMTKl6PK.js} +732 -389
  64. package/dist/feature-flags/core.d.ts +3 -2
  65. package/dist/feature-flags/portal-feature-catalog.d.ts +0 -5
  66. package/dist/feature-flags/vue.d.ts +2 -0
  67. package/dist/{format-time-from-id-Q8C2P96H.js → format-time-from-id-DXhm_Ji1.js} +1 -1
  68. package/dist/{format-unit-display-CICrmm8r.js → format-unit-display-DxWLjFPz.js} +13 -13
  69. package/dist/helper/menu-usage-module.d.ts +1 -1
  70. package/dist/{id-to-date-DeN5x0LR.js → id-to-date-VKlOL3mN.js} +1 -1
  71. package/dist/{import-export.helper-BOTQWxr6.js → import-export.helper-BiF5aKUp.js} +28 -28
  72. package/dist/{index-BbbqCCfp.js → index-DEl_gZn0.js} +3 -3
  73. package/dist/{index-tCYhLCKP.js → index-DdtsVAcv.js} +1 -1
  74. package/dist/{index-Cxm3Sgfv.js → index-DoBWE4Ci.js} +1 -1
  75. package/dist/{lz-string-Dy4Pg8mh.js → lz-string-BwQj8QRN.js} +1 -1
  76. package/dist/{netsuite-BaJjkDM8.js → netsuite-s1S33-lP.js} +2 -2
  77. package/dist/{number-CB36d2PQ.js → number-BmKjsNrc.js} +3 -3
  78. package/dist/{predefined-templates-DLm93Bpx.js → predefined-templates-BZ2KqNix.js} +1 -1
  79. package/dist/{purchase-order-template-CDhn9ZIF.js → purchase-order-template-CINU4my1.js} +1 -1
  80. package/dist/{recalculationUtils-Cqvefakh.js → recalculationUtils-R5tFu_ts.js} +1 -1
  81. package/dist/router/name.d.ts +0 -1
  82. package/dist/{row-action.enum-NTfVmGY8.js → row-action.enum-ePO-Py0V.js} +1 -1
  83. package/dist/{rules-C8dfM84-.js → rules-BZrZVzw7.js} +2 -2
  84. package/dist/{stock-BGB0Siue.js → stock-C2HOKq0k.js} +8 -8
  85. package/dist/{stock-Qu5IiN2_.js → stock-Ce1UvAZ3.js} +1 -1
  86. package/dist/stores/feature.d.ts +10 -9
  87. package/dist/stores/inventory.d.ts +0 -47
  88. package/dist/stores/supplier.d.ts +1 -1
  89. package/dist/style.css +1 -1
  90. package/dist/{supplier-CZdNOSMN.js → supplier-DgT66emI.js} +17 -17
  91. package/dist/{surcharge-Cm40oJvU.js → surcharge-CsVMuzPM.js} +1 -1
  92. package/dist/tsconfig.app.tsbuildinfo +1 -1
  93. package/dist/{uom-rules-L-IW4Nwk.js → uom-rules-CR1XukyM.js} +1 -1
  94. package/dist/{use-ingredient-select-dialog-B2TDVJM6.js → use-ingredient-select-dialog-CJkG4hEX.js} +2 -2
  95. package/dist/use-inventory-binding-dialog-B36kPj4V.js +113 -0
  96. package/dist/{use-template-enabled-locations-DYAPMvo9.js → use-template-enabled-locations-Boa9QLPV.js} +2 -2
  97. package/dist/{use-transfer-locations-w-9tymYS.js → use-transfer-locations-BxOygSUg.js} +2 -2
  98. package/dist/{useHrmPermission-BFCIo5sA.js → useHrmPermission-DLHAqbLV.js} +1 -1
  99. package/dist/{useNavigationMenu-BPHAH5sJ.js → useNavigationMenu-D6abZMGz.js} +102 -109
  100. package/dist/{useSseClient-CWjRacRs.js → useSseClient-C7pff-EW.js} +1 -1
  101. package/dist/views/ingredients/components/inventory-binding/InventoryBindingForm.vue.d.ts +0 -1
  102. package/dist/views/ingredients/components/inventory-binding/composables/use-inventory-binding-dialog.d.ts +0 -1
  103. package/dist/views/ingredients/components/inventory-binding/v2/InventoryBindingFormV2.vue.d.ts +0 -1
  104. package/dist/views/ingredients/components/inventory-binding/v2/composables/use-inventory-binding-dialog.d.ts +0 -1
  105. package/dist/views/ingredients/helper/is-linked-ingredient-error.d.ts +1 -1
  106. package/dist/views/integration/components/IntegrationCard.vue.d.ts +3 -3
  107. package/dist/views/recipe/helper/bulk-edit-simulation.helper.d.ts +0 -1
  108. package/dist/views/recipe/helper/import-recipe.d.ts +2 -2
  109. package/dist/{vue-i18n-S4YQ9w6a.js → vue-i18n-CpOOFhVU.js} +219 -219
  110. package/dist/{xlsx.util-CP8_VajN.js → xlsx.util-xwI5tVz6.js} +2 -2
  111. package/package.json +5 -5
  112. package/dist/App-DRXADP0k.js +0 -1498
  113. package/dist/DeprecateSoonWarningDialog.vue_vue_type_script_setup_true_lang-Bp8bjDU1.js +0 -58
  114. package/dist/FmMultiselectDialog-BqZgHP8s.js +0 -77
  115. package/dist/ImportView-DqQG673_.js +0 -1302
  116. package/dist/IngredientBindedItem.vue_vue_type_script_setup_true_lang-DfvNUu80.js +0 -51
  117. package/dist/IngredientGroupView-CyngKxPo.js +0 -1000
  118. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-CYDuu4kU.js +0 -563
  119. package/dist/RecipeView-C5VO7yr3.js +0 -3625
  120. package/dist/feature-fG7d73oi.js +0 -371
  121. package/dist/index-Dqf27vLH.js +0 -841
  122. package/dist/random-CSbEbElR.js +0 -10
  123. package/dist/use-inventory-binding-dialog-BJ00hl5f.js +0 -152
  124. package/dist/usePromise-CbVUCxhj.js +0 -29
  125. package/dist/views/ingredient-group/IngredientGroupView.vue.d.ts +0 -3
  126. package/dist/views/ingredient-group/components/ingredient-group-dialog/IngredientGroupDialog.vue.d.ts +0 -31
  127. package/dist/views/ingredient-group/components/ingredient-group-dialog/IngredientGroupDialogProps.d.ts +0 -10
  128. package/dist/views/ingredient-group/components/ingredient-group-form/IngredientGroupForm.vue.d.ts +0 -21
  129. package/dist/views/ingredient-group/components/ingredient-group-form/IngredientGroupFormProps.d.ts +0 -12
  130. package/dist/views/ingredient-group/components/ingredient-group-rule-field/IngredientGroupRuleField.vue.d.ts +0 -37
  131. package/dist/views/ingredient-group/composables/use-ingredient-group-actions.d.ts +0 -24
  132. package/dist/views/ingredient-group/composables/use-ingredient-group-rule-item.d.ts +0 -31
  133. package/dist/views/ingredient-group/composables/use-ingredient-group-table.d.ts +0 -77
@@ -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,6 @@ 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[];
23
18
  export declare function getPortalFeature(key: string): PortalFeatureCatalogueEntry | undefined;
24
19
  export declare function getPortalFeatureForFlag(flagKey: string): PortalFeatureCatalogueEntry | undefined;
@@ -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-Rv4IwT9a.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-CINU4my1.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-DyEvx3Em.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-BE8BlO6_.js";
9
+ import { D as ne, R as U } from "./row-action.enum-ePO-Py0V.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-DXhm_Ji1.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-xwI5tVz6.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-BmKjsNrc.js";
16
+ import { f as Je } from "./date2-Rv4IwT9a.js";
17
+ import { u as ge } from "./supplier-DgT66emI.js";
18
+ import { a as Ze, B as Xe } from "./rules-BZrZVzw7.js";
19
+ import { u as Te } from "./netsuite-s1S33-lP.js";
20
+ import { u as et } from "./duplicate-template-D2tjCY7C.js";
21
+ import { u as tt } from "./vue-i18n-CpOOFhVU.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
- export type ModuleKey = 'item' | 'variant' | 'group' | 'catalog' | 'menu' | 'sku' | 'recipe' | 'skuGroup';
1
+ export type ModuleKey = 'item' | 'variant' | 'group' | 'catalog' | 'menu' | 'sku' | 'recipe';
2
2
  export declare function moduleFromPath(path: string): ModuleKey;
3
3
  export type UsageChainSegment = {
4
4
  itemName: string;
@@ -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-DyEvx3Em.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-BmKjsNrc.js";
2
+ import { u as P } from "./feature-BMTKl6PK.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-DyEvx3Em.js";
5
+ import { b as N, d as $, s as I } from "./xlsx.util-xwI5tVz6.js";
6
+ import { f as _ } from "./date2-Rv4IwT9a.js";
7
+ import { I as O } from "./rules-BZrZVzw7.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-s1S33-lP.js";
3
+ import { A as L, a as p, u as y, d as k, G as h } from "./app-DyEvx3Em.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-BMTKl6PK.js";
7
7
  function C() {
8
8
  return {
9
9
  setting: {
@@ -1,4 +1,4 @@
1
- import { y as h } from "./app-DqJp3dcI.js";
1
+ import { y as h } from "./app-DyEvx3Em.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 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, aq as Bl, a1 as Ar, az as Te, aA as Yt, aB as Wt } from "./app-DyEvx3Em.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 O } from "./app-DqJp3dcI.js";
1
+ import { y as O } from "./app-DyEvx3Em.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, af as u_, ag as o_, ah as a_, ai as c_, aj as Ti, ak as d_, C as at, al as bi, a0 as Ys, am as ru, an as nc, ao as Oe, ap as Le, N as De, w as oe, aq as Er, B as Bt, ar as Js, Z as Ye, e as zn, as as ic, at as l_, au as f_, av as m_, a3 as su, a9 as p_, d as g_, j as h_, s as Wa, a as __, u as Ei } from "./app-DyEvx3Em.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-BMTKl6PK.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-DyEvx3Em.js";
2
+ import { F as l } from "./decimal-7vA05AaD.js";
3
+ import "./dayjs.min-DOq1QM_M.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-DyEvx3Em.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-DyEvx3Em.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-DyEvx3Em.js";
2
2
  function l(s) {
3
3
  return Math.floor(s.getTime() / 1e3) * 1e3;
4
4
  }
@@ -1,7 +1,6 @@
1
1
  export declare enum RouteName {
2
2
  LOADING = "DEFAULT",
3
3
  INGREDIENTS = "INGREDIENTS",
4
- INGREDIENT_GROUP = "INGREDIENT_GROUP",
5
4
  RECIPE = "RECIPE",
6
5
  UNIT = "UNIT",
7
6
  STOCK = "STOCK",
@@ -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-Izn-hTjK.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-BmKjsNrc.js";
2
+ import { c as b, d as p } from "./date2-Rv4IwT9a.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";
3
- import { computed as k, ref as B } from "vue";
4
- import { c as d } from "./number-CB36d2PQ.js";
1
+ import { u as i } from "./stock-Ce1UvAZ3.js";
2
+ import { a as s, Y as p } from "./app-DyEvx3Em.js";
3
+ import { computed as B, ref as d } from "vue";
4
+ import { c as k } from "./number-BmKjsNrc.js";
5
5
  function m() {
6
6
  return {
7
7
  stockBalance: {
@@ -11,13 +11,13 @@ function m() {
11
11
  productBalance: []
12
12
  };
13
13
  }
14
- const v = d(0), f = {
14
+ const v = k(0), f = {
15
15
  id: "",
16
16
  balance: v,
17
17
  closing: null,
18
18
  costs: null
19
- }, n = B(m()), w = () => {
20
- const r = s(), u = k(() => {
19
+ }, n = d(m()), w = () => {
20
+ const r = s(), u = B(() => {
21
21
  var a;
22
22
  const o = (a = n.value.stockBalance.skus) == null ? void 0 : a.groupBy((t) => t.id), e = (t) => {
23
23
  var c;
@@ -51,7 +51,7 @@ const v = d(0), f = {
51
51
  const o = s(), e = p({
52
52
  recipes: o.recipes,
53
53
  skus: o.skus,
54
- skuGroups: o.skuGroups,
54
+ skuGroups: [],
55
55
  inventoryBindingMapping: {},
56
56
  stockBalance: this.stockBalance
57
57
  // silent: true
@@ -1,4 +1,4 @@
1
- import { d as m, u as $ } from "./app-DqJp3dcI.js";
1
+ import { d as m, u as $ } from "./app-DyEvx3Em.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) => {
@@ -1,10 +1,9 @@
1
- import { type InventoryPlanTier } from '@/feature-flags/plan-tier';
2
- import { type InventoryLicensePlan, type WarehouseLicense } from '@/api/license';
1
+ import { type WarehouseLicense } from '@/api/license';
2
+ import { type LocationFeatureFlag } from '@/api/feature-flags';
3
3
  export { InventoryFeatureFlags } from '@feedmepos/inventory-core-2';
4
4
  export interface FeatureState {
5
5
  isLoaded: boolean;
6
- planTier: InventoryPlanTier;
7
- inventoryPlan: InventoryLicensePlan;
6
+ flags: LocationFeatureFlag[];
8
7
  warehouseQuota: WarehouseLicense[];
9
8
  enableTotalCost: boolean;
10
9
  enableBackdatePo: boolean;
@@ -15,7 +14,6 @@ export interface FeatureState {
15
14
  enablePoTemplate: boolean;
16
15
  enableClosingTemplate: boolean;
17
16
  enableWastageTemplate: boolean;
18
- enableIngredientGroup: boolean;
19
17
  mustUsePoTemplate: boolean;
20
18
  mustUseDefaultCost?: boolean;
21
19
  businessSupplierOnly: boolean;
@@ -68,17 +66,20 @@ export declare const useFeatureStore: () => {
68
66
  /** @deprecated TODO: remove */
69
67
  readonly manualReceive: boolean;
70
68
  readonly isLoaded: boolean;
71
- readonly planTier: "lite" | "standard" | "premium";
72
- readonly inventoryPlan: InventoryLicensePlan;
69
+ readonly flags: {
70
+ name: string;
71
+ enabled: boolean;
72
+ beta: boolean;
73
+ value?: string | number | boolean | null | undefined;
74
+ }[];
73
75
  readonly warehouseQuota: {
74
76
  id: string;
75
77
  expiredAt: string;
76
78
  }[];
77
- hasPlanTier(minimum: InventoryPlanTier): boolean;
79
+ isFlagOn(flag: string): boolean;
78
80
  readonly enablePoTemplate: boolean;
79
81
  readonly enableClosingTemplate: boolean;
80
82
  readonly enableWastageTemplate: boolean;
81
- readonly enableIngredientGroup: boolean;
82
83
  readonly mustUsePoTemplate: boolean;
83
84
  readonly businessSupplierOnly: boolean;
84
85
  readonly enableXilnexTransferNote: boolean;
@@ -2497,50 +2497,6 @@ export declare function useInventoryStore(): {
2497
2497
  }>;
2498
2498
  readonly skuBindingFlattenCache: Record<string, FlattenInventoryBindingResult>;
2499
2499
  readonly recipeBindingFlattenCache: Record<string, FlattenInventoryBindingResult>;
2500
- readonly skuGroups: {
2501
- rules?: {
2502
- rule?: any;
2503
- _id: string;
2504
- name: string;
2505
- skuRefs: {
2506
- default?: boolean | null | undefined;
2507
- trackingMeasurement?: string | null | undefined;
2508
- priority?: number | null | undefined;
2509
- _id: string;
2510
- }[];
2511
- }[] | null | undefined;
2512
- ref?: string | null | undefined;
2513
- defaultSkuRefs?: {
2514
- default?: boolean | null | undefined;
2515
- trackingMeasurement?: string | null | undefined;
2516
- priority?: number | null | undefined;
2517
- _id: string;
2518
- }[] | null | undefined;
2519
- _id: string;
2520
- name: string;
2521
- }[];
2522
- readonly skuGroupById: Record<string, {
2523
- rules?: {
2524
- rule?: any;
2525
- _id: string;
2526
- name: string;
2527
- skuRefs: {
2528
- default?: boolean | null | undefined;
2529
- trackingMeasurement?: string | null | undefined;
2530
- priority?: number | null | undefined;
2531
- _id: string;
2532
- }[];
2533
- }[] | null | undefined;
2534
- ref?: string | null | undefined;
2535
- defaultSkuRefs?: {
2536
- default?: boolean | null | undefined;
2537
- trackingMeasurement?: string | null | undefined;
2538
- priority?: number | null | undefined;
2539
- _id: string;
2540
- }[] | null | undefined;
2541
- _id: string;
2542
- name: string;
2543
- }>;
2544
2500
  readonly skuTags: Map<unknown, [{
2545
2501
  trackingMeasurement?: string | null | undefined;
2546
2502
  isInactive?: boolean | null | undefined;
@@ -2713,7 +2669,4 @@ export declare function useInventoryStore(): {
2713
2669
  importRecipes(recipes: Omit<FdtoBulkRecipeRequest, '_rev'>): Promise<any>;
2714
2670
  importSkus(skus: Omit<FdtoBulkSkuRequest, '_rev'>): Promise<any>;
2715
2671
  deleteSku({ _id }: FdoInventorySku): Promise<void>;
2716
- createSkuGroup(skuGroup: CreateType<FdoInventorySkuGroup>): Promise<void>;
2717
- updateSkuGroup(skuGroup: FdoInventorySkuGroup): Promise<void>;
2718
- deleteSkuGroup({ _id }: FdoInventorySkuGroup): Promise<void>;
2719
2672
  };
@@ -998,4 +998,4 @@ export declare const useSupplierStore: import("pinia").StoreDefinition<"supplier
998
998
  registrationNumber: string;
999
999
  };
1000
1000
  }>;
1001
- }, "init" | "readSuppliers" | "createSupplier" | "updateSupplier" | "deleteSupplier" | "importSuppliers">>;
1001
+ }, "readSuppliers" | "createSupplier" | "updateSupplier" | "deleteSupplier" | "importSuppliers" | "init">>;