@feedmepos/mf-inventory-portal 1.6.0 → 1.6.1-dev.1

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 (113) hide show
  1. package/dist/{App-EFQddl2W.js → App-D7SR5dnB.js} +4 -4
  2. package/dist/{ApprovalView-DQG8Ti9p.js → ApprovalView-Bi7AgvV0.js} +24 -23
  3. package/dist/{BindingsDialog-D2IwJvme.js → BindingsDialog-BD8B6cZy.js} +2 -2
  4. package/dist/{BindingsPicker-ZGbgh9Vk.js → BindingsPicker-CRvmtsFb.js} +2 -2
  5. package/dist/{BindingsTable-Dgs2Od1_.js → BindingsTable-DJ1lLYOb.js} +3 -3
  6. package/dist/BulkReceiveRequestView-CZHXfukP.js +2000 -0
  7. package/dist/{ClosingDraftView-DGz2x5Lp.js → ClosingDraftView-DV1KPp2W.js} +27 -28
  8. package/dist/{ClosingHistoryView-SvbQFffP.js → ClosingHistoryView-C8fzDS5T.js} +5 -5
  9. package/dist/{ClosingTemplateView-LIyUAZ7a.js → ClosingTemplateView-qPT5Li2w.js} +14 -14
  10. package/dist/{DefaultView-B96qddHF.js → DefaultView-NF80xSuv.js} +2 -2
  11. package/dist/{DeliveryOrderPrintPreview-DWQ6hyoL.js → DeliveryOrderPrintPreview-B12J3W3U.js} +11 -11
  12. package/dist/{ReceiveRequestView-BP7KFzO6.js → EmailDialog.vue_vue_type_script_setup_true_lang-CoPqmpvz.js} +12571 -12873
  13. package/dist/FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-DxZ_5mfo.js +61 -0
  14. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BfRdyxp5.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-B_mANlF3.js} +2 -2
  15. package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CxDZP-Qo.js +237 -0
  16. package/dist/{FmMultiselectDialog-B1O653NS.js → FmMultiselectDialog-Btal-2Li.js} +50 -44
  17. package/dist/{FmMultiselectDialog-SDMUzTex.js → FmMultiselectDialog-OVoHPzMx.js} +1 -1
  18. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-D8u2M7r1.js → FmUnitInput.vue_vue_type_script_setup_true_lang-ClqEZkaP.js} +5 -5
  19. package/dist/{ImportView-BSlnGvlm.js → ImportView-CKXu4c1J.js} +6 -6
  20. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-DaihxdpF.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-C-fgSyVq.js} +1 -1
  21. package/dist/{IngredientGroupView-Dy1fLXHf.js → IngredientGroupView-pwMYUotb.js} +21 -21
  22. package/dist/{IngredientsView-Dno8kdrq.js → IngredientsView-BzKhRbX3.js} +17 -17
  23. package/dist/{IntegrationExplorerView-C_5XKtMn.js → IntegrationExplorerView-BN8bTTW9.js} +352 -352
  24. package/dist/IntegrationView-DcERomsi.js +5791 -0
  25. package/dist/{InventoryBindingForm-YQFbS1hV.js → InventoryBindingForm-q_IGvaah.js} +1 -1
  26. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-CMXe46hm.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-0ti9a4bq.js} +5 -5
  27. package/dist/{InventoryBindingSummary-DQEoKMWr.js → InventoryBindingSummary-aMQ0ZWgu.js} +1 -1
  28. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CcJ7YBY5.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DpIGbDcW.js} +1 -1
  29. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-DdTdixxy.js → PremiumBadge.vue_vue_type_script_setup_true_lang-CeMi5AJ0.js} +1 -1
  30. package/dist/{PublishView-Cv8penOo.js → PublishView-vOeknkUB.js} +61 -56
  31. package/dist/{PurchaseOrderPrintPreview-BvbaFNpc.js → PurchaseOrderPrintPreview-2dot6xAa.js} +9 -9
  32. package/dist/ReceiveRequestView-B9k1gWme.js +345 -0
  33. package/dist/{RecipeView-DU0QKiC9.js → RecipeView-PRj4zn8p.js} +17 -17
  34. package/dist/{SettingsView-DYNFioZF.js → SettingsView-CzxZ18_g.js} +4 -4
  35. package/dist/{StockView-CzdVLGZy.js → StockView-o-WD1-0x.js} +28 -27
  36. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DyDTSy_F.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-B9bLM6Gi.js} +1 -1
  37. package/dist/{SupplierView-BxbGPyPv.js → SupplierView-CMww3rSL.js} +12 -12
  38. package/dist/{SurchargeView-DIxfUVfT.js → SurchargeView-D9KFsMtR.js} +6 -6
  39. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-g0AfgEFk.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-EXFK8KkU.js} +6 -5
  40. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-DsLOwuNG.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-B9xb2r9v.js} +1 -1
  41. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-CxVlssDF.js → TransferDetails.vue_vue_type_script_setup_true_lang-Bl9bVtVE.js} +1406 -1399
  42. package/dist/{TransferTemplateView-DRqghp1v.js → TransferTemplateView-BTL8deN-.js} +20 -20
  43. package/dist/{UnitCostHistoryView-BCQDTDOB.js → UnitCostHistoryView-D6n2ujRf.js} +4 -4
  44. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-BikZCEmA.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-CNpOAH0D.js} +10 -11
  45. package/dist/{UnitView-BXoXHqYc.js → UnitView-DNZW6dI4.js} +7 -7
  46. package/dist/{WarehouseView-DtnB7VJj.js → WarehouseView-gb9pJmNu.js} +5 -5
  47. package/dist/{WastageTemplateView-SNpTF3AP.js → WastageTemplateView-CGaEJXJv.js} +14 -14
  48. package/dist/api/purchase-order.d.ts +2 -1
  49. package/dist/api/supplier.d.ts +1 -0
  50. package/dist/{app-DTBAhC9s.js → app-Dsbvoxur.js} +1538 -977
  51. package/dist/app.d.ts +549 -0
  52. package/dist/app.js +1 -1
  53. package/dist/{closing-template-DBDqx2IR.js → closing-template-p88yK47D.js} +1 -1
  54. package/dist/components/FmMultiselectDialog.vue.d.ts +8 -4
  55. package/dist/components/FmMultiselectDialogProps.d.ts +1 -0
  56. package/dist/components/MultiLocationSelector.vue.d.ts +202 -0
  57. package/dist/{date2-BD3_Vr8I.js → date2-CtLHtGs5.js} +1 -1
  58. package/dist/{dayjs.min-CGyhCaEH.js → dayjs.min-B2OqD5Yb.js} +12 -12
  59. package/dist/{decimal-CnReZARa.js → decimal-Clk9Ewzg.js} +2 -2
  60. package/dist/{defineDeepModel-BCBQ-V52.js → defineDeepModel-B2OEZDfH.js} +1 -1
  61. package/dist/{duplicate-template-Dpb2sb-q.js → duplicate-template-B2POVQAS.js} +1 -1
  62. package/dist/{feature-BACkglr0.js → feature-CLIj8wgr.js} +70 -65
  63. package/dist/{format-time-from-id-CxJLjrBT.js → format-time-from-id-DdReiNfK.js} +1 -1
  64. package/dist/{format-unit-display-BUfzwU3m.js → format-unit-display-iz29tCVo.js} +12 -12
  65. package/dist/{import-export.helper-DttYDeho.js → import-export.helper-DlHAA9zA.js} +6 -6
  66. package/dist/{index-DGxWBGVv.js → index-B5Ojq711.js} +1 -1
  67. package/dist/{index-tFtJuoxA.js → index-CswTgtml.js} +3 -3
  68. package/dist/{index-BY8NVCx7.js → index-Dkl97ykE.js} +1 -1
  69. package/dist/{inventory-core-dart.default-DIKTKc_1.js → inventory-core-dart.default-FvRrnQri.js} +355 -328
  70. package/dist/jszip.min-dfImtC94.js +2322 -0
  71. package/dist/{lz-string-CwPU-SlY.js → lz-string-D1kxEFLt.js} +1 -1
  72. package/dist/{netsuite-B9XrL1RC.js → netsuite-C_Gph48P.js} +1570 -1509
  73. package/dist/{number-DKjrPhev.js → number-CTKxLav6.js} +3 -3
  74. package/dist/{predefined-templates-CQvQIvR-.js → predefined-templates-B2sDdw2Z.js} +1 -1
  75. package/dist/{purchase-order-template-NA3Qn9lf.js → purchase-order-template-DVDMAhJa.js} +1 -1
  76. package/dist/{recalculationUtils-Ll9Jy0C-.js → recalculationUtils-BNTXhTSX.js} +1 -1
  77. package/dist/router/name.d.ts +1 -0
  78. package/dist/{rules-DtBEn-Rn.js → rules-CRnEoheI.js} +2 -2
  79. package/dist/{stock-PIkXqbIP.js → stock-CeogHsSl.js} +1 -1
  80. package/dist/stores/feature.d.ts +2 -0
  81. package/dist/style.css +1 -1
  82. package/dist/supplier-DmbVK4Tn.js +83 -0
  83. package/dist/{surcharge-C8PXRjfJ.js → surcharge-Bm3TRth-.js} +1 -1
  84. package/dist/tsconfig.app.tsbuildinfo +1 -1
  85. package/dist/{uom-rules-DddX9wN4.js → uom-rules-BmtdGlz9.js} +1 -1
  86. package/dist/{use-ingredient-select-dialog-DWQxhfQD.js → use-ingredient-select-dialog-Bm9296fn.js} +2 -2
  87. package/dist/{use-inventory-binding-dialog-BWSMrzp1.js → use-inventory-binding-dialog-HYJiNm8y.js} +2 -2
  88. package/dist/{use-template-enabled-locations-3DN8aZBs.js → use-template-enabled-locations-DSEcyYzM.js} +2 -2
  89. package/dist/{use-transfer-locations-DnybeRXF.js → use-transfer-locations-vpiv_TeO.js} +8 -8
  90. package/dist/{useHrmPermission-ymQe-N7i.js → useHrmPermission-DAncjlGt.js} +1 -1
  91. package/dist/{useNavigationMenu-D88-0QxA.js → useNavigationMenu-BG_AH0Xf.js} +43 -38
  92. package/dist/{useSseClient-CWNMcLEX.js → useSseClient-CuLS50U2.js} +3 -3
  93. package/dist/views/integration/components/binding-import/BindingImportPreview.vue.d.ts +22 -0
  94. package/dist/views/integration/components/binding-import/ImportBindings.vue.d.ts +444 -0
  95. package/dist/views/integration/helper/binding-import/configs/codemax.d.ts +3 -0
  96. package/dist/views/integration/helper/binding-import/configs/codemax.spec.d.ts +1 -0
  97. package/dist/views/integration/helper/binding-import/configs/food-market-hub.d.ts +3 -0
  98. package/dist/views/integration/helper/binding-import/configs/food-market-hub.spec.d.ts +1 -0
  99. package/dist/views/integration/helper/binding-import/core.d.ts +43 -0
  100. package/dist/views/integration/helper/binding-import/types.d.ts +100 -0
  101. package/dist/views/receive-request/components/transfer-form/TransferFormProps.d.ts +2 -0
  102. package/dist/views/receive-request/components/transfer-form/TransferFormWithController.vue.d.ts +194 -0
  103. package/dist/views/receive-request-bulk/BulkReceiveRequestView.vue.d.ts +3 -0
  104. package/dist/views/receive-request-bulk/components/CreateTransferWizard.vue.d.ts +25 -0
  105. package/dist/views/receive-request-bulk/composables/use-bulk-receive-request-form.d.ts +4138 -0
  106. package/dist/views/receive-request-bulk/composables/use-bulk-receive-request-table.d.ts +771 -0
  107. package/dist/{vue-i18n-D7c0eqQP.js → vue-i18n-Tl34av_i.js} +398 -398
  108. package/dist/{xlsx-DXHnJflt.js → xlsx.util-CJaAO-II.js} +2594 -2497
  109. package/package.json +5 -4
  110. package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang--A4q92Mt.js +0 -293
  111. package/dist/IntegrationView-D2_2A1ve.js +0 -5100
  112. package/dist/supplier-B5LWMrcL.js +0 -78
  113. package/dist/xlsx.util-PhY8wVQG.js +0 -101
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Generic menu-binding importer core. See `types.ts` for the design notes.
3
+ *
4
+ * All functions are pure (except `exportTemplate`, which downloads a file) and operate over any
5
+ * binding type via a `BindingImportConfig`. Codemax and Food Market Hub each supply a config in
6
+ * `./configs/*` and mount the same parser/classifier/preview.
7
+ */
8
+ import type { FdoMenuV4Item, FdoMenuV4VariantGroup } from '@feedmepos/menu/entity';
9
+ import type { WorkSheet } from 'xlsx';
10
+ import type { BindingBase, BindingImportConfig, ImportResult, ImportRow, ImportSummary, MenuIndex, TemplateResult } from './types';
11
+ /** stable key for a binding — null/undefined/empty combinationKey all collapse to "" */
12
+ export declare function bindingKey(productId: string, combinationKey?: string | null): string;
13
+ export declare function worksheetToImportRows<TBinding extends BindingBase>(sheet: WorkSheet, config: BindingImportConfig<TBinding>): ImportRow[];
14
+ /**
15
+ * Build the resolution indexes from the live menu: `byProductId` (authoritative, every item),
16
+ * `byCode` (product `code` only), `byName` (normalized product name). Every match is product-level
17
+ * and carries the set of valid `combinationKeys`; a specific variant is selected later by Variant
18
+ * Key, never by a variant's own code. Integration-agnostic.
19
+ */
20
+ export declare function buildMenuCodeIndex(menus: FdoMenuV4Item[], variantGroups?: FdoMenuV4VariantGroup[]): MenuIndex;
21
+ export declare function classifyImport<TBinding extends BindingBase>(rows: ImportRow[], menuIndex: MenuIndex, existingBindings: TBinding[], config: BindingImportConfig<TBinding>): ImportResult<TBinding>;
22
+ /** Parse + classify in one call, converting parse errors into an `invalidExcel` result. */
23
+ export declare function parseAndClassify<TBinding extends BindingBase>(sheet: WorkSheet, menus: FdoMenuV4Item[], existingBindings: TBinding[], variantGroups: FdoMenuV4VariantGroup[], config: BindingImportConfig<TBinding>): ImportResult<TBinding>;
24
+ /** Bindings to actually apply — NEW/OVERRIDE rows that resolved cleanly (no errors). */
25
+ export declare function resolvedBindings<TBinding extends BindingBase>(result: ImportResult<TBinding>): TBinding[];
26
+ export declare function summarize<TBinding extends BindingBase>(result: ImportResult<TBinding>): ImportSummary;
27
+ /**
28
+ * Merge imported bindings into the existing set (keyed by productId + combinationKey):
29
+ * existing bindings not present in the import are kept untouched; imported items override
30
+ * matching existing ones and new bindings are appended.
31
+ */
32
+ export declare function mergeBindings<TBinding extends BindingBase>(existing: TBinding[], imported: TBinding[]): TBinding[];
33
+ type TemplateCategory = {
34
+ _id?: string | null;
35
+ name?: string | null;
36
+ };
37
+ export declare function buildTemplateRows<TBinding extends BindingBase>(menus: FdoMenuV4Item[], categories: TemplateCategory[], bindings: TBinding[], variantGroups: FdoMenuV4VariantGroup[], config: BindingImportConfig<TBinding>): TemplateResult;
38
+ /** Build and download the binding template as an .xlsx file. Returns the row count + filename. */
39
+ export declare function exportTemplate<TBinding extends BindingBase>(menus: FdoMenuV4Item[], categories: TemplateCategory[], bindings: TBinding[], variantGroups: FdoMenuV4VariantGroup[], config: BindingImportConfig<TBinding>, businessName?: string): {
40
+ filename: string;
41
+ itemCount: number;
42
+ };
43
+ export {};
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Generic, integration-agnostic types for the menu-binding importer.
3
+ *
4
+ * A binding always has the identity `productId` + `combinationKey?` (a menu item, optionally a
5
+ * specific variant combination). What differs per integration is the set of *value* fields carried
6
+ * on the binding (Codemax: `itemCode` + `unit`; Food Market Hub: `code`). Each integration supplies a
7
+ * `BindingImportConfig` describing those value columns and how to build/read a binding; everything
8
+ * else (menu indexing, duplicate detection, variant resolution, classification, merge, template) is
9
+ * shared in `core.ts`.
10
+ */
11
+ /** A binding shape the generic importer can operate on. */
12
+ export interface BindingBase {
13
+ productId: string;
14
+ combinationKey?: string | null;
15
+ }
16
+ /** One integration-specific value column appended after the fixed menu columns. */
17
+ export interface BindingValueColumn {
18
+ /** stable field key on the binding object, e.g. 'itemCode' | 'unit' | 'code' */
19
+ field: string;
20
+ /** header text written to the template and shown in the preview, e.g. 'CodeMax Code' | 'FMH Code' */
21
+ header: string;
22
+ /** tolerant header aliases (already normalized: lowercase, alphanumeric-only) accepted on import */
23
+ aliases: string[];
24
+ /** when true, a blank cell on an otherwise-resolved row contributes to SKIPPED / partial-error logic */
25
+ required: boolean;
26
+ }
27
+ export interface BindingImportConfig<TBinding extends BindingBase> {
28
+ /** integration key — used for the template filename, e.g. 'codemax' | 'foodMarketHub' */
29
+ key: string;
30
+ /** value columns, in display/template order, appended after the fixed menu columns */
31
+ valueColumns: BindingValueColumn[];
32
+ /** assemble a binding from a resolved menu match + the row's value cells (field → cell value) */
33
+ buildBinding(args: {
34
+ productId: string;
35
+ combinationKey?: string;
36
+ values: Record<string, string>;
37
+ }): TBinding;
38
+ /** read the value cells back off an existing binding (for template prefilling + preview display) */
39
+ readValues(binding: TBinding): Record<string, string>;
40
+ }
41
+ export type ImportStatus = 'NEW' | 'OVERRIDE' | 'SKIPPED' | 'DUPLICATE' | 'NOT_FOUND' | 'AMBIGUOUS';
42
+ /**
43
+ * A parsed spreadsheet row. Identity is `productId` (authoritative) → `menuItemCode` → `menuItemName`
44
+ * (normalized fallback); the variant dimension is `variantKey` (combinationKey). `category` /
45
+ * `variantName` are display-only. Mirrors the menu export's column conventions (reference only — the
46
+ * raw menu export is not parsed).
47
+ */
48
+ export interface ImportRow {
49
+ productId: string;
50
+ menuItemCode: string;
51
+ menuItemName: string;
52
+ category: string;
53
+ variantName: string;
54
+ variantKey: string;
55
+ /** value-column field → trimmed cell value */
56
+ values: Record<string, string>;
57
+ }
58
+ export interface MenuMatch {
59
+ productId: string;
60
+ name: string;
61
+ isAddon: boolean;
62
+ /** the valid combinationKeys the product owns (empty for a product without variants) */
63
+ combinationKeys?: Set<string>;
64
+ combinationNames?: Map<string, string>;
65
+ }
66
+ /** Resolution indexes built from the live menu: productId (authoritative), code, normalized name. */
67
+ export interface MenuIndex {
68
+ byProductId: Map<string, MenuMatch>;
69
+ byCode: Map<string, MenuMatch[]>;
70
+ byName: Map<string, MenuMatch[]>;
71
+ }
72
+ export interface ImportResultRow<TBinding extends BindingBase> {
73
+ excelRowNumber: number;
74
+ status: ImportStatus;
75
+ row: ImportRow;
76
+ binding?: TBinding;
77
+ resolvedName?: string;
78
+ variantName?: string;
79
+ isAddon?: boolean;
80
+ warnings: string[];
81
+ errors: string[];
82
+ }
83
+ export interface ImportResult<TBinding extends BindingBase> {
84
+ invalidExcel: boolean;
85
+ invalidExcelMessage?: string;
86
+ rows: ImportResultRow<TBinding>[];
87
+ }
88
+ export interface ImportSummary {
89
+ new: number;
90
+ override: number;
91
+ skipped: number;
92
+ duplicate: number;
93
+ notFound: number;
94
+ ambiguous: number;
95
+ withErrors: number;
96
+ }
97
+ export interface TemplateResult {
98
+ /** header + data rows, ready for `toSheet` */
99
+ rows: string[][];
100
+ }
@@ -7,10 +7,12 @@ export interface TransferFormProps {
7
7
  lastClosingDate?: Date | null;
8
8
  skuBalanceMap?: Map<string, FdoSkuBalance>;
9
9
  isBalanceLoading?: boolean;
10
+ lockedSupplier?: FdoPurchaseOrderSupplier;
10
11
  }
