@feedmepos/mf-inventory-portal 0.0.17-dev.1 → 0.0.17-dev.10

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 (69) hide show
  1. package/dist/{ApprovalView-NJ4FogNu.js → ApprovalView-C72rFK1R.js} +9 -9
  2. package/dist/{BindingsDialog-B-j1k1SE.js → BindingsDialog-gL9pxfYy.js} +5 -5
  3. package/dist/{BindingsPicker-CEi3jyh0.js → BindingsPicker-5mFctYt_.js} +6 -6
  4. package/dist/{BindingsTable-DHYJ2Eqm.js → BindingsTable-C6x9dxpe.js} +26 -26
  5. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-1XPAzm5R.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-CYZ5Ecsh.js} +1 -1
  6. package/dist/{FmMultiselectDialog.vue_vue_type_script_setup_true_lang-DL98UqsQ.js → FmMultiselectDialog.vue_vue_type_script_setup_true_lang-blApBVkg.js} +9 -9
  7. package/dist/FmUnitInput.vue_vue_type_script_setup_true_lang-Db_M7Cx1.js +236 -0
  8. package/dist/IngredientsView-P0zlf89O.js +1771 -0
  9. package/dist/{IntegrationView-DxqyRxVR.js → IntegrationView-C1SXz981.js} +4 -4
  10. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang--KLpvU2e.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-BfBvA1g5.js} +6 -6
  11. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-HpuL5QhV.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CSuO9X2f.js} +1 -1
  12. package/dist/{PurchaseOrderPrintPreview-BGbCA7Al.js → PurchaseOrderPrintPreview-DGZafWSJ.js} +4 -4
  13. package/dist/ReceiveRequestView-C8yrU5NY.js +1435 -0
  14. package/dist/RecipeView-DJy1k_j1.js +581 -0
  15. package/dist/SingleColumnLayout.vue_vue_type_script_setup_true_lang-Dov3Uq2z.js +64 -0
  16. package/dist/{StockView-Pyk4MBIQ.js → StockView-CEmw7w_F.js} +13 -13
  17. package/dist/SupplierView-D0y-ASGR.js +804 -0
  18. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-Ctqjw3f1.js → TransferDetails.vue_vue_type_script_setup_true_lang-DzK7B6nw.js} +5 -5
  19. package/dist/{UnitView-DVauPXKw.js → UnitView-PnHtBAGc.js} +7 -7
  20. package/dist/{WarehouseView-BYivsQgQ.js → WarehouseView-DXhn95Vl.js} +4 -4
  21. package/dist/api/inventory.d.ts +105 -0
  22. package/dist/{app-DXqS7qYg.js → app-CjkBFVBh.js} +2693 -2664
  23. package/dist/app.js +1 -1
  24. package/dist/components/FmDroppableField.vue.d.ts +75 -0
  25. package/dist/components/FmUnitInputProps.d.ts +1 -0
  26. package/dist/components/FmUnitInputRules.d.ts +3 -1
  27. package/dist/components/inventory-binding/InventoryBinding.vue.d.ts +1 -0
  28. package/dist/components/shell/inventory/binding-ui.vue.d.ts +1 -0
  29. package/dist/{date2-B96h4mWb.js → date2-D-5KX0_X.js} +55 -46
  30. package/dist/{dayjs.min-CQkpEWlm.js → dayjs.min-BKYgFjeY.js} +526 -514
  31. package/dist/{decimal-DQOX97fs.js → decimal-CNnMmnJA.js} +1 -1
  32. package/dist/{fuzzy-Dr-kBYFA.js → fuzzy-BPDipSKr.js} +1 -1
  33. package/dist/helper/number.d.ts +8 -0
  34. package/dist/helper/random.d.ts +2 -0
  35. package/dist/helper/xlsx.util.d.ts +1 -0
  36. package/dist/{init-date-range-6CJBD0GL.js → init-date-range-58-0kupV.js} +1 -1
  37. package/dist/{layout-CVjYEZxq.js → layout-D2Kwl_3f.js} +12 -12
  38. package/dist/{rules-B_-yQn9M.js → rules-D0MrF_UU.js} +1 -1
  39. package/dist/{stock-estimate-DoU-A7bG.js → stock-estimate-CwklebfL.js} +2 -2
  40. package/dist/stores/inventory.d.ts +5 -0
  41. package/dist/style.css +1 -1
  42. package/dist/{supplier-D2Wuv0oV.js → supplier-D4woY4Fa.js} +1 -1
  43. package/dist/tsconfig.app.tsbuildinfo +1 -1
  44. package/dist/{use-inventory-binding-dialog-Bc0Yx1fK.js → use-inventory-binding-dialog-C6CEI0CS.js} +2 -2
  45. package/dist/views/ingredients/components/import-ingredients/ImportIngredientItem.vue.d.ts +12 -0
  46. package/dist/views/ingredients/components/import-ingredients/ImportIngredientItemProps.d.ts +6 -0
  47. package/dist/views/ingredients/components/import-ingredients/ImportIngredients.vue.d.ts +2 -0
  48. package/dist/views/ingredients/components/import-ingredients/ImportIngredientsProps.d.ts +5 -0
  49. package/dist/views/ingredients/components/ingredient-form/IngredientForm.vue.d.ts +2 -0
  50. package/dist/views/ingredients/composables/use-ingredient-table.d.ts +1 -0
  51. package/dist/views/ingredients/helper/import-export.helper.d.ts +47 -0
  52. package/dist/views/ingredients/helper/sku-id.helper.d.ts +1 -0
  53. package/dist/views/receive-request/components/supplier-price-history/SupplierPriceHistoryProps.d.ts +1 -0
  54. package/dist/views/receive-request/components/transfer-form/TransferForm.vue.d.ts +5 -0
  55. package/dist/views/receive-request/composables/use-receive-request-form.d.ts +4 -0
  56. package/dist/views/receive-request/composables/use-receive-request-table.d.ts +12 -0
  57. package/dist/views/stock/components/dialog/AdjustedItemForm.vue.d.ts +4 -2
  58. package/dist/views/stock/helper/compute-summary-total.d.ts +2 -2
  59. package/dist/xlsx-BfH_6O8P.js +24004 -0
  60. package/dist/xlsx.util-BpHfmZp6.js +107 -0
  61. package/package.json +7 -6
  62. package/dist/FmUnitInput.vue_vue_type_script_setup_true_lang-DqD-jNxc.js +0 -229
  63. package/dist/IngredientBindedItem.vue_vue_type_script_setup_true_lang-BYi6BUwT.js +0 -49
  64. package/dist/IngredientsView-DNbppADe.js +0 -973
  65. package/dist/ReceiveRequestView-C1ae5dRi.js +0 -1434
  66. package/dist/RecipeView-BwP8jlG0.js +0 -596
  67. package/dist/SingleColumnLayout.vue_vue_type_script_setup_true_lang-CFjO4TPG.js +0 -53
  68. package/dist/SupplierView-CVZ7bOgA.js +0 -803
  69. package/dist/xlsx-Vw9D2Jo4.js +0 -15510
