@feedmepos/mf-inventory-portal 1.3.16 → 1.3.17-dev.2

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-BZs8fZKo.js +310 -0
  2. package/dist/{ApprovalView-TTCe-eqc.js → ApprovalView-k409wjyM.js} +7 -7
  3. package/dist/{BindingsDialog-lrqjnmk3.js → BindingsDialog-B8eMUWro.js} +2 -2
  4. package/dist/{BindingsPicker-B_ks2aoD.js → BindingsPicker-DQqBaPmd.js} +2 -2
  5. package/dist/{BindingsTable-BTzb7bl6.js → BindingsTable-DBVIeFhW.js} +3 -3
  6. package/dist/ClosingDraftView-IYvSijlu.js +3183 -0
  7. package/dist/{ClosingHistoryView-D22YN948.js → ClosingHistoryView-BCoB6tht.js} +5 -5
  8. package/dist/{ClosingTemplateView-DWZlbRNR.js → ClosingTemplateView-CYRes3xE.js} +14 -14
  9. package/dist/{DefaultView-B55cXPDQ.js → DefaultView-Cw2nI7-X.js} +2 -2
  10. package/dist/{DeliveryOrderPrintPreview-C2OsEmYL.js → DeliveryOrderPrintPreview-CdiaL8D5.js} +2 -2
  11. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-k5zRFn32.js +76 -0
  12. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-C2VqHIzn.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-Df-pE1KK.js} +2 -2
  13. package/dist/{FmMultiselectDialog-CtqcYKez.js → FmMultiselectDialog-nflYcmpQ.js} +1 -1
  14. package/dist/{FmMultiselectDialog-Bf5LoETU.js → FmMultiselectDialog-wAnP9Seb.js} +2 -2
  15. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-D0fbjDen.js → FmUnitInput.vue_vue_type_script_setup_true_lang-Bwl1Jqam.js} +6 -5
  16. package/dist/{ImportView-C6VMwns6.js → ImportView-moP3tPQ7.js} +6 -6
  17. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-Bbp6FwaC.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-G7yOwwlA.js} +1 -1
  18. package/dist/{IngredientGroupView-Cq6HSE9I.js → IngredientGroupView-B4NShCe7.js} +5 -5
  19. package/dist/{IngredientsView-g_VlbWO3.js → IngredientsView-uhc_mfqq.js} +15 -15
  20. package/dist/{IntegrationExplorerView-CuLRbx45.js → IntegrationExplorerView-6R_PAu4l.js} +5 -5
  21. package/dist/{IntegrationView-Deu36yy_.js → IntegrationView-kt2CyS2K.js} +13 -13
  22. package/dist/{InventoryBindingForm-BY9a4LbA.js → InventoryBindingForm-Bxm_y_m_.js} +1 -1
  23. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-BDS8xAAy.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-CxxKiDAW.js} +5 -5
  24. package/dist/{InventoryBindingSummary-wRACZM3H.js → InventoryBindingSummary-COhLobHu.js} +1 -1
  25. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-Cln33pev.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-B4qOsAtm.js} +1 -1
  26. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-Bhubwroc.js → PremiumBadge.vue_vue_type_script_setup_true_lang-DShIs4zv.js} +1 -1
  27. package/dist/{PublishView-Bz4DwRln.js → PublishView-B6eXjyq0.js} +3 -3
  28. package/dist/{PurchaseOrderPrintPreview-CwMUlAzW.js → PurchaseOrderPrintPreview-Bb5ZH7Ze.js} +2 -2
  29. package/dist/{ReceiveRequestView-jzKL7wwc.js → ReceiveRequestView-lWK576Cn.js} +30 -29
  30. package/dist/RecipeView-KVhdiv18.js +2898 -0
  31. package/dist/{SettingsView-BGK8xDQj.js → SettingsView-D3ayESIi.js} +4 -4
  32. package/dist/{StockView-D_1M2j2H.js → StockView-BQAwpib5.js} +19 -19
  33. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DmAHd2Ma.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-ZhGaDQV_.js} +1 -1
  34. package/dist/{SupplierView-_HVROcl0.js → SupplierView-C4gyBYWT.js} +12 -12
  35. package/dist/{SurchargeView-C9uFLUHz.js → SurchargeView-CIMnxsAM.js} +6 -6
  36. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-DDq5fRab.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-Ddw6IO0s.js} +2 -2
  37. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-DDgl-JA-.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-BgUQep1X.js} +1 -1
  38. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-CIs8k2X-.js → TransferDetails.vue_vue_type_script_setup_true_lang-AzSsFnV9.js} +20 -20
  39. package/dist/{TransferTemplateView-f2jqyWDC.js → TransferTemplateView-B5zHVuMP.js} +20 -19
  40. package/dist/{UnitCostHistoryView-CDRVItD5.js → UnitCostHistoryView-DW2FSMdR.js} +4 -4
  41. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-DvHmw68v.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-BK41FEeb.js} +4 -4
  42. package/dist/{UnitView-B-4VmAZ1.js → UnitView-DJF9woxD.js} +7 -7
  43. package/dist/{WarehouseView-DTuDf6uX.js → WarehouseView-LRwZezC5.js} +5 -5
  44. package/dist/{WastageTemplateView-CNbBRdic.js → WastageTemplateView-pS6AdviV.js} +14 -14
  45. package/dist/api/closing-draft.d.ts +12 -0
  46. package/dist/api/sse.d.ts +19 -0
  47. package/dist/api/stock.d.ts +0 -1
  48. package/dist/{app-DAjgWaIt.js → app-Du9hjHZP.js} +3134 -2979
  49. package/dist/app.d.ts +126 -0
  50. package/dist/app.js +1 -1
  51. package/dist/{closing-template-Cr5yjIGk.js → closing-template-CdjziuUw.js} +1 -1
  52. package/dist/composable/useSseClient.d.ts +13 -0
  53. package/dist/composable/useSseClient.spec.d.ts +1 -0
  54. package/dist/{date2-Dc-LkH4Q.js → date2-DSeWLgzk.js} +1 -1
  55. package/dist/{dayjs.min-C6TKmoSA.js → dayjs.min-DbVTJwyb.js} +1 -1
  56. package/dist/{decimal-BiUxwHW1.js → decimal-DmzFXaRA.js} +2 -2
  57. package/dist/{defineDeepModel-DgkjK79L.js → defineDeepModel-Cp75jSVs.js} +1 -1
  58. package/dist/{duplicate-template-D2C8HFBF.js → duplicate-template-DkswfS38.js} +1 -1
  59. package/dist/{export-wJraMdL-.js → export-DOf-QW3M.js} +1 -1
  60. package/dist/{feature-DDNuIU5x.js → feature-D23WgLdE.js} +2 -2
  61. package/dist/{format-time-from-id-CZFp1tYB.js → format-time-from-id-w5E1yNUV.js} +1 -1
  62. package/dist/{format-unit-display-TmmuJhva.js → format-unit-display-C7-lUz9r.js} +11 -11
  63. package/dist/{import-export.helper-CvnY5IpI.js → import-export.helper-KcOyMbsO.js} +6 -6
  64. package/dist/{index-CSQXsQbV.js → index-3KZhqtW4.js} +3 -3
  65. package/dist/{index-BjGCVl4C.js → index-BUMDqEa6.js} +1 -1
  66. package/dist/{index-DhLglBIu.js → index-C472V7Tf.js} +1 -1
  67. package/dist/{inventory-core-dart.default-Cy3rCrre.js → inventory-core-dart.default-DGd8GVhk.js} +1 -1
  68. package/dist/{lodash-BqVoI4i-.js → lodash-CRpepM1B.js} +1 -1
  69. package/dist/{lz-string-CCV8vJiL.js → lz-string-BD7AmWsM.js} +1 -1
  70. package/dist/{netsuite-Fuewxz8C.js → netsuite-B_ohVmZD.js} +3 -3
  71. package/dist/{number-TlKuaioM.js → number-BoWDForP.js} +3 -3
  72. package/dist/{predefined-templates-DwR19gNy.js → predefined-templates-CUGfpkjj.js} +1 -1
  73. package/dist/{purchase-order-template-DAkHu-9-.js → purchase-order-template-BIfxRjTb.js} +1 -1
  74. package/dist/{recalculationUtils-blkN0S5G.js → recalculationUtils-D_aoQ2xV.js} +1 -1
  75. package/dist/{rules-BT_bX_zP.js → rules-BfAXqY67.js} +2 -2
  76. package/dist/{stock-Do-AQ1Rj.js → stock-CHvpVPdC.js} +24 -28
  77. package/dist/{stock-D9jClHC1.js → stock-TdIYgVjn.js} +3 -3
  78. package/dist/{supplier-DI8witR9.js → supplier-CrOQf12H.js} +2 -2
  79. package/dist/{surcharge-CLd8VHwX.js → surcharge-V2zH-cWZ.js} +1 -1
  80. package/dist/tsconfig.app.tsbuildinfo +1 -1
  81. package/dist/{use-ingredient-select-dialog-CKFmldHx.js → use-ingredient-select-dialog-CM8XQxUr.js} +2 -2
  82. package/dist/{use-inventory-binding-dialog-eMJtDSHG.js → use-inventory-binding-dialog-DBHuTmlU.js} +2 -2
  83. package/dist/{use-template-enabled-locations-CEeVrUI2.js → use-template-enabled-locations-BaPU4Yrr.js} +2 -2
  84. package/dist/use-transfer-locations-Cm8IvFNy.js +116 -0
  85. package/dist/{useHrmPermission-C1l7OOr5.js → useHrmPermission-Dd5se0x1.js} +1 -1
  86. package/dist/{useNavigationMenu-DAk6M_hW.js → useNavigationMenu-C0_Ilh1C.js} +2 -2
  87. package/dist/useSseClient-BinJYKsX.js +502 -0
  88. package/dist/views/closing-draft/composables/use-closing-draft-refresh-balance.d.ts +28 -0
  89. package/dist/views/closing-draft/composables/use-closing-draft-refresh-balance.spec.d.ts +1 -0
  90. package/dist/views/closing-draft/composables/use-closing-draft-table.d.ts +4 -1
  91. package/dist/views/recipe/components/recipe-bulk-editor/RecipeBulkEditorDialog.vue.d.ts +19 -0
  92. package/dist/views/recipe/components/recipe-bulk-editor/RecipeBulkEditorQueryStep.vue.d.ts +2 -0
  93. package/dist/views/recipe/components/recipe-bulk-editor/RecipeBulkEditorSummaryStep.vue.d.ts +2 -0
  94. package/dist/views/recipe/composables/use-recipe-bulk-editor.d.ts +634 -0
  95. package/dist/{vue-i18n-CdJcBjBL.js → vue-i18n-Bt04xsUS.js} +458 -458
  96. package/dist/{xlsx-CWLyQh30.js → xlsx-C5yfkOfj.js} +184 -184
  97. package/dist/{xlsx.util-DXzmppo9.js → xlsx.util-D_VXgblQ.js} +1 -1
  98. package/package.json +5 -4
  99. package/dist/App-JcVy7z89.js +0 -309
  100. package/dist/ClosingDraftView-CT3BYmhy.js +0 -3061
  101. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-vYqITtJe.js +0 -188
  102. package/dist/RecipeView-DhSB9pz6.js +0 -1692