11
12
  export interface TransferFormEvents {
12
13
  (event: 'validation-success'): void;
13
14
  (event: 'form:ready'): void;
15
+ (event: 'form:data-change', items: FdoPurchaseOrderItem[]): void;
14
16
  }
15
17
  export interface TransferFormExpose {
16
18
  validateInputs: () => void;
@@ -645,9 +645,203 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
645
645
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
646
646
  "validation-success": () => void;
647
647
  "form:ready": () => void;
648
+ "form:data-change": (items: {
649
+ measurement?: {
650
+ name: string;
651
+ id: string;
652
+ abbrev: string;
653
+ conversion: {
654
+ amount: number;
655
+ precision: number;
656
+ };
657
+ } | null | undefined;
658
+ id?: string | null | undefined;
659
+ externalId?: string | null | undefined;
660
+ totalCost?: {
661
+ currency: "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL";
662
+ amount: number;
663
+ precision: number;
664
+ } | null | undefined;
665
+ isCustomCost?: boolean | null | undefined;
666
+ sku: {
667
+ trackingMeasurement?: string | null | undefined;
668
+ isInactive?: boolean | null | undefined;
669
+ convert?: {
670
+ measurement?: string | null | undefined;
671
+ inventoryBindings?: {
672
+ measurement?: {
673
+ name: string;
674
+ id: string;
675
+ abbrev: string;
676
+ conversion: {
677
+ amount: number;
678
+ precision: number;
679
+ };
680
+ } | null | undefined;
681
+ rules?: Record<string, any> | null | undefined;
682
+ alternatives?: {
683
+ default?: boolean | null | undefined;
684
+ trackingMeasurement?: string | null | undefined;
685
+ priority?: number | null | undefined;
686
+ _id: string;
687
+ }[] | null | undefined;
688
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
689
+ amount: {
690
+ amount: number;
691
+ precision: number;
692
+ };
693
+ id: string;
694
+ }[] | null | undefined;
695
+ } | null | undefined;
696
+ valuation?: "FIFO" | "LIFO" | "FEFO" | "WAVG" | null | undefined;
697
+ defaultCost?: {
698
+ measurement?: {
699
+ name: string;
700
+ id: string;
701
+ abbrev: string;
702
+ conversion: {
703
+ amount: number;
704
+ precision: number;
705
+ };
706
+ } | null | undefined;
707
+ costPerUnit: {
708
+ currency: "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL";
709
+ amount: number;
710
+ precision: number;
711
+ };
712
+ } | null | undefined;
713
+ operationalGroup?: string | null | undefined;
714
+ thresholds?: {
715
+ low: number;
716
+ mid: number;
717
+ } | null | undefined;
718
+ customAttributes?: Record<string, any> | null | undefined;
719
+ unit: {
720
+ _id: string;
721
+ name: string;
722
+ abbrev: string;
723
+ precision: number;
724
+ measurements: {
725
+ name: string;
726
+ id: string;
727
+ abbrev: string;
728
+ conversion: {
729
+ amount: number;
730
+ precision: number;
731
+ };
732
+ }[];
733
+ };
734
+ code: string;
735
+ _id: string;
736
+ name: string;
737
+ };
738
+ code: string;
739
+ name: string;
740
+ quantity: {
741
+ amount: number;
742
+ precision: number;
743
+ };
744
+ }[]) => void;
648
745
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<TransferFormProps>>> & Readonly<{
649
746
  "onValidation-success"?: (() => any) | undefined;
650
747
  "onForm:ready"?: (() => any) | undefined;
748
+ "onForm:data-change"?: ((items: {
749
+ measurement?: {
750
+ name: string;
751
+ id: string;
752
+ abbrev: string;
753
+ conversion: {
754
+ amount: number;
755
+ precision: number;
756
+ };
757
+ } | null | undefined;
758
+ id?: string | null | undefined;
759
+ externalId?: string | null | undefined;
760
+ totalCost?: {
761
+ currency: "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL";
762
+ amount: number;
763
+ precision: number;
764
+ } | null | undefined;
765
+ isCustomCost?: boolean | null | undefined;
766
+ sku: {
767
+ trackingMeasurement?: string | null | undefined;
768
+ isInactive?: boolean | null | undefined;
769
+ convert?: {
770
+ measurement?: string | null | undefined;
771
+ inventoryBindings?: {
772
+ measurement?: {
773
+ name: string;
774
+ id: string;
775
+ abbrev: string;
776
+ conversion: {
777
+ amount: number;
778
+ precision: number;
779
+ };
780
+ } | null | undefined;
781
+ rules?: Record<string, any> | null | undefined;
782
+ alternatives?: {
783
+ default?: boolean | null | undefined;
784
+ trackingMeasurement?: string | null | undefined;
785
+ priority?: number | null | undefined;
786
+ _id: string;
787
+ }[] | null | undefined;
788
+ type: "RECIPE" | "SKU" | "SKU_GROUP";
789
+ amount: {
790
+ amount: number;
791
+ precision: number;
792
+ };
793
+ id: string;
794
+ }[] | null | undefined;
795
+ } | null | undefined;
796
+ valuation?: "FIFO" | "LIFO" | "FEFO" | "WAVG" | null | undefined;
797
+ defaultCost?: {
798
+ measurement?: {
799
+ name: string;
800
+ id: string;
801
+ abbrev: string;
802
+ conversion: {
803
+ amount: number;
804
+ precision: number;
805
+ };
806
+ } | null | undefined;
807
+ costPerUnit: {
808
+ currency: "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL";
809
+ amount: number;
810
+ precision: number;
811
+ };
812
+ } | null | undefined;
813
+ operationalGroup?: string | null | undefined;
814
+ thresholds?: {
815
+ low: number;
816
+ mid: number;
817
+ } | null | undefined;
818
+ customAttributes?: Record<string, any> | null | undefined;
819
+ unit: {
820
+ _id: string;
821
+ name: string;
822
+ abbrev: string;
823
+ precision: number;
824
+ measurements: {
825
+ name: string;
826
+ id: string;
827
+ abbrev: string;
828
+ conversion: {
829
+ amount: number;
830
+ precision: number;
831
+ };
832
+ }[];
833
+ };
834
+ code: string;
835
+ _id: string;
836
+ name: string;
837
+ };
838
+ code: string;
839
+ name: string;
840
+ quantity: {
841
+ amount: number;
842
+ precision: number;
843
+ };
844
+ }[]) => any) | undefined;
651
845
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
652
846
  export default _default;
653
847
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -0,0 +1,3 @@
1
+ import '@/extensions/array';
2
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
3
+ export default _default;
@@ -0,0 +1,25 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
2
+ show: boolean;
3
+ lastClosingDate?: Date | null | undefined;
4
+ selectedOutletIds?: string[] | undefined;
5
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:show": (value: boolean) => void;
7
+ submitted: () => void;
8
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
9
+ show: boolean;
10
+ lastClosingDate?: Date | null | undefined;
11
+ selectedOutletIds?: string[] | undefined;
12
+ }>>> & Readonly<{
13
+ "onUpdate:show"?: ((value: boolean) => any) | undefined;
14
+ onSubmitted?: (() => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
+ export default _default;
17
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
18
+ type __VLS_TypePropsToRuntimeProps<T> = {
19
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
20
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
21
+ } : {
22
+ type: import('vue').PropType<T[K]>;
23
+ required: true;
24
+ };
25
+ };