@@ -1,4 +1,4 @@
1
- import "./dayjs.min-CQkpEWlm.js";
1
+ import "./dayjs.min-BKYgFjeY.js";
2
2
  function m(a) {
3
3
  function t(o, n = !0) {
4
4
  const e = Math.round(Math.log10(o));
@@ -1,4 +1,4 @@
1
- import { n as v } from "./app-DXqS7qYg.js";
1
+ import { o as v } from "./app-CjkBFVBh.js";
2
2
  var x = { exports: {} };
3
3
  (function(h, m) {
4
4
  (function() {
@@ -11,6 +11,14 @@ export declare function adjustmentAmountMultiply(a: AdjustmentAmount, multiplier
11
11
  export declare function adjustmentAmountMultiplyDecimal(left: AdjustmentAmount, right: AdjustmentAmount): AdjustmentAmount;
12
12
  export declare function adjustmentAmountDivide(a: AdjustmentAmount, divisor: AdjustmentAmount): number;
13
13
  export declare function adjustmentAmountDivideDecimal(a: AdjustmentAmount, divisor: AdjustmentAmount): AdjustmentAmount;
14
+ export declare function upgradePrecision(a: FdoDecimal, minimumPrecision: number): {
15
+ amount: number;
16
+ precision: number;
17
+ };
18
+ export declare function trimPrecision(decimal: FdoDecimal): {
19
+ amount: number;
20
+ precision: number;
21
+ };
14
22
  export declare function adjustmentAmountFormat(a: AdjustmentAmount, toPrecision?: boolean): string;
15
23
  export declare function adjustmentCurrencyFormat(a: FdoDinero, asSuffix?: boolean, precision?: number): string;
16
24
  export declare function adjustmentAmountAbs(a: AdjustmentAmount): AdjustmentAmount;
@@ -0,0 +1,2 @@
1
+ export declare function randomize(pool: string[]): Generator<string, void, unknown>;
2
+ export declare function randomString(length?: number, randomizer?: Generator<string, void, unknown>): string;
@@ -6,3 +6,4 @@ export declare function sheetToRowArray(sheet: WorkSheet): string[][];
6
6
  export declare function cellArrayToMapByHeaderRow<T = Record<string, string>>(items: string[][], usingHeader: string[]): T[];
7
7
  export declare function toSheet(data: any[][], header: string[], sheetName?: string): XLSX.WorkBook;
8
8
  export declare function downloadExcel(workbook: WorkBook, filename: string): void;
9
+ export declare function readExcel(file: File): Promise<XLSX.WorkBook>;
@@ -1,4 +1,4 @@
1
- import { q as n } from "./date2-B96h4mWb.js";
1
+ import { q as n } from "./date2-D-5KX0_X.js";
2
2
  function D() {
3
3
  const t = /* @__PURE__ */ new Date();
4
4
  return t.setDate(t.getDate() - 15), {
@@ -1,7 +1,7 @@
1
- import { components as B, useBreakpoints as M } from "@feedmepos/ui-library";
2
- import { h as i, defineComponent as I, computed as R, resolveComponent as _, openBlock as u, createBlock as x, normalizeClass as V, withCtx as L, createElementVNode as d, renderSlot as z, normalizeProps as N, guardReactiveProps as P, createElementBlock as c, Fragment as h, renderList as D, createVNode as k, unref as w, createCommentVNode as b } from "vue";
3
- import { w as E } from "./app-DXqS7qYg.js";
4
- const { FmMenu: S, FmButton: $, FmMenuItem: j } = B;
1
+ import { components as x, useBreakpoints as B } from "@feedmepos/ui-library";
2
+ import { h as i, defineComponent as I, computed as M, resolveComponent as R, openBlock as u, createBlock as _, normalizeClass as V, withCtx as L, createElementVNode as d, renderSlot as z, normalizeProps as N, guardReactiveProps as P, createElementBlock as c, Fragment as h, renderList as D, createVNode as k, unref as b, createCommentVNode as w } from "vue";
3
+ import { x as E } from "./app-CjkBFVBh.js";
4
+ const { FmMenu: S, FmButton: $, FmMenuItem: j } = x;
5
5
  function Q(o, n) {
6
6
  return i(
7
7
  S,
@@ -68,15 +68,15 @@ const y = I({
68
68
  actionColumnId: { default: "action" }
69
69
  },
70
70
  setup(o) {
71
- const n = o, t = R(
71
+ const n = o, t = M(
72
72
  () => n.row.getVisibleCells().reduce(
73
73
  (e, r) => (e[r.column.id] = r, e),
74
74
  {}
75
75
  )
76
76
  );
77
77
  return (e, r) => {
78
- const F = _("FmListItem");
79
- return u(), x(F, {
78
+ const F = R("FmListItem");
79
+ return u(), _(F, {
80
80
  class: V([
81
81
  "px-12 py-16 w-full border-b border-fm-color-neutral-gray-100",
82
82
  {
@@ -103,11 +103,11 @@ const y = I({
103
103
  key: l.id
104
104
  }, [
105
105
  l.column.id !== e.actionColumnId ? (u(), c("div", q, [
106
- k(w(y), {
106
+ k(b(y), {
107
107
  render: (g = (C = l.column) == null ? void 0 : C.columnDef) == null ? void 0 : g.cell,
108
108
  props: (v = l.getContext) == null ? void 0 : v.call(l)
109
109
  }, null, 8, ["render", "props"])
110
- ])) : b("", !0)
110
+ ])) : w("", !0)
111
111
  ], 64);
112
112
  }), 128))
113
113
  ])
@@ -115,12 +115,12 @@ const y = I({
115
115
  ]),
116
116
  t.value[e.actionColumnId ?? ""] ? (u(), c("div", G, [
117
117
  d("div", null, [
118
- k(w(y), {
118
+ k(b(y), {
119
119
  render: (p = (s = (m = t.value[e.actionColumnId ?? ""]) == null ? void 0 : m.column) == null ? void 0 : s.columnDef) == null ? void 0 : p.cell,
120
120
  props: (f = (a = t.value[e.actionColumnId ?? ""]) == null ? void 0 : a.getContext) == null ? void 0 : f.call(a)
121
121
  }, null, 8, ["render", "props"])
122
122
  ])
123
- ])) : b("", !0)
123
+ ])) : w("", !0)
124
124
  ])
125
125
  ];
126
126
  }),
@@ -132,7 +132,7 @@ const y = I({
132
132
  function W() {
133
133
  return {
134
134
  get tableHeight() {
135
- const o = E(), { breakpoints: n } = M();
135
+ const o = E(), { breakpoints: n } = B();
136
136
  return o.isIframeMode ? n.value.xs || n.value.sm ? {
137
137
  height: "calc(100dvh - 180px)"
138
138
  } : {
@@ -1,4 +1,4 @@
1
- import { a as u, q as s, j as m, g as d, c as f } from "./date2-B96h4mWb.js";
1
+ import { a as u, q as s, j as m, g as d, c as f } from "./date2-D-5KX0_X.js";
2
2
  function p() {
3
3
  return function(n) {
4
4
  return !!n || "Required";
@@ -1,6 +1,6 @@
1
- import { u as l, a as f } from "./xlsx-Vw9D2Jo4.js";
1
+ import { u as l, a as f } from "./xlsx-BfH_6O8P.js";
2
2
  import { defineComponent as h, resolveComponent as p, openBlock as y, createElementBlock as _, renderSlot as v, createVNode as d, withCtx as g, createElementVNode as F, ref as k } from "vue";
3
- import { f as x, e as I } from "./app-DXqS7qYg.js";
3
+ import { h as x, f as I } from "./app-CjkBFVBh.js";
4
4
  import { useCoreStore as w } from "@feedmepos/mf-common";
5
5
  function S(t, e) {
6
6
  return e.map((r) => typeof r.selector == "function" ? r.selector(t) : t[r.selector]);
@@ -91,6 +91,7 @@ export declare function useInventoryStore(): {
91
91
  low: number;
92
92
  mid: number;
93
93
  } | null | undefined;
94
+ operationalGroup?: string | null | undefined;
94
95
  unit: {
95
96
  _id: string;
96
97
  name: string;
@@ -795,6 +796,7 @@ export declare function useInventoryStore(): {
795
796
  low: number;
796
797
  mid: number;
797
798
  } | null | undefined;
799
+ operationalGroup?: string | null | undefined;
798
800
  unit: {
799
801
  _id: string;
800
802
  name: string;
@@ -1961,6 +1963,7 @@ export declare function useInventoryStore(): {
1961
1963
  low: number;
1962
1964
  mid: number;
1963
1965
  } | null | undefined;
1966
+ operationalGroup?: string | null | undefined;
1964
1967
  unit: {
1965
1968
  _id: string;
1966
1969
  name: string;
@@ -2023,6 +2026,7 @@ export declare function useInventoryStore(): {
2023
2026
  low: number;
2024
2027
  mid: number;
2025
2028
  } | null | undefined;
2029
+ operationalGroup?: string | null | undefined;
2026
2030
  unit: {
2027
2031
  _id: string;
2028
2032
  name: string;
@@ -2059,5 +2063,6 @@ export declare function useInventoryStore(): {
2059
2063
  deleteRecipe({ _id }: FdoInventoryRecipe): Promise<void>;
2060
2064
  createSku(sku: FdoInventorySku): Promise<void>;
2061
2065
  updateSku(sku: FdoInventorySku): Promise<void>;
2066
+ importSkus(skus: Omit<FdtoBulkSkuRequest, '_rev'>): Promise<void>;
2062
2067
  deleteSku({ _id }: FdoInventorySku): Promise<void>;
2063
2068
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .v-enter-active[data-v-9581df70],.v-leave-active[data-v-9581df70]{transition:opacity .1s ease}.v-enter-from[data-v-9581df70],.v-leave-to[data-v-9581df70]{opacity:0}.fm-status-badge-draft{background-color:var(--fm-color-neutral-gray-100);color:var(--fm-color-neutral-gray-500)}.fm-status-badge-receiving{background-color:var(--fm-color-system-blue-100);color:var(--fm-color-system-blue-400)}.fm-status-badge-cancel{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-status-badge-complete{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-status-badge-processing,.fm-status-badge-requesting{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-forecast-notification-low{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-forecast-notification-mid{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-forecast-notification-high{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-forecast-notification-indicator{display:inline-block;height:12px;width:12px;border-radius:9999px}.fm-forecast-notification-indicator-low{background-color:var(--fm-color-system-red-400)}.fm-forecast-notification-indicator-mid{background-color:var(--fm-color-system-orange-400)}.fm-forecast-notification-indicator-high{background-color:var(--fm-color-system-green-400)}.map-button[data-v-ea67d23a]{border-top-width:1px;border-top-color:var(--fm-color-neutral-gray-200);color:var(--fm-color-neutral-gray-400);padding:.2rem 1rem;border-radius:8px}table[data-v-54384fc1]{width:100%;border-spacing:unset;line-height:inherit}table td[data-v-54384fc1],table th[data-v-54384fc1]{padding:3px 5px;vertical-align:top}hr[data-v-54384fc1]{border-collapse:unset;background:#888;height:2px;border:0px}.text-left[data-v-54384fc1]{text-align:left}.text-right[data-v-54384fc1]{text-align:right}.purchase-box[data-v-54384fc1]{max-width:800px;margin:auto;padding:30px;border:1px solid #eee;box-shadow:0 0 10px #00000026;font-size:16px;line-height:1.5;font-family:Helvetica Neue,Helvetica,Helvetica,Arial,sans-serif;color:#555}.title[data-v-54384fc1]{padding-bottom:0;font-size:30px;color:#333}.header[data-v-54384fc1]{font-weight:600;color:#333}.sub-header[data-v-54384fc1]{font-size:18px;color:#333}.caption[data-v-54384fc1]{font-size:14px;color:#666}.address[data-v-54384fc1]{font-size:16px;line-height:1.2;color:#666}.purchase-body[data-v-54384fc1]{margin-top:30px}.item-header[data-v-54384fc1]{border:0px;background:#ccc;color:#444}
1
+ .v-enter-active[data-v-9581df70],.v-leave-active[data-v-9581df70]{transition:opacity .1s ease}.v-enter-from[data-v-9581df70],.v-leave-to[data-v-9581df70]{opacity:0}.fm-status-badge-draft{background-color:var(--fm-color-neutral-gray-100);color:var(--fm-color-neutral-gray-500)}.fm-status-badge-receiving{background-color:var(--fm-color-system-blue-100);color:var(--fm-color-system-blue-400)}.fm-status-badge-cancel{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-status-badge-complete{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-status-badge-processing,.fm-status-badge-requesting{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-forecast-notification-low{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-forecast-notification-mid{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-forecast-notification-high{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-forecast-notification-indicator{display:inline-block;height:12px;width:12px;border-radius:9999px}.fm-forecast-notification-indicator-low{background-color:var(--fm-color-system-red-400)}.fm-forecast-notification-indicator-mid{background-color:var(--fm-color-system-orange-400)}.fm-forecast-notification-indicator-high{background-color:var(--fm-color-system-green-400)}.fm-droppable-field[data-v-311b22a0]{display:flex;flex-direction:column;gap:4px}.fm-droppable-field__container[data-v-311b22a0]{position:relative;background-color:var(--fm-color-neutral-white);padding:12px;border-radius:8px;border-width:2px;border-style:dashed;border-color:var(--fm-color-neutral-gray-300);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.fm-droppable-field__container--disabled[data-v-311b22a0]{cursor:not-allowed;color:var(--fm-color-neutral-gray-200);border-color:var(--fm-color-neutral-gray-200)}.fm-droppable-field__container--dragging[data-v-311b22a0]{border-color:var(--fm-color-primary)}.fm-droppable-field__container--invalid[data-v-311b22a0]{border-color:var(--fm-color-system-red-300)}.fm-droppable-field__container[data-v-311b22a0]:hover:not(.fm-droppable-field__container--disabled){border-color:var(--fm-color-neutral-gray-400)}.fm-droppable-field__input[data-v-311b22a0]{cursor:pointer;opacity:0;position:absolute;top:0;left:0;height:100%;width:100%}.fm-droppable-field__input[data-v-311b22a0]:disabled{display:none;cursor:not-allowed}.map-button[data-v-ea67d23a]{border-top-width:1px;border-top-color:var(--fm-color-neutral-gray-200);color:var(--fm-color-neutral-gray-400);padding:.2rem 1rem;border-radius:8px}table[data-v-54384fc1]{width:100%;border-spacing:unset;line-height:inherit}table td[data-v-54384fc1],table th[data-v-54384fc1]{padding:3px 5px;vertical-align:top}hr[data-v-54384fc1]{border-collapse:unset;background:#888;height:2px;border:0px}.text-left[data-v-54384fc1]{text-align:left}.text-right[data-v-54384fc1]{text-align:right}.purchase-box[data-v-54384fc1]{max-width:800px;margin:auto;padding:30px;border:1px solid #eee;box-shadow:0 0 10px #00000026;font-size:16px;line-height:1.5;font-family:Helvetica Neue,Helvetica,Helvetica,Arial,sans-serif;color:#555}.title[data-v-54384fc1]{padding-bottom:0;font-size:30px;color:#333}.header[data-v-54384fc1]{font-weight:600;color:#333}.sub-header[data-v-54384fc1]{font-size:18px;color:#333}.caption[data-v-54384fc1]{font-size:14px;color:#666}.address[data-v-54384fc1]{font-size:16px;line-height:1.2;color:#666}.purchase-body[data-v-54384fc1]{margin-top:30px}.item-header[data-v-54384fc1]{border:0px;background:#ccc;color:#444}
@@ -1,4 +1,4 @@
1
- import { f as u, e as o, j as c, k as l } from "./app-DXqS7qYg.js";
1
+ import { h as u, f as o, k as c, l } from "./app-CjkBFVBh.js";
2
2
  import { ref as d } from "vue";
3
3
  const n = u((e, r) => {
4
4
  const a = o();