@@ -887,10 +887,11 @@ export declare const useClosingDraftTable: import("pinia").StoreDefinition<"clos
887
887
  closingIdDisplay: string | null;
888
888
  }[]>;
889
889
  loading: import("vue").Ref<boolean, boolean>;
890
+ tableKey: import("vue").Ref<number, number>;
890
891
  fetchDrafts: () => Promise<void>;
891
892
  loadDraft: (draftId: string) => Promise<void>;
892
893
  updateDraftRef: (draft: FdoClosingDraft) => void;
893
- }, "loading" | "columnDefs" | "drafts">>, Pick<{
894
+ }, "loading" | "columnDefs" | "drafts" | "tableKey">>, Pick<{
894
895
  columnDefs: ColumnDef<DraftWithDisplay>[];
895
896
  drafts: import("vue").Ref<{
896
897
  remark?: string | null | undefined;
@@ -1774,6 +1775,7 @@ export declare const useClosingDraftTable: import("pinia").StoreDefinition<"clos
1774
1775
  closingIdDisplay: string | null;
1775
1776
  }[]>;
1776
1777
  loading: import("vue").Ref<boolean, boolean>;
1778
+ tableKey: import("vue").Ref<number, number>;
1777
1779
  fetchDrafts: () => Promise<void>;
1778
1780
  loadDraft: (draftId: string) => Promise<void>;
1779
1781
  updateDraftRef: (draft: FdoClosingDraft) => void;
@@ -2661,6 +2663,7 @@ export declare const useClosingDraftTable: import("pinia").StoreDefinition<"clos
2661
2663
  closingIdDisplay: string | null;
2662
2664
  }[]>;
2663
2665
  loading: import("vue").Ref<boolean, boolean>;
2666
+ tableKey: import("vue").Ref<number, number>;
2664
2667
  fetchDrafts: () => Promise<void>;
2665
2668
  loadDraft: (draftId: string) => Promise<void>;
2666
2669
  updateDraftRef: (draft: FdoClosingDraft) => void;
@@ -0,0 +1,19 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
2
+ show?: boolean | undefined;
3
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
+ "update:show": (value: boolean) => void;
5
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
6
+ show?: boolean | undefined;
7
+ }>>> & Readonly<{
8
+ "onUpdate:show"?: ((value: boolean) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToRuntimeProps<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: import('vue').PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,634 @@
1
+ import type { FdoDecimal } from '@feedmepos/core/entity';
2
+ export interface BindingSelector {
3
+ type: FdoInventoryBinding['type'];
4
+ id: string;
5
+ amount?: FdoDecimal;
6
+ measurementId?: string | null;
7
+ rules?: Record<string, any> | null;
8
+ alternatives?: FdoInventoryBindingAlternative[];
9
+ }
10
+ export type BindingChange = {
11
+ type: 'replace-binding';
12
+ from: BindingSelector;
13
+ to: FdoInventoryBinding;
14
+ } | {
15
+ type: 'remove-binding';
16
+ target: BindingSelector;
17
+ } | {
18
+ type: 'add-binding';
19
+ binding: FdoInventoryBinding;
20
+ } | {
21
+ type: 'update-binding-rule';
22
+ target: BindingSelector;
23
+ rule: Record<string, any> | null;
24
+ } | {
25
+ type: 'update-alternatives';
26
+ target: BindingSelector;
27
+ alternatives: FdoInventoryBindingAlternative[];
28
+ };
29
+ export type RecipeChangeOutcome = 'applied' | 'ignored' | 'already-satisfied' | 'blocked';
30
+ export interface RecipeChangeResult {
31
+ change: BindingChange;
32
+ outcome: RecipeChangeOutcome;
33
+ reason?: string;
34
+ }
35
+ export type RecipeBulkEditEntryStatus = 'will-update' | 'already-satisfied' | 'partially-ignored' | 'blocked' | 'no-applicable-changes';
36
+ export interface RecipeBulkEditEntry {
37
+ recipeId: string;
38
+ recipeName: string;
39
+ original: FdoInventoryRecipe;
40
+ projected: FdoInventoryRecipe | null;
41
+ status: RecipeBulkEditEntryStatus;
42
+ changes: RecipeChangeResult[];
43
+ counts: {
44
+ applied: number;
45
+ ignored: number;
46
+ blocked: number;
47
+ satisfied: number;
48
+ };
49
+ }
50
+ export interface RecipeBulkEditQuery {
51
+ skuId: string;
52
+ amount?: FdoDecimal | null;
53
+ measurementId?: string | null;
54
+ }
55
+ export type FlatBinding = FdoInventoryBinding & {
56
+ recipeIds: string[];
57
+ isGroup?: boolean;
58
+ };
59
+ export declare function flattenBindings(bindings: FdoInventoryBinding[], visitedIds: Set<string>, recipeById: Record<string, FdoInventoryRecipe>): FlatBinding[];
60
+ export declare function deriveChangesFromDiff(original: FdoInventoryRecipe, draft: FdoInventoryRecipe): BindingChange[];
61
+ export declare const useRecipeBulkEditor: import("pinia").StoreDefinition<"recipeBulkEditor", import("pinia")._UnwrapAll<Pick<{
62
+ show: import("vue").Ref<boolean, boolean>;
63
+ currentStep: import("vue").Ref<number, number>;
64
+ query: import("vue").Ref<{
65
+ skuId: string;
66
+ amount?: {
67
+ amount: number;
68
+ precision: number;
69
+ } | null | undefined;
70
+ measurementId?: string | null | undefined;
71
+ } | null, RecipeBulkEditQuery | {
72
+ skuId: string;
73
+ amount?: {
74
+ amount: number;
75
+ precision: number;
76
+ } | null | undefined;
77
+ measurementId?: string | null | undefined;
78
+ } | null>;
79
+ selectedRecipeIds: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
80
+ activeRecipeId: import("vue").Ref<string | null, string | null>;
81
+ activeOriginal: import("vue").ComputedRef<{
82
+ customAttributes?: Record<string, any> | null | undefined;
83
+ version?: "v2" | null | undefined;
84
+ _id: string;
85
+ name: string;
86
+ contains: {
87
+ measurement?: {
88
+ id: string;
89
+ name: string;
90
+ abbrev: string;
91
+ conversion: {
92
+ amount: number;
93
+ precision: number;
94
+ };
95
+ } | null | undefined;
96
+ rules?: Record<string, any> | null | undefined;
97
+ alternatives?: {
98
+ priority?: number | null | undefined;
99
+ default?: boolean | null | undefined;
100
+ trackingMeasurement?: string | null | undefined;
101
+ _id: string;
102
+ }[] | null | undefined;
103
+ id: string;
104
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
105
+ amount: {
106
+ amount: number;
107
+ precision: number;
108
+ };
109
+ }[];
110
+ } | null>;
111
+ activeDraft: import("vue").Ref<{
112
+ customAttributes?: Record<string, any> | null | undefined;
113
+ version?: "v2" | null | undefined;
114
+ _id: string;
115
+ name: string;
116
+ contains: {
117
+ measurement?: {
118
+ id: string;
119
+ name: string;
120
+ abbrev: string;
121
+ conversion: {
122
+ amount: number;
123
+ precision: number;
124
+ };
125
+ } | null | undefined;
126
+ rules?: Record<string, any> | null | undefined;
127
+ alternatives?: {
128
+ priority?: number | null | undefined;
129
+ default?: boolean | null | undefined;
130
+ trackingMeasurement?: string | null | undefined;
131
+ _id: string;
132
+ }[] | null | undefined;
133
+ id: string;
134
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
135
+ amount: {
136
+ amount: number;
137
+ precision: number;
138
+ };
139
+ }[];
140
+ } | null, {
141
+ customAttributes?: Record<string, any> | null | undefined;
142
+ version?: "v2" | null | undefined;
143
+ _id: string;
144
+ name: string;
145
+ contains: {
146
+ measurement?: {
147
+ id: string;
148
+ name: string;
149
+ abbrev: string;
150
+ conversion: {
151
+ amount: number;
152
+ precision: number;
153
+ };
154
+ } | null | undefined;
155
+ rules?: Record<string, any> | null | undefined;
156
+ alternatives?: {
157
+ priority?: number | null | undefined;
158
+ default?: boolean | null | undefined;
159
+ trackingMeasurement?: string | null | undefined;
160
+ _id: string;
161
+ }[] | null | undefined;
162
+ id: string;
163
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
164
+ amount: {
165
+ amount: number;
166
+ precision: number;
167
+ };
168
+ }[];
169
+ } | {
170
+ customAttributes?: Record<string, any> | null | undefined;
171
+ version?: "v2" | null | undefined;
172
+ _id: string;
173
+ name: string;
174
+ contains: {
175
+ measurement?: {
176
+ id: string;
177
+ name: string;
178
+ abbrev: string;
179
+ conversion: {
180
+ amount: number;
181
+ precision: number;
182
+ };
183
+ } | null | undefined;
184
+ rules?: Record<string, any> | null | undefined;
185
+ alternatives?: {
186
+ priority?: number | null | undefined;
187
+ default?: boolean | null | undefined;
188
+ trackingMeasurement?: string | null | undefined;
189
+ _id: string;
190
+ }[] | null | undefined;
191
+ id: string;
192
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
193
+ amount: {
194
+ amount: number;
195
+ precision: number;
196
+ };
197
+ }[];
198
+ } | null>;
199
+ entries: import("vue").Ref<Record<string, RecipeBulkEditEntry>, Record<string, RecipeBulkEditEntry>>;
200
+ isSaving: import("vue").Ref<boolean, boolean>;
201
+ applyErrors: import("vue").Ref<Map<string, string> & Omit<Map<string, string>, keyof Map<any, any>>, Map<string, string> | (Map<string, string> & Omit<Map<string, string>, keyof Map<any, any>>)>;
202
+ matchedRecipes: import("vue").ComputedRef<{
203
+ customAttributes?: Record<string, any> | null | undefined;
204
+ version?: "v2" | null | undefined;
205
+ _id: string;
206
+ name: string;
207
+ contains: {
208
+ measurement?: {
209
+ id: string;
210
+ name: string;
211
+ abbrev: string;
212
+ conversion: {
213
+ amount: number;
214
+ precision: number;
215
+ };
216
+ } | null | undefined;
217
+ rules?: Record<string, any> | null | undefined;
218
+ alternatives?: {
219
+ priority?: number | null | undefined;
220
+ default?: boolean | null | undefined;
221
+ trackingMeasurement?: string | null | undefined;
222
+ _id: string;
223
+ }[] | null | undefined;
224
+ id: string;
225
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
226
+ amount: {
227
+ amount: number;
228
+ precision: number;
229
+ };
230
+ }[];
231
+ }[]>;
232
+ hasDraftChanges: import("vue").ComputedRef<boolean>;
233
+ hasVersionChange: import("vue").ComputedRef<boolean>;
234
+ pendingChanges: import("vue").ComputedRef<BindingChange[]>;
235
+ openDialog: () => void;
236
+ closeDialog: () => void;
237
+ reset: () => void;
238
+ setQuery: (q: RecipeBulkEditQuery) => void;
239
+ updateFilter: (q: RecipeBulkEditQuery) => void;
240
+ clearQuery: () => void;
241
+ initSelectionFromQuery: () => void;
242
+ setActiveRecipe: (recipeId: string) => void;
243
+ updateDraft: (draft: FdoInventoryRecipe) => void;
244
+ revertActive: () => void;
245
+ toggleSelection: (recipeId: string) => void;
246
+ isSelected: (recipeId: string) => boolean;
247
+ applyDraftToActive: () => void;
248
+ flushAllDraftCache: () => void;
249
+ applyToAll: () => void;
250
+ buildPayload: () => FdoInventoryRecipe[];
251
+ confirmAndApply: () => Promise<void>;
252
+ }, "entries" | "currentStep" | "show" | "query" | "selectedRecipeIds" | "activeRecipeId" | "activeDraft" | "isSaving" | "applyErrors">>, Pick<{
253
+ show: import("vue").Ref<boolean, boolean>;
254
+ currentStep: import("vue").Ref<number, number>;
255
+ query: import("vue").Ref<{
256
+ skuId: string;
257
+ amount?: {
258
+ amount: number;
259
+ precision: number;
260
+ } | null | undefined;
261
+ measurementId?: string | null | undefined;
262
+ } | null, RecipeBulkEditQuery | {
263
+ skuId: string;
264
+ amount?: {
265
+ amount: number;
266
+ precision: number;
267
+ } | null | undefined;
268
+ measurementId?: string | null | undefined;
269
+ } | null>;
270
+ selectedRecipeIds: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
271
+ activeRecipeId: import("vue").Ref<string | null, string | null>;
272
+ activeOriginal: import("vue").ComputedRef<{
273
+ customAttributes?: Record<string, any> | null | undefined;
274
+ version?: "v2" | null | undefined;
275
+ _id: string;
276
+ name: string;
277
+ contains: {
278
+ measurement?: {
279
+ id: string;
280
+ name: string;
281
+ abbrev: string;
282
+ conversion: {
283
+ amount: number;
284
+ precision: number;
285
+ };
286
+ } | null | undefined;
287
+ rules?: Record<string, any> | null | undefined;
288
+ alternatives?: {
289
+ priority?: number | null | undefined;
290
+ default?: boolean | null | undefined;
291
+ trackingMeasurement?: string | null | undefined;
292
+ _id: string;
293
+ }[] | null | undefined;
294
+ id: string;
295
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
296
+ amount: {
297
+ amount: number;
298
+ precision: number;
299
+ };
300
+ }[];
301
+ } | null>;
302
+ activeDraft: import("vue").Ref<{
303
+ customAttributes?: Record<string, any> | null | undefined;
304
+ version?: "v2" | null | undefined;
305
+ _id: string;
306
+ name: string;
307
+ contains: {
308
+ measurement?: {
309
+ id: string;
310
+ name: string;
311
+ abbrev: string;
312
+ conversion: {
313
+ amount: number;
314
+ precision: number;
315
+ };
316
+ } | null | undefined;
317
+ rules?: Record<string, any> | null | undefined;
318
+ alternatives?: {
319
+ priority?: number | null | undefined;
320
+ default?: boolean | null | undefined;
321
+ trackingMeasurement?: string | null | undefined;
322
+ _id: string;
323
+ }[] | null | undefined;
324
+ id: string;
325
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
326
+ amount: {
327
+ amount: number;
328
+ precision: number;
329
+ };
330
+ }[];
331
+ } | null, {
332
+ customAttributes?: Record<string, any> | null | undefined;
333
+ version?: "v2" | null | undefined;
334
+ _id: string;
335
+ name: string;
336
+ contains: {
337
+ measurement?: {
338
+ id: string;
339
+ name: string;
340
+ abbrev: string;
341
+ conversion: {
342
+ amount: number;
343
+ precision: number;
344
+ };
345
+ } | null | undefined;
346
+ rules?: Record<string, any> | null | undefined;
347
+ alternatives?: {
348
+ priority?: number | null | undefined;
349
+ default?: boolean | null | undefined;
350
+ trackingMeasurement?: string | null | undefined;
351
+ _id: string;
352
+ }[] | null | undefined;
353
+ id: string;
354
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
355
+ amount: {
356
+ amount: number;
357
+ precision: number;
358
+ };
359
+ }[];
360
+ } | {
361
+ customAttributes?: Record<string, any> | null | undefined;
362
+ version?: "v2" | null | undefined;
363
+ _id: string;
364
+ name: string;
365
+ contains: {
366
+ measurement?: {
367
+ id: string;
368
+ name: string;
369
+ abbrev: string;
370
+ conversion: {
371
+ amount: number;
372
+ precision: number;
373
+ };
374
+ } | null | undefined;
375
+ rules?: Record<string, any> | null | undefined;
376
+ alternatives?: {
377
+ priority?: number | null | undefined;
378
+ default?: boolean | null | undefined;
379
+ trackingMeasurement?: string | null | undefined;
380
+ _id: string;
381
+ }[] | null | undefined;
382
+ id: string;
383
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
384
+ amount: {
385
+ amount: number;
386
+ precision: number;
387
+ };
388
+ }[];
389
+ } | null>;
390
+ entries: import("vue").Ref<Record<string, RecipeBulkEditEntry>, Record<string, RecipeBulkEditEntry>>;
391
+ isSaving: import("vue").Ref<boolean, boolean>;
392
+ applyErrors: import("vue").Ref<Map<string, string> & Omit<Map<string, string>, keyof Map<any, any>>, Map<string, string> | (Map<string, string> & Omit<Map<string, string>, keyof Map<any, any>>)>;
393
+ matchedRecipes: import("vue").ComputedRef<{
394
+ customAttributes?: Record<string, any> | null | undefined;
395
+ version?: "v2" | null | undefined;
396
+ _id: string;
397
+ name: string;
398
+ contains: {
399
+ measurement?: {
400
+ id: string;
401
+ name: string;
402
+ abbrev: string;
403
+ conversion: {
404
+ amount: number;
405
+ precision: number;
406
+ };
407
+ } | null | undefined;
408
+ rules?: Record<string, any> | null | undefined;
409
+ alternatives?: {
410
+ priority?: number | null | undefined;
411
+ default?: boolean | null | undefined;
412
+ trackingMeasurement?: string | null | undefined;
413
+ _id: string;
414
+ }[] | null | undefined;
415
+ id: string;
416
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
417
+ amount: {
418
+ amount: number;
419
+ precision: number;
420
+ };
421
+ }[];
422
+ }[]>;
423
+ hasDraftChanges: import("vue").ComputedRef<boolean>;
424
+ hasVersionChange: import("vue").ComputedRef<boolean>;
425
+ pendingChanges: import("vue").ComputedRef<BindingChange[]>;
426
+ openDialog: () => void;
427
+ closeDialog: () => void;
428
+ reset: () => void;
429
+ setQuery: (q: RecipeBulkEditQuery) => void;
430
+ updateFilter: (q: RecipeBulkEditQuery) => void;
431
+ clearQuery: () => void;
432
+ initSelectionFromQuery: () => void;
433
+ setActiveRecipe: (recipeId: string) => void;
434
+ updateDraft: (draft: FdoInventoryRecipe) => void;
435
+ revertActive: () => void;
436
+ toggleSelection: (recipeId: string) => void;
437
+ isSelected: (recipeId: string) => boolean;
438
+ applyDraftToActive: () => void;
439
+ flushAllDraftCache: () => void;
440
+ applyToAll: () => void;
441
+ buildPayload: () => FdoInventoryRecipe[];
442
+ confirmAndApply: () => Promise<void>;
443
+ }, "activeOriginal" | "matchedRecipes" | "hasDraftChanges" | "hasVersionChange" | "pendingChanges">, Pick<{
444
+ show: import("vue").Ref<boolean, boolean>;
445
+ currentStep: import("vue").Ref<number, number>;
446
+ query: import("vue").Ref<{
447
+ skuId: string;
448
+ amount?: {
449
+ amount: number;
450
+ precision: number;
451
+ } | null | undefined;
452
+ measurementId?: string | null | undefined;
453
+ } | null, RecipeBulkEditQuery | {
454
+ skuId: string;
455
+ amount?: {
456
+ amount: number;
457
+ precision: number;
458
+ } | null | undefined;
459
+ measurementId?: string | null | undefined;
460
+ } | null>;
461
+ selectedRecipeIds: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
462
+ activeRecipeId: import("vue").Ref<string | null, string | null>;
463
+ activeOriginal: import("vue").ComputedRef<{
464
+ customAttributes?: Record<string, any> | null | undefined;
465
+ version?: "v2" | null | undefined;
466
+ _id: string;
467
+ name: string;
468
+ contains: {
469
+ measurement?: {
470
+ id: string;
471
+ name: string;
472
+ abbrev: string;
473
+ conversion: {
474
+ amount: number;
475
+ precision: number;
476
+ };
477
+ } | null | undefined;
478
+ rules?: Record<string, any> | null | undefined;
479
+ alternatives?: {
480
+ priority?: number | null | undefined;
481
+ default?: boolean | null | undefined;
482
+ trackingMeasurement?: string | null | undefined;
483
+ _id: string;
484
+ }[] | null | undefined;
485
+ id: string;
486
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
487
+ amount: {
488
+ amount: number;
489
+ precision: number;
490
+ };
491
+ }[];
492
+ } | null>;
493
+ activeDraft: import("vue").Ref<{
494
+ customAttributes?: Record<string, any> | null | undefined;
495
+ version?: "v2" | null | undefined;
496
+ _id: string;
497
+ name: string;
498
+ contains: {
499
+ measurement?: {
500
+ id: string;
501
+ name: string;
502
+ abbrev: string;
503
+ conversion: {
504
+ amount: number;
505
+ precision: number;
506
+ };
507
+ } | null | undefined;
508
+ rules?: Record<string, any> | null | undefined;
509
+ alternatives?: {
510
+ priority?: number | null | undefined;
511
+ default?: boolean | null | undefined;
512
+ trackingMeasurement?: string | null | undefined;
513
+ _id: string;
514
+ }[] | null | undefined;
515
+ id: string;
516
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
517
+ amount: {
518
+ amount: number;
519
+ precision: number;
520
+ };
521
+ }[];
522
+ } | null, {
523
+ customAttributes?: Record<string, any> | null | undefined;
524
+ version?: "v2" | null | undefined;
525
+ _id: string;
526
+ name: string;
527
+ contains: {
528
+ measurement?: {
529
+ id: string;
530
+ name: string;
531
+ abbrev: string;
532
+ conversion: {
533
+ amount: number;
534
+ precision: number;
535
+ };
536
+ } | null | undefined;
537
+ rules?: Record<string, any> | null | undefined;
538
+ alternatives?: {
539
+ priority?: number | null | undefined;
540
+ default?: boolean | null | undefined;
541
+ trackingMeasurement?: string | null | undefined;
542
+ _id: string;
543
+ }[] | null | undefined;
544
+ id: string;
545
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
546
+ amount: {
547
+ amount: number;
548
+ precision: number;
549
+ };
550
+ }[];
551
+ } | {
552
+ customAttributes?: Record<string, any> | null | undefined;
553
+ version?: "v2" | null | undefined;
554
+ _id: string;
555
+ name: string;
556
+ contains: {
557
+ measurement?: {
558
+ id: string;
559
+ name: string;
560
+ abbrev: string;
561
+ conversion: {
562
+ amount: number;
563
+ precision: number;
564
+ };
565
+ } | null | undefined;
566
+ rules?: Record<string, any> | null | undefined;
567
+ alternatives?: {
568
+ priority?: number | null | undefined;
569
+ default?: boolean | null | undefined;
570
+ trackingMeasurement?: string | null | undefined;
571
+ _id: string;
572
+ }[] | null | undefined;
573
+ id: string;
574
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
575
+ amount: {
576
+ amount: number;
577
+ precision: number;
578
+ };
579
+ }[];
580
+ } | null>;
581
+ entries: import("vue").Ref<Record<string, RecipeBulkEditEntry>, Record<string, RecipeBulkEditEntry>>;
582
+ isSaving: import("vue").Ref<boolean, boolean>;
583
+ applyErrors: import("vue").Ref<Map<string, string> & Omit<Map<string, string>, keyof Map<any, any>>, Map<string, string> | (Map<string, string> & Omit<Map<string, string>, keyof Map<any, any>>)>;
584
+ matchedRecipes: import("vue").ComputedRef<{
585
+ customAttributes?: Record<string, any> | null | undefined;
586
+ version?: "v2" | null | undefined;
587
+ _id: string;
588
+ name: string;
589
+ contains: {
590
+ measurement?: {
591
+ id: string;
592
+ name: string;
593
+ abbrev: string;
594
+ conversion: {
595
+ amount: number;
596
+ precision: number;
597
+ };
598
+ } | null | undefined;
599
+ rules?: Record<string, any> | null | undefined;
600
+ alternatives?: {
601
+ priority?: number | null | undefined;
602
+ default?: boolean | null | undefined;
603
+ trackingMeasurement?: string | null | undefined;
604
+ _id: string;
605
+ }[] | null | undefined;
606
+ id: string;
607
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
608
+ amount: {
609
+ amount: number;
610
+ precision: number;
611
+ };
612
+ }[];
613
+ }[]>;
614
+ hasDraftChanges: import("vue").ComputedRef<boolean>;
615
+ hasVersionChange: import("vue").ComputedRef<boolean>;
616
+ pendingChanges: import("vue").ComputedRef<BindingChange[]>;
617
+ openDialog: () => void;
618
+ closeDialog: () => void;
619
+ reset: () => void;
620
+ setQuery: (q: RecipeBulkEditQuery) => void;
621
+ updateFilter: (q: RecipeBulkEditQuery) => void;
622
+ clearQuery: () => void;
623
+ initSelectionFromQuery: () => void;
624
+ setActiveRecipe: (recipeId: string) => void;
625
+ updateDraft: (draft: FdoInventoryRecipe) => void;
626
+ revertActive: () => void;
627
+ toggleSelection: (recipeId: string) => void;
628
+ isSelected: (recipeId: string) => boolean;
629
+ applyDraftToActive: () => void;
630
+ flushAllDraftCache: () => void;
631
+ applyToAll: () => void;
632
+ buildPayload: () => FdoInventoryRecipe[];
633
+ confirmAndApply: () => Promise<void>;
634
+ }, "reset" | "openDialog" | "closeDialog" | "setQuery" | "updateFilter" | "clearQuery" | "initSelectionFromQuery" | "setActiveRecipe" | "updateDraft" | "revertActive" | "toggleSelection" | "isSelected" | "applyDraftToActive" | "flushAllDraftCache" | "applyToAll" | "buildPayload" | "confirmAndApply">>;